Standards Docs
Changelog

Changelog — 2026-06-10

Daily docs refresh.

Breaking

  • The TypedRecord and BaseRecord type aliases were removed from @stndrds/react. Use ObjectRecord<TValues> instead — it is now generic on its values. Date fields on a returned record (createdAt, updatedAt, deletedAt) are now hydrated to Date objects rather than ISO strings. See Records.
  • The deprecated liveObjectId option was dropped from useUpdateRecord and the useRecordSave wrapper. It was already a no-op now that the per-object cache is the single source of truth, so remove it from any call sites.

Features

  • Record data on the client is now backed by a normalized TanStack DB cache. New read hooks ship from @stndrds/react: useRecordIds (membership and order), useRecordRows, useKanbanRows, and useRecordEntity. Call resetRecordCollections() alongside queryClient.clear() on logout or tenant switch to tear the cache down.
  • useRecordIds paginates through useInfiniteQuery, exposing fetchNextPage / hasNextPage / isFetchingNextPage so grid and kanban membership grows page by page.
  • Added formatLocationValue(location, granularity) to @stndrds/schema. At full granularity it renders address, address2, city, state, postal code, and country; the UI's formatLocationDisplay is now a thin wrapper over it so cells, detail views, and the location input all render the same address.

Fixes

  • Location values now render address2 (the address complement) everywhere — grid cells, detail views, and the location input button.
  • Re-saving a record with unchanged values no longer writes a phantom audit entry; value comparison now normalizes key order and empty fields before deciding whether anything changed.

On this page