Client API Changelog and Migration Policy
Compatibility commitments
- Additive changes can ship without migration requirements.
- Behavioral and breaking changes require explicit changelog entries.
- Deprecated endpoints must include replacement path and sunset date.
Deprecation and sunset windows
OMNI uses a conservative deprecation posture for anything customer-facing. During internal beta, we may move faster, but we still commit to:- Announcing behavioral and breaking changes in the changelog.
- Providing a migration path or compatibility shim where feasible.
- Never removing an endpoint without a documented replacement.
- 30+ days notice for breaking changes
- 90+ days notice for endpoint removal
How deprecations are signaled (target posture)
During internal beta, deprecation signals may be incomplete while endpoint coverage and compatibility shims are still being built. Public-beta-ready posture is:- Response headers:
Deprecation: true,Sunset: <RFC 3339 date>,Link: <https://docs.omnibrief.app/...>; rel="deprecation". - Replacement path: every deprecated endpoint must name its replacement endpoint and include migration steps in this changelog.
- No silent removals: endpoints are never removed without a documented replacement.
What counts as a breaking change
- Removing a response field that was documented.
- Changing a field type (string → object, number → string).
- Changing authentication requirements.
- Changing error
type/codetaxonomy. - Changing idempotency requirements for an existing method.
Changelog template
Each release entry includes:- Release date (UTC)
- Affected endpoints/methods
- Change category (
additive,behavioral,breaking) - Migration steps
- Sunset date (if deprecating)
How to use this changelog
- If you pin
Omni-Version, you can adopt changes on your own schedule. - If you do not pin, you should subscribe to changelog updates and treat them as part of your upgrade process.
Current release log
2026-02-18
Fixed
- Scope enforcement parity across hosted MCP (
/mcp) and legacy MCP compatibility routes (/v1/mcp/*). tools/listandGET /v1/mcp/toolsrequiremcp.tools.read(for scoped keys).tools/callandPOST /v1/mcp/invokerequiremcp.invoke(for scoped keys), in addition to any tool-specific scope (example:fred.read).GET /v1/openapi.jsonno longer requiresmcp.invoke(auth-only schema discovery).- Hosted MCP JSON-RPC errors now include
error.data.request_idfor correlation (and idempotency replays do not return stale request IDs). - REST Client API now returns the standard
{"error": {...}}envelope for route/method mismatches (404/405) and request validation failures.
2026-02-17
Added
GET /v1/openapi.jsoncanonical OpenAPI contract endpoint.- Hosted MCP protocol endpoint at
/mcp(GET,POST,DELETE). - SSE compatibility endpoint at
/sse. - Docs additions: reference, errors, hosted MCP, webhooks, changelog.
Behavioral updates
POST /v1/mcp/invokeand hosted MCPtools/callboth require idempotency keys.- Tool invocation semantics shared across legacy and hosted MCP routes.
Deprecations
/v1/mcp/toolsand/v1/mcp/invokeare compatibility routes and are planned to migrate to/mcpas canonical hosted transport.
Migration guidance
If you are integrating via MCP clients:- Move transport endpoint to
/mcp. - Use JSON-RPC
tools/listandtools/call. - Provide
Idempotency-Keyfortools/call. - Use
/sseonly for compatibility during migration windows.
- Pick a stable
Omni-Versionfor production. - Review the changelog weekly.
- Adopt changes by moving your pinned date forward intentionally.