Skip to content

decouple client and server releases#42

Merged
jgpruitt merged 2 commits intomainfrom
me0/release-versions
Apr 22, 2026
Merged

decouple client and server releases#42
jgpruitt merged 2 commits intomainfrom
me0/release-versions

Conversation

@jgpruitt
Copy link
Copy Markdown
Collaborator

Split the single shared version (APP_VERSION) into two independent counters: CLIENT_VERSION (root package.json, tagged v*) and SERVER_VERSION (packages/server/package.json, tagged server/v*). Migration tracking now uses SERVER_VERSION, so the DB version advances only on server releases — matching the reality that server releases are what ship schema changes.

Rename scripts/release.ts -> scripts/release-client.ts (narrowed to the npm-published packages) and add scripts/release-server.ts (bumps the server-side packages in lockstep, tags server/v<x.y.z>). This lets us ship backwards-compatible server changes before the client catches up, without forcing a prod deploy on every npm release.

Split the single shared version (APP_VERSION) into two independent
counters: CLIENT_VERSION (root package.json, tagged v*) and
SERVER_VERSION (packages/server/package.json, tagged server/v*).
Migration tracking now uses SERVER_VERSION, so the DB version
advances only on server releases — matching the reality that
server releases are what ship schema changes.

Rename scripts/release.ts -> scripts/release-client.ts (narrowed
to the npm-published packages) and add scripts/release-server.ts
(bumps the server-side packages in lockstep, tags server/v<x.y.z>).
This lets us ship backwards-compatible server changes before the
client catches up, without forcing a prod deploy on every npm
release.
Match the SERVER_VERSION constant introduced in the previous commit.
Also updates the downgrade-rejection error messages in both migration
runners to say 'Server version' / 'upgrade the server' instead of the
ambiguous 'App version' / 'upgrade the application'.
@jgpruitt jgpruitt merged commit 77dce7f into main Apr 22, 2026
3 checks passed
@jgpruitt jgpruitt deleted the me0/release-versions branch April 22, 2026 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant