Skip to main content

Changelog

2026-08 — Legacy licensing authority cutover (Wave 74.15)

Generic single/bulk License create is shut down, offline request ProductId is no longer authority, and Local Relay validation/refresh requires V2 snapshot state. Integrators must move to Subscription-backed issue and synchronize a current signed Gateway bundle. See the Wave 74.15 migration guide.

2026-08 — Durable Local Relay LAN retries (Wave 74.14.11)

Local Relay activation, lease refresh, and device registration now retain an atomic SQLite idempotency receipt. Exact retries survive Host restart; changed requests conflict and unavailable protected results fail closed. See Local Relay.

2026-08 — Durable Edge Gateway bundle sync (Wave 74.13.7)

Relay API now exposes authenticated, cursor-checked and restart-idempotent Edge Bundle v2 pull/ack endpoints. See Gateway bundle synchronization.

Public documentation and integrator-facing contract changelog. Per-package SDK release notes live in each public SDK repository (SDKs).

What belongs here

IncludeExclude
Breaking or notable public OpenAPI / error / docs IA changesPrivate platform Host / ops runbook edits
Links to Migration guides when cutover steps are requiredLive secrets, webhook signing material, internal broker topology
EN+RU docs parity notes for the same product waveVendor-private Console-only experiments

Entries

2026-08 — Edge Gateway public-key registration protocol (Wave 74.13.3.2)

Relay API adds the additive POST /api/v1/edge-gateways/{gatewayInstanceId}/signing-keys bootstrap route. An Edge Gateway sends one exact Tenant/Gateway enrollment token and a public-only ES256 JWK over outbound HTTPS. Cloud stores no private key material; responses are non-cacheable and exact replay is rejected. See Gateway public-key registration.

2026-08 — Live WWW PlatformPlan pricing (Wave 74.11.3.2)

The EN/RU WWW pricing page now renders the anonymous PlatformPlan catalog instead of hard-coded tier prices. It localizes currency, interval and all six platform-capacity limits, with explicit loading, empty, failure and retry states. Invalid or unavailable evidence never falls back to stale partial pricing.

2026-08 — Anonymous PlatformPlan pricing catalog (Wave 74.11.3.1)

Management now exposes GET /api/v1/public/platform-plans without authentication. It returns only valid Active plus Public PlatformPlans and omits provider and rights authority. Successful responses are deterministically ordered, carry a strong ETag and use bounded public caching; invalid stored public-plan evidence fails closed without a partial response.

2026-08 — Explicit PlatformPlan visibility (Wave 74.11.2.1)

Management PlatformPlan contracts now expose Internal or Public visibility. New and migrated plans fail closed to Internal; only the canonical free migration row becomes Public, while dogfood remains internal. Platform Admin readers can see the value and authorized managers can change it explicitly. Active status alone does not publish a plan.

2026-08 — Durable License key rotation API and audit (Wave 74.9.4.4.2)

Management adds the customer-scoped key-rotation route with customers.read plus licenses.manage, strict expected-primary input, and a required Idempotency-Key. BC-LIC commits one atomic rotation receipt and BC-AUD appends safe evidence by operation ID before HTTP success. First success can reveal v2 plaintext once; exact recovery replay completes missing audit and returns null plaintext without another rotation. The global v1 route now uses the same atomic service: explicit header+body mode is retryable, while headerless compatibility remains deprecated, warning-headered, and non-retryable. All rotation handler responses are non-cacheable.

2026-08 — Customer License terminal actions (Wave 74.9.4.3.5)

Management adds customer-scoped revoke and archive routes with customers.read plus licenses.manage, a strict status precondition, and no body-supplied identity or Idempotency-Key. License state, audit evidence, and the integration outbox commit atomically before success. Existing global single/bulk revoke envelopes remain compatible; revokedByActorId is now deprecated and ignored in favor of the authenticated actor. Global replay continues to return 409, while bulk replay remains alreadyApplied.

2026-08 — Customer License discovery and issue API (Wave 74.9.4.2.3)

Management adds customer-scoped candidate discovery and durable Subscription issue routes with customers.read plus licenses.manage. Discovery removes lifetime-occupied Subscriptions before final paging and fails closed on owner contradictions. Issue accepts only Subscription/correlation plus a required Idempotency-Key; owner identity is re-read, first success reveals plaintext once, and exact replay returns the same receipt with null plaintext. The existing global Subscription issue route remains compatible.

2026-08 — Customer License table Management API (Wave 74.9.3.5)

Management adds the read-only GET /api/v1/customers/organizations/{organizationId}/licenses/table endpoint with customers.read, bounded paging, and fixed ordering. It composes exact BC-LIC rows with typed Product, tariff/renewal, device, and usage display results. Owner infrastructure or result-set integrity failures return a typed 503 without partial data. Usage is explicitly unavailable, and key plaintext, hashes, and provider references are absent. The additive contract requires no client migration.

2026-08 — Customer aggregate Management API (Wave 74.9.1.4)

Management now exposes GET and PUT at /api/v1/customers/organizations/{organizationId}/aggregate with customers.read and customers.manage. GET composes the authoritative BC-CUS profile, BC-LIC License membership/masks, and same-Tenant BC-CAT Product display names. PUT is revision-checked and returns only the committed profile. Missing Product/key metadata stays explicit; plaintext/hash/provider references are never returned. The additive contract requires no client migration.

2026-07 — Runtime snapshot validation identity (Wave 74.7.4)

Cloud Runtime validate now allows only from a current verified License runtime snapshot. A supplied lease must carry matching Tenant, License, Product, Customer, and policy snapshot version/hash identity; missing or mismatched identity fails closed. Durable Management revoke produces deny and propagates best-effort cache hints/invalidation, while PostgreSQL remains authoritative. Previously issued v1 leases remain parseable, but leases without the canonical identity claims no longer pass Cloud Runtime validation.

2026-07 — Subscription-backed License issue API (Wave 74.6.5.4)

Management/Partner now exposes POST /api/v1/licenses/subscription-issues with licenses.manage and required Idempotency-Key. Tenant and actor come only from authenticated context. First commit returns 201 and the human key once; exact replay returns 200 with the same references/mask and plaintextKey: null. The additive contract, stable error codes and Partner examples require no migration.

2026-07 — License new-write identity guard (Wave 74.4.4)

Management/Partner License create accepts the additive commercial identity fields and explicit Subscription / IndividualGrant modes. Subscription writes reject missing Product, Customer, CustomerSubscription, OfferVersion, or technical policy identity. Individual grants require actor-backed audit. Differing assignedCustomerId and customerOrganizationId values are rejected. The legacy create shape remains temporarily server-gated.

2026-07 — Additive License commercial identity reads (Wave 74.4.3)

Management/Partner OpenAPI License list and detail responses now include customerOrganizationId, productId, customerSubscriptionId, offerVersionId, issueMode, migrationState, and notes. assignedCustomerId remains available; both customer names carry the same stored value. This is additive and requires no client migration.

2026-07 — Docs IA fill (Wave 56)

Public coverage stubs for Licensing, Portals, Runtime configuration, and Operations narratives replaced with thin product pages. SoT remains private docs/public/{en,ru}; mirror sync is operator-gated.

Earlier filled surfaces (non-exhaustive): License Keys, Entitlements, Offline/Floating/Relay, Verify trust (JWKS), Production checklist.

Add dated subsections above this line as new public contract changes ship.

Next steps