Incorrect update compatibility check

Nextcloud version (eg, 29.0.5): 29.0.8
Operating system and version (eg, Ubuntu 24.04): Debian 12
Apache or nginx version (eg, Apache 2.4.25): Apache 2.4.62-1~Deb12
PHP version (eg, 8.3): PHP 8.2

The issue you are facing:
I am trying to update to 29.0.9 in the gui. It tells me:
A new version is available: Nextcloud 29.0.9
1 app has no compatible version for this Nextcloud version available.
Apps missing compatible version
News :arrow_upper_right:

I am running news 25.0.0-alpha13 whose info.xml includes <nextcloud min-version="29" max-version="30"/>. I’ve been successfully on news alpha through the entire 29 lifecycle.

Is this the first time you’ve seen this error? (Y/N): Y

Steps to replicate it:

  1. Run Nextcloud 28.0.8 & news 25.0.0-alpha13 (by selecting beta channel in the gui updater)
  2. Open the update page as admin

The output of your Nextcloud log in Admin > Logging:

Only current error is this repeating
 NotFoundException /appdata_ocjal9a8d47t/richdocuments/remoteData/capabilities
Could not boot richdocuments: /appdata_ocjal9a8d47t/richdocuments/remoteData/capabilities 

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
  'instanceid' => 'REDACT',
  'passwordsalt' => 'REDACT',
  'secret' => 'REDACT',
  'trusted_domains' =>
  array (
    0 => 'www.REDACT',
    1 => 'REDACT',
  ),
  'datadirectory' => '/opt/nextcloud/data',
  'dbtype' => 'mysql',
  'version' => '29.0.8.1',
  'overwrite.cli.url' => 'https://www.REDACT/nextcloud',
  'overwriteprotocol' => 'https',
  'overwitehost' => 'www.REDACT',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost:3306',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'REDACT',
  'dbpassword' => 'REDACT,
  'installed' => true,
  'mail_from_address' => 'nextcloud',
  'mail_smtpmode' => 'sendmail',
  'mail_sendmailmode' => 'smtp',
  'mail_domain' => 'REDACT',
  'mail_smtphost' => 'localhost',
  'mail_smtpport' => '25',
  'maintenance' => false,
  'maintenance_window_start' => 5,
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'default_phone_region' => 'US',
  'theme' => '',
  'loglevel' => 2,
  'default_locale' => 'en_US',
  'updater.release.channel' => 'beta',
);

The output of your Apache/nginx/system log in /var/log/____:

nothing relevant that I can find

Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.

PASTE HERE
1 Like

Let’s mention this thread: news app has no compatible version for the upcoming Nextcloud 30 · Issue #2719 · nextcloud/news · GitHub

And the issue magically went away a day later with zero changes to my system. That’s almost more confusing. Is there anything that explains how the compatibility checks work?

The logic of the compatibility check is significantly different under your circumstances. You’re running a nightly release of the news app and on the beta channel. The app compatibility check’s use case is primarily for those on the stable channel running non-beta/nightly releases of apps. I’d say it’s possible you encountered a bug with the check for this edge case, but that doesn’t explain the change in behavior a day later.

Do you run constantly with release channel set to beta or had you changed it just for the update run? I ask because one possibility is PHP caching.

P.S. For the curious, the bulk of the implementation is here and here.

Interesting. I don’t often change it. I’ve been on beta to get the news updates for some time. I changed it and changed it back yesterday to try to trigger something. php caching seems likely but I would have thought my apache restart would have cleared that?? Admittedly I know almost nothing about the workings of php.