Uh oh!
There was an error while loading. Please reload this page.
chore: version packages - #1272
Closed
github-actions[bot] wants to merge 1 commit into
Closed
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub.
|
github-actionsBotforce-pushed
the
changeset-release/main
branch
from
May 22, 2026 16:17
b1f6241 to
9264f26Comparegithub-actionsBotforce-pushed
the
changeset-release/main
branch
from
May 22, 2026 16:50
9264f26 to
15f221fComparegithub-actionsBotforce-pushed
the
changeset-release/main
branch
from
May 22, 2026 17:00
15f221f to
bf771dfComparegithub-actionsBotforce-pushed
the
changeset-release/main
branch
from
May 22, 2026 17:17
bf771df to
6606359Comparegithub-actionsBotforce-pushed
the
changeset-release/main
branch
from
May 22, 2026 17:43
6606359 to
51d4cebComparegithub-actionsBotforce-pushed
the
changeset-release/main
branch
from
May 23, 2026 03:01
51d4ceb to
03ba0e4Comparegithub-actionsBotforce-pushed
the
changeset-release/main
branch
from
May 23, 2026 03:31
03ba0e4 to
3849e12Comparegithub-actionsBotforce-pushed
the
changeset-release/main
branch
from
May 23, 2026 03:54
3849e12 to
d434291Comparegithub-actionsBotforce-pushed
the
changeset-release/main
branch
from
May 23, 2026 04:16
d434291 to
aa05261Comparegithub-actionsBotforce-pushed
the
changeset-release/main
branch
from
May 23, 2026 05:25
aa05261 to
48ad6acComparegithub-actionsBotforce-pushed
the
changeset-release/main
branch
from
May 23, 2026 05:32
48ad6ac to
4a2ac09Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@objectstack/studio@5.2.0
Minor Changes
fa011d8: feat(studio): metadata history timeline viewer
Adds a new
historyview mode that surfaces the audit timeline produced bysys_metadata_history(ADR-0008 §5) inside Studio. Available for every metadata type as a wildcard built-in plugin.@objectstack/spec: extendViewModeSchemawith'history'.@objectstack/studio: newhistoryViewerPluginrendering an event timeline (create/update/delete/rename) with op icons, short hash, actor, source, expandable detail panel. ADR-0009executionPinnedtypes (flow,workflow,approval) show a "Pinned" badge explaining that historical versions are retained for in-flight executions.Reads from the existing
GET /meta/:type/:name/historyREST endpoint viaclient.meta.getHistory(); no new server surface.Patch Changes
7bc57ad: Studio: redesign the object page Airtable-style.
The object detail page (
/objects/:name) previously stacked fouroverlapping navigation strips on top of each other: sidebar, outer
route tabs (Designer/Views/Forms/...), the PluginHost mode strip
(Preview/Code/Data/History), and ObjectExplorer's own internal
tabs (Schema/Data/API) — plus a duplicated object header card.
This change collapses the redundancy:
ObjectExplorerbecomes a controlled component driven by themodeprop from PluginHost. Its internal tab strip is removedso the page only ever shows a single row of mode buttons.
ObjectSchemaInspectoris removed; the route-level header is now the single source of
identity (label + machine name + description).
the redundant stat-badge row (fields / views / forms / hooks)
are gone since the related-metadata tabs already convey the
same counts.
object-plugindeclares modes as['data', 'design', 'code']and
PluginHostlands ondataby default for objects so therecords grid is the first thing the user sees — matching
Airtable's "data first" philosophy.
MODE_LABEL_OVERRIDES:for
object,datareads "Records",designreads "Fields",codereads "API".MODE_ALLOWLIST_BY_TYPEfilters out the genericpreviewfallback for objects so the strip is the curatedRecords / Fields / API / Historyand nothing more.ec26370: Studio: cross-page polish — calmer cards, plain-English copy, deduped registry.
Following the Airtable-style object-page redesign, this pass cleans
up the rest of the surface so every page reads the same way.
List cards (
MetadataListPage):Forms). The page title already conveys the type; the badge was
noise. Multi-type pages (Views & Apps, Automations, AI, Security)
keep the badge for disambiguation.
descriptionwhen present, instead ofthe now-redundant snake_case
name(which was a duplicate of the<code>element below). The machine name still appears as asubtle code line.
that reveals on hover, freeing the row for the actual label.
titleattributes everywhere so truncated labels (e.g."Campaign Me…") are readable on hover.
Home /
DeveloperOverview:package name and a one-line summary — feels like a product home,
not a dev tool.
both
sharingRuleandsharing_rule(andragPipeline/rag_pipeline,analyticsCube/analytics_cube) as separateentries even though they map to the same type. A new
dedupeRegistryEntriescollapses each alias pair, sums thecounts, and keeps the canonical camelCase name for display.
/api/v1 REST · data · meta · packagesstat card with a clearer "REST API — Live" card that links to
the APIs page.
Forms:
FormView/sharing.allowAnonymous/GET /api/v1/forms/:slugjargon to plain English: "Forms anyone can fill out — no login
required. Publish a form to get a shareable link; submissions
land directly in the bound object."
instead of telling them to "Declare a FormView with
sharing.allowAnonymous: true".Logs:
(
Awaiting /api/v1/_debug/requests.) — they just say"Coming soon. Requests will stream here in real time."
b626e11: Studio: redesign generic metadata-detail pages.
Every detail page routed through
/$package/metadata/$type/$name(views, dashboards, apps, flows, agents, permissions, …) used to
have no visible page header — only a breadcrumb — plus a
wasted top band hosting a floating 3-dot menu, a dev-jargon
objectstack.view-previewplugin-id badge, and an unnecessaryviewer-picker dropdown. Errors were rendered as red prose leaking
the raw
[ObjectStack] Metadata item X not foundbackend string.This pass aligns generic detail pages with the Object-page pattern:
(icon · label · machine name · type chip · description), and
parks the
ResourceActionsMenuon the right of the headerinstead of in its own floating top bar.
PluginHostdrops the always-visible plugin-id badge from thetoolbar (
objectstack.view-previewetc. — pure dev jargon)and the same id badge from inside the viewer-picker dropdown
items.
MetadataInspector(the default JSON-tree Preview viewer) nolonger renders its own "Header card" — that's the route's job
now, so users don't see "Sales Representative" twice on the
Permission page.
in
view-preview-plugin,FlowViewer, andMetadataInspector.Internal error strings like
[ObjectStack] Metadata item flow/X not foundno longer leakto the UI; users see "Flow not found · We couldn't load X. It
may have been deleted or moved to another package."
d060e84: fix(studio): clearer metadata list filter chips, empty states & no-flash theme boot
Surveyed Studio's core pages via the browser and shipped three targeted polish fixes:
METADATA_TYPE_LABELSregistry and atypeLabel()helper instudio-nav.ts, and switched the chip + search placeholder + empty-state copy to per-type labels.useEffect, causing a brief white flash before React mounted (especially noticeable on slow loads). Added an inline<script>inindex.htmlthat mirrorstheme-toggle.tsxand applies the.darkclass and the matching<html>background-color synchronously, plus a<meta name="color-scheme" content="dark light">so native UI (scrollbars, form controls) inherits the correct scheme too.Updated dependencies [bab2b20]
Updated dependencies [fa011d8]
Updated dependencies [f0f7c27]
Updated dependencies [b806f58]
@objectstack/platform-objects@5.2.0
Minor Changes
bab2b20: feat(approvals): execution-pinned approval processes (ADR-0009)
When an approval request is submitted, the engine now records a
process_hashon
sys_approval_request— the sha256 of the approval process body resolvedthrough
MetadataRepository. While the request is in flight,approve/reject/recallresolve the pinned process body viaMetadataRepository.getByHash. Upgrading the approval process definitionmid-flight therefore no longer affects requests that already started against
the previous version.
Behavior:
sys_approval_requestgains aprocess_hashcolumn (text, nullable,read-only). Existing rows keep working — the engine falls back to the
current
sys_approval_processprojection when the column is empty.ApprovalServiceOptionsaccepts an optionalmetadataRepo. When omitted(e.g. defining processes purely through the runtime API or in unit tests),
pinning is silently disabled and the service behaves as before.
ApprovalsServicePluginlooks up the metadata service from the kerneland wires its repository automatically.
MetadataTypeSchemaenum was realigned with thecanonical
@objectstack/spec/kernelenum (drift fix:approval,field,function,service, …).This is the first user-visible consumer of the
executionPinnedcapabilityintroduced in ADR-0009.
Patch Changes
f0f7c27: Add
mark_read/mark_unreadrow actions tosys_notificationand polishlistView columns + grouping.
mark_read/mark_unreadactions guarded by CELvisibleexpressions so each only renders on rows in the appropriate state. Both
use the generic PATCH
/api/v1/data/sys_notification/{id}endpoint withbodyExtrato flipis_read(and clearread_aton unmark).title+actor_name(the "whodid what" users actually scan) and demote
typeto a chip column.mineview now groups bytypeso mention/assignment storms don't burysystem or task_due rows.
mark_all_readis intentionally not added server-side — there's no bulkPATCH primitive on the REST surface yet, and the popover already handles
multi-row mark-all client-side via N single-row PATCHes
(
InboxPopover.tsx→AppHeader.markAllRead).b806f58: Scope
sys_uservisibility to fellow organization members.The default RLS policy on
sys_userwasid = current_user.id, which meant@-mention pickers, owner/assignee lookups, reviewer selectors and the user
roster all returned just the current user. The RLS compiler doesn't support
subqueries, so a
id IN (SELECT user_id FROM sys_member ...)policy isn'texpressible.
This change:
org_user_ids(the IDs of all users in the active org) intoExecutionContextin all three REST entry-point resolvers(
@objectstack/rest,@objectstack/runtime,@objectstack/plugin-hono-server).ExecutionContextSchemaso it survives Zod parsing.org_user_idsfield to the RLS compiler's user context.sys_user_org_memberspolicy (id IN (current_user.org_user_ids))to both
member_defaultandviewer_readonlypermission sets, alongsidethe existing
sys_user_selfpolicy. The RLS compiler OR-combines them, sousers see themselves AND their org collaborators.
Capped at 1000 members per request. Large enterprises should plug in a
directory cache or split per workspace.
Updated dependencies [bab2b20]
Updated dependencies [fa011d8]
Updated dependencies [b806f58]
@objectstack/plugin-approvals@5.2.0
Minor Changes
bab2b20: feat(approvals): execution-pinned approval processes (ADR-0009)
When an approval request is submitted, the engine now records a
process_hashon
sys_approval_request— the sha256 of the approval process body resolvedthrough
MetadataRepository. While the request is in flight,approve/reject/recallresolve the pinned process body viaMetadataRepository.getByHash. Upgrading the approval process definitionmid-flight therefore no longer affects requests that already started against
the previous version.
Behavior:
sys_approval_requestgains aprocess_hashcolumn (text, nullable,read-only). Existing rows keep working — the engine falls back to the
current
sys_approval_processprojection when the column is empty.ApprovalServiceOptionsaccepts an optionalmetadataRepo. When omitted(e.g. defining processes purely through the runtime API or in unit tests),
pinning is silently disabled and the service behaves as before.
ApprovalsServicePluginlooks up the metadata service from the kerneland wires its repository automatically.
MetadataTypeSchemaenum was realigned with thecanonical
@objectstack/spec/kernelenum (drift fix:approval,field,function,service, …).This is the first user-visible consumer of the
executionPinnedcapabilityintroduced in ADR-0009.
Patch Changes
@objectstack/spec@5.2.0
Minor Changes
fa011d8: feat(studio): metadata history timeline viewer
Adds a new
historyview mode that surfaces the audit timeline produced bysys_metadata_history(ADR-0008 §5) inside Studio. Available for every metadata type as a wildcard built-in plugin.@objectstack/spec: extendViewModeSchemawith'history'.@objectstack/studio: newhistoryViewerPluginrendering an event timeline (create/update/delete/rename) with op icons, short hash, actor, source, expandable detail panel. ADR-0009executionPinnedtypes (flow,workflow,approval) show a "Pinned" badge explaining that historical versions are retained for in-flight executions.Reads from the existing
GET /meta/:type/:name/historyREST endpoint viaclient.meta.getHistory(); no new server surface.Patch Changes
bab2b20: feat(approvals): execution-pinned approval processes (ADR-0009)
When an approval request is submitted, the engine now records a
process_hashon
sys_approval_request— the sha256 of the approval process body resolvedthrough
MetadataRepository. While the request is in flight,approve/reject/recallresolve the pinned process body viaMetadataRepository.getByHash. Upgrading the approval process definitionmid-flight therefore no longer affects requests that already started against
the previous version.
Behavior:
sys_approval_requestgains aprocess_hashcolumn (text, nullable,read-only). Existing rows keep working — the engine falls back to the
current
sys_approval_processprojection when the column is empty.ApprovalServiceOptionsaccepts an optionalmetadataRepo. When omitted(e.g. defining processes purely through the runtime API or in unit tests),
pinning is silently disabled and the service behaves as before.
ApprovalsServicePluginlooks up the metadata service from the kerneland wires its repository automatically.
MetadataTypeSchemaenum was realigned with thecanonical
@objectstack/spec/kernelenum (drift fix:approval,field,function,service, …).This is the first user-visible consumer of the
executionPinnedcapabilityintroduced in ADR-0009.
b806f58: Scope
sys_uservisibility to fellow organization members.The default RLS policy on
sys_userwasid = current_user.id, which meant@-mention pickers, owner/assignee lookups, reviewer selectors and the user
roster all returned just the current user. The RLS compiler doesn't support
subqueries, so a
id IN (SELECT user_id FROM sys_member ...)policy isn'texpressible.
This change:
org_user_ids(the IDs of all users in the active org) intoExecutionContextin all three REST entry-point resolvers(
@objectstack/rest,@objectstack/runtime,@objectstack/plugin-hono-server).ExecutionContextSchemaso it survives Zod parsing.org_user_idsfield to the RLS compiler's user context.sys_user_org_memberspolicy (id IN (current_user.org_user_ids))to both
member_defaultandviewer_readonlypermission sets, alongsidethe existing
sys_user_selfpolicy. The RLS compiler OR-combines them, sousers see themselves AND their org collaborators.
Capped at 1000 members per request. Large enterprises should plug in a
directory cache or split per workspace.
@objectstack/account@5.2.0
Patch Changes
@objectstack/hono@5.2.0
Patch Changes
@objectstack/cli@5.2.0
Patch Changes
@objectstack/client@5.2.0
Patch Changes
@objectstack/client-react@5.2.0
Patch Changes
@objectstack/core@5.2.0
Patch Changes
@objectstack/formula@5.2.0
Patch Changes
@objectstack/metadata@5.2.0
Patch Changes
@objectstack/metadata-core@5.2.0
Patch Changes
bab2b20: feat(approvals): execution-pinned approval processes (ADR-0009)
When an approval request is submitted, the engine now records a
process_hashon
sys_approval_request— the sha256 of the approval process body resolvedthrough
MetadataRepository. While the request is in flight,approve/reject/recallresolve the pinned process body viaMetadataRepository.getByHash. Upgrading the approval process definitionmid-flight therefore no longer affects requests that already started against
the previous version.
Behavior:
sys_approval_requestgains aprocess_hashcolumn (text, nullable,read-only). Existing rows keep working — the engine falls back to the
current
sys_approval_processprojection when the column is empty.ApprovalServiceOptionsaccepts an optionalmetadataRepo. When omitted(e.g. defining processes purely through the runtime API or in unit tests),
pinning is silently disabled and the service behaves as before.
ApprovalsServicePluginlooks up the metadata service from the kerneland wires its repository automatically.
MetadataTypeSchemaenum was realigned with thecanonical
@objectstack/spec/kernelenum (drift fix:approval,field,function,service, …).This is the first user-visible consumer of the
executionPinnedcapabilityintroduced in ADR-0009.
@objectstack/metadata-fs@5.2.0
Patch Changes
@objectstack/objectql@5.2.0
Patch Changes
@objectstack/observability@5.2.0
Patch Changes
@objectstack/driver-memory@5.2.0
Patch Changes
@objectstack/driver-mongodb@5.2.0
Patch Changes
@objectstack/driver-sql@5.2.0
Patch Changes
@objectstack/driver-turso@5.2.0
Patch Changes
@objectstack/plugin-audit@5.2.0
Patch Changes
@objectstack/plugin-auth@5.2.0
Patch Changes
@objectstack/plugin-dev@5.2.0
Patch Changes
@objectstack/plugin-email@5.2.0
Patch Changes
@objectstack/plugin-hono-server@5.2.0
Patch Changes
b806f58: Scope
sys_uservisibility to fellow organization members.The default RLS policy on
sys_userwasid = current_user.id, which meant@-mention pickers, owner/assignee lookups, reviewer selectors and the user
roster all returned just the current user. The RLS compiler doesn't support
subqueries, so a
id IN (SELECT user_id FROM sys_member ...)policy isn'texpressible.
This change:
org_user_ids(the IDs of all users in the active org) intoExecutionContextin all three REST entry-point resolvers(
@objectstack/rest,@objectstack/runtime,@objectstack/plugin-hono-server).ExecutionContextSchemaso it survives Zod parsing.org_user_idsfield to the RLS compiler's user context.sys_user_org_memberspolicy (id IN (current_user.org_user_ids))to both
member_defaultandviewer_readonlypermission sets, alongsidethe existing
sys_user_selfpolicy. The RLS compiler OR-combines them, sousers see themselves AND their org collaborators.
Capped at 1000 members per request. Large enterprises should plug in a
directory cache or split per workspace.
Updated dependencies [bab2b20]
Updated dependencies [fa011d8]
Updated dependencies [b806f58]
@objectstack/plugin-mcp-server@5.2.0
Patch Changes
@objectstack/plugin-msw@5.2.0
Patch Changes
@objectstack/plugin-reports@5.2.0
Patch Changes
@objectstack/plugin-security@5.2.0
Patch Changes
b806f58: Scope
sys_uservisibility to fellow organization members.The default RLS policy on
sys_userwasid = current_user.id, which meant@-mention pickers, owner/assignee lookups, reviewer selectors and the user
roster all returned just the current user. The RLS compiler doesn't support
subqueries, so a
id IN (SELECT user_id FROM sys_member ...)policy isn'texpressible.
This change:
org_user_ids(the IDs of all users in the active org) intoExecutionContextin all three REST entry-point resolvers(
@objectstack/rest,@objectstack/runtime,@objectstack/plugin-hono-server).ExecutionContextSchemaso it survives Zod parsing.org_user_idsfield to the RLS compiler's user context.sys_user_org_memberspolicy (id IN (current_user.org_user_ids))to both
member_defaultandviewer_readonlypermission sets, alongsidethe existing
sys_user_selfpolicy. The RLS compiler OR-combines them, sousers see themselves AND their org collaborators.
Capped at 1000 members per request. Large enterprises should plug in a
directory cache or split per workspace.
Updated dependencies [bab2b20]
Updated dependencies [fa011d8]
Updated dependencies [f0f7c27]
Updated dependencies [b806f58]
@objectstack/plugin-sharing@5.2.0
Patch Changes
@objectstack/plugin-webhooks@5.2.0
Patch Changes
@objectstack/rest@5.2.0
Patch Changes
b806f58: Scope
sys_uservisibility to fellow organization members.The default RLS policy on
sys_userwasid = current_user.id, which meant@-mention pickers, owner/assignee lookups, reviewer selectors and the user
roster all returned just the current user. The RLS compiler doesn't support
subqueries, so a
id IN (SELECT user_id FROM sys_member ...)policy isn'texpressible.
This change:
org_user_ids(the IDs of all users in the active org) intoExecutionContextin all three REST entry-point resolvers(
@objectstack/rest,@objectstack/runtime,@objectstack/plugin-hono-server).ExecutionContextSchemaso it survives Zod parsing.org_user_idsfield to the RLS compiler's user context.sys_user_org_memberspolicy (id IN (current_user.org_user_ids))to both
member_defaultandviewer_readonlypermission sets, alongsidethe existing
sys_user_selfpolicy. The RLS compiler OR-combines them, sousers see themselves AND their org collaborators.
Capped at 1000 members per request. Large enterprises should plug in a
directory cache or split per workspace.
Updated dependencies [bab2b20]
Updated dependencies [fa011d8]
Updated dependencies [b806f58]
@objectstack/runtime@5.2.0
Patch Changes
b806f58: Scope
sys_uservisibility to fellow organization members.The default RLS policy on
sys_userwasid = current_user.id, which meant@-mention pickers, owner/assignee lookups, reviewer selectors and the user
roster all returned just the current user. The RLS compiler doesn't support
subqueries, so a
id IN (SELECT user_id FROM sys_member ...)policy isn'texpressible.
This change:
org_user_ids(the IDs of all users in the active org) intoExecutionContextin all three REST entry-point resolvers(
@objectstack/rest,@objectstack/runtime,@objectstack/plugin-hono-server).ExecutionContextSchemaso it survives Zod parsing.org_user_idsfield to the RLS compiler's user context.sys_user_org_memberspolicy (id IN (current_user.org_user_ids))to both
member_defaultandviewer_readonlypermission sets, alongsidethe existing
sys_user_selfpolicy. The RLS compiler OR-combines them, sousers see themselves AND their org collaborators.
Capped at 1000 members per request. Large enterprises should plug in a
directory cache or split per workspace.
Updated dependencies [bab2b20]
Updated dependencies [fa011d8]
Updated dependencies [b806f58]
@objectstack/service-ai@5.2.0
Patch Changes
@objectstack/service-analytics@5.2.0
Patch Changes
@objectstack/service-automation@5.2.0
Patch Changes
@objectstack/service-cache@5.2.0
Patch Changes
@objectstack/service-feed@5.2.0
Patch Changes
@objectstack/service-i18n@5.2.0
Patch Changes
@objectstack/service-job@5.2.0
Patch Changes
@objectstack/service-package@5.2.0
Patch Changes
@objectstack/service-queue@5.2.0
Patch Changes
@objectstack/service-realtime@5.2.0
Patch Changes
@objectstack/service-settings@5.2.0
Patch Changes
@objectstack/service-storage@5.2.0
Patch Changes
@objectstack/types@5.2.0
Patch Changes
@objectstack/console@5.2.0
@objectstack/express@5.2.0
@objectstack/fastify@5.2.0
@objectstack/nestjs@5.2.0
@objectstack/nextjs@5.2.0
@objectstack/nuxt@5.2.0
@objectstack/sveltekit@5.2.0
create-objectstack@5.2.0
objectstack-vscode@5.2.0
@objectstack/example-crm@4.0.11
Patch Changes
@example/app-todo@4.0.11
Patch Changes