Skip to content

v0.29.0

Choose a tag to compare

@sboily sboily released this 13 Jul 19:39

What's Changed

  • docs(changelog): promote Unreleased to 0.29.0
  • chore(release): read HEAD, not the worktree, for the dev-cycle resume shortcut
  • fix(pipeline): commit injected/child events DELIVERED, in causal order
  • chore(release): resume after a partial or complete PyPI publish
  • fix(pipeline): route the last timeline writes through commit_event
  • chore(release): make release.sh re-runnable end to end
  • fix(pipeline): commit every timeline write atomically; no phantom latest_index
  • chore(release): generate the SBOM before any Git mutation, pin cyclonedx-bom
  • test: make the Level 0 conformance matrix honest and behavioural
  • feat(api): export lock managers and Postgres store/lock
  • fix(pipeline): commit inbound events atomically; defer ON_ERROR past the lock
  • ci(release): generate a CycloneDX SBOM and attach it to the GitHub Release
  • test: executable RFC Level 0 conformance matrix
  • feat(store): PostgresStore.dedupe_event_indices() repair helper
  • fix(store): log a visible warning when the events index stays non-unique
  • fix(store): don't fail init() when upgrading idx_events_room_index to UNIQUE
  • ci: resolve fastapi via 'uv run --with' in the integration job
  • ci: run real-Postgres + WebRTC integration tests
  • test(store): distinct indices in Postgres tests + multiprocess H1b proof
  • style: format postgres_lock.py
  • feat(store): distributed room locking + UNIQUE(room_id, index)
  • fix(inbound): surface swallowed agent-turn failures to ON_ERROR
  • Begin 0.29.0.dev0 development

Full Changelog: v0.28.0...v0.29.0