|
| 1 | +--- |
| 2 | +"@objectstack/console": minor |
| 3 | +--- |
| 4 | + |
| 5 | +Console (objectui) refreshed to `665661ab0932`. Frontend changes in this range: |
| 6 | + |
| 7 | +Derived from the changesets objectui declared over the range — 72 releasing of 78 changesets added across 82 non-merge commits; omitted: 6 release-nothing changesets, 6 commits carrying no changeset (they ship no package code). |
| 8 | + |
| 9 | +- **minor** — The editable dashboard grid renders dataset-bound widgets — and says so visibly when it cannot (objectui `b8bda9af8`) |
| 10 | +- **minor** — One legacy detector, two dashboard surfaces — the editable grid stops rendering a silent blank chart (objectui `8640cec19`) |
| 11 | +- **minor** — One `SchemaNode`, and one label vocabulary — the union wins, and labels resolve where the locale lives (objectui `c1d939f7f`) |
| 12 | +- **minor** — `BaseSchema.ariaLabel` declares the keyed i18n vocabulary the renderer actually resolves, `.disabled` accepts the predicate string it actually evaluates, and the keyed shape final… (objectui `f65025339`) |
| 13 | +- **minor** — Console chrome reaches the bundle — the list switcher, the aggregate footer, the dialog a11y fallbacks and the whole Settings namespace screen stop being English on non-English co… (objectui `ae10a01b9`) |
| 14 | +- **minor** — fix(core): bare-string filter options — docs/examples stop teaching it, the runtime lift warns (objectui#4356) (objectui `f279debf5`) |
| 15 | +- **minor** — fix(fields): `formatPercent` renders percentage points directly — ties round half-up and extremes keep every digit (objectui `52d878a3b`) |
| 16 | +- **minor** — `BaseSchema.visible` accepts the predicate string the renderer evaluates (objectui `3d9769a31`) |
| 17 | +- **minor** — One home for the number-display policy — and a percent stops meaning two different things between a list cell and a dashboard measure (objectui `92250d648`) |
| 18 | +- **minor** — `ViewNavigationConfig` IS the spec's navigation config — the second spelling stops requiring `mode` (objectui#4588) (objectui `ab04728b0`) |
| 19 | +- **minor** — `NavigationConfig.mode` is optional — the type now says what the hook does (objectui `a84385b47`) |
| 20 | +- **minor** — `exportOptions` is the spec's object form: `streaming` is declared, `'pdf'` is retired, and the alignment comment is finally true (objectui `1f9b90547`) |
| 21 | +- **minor** — `SchemaRenderer` states its real contract — a typed, required `schema` and a deliberate forwarding surface (objectui `3f5f87cc7`) |
| 22 | +- **minor** — Dashboard dataset measures follow the display locale (objectui#4566). (objectui `eb7f586b6`) |
| 23 | +- **minor** — The `DataSource` contract carries `deleteView`'s per-home outcomes (#4564) (objectui `bec3e14cb`) |
| 24 | +- **minor** — `formatPercent` groups its output and follows the display locale — the last tooltip/cell channel (objectui#4553). (objectui `36310dc88`) |
| 25 | +- **minor** — `deleteView` removes every home the view has — deleting a draft-only saved view no longer silently no-ops (objectui `537a0d19c`) |
| 26 | +- **minor** — Kanban: a drop that makes fields required now collects them instead of dead-ending (objectui `fa2125400`) |
| 27 | +- **minor** — `DashboardRenderer` and `ListView` serve the props they declare — the index signature stops erasing them (objectui `7084f7dfc`) |
| 28 | +- **minor** — `MetadataClient.get()` returns the item body its docblock always promised — the field half of the permission matrix is alive again (objectui `479cc7b46`) |
| 29 | +- **minor** — The date formatter's last three en-US channels now follow the display locale (objectui#4272). (objectui `ebb4e0ee3`) |
| 30 | +- **minor** — Publish `normalizeChartSchema` from the package entry. (objectui `5fac01193`) |
| 31 | +- **minor** — The timeline's gantt bucket labels and its row-label default speak the session language (objectui `0082db8fd`) |
| 32 | +- **minor** — Inspectors can block Save — a formula that does not parse no longer saves and publishes as the live field definition (objectui `553099c15`) |
| 33 | +- **minor** — fix(plugin-timeline): dates follow the active locale instead of a hardcoded en-US (objectui `01c918807`) |
| 34 | +- **minor** — An app you are not allowed to open now says so, instead of reporting that it may still be publishing (objectui `932cbcd6b`) |
| 35 | +- **minor** — `calendar-view` has no declared-but-inert inputs left: `allowCreate` works, `colorMapping` is retired (objectui#4454, objectui#4493) (objectui `515328f75`) |
| 36 | +- **minor** — The data lane now honors `set-auth-token`, so impersonation takes effect at all (#4467). (objectui `5cc847c31`) |
| 37 | +- **minor** — fix(plugin-grid): cross-page "select all N matching" replays the host's real query — or abstains — instead of fanning out unfiltered (objectui `7ffd61658`) |
| 38 | +- **minor** — A null-keyed group renders as an explicit bucket instead of silently vanishing from a chart (objectui#4466) (objectui `3fc2971b5`) |
| 39 | +- **minor** — fix(list): an `OBJECT_API_DISABLED` list request renders an honest cannot-work state instead of the empty state (objectui `2e3b0c0ef`) |
| 40 | +- **minor** — fix(detail): lookup field values link to the referenced record (objectui `b953a9702`) |
| 41 | +- **minor** — `chatbot` and `chatbot-enhanced` now pass only whitelisted DOM props to their host element (objectui#4431) (objectui `dde7283e4`) |
| 42 | +- **patch** — fix(components,plugin-dashboard): a static-data `table` widget renders instead of crashing (objectui `a3ae40407`) |
| 43 | +- **patch** — Doc comments no longer cite `@objectstack/spec` symbols the pinned spec has retired (objectui `92876f097`) |
| 44 | +- **patch** — `SpecResponsiveConfig` is now the spec's responsive config rather than a hand copy that said it was (objectui `c9115444b`) |
| 45 | +- **patch** — SpecBridge lifts a legacy bare `exportOptions` array to the spec's object form, so a spec-authored view's declared export formats reach the grid (objectui#4585). (objectui `f148a6499`) |
| 46 | +- **patch** — Console: restore `crypto.randomUUID` on insecure origins so list views stop crashing on LAN IPs (objectui `25b983366`) |
| 47 | +- **patch** — Report and dataset-preview measures follow the display locale (objectui#4575) (objectui `cb315f2a3`) |
| 48 | +- **patch** — Settings save: render the fail-closed crypto refusal as its own state instead of a generic save failure (objectui `36a4124d5`) |
| 49 | +- **patch** — The Studio Data pillar's grid no longer issues a duplicate `find()` on every render (#4567). (objectui `98eb4fc8e`) |
| 50 | +- **patch** — the connector node's Input section derives typed fields from the action descriptor's `inputSchema` (objectui `082ca7bf3`) |
| 51 | +- **patch** — fix(app-shell): every CelPredicateField binds its label, so the RLS row-filter editors have an accessible name (objectui `609820db3`) |
| 52 | +- **patch** — Gantt tooltip numbers and currency follow the display locale (objectui#4553). (objectui `a90888230`) |
| 53 | +- **patch** — The default-inspector family and its panel hosts gate Save on CEL errors — a hook guard, an action predicate or a validation rule that does not parse no longer saves (objectui `298769f46`) |
| 54 | +- **patch** — ObjectGrid's record-detail date fallback follows the display locale (objectui#4541). (objectui `4270c11f3`) |
| 55 | +- **patch** — Gantt tooltip currency re-formats when the tenant currency resolves (objectui#4542). (objectui `db4ad6bb5`) |
| 56 | +- **patch** — All CEL-hosting inspectors block Save on parse faults — a page block or formatting rule whose condition does not parse no longer saves (objectui `dd3adbdc1`) |
| 57 | +- **patch** — `@object-ui/fields` and `@object-ui/plugin-editor` stop publishing their test declarations (objectui `8f60d732e`) |
| 58 | +- **patch** — A row-level-security policy authored under a package is now saved — Studio's package door carries every facet the permission editor can author (objectui `aa45fd771`) |
| 59 | +- **patch** — fix(plugin-grid): the list link column renders a real anchor when the host publishes record URLs (objectui `f56541826`) |
| 60 | +- **patch** — The permission matrix models the server's artifact tier — no Save that 403s on a code-declared set (objectui `878140be9`) |
| 61 | +- **patch** — fix(app-shell): the console record header honors `userActions` predicates (objectui `af52932c6`) |
| 62 | +- **patch** — fix(plugin-grid): the cross-page "Select all N matching" banner works under external pagination (objectui `77d6f2830`) |
| 63 | +- **patch** — The permission matrix honors `allowRuntimeCreate` — and its read-only badge names the gate that actually tripped (objectui `172c73e6e`) |
| 64 | +- **patch** — fix(plugin-detail): the record detail header honors `userActions` predicates (objectui `b3889504e`) |
| 65 | +- **patch** — fix(i18n): every date branch threads the active locale, so a `zh` session no longer renders half its dates in English (objectui `06915b025`) |
| 66 | +- **patch** — The multi-dimension pivot branch buckets a null first-dimension value instead of dropping its bar (objectui#4497) (objectui `aca27fac6`) |
| 67 | +- **patch** — Members & invitations tabs gate their affordances by org role instead of letting the server's 403 be the UI (#4475) (objectui `6d641c9df`) |
| 68 | +- **patch** — The console shows a standing impersonation banner, with an exit that fails loudly (#4467). (objectui `5cc847c31`) |
| 69 | +- **patch** — fix(plugin-list): ListView hands the child grid the query behind the window it passes down (objectui `7ffd61658`) |
| 70 | +- **patch** — A dashboard chart's null-value bucket now reads the app's language instead of the English `(None)` (objectui `54d34d2a1`) |
| 71 | +- **patch** — Dashboard global filters sourced from `optionsFrom` now commit the RAW value instead of the display label. (objectui `844ed3aea`) |
| 72 | +- **patch** — `object-calendar` / `view:calendar`: the renderer now consumes or declares every prop it forwards, instead of spreading the authored node into `ObjectCalendar` (objectui `3e579d692`) |
| 73 | +- **patch** — Organization & invitation console: translate the English holdouts a zh session was left reading (#4474) (objectui `58bebf638`) |
| 74 | +- **patch** — `calendar-view` consumes or declares every prop it forwards — an authored `onEventClick` can no longer crash a click (objectui `c5756ff40`) |
| 75 | +- **patch** — `DashboardRenderer`'s widget grid now passes only whitelisted DOM props to its container (objectui#4432) (objectui `0bf3f44a4`) |
| 76 | +- **patch** — fix(print): `window.print()` produces a usable page, and the Print buttons say what they do (objectui `31ab1ac9d`) |
| 77 | +- **patch** — authored ISO `currentDate` reaches the calendar as a `Date`; unparseable input falls back to the default instead of crashing (objectui `395e154a6`) |
| 78 | +- **patch** — console: an inaccessible landing app bounces to `/home` instead of stranding the user on a chrome-less page (objectui `bc77f7d3d`) |
| 79 | +- **patch** — "Set as Default" and drag-reorder work again on saved views — the adapter's `updateView` was being called unbound (objectui#4463). (objectui `338e2c421`) |
| 80 | +- **patch** — The copied invitation link is one the recipient can actually open — both copy sites resolve through the console mount instead of rebuilding it from `BASE_URL` (objectui `a610bf2ff`) |
| 81 | + |
| 82 | +**In this console build, declared nowhere** — objectui merged 6 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. |
| 83 | + |
| 84 | +- _(no changeset)_ fix(examples): catalog entries author the keys their renderers read (#4624) (#4630) (objectui `665661ab0`) |
| 85 | +- _(no changeset)_ fix(site): the catalog gallery registers every plugin its entries need (#4616) (#4628) (objectui `69eb6b22b`) |
| 86 | +- _(no changeset)_ fix(examples,docs): the dashboard gallery renders working charts again — filtered-* entries leave the retired shape (#4600) (#4615) (objectui `e028dfcd8`) |
| 87 | +- _(no changeset)_ fix(site): SchemaNode crosses to SchemaRenderer through the bridge — the docs site builds again (#4617) (#4621) (objectui `3dc9a8233`) |
| 88 | +- _(no changeset)_ docs(plugin-list): the sort remedy names a stored denormalised field, not a formula (#4335) (#4560) (objectui `794dd1c4b`) |
| 89 | +- _(no changeset)_ chore(types): bring e2e/ under a tsconfig; fix what 30 never-compiled specs accumulated (#4471) (#4478) (objectui `5ad7f7730`) |
| 90 | + |
| 91 | +objectui range: `6d77acfe3125...665661ab0932` |
0 commit comments