docs: add CHANGELOG.md (Keep a Changelog) — Unreleased → 1.4.0 #107

Merged
the_og merged 1 commits from docs/changelog into main 2026-08-13 12:51:19 -04:00
Owner

Starts a per-release changelog, as discussed.

Why now

main is still marked 1.3.0, but a large amount has merged since the v1.3.0 tag — the whole ssh-mcp/ServerSpec cut (migration, sidecar detect/edit, version pin, permission pre-flight, hot-reload) plus the Catalog Console, light theme, a visible update checker, move-to-env, and cross-client phase 1. The next release is a meaty 1.4.0 (all additive — a minor bump).

The framing that matters

The [Unreleased] section leads with a callout that the breaking change is upstream ssh-mcp v2 (removed flags + a config.toml that overrides args), and that BCC itself has no breaking changes — so a BCC user reading the changelog isn't scared into thinking their configs broke.

Contents

  • [Unreleased] — everything since v1.3.0, grouped Added / Changed / Fixed / Internal, in plain language.
  • Backfill of 1.0.0–1.3.0 summarised from the tags (dates verified via git log).
  • A one-line convention in the header: add a line under [Unreleased] in each PR; at release, rename that section to the version + date and start a fresh [Unreleased].

Release step (for when 1.4.0 is cut)

Rename [Unreleased] → ## [1.4.0] — <date>, bump __version__ + pyproject.toml to 1.4.0, then push the v1.4.0 tag (release.yml builds the three platforms). Docs-only change; no code touched.

Starts a per-release changelog, as discussed. ## Why now `main` is still marked **1.3.0**, but a large amount has merged since the v1.3.0 tag — the whole ssh-mcp/ServerSpec cut (migration, sidecar detect/edit, version pin, permission pre-flight, hot-reload) plus the Catalog Console, light theme, a visible update checker, move-to-env, and cross-client phase 1. The next release is a meaty **1.4.0** (all additive — a minor bump). ## The framing that matters The `[Unreleased]` section leads with a callout that the **breaking** change is upstream **ssh-mcp v2** (removed flags + a `config.toml` that overrides args), and that **BCC itself has no breaking changes** — so a BCC user reading the changelog isn't scared into thinking their configs broke. ## Contents - `[Unreleased]` — everything since v1.3.0, grouped Added / Changed / Fixed / Internal, in plain language. - Backfill of `1.0.0`–`1.3.0` summarised from the tags (dates verified via `git log`). - A one-line convention in the header: **add a line under `[Unreleased]` in each PR**; at release, rename that section to the version + date and start a fresh `[Unreleased]`. ## Release step (for when 1.4.0 is cut) Rename `[Unreleased]` → `## [1.4.0] — <date>`, bump `__version__` + `pyproject.toml` to `1.4.0`, then push the `v1.4.0` tag (release.yml builds the three platforms). Docs-only change; no code touched.
the_og added 1 commit 2026-08-13 11:27:21 -04:00
docs: add CHANGELOG.md (Keep a Changelog); Unreleased → 1.4.0
CI / Lint (ruff) (pull_request) Successful in 13s
CI / Tests (py3.10 / ubuntu-latest) (pull_request) Successful in 12s
CI / Tests (py3.12 / ubuntu-latest) (pull_request) Successful in 11s
CI / Tests (py3.13 / ubuntu-latest) (pull_request) Successful in 11s
CI / Catalog signature (pull_request) Successful in 7s
CI / Tests (py3.12 / windows-latest) (pull_request) Successful in 1m11s
38e9cf2b26
Starts a per-release changelog. The Unreleased section captures everything
merged since v1.3.0 (ssh-mcp v2 support, sidecar detect/edit, version pin,
permission pre-flight, hot-reload, light theme, visible update checker,
move-to-env, cross-client phase 1) with the ssh-mcp-is-breaking-upstream /
BCC-is-additive distinction called out. Past releases backfilled from tags.
the_og merged commit 3768113938 into main 2026-08-13 12:51:19 -04:00
the_og deleted branch docs/changelog 2026-08-13 12:51:19 -04:00
Sign in to join this conversation.