Skip to content

chore(release): 0.12.1 - #596

Merged
eaitbrahim merged 1 commit into
mainfrom
chore-v0.12.1-bump
Aug 28, 2026
Merged

chore(release): 0.12.1#596
eaitbrahim merged 1 commit into
mainfrom
chore-v0.12.1-bump

Conversation

@eaitbrahim

Copy link
Copy Markdown
Contributor

What this is

The version-bump PR for 0.12.1, following #591's precedent exactly: one commit, every version and every == pin moves together, uv.lock moves with them. Per docs/RELEASING.md, merging this (not the workflow) is what sets the version — the release workflow then refuses to change it.

Patch, not a minor: since v0.12.0 the only user-facing change is #594, and #592 ships no runtime code. No new interfaces, so the patch is right.

What ships in 0.12.1

Enumerated from git log --oneline v0.12.0..HEAD:

Files bumped

  • pyproject.tomlversion 0.12.0 → 0.12.1, plus the three sibling pins (keel-core, keel-broker-api, keel-broker-coinbase)
  • packages/{keel-core,keel-broker-api,keel-broker-coinbase,keel-broker-alpaca,keel-broker-fake,keel-broker-robinhood,keel-broker-kraken}/pyproject.toml — each version, plus the 11 inter-package == pins
  • uv.lock — regenerated with uv lock; diff is exactly 8 lines (one version per distribution), no unrelated churn; uv lock --check passes

9 files, 25 insertions, 25 deletions. Nothing else: a repo-wide grep for 0.12.0 finds only inert prose — the example ISCC.exe /DKeelVersion=0.12.0 invocation comment in packaging/keel.iss (the real value is passed as a define by the workflow; the #ifndef default is 0.0.0), and the two comments narrating the historical v0.12.0 attestation dispatch failure in tests/test_desktop_packaging.py and .github/workflows/release.yml. No live pins or expectations left behind.

Lock discipline

The trap from #422/#482, verified TDD-style: bumping only the root pyproject.toml's version first made tests/test_packaging.py fail exactly as designed —

FAILED tests/test_packaging.py::test_every_workspace_package_carries_the_same_version
FAILED tests/test_packaging.py::test_workspace_siblings_are_pinned_to_the_exact_version[keel-trader]
  keel-trader depends on 'keel-core==0.12.0'; it must be 'keel-core==0.12.1'

After completing the set (all 8 pyprojects, 14 pins, uv lock), the same suite is green. uv.lock rides in the same commit because the release workflow checks it is current before anything else (#424).

Gates

  • uv run pytest tests/test_packaging.py -q — 22 passed
  • uv run pytest -q — 4422 passed, 3 skipped
  • uv run ruff check . — all checks passed
  • uv run mypy — no issues in 350 source files

Do not merge unreviewed: the release workflow runs next, after merge, with this same version.

Bumps keel-trader and the seven workspace packages from 0.12.0 to 0.12.1,
plus every '==' sibling pin and uv.lock. A patch, not a minor: one
user-facing change since v0.12.0 -- the browser UI wears keeltrading.com's
identity (#594: the palette, the mark on every icon, the hull that closes
and the caps that land) -- plus #592's release-workflow fix (the Windows
attestation subjects are newline-separated, not space-separated), which
ships no runtime code.

All eight distributions move as one set; tests/test_packaging.py pins the
sibling '==' constraints, which is how this bump caught itself
half-finished on the first red run. uv.lock moves with them (8 lines: one
version per distribution, nothing else) -- the release workflow checks it
is current before anything else.
@eaitbrahim eaitbrahim self-assigned this Aug 28, 2026
@eaitbrahim
eaitbrahim merged commit f25b6af into main Aug 28, 2026
4 checks passed
@eaitbrahim
eaitbrahim deleted the chore-v0.12.1-bump branch August 28, 2026 19:16
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