diff --git a/.changeset/console-82a94170c405.md b/.changeset/console-82a94170c405.md index c1be5254ae..21c29d1aeb 100644 --- a/.changeset/console-82a94170c405.md +++ b/.changeset/console-82a94170c405.md @@ -4,7 +4,7 @@ Console (objectui) refreshed to `82a94170c405`. Frontend changes in this range: -Derived from the changesets objectui declared over the range — 121 releasing of 166 changesets added across 110 non-merge commits; omitted: 45 release-nothing changesets, 18 commits carrying no changeset (they ship no package code). +Derived from the changesets objectui declared over the range — 121 releasing of 166 changesets added across 191 non-merge commits; omitted: 45 release-nothing changesets, 30 commits carrying no changeset (they ship no package code). - **minor** — `ComponentMeta.labelling` grows a third value: `'control' | 'group' | 'display'` (objectui#4857, ruled jointly with objectui#4871 as the single repo-wide vocabulary for "how does… (objectui `167ec42e7`) - **minor** — Publish the five `@objectstack/spec` 17.0.0 keys the renderers already honoured, so authors can discover them (objectui `98eab3681`) @@ -15,21 +15,21 @@ Derived from the changesets objectui declared over the range — 121 releasing o - **minor** — layout: `flex` and `container` now honour a declared scale value of `0` (objectui `93fe362fc`) - **minor** — **BREAKING** — The fullscreen long-text dialog announces the field's validation state and carries the field's name (objectui `911ceaa05`) - **minor** — **Breaking (shipped as `minor`, following the `page-header` `description` retirement):** `app-shell` is no longer a component key. `registerLayout()` registered `AppShell` under t… (objectui `29167d540`) -- **minor** — Action param `visible`: one dialect answer, and a fault that is fail-open and LOUD (objectui `183d09b78`) -- **minor** — Remove the retired `striped` / `bordered` / `virtualScroll` list-view surface (objectui `183d09b78`) -- **minor** — Project every declared `recordIdField`, and refuse an action that names no record (objectui `183d09b78`) -- **minor** — Draw a null second-dimension group instead of carrying its measure invisibly (objectui `183d09b78`) -- **minor** — **Breaking (shipped as `minor`, see below):** `@object-ui/layout`'s `` retires the legacy `description` prop. `subtitle` is now the only spelling for the secondary lin… (objectui `183d09b78`) -- **minor** — Give a chart bucket an identity distinct from its display label (objectui `183d09b78`) -- **minor** — A clicked cartesian mark names its own series, and the drill title reads its label (objectui `183d09b78`) -- **minor** — Remove `BaseFieldMetadata.indexed` — the ObjectStack spec has no field-level index flag (objectui `183d09b78`) -- **minor** — **BREAKING** — A dashboard header `modal` action's `target` names a PAGE, only — DashboardView's second copy of the prefix convention retires (objectui `183d09b78`) -- **minor** — Retire the field designer's `Indexed` toggle — the ObjectStack spec has no field-level index flag (objectui `183d09b78`) -- **minor** — **BREAKING** — A `type: 'modal'` action's string `target` names a PAGE, only — the object fallback retires (objectui `183d09b78`) -- **minor** — **BREAKING** — data-objectstack: retire the four remaining `v3.0.0 Deep Integration` modules — `IntegrationManager`, `SecurityManager`, the studio canvas helpers (`createDefaultCanvasConfig` / `… (objectui `183d09b78`) -- **minor** — Remove `VectorFieldMetadata.indexed` and `VectorFieldMetadata.distance_metric` — both declared keys the ObjectStack spec rejects (objectui `183d09b78`) -- **minor** — **BREAKING** — Settle the two declared-but-unread keys on `AccordionItem`: retire `icon`, wire `disabled` (objectui#4652). (objectui `183d09b78`) -- **minor** — **BREAKING** — Settle the two declared-but-unread keys on `ToggleGroupItem`: retire `icon`, wire `disabled` (objectui#4632). (objectui `183d09b78`) +- **minor** — **BREAKING** — A dashboard header `modal` action's `target` names a PAGE, only — DashboardView's second copy of the prefix convention retires (objectui `c25222758`) +- **minor** — **BREAKING** — A `type: 'modal'` action's string `target` names a PAGE, only — the object fallback retires (objectui `171601c02`) +- **minor** — **Breaking (shipped as `minor`, see below):** `@object-ui/layout`'s `` retires the legacy `description` prop. `subtitle` is now the only spelling for the secondary lin… (objectui `f923b7cfa`) +- **minor** — **BREAKING** — Settle the two declared-but-unread keys on `AccordionItem`: retire `icon`, wire `disabled` (objectui#4652). (objectui `58b8346be`) +- **minor** — **BREAKING** — data-objectstack: retire the four remaining `v3.0.0 Deep Integration` modules — `IntegrationManager`, `SecurityManager`, the studio canvas helpers (`createDefaultCanvasConfig` / `… (objectui `a8411adf1`) +- **minor** — A clicked cartesian mark names its own series, and the drill title reads its label (objectui `e05db8826`) +- **minor** — Remove `VectorFieldMetadata.indexed` and `VectorFieldMetadata.distance_metric` — both declared keys the ObjectStack spec rejects (objectui `9695da72b`) +- **minor** — Remove `BaseFieldMetadata.indexed` — the ObjectStack spec has no field-level index flag (objectui `97abb24a9`) +- **minor** — Draw a null second-dimension group instead of carrying its measure invisibly (objectui `af025ee70`) +- **minor** — Give a chart bucket an identity distinct from its display label (objectui `9ce096fb0`) +- **minor** — Retire the field designer's `Indexed` toggle — the ObjectStack spec has no field-level index flag (objectui `deb157ad0`) +- **minor** — Action param `visible`: one dialect answer, and a fault that is fail-open and LOUD (objectui `e1d42519b`) +- **minor** — Project every declared `recordIdField`, and refuse an action that names no record (objectui `b1119ece4`) +- **minor** — Remove the retired `striped` / `bordered` / `virtualScroll` list-view surface (objectui `f1d4748c6`) +- **minor** — **BREAKING** — Settle the two declared-but-unread keys on `ToggleGroupItem`: retire `icon`, wire `disabled` (objectui#4632). (objectui `99bd01542`) - **patch** — docs(plugin-report): rewrite the README export snippets against the real export signatures (objectui `82a94170c`) - **patch** — Docs only: `packages/plugin-gantt/README.md` no longer teaches two identifiers the package does not export, nor a task shape it does not produce (objectui#5012). Each README impor… (objectui `bb3fab62c`) - **patch** — The `span` renderer renders its content again — it reads `children`, the key its own type declares and its producers emit. (objectui `839665643`) @@ -85,32 +85,32 @@ Derived from the changesets objectui declared over the range — 121 releasing o - **patch** — A `user` field in a form now receives `dataSource` / `dependentValues` / `dependsOnLabels`, like every other reference field. (objectui `ac600e5d2`) - **patch** — SpecBridge's form-view bridge stops reading `defaultSort` and `aria`, two keys spec 17 retired on the FormView carrier (`retiredKey()` tombstones — authoring either is a parse err… (objectui `d374cafa2`) - **patch** — AppShell: drop the unused `Sidebar` import. `AppShell` renders the node the caller passes in the `sidebar` prop and never constructs a `Sidebar` itself, so the import was dead (tr… (objectui `d44279598`) -- **patch** — An action dialog's per-option `visibleWhen` predicates now read the dialog's own in-progress param values. (objectui `183d09b78`) -- **patch** — `AddressField` is translatable, shows no US example placeholders, and formats its readonly line in the reader's address order. (objectui `183d09b78`) -- **patch** — RecordAttachmentsPanel no longer offers a Retry for an api-disabled `sys_attachment` read. (objectui `183d09b78`) -- **patch** — RecordAttachmentsPanel distinguishes a DENIED attachment list from an empty one. (objectui `183d09b78`) -- **patch** — RecordAttachmentsPanel distinguishes an UNLOADED attachment list from an empty one. (objectui `183d09b78`) -- **patch** — Retire `permission_change`, `export`, and `restore` from the audit-log action filter (`AuditLogPage`'s `ACTION_OPTIONS`) and badge maps (`AuditLogPage` and `HistoryTimeline`'s `AC… (objectui `183d09b78`) -- **patch** — A bulk action dialog's per-option `visibleWhen` predicates now read the dialog's own in-progress param values. (objectui `183d09b78`) -- **patch** — The form's cascade clear now recognises object-form fields, so a narrowed option list no longer submits a stale value. (objectui `183d09b78`) -- **patch** — The allow-list of option widgets that are fed the live record is now one exported constant, `CASCADE_OPTION_WIDGET_TYPES`, instead of three private copies. (objectui `183d09b78`) -- **patch** — A grouped chart whose SECOND dimension was never projected says so instead of drawing an empty frame. (objectui `183d09b78`) -- **patch** — The config panel footer translates: `ConfigPanelRenderer`'s Save / Discard labels come from the locale pack. (objectui `183d09b78`) -- **patch** — The console's embedded index editor no longer offers controls for keys the spec removed. (objectui `183d09b78`) -- **patch** — The dashboard config sidebar translates: `WidgetConfigPanel` and `DashboardConfigPanel` are wired through `t()`. (objectui `183d09b78`) -- **patch** — Delete two dead i18n namespaces — `configPanel.*` (16 keys) and `renderer.*` (13 keys) — from all ten locale packs. (objectui `183d09b78`) -- **patch** — Delete two dead i18n namespaces — `workflow.*` (58 keys) and `publicForm.demo.*` (36 keys) — from all ten locale packs. (objectui `183d09b78`) -- **patch** — Fix: a `drawer` form with no `sections` now renders the object's declared `fieldGroups` as sections, matching `ObjectForm` and `ModalForm`. (objectui `183d09b78`) -- **patch** — Fix: a `drawer` form with no `sections` now honours the object's field-level conditional rules (`visibleWhen` / `readonlyWhen` / `requiredWhen`) and field `group`. (objectui `183d09b78`) -- **patch** — `FilterBuilder` settles a row's operator when its **field** changes, instead of leaving an operator the new field's dropdown does not list. (objectui `183d09b78`) -- **patch** — FilterConditionField can author the spec's `$icontains` — case-insensitive contains is reachable from the filter UI. (objectui `183d09b78`) -- **patch** — `FilterBuilder` gives the set and range operators an input that matches the value shape the spec accepts, and stops minting the shape it refuses. (objectui `183d09b78`) -- **patch** — `RecordDetailView`'s `type: 'api'` action handler now refuses to dispatch a record-scoped mutation when the record cannot supply the declared `recordIdParam` key, instead of sendi… (objectui `183d09b78`) +- **patch** — Studio 页面设计器不再为 canonical `page:header` 提供 `icon` 编辑框(objectui#3829) (objectui `183d09b78`) +- **patch** — The allow-list of option widgets that are fed the live record is now one exported constant, `CASCADE_OPTION_WIDGET_TYPES`, instead of three private copies. (objectui `bbe8b86e8`) +- **patch** — `SidebarNav`'s README example teaches the shape the component actually reads. (objectui `8a9deceea`) +- **patch** — A readonly group-labelled field is now DESCRIBED by its own help text, not just named by its label. (objectui `0bffb1848`) +- **patch** — The "modal target names no page" diagnostic is one message again, on all three surfaces (objectui `5574ed67d`) +- **patch** — `FilterBuilder` settles a row's operator when its **field** changes, instead of leaving an operator the new field's dropdown does not list. (objectui `c4533dc8f`) +- **patch** — Fix: a `drawer` form with no `sections` now renders the object's declared `fieldGroups` as sections, matching `ObjectForm` and `ModalForm`. (objectui `9b20dea36`) +- **patch** — The form's cascade clear now recognises object-form fields, so a narrowed option list no longer submits a stale value. (objectui `78c0f9ae8`) +- **patch** — `DashboardWidgetSchema`: stop re-typing the retired `responsive` key as `any` (objectui `7f96b10e8`) +- **patch** — Fix: a `drawer` form with no `sections` now honours the object's field-level conditional rules (`visibleWhen` / `readonlyWhen` / `requiredWhen`) and field `group`. (objectui `469b60493`) +- **patch** — The console's embedded index editor no longer offers controls for keys the spec removed. (objectui `9a3d04e4e`) +- **patch** — A bulk action dialog's per-option `visibleWhen` predicates now read the dialog's own in-progress param values. (objectui `9aecabe18`) +- **patch** — `FilterBuilder` gives the set and range operators an input that matches the value shape the spec accepts, and stops minting the shape it refuses. (objectui `2b5026136`) +- **patch** — A create form no longer deadlocks on a `requiredWhen` field that also declares a runtime `defaultValue`. (objectui `d971e51c0`) +- **patch** — An action dialog's per-option `visibleWhen` predicates now read the dialog's own in-progress param values. (objectui `2646ccb72`) +- **patch** — The config panel footer translates: `ConfigPanelRenderer`'s Save / Discard labels come from the locale pack. (objectui `2e82ab2ae`) +- **patch** — The dashboard config sidebar translates: `WidgetConfigPanel` and `DashboardConfigPanel` are wired through `t()`. (objectui `ef0d1502f`) +- **patch** — Fix a list filter that silently applied nothing when the first thing you picked was **Is null** or **Is not null**. (objectui `138ab04d5`) +- **patch** — Delete two dead i18n namespaces — `configPanel.*` (16 keys) and `renderer.*` (13 keys) — from all ten locale packs. (objectui `f34226ea9`) +- **patch** — The list filter builder no longer offers `Is set` / `Is not set`, which its query dialects cannot express. (objectui `616a2a547`) +- **patch** — Delete two dead i18n namespaces — `workflow.*` (58 keys) and `publicForm.demo.*` (36 keys) — from all ten locale packs. (objectui `564b60523`) - …and 21 more releasing changesets in this range (list capped at 100; see the objectui range below). ⚠️ 10 of these carry a breaking change: 10 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 18 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. +**In this console build, declared nowhere** — objectui merged 30 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)_ chore(deps-dev): bump the dev-dependencies group across 1 directory with 11 updates (#4948) (objectui `590dd6356`) - _(no changeset)_ chore(deps): bump @objectstack/lint from 17.0.0-rc.6 to 17.0.0 (#4954) (objectui `e609aacc5`) @@ -130,6 +130,18 @@ Derived from the changesets objectui declared over the range — 121 releasing o - _(no changeset)_ docs(skills): auth-permissions 的 hidden 示例改用 data. 根,并写清表达式作用域 (#4813) (objectui `64553a851`) - _(no changeset)_ test(config): drop four dead vitest alias entries and pin that every target exists (#4802) (objectui `f2dc8fa96`) - _(no changeset)_ docs(skills,docs,site): 教学面停止教 `props` 信封,键提回节点 (#4786) (#4800) (objectui `5a3c06afb`) +- _(no changeset)_ docs(skills,site,agents): 教学面改用声明键 columns,停止教未声明的 cols (#4011) (#4785) (objectui `db8184cd9`) +- _(no changeset)_ feat(lint): ban OData query params nested under a dead `options` key (objectui#4734) (#4741) (objectui `af460fb6d`) +- _(no changeset)_ chore(components): remove unread, unpublished component.yml metadata files (#4732) (objectui `baa89a1ea`) +- _(no changeset)_ fix(examples): add required value keys to basic-accordion.json items (#4729) (objectui `099656deb`) +- _(no changeset)_ docs(accordion): rewrite Schema block to match the real AccordionSchema/AccordionItem interface (#4727) (objectui `466ce43b5`) +- _(no changeset)_ fix(i18n): apply the count reservation per direction, not to shared holes (#4719) (objectui `966235ebe`) +- _(no changeset)_ fix(scripts): bound shadcn-sync registry requests with a 10s timeout (#4715) (objectui `21c4e5236`) +- _(no changeset)_ fix(examples): pin the two plugin-calendar catalog entries onto their own events (#4627) (#4667) (objectui `aab597df9`) +- _(no changeset)_ fix(docs): toggle-group schema teaches selectionType, not type, for selection mode (#4665) (objectui `6d4f5bd59`) +- _(no changeset)_ fix(examples,scripts): regenerating the schema catalog stops discarding curated metadata (#4637) (objectui `1111fa1c0`) +- _(no changeset)_ docs: bump QUICK_REFERENCE.md Current Release to 17.5.0 (#4643) (objectui `902227752`) +- _(no changeset)_ chore: release packages (#4126) (objectui `5bf5d2cb6`)