Changelog
Changelog — 2026-06-13
Daily docs refresh.
Breaking
- Record cache plumbing removed from
@stndrds/react. TanStack DB Phase 3 makes the per-object collection the single optimistic mechanism: soft-deleted records stay in the collection withdeletedAtstamped, and delete/restore/purge ride collection transactions with automatic rollback. Direct importers lose the low-level helpersoptimisticRecordInsert,optimisticRecordUpdate,reconcilePendingCreates,replaceTempRecordId,rollbackFromSnapshot,snapshotRecordCaches, andtakeQuerySnapshot— mutations through the provided hooks need no cache plumbing.generateTempIdandisTempIdremain (now sourced from the collection layer). - Public Postgres RPCs are service-role only. Tenant isolation hardening revokes
EXECUTEfromanon,authenticated, andPUBLICon all 47 public RPCs (and on future functions via default privileges) — only the service-role key can invoke them. Apply every prior function-creating migration before20260612140000. - Realtime defaults to tenant-ownership channel authorization. When no custom
channelAuthorizeris configured,SchemaRealtimeModulenow installsDefaultTenantChannelAuthorizer(fail-closed, tenant-scoped). As a result, api-key-authenticated sockets no longer receiveuser:channels, and single-tenant deployments no longer allow one user to subscribe to another user's channel. See the NestJS backend guide.
Features
- Zero-config PostHog telemetry.
initStandardsTelemetry()now takes no required arguments — every option (apiKey,deploymentId,host,salt,standardsVersion) defaults from environment variables, so settingSTANDARDS_POSTHOG_API_KEYandSTANDARDS_DEPLOYMENT_IDis enough. It also installs flush-on-SIGTERMand crash-capture process handlers by default (disable withprocessHandlers: false). See adapters. - Theme-adaptive tag colors.
@stndrds/uitag colors now resolve through CSSlight-dark(), so tags pick the right shade for the active theme without per-theme overrides.
Fixes
- Agents no longer abort long-running tools. The execution toolchain stopped passing per-step and per-chunk timeouts to the AI SDK, which were cutting off tool calls that legitimately take a while.
- Qualified edge prefill labels. Form prefill now translates qualified edge select props so the prefilled label matches the chosen option.
- Reference payload de-duplication. A single reference payload that lists the same target id more than once is now de-duplicated before writing edges.
- Computed record labels fit the column. Computed labels longer than the storage column limit are truncated instead of failing the write.