Description of the bug
The Status Report incorrectly displays “Out of date” under Site updates even when update.php reports no pending updates. This happens when core modules have existing database tables but still have their schema_version set to -1, causing the requirements check to flag them even though no updates are available.
For example, the Book module (part of Backdrop core) ships with update hooks up to 1005, but a fresh install may have its schema_version recorded as -1, causing a false “Out of date” warning.
Steps To Reproduce
- Install Backdrop CMS (or run a site where modules’ tables exist but their installed schema version is -1).
- Go to: /admin/reports/status
- Scroll to Site updates
Actual behavior
- Status report shows: “Out of date”
- Clicking into details lists modules (e.g., book) as having updates available.
- Running /core/update.php?op=info reports: “No pending updates”
- Update functions are skipped because update_get_update_list() ignores modules whose schema_version is -1, creating a discrepancy between the update system and the status page.
Expected behavior
- If update.php reports no pending updates, the Status Report should reflect the same state.
- Modules with database tables already created should not have schema_version = -1.
- The status system and update system should produce consistent results.
Description of the bug
The Status Report incorrectly displays “Out of date” under Site updates even when update.php reports no pending updates. This happens when core modules have existing database tables but still have their schema_version set to -1, causing the requirements check to flag them even though no updates are available.
For example, the Book module (part of Backdrop core) ships with update hooks up to 1005, but a fresh install may have its schema_version recorded as -1, causing a false “Out of date” warning.
Steps To Reproduce
Actual behavior
Expected behavior