v0.9.0
⚠️ Superseded by v0.9.1. This tag was cut before the final v0.9 governance PRs landed; use v0.9.1 for the complete v0.9 release. The notes below reflect the original commit ate51a553, which predates the actual v0.9 governance stack (retention purge, HMAC-signed receipts, suggested labels, receipt replay, admin review/promote/replay UI, residency tenant pinning, and handoff replay symmetry — all of which land in v0.9.1).
What's Changed
- docs(readme): launch-week hardening — text-only changes by @smaramwbc in #98
- chore: align workspace version to v0.9.0 by @smaramwbc in #105
- ci: release gate verifies server/contract self-consistency only (#106) by @smaramwbc in #109
- docs(readme): make Run the server Docker-only by @smaramwbc in #110
- Fix schema check ignoring STATEWAVE_DATABASE_URL from .env by @cowboy823 in #108
- Adjust STATEWAVE_API_KEY placeholder in docker-compose.yml by @Wangbocheng75 in #113
- fix(compiler): anchor relative dates to the episode's real timestamp (#115) by @smaramwbc in #118
- fix(context): flag when no stored context is relevant to the task (#116) by @smaramwbc in #119
- feat(docker): add support for host port overrides in local development by @MiriamDiazH in #120
- fix(api): enforce one canonical subject_id contract at every ingress (#121) by @smaramwbc in #123
- fix(llm): warn on startup and clarify /readyz when LITELLM API key is… by @cowboy823 in #107
- fix(llm): don't flag missing API key for local Ollama models (#62 follow-up) by @smaramwbc in #125
- fix(api): apply the canonical id contract to session_id (#124) by @smaramwbc in #126
- feat(server): /readyz distinguishes DB not-set / unparseable / unreachable (#66) by @smaramwbc in #127
- docs(readme): add understated star CTA under the tagline by @smaramwbc in #128
- feat(bootstrap): auto-import demo-agent packs on fresh server start by @smaramwbc in #129
- docs(img): add mobile How Statewave works diagrams by @VLK-123 in #130
- docs(readme): serve mobile diagram variants at narrow viewports by @smaramwbc in #132
- docs(readme): add Skip to Quickstart heading-link after Try it by @smaramwbc in #133
- fix(compile): drain async jobs to completion; sync returns has_more (#134) by @smaramwbc in #135
- docs(readme): point top jump-link to Documentation section by @smaramwbc in #136
- docs: correct /readyz wording, mark LLM key optional in DOCKER.md by @smaramwbc in #151
- feat(webhooks): add event-type allowlist for webhook delivery by @smaramwbc in #150
- feat(templates): add memory templates for common patterns by @smaramwbc in #152
- chore(deps): update uvicorn requirement from <1,>=0.29 to >=0.47.0,<1 by @dependabot[bot] in #141
- chore(deps): update structlog requirement from <26,>=24.1 to >=25.5.0,<26 by @dependabot[bot] in #144
- chore(deps): update opentelemetry-exporter-otlp requirement from <2,>=1.41.1 to >=1.42.0,<2 by @dependabot[bot] in #142
- chore(deps): update ruff requirement from <1,>=0.4 to >=0.15.13,<1 by @dependabot[bot] in #143
- chore(deps): update litellm requirement from <2,>=1.84.0 to >=1.85.1,<2 by @dependabot[bot] in #148
- chore(deps): update alembic requirement from <2,>=1.13 to >=1.18.4,<2 by @dependabot[bot] in #146
- chore(deps): update pyyaml requirement from <7,>=6 to >=6.0.3,<7 by @dependabot[bot] in #140
- chore(deps): update tiktoken requirement from <1,>=0.12.0 to >=0.13.0,<1 by @dependabot[bot] in #149
- chore(deps): update opentelemetry-sdk requirement from <2,>=1.41.1 to >=1.42.1,<2 by @dependabot[bot] in #145
- chore(deps): update sqlalchemy requirement from <3,>=2.0 to >=2.0.49,<3 by @dependabot[bot] in #147
- docs: align v0.8 shipped state by @smaramwbc in #153
New Contributors
- @cowboy823 made their first contribution in #108
- @Wangbocheng75 made their first contribution in #113
- @MiriamDiazH made their first contribution in #120
- @VLK-123 made their first contribution in #130
Full Changelog: https://github.com/smaramwbc/statewave/commits/v0.9.0