From d3a08122e071f8f8a6254e441fa69bd4fb899469 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 25 Jun 2026 05:20:09 +0000 Subject: [PATCH] chore: release packages --- .changeset/adr-0070-package-lifecycle-ui.md | 18 -- .changeset/adr-0070-studio-package-first.md | 14 -- .changeset/ai-gate-on-service-ai.md | 23 -- .changeset/ask-agent-placeholder.md | 11 - .changeset/ce-ai-runtime-gating.md | 23 -- .../dataset-filter-drop-empty-conditions.md | 12 - .changeset/dataset-multihop-ui.md | 19 -- .changeset/dataset-rebase-on-object-change.md | 12 - .changeset/designer-consume-create-seed.md | 7 - .changeset/draft-preview-bar-no-pending.md | 15 -- .../flow-canvas-error-banner-clickable.md | 12 - .changeset/flow-expr-problems.md | 5 - .changeset/flow-picker-insert-tests.md | 5 - .changeset/flow-problems-single-source.md | 18 -- .changeset/flow-ref-validation.md | 5 - .changeset/flow-repeater-validation.md | 5 - .changeset/flow-validation-badges.md | 28 --- .changeset/flow-variable-picker.md | 5 - .changeset/flow-wait-loose-config-fallback.md | 18 -- .changeset/grid-column-header-field-label.md | 12 - .changeset/plugin-form-hooks-purity-lint.md | 18 -- .changeset/report-joined-preview.md | 16 -- apps/console/CHANGELOG.md | 2 + apps/console/package.json | 2 +- packages/app-shell/CHANGELOG.md | 227 ++++++++++++++++++ packages/app-shell/package.json | 2 +- packages/auth/CHANGELOG.md | 6 + packages/auth/package.json | 2 +- packages/cli/CHANGELOG.md | 8 + packages/cli/package.json | 2 +- packages/collaboration/CHANGELOG.md | 6 + packages/collaboration/package.json | 2 +- packages/components/CHANGELOG.md | 10 + packages/components/package.json | 2 +- packages/core/CHANGELOG.md | 6 + packages/core/package.json | 2 +- packages/create-plugin/CHANGELOG.md | 2 + packages/create-plugin/package.json | 2 +- packages/data-objectstack/CHANGELOG.md | 7 + packages/data-objectstack/package.json | 2 +- packages/fields/CHANGELOG.md | 12 + packages/fields/package.json | 2 +- packages/i18n/CHANGELOG.md | 15 ++ packages/i18n/package.json | 2 +- packages/layout/CHANGELOG.md | 9 + packages/layout/package.json | 2 +- packages/mobile/CHANGELOG.md | 6 + packages/mobile/package.json | 2 +- packages/permissions/CHANGELOG.md | 6 + packages/permissions/package.json | 2 +- packages/plugin-ai/CHANGELOG.md | 9 + packages/plugin-ai/package.json | 2 +- packages/plugin-calendar/CHANGELOG.md | 14 ++ packages/plugin-calendar/package.json | 2 +- packages/plugin-charts/CHANGELOG.md | 11 + packages/plugin-charts/package.json | 2 +- packages/plugin-chatbot/CHANGELOG.md | 9 + packages/plugin-chatbot/package.json | 2 +- packages/plugin-dashboard/CHANGELOG.md | 12 + packages/plugin-dashboard/package.json | 2 +- packages/plugin-designer/CHANGELOG.md | 17 ++ packages/plugin-designer/package.json | 2 +- packages/plugin-detail/CHANGELOG.md | 7 + packages/plugin-detail/package.json | 2 +- packages/plugin-editor/CHANGELOG.md | 9 + packages/plugin-editor/package.json | 2 +- packages/plugin-form/CHANGELOG.md | 25 ++ packages/plugin-form/package.json | 2 +- packages/plugin-gantt/CHANGELOG.md | 13 + packages/plugin-gantt/package.json | 2 +- packages/plugin-grid/CHANGELOG.md | 22 ++ packages/plugin-grid/package.json | 2 +- packages/plugin-kanban/CHANGELOG.md | 13 + packages/plugin-kanban/package.json | 2 +- packages/plugin-list/CHANGELOG.md | 2 + packages/plugin-list/package.json | 2 +- packages/plugin-map/CHANGELOG.md | 9 + packages/plugin-map/package.json | 2 +- packages/plugin-markdown/CHANGELOG.md | 9 + packages/plugin-markdown/package.json | 2 +- packages/plugin-report/CHANGELOG.md | 14 ++ packages/plugin-report/package.json | 2 +- packages/plugin-timeline/CHANGELOG.md | 10 + packages/plugin-timeline/package.json | 2 +- packages/plugin-tree/CHANGELOG.md | 9 + packages/plugin-tree/package.json | 2 +- packages/plugin-view/CHANGELOG.md | 13 + packages/plugin-view/package.json | 2 +- packages/providers/CHANGELOG.md | 6 + packages/providers/package.json | 2 +- packages/react/CHANGELOG.md | 10 + packages/react/package.json | 2 +- packages/runner/CHANGELOG.md | 11 + packages/runner/package.json | 2 +- packages/tenant/CHANGELOG.md | 6 + packages/tenant/package.json | 2 +- packages/types/CHANGELOG.md | 2 + packages/types/package.json | 2 +- packages/vscode-extension/CHANGELOG.md | 7 + packages/vscode-extension/package.json | 2 +- 100 files changed, 630 insertions(+), 340 deletions(-) delete mode 100644 .changeset/adr-0070-package-lifecycle-ui.md delete mode 100644 .changeset/adr-0070-studio-package-first.md delete mode 100644 .changeset/ai-gate-on-service-ai.md delete mode 100644 .changeset/ask-agent-placeholder.md delete mode 100644 .changeset/ce-ai-runtime-gating.md delete mode 100644 .changeset/dataset-filter-drop-empty-conditions.md delete mode 100644 .changeset/dataset-multihop-ui.md delete mode 100644 .changeset/dataset-rebase-on-object-change.md delete mode 100644 .changeset/designer-consume-create-seed.md delete mode 100644 .changeset/draft-preview-bar-no-pending.md delete mode 100644 .changeset/flow-canvas-error-banner-clickable.md delete mode 100644 .changeset/flow-expr-problems.md delete mode 100644 .changeset/flow-picker-insert-tests.md delete mode 100644 .changeset/flow-problems-single-source.md delete mode 100644 .changeset/flow-ref-validation.md delete mode 100644 .changeset/flow-repeater-validation.md delete mode 100644 .changeset/flow-validation-badges.md delete mode 100644 .changeset/flow-variable-picker.md delete mode 100644 .changeset/flow-wait-loose-config-fallback.md delete mode 100644 .changeset/grid-column-header-field-label.md delete mode 100644 .changeset/plugin-form-hooks-purity-lint.md delete mode 100644 .changeset/report-joined-preview.md diff --git a/.changeset/adr-0070-package-lifecycle-ui.md b/.changeset/adr-0070-package-lifecycle-ui.md deleted file mode 100644 index 034d5b994..000000000 --- a/.changeset/adr-0070-package-lifecycle-ui.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -"@object-ui/app-shell": patch ---- - -feat(studio): package lifecycle UI — Duplicate base, Adopt loose items, structure-only delete (ADR-0070 D4/D5/D6) - -`PackageDetailSheet` gains the user-facing affordances for the package-as- -lifecycle-unit work: -- **Duplicate** → `POST /packages/:id/duplicate` (clone a base into a new - writable package; D4). -- **Adopt loose items** → `POST /packages/:id/adopt-orphans` (migrate every - package-less orphan into this base; D5). -- **Delete** now asks whether to drop records too (`?keepData`) — structure-only - vs everything (D4 Q3). - -D6 guardrail test: the scope selector never defaults to the package-less -`Local / Custom` sentinel (`writableBaseOptions` excludes it; real bases sort -first). diff --git a/.changeset/adr-0070-studio-package-first.md b/.changeset/adr-0070-studio-package-first.md deleted file mode 100644 index da74fa324..000000000 --- a/.changeset/adr-0070-studio-package-first.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -"@object-ui/app-shell": patch ---- - -feat(studio): package-first create flow — prompt or redirect to a writable base (ADR-0070 D3) - -Studio's create entry points no longer let a new metadata item land in a code -package or the package-less "Local / Custom" bucket. ResourceListPage's create -gate (`handleCreate`) now: opens the create-base dialog when no writable base -exists; redirects into the first base when the active scope is Local/none but -bases exist; otherwise proceeds normally. Adds package-scope helpers -(`isLocalScope` / `writableBaseOptions`) with tests, surfaces the kernel's -`writable_package_required` (422) as an actionable error in ResourceEditPage, -and exports `CreatePackageDialog` from PackagesPage for reuse. diff --git a/.changeset/ai-gate-on-service-ai.md b/.changeset/ai-gate-on-service-ai.md deleted file mode 100644 index 9bcab5d63..000000000 --- a/.changeset/ai-gate-on-service-ai.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -"@object-ui/app-shell": patch ---- - -fix(console): gate the AI surface on the `service-ai` capability (discovery), not the agent catalog - -`useAiSurfaceEnabled` now keys off discovery's `services.ai` (`isAiEnabled`) — -i.e. whether the enterprise `@objectstack/service-ai` capability is present — -instead of a non-empty agent catalog. - -`service-ai` is an enterprise capability: a Community-Edition runtime doesn't -ship it, so the framework doesn't register the AI service and discovery reports -`services.ai` unavailable → the whole AI surface hides. An install that has -`service-ai` reports it available → AI shows. The presence of the CAPABILITY -gates, not whether a specific agent happens to be configured yet. - -The earlier catalog-based gating was a workaround for the headless service -reporting itself available in CE; the framework now only registers the AI -service when the host app declares `@objectstack/service-ai` -(objectstack-ai/framework#2311), so discovery is an honest edition signal and -the catalog detour is no longer needed. Everything else stays: the centralized -hook, the `RequireAiSurface` `/ai` route guard, the gated top-bar link + designer -"Ask AI" buttons, and AiChatPage's graceful empty state. diff --git a/.changeset/ask-agent-placeholder.md b/.changeset/ask-agent-placeholder.md deleted file mode 100644 index 6b246cd5a..000000000 --- a/.changeset/ask-agent-placeholder.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@object-ui/app-shell': patch ---- - -fix(ai): stop the AI composer placeholder doubling to "Ask Ask…" for the Ask agent - -The composer placeholder is `Ask {agent}…`, which reads fine for most agents -("Ask Build…") but doubles to "Ask Ask…" for the data-query agent whose label is -literally "Ask". The Ask agent now uses its purpose-built placeholder -(`console.ai.askAnything` → "Ask anything…", already localized) instead. Found -dogfooding the AI Ask flow. diff --git a/.changeset/ce-ai-runtime-gating.md b/.changeset/ce-ai-runtime-gating.md deleted file mode 100644 index 230c95b1b..000000000 --- a/.changeset/ce-ai-runtime-gating.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -"@object-ui/app-shell": minor ---- - -feat(console): hide the AI surface at runtime when the server serves no AI agent (Community Edition) - -A self-host Community Edition runtime (framework + this MIT console, without the -cloud `@objectstack/service-ai-studio` package) serves no `ask`/`build` agent. -The console now hides every AI entry point via runtime, server-pushed gating — -no build-time edition flag, no tree-shake. - -Crucially, gating is driven off the **agent catalog** (`GET /api/v1/ai/agents`), -not the discovery `services.ai` flag: the open-source framework keeps a headless -`@objectstack/service-ai` that still reports `services.ai` as available, so a CE -runtime can report AI "available" while serving zero agents. The catalog is the -real "is there an agent to answer?" signal. - -- New `useAiSurfaceEnabled()` hook + `RequireAiSurface` route guard (exported). -- `/ai*` routes redirect to home when no agent is served; the FAB, top-bar AI - link and the metadata designers' "Ask AI" buttons hide; `AiChatPage` shows a - graceful "AI unavailable" state instead of an agent-less echo chat. -- Fully additive for cloud installs — when an agent is served, every AI surface - renders and works as before. diff --git a/.changeset/dataset-filter-drop-empty-conditions.md b/.changeset/dataset-filter-drop-empty-conditions.md deleted file mode 100644 index 1ee9febf5..000000000 --- a/.changeset/dataset-filter-drop-empty-conditions.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@object-ui/app-shell": patch ---- - -fix(metadata-admin): dataset filter builder ignores incomplete conditions - -`groupToCondition` emitted a condition for any row that had a `field`, even when -its value was still blank — producing a silently-wrong filter like -`{ organization_id: { $eq: "" } }` (matches only empty → excludes everything) -instead of "no filter". Now rows with an empty/`undefined`/`[]` value are skipped -(value-less operators like is-empty / is-not-empty are still kept). Applies to both -the dataset Scope filter and per-measure filters. Found by dogfooding. diff --git a/.changeset/dataset-multihop-ui.md b/.changeset/dataset-multihop-ui.md deleted file mode 100644 index 5bdce78ff..000000000 --- a/.changeset/dataset-multihop-ui.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -'@object-ui/app-shell': minor ---- - -feat(studio): multi-hop relationship fields in the dataset designer (ADR-0071) - -The dataset designer's field catalog and Included-relationships picker now -support multi-hop relationship paths (`account.owner.region`), matching the -framework's multi-hop join support (ADR-0071 P2): - -- `useDatasetFieldCatalog` walks each included path hop-by-hop, fetching every - object along the chain, so `path.field` options surface for fields two–three - to-one hops deep (grouped under a chained `Account → Owner → User` heading). -- The Included-relationships combo offers one level deeper along each - already-included path (drill `account` → `account.owner`), capped at 3 hops. -- The author-time "relationship not in Included" warning generalizes to the full - relationship path (`account.owner`), with one-click "Add it". - -Single-hop datasets are unchanged. diff --git a/.changeset/dataset-rebase-on-object-change.md b/.changeset/dataset-rebase-on-object-change.md deleted file mode 100644 index 216d7b0d3..000000000 --- a/.changeset/dataset-rebase-on-object-change.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@object-ui/app-shell": patch ---- - -fix(metadata-admin): re-base a dataset when its base object changes - -A dataset's joins (`include`), dimensions, measures, and filter all reference the -base object's fields. Changing the base object left those referencing the OLD -object — stale field refs that silently produce broken/ambiguous queries. Now a -real object change clears the object-dependent config (selecting the same object -is a no-op), and a heads-up note appears while there is config that a change would -clear. Found by dogfooding (G1). diff --git a/.changeset/designer-consume-create-seed.md b/.changeset/designer-consume-create-seed.md deleted file mode 100644 index b97b100b7..000000000 --- a/.changeset/designer-consume-create-seed.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@object-ui/app-shell': patch ---- - -Designer derives create defaults from the spec's create seed (/meta/types) - -The metadata create flow now builds a new item's body from the server's authoritative `createSeed` (delivered per type on the `/meta/types` registry entry — the single source of truth in `@objectstack/spec`) instead of the locally hardcoded `createDefaults`, falling back to `createDefaults` when the server provides no seed (older server, or canvas-create types). This closes the drift loop behind the "designer emits a minimal shape the spec rejects → create→save 422" family (dashboard `layout`, action `body`): the structural create defaults now come from the same place the spec validates against, so they cannot diverge. Extracted as the pure, unit-tested `buildCreateModeBody`. diff --git a/.changeset/draft-preview-bar-no-pending.md b/.changeset/draft-preview-bar-no-pending.md deleted file mode 100644 index 63568b07d..000000000 --- a/.changeset/draft-preview-bar-no-pending.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -'@object-ui/app-shell': patch -'@object-ui/i18n': patch ---- - -fix(preview): draft-preview bar no longer demands a redundant Publish when nothing is pending - -Under the auto-publish posture an AI build leaves zero pending drafts, yet opening a -draft preview still showed "Draft preview — Nothing here is live until you publish." -alongside "Changes (0)" and a Publish button — a self-contradicting, no-op call to -action. `DraftPreviewBar` now reflects the real pending-draft count: when it is -known to be zero the bar softens to a neutral preview indicator and drops the -Publish/Changes affordances; an unknown count (still loading / fetch failed) keeps -the publish path. `HomePage` (count-gated) and `RuntimeDraftBar` (draft-gated) -already behaved this way — this aligns the third surface. diff --git a/.changeset/flow-canvas-error-banner-clickable.md b/.changeset/flow-canvas-error-banner-clickable.md deleted file mode 100644 index 034dfb116..000000000 --- a/.changeset/flow-canvas-error-banner-clickable.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@object-ui/app-shell": patch ---- - -feat(studio): make the flow-canvas error banner clickable - -The inline structural-error banner (ADR-0044 cycle surfacing) is now driven by -the unified `problems` list, and each row with a concrete target is clickable — -clicking it selects and pans-to-reveal the offending node/edge (the same reveal -the Problems panel performs). So the always-visible banner is actionable without -opening the panel. Drops the now-redundant `validationErrors` string prop: the -banner, the Problems panel, and the on-canvas badges all share one source. diff --git a/.changeset/flow-expr-problems.md b/.changeset/flow-expr-problems.md deleted file mode 100644 index 3abf40136..000000000 --- a/.changeset/flow-expr-problems.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@object-ui/app-shell': patch ---- - -Flow builder (#1934): expression problems — ADR-0032 brace/shape errors and scope-aware "unknown reference" warnings — now also surface in the flow **Problems panel** and as on-canvas **node/edge badges** (#1972), not just inline in the inspector. A `{record.x}` brace-in-CEL mistake or a typo'd variable is now visible at the flow level without opening each node. The start node's bare trigger-record fields are excluded from the ref check to avoid false positives (the inline inspector check still covers them). diff --git a/.changeset/flow-picker-insert-tests.md b/.changeset/flow-picker-insert-tests.md deleted file mode 100644 index 9cefe263a..000000000 --- a/.changeset/flow-picker-insert-tests.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@object-ui/app-shell': patch ---- - -Flow builder data-picker (#1934): the cursor-insertion math is extracted into a pure `insertToken` helper with unit tests (alongside `formatToken`) — bare CEL vs `{var}` template insertion, append / mid-string / selection-replace, and clamping a reversed or out-of-range selection. Pure refactor, no behavior change. diff --git a/.changeset/flow-problems-single-source.md b/.changeset/flow-problems-single-source.md deleted file mode 100644 index ef5270924..000000000 --- a/.changeset/flow-problems-single-source.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -"@object-ui/app-shell": patch ---- - -refactor(studio): derive the flow red-error highlight from the unified problem list (one validateFlowDraft pass) - -Follow-up to #1972 (Problems panel + badges) and #1976 (clickable banner). The -flow preview still ran `validateFlowDraft` twice per render — once in -`buildFlowProblems` (badges / banner / panel) and again in a separate memo that -derived the red node/edge ring/stroke — with the cycle-highlight logic duplicated -between them. - -`buildFlowProblems` is now the single validation pass: a new -`deriveInvalidElements(problems)` produces the red error set (errors only; a -cycle paints its whole loop via a per-problem `highlight` set while its badge + -reveal stay on the closing edge). The preview drops its second `validateFlowDraft` -call. The clickable banner (#1976), badges, and panel are unchanged — all four -surfaces now derive from one list, so they cannot drift. diff --git a/.changeset/flow-ref-validation.md b/.changeset/flow-ref-validation.md deleted file mode 100644 index 4aabc67c4..000000000 --- a/.changeset/flow-ref-validation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@object-ui/app-shell': patch ---- - -Flow builder data-picker follow-ups (#1934): (1) a scope-aware "unknown reference" warning pairs the picker with inline validation — a typed reference whose root isn't in scope at the node is flagged with a nearest-match "did you mean?" hint (conservative: root-only, skips function calls / string literals / runtime globals; non-blocking amber). (2) Assignment values authored in the array form `[{ variable, value }]` now render in the key/value editor (and get the picker) instead of falling back to Advanced JSON; the editor reads both the object-map and array shapes and preserves whichever was authored. (3) A script `code` body (JS/TS, not a `{var}` template) now inserts bare references via a `refMode` field override — `{x}` is a syntax error in a script. diff --git a/.changeset/flow-repeater-validation.md b/.changeset/flow-repeater-validation.md deleted file mode 100644 index 772b8c13b..000000000 --- a/.changeset/flow-repeater-validation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@object-ui/app-shell': patch ---- - -Flow builder data-picker (#1934): inline validation now also shows on the repeater surfaces that carry the picker — decision **Branches** expressions, screen field **"visible when"**, and key/value **values** — not just single fields. Each shows the ADR-0032 brace error (red) or a scope-aware "unknown reference" warning (amber) via a shared `FlowExprIssue` line. The trigger-record picker also offers `previous.` references on update / change / before-update triggers. diff --git a/.changeset/flow-validation-badges.md b/.changeset/flow-validation-badges.md deleted file mode 100644 index 98d3e80a1..000000000 --- a/.changeset/flow-validation-badges.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -"@object-ui/app-shell": patch ---- - -feat(studio): on-canvas validation badges + a Problems panel for the flow builder - -Flow validation only surfaced as a top banner ("…N error(s)") that didn't point -to the offending element — in a non-trivial flow you couldn't tell *which* node -or edge was wrong. The simulator's `validateFlowDraft` already detected the -structural problems (no resolvable entry, unreachable nodes, a decision with no -default branch, duplicate node ids, dangling edges, un-declared cycles); they -just weren't shown on the canvas. This was a surfacing gap, not a detection one. - -The flow preview now: - -- renders an error / warning **badge** on each offending node and edge, with the - issue message(s) as its tooltip; -- adds a **Problems panel** listing every issue (structural + the server - `_diagnostics` already attached to the layered record); clicking a row selects - and reveals (pans to) the node/edge; -- clears badges + rows as issues are resolved (everything derives from the live - draft). - -`validateFlowDraft` now tags dangling-edge errors with their endpoints so they -key to the offending connection, and a new `flow-problems` module maps both -sources onto concrete canvas elements (node id / stable edge key). Server -diagnostics reach the preview through a new optional `diagnostics` prop on -`MetadataPreviewProps`. diff --git a/.changeset/flow-variable-picker.md b/.changeset/flow-variable-picker.md deleted file mode 100644 index f788c1d70..000000000 --- a/.changeset/flow-variable-picker.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@object-ui/app-shell': minor ---- - -Flow builder: variable data-picker for expression / template config fields. Expression and template surfaces (decision Branches, edge Condition, Assignment values, Screen description, CRUD field values / filter, subflow / script inputs) now show a "{x}" picker listing the references in scope at that node — flow variables, upstream node outputs, the trigger record's fields, and any enclosing loop item — resolved graph-aware by walking the flow back from the node. Selecting a reference inserts the correctly-braced token at the cursor (bare CEL in `expression` fields, `{var}` in template fields), handling the ADR-0032 brace-in-CEL trap for the author. Free-text typing is unchanged and an empty scope degrades to a plain input. diff --git a/.changeset/flow-wait-loose-config-fallback.md b/.changeset/flow-wait-loose-config-fallback.md deleted file mode 100644 index 324f348e1..000000000 --- a/.changeset/flow-wait-loose-config-fallback.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -"@object-ui/app-shell": patch ---- - -fix(studio): flow wait-node inspector tolerates the loose `config` shape - -The wait-node property form read only the spec-canonical -`waitEventConfig.{eventType,signalName,…}`, but the engine also accepts a looser -`config.{eventType,…}` shape — which the canonical `showcase_budget_approval` -(and AI-authored flows) use. So a showcase-shaped wait node opened in the -designer showed blank "Wait for" / "Signal name" fields. - -Flow config fields gain an optional `fallbackPath`: reads fall back to it (so -loose-shape wait nodes display, and dependent fields reveal), writes target the -canonical path and prune the fallback (migrate-on-edit), and the fallback's -config key is suppressed from the Advanced block. The `wait` fields now fall -back to `config.*`, so the designer matches the engine's tolerance. Pairs with -the ADR-0044 revise-loop authoring (#1954). diff --git a/.changeset/grid-column-header-field-label.md b/.changeset/grid-column-header-field-label.md deleted file mode 100644 index 20a1a8cd0..000000000 --- a/.changeset/grid-column-header-field-label.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -'@object-ui/plugin-grid': patch ---- - -fix(grid): list column headers fall back to the field's label, not the prettified machine name - -A view column declared as a bare `{ field: 'request_title' }` (no explicit `label`) rendered -its header from the prettified machine name ("Request title") even when the field had a -localized label ("申请标题"). On a non-English app that surfaced English column headers despite -fully-localized field labels. ObjectGrid now resolves the header as -`column.label → schema field label → prettified name`, matching the other header-resolution -sites in the same file. Found dogfooding AI-built Chinese apps. diff --git a/.changeset/plugin-form-hooks-purity-lint.md b/.changeset/plugin-form-hooks-purity-lint.md deleted file mode 100644 index e092ac77a..000000000 --- a/.changeset/plugin-form-hooks-purity-lint.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -"@object-ui/plugin-form": patch ---- - -fix(plugin-form): call `useRecordContext` unconditionally; drop impure render-time `Date.now()` - -`LineItemsPanel` wrapped `useRecordContext()` in a `try/catch`, which ESLint flagged -as `react-hooks/rules-of-hooks` ("React Hook is called conditionally") — a genuine -hook-order hazard if the `catch` ever fired part-way through render. `useRecordContext` -returns `null` outside a `` and never throws, so the guard was -dead code; it's now called unconditionally at the top level and the `null` case is -handled by the existing optional chaining. - -Also clears a second pre-existing lint error: `EmbeddableForm` now seeds `mountedAtRef` -from `0` instead of calling the impure `Date.now()` during render (the mount effect -already overwrites it before any submit, so the anti-bot min-fill check is unchanged), -fixing the react-compiler "Cannot call impure function during render" error. No -behavior change. diff --git a/.changeset/report-joined-preview.md b/.changeset/report-joined-preview.md deleted file mode 100644 index 71256a911..000000000 --- a/.changeset/report-joined-preview.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -"@object-ui/app-shell": patch ---- - -fix(studio): preview joined reports in the report editor (was "design blind") - -Found dogfooding report design in Studio as a business user. The report editor's -live preview only rendered single dataset-bound reports — a `joined` report -(which carries its data on `blocks`, with no top-level `dataset`) fell through to -the "Bind a dataset to preview this report" empty state, so an author building a -joined report saw nothing and designed blind. - -`ReportPreview` now renders a joined report (≥1 dataset-bound block) through the -same runtime `ReportRenderer` (→ `DatasetReportRenderer`, which already stacks -the blocks), keeping the preview pixel-equal with the runtime, and shows a -joined-aware empty state ("Add a block…") when no block is bound yet. diff --git a/apps/console/CHANGELOG.md b/apps/console/CHANGELOG.md index 69264020c..2dbf2a150 100644 --- a/apps/console/CHANGELOG.md +++ b/apps/console/CHANGELOG.md @@ -1,5 +1,7 @@ # @object-ui/console +## 7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/apps/console/package.json b/apps/console/package.json index 7558b54e3..3c1e9a7ef 100644 --- a/apps/console/package.json +++ b/apps/console/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/console", - "version": "7.1.0", + "version": "7.2.0", "description": "ObjectStack Console — opinionated, fork-ready runtime console built on @object-ui/app-shell with the full plugin set wired up. Ships as a Hono UI plugin serving a pre-built SPA.", "license": "MIT", "type": "module", diff --git a/packages/app-shell/CHANGELOG.md b/packages/app-shell/CHANGELOG.md index aa189c044..1448c2231 100644 --- a/packages/app-shell/CHANGELOG.md +++ b/packages/app-shell/CHANGELOG.md @@ -1,5 +1,232 @@ # @object-ui/app-shell — Changelog +## 7.2.0 + +### Minor Changes + +- e301475: feat(console): hide the AI surface at runtime when the server serves no AI agent (Community Edition) + + A self-host Community Edition runtime (framework + this MIT console, without the + cloud `@objectstack/service-ai-studio` package) serves no `ask`/`build` agent. + The console now hides every AI entry point via runtime, server-pushed gating — + no build-time edition flag, no tree-shake. + + Crucially, gating is driven off the **agent catalog** (`GET /api/v1/ai/agents`), + not the discovery `services.ai` flag: the open-source framework keeps a headless + `@objectstack/service-ai` that still reports `services.ai` as available, so a CE + runtime can report AI "available" while serving zero agents. The catalog is the + real "is there an agent to answer?" signal. + + - New `useAiSurfaceEnabled()` hook + `RequireAiSurface` route guard (exported). + - `/ai*` routes redirect to home when no agent is served; the FAB, top-bar AI + link and the metadata designers' "Ask AI" buttons hide; `AiChatPage` shows a + graceful "AI unavailable" state instead of an agent-less echo chat. + - Fully additive for cloud installs — when an agent is served, every AI surface + renders and works as before. + +- 616157a: feat(studio): multi-hop relationship fields in the dataset designer (ADR-0071) + + The dataset designer's field catalog and Included-relationships picker now + support multi-hop relationship paths (`account.owner.region`), matching the + framework's multi-hop join support (ADR-0071 P2): + + - `useDatasetFieldCatalog` walks each included path hop-by-hop, fetching every + object along the chain, so `path.field` options surface for fields two–three + to-one hops deep (grouped under a chained `Account → Owner → User` heading). + - The Included-relationships combo offers one level deeper along each + already-included path (drill `account` → `account.owner`), capped at 3 hops. + - The author-time "relationship not in Included" warning generalizes to the full + relationship path (`account.owner`), with one-click "Add it". + + Single-hop datasets are unchanged. + +- 41c60c4: Flow builder: variable data-picker for expression / template config fields. Expression and template surfaces (decision Branches, edge Condition, Assignment values, Screen description, CRUD field values / filter, subflow / script inputs) now show a "{x}" picker listing the references in scope at that node — flow variables, upstream node outputs, the trigger record's fields, and any enclosing loop item — resolved graph-aware by walking the flow back from the node. Selecting a reference inserts the correctly-braced token at the cursor (bare CEL in `expression` fields, `{var}` in template fields), handling the ADR-0032 brace-in-CEL trap for the author. Free-text typing is unchanged and an empty scope degrades to a plain input. + +### Patch Changes + +- 81ad9aa: feat(studio): package lifecycle UI — Duplicate base, Adopt loose items, structure-only delete (ADR-0070 D4/D5/D6) + + `PackageDetailSheet` gains the user-facing affordances for the package-as- + lifecycle-unit work: + - **Duplicate** → `POST /packages/:id/duplicate` (clone a base into a new + writable package; D4). + - **Adopt loose items** → `POST /packages/:id/adopt-orphans` (migrate every + package-less orphan into this base; D5). + - **Delete** now asks whether to drop records too (`?keepData`) — structure-only + vs everything (D4 Q3). + + D6 guardrail test: the scope selector never defaults to the package-less + `Local / Custom` sentinel (`writableBaseOptions` excludes it; real bases sort + first). + +- 4b1cb7a: feat(studio): package-first create flow — prompt or redirect to a writable base (ADR-0070 D3) + + Studio's create entry points no longer let a new metadata item land in a code + package or the package-less "Local / Custom" bucket. ResourceListPage's create + gate (`handleCreate`) now: opens the create-base dialog when no writable base + exists; redirects into the first base when the active scope is Local/none but + bases exist; otherwise proceeds normally. Adds package-scope helpers + (`isLocalScope` / `writableBaseOptions`) with tests, surfaces the kernel's + `writable_package_required` (422) as an actionable error in ResourceEditPage, + and exports `CreatePackageDialog` from PackagesPage for reuse. + +- 8a3b351: fix(console): gate the AI surface on the `service-ai` capability (discovery), not the agent catalog + + `useAiSurfaceEnabled` now keys off discovery's `services.ai` (`isAiEnabled`) — + i.e. whether the enterprise `@objectstack/service-ai` capability is present — + instead of a non-empty agent catalog. + + `service-ai` is an enterprise capability: a Community-Edition runtime doesn't + ship it, so the framework doesn't register the AI service and discovery reports + `services.ai` unavailable → the whole AI surface hides. An install that has + `service-ai` reports it available → AI shows. The presence of the CAPABILITY + gates, not whether a specific agent happens to be configured yet. + + The earlier catalog-based gating was a workaround for the headless service + reporting itself available in CE; the framework now only registers the AI + service when the host app declares `@objectstack/service-ai` + (objectstack-ai/framework#2311), so discovery is an honest edition signal and + the catalog detour is no longer needed. Everything else stays: the centralized + hook, the `RequireAiSurface` `/ai` route guard, the gated top-bar link + designer + "Ask AI" buttons, and AiChatPage's graceful empty state. + +- e575da0: fix(ai): stop the AI composer placeholder doubling to "Ask Ask…" for the Ask agent + + The composer placeholder is `Ask {agent}…`, which reads fine for most agents + ("Ask Build…") but doubles to "Ask Ask…" for the data-query agent whose label is + literally "Ask". The Ask agent now uses its purpose-built placeholder + (`console.ai.askAnything` → "Ask anything…", already localized) instead. Found + dogfooding the AI Ask flow. + +- 0d8dbda: fix(metadata-admin): dataset filter builder ignores incomplete conditions + + `groupToCondition` emitted a condition for any row that had a `field`, even when + its value was still blank — producing a silently-wrong filter like + `{ organization_id: { $eq: "" } }` (matches only empty → excludes everything) + instead of "no filter". Now rows with an empty/`undefined`/`[]` value are skipped + (value-less operators like is-empty / is-not-empty are still kept). Applies to both + the dataset Scope filter and per-measure filters. Found by dogfooding. + +- e8c1c85: fix(metadata-admin): re-base a dataset when its base object changes + + A dataset's joins (`include`), dimensions, measures, and filter all reference the + base object's fields. Changing the base object left those referencing the OLD + object — stale field refs that silently produce broken/ambiguous queries. Now a + real object change clears the object-dependent config (selecting the same object + is a no-op), and a heads-up note appears while there is config that a change would + clear. Found by dogfooding (G1). + +- 0119ff4: Designer derives create defaults from the spec's create seed (/meta/types) + + The metadata create flow now builds a new item's body from the server's authoritative `createSeed` (delivered per type on the `/meta/types` registry entry — the single source of truth in `@objectstack/spec`) instead of the locally hardcoded `createDefaults`, falling back to `createDefaults` when the server provides no seed (older server, or canvas-create types). This closes the drift loop behind the "designer emits a minimal shape the spec rejects → create→save 422" family (dashboard `layout`, action `body`): the structural create defaults now come from the same place the spec validates against, so they cannot diverge. Extracted as the pure, unit-tested `buildCreateModeBody`. + +- 8e7c1da: fix(preview): draft-preview bar no longer demands a redundant Publish when nothing is pending + + Under the auto-publish posture an AI build leaves zero pending drafts, yet opening a + draft preview still showed "Draft preview — Nothing here is live until you publish." + alongside "Changes (0)" and a Publish button — a self-contradicting, no-op call to + action. `DraftPreviewBar` now reflects the real pending-draft count: when it is + known to be zero the bar softens to a neutral preview indicator and drops the + Publish/Changes affordances; an unknown count (still loading / fetch failed) keeps + the publish path. `HomePage` (count-gated) and `RuntimeDraftBar` (draft-gated) + already behaved this way — this aligns the third surface. + +- 522a54c: feat(studio): make the flow-canvas error banner clickable + + The inline structural-error banner (ADR-0044 cycle surfacing) is now driven by + the unified `problems` list, and each row with a concrete target is clickable — + clicking it selects and pans-to-reveal the offending node/edge (the same reveal + the Problems panel performs). So the always-visible banner is actionable without + opening the panel. Drops the now-redundant `validationErrors` string prop: the + banner, the Problems panel, and the on-canvas badges all share one source. + +- cdc6246: Flow builder (#1934): expression problems — ADR-0032 brace/shape errors and scope-aware "unknown reference" warnings — now also surface in the flow **Problems panel** and as on-canvas **node/edge badges** (#1972), not just inline in the inspector. A `{record.x}` brace-in-CEL mistake or a typo'd variable is now visible at the flow level without opening each node. The start node's bare trigger-record fields are excluded from the ref check to avoid false positives (the inline inspector check still covers them). +- 7fe2735: Flow builder data-picker (#1934): the cursor-insertion math is extracted into a pure `insertToken` helper with unit tests (alongside `formatToken`) — bare CEL vs `{var}` template insertion, append / mid-string / selection-replace, and clamping a reversed or out-of-range selection. Pure refactor, no behavior change. +- 3f529a8: refactor(studio): derive the flow red-error highlight from the unified problem list (one validateFlowDraft pass) + + Follow-up to #1972 (Problems panel + badges) and #1976 (clickable banner). The + flow preview still ran `validateFlowDraft` twice per render — once in + `buildFlowProblems` (badges / banner / panel) and again in a separate memo that + derived the red node/edge ring/stroke — with the cycle-highlight logic duplicated + between them. + + `buildFlowProblems` is now the single validation pass: a new + `deriveInvalidElements(problems)` produces the red error set (errors only; a + cycle paints its whole loop via a per-problem `highlight` set while its badge + + reveal stay on the closing edge). The preview drops its second `validateFlowDraft` + call. The clickable banner (#1976), badges, and panel are unchanged — all four + surfaces now derive from one list, so they cannot drift. + +- 0b9c96c: Flow builder data-picker follow-ups (#1934): (1) a scope-aware "unknown reference" warning pairs the picker with inline validation — a typed reference whose root isn't in scope at the node is flagged with a nearest-match "did you mean?" hint (conservative: root-only, skips function calls / string literals / runtime globals; non-blocking amber). (2) Assignment values authored in the array form `[{ variable, value }]` now render in the key/value editor (and get the picker) instead of falling back to Advanced JSON; the editor reads both the object-map and array shapes and preserves whichever was authored. (3) A script `code` body (JS/TS, not a `{var}` template) now inserts bare references via a `refMode` field override — `{x}` is a syntax error in a script. +- 47537fe: Flow builder data-picker (#1934): inline validation now also shows on the repeater surfaces that carry the picker — decision **Branches** expressions, screen field **"visible when"**, and key/value **values** — not just single fields. Each shows the ADR-0032 brace error (red) or a scope-aware "unknown reference" warning (amber) via a shared `FlowExprIssue` line. The trigger-record picker also offers `previous.` references on update / change / before-update triggers. +- 17ba30d: feat(studio): on-canvas validation badges + a Problems panel for the flow builder + + Flow validation only surfaced as a top banner ("…N error(s)") that didn't point + to the offending element — in a non-trivial flow you couldn't tell _which_ node + or edge was wrong. The simulator's `validateFlowDraft` already detected the + structural problems (no resolvable entry, unreachable nodes, a decision with no + default branch, duplicate node ids, dangling edges, un-declared cycles); they + just weren't shown on the canvas. This was a surfacing gap, not a detection one. + + The flow preview now: + + - renders an error / warning **badge** on each offending node and edge, with the + issue message(s) as its tooltip; + - adds a **Problems panel** listing every issue (structural + the server + `_diagnostics` already attached to the layered record); clicking a row selects + and reveals (pans to) the node/edge; + - clears badges + rows as issues are resolved (everything derives from the live + draft). + + `validateFlowDraft` now tags dangling-edge errors with their endpoints so they + key to the offending connection, and a new `flow-problems` module maps both + sources onto concrete canvas elements (node id / stable edge key). Server + diagnostics reach the preview through a new optional `diagnostics` prop on + `MetadataPreviewProps`. + +- 104d181: fix(studio): flow wait-node inspector tolerates the loose `config` shape + + The wait-node property form read only the spec-canonical + `waitEventConfig.{eventType,signalName,…}`, but the engine also accepts a looser + `config.{eventType,…}` shape — which the canonical `showcase_budget_approval` + (and AI-authored flows) use. So a showcase-shaped wait node opened in the + designer showed blank "Wait for" / "Signal name" fields. + + Flow config fields gain an optional `fallbackPath`: reads fall back to it (so + loose-shape wait nodes display, and dependent fields reveal), writes target the + canonical path and prune the fallback (migrate-on-edit), and the fallback's + config key is suppressed from the Advanced block. The `wait` fields now fall + back to `config.*`, so the designer matches the engine's tolerance. Pairs with + the ADR-0044 revise-loop authoring (#1954). + +- 1fa5982: fix(studio): preview joined reports in the report editor (was "design blind") + + Found dogfooding report design in Studio as a business user. The report editor's + live preview only rendered single dataset-bound reports — a `joined` report + (which carries its data on `blocks`, with no top-level `dataset`) fell through to + the "Bind a dataset to preview this report" empty state, so an author building a + joined report saw nothing and designed blind. + + `ReportPreview` now renders a joined report (≥1 dataset-bound block) through the + same runtime `ReportRenderer` (→ `DatasetReportRenderer`, which already stacks + the blocks), keeping the preview pixel-equal with the runtime, and shows a + joined-aware empty state ("Add a block…") when no block is bound yet. + +- Updated dependencies [8e7c1da] + - @object-ui/i18n@7.2.0 + - @object-ui/components@7.2.0 + - @object-ui/fields@7.2.0 + - @object-ui/react@7.2.0 + - @object-ui/layout@7.2.0 + - @object-ui/plugin-editor@7.2.0 + - @object-ui/types@7.2.0 + - @object-ui/core@7.2.0 + - @object-ui/data-objectstack@7.2.0 + - @object-ui/auth@7.2.0 + - @object-ui/permissions@7.2.0 + - @object-ui/collaboration@7.2.0 + - @object-ui/providers@7.2.0 + ## 7.1.0 ### Minor Changes diff --git a/packages/app-shell/package.json b/packages/app-shell/package.json index a2c015897..0e81b3545 100644 --- a/packages/app-shell/package.json +++ b/packages/app-shell/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/app-shell", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Minimal application shell for ObjectUI - framework-agnostic rendering engine", diff --git a/packages/auth/CHANGELOG.md b/packages/auth/CHANGELOG.md index e9d6f3ae8..645a369cc 100644 --- a/packages/auth/CHANGELOG.md +++ b/packages/auth/CHANGELOG.md @@ -1,5 +1,11 @@ # @object-ui/auth +## 7.2.0 + +### Patch Changes + +- @object-ui/types@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/auth/package.json b/packages/auth/package.json index fe92cba7a..60fc32ec2 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/auth", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Authentication system for Object UI with AuthProvider, useAuth hook, AuthGuard, and form components.", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 790f00303..ecdaff063 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,13 @@ # @object-ui/cli +## 7.2.0 + +### Patch Changes + +- @object-ui/components@7.2.0 +- @object-ui/react@7.2.0 +- @object-ui/types@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index e67457a4b..e4597b658 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/cli", - "version": "7.1.0", + "version": "7.2.0", "description": "Standalone CLI for Object UI — scaffold, develop, build and validate JSON/YAML schema-driven applications.", "type": "module", "homepage": "https://www.objectui.org/docs/utilities/cli", diff --git a/packages/collaboration/CHANGELOG.md b/packages/collaboration/CHANGELOG.md index d99a15255..bf32aa760 100644 --- a/packages/collaboration/CHANGELOG.md +++ b/packages/collaboration/CHANGELOG.md @@ -1,5 +1,11 @@ # @object-ui/collaboration +## 7.2.0 + +### Patch Changes + +- @object-ui/types@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/collaboration/package.json b/packages/collaboration/package.json index 1673fa546..d6a0e19dc 100644 --- a/packages/collaboration/package.json +++ b/packages/collaboration/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/collaboration", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Real-time collaboration for Object UI with presence tracking, live cursors, conflict resolution, and comment threads.", diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md index 9313a3c3e..e0c1b75e7 100644 --- a/packages/components/CHANGELOG.md +++ b/packages/components/CHANGELOG.md @@ -1,5 +1,15 @@ # @object-ui/components +## 7.2.0 + +### Patch Changes + +- Updated dependencies [8e7c1da] + - @object-ui/i18n@7.2.0 + - @object-ui/react@7.2.0 + - @object-ui/types@7.2.0 + - @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/components/package.json b/packages/components/package.json index 41ad988c5..1dbf0304c 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/components", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Standard UI component library for Object UI, built with Shadcn UI + Tailwind CSS", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 2afb631cc..c093f210f 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,11 @@ # @object-ui/core +## 7.2.0 + +### Patch Changes + +- @object-ui/types@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index 56db0ab03..2cb39d9bd 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/core", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "sideEffects": false, "license": "MIT", diff --git a/packages/create-plugin/CHANGELOG.md b/packages/create-plugin/CHANGELOG.md index 33933a226..ee8290268 100644 --- a/packages/create-plugin/CHANGELOG.md +++ b/packages/create-plugin/CHANGELOG.md @@ -1,5 +1,7 @@ # @object-ui/create-plugin +## 7.2.0 + ## 7.1.0 ## 7.0.0 diff --git a/packages/create-plugin/package.json b/packages/create-plugin/package.json index ea22a8b9f..f98ec2f72 100644 --- a/packages/create-plugin/package.json +++ b/packages/create-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/create-plugin", - "version": "7.1.0", + "version": "7.2.0", "description": "CLI tool to scaffold ObjectUI plugins", "type": "module", "license": "MIT", diff --git a/packages/data-objectstack/CHANGELOG.md b/packages/data-objectstack/CHANGELOG.md index 1cc69e9da..e695318fd 100644 --- a/packages/data-objectstack/CHANGELOG.md +++ b/packages/data-objectstack/CHANGELOG.md @@ -1,5 +1,12 @@ # @object-ui/data-objectstack +## 7.2.0 + +### Patch Changes + +- @object-ui/types@7.2.0 +- @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/data-objectstack/package.json b/packages/data-objectstack/package.json index 1215914a3..3d12c0829 100644 --- a/packages/data-objectstack/package.json +++ b/packages/data-objectstack/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/data-objectstack", - "version": "7.1.0", + "version": "7.2.0", "description": "ObjectStack Data Adapter for Object UI", "license": "MIT", "type": "module", diff --git a/packages/fields/CHANGELOG.md b/packages/fields/CHANGELOG.md index de479c484..d3c273622 100644 --- a/packages/fields/CHANGELOG.md +++ b/packages/fields/CHANGELOG.md @@ -1,5 +1,17 @@ # @object-ui/fields +## 7.2.0 + +### Patch Changes + +- Updated dependencies [8e7c1da] + - @object-ui/i18n@7.2.0 + - @object-ui/components@7.2.0 + - @object-ui/react@7.2.0 + - @object-ui/types@7.2.0 + - @object-ui/core@7.2.0 + - @object-ui/providers@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/fields/package.json b/packages/fields/package.json index 70658c47c..9fd9643f5 100644 --- a/packages/fields/package.json +++ b/packages/fields/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/fields", - "version": "7.1.0", + "version": "7.2.0", "description": "Field renderers and registry for Object UI", "license": "MIT", "type": "module", diff --git a/packages/i18n/CHANGELOG.md b/packages/i18n/CHANGELOG.md index 6a3a92513..c5192534f 100644 --- a/packages/i18n/CHANGELOG.md +++ b/packages/i18n/CHANGELOG.md @@ -1,5 +1,20 @@ # @object-ui/i18n +## 7.2.0 + +### Patch Changes + +- 8e7c1da: fix(preview): draft-preview bar no longer demands a redundant Publish when nothing is pending + + Under the auto-publish posture an AI build leaves zero pending drafts, yet opening a + draft preview still showed "Draft preview — Nothing here is live until you publish." + alongside "Changes (0)" and a Publish button — a self-contradicting, no-op call to + action. `DraftPreviewBar` now reflects the real pending-draft count: when it is + known to be zero the bar softens to a neutral preview indicator and drops the + Publish/Changes affordances; an unknown count (still loading / fetch failed) keeps + the publish path. `HomePage` (count-gated) and `RuntimeDraftBar` (draft-gated) + already behaved this way — this aligns the third surface. + ## 7.1.0 ## 7.0.0 diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 44a786894..1d83cf831 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/i18n", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "sideEffects": false, "license": "MIT", diff --git a/packages/layout/CHANGELOG.md b/packages/layout/CHANGELOG.md index 7d1c87bcf..be8d2fa46 100644 --- a/packages/layout/CHANGELOG.md +++ b/packages/layout/CHANGELOG.md @@ -1,5 +1,14 @@ # @object-ui/layout +## 7.2.0 + +### Patch Changes + +- @object-ui/components@7.2.0 +- @object-ui/react@7.2.0 +- @object-ui/types@7.2.0 +- @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/layout/package.json b/packages/layout/package.json index deab6ecf2..ee0d37ccf 100644 --- a/packages/layout/package.json +++ b/packages/layout/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/layout", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "sideEffects": false, "main": "dist/index.umd.cjs", diff --git a/packages/mobile/CHANGELOG.md b/packages/mobile/CHANGELOG.md index f7945535f..63e03161c 100644 --- a/packages/mobile/CHANGELOG.md +++ b/packages/mobile/CHANGELOG.md @@ -1,5 +1,11 @@ # @object-ui/mobile +## 7.2.0 + +### Patch Changes + +- @object-ui/types@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/mobile/package.json b/packages/mobile/package.json index 17cecaa6a..984df86d3 100644 --- a/packages/mobile/package.json +++ b/packages/mobile/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/mobile", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Mobile optimization for Object UI with responsive components, PWA support, and touch gesture handling.", diff --git a/packages/permissions/CHANGELOG.md b/packages/permissions/CHANGELOG.md index 70792a1c4..8f52657e5 100644 --- a/packages/permissions/CHANGELOG.md +++ b/packages/permissions/CHANGELOG.md @@ -1,5 +1,11 @@ # @object-ui/permissions +## 7.2.0 + +### Patch Changes + +- @object-ui/types@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/permissions/package.json b/packages/permissions/package.json index 8bf2468ad..dac9ba81b 100644 --- a/packages/permissions/package.json +++ b/packages/permissions/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/permissions", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "RBAC permission system for Object UI with object/field/row-level access control, permission guards, and hooks.", diff --git a/packages/plugin-ai/CHANGELOG.md b/packages/plugin-ai/CHANGELOG.md index 125c5f85d..e55b3f4c1 100644 --- a/packages/plugin-ai/CHANGELOG.md +++ b/packages/plugin-ai/CHANGELOG.md @@ -1,5 +1,14 @@ # @object-ui/plugin-ai +## 7.2.0 + +### Patch Changes + +- @object-ui/components@7.2.0 +- @object-ui/react@7.2.0 +- @object-ui/types@7.2.0 +- @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-ai/package.json b/packages/plugin-ai/package.json index 3765296d6..29268b133 100644 --- a/packages/plugin-ai/package.json +++ b/packages/plugin-ai/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-ai", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "main": "dist/index.umd.cjs", "module": "dist/index.js", diff --git a/packages/plugin-calendar/CHANGELOG.md b/packages/plugin-calendar/CHANGELOG.md index ea3e7777b..fe4991c15 100644 --- a/packages/plugin-calendar/CHANGELOG.md +++ b/packages/plugin-calendar/CHANGELOG.md @@ -1,5 +1,19 @@ # @object-ui/plugin-calendar +## 7.2.0 + +### Patch Changes + +- Updated dependencies [8e7c1da] + - @object-ui/i18n@7.2.0 + - @object-ui/components@7.2.0 + - @object-ui/fields@7.2.0 + - @object-ui/plugin-detail@7.2.0 + - @object-ui/react@7.2.0 + - @object-ui/types@7.2.0 + - @object-ui/core@7.2.0 + - @object-ui/mobile@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-calendar/package.json b/packages/plugin-calendar/package.json index afda43783..20b3bd16f 100644 --- a/packages/plugin-calendar/package.json +++ b/packages/plugin-calendar/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-calendar", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Calendar view plugins for Object UI - includes both ObjectQL-integrated and standalone calendar components", diff --git a/packages/plugin-charts/CHANGELOG.md b/packages/plugin-charts/CHANGELOG.md index 51644c2e6..9e925b59c 100644 --- a/packages/plugin-charts/CHANGELOG.md +++ b/packages/plugin-charts/CHANGELOG.md @@ -1,5 +1,16 @@ # @object-ui/plugin-charts +## 7.2.0 + +### Patch Changes + +- Updated dependencies [8e7c1da] + - @object-ui/i18n@7.2.0 + - @object-ui/components@7.2.0 + - @object-ui/react@7.2.0 + - @object-ui/types@7.2.0 + - @object-ui/core@7.2.0 + ## 7.1.0 ### Minor Changes diff --git a/packages/plugin-charts/package.json b/packages/plugin-charts/package.json index 980113412..a2cabc180 100644 --- a/packages/plugin-charts/package.json +++ b/packages/plugin-charts/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-charts", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Chart components plugin for Object UI, powered by Recharts", diff --git a/packages/plugin-chatbot/CHANGELOG.md b/packages/plugin-chatbot/CHANGELOG.md index cad54ce66..b85295f32 100644 --- a/packages/plugin-chatbot/CHANGELOG.md +++ b/packages/plugin-chatbot/CHANGELOG.md @@ -1,5 +1,14 @@ # @object-ui/plugin-chatbot +## 7.2.0 + +### Patch Changes + +- @object-ui/components@7.2.0 +- @object-ui/react@7.2.0 +- @object-ui/types@7.2.0 +- @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-chatbot/package.json b/packages/plugin-chatbot/package.json index 3e3a9dd76..ca9ec545e 100644 --- a/packages/plugin-chatbot/package.json +++ b/packages/plugin-chatbot/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-chatbot", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Chatbot interface plugin for Object UI", diff --git a/packages/plugin-dashboard/CHANGELOG.md b/packages/plugin-dashboard/CHANGELOG.md index 2c141aca3..b4b060824 100644 --- a/packages/plugin-dashboard/CHANGELOG.md +++ b/packages/plugin-dashboard/CHANGELOG.md @@ -1,5 +1,17 @@ # @object-ui/plugin-dashboard +## 7.2.0 + +### Patch Changes + +- Updated dependencies [8e7c1da] + - @object-ui/i18n@7.2.0 + - @object-ui/components@7.2.0 + - @object-ui/fields@7.2.0 + - @object-ui/react@7.2.0 + - @object-ui/types@7.2.0 + - @object-ui/core@7.2.0 + ## 7.1.0 ### Minor Changes diff --git a/packages/plugin-dashboard/package.json b/packages/plugin-dashboard/package.json index 648d3f6c1..3fc208757 100644 --- a/packages/plugin-dashboard/package.json +++ b/packages/plugin-dashboard/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-dashboard", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Dashboard plugin for Object UI", diff --git a/packages/plugin-designer/CHANGELOG.md b/packages/plugin-designer/CHANGELOG.md index 6b0ffdba5..11dc373b6 100644 --- a/packages/plugin-designer/CHANGELOG.md +++ b/packages/plugin-designer/CHANGELOG.md @@ -1,5 +1,22 @@ # @object-ui/plugin-designer +## 7.2.0 + +### Patch Changes + +- Updated dependencies [8e7c1da] +- Updated dependencies [0caea33] +- Updated dependencies [4aa8b84] + - @object-ui/i18n@7.2.0 + - @object-ui/plugin-grid@7.2.0 + - @object-ui/plugin-form@7.2.0 + - @object-ui/components@7.2.0 + - @object-ui/fields@7.2.0 + - @object-ui/react@7.2.0 + - @object-ui/types@7.2.0 + - @object-ui/core@7.2.0 + - @object-ui/data-objectstack@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-designer/package.json b/packages/plugin-designer/package.json index 771b7149a..77e31168d 100644 --- a/packages/plugin-designer/package.json +++ b/packages/plugin-designer/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-designer", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Visual designer plugin for Object UI with page, data model, process, and report designers plus collaborative editing.", diff --git a/packages/plugin-detail/CHANGELOG.md b/packages/plugin-detail/CHANGELOG.md index f78e88f73..575653d03 100644 --- a/packages/plugin-detail/CHANGELOG.md +++ b/packages/plugin-detail/CHANGELOG.md @@ -1,5 +1,12 @@ # @object-ui/plugin-detail +## 7.2.0 + +### Patch Changes + +- Updated dependencies [8e7c1da] + - @object-ui/i18n@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-detail/package.json b/packages/plugin-detail/package.json index c43c9ec7e..f3acb7bbe 100644 --- a/packages/plugin-detail/package.json +++ b/packages/plugin-detail/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-detail", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "DetailView plugin for Object UI - comprehensive detail page with sections, tabs, and related lists", diff --git a/packages/plugin-editor/CHANGELOG.md b/packages/plugin-editor/CHANGELOG.md index ebca70be3..1ee1c14b4 100644 --- a/packages/plugin-editor/CHANGELOG.md +++ b/packages/plugin-editor/CHANGELOG.md @@ -1,5 +1,14 @@ # @object-ui/plugin-editor +## 7.2.0 + +### Patch Changes + +- @object-ui/components@7.2.0 +- @object-ui/react@7.2.0 +- @object-ui/types@7.2.0 +- @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-editor/package.json b/packages/plugin-editor/package.json index 16a930a01..8e8331a3a 100644 --- a/packages/plugin-editor/package.json +++ b/packages/plugin-editor/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-editor", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Rich text editor plugin for Object UI, powered by Monaco Editor", diff --git a/packages/plugin-form/CHANGELOG.md b/packages/plugin-form/CHANGELOG.md index 35b2a5f07..fa98a060d 100644 --- a/packages/plugin-form/CHANGELOG.md +++ b/packages/plugin-form/CHANGELOG.md @@ -1,5 +1,30 @@ # @object-ui/plugin-form +## 7.2.0 + +### Patch Changes + +- 4aa8b84: fix(plugin-form): call `useRecordContext` unconditionally; drop impure render-time `Date.now()` + + `LineItemsPanel` wrapped `useRecordContext()` in a `try/catch`, which ESLint flagged + as `react-hooks/rules-of-hooks` ("React Hook is called conditionally") — a genuine + hook-order hazard if the `catch` ever fired part-way through render. `useRecordContext` + returns `null` outside a `` and never throws, so the guard was + dead code; it's now called unconditionally at the top level and the `null` case is + handled by the existing optional chaining. + + Also clears a second pre-existing lint error: `EmbeddableForm` now seeds `mountedAtRef` + from `0` instead of calling the impure `Date.now()` during render (the mount effect + already overwrites it before any submit, so the anti-bot min-fill check is unchanged), + fixing the react-compiler "Cannot call impure function during render" error. No + behavior change. + - @object-ui/components@7.2.0 + - @object-ui/fields@7.2.0 + - @object-ui/react@7.2.0 + - @object-ui/types@7.2.0 + - @object-ui/core@7.2.0 + - @object-ui/permissions@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-form/package.json b/packages/plugin-form/package.json index 9b4d7dc6b..a72ca4da5 100644 --- a/packages/plugin-form/package.json +++ b/packages/plugin-form/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-form", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Form plugin for Object UI", diff --git a/packages/plugin-gantt/CHANGELOG.md b/packages/plugin-gantt/CHANGELOG.md index 1b5bb6c29..6b9e10ee9 100644 --- a/packages/plugin-gantt/CHANGELOG.md +++ b/packages/plugin-gantt/CHANGELOG.md @@ -1,5 +1,18 @@ # @object-ui/plugin-gantt +## 7.2.0 + +### Patch Changes + +- Updated dependencies [8e7c1da] + - @object-ui/i18n@7.2.0 + - @object-ui/components@7.2.0 + - @object-ui/fields@7.2.0 + - @object-ui/plugin-detail@7.2.0 + - @object-ui/react@7.2.0 + - @object-ui/types@7.2.0 + - @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-gantt/package.json b/packages/plugin-gantt/package.json index 5e471b19f..798848dfe 100644 --- a/packages/plugin-gantt/package.json +++ b/packages/plugin-gantt/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-gantt", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Gantt chart plugin for Object UI", diff --git a/packages/plugin-grid/CHANGELOG.md b/packages/plugin-grid/CHANGELOG.md index e39dd575a..a9679f9d1 100644 --- a/packages/plugin-grid/CHANGELOG.md +++ b/packages/plugin-grid/CHANGELOG.md @@ -1,5 +1,27 @@ # @object-ui/plugin-grid +## 7.2.0 + +### Patch Changes + +- 0caea33: fix(grid): list column headers fall back to the field's label, not the prettified machine name + + A view column declared as a bare `{ field: 'request_title' }` (no explicit `label`) rendered + its header from the prettified machine name ("Request title") even when the field had a + localized label ("申请标题"). On a non-English app that surfaced English column headers despite + fully-localized field labels. ObjectGrid now resolves the header as + `column.label → schema field label → prettified name`, matching the other header-resolution + sites in the same file. Found dogfooding AI-built Chinese apps. + +- Updated dependencies [8e7c1da] + - @object-ui/i18n@7.2.0 + - @object-ui/components@7.2.0 + - @object-ui/fields@7.2.0 + - @object-ui/react@7.2.0 + - @object-ui/types@7.2.0 + - @object-ui/core@7.2.0 + - @object-ui/mobile@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-grid/package.json b/packages/plugin-grid/package.json index 219a96904..b83b14a19 100644 --- a/packages/plugin-grid/package.json +++ b/packages/plugin-grid/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-grid", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Grid plugin for Object UI", diff --git a/packages/plugin-kanban/CHANGELOG.md b/packages/plugin-kanban/CHANGELOG.md index 6e98bc9d0..45cdef061 100644 --- a/packages/plugin-kanban/CHANGELOG.md +++ b/packages/plugin-kanban/CHANGELOG.md @@ -1,5 +1,18 @@ # @object-ui/plugin-kanban +## 7.2.0 + +### Patch Changes + +- Updated dependencies [8e7c1da] + - @object-ui/i18n@7.2.0 + - @object-ui/components@7.2.0 + - @object-ui/fields@7.2.0 + - @object-ui/plugin-detail@7.2.0 + - @object-ui/react@7.2.0 + - @object-ui/types@7.2.0 + - @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-kanban/package.json b/packages/plugin-kanban/package.json index b4e427703..785e146b1 100644 --- a/packages/plugin-kanban/package.json +++ b/packages/plugin-kanban/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-kanban", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Kanban board plugin for Object UI, powered by dnd-kit", diff --git a/packages/plugin-list/CHANGELOG.md b/packages/plugin-list/CHANGELOG.md index 0c357c586..8213601a4 100644 --- a/packages/plugin-list/CHANGELOG.md +++ b/packages/plugin-list/CHANGELOG.md @@ -1,5 +1,7 @@ # @object-ui/plugin-list +## 7.2.0 + ## 7.1.0 ## 7.0.0 diff --git a/packages/plugin-list/package.json b/packages/plugin-list/package.json index 20626e6d3..bdabb9cfc 100644 --- a/packages/plugin-list/package.json +++ b/packages/plugin-list/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-list", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "ListView plugin for Object UI - unified view component with view type switching", diff --git a/packages/plugin-map/CHANGELOG.md b/packages/plugin-map/CHANGELOG.md index 3a9aa6883..43d831e9b 100644 --- a/packages/plugin-map/CHANGELOG.md +++ b/packages/plugin-map/CHANGELOG.md @@ -1,5 +1,14 @@ # @object-ui/plugin-map +## 7.2.0 + +### Patch Changes + +- @object-ui/components@7.2.0 +- @object-ui/react@7.2.0 +- @object-ui/types@7.2.0 +- @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-map/package.json b/packages/plugin-map/package.json index a66638b9c..e759a266d 100644 --- a/packages/plugin-map/package.json +++ b/packages/plugin-map/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-map", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Map visualization plugin for Object UI", diff --git a/packages/plugin-markdown/CHANGELOG.md b/packages/plugin-markdown/CHANGELOG.md index dfddf0e32..289369db5 100644 --- a/packages/plugin-markdown/CHANGELOG.md +++ b/packages/plugin-markdown/CHANGELOG.md @@ -1,5 +1,14 @@ # @object-ui/plugin-markdown +## 7.2.0 + +### Patch Changes + +- @object-ui/components@7.2.0 +- @object-ui/react@7.2.0 +- @object-ui/types@7.2.0 +- @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-markdown/package.json b/packages/plugin-markdown/package.json index 8ee2dbf0c..3e39b17d3 100644 --- a/packages/plugin-markdown/package.json +++ b/packages/plugin-markdown/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-markdown", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Markdown rendering plugin for Object UI, powered by react-markdown", diff --git a/packages/plugin-report/CHANGELOG.md b/packages/plugin-report/CHANGELOG.md index df2661a92..15f23d760 100644 --- a/packages/plugin-report/CHANGELOG.md +++ b/packages/plugin-report/CHANGELOG.md @@ -1,5 +1,19 @@ # @object-ui/plugin-report +## 7.2.0 + +### Patch Changes + +- Updated dependencies [8e7c1da] +- Updated dependencies [0caea33] + - @object-ui/i18n@7.2.0 + - @object-ui/plugin-grid@7.2.0 + - @object-ui/components@7.2.0 + - @object-ui/fields@7.2.0 + - @object-ui/react@7.2.0 + - @object-ui/types@7.2.0 + - @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-report/package.json b/packages/plugin-report/package.json index 7b163aac7..ebd225eee 100644 --- a/packages/plugin-report/package.json +++ b/packages/plugin-report/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-report", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "main": "dist/index.umd.cjs", "module": "dist/index.js", diff --git a/packages/plugin-timeline/CHANGELOG.md b/packages/plugin-timeline/CHANGELOG.md index 52a13640e..7a55d9fef 100644 --- a/packages/plugin-timeline/CHANGELOG.md +++ b/packages/plugin-timeline/CHANGELOG.md @@ -1,5 +1,15 @@ # @object-ui/plugin-timeline +## 7.2.0 + +### Patch Changes + +- @object-ui/components@7.2.0 +- @object-ui/react@7.2.0 +- @object-ui/types@7.2.0 +- @object-ui/core@7.2.0 +- @object-ui/mobile@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-timeline/package.json b/packages/plugin-timeline/package.json index 0587fb161..ff991f4fa 100644 --- a/packages/plugin-timeline/package.json +++ b/packages/plugin-timeline/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-timeline", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Timeline component plugin for Object UI", diff --git a/packages/plugin-tree/CHANGELOG.md b/packages/plugin-tree/CHANGELOG.md index 6f954f3ae..22531f5f3 100644 --- a/packages/plugin-tree/CHANGELOG.md +++ b/packages/plugin-tree/CHANGELOG.md @@ -1,5 +1,14 @@ # @object-ui/plugin-tree +## 7.2.0 + +### Patch Changes + +- @object-ui/components@7.2.0 +- @object-ui/react@7.2.0 +- @object-ui/types@7.2.0 +- @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-tree/package.json b/packages/plugin-tree/package.json index 87a6ed444..9e761ec8d 100644 --- a/packages/plugin-tree/package.json +++ b/packages/plugin-tree/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-tree", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Tree / tree-grid visualization plugin for Object UI", diff --git a/packages/plugin-view/CHANGELOG.md b/packages/plugin-view/CHANGELOG.md index 2fde4954a..970b22bd7 100644 --- a/packages/plugin-view/CHANGELOG.md +++ b/packages/plugin-view/CHANGELOG.md @@ -1,5 +1,18 @@ # @object-ui/plugin-view +## 7.2.0 + +### Patch Changes + +- Updated dependencies [0caea33] +- Updated dependencies [4aa8b84] + - @object-ui/plugin-grid@7.2.0 + - @object-ui/plugin-form@7.2.0 + - @object-ui/components@7.2.0 + - @object-ui/react@7.2.0 + - @object-ui/types@7.2.0 + - @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/plugin-view/package.json b/packages/plugin-view/package.json index 084655f7e..49eebd786 100644 --- a/packages/plugin-view/package.json +++ b/packages/plugin-view/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/plugin-view", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Object View plugin for Object UI", diff --git a/packages/providers/CHANGELOG.md b/packages/providers/CHANGELOG.md index e3b3f0178..9501a73f3 100644 --- a/packages/providers/CHANGELOG.md +++ b/packages/providers/CHANGELOG.md @@ -1,5 +1,11 @@ # @object-ui/providers — Changelog +## 7.2.0 + +### Patch Changes + +- @object-ui/types@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/providers/package.json b/packages/providers/package.json index 3701f0cce..8701c12d0 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/providers", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Reusable context providers for ObjectUI applications", diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index c9d300d4e..4125b031d 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,15 @@ # @object-ui/react +## 7.2.0 + +### Patch Changes + +- Updated dependencies [8e7c1da] + - @object-ui/i18n@7.2.0 + - @object-ui/types@7.2.0 + - @object-ui/core@7.2.0 + - @object-ui/data-objectstack@7.2.0 + ## 7.1.0 ### Minor Changes diff --git a/packages/react/package.json b/packages/react/package.json index 07e31579e..1e98698dc 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/react", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "React bindings and SchemaRenderer component for Object UI", diff --git a/packages/runner/CHANGELOG.md b/packages/runner/CHANGELOG.md index ca410be64..ea8aa7757 100644 --- a/packages/runner/CHANGELOG.md +++ b/packages/runner/CHANGELOG.md @@ -1,5 +1,16 @@ # @object-ui/runner +## 7.2.0 + +### Patch Changes + +- @object-ui/components@7.2.0 +- @object-ui/plugin-charts@7.2.0 +- @object-ui/plugin-kanban@7.2.0 +- @object-ui/react@7.2.0 +- @object-ui/types@7.2.0 +- @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/runner/package.json b/packages/runner/package.json index d18c2ff2d..ecdb176c9 100644 --- a/packages/runner/package.json +++ b/packages/runner/package.json @@ -1,7 +1,7 @@ { "name": "@object-ui/runner", "private": false, - "version": "7.1.0", + "version": "7.2.0", "description": "Universal Object UI Application Runner", "type": "module", "homepage": "https://www.objectui.org/docs/utilities/runner", diff --git a/packages/tenant/CHANGELOG.md b/packages/tenant/CHANGELOG.md index 2ad4c458d..3bfbb730f 100644 --- a/packages/tenant/CHANGELOG.md +++ b/packages/tenant/CHANGELOG.md @@ -1,5 +1,11 @@ # @object-ui/tenant +## 7.2.0 + +### Patch Changes + +- @object-ui/types@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/tenant/package.json b/packages/tenant/package.json index 3c1e688ed..662761d75 100644 --- a/packages/tenant/package.json +++ b/packages/tenant/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/tenant", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "license": "MIT", "description": "Multi-tenancy support for Object UI with tenant isolation, scoped queries, and custom branding.", diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index 3ccb221d6..2d279664d 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -1,5 +1,7 @@ # @object-ui/types +## 7.2.0 + ## 7.1.0 ### Minor Changes diff --git a/packages/types/package.json b/packages/types/package.json index 281732180..4f600ea80 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@object-ui/types", - "version": "7.1.0", + "version": "7.2.0", "description": "Pure TypeScript type definitions for Object UI - The Protocol Layer", "type": "module", "sideEffects": false, diff --git a/packages/vscode-extension/CHANGELOG.md b/packages/vscode-extension/CHANGELOG.md index 8fad85301..33fc99451 100644 --- a/packages/vscode-extension/CHANGELOG.md +++ b/packages/vscode-extension/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## 7.2.0 + +### Patch Changes + +- @object-ui/types@7.2.0 +- @object-ui/core@7.2.0 + ## 7.1.0 ### Patch Changes diff --git a/packages/vscode-extension/package.json b/packages/vscode-extension/package.json index 97a5248e9..0b390478a 100644 --- a/packages/vscode-extension/package.json +++ b/packages/vscode-extension/package.json @@ -2,7 +2,7 @@ "name": "object-ui", "displayName": "Object UI", "description": "VSCode extension for Object UI - Schema-driven UI development with IntelliSense, validation, and live preview", - "version": "7.1.0", + "version": "7.2.0", "publisher": "objectui", "private": true, "icon": "icon.svg",