Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,4 +88,4 @@ GitHub Discussions live on the core repo: **[statewave/discussions](https://gith

## Current status

**v1.3.0** — hybrid retrieval (pgvector + Postgres BM25, on by default with a `hybrid=false` opt-out) and compile-pipeline recall improvements (dedup/reconcile), plus provider-aware LLM key routing. The `/v1/*` API contract and governance surfaces (HMAC-signed [receipts](receipts.md), receipt-driven replay, per-memory [sensitivity labels](sensitivity-labels.md) + declarative YAML policy, opt-in detector-suggested labels, per-region data residency) remain stable, as do the v1.2 additions (dynamic settings endpoint for topology-agnostic hot-reload, a production-readiness probe, SSRF + DNS-rebinding protection on the webhook URL probe, LIKE metachar escaping in admin search, and six admin inspection endpoints). Both SDKs ship alongside: `statewave` (PyPI) v1.2.0 adds per-call timeout overrides and `CancelledError` propagation; `@statewavedev/sdk` (npm) v1.2.0 adds `AbortSignal` support on all HTTP methods. See [roadmap](roadmap.md) and [CHANGELOG](CHANGELOG.md).
**v1.4.0** — tenant-scoped memory provenance and `/v1/context` source-episode lookups (closes cross-tenant leakage the single-tenant repository helpers previously left open on shared infra), plus tenant-keyed admin bulk delete with explicit `tenant_id IS NULL` handling for global rows. Admin operational surface expands: `POST /admin/jobs/reset-stuck` recovers orphaned running compile jobs, `DELETE /admin/jobs/{id}` closes the immortal-terminal-job gap, and empty-subject stats return 200 instead of 404 so zero-data dashboards don't break. Support-docs bootstrap now runs an async compile with build-then-swap gated on the compile job's `memories_created` — a failed rebuild no longer empties the live pack. Non-breaking: `search_mode` opt-in on `/v1/memories/search`, `subject.deleted` webhook guarded against no-op fires, extended purge-event coverage. The `/v1/*` contract and the v1.3 hybrid-retrieval stack remain stable. Both SDKs ship v1.4.0 alongside as a parity release with no runtime changes since v1.2.0 (CI/docs hygiene only). See [roadmap](roadmap.md) and [CHANGELOG](CHANGELOG.md).
2 changes: 1 addition & 1 deletion product.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Everything is organised around **subjects** — a user, account, workspace, repo

## Current limitations

Statewave is on its first stable public developer release line (v1.3.0). We document these honestly:
Statewave is on its first stable public developer release line (v1.4.0). We document these honestly:

| Limitation | Impact | Status |
|-----------|--------|--------|
Expand Down
2 changes: 1 addition & 1 deletion tools/_targets.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@
(
"docs_product_status",
"statewave-docs/product.md",
r'first stable public developer release \(v(\d+\.\d+\.\d+)\)',
r'first stable public developer release line \(v(\d+\.\d+\.\d+)\)',
None,
"independent",
),
Expand Down
Loading