Project challenges / verified progress
Beacon: ship it without fear

The engineering notebook

Give releases meaning

How does a release tell users what changed and what promises now hold?

Loading statusStage 9 of 9

  • Workspace not ready
  • Agent not ready
Focus25:00
A small focus ritual

0 focus sessions completed. Every fourth session offers a longer break. Start each phase when you are ready.

Study time never unlocks verified lesson progress.

Loading...

Loading verified progress...

Loading GitHub account...
Release and recover

Step 01 of 06

Learn the concept

A release is not a zip file with a hopeful name. It is a contract: this version means something, this tag points at these bits, these notes tell humans whether they should care, and this deprecation gives them time to move.

CHANGE TO RELEASE01Committyped intent02Versionsemver chosen03TagGit points here04Imagesame version tag05Noteshumans briefed
A release binds human meaning to machine identity. The version, Git tag, image reference and notes should tell the same story from different angles.
Step 01

The ideas this is made of

A major version promises a compatibility break

Semantic versioning says MAJOR breaks compatibility, MINOR adds compatible behavior, and PATCH fixes compatible bugs. A rewrite can be a patch if users cannot tell. A one-line API removal can be a major.

Conventional commits make intent parseable

Messages like feat: add canary gate and fix: handle empty target let tooling group changes into notes. feat!: or a BREAKING CHANGE: footer signals a major bump.

Release notes start where users feel the change

A human wants to know what changed, whether action is required, and what risk exists. Good notes group features, fixes, breaking changes and deprecations, then link to details.

Deprecation is a promise with a removal date

A deprecation policy says what is still supported, what warns, and when it disappears. Without dates, deprecated means 'we dislike it but you can probably keep using it forever.'

A train timetable release
v2.3.0
Added: weekend express
Fixed: platform 4 typo
Deprecated: paper lookup, removed in v3.0
Action: update printed signs by Nov 1

Riders learn what changed and whether they must act. The version matters because the promise is clear.

Version bumps by promise

ChangeSemVer bumpExample

Compatible bug

PATCH

1.4.2 -> 1.4.3

Compatible feature

MINOR

1.4.2 -> 1.5.0

Breaking contract

MAJOR

1.4.2 -> 2.0.0

Deprecation notice

Usually MINOR

Warn before removal

What these are called on the job

  • Semantic versioning — MAJOR.MINOR.PATCH scheme based on compatibility promises.

  • Conventional commit — Commit message with a typed prefix such as feat: or fix:.

  • Release notes — Human-readable summary of impact, actions and links for a version.

  • Deprecation — Supported for now, warned against, and scheduled for removal.