Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions .changeset/console-09987b680d53.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
"@objectstack/console": minor
---

Console (objectui) refreshed to `09987b680d53`. Frontend changes in this range:

Derived from the changesets objectui declared over the range — 41 releasing of 45 changesets added across 57 non-merge commits; omitted: 4 release-nothing changesets, 13 commits carrying no changeset (they ship no package code).

- **minor** — **BREAKING** — `ApproveOutcome` / `RejectOutcome` are now derived from `@objectstack/spec` instead of hand-transcribed (objectui#3783). Same failure class #3220 cleared from the same file for `P… (objectui `d9ce38529`)
- **minor** — **BREAKING** — Retire the `capability-multiselect` field widget name, which existed only on the docs-site registration path and which nothing ever stamped (objectui#3308, ADR-0049 enforce-or-rem… (objectui `ecae40064`)
- **patch** — `record:details` section editor now offers the `name` i18n anchor (objectui `2937bcf7d`)
- **patch** — 相关列表 Add 选择器兑现 `add.picker.filter`:作者限定的候选范围现在真的生效 (objectui `c2ecbaed9`)
- **patch** — The plan card's "Building…" badge follows the console UI locale, like every other label on it (objectui#3837) (objectui `b3439f420`)
- **patch** — `record:related_list`: an `add` without `add.picker` no longer takes the whole related list down. (objectui `acc34c57b`)
- **patch** — 修复 `objectui dev` 生成的临时 app 的 CSS 管线:整套从 Tailwind 3 迁到 Tailwind 4 (objectui `8277053bd`)
- **patch** — Backfill the last 17 missing locale keys and both remaining template-key families, emptying the call-site key ratchet (objectui#3546, slice seven — final) (objectui `f9faa7d62`)
- **patch** — `preview.draftBar` speaks one second person in `es` — the draft-preview banner no longer switches from tú to usted when a Spanish user publishes (#3844) (objectui `b750823f0`)
- **patch** — An empty `disabled` predicate no longer refuses to run the action (objectui#3848) (objectui `56ff0916e`)
- **patch** — Give `@object-ui/react-runtime`'s React peer range an upper bound: `peerDependencies.react` narrows from `>=18` to `^18.0.0 || ^19.0.0`, the spelling the other 30 react peers in t… (objectui `d11996ea5`)
- **patch** — 回填 `perm` + `home` 两命名空间 14 个缺失语言 key,十个语言包补齐(#3546 切片六) (objectui `e64a52ec3`)
- **patch** — `disabled: ''` no longer greys out the remaining five action surfaces (objectui#3849) (objectui `f0a625aa7`)
- **patch** — Generated temp apps now declare every package they import, at ranges anchored to this repo (objectui `c32323e1e`)
- **patch** — An action declaring `disabled: ''` is no longer greyed out forever (objectui#3842) (objectui `993336f7c`)
- **patch** — Backfill the `marketplace` and `preview` namespaces' 37 missing locale keys plus the `marketplace.disclosure.runtime.` template-key family (objectui#3546, slice five) (objectui `844d17fc9`)
- **patch** — Four spec keys the renderers already honoured are now discoverable from the published `inputs` (objectui `aca561a77`)
- **patch** — Export `hasDeclaredVisibilityGate` from the package barrel (objectui#3835) (objectui `d3e738af8`)
- **patch** — Server-declared actions declaring `visible: false` are now hidden instead of rendered as live buttons (objectui#3835) (objectui `d3e738af8`)
- **patch** — Backfill the `console` namespace's 41 missing locale keys plus the `console.ai.group.` template family (objectui#3546, slice four) (objectui `f5f874491`)
- **patch** — Grid row actions: the inline button budget is now spent on the primaries that actually render (objectui `14c59c0b9`)
- **patch** — `action:bar` member actions declaring `visible: false` are now hidden instead of rendered (objectui `794c497c5`)
- **patch** — Remove the scaffold's unused pinned icon dependency, and make its generated schema interface reachable (objectui `c85268256`)
- **patch** — Action-face member actions declaring `visible: false` are now hidden instead of rendered (objectui `b5980f471`)
- **patch** — data-objectstack: pass the server's `drillRanges` date-bucket drill scope through `queryDataset` (restores date drill-through) (objectui `376567890`)
- **patch** — `record:details` 的 `sections` 输入说明改为从 spec 形状派生的对象形,不再教已被退役的「Section IDs」 (objectui `4178d5a2e`)
- **patch** — data-objectstack: type `queryDataset`'s result `fields[]` as the spec's `AnalyticsResult.fields[]` element instead of a hand-written copy (objectui `d83f6b3de`)
- **patch** — Backfill the auth family's 54 missing locale keys — `auth` 26 + `oauth` 16 + `acceptInvitation` 12 (objectui#3546, slice three) (objectui `7864f0340`)
- **patch** — Row actions declaring `visible: false` are now hidden instead of rendered (objectui `97b63d761`)
- **patch** — `parseAiQuotaError` now reads the AI quota refusal code from all three shapes the cloud 429 producers use, instead of only the flat `error`-holds-the-code dialect. (objectui `2a54e860c`)
- **patch** — console: hold the environment list's create CTA with a skeleton until entitlements resolve, instead of showing a label that is about to be overwritten (objectui#3482, part of clou… (objectui `0ef94cae1`)
- **patch** — Dataset-bound metric cards honour their declared `colorVariant` (objectui#3359, objectstack#5010 ruling B) (objectui `c4c0ac897`)
- **patch** — Record page header action predicates now speak CEL, like every other action surface (objectui `e24d767e4`)
- **patch** — `record:highlights` publishes the `readonly` entry key, so an AI author can discover it from the manifest (objectui `7b3e04820`)
- **patch** — Fix saved list-view preferences never reading back (density, column widths, sort, hidden columns, inline edit) (objectui `7e2b7e94c`)
- **patch** — `BulkActionParam.options` entries now accept the widget config the renderer already forwards (objectui `d229dfa7b`)
- **patch** — Ask the view composer for a container's view identities instead of deriving `list.name || 'list'`, so the default list view's translated label resolves (objectui `b691f060e`)
- **patch** — Record detail pages: a header ⟳ that refreshes the record, its related lists and its tab counts in place — no browser reload (objectui `54233b14a`)
- **patch** — Resolve `_views` translation keys by the bare view name only — the prefixed full name is no longer a second candidate (objectui `32413ec24`)
- **patch** — Action params that inherit a field's options now keep the keys that field declared (objectui `fbc23e094`)
- **patch** — fix(plugin-grid): don't render a row "⋮" trigger that opens an empty menu (objectui `1a33b1aba`)

⚠️ 2 of these carry a breaking change: 2 by the author's own breaking annotation in the changeset body — objectui declares no `major` inside a launch window (`scripts/check-changeset-no-major.mjs`). Each is marked **BREAKING** in the list above — read them before compiling the release record.

**In this console build, declared nowhere** — objectui merged 13 commits in this range with no `.changeset/*.md`. The code is inside the pin above and ships here, but nothing upstream declared them, so they appear in no objectui CHANGELOG and in no entry above. Listed by subject rather than counted, because a count cannot tell a dependency bump from a form-behaviour change (objectstack#6174); the upstream gate that would prevent this is objectui#3387.

- _(no changeset)_ docs(layout): page-header 的 Responsive Behavior 按 PageHeader 现状改写 Spacing 一行 (#3902) (#3915) (objectui `09987b680`)
- _(no changeset)_ docs(layout): align PageHeader Styling/Container with the code and make its demo use the component (#3786, #3787) (#3905) (objectui `50fa3766e`)
- _(no changeset)_ docs(scripts): 删除 scripts/README.md —— 一份无门禁覆盖、无入站链接的第二份清单 (#3882) (objectui `47f607854`)
- _(no changeset)_ fix(test): runner 的包级 test 入口指回仓根配置,不再落到 app 的 vite.config (#3746) (#3869) (objectui `39136cccb`)
- _(no changeset)_ ci(skills): skills 指南正文反引号里的仓内路径上门禁,豁免走双向陈旧检测的 baseline (#3735) (#3864) (objectui `74370641d`)
- _(no changeset)_ docs(ROADMAP): P1.12.3 / P1.16 九条同源漂移按现实改写 (#3738) (#3858) (objectui `6402e253f`)
- _(no changeset)_ docs(skills): console-development.md 顶部注记的搬家归因改成 04-21→04-23 的 commit 链,cccdf84d7 降为其中一步 (#3737) (#3856) (objectui `6422aa891`)
- _(no changeset)_ fix(scripts): check-i18n-en-drift 的显式 base 提为权威,解析不出即失败 (#3766) (#3821) (objectui `32bd84236`)
- _(no changeset)_ docs(layout): page-header 两处文档按组件实读收敛到 subtitle,删掉不存在的 breadcrumbs (#3785) (objectui `f9d70a72e`)
- _(no changeset)_ docs(ci): 去掉 check-lint-coverage.mjs 头注里的 object-ui 规则点数,并把守卫扩到该文件 (#3279) (#3784) (objectui `4028adfc3`)
- _(no changeset)_ fix(docs): 按清单校正 9 行 peer 陈述,并把断言加宽到整个 Peer Dependencies 区块 (#3750) (#3779) (objectui `00b9451d8`)
- _(no changeset)_ ci(changeset): 改了发版包 src/ 却没带 changeset 的 PR 一律失败,空 frontmatter 为显式豁免 (#3387) (#3769) (objectui `a4f837c7d`)
- _(no changeset)_ docs(hooks): guard-shared-stash header says 32 self-test cases, with the counting rule (#3721) (#3763) (objectui `dbc44b4be`)

<!-- adr-0087: not-required (no-migration-prescription) Neither break reaches a consumer of @objectstack/console, which publishes objectui's built SPA and exports no objectui type. capability-multiselect was registered only on registerFields(), whose sole caller is objectui's docs site, so the name was unreachable on the live registerAllFields() path and a field still carrying it degrades to its declared type renderer — the defined behaviour for an unregistered widget, with permission-facet-link unchanged as what is actually stamped. ApproveOutcome/RejectOutcome narrow a TypeScript type exported by @object-ui/plugin-chatbot, a package objectstack neither publishes nor re-exports; the removed ApproveOutcome.id was already undefined at runtime, so no shipped behaviour changes and there is nothing for the ledger to prescribe. -->

objectui range: `b1204af0a1f7...09987b680d53`
2 changes: 1 addition & 1 deletion .objectui-sha
Original file line number Diff line number Diff line change
@@ -1 +1 @@
b1204af0a1f7256514bab4479f5e9c915fb91449
09987b680d53801c79f67d969b14e9bb732b8a22
Loading