Give the server a version and namespaced tags, leaving CD unchanged #86

Closed
opened 2026-09-22 15:47:26 +01:00 by cruelacid · 0 comments
Owner

Part of #77.

Why

The server has no release to hang a changelog on. packages/server/package.json
has been 0.0.1 since the scaffold and has never moved; it ships by sha. Push
to main → promote retags :stable → every host adopts within a minute.

The decision: separate release from deployment

CD does not change. promote keeps moving :stable on every green main
and hosts keep self-deploying. A server version is a tag applied to a sha that
is already in production
— a name for a point in time, not a gate in front of
one. Nothing about the deployment path slows down or gains a manual step.

What to do

  • Move packages/server/package.json off 0.0.1 to a real version.
  • Tag server-v1.0.0 — namespaced, because plugin tags are bare v0.1.5
    and an unnamespaced server tag would collide with them in --since ranges.
  • Decide what the identity service does. It deploys alongside the server and has
    its own area:identity label; it may share the server's version or need its
    own.

State this plainly wherever it is published

The server changelog is retrospective. The plugin's is written and then
ships; the server's describes what already shipped. So its ## Unreleased
section means "live but unnamed", not "coming soon".

Part of #77. ## Why The server has no release to hang a changelog on. `packages/server/package.json` has been `0.0.1` since the scaffold and has never moved; it ships by sha. Push to `main` → `promote` retags `:stable` → every host adopts within a minute. ## The decision: separate release from deployment **CD does not change.** `promote` keeps moving `:stable` on every green `main` and hosts keep self-deploying. A server version is a **tag applied to a sha that is already in production** — a name for a point in time, not a gate in front of one. Nothing about the deployment path slows down or gains a manual step. ## What to do - Move `packages/server/package.json` off `0.0.1` to a real version. - Tag `server-v1.0.0` — **namespaced**, because plugin tags are bare `v0.1.5` and an unnamespaced server tag would collide with them in `--since` ranges. - Decide what the identity service does. It deploys alongside the server and has its own `area:identity` label; it may share the server's version or need its own. ## State this plainly wherever it is published **The server changelog is retrospective.** The plugin's is written and then ships; the server's describes what already shipped. So its `## Unreleased` section means "live but unnamed", not "coming soon".
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Nectenda/nectenda#86
No description provided.