Core:
v1.0.0rc1· SDK:v1.0.0b5· MCP:v1.0.0b2— shipped together; versions are independent (core is RC, clients remain beta until they catch the RC contract).
What's New
Core v1.0.0rc1 — 26 commits since v1.0.0b5
The largest change since v1.0.0b5 is the unified permission model.
Unified Permission Model
- API key
scopes→permissionswith vocabularyproject:read,project:write,admin, etc. Legacy['read','write']scopes are auto-migrated; new keys default to['project:read','project:write']. users.permissionscolumn added; user create/update now acceptpermissionsand return effective permissions (empty array = admin / full access).- Permission checks enforced on every endpoint via
require_permissiondependencies — fail-closed, cached with invalidation. - Migration: existing keys and users are backfilled; no manual DB work.
RBAC & Org-Scoped Hardening
feat!: permission checks added to memory, facts, graph, admin, and org endpoints.- Global search no longer requires redundant
org_id; graph backendnone/unset now raises instead of silent fallback. fix(org_config):Nonevalues are preserved so OpenBao deletes keys correctly.
Admin Platform & Metrics
feat(admin_stats)!:GET /admin/statsnow takesdays/from/to/project_id(default 30d), project-scoped with graph metrics.feat(metrics): Prometheus metrics are noworg_id-labelled and org-scoped; predefined admin metric queries.feat(admin): extended usage stats + time-series endpoints; admin console can drive time-series dashboards.fix(middleware): audit actor id now sourced fromapi_key_idin state.
Infra & Ops
- Helm chart
0.1.0 → 0.2.0(appVersion: 1.0.0rc1); values still pullghcr.io/openzync/openzync-core/api:$TAG. - OpenBao init now retries with
pgvectorguarantee and platform seed GUCs; volume mounts use:zfor SELinux;host.docker.internalenabled for local dev.
Python SDK v1.0.0b5
Aligned with the new permission model.
- BREAKING:
scopes→permissionson API keys and users (same change as core).AsyncUsersClient.create/updatenow takepermissions:. - BREAKING:
create/update/deleteon users now require an org-admin JWT; project-scoped API keys receive401on those endpoints. - Added
classifications,observations,search, and structuredextractionsclients. session_idremains required for memory/facts ingestion (sinceb4); ingest always sendsmultipart/form-data.
PyPI: openzync 1.0.0b5 · SDK Changelog
MCP Server v1.0.0b2
Catches the RC contract.
- New tools:
extractions,projects,classifications,observations,search. session_idmandatory on memory/facts tools (matches API).- Package version
0.1.0 → 1.0.0b2aligned with git tag; imageghcr.io/openzync/openzync-mcp:1.0.0b2.
Upgrade Guide
From any b* beta to rc1:
- API keys: replace
scopes: ['read','write']withpermissions: ['project:read','project:write']. The SDK does this by default; if you create keys via API, update payloads. - Users: if you set user permissions, pass
permissions: [...]instead ofscopes. Admin users havepermissions: [](full access). - Admin endpoints: ensure admin actions use a dashboard JWT from an
admin-role user — API keys alone will get401on user create/update/delete. - Admin stats: update dashboards calling
GET /admin/statsto passdays/from/to/project_idexplicitly if you need a window other than 30d. - No data migration needed — legacy scopes are migrated on read; just redeploy and verify.
Bug Fixes
keep Nonefix prevents stale OpenBao keys; graph backend misconfig now surfaces loudly; audit and RLS fixes carried fromb5.
Getting Started
Download v1.0.0rc1 · SDK v1.0.0b5 on PyPI · MCP v1.0.0b2 image · Docs