auto-bump stamps manifest version but doesn't add a schema update marker -> recurring #__schemas version-lag #354

Closed
opened 2026-07-16 19:30:14 +00:00 by jmiller · 1 comment
Owner

Problem

The universal version-bump automation (templates/workflows/universal/auto-bump.yml, and the pre-release/build stamping) increments the Joomla extension manifest <version> but does NOT add a corresponding schema update marker under the extension's <schemas><schemapath> (e.g. admin/sql/updates/mysql/<version>.sql). Joomla advances #__schemas only to the highest update-file version that is > current and <= manifest, so with no marker at the bumped version, #__schemas freezes at the last real migration while the manifest keeps climbing. com_installer (System > Maintenance > Database) then perpetually reports the component a schema version behind.

Evidence

MokoSuiteClient hit this repeatedly — each bump required a manual no-op marker:

  • 02.56.03 -> manifest 02.57.02 (added 02.57.02.sql)
  • auto-bumped to 02.57.07 (added 02.57.07.sql)
  • minor-bumped to 02.58.00 on dev->main elevation (added 02.58.00.sql)

It recurs on every auto-bump because the bump and the marker are decoupled.

Proposed fix

When the bump workflow updates a Joomla extension manifest <version> AND that manifest declares <update><schemas><schemapath type="mysql">...</schemapath>, also create a comment-only no-op marker at the resolved schemapath:

/* <newversion> — no schema changes (auto version marker) */

named <newversion>.sql. Constraints: honor the existing CI rule migration filename <= manifest version (create it in the same commit as the bump so they stay in lockstep); resolve schemapath relative to the <administration><files folder=...> root (admin-relative); skip non-Joomla / no-schemapath extensions. Doing it at bump time (rather than pre-release) keeps dev green too.

Impact

Eliminates the recurring 'schema version behind' false-positive across all Joomla extension repos that sync these workflows; removes the need for manual marker PRs after every version bump.

https://claude.ai/code/session_01B9aZHSWbiiZykJD88pYx8R

## Problem The universal version-bump automation (`templates/workflows/universal/auto-bump.yml`, and the pre-release/build stamping) increments the Joomla extension **manifest `<version>`** but does NOT add a corresponding schema **update marker** under the extension's `<schemas><schemapath>` (e.g. `admin/sql/updates/mysql/<version>.sql`). Joomla advances `#__schemas` only to the highest update-file version that is `> current` and `<= manifest`, so with no marker at the bumped version, `#__schemas` freezes at the last real migration while the manifest keeps climbing. `com_installer` (System > Maintenance > Database) then perpetually reports the component **a schema version behind**. ## Evidence MokoSuiteClient hit this repeatedly — each bump required a manual no-op marker: - 02.56.03 -> manifest 02.57.02 (added 02.57.02.sql) - auto-bumped to 02.57.07 (added 02.57.07.sql) - minor-bumped to 02.58.00 on dev->main elevation (added 02.58.00.sql) It recurs on every auto-bump because the bump and the marker are decoupled. ## Proposed fix When the bump workflow updates a Joomla extension manifest `<version>` AND that manifest declares `<update><schemas><schemapath type="mysql">...</schemapath>`, also create a comment-only no-op marker at the resolved schemapath: /* <newversion> — no schema changes (auto version marker) */ named `<newversion>.sql`. Constraints: honor the existing CI rule *migration filename <= manifest version* (create it in the same commit as the bump so they stay in lockstep); resolve schemapath relative to the `<administration><files folder=...>` root (admin-relative); skip non-Joomla / no-schemapath extensions. Doing it at bump time (rather than pre-release) keeps dev green too. ## Impact Eliminates the recurring 'schema version behind' false-positive across all Joomla extension repos that sync these workflows; removes the need for manual marker PRs after every version bump. https://claude.ai/code/session_01B9aZHSWbiiZykJD88pYx8R
Author
Owner

Branch created: feature/354-auto-bump-stamps-manifest-version-but-do

git fetch origin
git checkout feature/354-auto-bump-stamps-manifest-version-but-do
Branch created: [`feature/354-auto-bump-stamps-manifest-version-but-do`](https://git.mokoconsulting.tech/MokoConsulting/MokoCLI/src/branch/feature/354-auto-bump-stamps-manifest-version-but-do) ```bash git fetch origin git checkout feature/354-auto-bump-stamps-manifest-version-but-do ```
Sign in to join this conversation.
No labels
Priority Medium
Type Feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoCLI#354