release: cut 0.6.0 — consolidated notes, version bump, pyo3 0.29 security upgrade#364
Conversation
Add a user-facing [0.6.0] CHANGELOG entry that consolidates the 0.5.x -> 0.6.0 diff across beta.1/beta.2/rc.1-rc.4: 'What's new since 0.5.x' grouped by operator decision, a dedicated breaking-changes section for the 0.6-series API renames, an Upgrading section, operating notes, and the #169 pinned-MVCC benchmark evidence kept caveated (point-in-time, not universal claims) and reframed now that the gate has passed. Date is a placeholder to set at tag time. Doc/example freshness pass for the 0.6 line: - docs/bridge-adapters.md: pin awa / awa-seaorm to "0.6" (was 0.6.0-beta.1), matching the README convention - examples/python-app-demo/pyproject.toml: raise awa-pg / awa-cli floor to >=0.6 (was >=0.3.0, predating the 0.6 line) - docs/benchmarking.md: add a forward-pointer from the dated 2026-05-03 cross-system alpha numbers to the current MVCC Horizon Benchmark section
📝 WalkthroughWalkthroughThis PR consolidates the 0.6.0 release notes, updates version references across manifests and docs, and refreshes the benchmarking note for the current pinned-MVCC release shape. Changes0.6.0 Release Documentation
Estimated code review effort: 1 (Trivial) | ~4 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b832dbe07a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "awa-pg>=0.6", | ||
| "awa-cli>=0.6", |
There was a problem hiding this comment.
Keep demo constraints compatible with local prereleases
In the repo state created by this commit, running the Python demo with uv before the final version bump becomes unsatisfiable: [tool.uv.sources] still points awa-pg and awa-cli at the local packages, whose versions remain 0.6.0-rc.4, but PEP 440 orders 0.6.0rc4 before the final 0.6, so these new >=0.6 requirements reject the local path packages. Either keep the demo floor at the current rc-compatible specifier until the version bump lands, or include the package/lock updates in the same release-prep change.
Useful? React with 👍 / 👎.
Refine the [0.6.0] consolidated CHANGELOG entry for readability ahead of the stable cut: reorder the #169 gate sentence into cause-then-result, break the run-on hot-row-paths bullet into parallel sub-bullets, split the awa-seaorm / handler-Sync and queue_counts_fast / exact-terminal bullets, and attach the lane-head-cursor metrics claim to #330 (v031). No factual changes; all PR/issue/ADR links, code symbols, migration numbers, benchmark caveats, and the placeholder date preserved. Dated alpha/beta/rc sections untouched.
The awa-seaorm crate README still pinned awa/awa-seaorm to 0.6.0-beta.1; PR #364 fixed the same pins in docs/bridge-adapters.md but missed this file, which renders on the crates.io package page. Align to the "0.6" convention used across README.md and docs/.
Bump the workspace and Python packages 0.6.0-rc.4 -> 0.6.0 (all internal path-dep pins, awa-cli/awa-python pyproject versions, the awa-pg[ui] extra pin, and both Cargo.lock files) and stamp the CHANGELOG [0.6.0] heading with the release date. Upgrade pyo3 / pyo3-async-runtimes / pythonize 0.28 -> 0.29 in awa-python to clear two RUSTSEC advisories fixed in pyo3 0.29.0: an out-of-bounds read in PyList/PyTuple nth/nth_back iterators and a missing Sync bound on PyCFunction::new_closure. No source changes were needed for the bump. Validated: cargo build + clippy clean across the workspace and awa-python, and 244 FFI-boundary Python tests pass (core API, batch ops, partitioned queues, DLQ, progress, dispatch, and the async callback surface).
Follow-up to the version bump: the demo's uv.lock still pinned the local awa-pg/awa-cli path packages at 0.6.0b1. With the workspace now at 0.6.0, regenerate so the demo's >=0.6 floor resolves (addresses the Codex review note: 0.6.0rc4 sorts before 0.6 under PEP 440, so the floor + lock must move together). Resolves via [tool.uv.sources] local paths; uv lock clean.
Prepares and cuts the 0.6.0 stable release. This started as a docs/CHANGELOG pass and now also carries the version bump and a security dependency upgrade, so it is the full release-prep PR — tag
v0.6.0offmainonce this merges and the tag-drivenrelease.ymlpublishes to crates.io + PyPI + Docker.Release notes
Consolidated
## [0.6.0]CHANGELOG entry framing the0.5.x → 0.6.0diff as one release (the datedalpha/beta/rcsections remain the granular development log): What's new (Storage & durability · Operator surfaces · Producer APIs & tuning · Telemetry), Breaking changes, Upgrading from 0.5.x, Operating notes, and the caveated #169 benchmark evidence (point-in-time results, "awa is not immune to long readers"). Prose tightened for the stable cut. Dated2026-07-04.Version bump —
0.6.0-rc.4 → 0.6.0All 16 pins across 7 files: the workspace version + internal path-dep versions, the
awa-cli/awa-pythonpyproject versions, and theawa-pg[ui]extra pin — plus bothCargo.locks and the demouv.lock. The tag-drivenversion-checkjob will pass onv0.6.0.Security — pyo3
0.28 → 0.29Bumps
pyo3/pyo3-async-runtimes/pythonizeinawa-pythonto clear two RUSTSEC advisories fixed in pyo3 0.29.0:PyList/PyTuplenth/nth_backiteratorsSyncbound onPyCFunction::new_closureNo source changes were required for the bump.
Doc / example freshness
docs/bridge-adapters.md,awa-seaorm/README.mdawa/awa-seaormto"0.6"(the README renders on crates.io)docs/benchmarking.mdexamples/python-app-demoawa-pg/awa-clifloor to>=0.6and refresh the lockValidation
cargo build+clippyclean across the workspace andawa-python.awa-pythonFFI-boundary tests pass against a clean Postgres 17 — core API, batch ops, partitioned queues, DLQ, progress, dispatch, and the async callback surface. Thechaos/slowmarkers and env-heavy tests (cli / cross-language / telemetry) were deselected locally; thefull-cilabel is applied so CI runs the full matrix across Python versions.QueueFanout/QueueCounts.completedreferences; the demo resolves cleanly underuv.Addressed review feedback
>=0.6floor unsatisfiable against local0.6.0-rc.4packages (PEP 440 orders0.6.0rc4before0.6): resolved by the version bump + demouv.lockrefresh in the same change, as suggested.Summary by CodeRabbit