Skip to content

chore: release packages#2624

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

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

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 16, 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/types@16.0.0

Major Changes

  • 9b8f978: Adopt @objectstack/spec 15 across the workspace and drop the value-erased …Schema re-exports from @object-ui/types (@object-ui/types: decide the @objectstack/spec/ui re-export shape + bump spec pin to ^15 #2561).

    Removed exports. packages/types re-exported the @objectstack/spec/ui surface inside export type { … } blocks, and those blocks included the zod validators (DndConfigSchema, SpecFormViewSchema, ThemeModeSchema, … 84 names in total). Under export type a zod value is erased, so importing any of them as a value from @object-ui/types silently yielded undefined at runtime. Per the @object-ui/types: decide the @objectstack/spec/ui re-export shape + bump spec pin to ^15 #2561 decision (option a) the schema names are removed from the public surface instead of being converted to value re-exports — consumers that need the runtime validators import them from @objectstack/spec/ui directly. The inferred types (DndConfig, SpecFormView, …) are unchanged, and the genuine value re-exports (defineStack, ObjectStackSchema, SpecReportSchema, …) keep working. BreakpointColumnMapSchema / BreakpointOrderMapSchema are dropped without a type replacement (the spec exports no companion inferred type). A guardrail test (spec-ui-schema-reexports.test.ts) pins the contract.

    Spec 15. Every workspace package now depends on @objectstack/spec ^15.1.1. The /ui export-name set is identical to 14.6; the spec-level breaking change is ADR-0089 D3a — FormFieldSchema / FormSectionSchema / PageComponentSchema are .strict() and reject undeclared keys, which the workspace test suite passes under. The floor is 15.1.1 (not 15.0.0) because D3a's .strict().transform(…) pipes crashed z.toJSONSchema over spec's lazySchema proxies (Cannot set properties of undefined (setting 'ref')), breaking Studio's spec-derived Page/View inspector schemas; fixed upstream in framework#3021, which shipped in spec 15.1.1. New view-schema.test.ts pins the View-inspector derivation (previously untested — it degraded silently).

Minor Changes

  • b4ef588: feat(types): derive ListViewSchema from @objectstack/spec/ui instead of a hand-written copy (Unify hand-written @object-ui/types zod with @objectstack/spec/ui (ListViewSchema drift) #2231)

    @object-ui/types shipped a hand-written mirror of the spec's UI ListView zod
    (packages/types/src/zod/objectql.zod.ts) plus a parallel hand-written TS interface
    (objectql.ts). Both had drifted from the authoritative @objectstack/spec/ui
    ListViewSchema, with nothing enforcing they stay in sync.

    • The zod ListViewSchema now derives from the spec's ListViewSchema: spec-owned
      fields (filter, sort, selection, navigation, pagination, grouping,
      rowColor, userActions, appearance, tabs, addRecord, rowHeight, sharing,
      chart/tree configs, responsive, performance, …) flow in by reference instead
      of being re-typed. The component envelope (type: 'list-view' discriminator +
      objectName) and the legacy objectui vocabulary (viewType, fields, filters, the
      show* toolbar flags, densityMode, color, …) plus the configs whose objectui shape
      is intentionally broader than spec's (userFilters, sharing, aria,
      conditionalFormatting, exportOptions, kanban/calendar/gantt/gallery/
      timeline) remain as sanctioned local .extend()s. Existing payloads keep validating;
      spec-canonical payloads (columns/filter/userActions) now validate too.
    • The hand-written TS interface ListViewSchema is replaced by
      z.infer<typeof ListViewSchema> & ListViewRuntimeProps, so the type can no longer drift
      from the schema. Non-serializable runtime-only props (onNavigate, onDensityChange,
      refreshTrigger) live in ListViewRuntimeProps.
    • Added a drift-guard test (list-view-spec-parity.test.ts) that fails if the spec grows a
      field objectui hasn't triaged, renames an aliased anchor (type/columns/filter), or
      an objectui-only field is added outside the sanctioned-local set.
    • Bumped the @objectstack/spec dependency ^14.6.0^15.1.0 across the workspace
      (15.1.0 carries the framework#3021 lazySchema/z.toJSONSchema identity fix that the
      spec-derived Page/View inspectors depend on).

    Migrating the legacy vocabulary to the spec-canonical keys and adopting spec's narrower
    sub-shapes are deferred follow-ups (see Unify hand-written @object-ui/types zod with @objectstack/spec/ui (ListViewSchema drift) #2231). No runtime behavior change.

  • 5534535: feat(grid): built-in row Edit/Delete honor per-record CEL predicates (Row CRUD actions (Edit/Delete) should support per-record visible/disabled CEL predicates #2614)

    The object's userActions.edit / userActions.delete now also accept an
    object form { enabled?, visibleWhen?, disabledWhen? }. The predicates are
    evaluated per row on the canonical CEL engine (useRowPredicate, the same
    machinery custom row actions use): visibleWhen false → the built-in
    Edit/Delete item is not rendered for that row (fail-closed); disabledWhen
    true → rendered disabled (fail-soft). Wired through ObjectGrid's
    RowActionMenu and the data-table's row overflow menu (the related-list
    path), with the app-shell crudAffordances mirror kept in lockstep.
    Omitting the predicates (or using plain booleans) keeps today's behavior
    bit-for-bit; declared predicates evaluate only when a row's menu opens, so
    grid rendering cost is unchanged.

@object-ui/app-shell@16.0.0

Minor Changes

  • d3e19ed: Adapt to framework 15.1: (1) ADR-0067 D2 all-or-nothing publishes — formatPublishFailures renders a rolled-back batch as ONE banner anchored on the causal item (batch_aborted entries are summarized, not listed as parallel errors); PackagesPage says "rolled back because X" instead of "{n} failed"; the AI chat publish toast surfaces the real reason instead of a bare count. Pre-15.1 partial-publish responses keep their per-item rendering. (2) ADR-0076 D12 honest discovery — DiscoveryServiceStatus gains handlerReady + degraded/stub statuses, new backward-tolerant isServiceUsable() helper (absent fields keep the pre-15.1 default; stub/handlerReady:false gate off; degraded stays usable), consumed by isAuthEnabled/isAiEnabled and ConditionalAuthWrapper.

  • 5534535: feat(grid): built-in row Edit/Delete honor per-record CEL predicates (Row CRUD actions (Edit/Delete) should support per-record visible/disabled CEL predicates #2614)

    The object's userActions.edit / userActions.delete now also accept an
    object form { enabled?, visibleWhen?, disabledWhen? }. The predicates are
    evaluated per row on the canonical CEL engine (useRowPredicate, the same
    machinery custom row actions use): visibleWhen false → the built-in
    Edit/Delete item is not rendered for that row (fail-closed); disabledWhen
    true → rendered disabled (fail-soft). Wired through ObjectGrid's
    RowActionMenu and the data-table's row overflow menu (the related-list
    path), with the app-shell crudAffordances mirror kept in lockstep.
    Omitting the predicates (or using plain booleans) keeps today's behavior
    bit-for-bit; declared predicates evaluate only when a row's menu opens, so
    grid rendering cost is unchanged.

Patch Changes

  • c0bd483: Plan-card approval gives immediate in-card feedback (fix(ai): 构建方案确认后 ~10s 无中间反馈;随后对话历史短暂整体清空(状态 race) #2627): clicking
    "Build it" flips the clicked card to a spinning "Building…" badge right away
    (the approval's chat-level effects land at the bottom of the thread, outside
    the viewport, so the card looked untouched for ~10s and users double-clicked).
    The durable Built state still derives from the message stream; an approval
    that never left the client (rate limit / offline) rolls the badge back so the
    button returns. New planBuildingLabel prop (AiChatPage passes zh).

  • 59d4fa9: fix(detail): show the "Locked for approval" band on request-tracked backends (objectui#2618)

    The DetailView approval-lock band keyed only off the record's own
    approval_status field, so it never rendered on backends that track the lock
    via an open approval request and never materialize that field — even though
    the lock was real (writes rejected with RECORD_LOCKED). The record-level
    InlineEditContext now carries the host's locked/lockedReason signal
    (the same dual-source approvalLocked that already gates canEdit in
    RecordDetailView), and the band renders from it while keeping DetailView
    DataSource-agnostic. Also backfills the approval-lock strings into the detail
    translation defaults so a bare DetailView shows the label, not the raw i18n key.

  • 33b4995: Welcome-page "Create your environment" deep-links straight into the create
    dialog (feat: URL-driven debug/developer panel (à la amis devtools) #844): action:button gains a client-side autoTrigger flag (runs
    the action once on mount — same execute path as a click, so param dialogs /
    confirms / entitlement gates still apply), and the environments list consumes
    ?runAction=create_environment to mark its create action once entitlements
    resolve (upgrade-locked orgs get the upgrade prompt instead; the param is
    stripped after consumption so refresh/back don't re-open). Also localizes the
    EnvironmentListToolbar's state-aware label overrides ({en,zh}) — they were
    hard-coded English inside a zh console.

  • Updated dependencies [d3e19ed]

  • Updated dependencies [c0bd483]

  • Updated dependencies [59d4fa9]

  • Updated dependencies [4c7c47f]

  • Updated dependencies [b4ef588]

  • Updated dependencies [45c6fb4]

  • Updated dependencies [ca0f5f0]

  • Updated dependencies [077e45b]

  • Updated dependencies [022735f]

  • Updated dependencies [5534535]

  • Updated dependencies [9b8f978]

  • Updated dependencies [195a651]

  • Updated dependencies [33b4995]

    • @object-ui/react@16.0.0
    • @object-ui/plugin-chatbot@16.0.0
    • @object-ui/plugin-detail@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/auth@16.0.0
    • @object-ui/i18n@16.0.0
    • @object-ui/plugin-grid@16.0.0
    • @object-ui/plugin-form@16.0.0
    • @object-ui/fields@16.0.0
    • @object-ui/layout@16.0.0
    • @object-ui/plugin-calendar@16.0.0
    • @object-ui/plugin-charts@16.0.0
    • @object-ui/plugin-dashboard@16.0.0
    • @object-ui/plugin-designer@16.0.0
    • @object-ui/plugin-editor@16.0.0
    • @object-ui/plugin-kanban@16.0.0
    • @object-ui/plugin-list@16.0.0
    • @object-ui/plugin-report@16.0.0
    • @object-ui/plugin-view@16.0.0
    • @object-ui/collaboration@16.0.0
    • @object-ui/core@16.0.0
    • @object-ui/data-objectstack@16.0.0
    • @object-ui/permissions@16.0.0
    • @object-ui/providers@16.0.0

@object-ui/components@16.0.0

Minor Changes

  • 5534535: feat(grid): built-in row Edit/Delete honor per-record CEL predicates (Row CRUD actions (Edit/Delete) should support per-record visible/disabled CEL predicates #2614)

    The object's userActions.edit / userActions.delete now also accept an
    object form { enabled?, visibleWhen?, disabledWhen? }. The predicates are
    evaluated per row on the canonical CEL engine (useRowPredicate, the same
    machinery custom row actions use): visibleWhen false → the built-in
    Edit/Delete item is not rendered for that row (fail-closed); disabledWhen
    true → rendered disabled (fail-soft). Wired through ObjectGrid's
    RowActionMenu and the data-table's row overflow menu (the related-list
    path), with the app-shell crudAffordances mirror kept in lockstep.
    Omitting the predicates (or using plain booleans) keeps today's behavior
    bit-for-bit; declared predicates evaluate only when a row's menu opens, so
    grid rendering cost is unchanged.

Patch Changes

@object-ui/plugin-detail@16.0.0

Minor Changes

  • 5534535: feat(grid): built-in row Edit/Delete honor per-record CEL predicates (Row CRUD actions (Edit/Delete) should support per-record visible/disabled CEL predicates #2614)

    The object's userActions.edit / userActions.delete now also accept an
    object form { enabled?, visibleWhen?, disabledWhen? }. The predicates are
    evaluated per row on the canonical CEL engine (useRowPredicate, the same
    machinery custom row actions use): visibleWhen false → the built-in
    Edit/Delete item is not rendered for that row (fail-closed); disabledWhen
    true → rendered disabled (fail-soft). Wired through ObjectGrid's
    RowActionMenu and the data-table's row overflow menu (the related-list
    path), with the app-shell crudAffordances mirror kept in lockstep.
    Omitting the predicates (or using plain booleans) keeps today's behavior
    bit-for-bit; declared predicates evaluate only when a row's menu opens, so
    grid rendering cost is unchanged.

Patch Changes

  • 59d4fa9: fix(detail): show the "Locked for approval" band on request-tracked backends (objectui#2618)

    The DetailView approval-lock band keyed only off the record's own
    approval_status field, so it never rendered on backends that track the lock
    via an open approval request and never materialize that field — even though
    the lock was real (writes rejected with RECORD_LOCKED). The record-level
    InlineEditContext now carries the host's locked/lockedReason signal
    (the same dual-source approvalLocked that already gates canEdit in
    RecordDetailView), and the band renders from it while keeping DetailView
    DataSource-agnostic. Also backfills the approval-lock strings into the detail
    translation defaults so a bare DetailView shows the label, not the raw i18n key.

  • Updated dependencies [d3e19ed]

  • Updated dependencies [59d4fa9]

  • Updated dependencies [4c7c47f]

  • Updated dependencies [b4ef588]

  • Updated dependencies [ca0f5f0]

  • Updated dependencies [5534535]

  • Updated dependencies [9b8f978]

  • Updated dependencies [195a651]

  • Updated dependencies [33b4995]

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

@object-ui/plugin-grid@16.0.0

Minor Changes

  • 5534535: feat(grid): built-in row Edit/Delete honor per-record CEL predicates (Row CRUD actions (Edit/Delete) should support per-record visible/disabled CEL predicates #2614)

    The object's userActions.edit / userActions.delete now also accept an
    object form { enabled?, visibleWhen?, disabledWhen? }. The predicates are
    evaluated per row on the canonical CEL engine (useRowPredicate, the same
    machinery custom row actions use): visibleWhen false → the built-in
    Edit/Delete item is not rendered for that row (fail-closed); disabledWhen
    true → rendered disabled (fail-soft). Wired through ObjectGrid's
    RowActionMenu and the data-table's row overflow menu (the related-list
    path), with the app-shell crudAffordances mirror kept in lockstep.
    Omitting the predicates (or using plain booleans) keeps today's behavior
    bit-for-bit; declared predicates evaluate only when a row's menu opens, so
    grid rendering cost is unchanged.

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [ca0f5f0]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/i18n@16.0.0
    • @object-ui/fields@16.0.0
    • @object-ui/core@16.0.0
    • @object-ui/mobile@16.0.0

@object-ui/react@16.0.0

Minor Changes

  • d3e19ed: Adapt to framework 15.1: (1) ADR-0067 D2 all-or-nothing publishes — formatPublishFailures renders a rolled-back batch as ONE banner anchored on the causal item (batch_aborted entries are summarized, not listed as parallel errors); PackagesPage says "rolled back because X" instead of "{n} failed"; the AI chat publish toast surfaces the real reason instead of a bare count. Pre-15.1 partial-publish responses keep their per-item rendering. (2) ADR-0076 D12 honest discovery — DiscoveryServiceStatus gains handlerReady + degraded/stub statuses, new backward-tolerant isServiceUsable() helper (absent fields keep the pre-15.1 default; stub/handlerReady:false gate off; degraded stays usable), consumed by isAuthEnabled/isAiEnabled and ConditionalAuthWrapper.

Patch Changes

  • 59d4fa9: fix(detail): show the "Locked for approval" band on request-tracked backends (objectui#2618)

    The DetailView approval-lock band keyed only off the record's own
    approval_status field, so it never rendered on backends that track the lock
    via an open approval request and never materialize that field — even though
    the lock was real (writes rejected with RECORD_LOCKED). The record-level
    InlineEditContext now carries the host's locked/lockedReason signal
    (the same dual-source approvalLocked that already gates canEdit in
    RecordDetailView), and the band renders from it while keeping DetailView
    DataSource-agnostic. Also backfills the approval-lock strings into the detail
    translation defaults so a bare DetailView shows the label, not the raw i18n key.

  • 195a651: refactor(spec-bridge): retire the hand-written ListViewSpec/ListColumn mirrors in the list-view bridge (Unify hand-written @object-ui/types zod with @objectstack/spec/ui (ListViewSchema drift) #2231 follow-up)

    The SpecBridge's list-view bridge kept a third hand-written copy of the ListView shape
    (after the zod schema and the TS interface unified in the previous Unify hand-written @object-ui/types zod with @objectstack/spec/ui (ListViewSchema drift) #2231 PR). It now
    derives its input type from @objectstack/spec/ui (Partial<ListView>, spec ListColumn),
    so the bridge can no longer drift from the protocol.

    Behavior fix surfaced by the real types: spec columns is string[] | ListColumn[], but
    the old local interface only admitted ListColumn[] — a bare field-name column would have
    produced a broken { accessorKey: undefined } mapping. String columns now map to a default
    column ({ accessorKey: field, header: field }).

  • Updated dependencies [b4ef588]

  • Updated dependencies [ca0f5f0]

  • Updated dependencies [5534535]

  • Updated dependencies [9b8f978]

    • @object-ui/types@16.0.0
    • @object-ui/i18n@16.0.0
    • @object-ui/core@16.0.0
    • @object-ui/data-objectstack@16.0.0

@object-ui/console@16.0.0

Patch Changes

  • ca0f5f0: Login page surfaces the dev-seeded admin credentials. The framework runtime seeds admin@objectos.ai on an empty development database, but nothing on the login page said so — new users clicked "Sign up" and landed in an empty non-admin workspace (15.1 third-party eval). When GET /api/v1/auth/config reports devSeedAdmin (dev-only; the server omits the field in production and once the default password is changed), the page renders a dismissible amber banner with the credentials. Dismissal persists per browser via localStorage.
    • @object-ui/react-runtime@16.0.0
    • @object-ui/sdui-parser@16.0.0

@object-ui/auth@16.0.0

Patch Changes

  • 45c6fb4: Login-page auth-config hardening (fix(auth): env 登录页首次加载缺 SSO 按钮 — auth config race 让 SSO-only 用户卡死在密码墙 #2625, fix(auth): SSO 按钮点击后请求挂死时永久转圈 — pending 态缺超时/错误兜底 #2626):

    • createAuthClient.getConfig now single-flights + caches the /auth/config
      fetch (the login page's three consumers used to fire three requests) and
      retries failures with backoff (500ms/1.5s/3.5s, 8s per-attempt abort) before
      rejecting. A cold-starting environment kernel no longer strands the page
      without its SSO buttons; a final failure clears the cache so later callers
      retry.
    • LoginForm holds a spinner instead of painting the password-form defaults
      while config resolves — an SSO-only deployment must never flash a password
      wall at JIT users who have no password. A failed config still falls back to
      the password form (break-glass beats lock-out).
    • signInWithProvider gains a 20s watchdog: a sign-in request that hangs now
      rejects with a clear timeout error so the provider button recovers instead
      of spinning forever.
    • Removed LoginForm's duplicate "or" divider — SocialSignInButtons already
      renders its own, and the stacked pair read as a rendering glitch.
  • 077e45b: signInWithProvider with type: 'oidc' now signs in through better-auth's
    core social route (POST /sign-in/social) and only falls back to the legacy
    POST /sign-in/oauth2 endpoint when the social route rejects the provider.

    better-auth ≥ 1.7 restructured the genericOAuth plugin: generic OAuth/OIDC
    providers are injected into the core social sign-in flow and the dedicated
    /sign-in/oauth2 endpoint no longer exists. The old client therefore 404'd on
    every "Continue with ObjectStack" click (platform SSO broken end-to-end on
    current framework). The fallback keeps the button working against older
    (< 1.7) servers during the coordinated rollout; when both routes fail, the
    social-route error is surfaced since on a ≥ 1.7 server it is the real failure.

  • 022735f: RegisterForm: drop the duplicate "or" divider (matching the LoginForm fix in
    fix(auth): login-page config race + sign-in watchdog — never strand SSO-only users on a password wall #2629). SocialSignInButtons already renders its own "or continue with email"
    divider under the provider buttons; RegisterForm stacked a second "OR" line on
    top, which read as a rendering glitch on the sign-up page.

  • Updated dependencies [b4ef588]

  • Updated dependencies [5534535]

  • Updated dependencies [9b8f978]

    • @object-ui/types@16.0.0

@object-ui/cli@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0

@object-ui/collaboration@16.0.0

Patch Changes

  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
    • @object-ui/types@16.0.0

@object-ui/core@16.0.0

Patch Changes

  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
    • @object-ui/types@16.0.0

@object-ui/data-objectstack@16.0.0

Patch Changes

  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
    • @object-ui/types@16.0.0
    • @object-ui/core@16.0.0

@object-ui/fields@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [ca0f5f0]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/i18n@16.0.0
    • @object-ui/core@16.0.0
    • @object-ui/providers@16.0.0

@object-ui/i18n@16.0.0

Patch Changes

  • ca0f5f0: Login page surfaces the dev-seeded admin credentials. The framework runtime seeds admin@objectos.ai on an empty development database, but nothing on the login page said so — new users clicked "Sign up" and landed in an empty non-admin workspace (15.1 third-party eval). When GET /api/v1/auth/config reports devSeedAdmin (dev-only; the server omits the field in production and once the default password is changed), the page renders a dismissible amber banner with the credentials. Dismissal persists per browser via localStorage.

@object-ui/layout@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/core@16.0.0

@object-ui/mobile@16.0.0

Patch Changes

  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
    • @object-ui/types@16.0.0

@object-ui/permissions@16.0.0

Patch Changes

  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
    • @object-ui/types@16.0.0

@object-ui/plugin-ai@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/core@16.0.0

@object-ui/plugin-calendar@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [ca0f5f0]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/plugin-detail@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/i18n@16.0.0
    • @object-ui/fields@16.0.0
    • @object-ui/core@16.0.0
    • @object-ui/mobile@16.0.0

@object-ui/plugin-charts@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [ca0f5f0]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/i18n@16.0.0
    • @object-ui/core@16.0.0

@object-ui/plugin-chatbot@16.0.0

Patch Changes

  • c0bd483: Plan-card approval gives immediate in-card feedback (fix(ai): 构建方案确认后 ~10s 无中间反馈;随后对话历史短暂整体清空(状态 race) #2627): clicking
    "Build it" flips the clicked card to a spinning "Building…" badge right away
    (the approval's chat-level effects land at the bottom of the thread, outside
    the viewport, so the card looked untouched for ~10s and users double-clicked).
    The durable Built state still derives from the message stream; an approval
    that never left the client (rate limit / offline) rolls the badge back so the
    button returns. New planBuildingLabel prop (AiChatPage passes zh).
  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/core@16.0.0

@object-ui/plugin-dashboard@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [ca0f5f0]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/i18n@16.0.0
    • @object-ui/fields@16.0.0
    • @object-ui/core@16.0.0

@object-ui/plugin-designer@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [ca0f5f0]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/i18n@16.0.0
    • @object-ui/plugin-grid@16.0.0
    • @object-ui/plugin-form@16.0.0
    • @object-ui/fields@16.0.0
    • @object-ui/core@16.0.0
    • @object-ui/data-objectstack@16.0.0

@object-ui/plugin-editor@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/core@16.0.0

@object-ui/plugin-form@16.0.0

Patch Changes

  • 5534535: feat(grid): built-in row Edit/Delete honor per-record CEL predicates (Row CRUD actions (Edit/Delete) should support per-record visible/disabled CEL predicates #2614)

    The object's userActions.edit / userActions.delete now also accept an
    object form { enabled?, visibleWhen?, disabledWhen? }. The predicates are
    evaluated per row on the canonical CEL engine (useRowPredicate, the same
    machinery custom row actions use): visibleWhen false → the built-in
    Edit/Delete item is not rendered for that row (fail-closed); disabledWhen
    true → rendered disabled (fail-soft). Wired through ObjectGrid's
    RowActionMenu and the data-table's row overflow menu (the related-list
    path), with the app-shell crudAffordances mirror kept in lockstep.
    Omitting the predicates (or using plain booleans) keeps today's behavior
    bit-for-bit; declared predicates evaluate only when a row's menu opens, so
    grid rendering cost is unchanged.

  • Updated dependencies [d3e19ed]

  • Updated dependencies [59d4fa9]

  • Updated dependencies [4c7c47f]

  • Updated dependencies [b4ef588]

  • Updated dependencies [ca0f5f0]

  • Updated dependencies [5534535]

  • Updated dependencies [9b8f978]

  • Updated dependencies [195a651]

  • Updated dependencies [33b4995]

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

@object-ui/plugin-gantt@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [ca0f5f0]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/plugin-detail@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/i18n@16.0.0
    • @object-ui/fields@16.0.0
    • @object-ui/core@16.0.0

@object-ui/plugin-kanban@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [ca0f5f0]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/plugin-detail@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/i18n@16.0.0
    • @object-ui/fields@16.0.0
    • @object-ui/core@16.0.0

@object-ui/plugin-list@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [ca0f5f0]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/i18n@16.0.0
    • @object-ui/fields@16.0.0
    • @object-ui/core@16.0.0
    • @object-ui/mobile@16.0.0
    • @object-ui/permissions@16.0.0

@object-ui/plugin-map@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/core@16.0.0

@object-ui/plugin-markdown@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/core@16.0.0

@object-ui/plugin-report@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [ca0f5f0]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/i18n@16.0.0
    • @object-ui/plugin-grid@16.0.0
    • @object-ui/fields@16.0.0
    • @object-ui/core@16.0.0

@object-ui/plugin-timeline@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/core@16.0.0
    • @object-ui/mobile@16.0.0

@object-ui/plugin-tree@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/core@16.0.0

@object-ui/plugin-view@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [ca0f5f0]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/i18n@16.0.0
    • @object-ui/plugin-grid@16.0.0
    • @object-ui/plugin-form@16.0.0
    • @object-ui/core@16.0.0

@object-ui/providers@16.0.0

Patch Changes

  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
    • @object-ui/types@16.0.0

@object-ui/runner@16.0.0

Patch Changes

  • Updated dependencies [d3e19ed]
  • Updated dependencies [59d4fa9]
  • Updated dependencies [4c7c47f]
  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
  • Updated dependencies [195a651]
  • Updated dependencies [33b4995]
    • @object-ui/react@16.0.0
    • @object-ui/components@16.0.0
    • @object-ui/types@16.0.0
    • @object-ui/plugin-charts@16.0.0
    • @object-ui/plugin-kanban@16.0.0
    • @object-ui/core@16.0.0

@object-ui/create-plugin@16.0.0

@object-ui/react-runtime@16.0.0

@object-ui/sdui-parser@16.0.0

object-ui@16.0.0

Patch Changes

  • Updated dependencies [b4ef588]
  • Updated dependencies [5534535]
  • Updated dependencies [9b8f978]
    • @object-ui/types@16.0.0
    • @object-ui/core@16.0.0

@vercel

vercel Bot commented Jul 16, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectui Ignored Ignored Jul 17, 2026 2:50pm

Request Review

@github-actions
github-actions Bot force-pushed the changeset-release/main branch 11 times, most recently from 38ffe76 to 6c10781 Compare July 17, 2026 12:59
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 6c10781 to 1813289 Compare July 17, 2026 14:50
Sign up for free to 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.

0 participants