Skip to content

chore: release packages - #2390

Closed
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Closed

chore: release packages#2390
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

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

@object-ui/app-shell@13.2.0

Minor Changes

  • 53c40c2: feat: identity import — the stock ImportWizard now drives sys_user bulk import (framework#2782)

    The Users list gets an Import entry for platform admins (gated on
    features.admin from /api/v1/auth/config plus workspace-admin), wired to
    the dedicated POST /api/v1/auth/admin/import-users pipeline instead of the
    generic data import (which would bypass better-auth hashing and produce
    accounts that can never sign in).

    • plugin-grid: two generic, backend-agnostic ImportWizard slots —
      extraOptionsContent (host-injected options on the preview step) and
      renderResultExtra (host-rendered content on the result step).
    • app-shell: identity import dataSource adapter — splits files into the
      endpoint's ≤500-row batches (idempotent upsert makes re-runs safe), injects
      the selected password policy, renumbers per-batch results onto the whole
      file, and enriches rows with their sign-in identity. Password policy panel
      (none default / invite / temporary) and a one-shot temporary-password
      reveal with CSV download (client memory only — nothing is persisted).
      Async-job/undo surfaces are hidden for identity import by design.
    • auth: AuthPublicConfig.features.admin typing.
    • i18n: en/zh strings for the identity import panels.

Patch Changes

  • 672f18e: Access pillar: the 已分配用户 section now lists EFFECTIVE holders — direct
    grants ∪ holders of every position bound to the set — with per-row
    attribution badges (直授 / 经岗位 X). Position-held rows are not removable
    here (remove on the position's assignments); an everyone-anchor binding
    renders as a note ("every signed-in member holds this set") instead of
    enumerating the tenant (objectui#2382 — the direct-grants-only list told
    admins "0 users" for any normally-administered set). The explain panel's
    user field gains a chevron so "pick another user" is discoverable
    (objectui#2381 — the picker existed but read as static text).

  • 603d406: Fix "Create User" (and set_user_password / enable_two_factor /
    create_oauth_application) result dialogs rendering an empty email + temporary
    password: the console apiHandler now unwraps the { success, data } response
    envelope so resultDialog field paths resolve against the inner data,
    matching flowHandler / serverActionHandler and the documented "path into
    data" contract. Paired with framework#2842 (objectui#2396).

  • e492b9d: Permission sets — pure separation of design (Studio) and assignment
    (Setup), per ADR-0056 / epic Epic: Permission sets — Studio designs every facet, Setup assigns users (ADR-0056) #2398. A sys_permission_set used to render its six
    authorization facets in Setup as raw [Object] / JSON textareas, and only
    objects+fields were editable in Studio; this reworks both surfaces.

    Setup (assign + read-only):

    • The six facets (object_permissions, field_permissions, system_permissions,
      row_level_security, tab_permissions, admin_scope) now render read-only on
      the sys_permission_set record page as a compact summary (counts, or capability
      chips) plus a “Design in Studio →” deep-link into the structured editor
      (/apps/:appName/metadata/permission/:setName, env scope). No [Object], no
      JSON — in the record view, inline edit, and the create/edit form. Implemented as
      a permission-facet-link field widget stamped onto the six fields via the single
      ObjectStackAdapter.getObjectSchema choke point and honored by DetailSection +
      the record form.
    • User assignment (add/remove via sys_user_permission_set) is surfaced directly
      on the Setup record page.

    Studio (design every facet): the permission matrix editor gains structured
    editors for the facets that were JSON-only —

    • System Capabilities: a multi-select over the live sys_capability registry
      (scope-grouped, labelled chips).
    • Row-Level Security: per-policy rows (object · operation · enabled) with CEL
      USING/CHECK.
    • Tab Visibility: per-tab visible | hidden | default_on | default_off.
    • Delegated Admin Scope: business-unit + subtree, manage-assignments /
      -bindings / author-env-sets toggles, and an assignable-permission-sets allowlist.
      Assignment was moved out of the editor (it is now a Setup act) — the editor is
      purely a design surface.

    Storage/types are unchanged; editors read/write the draft’s existing parsed
    fields and tolerate legacy JSON strings on load. Note: env-scope metadata saves of
    these facets do not yet project onto the queryable sys_permission_set data
    record the Setup summary reads, so a fresh Studio edit isn’t reflected in Setup’s
    read-only view until the projection refreshes — tracked as a framework follow-up
    (enforcement reads the authoritative metadata).

  • 787b0e7: Setup-app UX fixes from a system-settings review:

    • sys_team now shows an accurate empty state ("No teams yet" — create one with Create Team, or they arrive via org/SSO provisioning) instead of the generic better-auth "these records … are not added by hand here" copy, which flatly contradicted the visible Create Team button.
    • The form renderer no longer spreads objectName / onDirtyChange (and other FormSchema-only props) onto its <form> DOM element, removing the React does not recognize the objectName prop / Unknown event handler property onDirtyChange warnings logged on every object list view.
  • Updated dependencies [80901aa]

  • Updated dependencies [53c40c2]

  • Updated dependencies [e492b9d]

    • @object-ui/components@13.2.0
    • @object-ui/auth@13.2.0
    • @object-ui/i18n@13.2.0
    • @object-ui/data-objectstack@13.2.0
    • @object-ui/fields@13.2.0
    • @object-ui/layout@13.2.0
    • @object-ui/plugin-editor@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0
    • @object-ui/permissions@13.2.0
    • @object-ui/collaboration@13.2.0
    • @object-ui/providers@13.2.0

@object-ui/plugin-grid@13.2.0

Minor Changes

  • 53c40c2: feat: identity import — the stock ImportWizard now drives sys_user bulk import (framework#2782)

    The Users list gets an Import entry for platform admins (gated on
    features.admin from /api/v1/auth/config plus workspace-admin), wired to
    the dedicated POST /api/v1/auth/admin/import-users pipeline instead of the
    generic data import (which would bypass better-auth hashing and produce
    accounts that can never sign in).

    • plugin-grid: two generic, backend-agnostic ImportWizard slots —
      extraOptionsContent (host-injected options on the preview step) and
      renderResultExtra (host-rendered content on the result step).
    • app-shell: identity import dataSource adapter — splits files into the
      endpoint's ≤500-row batches (idempotent upsert makes re-runs safe), injects
      the selected password policy, renumbers per-batch results onto the whole
      file, and enriches rows with their sign-in identity. Password policy panel
      (none default / invite / temporary) and a one-shot temporary-password
      reveal with CSV download (client memory only — nothing is persisted).
      Async-job/undo surfaces are hidden for identity import by design.
    • auth: AuthPublicConfig.features.admin typing.
    • i18n: en/zh strings for the identity import panels.

Patch Changes

  • 80901aa: Honor action visible (and enabled) predicates in three more action renderers.

    Following the data-table row-action fix, three sibling renderers still rendered schema-defined actions without evaluating their visible CEL predicate:

    • action:group dropdown mode (@object-ui/components) — dropdown items ignored visible/enabled, while the group's inline mode already honored them.
    • Related-list list_toolbar header actions (@object-ui/plugin-detail) — e.g. an organization's "Invite User" button ignored visible, even though the sibling row actions (fed by the same deriveActions bridge) already honored it via the data-table's DataTableRowActionItem.
    • Grid bulk-action bar (@object-ui/plugin-grid) — bulkActionDefs.visible was ignored entirely; the button is now hidden when the predicate is false (the BulkActionDef.visible doc comment is corrected from "disables" to "hides" to match).

    Each now evaluates visible (and, where applicable, enabled) via a hook-safe per-item component that mirrors RowActionMenuItem / DataTableRowActionItem, resolving features/user from the ambient ExpressionProvider scope. Rendering-layer only — no action definitions changed.

  • Updated dependencies [80901aa]

  • Updated dependencies [53c40c2]

  • Updated dependencies [e492b9d]

    • @object-ui/components@13.2.0
    • @object-ui/i18n@13.2.0
    • @object-ui/fields@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0
    • @object-ui/mobile@13.2.0

@object-ui/console@13.2.0

Patch Changes

  • @object-ui/react-runtime@13.2.0
  • @object-ui/sdui-parser@13.2.0

@object-ui/auth@13.2.0

Patch Changes

  • 53c40c2: feat: identity import — the stock ImportWizard now drives sys_user bulk import (framework#2782)

    The Users list gets an Import entry for platform admins (gated on
    features.admin from /api/v1/auth/config plus workspace-admin), wired to
    the dedicated POST /api/v1/auth/admin/import-users pipeline instead of the
    generic data import (which would bypass better-auth hashing and produce
    accounts that can never sign in).

    • plugin-grid: two generic, backend-agnostic ImportWizard slots —
      extraOptionsContent (host-injected options on the preview step) and
      renderResultExtra (host-rendered content on the result step).
    • app-shell: identity import dataSource adapter — splits files into the
      endpoint's ≤500-row batches (idempotent upsert makes re-runs safe), injects
      the selected password policy, renumbers per-batch results onto the whole
      file, and enriches rows with their sign-in identity. Password policy panel
      (none default / invite / temporary) and a one-shot temporary-password
      reveal with CSV download (client memory only — nothing is persisted).
      Async-job/undo surfaces are hidden for identity import by design.
    • auth: AuthPublicConfig.features.admin typing.
    • i18n: en/zh strings for the identity import panels.
    • @object-ui/types@13.2.0

@object-ui/cli@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0

@object-ui/collaboration@13.2.0

Patch Changes

  • @object-ui/types@13.2.0

@object-ui/components@13.2.0

Patch Changes

  • 80901aa: Honor action visible (and enabled) predicates in three more action renderers.

    Following the data-table row-action fix, three sibling renderers still rendered schema-defined actions without evaluating their visible CEL predicate:

    • action:group dropdown mode (@object-ui/components) — dropdown items ignored visible/enabled, while the group's inline mode already honored them.
    • Related-list list_toolbar header actions (@object-ui/plugin-detail) — e.g. an organization's "Invite User" button ignored visible, even though the sibling row actions (fed by the same deriveActions bridge) already honored it via the data-table's DataTableRowActionItem.
    • Grid bulk-action bar (@object-ui/plugin-grid) — bulkActionDefs.visible was ignored entirely; the button is now hidden when the predicate is false (the BulkActionDef.visible doc comment is corrected from "disables" to "hides" to match).

    Each now evaluates visible (and, where applicable, enabled) via a hook-safe per-item component that mirrors RowActionMenuItem / DataTableRowActionItem, resolving features/user from the ambient ExpressionProvider scope. Rendering-layer only — no action definitions changed.

  • e492b9d: Permission sets — pure separation of design (Studio) and assignment
    (Setup), per ADR-0056 / epic Epic: Permission sets — Studio designs every facet, Setup assigns users (ADR-0056) #2398. A sys_permission_set used to render its six
    authorization facets in Setup as raw [Object] / JSON textareas, and only
    objects+fields were editable in Studio; this reworks both surfaces.

    Setup (assign + read-only):

    • The six facets (object_permissions, field_permissions, system_permissions,
      row_level_security, tab_permissions, admin_scope) now render read-only on
      the sys_permission_set record page as a compact summary (counts, or capability
      chips) plus a “Design in Studio →” deep-link into the structured editor
      (/apps/:appName/metadata/permission/:setName, env scope). No [Object], no
      JSON — in the record view, inline edit, and the create/edit form. Implemented as
      a permission-facet-link field widget stamped onto the six fields via the single
      ObjectStackAdapter.getObjectSchema choke point and honored by DetailSection +
      the record form.
    • User assignment (add/remove via sys_user_permission_set) is surfaced directly
      on the Setup record page.

    Studio (design every facet): the permission matrix editor gains structured
    editors for the facets that were JSON-only —

    • System Capabilities: a multi-select over the live sys_capability registry
      (scope-grouped, labelled chips).
    • Row-Level Security: per-policy rows (object · operation · enabled) with CEL
      USING/CHECK.
    • Tab Visibility: per-tab visible | hidden | default_on | default_off.
    • Delegated Admin Scope: business-unit + subtree, manage-assignments /
      -bindings / author-env-sets toggles, and an assignable-permission-sets allowlist.
      Assignment was moved out of the editor (it is now a Setup act) — the editor is
      purely a design surface.

    Storage/types are unchanged; editors read/write the draft’s existing parsed
    fields and tolerate legacy JSON strings on load. Note: env-scope metadata saves of
    these facets do not yet project onto the queryable sys_permission_set data
    record the Setup summary reads, so a fresh Studio edit isn’t reflected in Setup’s
    read-only view until the projection refreshes — tracked as a framework follow-up
    (enforcement reads the authoritative metadata).

  • Updated dependencies [53c40c2]

    • @object-ui/i18n@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0
    • @object-ui/react-runtime@13.2.0
    • @object-ui/sdui-parser@13.2.0

@object-ui/core@13.2.0

Patch Changes

  • @object-ui/types@13.2.0

@object-ui/data-objectstack@13.2.0

Patch Changes

  • e492b9d: Permission sets — pure separation of design (Studio) and assignment
    (Setup), per ADR-0056 / epic Epic: Permission sets — Studio designs every facet, Setup assigns users (ADR-0056) #2398. A sys_permission_set used to render its six
    authorization facets in Setup as raw [Object] / JSON textareas, and only
    objects+fields were editable in Studio; this reworks both surfaces.

    Setup (assign + read-only):

    • The six facets (object_permissions, field_permissions, system_permissions,
      row_level_security, tab_permissions, admin_scope) now render read-only on
      the sys_permission_set record page as a compact summary (counts, or capability
      chips) plus a “Design in Studio →” deep-link into the structured editor
      (/apps/:appName/metadata/permission/:setName, env scope). No [Object], no
      JSON — in the record view, inline edit, and the create/edit form. Implemented as
      a permission-facet-link field widget stamped onto the six fields via the single
      ObjectStackAdapter.getObjectSchema choke point and honored by DetailSection +
      the record form.
    • User assignment (add/remove via sys_user_permission_set) is surfaced directly
      on the Setup record page.

    Studio (design every facet): the permission matrix editor gains structured
    editors for the facets that were JSON-only —

    • System Capabilities: a multi-select over the live sys_capability registry
      (scope-grouped, labelled chips).
    • Row-Level Security: per-policy rows (object · operation · enabled) with CEL
      USING/CHECK.
    • Tab Visibility: per-tab visible | hidden | default_on | default_off.
    • Delegated Admin Scope: business-unit + subtree, manage-assignments /
      -bindings / author-env-sets toggles, and an assignable-permission-sets allowlist.
      Assignment was moved out of the editor (it is now a Setup act) — the editor is
      purely a design surface.

    Storage/types are unchanged; editors read/write the draft’s existing parsed
    fields and tolerate legacy JSON strings on load. Note: env-scope metadata saves of
    these facets do not yet project onto the queryable sys_permission_set data
    record the Setup summary reads, so a fresh Studio edit isn’t reflected in Setup’s
    read-only view until the projection refreshes — tracked as a framework follow-up
    (enforcement reads the authoritative metadata).

    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/fields@13.2.0

Patch Changes

  • e492b9d: Permission sets — pure separation of design (Studio) and assignment
    (Setup), per ADR-0056 / epic Epic: Permission sets — Studio designs every facet, Setup assigns users (ADR-0056) #2398. A sys_permission_set used to render its six
    authorization facets in Setup as raw [Object] / JSON textareas, and only
    objects+fields were editable in Studio; this reworks both surfaces.

    Setup (assign + read-only):

    • The six facets (object_permissions, field_permissions, system_permissions,
      row_level_security, tab_permissions, admin_scope) now render read-only on
      the sys_permission_set record page as a compact summary (counts, or capability
      chips) plus a “Design in Studio →” deep-link into the structured editor
      (/apps/:appName/metadata/permission/:setName, env scope). No [Object], no
      JSON — in the record view, inline edit, and the create/edit form. Implemented as
      a permission-facet-link field widget stamped onto the six fields via the single
      ObjectStackAdapter.getObjectSchema choke point and honored by DetailSection +
      the record form.
    • User assignment (add/remove via sys_user_permission_set) is surfaced directly
      on the Setup record page.

    Studio (design every facet): the permission matrix editor gains structured
    editors for the facets that were JSON-only —

    • System Capabilities: a multi-select over the live sys_capability registry
      (scope-grouped, labelled chips).
    • Row-Level Security: per-policy rows (object · operation · enabled) with CEL
      USING/CHECK.
    • Tab Visibility: per-tab visible | hidden | default_on | default_off.
    • Delegated Admin Scope: business-unit + subtree, manage-assignments /
      -bindings / author-env-sets toggles, and an assignable-permission-sets allowlist.
      Assignment was moved out of the editor (it is now a Setup act) — the editor is
      purely a design surface.

    Storage/types are unchanged; editors read/write the draft’s existing parsed
    fields and tolerate legacy JSON strings on load. Note: env-scope metadata saves of
    these facets do not yet project onto the queryable sys_permission_set data
    record the Setup summary reads, so a fresh Studio edit isn’t reflected in Setup’s
    read-only view until the projection refreshes — tracked as a framework follow-up
    (enforcement reads the authoritative metadata).

  • Updated dependencies [80901aa]

  • Updated dependencies [53c40c2]

  • Updated dependencies [e492b9d]

    • @object-ui/components@13.2.0
    • @object-ui/i18n@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0
    • @object-ui/providers@13.2.0

@object-ui/i18n@13.2.0

Patch Changes

  • 53c40c2: feat: identity import — the stock ImportWizard now drives sys_user bulk import (framework#2782)

    The Users list gets an Import entry for platform admins (gated on
    features.admin from /api/v1/auth/config plus workspace-admin), wired to
    the dedicated POST /api/v1/auth/admin/import-users pipeline instead of the
    generic data import (which would bypass better-auth hashing and produce
    accounts that can never sign in).

    • plugin-grid: two generic, backend-agnostic ImportWizard slots —
      extraOptionsContent (host-injected options on the preview step) and
      renderResultExtra (host-rendered content on the result step).
    • app-shell: identity import dataSource adapter — splits files into the
      endpoint's ≤500-row batches (idempotent upsert makes re-runs safe), injects
      the selected password policy, renumbers per-batch results onto the whole
      file, and enriches rows with their sign-in identity. Password policy panel
      (none default / invite / temporary) and a one-shot temporary-password
      reveal with CSV download (client memory only — nothing is persisted).
      Async-job/undo surfaces are hidden for identity import by design.
    • auth: AuthPublicConfig.features.admin typing.
    • i18n: en/zh strings for the identity import panels.

@object-ui/layout@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/mobile@13.2.0

Patch Changes

  • @object-ui/types@13.2.0

@object-ui/permissions@13.2.0

Patch Changes

  • @object-ui/types@13.2.0

@object-ui/plugin-ai@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/plugin-calendar@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [53c40c2]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/plugin-detail@13.2.0
    • @object-ui/i18n@13.2.0
    • @object-ui/fields@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0
    • @object-ui/mobile@13.2.0

@object-ui/plugin-charts@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [53c40c2]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/i18n@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/plugin-chatbot@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/plugin-dashboard@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [53c40c2]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/i18n@13.2.0
    • @object-ui/fields@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/plugin-designer@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [53c40c2]
  • Updated dependencies [e492b9d]
  • Updated dependencies [5da9905]
    • @object-ui/components@13.2.0
    • @object-ui/plugin-grid@13.2.0
    • @object-ui/i18n@13.2.0
    • @object-ui/data-objectstack@13.2.0
    • @object-ui/fields@13.2.0
    • @object-ui/plugin-form@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/plugin-detail@13.2.0

Patch Changes

  • 80901aa: Honor action visible (and enabled) predicates in three more action renderers.

    Following the data-table row-action fix, three sibling renderers still rendered schema-defined actions without evaluating their visible CEL predicate:

    • action:group dropdown mode (@object-ui/components) — dropdown items ignored visible/enabled, while the group's inline mode already honored them.
    • Related-list list_toolbar header actions (@object-ui/plugin-detail) — e.g. an organization's "Invite User" button ignored visible, even though the sibling row actions (fed by the same deriveActions bridge) already honored it via the data-table's DataTableRowActionItem.
    • Grid bulk-action bar (@object-ui/plugin-grid) — bulkActionDefs.visible was ignored entirely; the button is now hidden when the predicate is false (the BulkActionDef.visible doc comment is corrected from "disables" to "hides" to match).

    Each now evaluates visible (and, where applicable, enabled) via a hook-safe per-item component that mirrors RowActionMenuItem / DataTableRowActionItem, resolving features/user from the ambient ExpressionProvider scope. Rendering-layer only — no action definitions changed.

  • e492b9d: Permission sets — pure separation of design (Studio) and assignment
    (Setup), per ADR-0056 / epic Epic: Permission sets — Studio designs every facet, Setup assigns users (ADR-0056) #2398. A sys_permission_set used to render its six
    authorization facets in Setup as raw [Object] / JSON textareas, and only
    objects+fields were editable in Studio; this reworks both surfaces.

    Setup (assign + read-only):

    • The six facets (object_permissions, field_permissions, system_permissions,
      row_level_security, tab_permissions, admin_scope) now render read-only on
      the sys_permission_set record page as a compact summary (counts, or capability
      chips) plus a “Design in Studio →” deep-link into the structured editor
      (/apps/:appName/metadata/permission/:setName, env scope). No [Object], no
      JSON — in the record view, inline edit, and the create/edit form. Implemented as
      a permission-facet-link field widget stamped onto the six fields via the single
      ObjectStackAdapter.getObjectSchema choke point and honored by DetailSection +
      the record form.
    • User assignment (add/remove via sys_user_permission_set) is surfaced directly
      on the Setup record page.

    Studio (design every facet): the permission matrix editor gains structured
    editors for the facets that were JSON-only —

    • System Capabilities: a multi-select over the live sys_capability registry
      (scope-grouped, labelled chips).
    • Row-Level Security: per-policy rows (object · operation · enabled) with CEL
      USING/CHECK.
    • Tab Visibility: per-tab visible | hidden | default_on | default_off.
    • Delegated Admin Scope: business-unit + subtree, manage-assignments /
      -bindings / author-env-sets toggles, and an assignable-permission-sets allowlist.
      Assignment was moved out of the editor (it is now a Setup act) — the editor is
      purely a design surface.

    Storage/types are unchanged; editors read/write the draft’s existing parsed
    fields and tolerate legacy JSON strings on load. Note: env-scope metadata saves of
    these facets do not yet project onto the queryable sys_permission_set data
    record the Setup summary reads, so a fresh Studio edit isn’t reflected in Setup’s
    read-only view until the projection refreshes — tracked as a framework follow-up
    (enforcement reads the authoritative metadata).

  • Updated dependencies [53c40c2]

    • @object-ui/i18n@13.2.0

@object-ui/plugin-editor@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/plugin-form@13.2.0

Patch Changes

  • e492b9d: Permission sets — pure separation of design (Studio) and assignment
    (Setup), per ADR-0056 / epic Epic: Permission sets — Studio designs every facet, Setup assigns users (ADR-0056) #2398. A sys_permission_set used to render its six
    authorization facets in Setup as raw [Object] / JSON textareas, and only
    objects+fields were editable in Studio; this reworks both surfaces.

    Setup (assign + read-only):

    • The six facets (object_permissions, field_permissions, system_permissions,
      row_level_security, tab_permissions, admin_scope) now render read-only on
      the sys_permission_set record page as a compact summary (counts, or capability
      chips) plus a “Design in Studio →” deep-link into the structured editor
      (/apps/:appName/metadata/permission/:setName, env scope). No [Object], no
      JSON — in the record view, inline edit, and the create/edit form. Implemented as
      a permission-facet-link field widget stamped onto the six fields via the single
      ObjectStackAdapter.getObjectSchema choke point and honored by DetailSection +
      the record form.
    • User assignment (add/remove via sys_user_permission_set) is surfaced directly
      on the Setup record page.

    Studio (design every facet): the permission matrix editor gains structured
    editors for the facets that were JSON-only —

    • System Capabilities: a multi-select over the live sys_capability registry
      (scope-grouped, labelled chips).
    • Row-Level Security: per-policy rows (object · operation · enabled) with CEL
      USING/CHECK.
    • Tab Visibility: per-tab visible | hidden | default_on | default_off.
    • Delegated Admin Scope: business-unit + subtree, manage-assignments /
      -bindings / author-env-sets toggles, and an assignable-permission-sets allowlist.
      Assignment was moved out of the editor (it is now a Setup act) — the editor is
      purely a design surface.

    Storage/types are unchanged; editors read/write the draft’s existing parsed
    fields and tolerate legacy JSON strings on load. Note: env-scope metadata saves of
    these facets do not yet project onto the queryable sys_permission_set data
    record the Setup summary reads, so a fresh Studio edit isn’t reflected in Setup’s
    read-only view until the projection refreshes — tracked as a framework follow-up
    (enforcement reads the authoritative metadata).

  • 5da9905: fix(plugin-form): honor userActions.edit on managed objects instead of blanket-disabling every field (ADR-0092 D4)

    ObjectForm disabled every field on any non-platform lifecycle bucket
    (config / system / append-only / better-auth) — a defensive default from when
    those objects had no generic edit affordance at all. Now that an object can
    OPEN per-record editing via userActions.{edit,create} (framework ADR-0092 D4
    — e.g. sys_user exposing its name/image profile fields), the blanket
    lock lifts for the current mode when its affordance is true, and each
    field's own readonly flag decides. Managed buckets still default the
    affordance off, so an object that doesn't opt in is unchanged. The server-side
    identity write guard remains the real boundary; this is UX only.

  • Updated dependencies [80901aa]

  • Updated dependencies [53c40c2]

  • Updated dependencies [e492b9d]

    • @object-ui/components@13.2.0
    • @object-ui/i18n@13.2.0
    • @object-ui/fields@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0
    • @object-ui/permissions@13.2.0

@object-ui/plugin-gantt@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [53c40c2]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/plugin-detail@13.2.0
    • @object-ui/i18n@13.2.0
    • @object-ui/fields@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/plugin-kanban@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [53c40c2]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/plugin-detail@13.2.0
    • @object-ui/i18n@13.2.0
    • @object-ui/fields@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/plugin-map@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/plugin-markdown@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/plugin-report@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [53c40c2]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/plugin-grid@13.2.0
    • @object-ui/i18n@13.2.0
    • @object-ui/fields@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/plugin-timeline@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0
    • @object-ui/mobile@13.2.0

@object-ui/plugin-tree@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/plugin-view@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [53c40c2]
  • Updated dependencies [e492b9d]
  • Updated dependencies [5da9905]
    • @object-ui/components@13.2.0
    • @object-ui/plugin-grid@13.2.0
    • @object-ui/i18n@13.2.0
    • @object-ui/plugin-form@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/providers@13.2.0

Patch Changes

  • @object-ui/types@13.2.0

@object-ui/react@13.2.0

Patch Changes

  • Updated dependencies [53c40c2]
  • Updated dependencies [e492b9d]
    • @object-ui/i18n@13.2.0
    • @object-ui/data-objectstack@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/runner@13.2.0

Patch Changes

  • Updated dependencies [80901aa]
  • Updated dependencies [e492b9d]
    • @object-ui/components@13.2.0
    • @object-ui/plugin-charts@13.2.0
    • @object-ui/plugin-kanban@13.2.0
    • @object-ui/react@13.2.0
    • @object-ui/types@13.2.0
    • @object-ui/core@13.2.0

@object-ui/tenant@13.2.0

Patch Changes

  • @object-ui/types@13.2.0

@object-ui/create-plugin@13.2.0

@object-ui/plugin-list@13.2.0

@object-ui/react-runtime@13.2.0

@object-ui/sdui-parser@13.2.0

@object-ui/types@13.2.0

object-ui@13.2.0

Patch Changes

  • @object-ui/types@13.2.0
  • @object-ui/core@13.2.0

@github-actions
github-actionsBotforce-pushed the changeset-release/main branch from 9e0a598 to 620da2fCompareJuly 11, 2026 01:43
@vercel

vercelBot commented Jul 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
ProjectDeploymentActionsUpdated (UTC)
objectuiIgnoredIgnoredJul 13, 2026 12:36am

Request Review

@github-actions
github-actionsBotforce-pushed the changeset-release/main branch 6 times, most recently from 6ed8450 to 06fad32CompareJuly 11, 2026 16:11
@github-actions
github-actionsBotforce-pushed the changeset-release/main branch from 06fad32 to b86b3f9CompareJuly 13, 2026 00:36
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@os-zhuang