Standards Docs
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 with deletedAt stamped, and delete/restore/purge ride collection transactions with automatic rollback. Direct importers lose the low-level helpers optimisticRecordInsert, optimisticRecordUpdate, reconcilePendingCreates, replaceTempRecordId, rollbackFromSnapshot, snapshotRecordCaches, and takeQuerySnapshot — mutations through the provided hooks need no cache plumbing. generateTempId and isTempId remain (now sourced from the collection layer).
  • Public Postgres RPCs are service-role only. Tenant isolation hardening revokes EXECUTE from anon, authenticated, and PUBLIC on 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 before 20260612140000.
  • Realtime defaults to tenant-ownership channel authorization. When no custom channelAuthorizer is configured, SchemaRealtimeModule now installs DefaultTenantChannelAuthorizer (fail-closed, tenant-scoped). As a result, api-key-authenticated sockets no longer receive user: 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 setting STANDARDS_POSTHOG_API_KEY and STANDARDS_DEPLOYMENT_ID is enough. It also installs flush-on-SIGTERM and crash-capture process handlers by default (disable with processHandlers: false). See adapters.
  • Theme-adaptive tag colors. @stndrds/ui tag colors now resolve through CSS light-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.

On this page