From eac7066a2058711314eafeae6fc8723f39c55f0e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 01:04:56 +0000 Subject: [PATCH] chore: version packages --- .changeset/adr-0015-federation-read-path.md | 16 ---- .changeset/adr-0057-d11-drop-bu-kind-team.md | 13 --- .changeset/adr-0057-erp-authz.md | 28 ------ .changeset/adr-0058-expression-compiler.md | 16 ---- .../analytics-measure-currency-chain.md | 11 --- .changeset/bu-rename-guard-test.md | 4 - .changeset/bu-rename-i18n.md | 11 --- .changeset/conformance-ledger-helper.md | 10 --- .changeset/dashboard-report-drill.md | 5 -- .changeset/dataset-measure-currency.md | 12 --- .changeset/dev-app-default-profile.md | 21 ----- .changeset/execution-context-currency.md | 16 ---- .changeset/expand-where-propagation.md | 10 --- .changeset/me-localization-endpoint.md | 12 --- .changeset/rls-using-to-cel.md | 14 --- .changeset/spec-define-x-factories.md | 22 ----- .changeset/sys-user-manager-hierarchy.md | 7 -- .changeset/verify-skip-external-readonly.md | 13 --- examples/app-crm/CHANGELOG.md | 15 ++++ examples/app-crm/package.json | 2 +- examples/app-showcase/CHANGELOG.md | 19 ++++ examples/app-showcase/package.json | 4 +- examples/app-todo/CHANGELOG.md | 22 +++++ examples/app-todo/package.json | 2 +- packages/adapters/express/CHANGELOG.md | 9 ++ packages/adapters/express/package.json | 2 +- packages/adapters/fastify/CHANGELOG.md | 9 ++ packages/adapters/fastify/package.json | 2 +- packages/adapters/hono/CHANGELOG.md | 12 +++ packages/adapters/hono/package.json | 2 +- packages/adapters/nestjs/CHANGELOG.md | 9 ++ packages/adapters/nestjs/package.json | 2 +- packages/adapters/nextjs/CHANGELOG.md | 9 ++ packages/adapters/nextjs/package.json | 2 +- packages/adapters/nuxt/CHANGELOG.md | 9 ++ packages/adapters/nuxt/package.json | 2 +- packages/adapters/sveltekit/CHANGELOG.md | 9 ++ packages/adapters/sveltekit/package.json | 2 +- packages/apps/account/CHANGELOG.md | 17 ++++ packages/apps/account/package.json | 2 +- packages/apps/setup/CHANGELOG.md | 17 ++++ packages/apps/setup/package.json | 2 +- packages/apps/studio/CHANGELOG.md | 17 ++++ packages/apps/studio/package.json | 2 +- packages/cli/CHANGELOG.md | 68 ++++++++++++++ packages/cli/package.json | 2 +- packages/client-react/CHANGELOG.md | 15 ++++ packages/client-react/package.json | 2 +- packages/client/CHANGELOG.md | 14 +++ packages/client/package.json | 2 +- packages/cloud-connection/CHANGELOG.md | 17 ++++ packages/cloud-connection/package.json | 2 +- .../connectors/connector-mcp/CHANGELOG.md | 14 +++ .../connectors/connector-mcp/package.json | 2 +- .../connectors/connector-openapi/CHANGELOG.md | 14 +++ .../connectors/connector-openapi/package.json | 2 +- .../connectors/connector-rest/CHANGELOG.md | 14 +++ .../connectors/connector-rest/package.json | 2 +- .../connectors/connector-slack/CHANGELOG.md | 14 +++ .../connectors/connector-slack/package.json | 2 +- packages/console/CHANGELOG.md | 2 + packages/console/package.json | 2 +- packages/core/CHANGELOG.md | 13 +++ packages/core/package.json | 2 +- packages/create-objectstack/CHANGELOG.md | 2 + packages/create-objectstack/package.json | 2 +- packages/dogfood/CHANGELOG.md | 21 +++++ packages/dogfood/package.json | 2 +- packages/downstream-contract/CHANGELOG.md | 14 +++ packages/downstream-contract/package.json | 2 +- packages/formula/CHANGELOG.md | 26 ++++++ packages/formula/package.json | 2 +- packages/mcp/CHANGELOG.md | 15 ++++ packages/mcp/package.json | 2 +- packages/metadata-core/CHANGELOG.md | 13 +++ packages/metadata-core/package.json | 2 +- packages/metadata-fs/CHANGELOG.md | 6 ++ packages/metadata-fs/package.json | 2 +- packages/metadata/CHANGELOG.md | 21 +++++ packages/metadata/package.json | 2 +- packages/objectql/CHANGELOG.md | 56 ++++++++++++ packages/objectql/package.json | 2 +- packages/observability/CHANGELOG.md | 13 +++ packages/observability/package.json | 2 +- packages/platform-objects/CHANGELOG.md | 59 ++++++++++++ packages/platform-objects/package.json | 2 +- packages/plugins/driver-memory/CHANGELOG.md | 14 +++ packages/plugins/driver-memory/package.json | 2 +- packages/plugins/driver-mongodb/CHANGELOG.md | 14 +++ packages/plugins/driver-mongodb/package.json | 2 +- packages/plugins/driver-sql/CHANGELOG.md | 25 ++++++ packages/plugins/driver-sql/package.json | 2 +- .../plugins/driver-sqlite-wasm/CHANGELOG.md | 15 ++++ .../plugins/driver-sqlite-wasm/package.json | 2 +- packages/plugins/embedder-openai/CHANGELOG.md | 13 +++ packages/plugins/embedder-openai/package.json | 2 +- .../plugins/knowledge-memory/CHANGELOG.md | 15 ++++ .../plugins/knowledge-memory/package.json | 2 +- .../plugins/knowledge-ragflow/CHANGELOG.md | 15 ++++ .../plugins/knowledge-ragflow/package.json | 2 +- .../plugins/plugin-approvals/CHANGELOG.md | 40 +++++++++ .../plugins/plugin-approvals/package.json | 2 +- packages/plugins/plugin-audit/CHANGELOG.md | 18 ++++ packages/plugins/plugin-audit/package.json | 2 +- packages/plugins/plugin-auth/CHANGELOG.md | 19 ++++ packages/plugins/plugin-auth/package.json | 2 +- packages/plugins/plugin-dev/CHANGELOG.md | 30 +++++++ packages/plugins/plugin-dev/package.json | 2 +- packages/plugins/plugin-email/CHANGELOG.md | 20 +++++ packages/plugins/plugin-email/package.json | 2 +- .../plugins/plugin-hono-server/CHANGELOG.md | 26 ++++++ .../plugins/plugin-hono-server/package.json | 2 +- packages/plugins/plugin-msw/CHANGELOG.md | 18 ++++ packages/plugins/plugin-msw/package.json | 2 +- .../plugins/plugin-org-scoping/CHANGELOG.md | 18 ++++ .../plugins/plugin-org-scoping/package.json | 2 +- packages/plugins/plugin-reports/CHANGELOG.md | 18 ++++ packages/plugins/plugin-reports/package.json | 2 +- packages/plugins/plugin-security/CHANGELOG.md | 61 +++++++++++++ packages/plugins/plugin-security/package.json | 4 +- packages/plugins/plugin-sharing/CHANGELOG.md | 55 ++++++++++++ packages/plugins/plugin-sharing/package.json | 4 +- packages/plugins/plugin-webhooks/CHANGELOG.md | 15 ++++ packages/plugins/plugin-webhooks/package.json | 2 +- packages/rest/CHANGELOG.md | 28 ++++++ packages/rest/package.json | 2 +- packages/runtime/CHANGELOG.md | 79 ++++++++++++++++ packages/runtime/package.json | 2 +- packages/services/service-ai/CHANGELOG.md | 17 ++++ packages/services/service-ai/package.json | 2 +- .../services/service-analytics/CHANGELOG.md | 33 +++++++ .../services/service-analytics/package.json | 2 +- .../services/service-automation/CHANGELOG.md | 16 ++++ .../services/service-automation/package.json | 2 +- packages/services/service-cache/CHANGELOG.md | 15 ++++ packages/services/service-cache/package.json | 2 +- .../service-cluster-redis/CHANGELOG.md | 14 +++ .../service-cluster-redis/package.json | 2 +- .../services/service-cluster/CHANGELOG.md | 14 +++ .../services/service-cluster/package.json | 2 +- .../services/service-datasource/CHANGELOG.md | 14 +++ .../services/service-datasource/package.json | 2 +- packages/services/service-i18n/CHANGELOG.md | 14 +++ packages/services/service-i18n/package.json | 2 +- packages/services/service-job/CHANGELOG.md | 18 ++++ packages/services/service-job/package.json | 2 +- .../services/service-knowledge/CHANGELOG.md | 14 +++ .../services/service-knowledge/package.json | 2 +- .../services/service-messaging/CHANGELOG.md | 14 +++ .../services/service-messaging/package.json | 2 +- .../services/service-package/CHANGELOG.md | 14 +++ .../services/service-package/package.json | 2 +- packages/services/service-queue/CHANGELOG.md | 18 ++++ packages/services/service-queue/package.json | 2 +- .../services/service-realtime/CHANGELOG.md | 18 ++++ .../services/service-realtime/package.json | 2 +- .../services/service-settings/CHANGELOG.md | 19 ++++ .../services/service-settings/package.json | 2 +- .../services/service-storage/CHANGELOG.md | 19 ++++ .../services/service-storage/package.json | 2 +- packages/spec/CHANGELOG.md | 89 +++++++++++++++++++ packages/spec/package.json | 2 +- packages/triggers/trigger-api/CHANGELOG.md | 14 +++ packages/triggers/trigger-api/package.json | 2 +- .../trigger-record-change/CHANGELOG.md | 14 +++ .../trigger-record-change/package.json | 2 +- .../triggers/trigger-schedule/CHANGELOG.md | 14 +++ .../triggers/trigger-schedule/package.json | 2 +- packages/types/CHANGELOG.md | 13 +++ packages/types/package.json | 2 +- packages/verify/CHANGELOG.md | 50 +++++++++++ packages/verify/package.json | 2 +- packages/vscode-objectstack/CHANGELOG.md | 2 + packages/vscode-objectstack/package.json | 2 +- 174 files changed, 1708 insertions(+), 322 deletions(-) delete mode 100644 .changeset/adr-0015-federation-read-path.md delete mode 100644 .changeset/adr-0057-d11-drop-bu-kind-team.md delete mode 100644 .changeset/adr-0057-erp-authz.md delete mode 100644 .changeset/adr-0058-expression-compiler.md delete mode 100644 .changeset/analytics-measure-currency-chain.md delete mode 100644 .changeset/bu-rename-guard-test.md delete mode 100644 .changeset/bu-rename-i18n.md delete mode 100644 .changeset/conformance-ledger-helper.md delete mode 100644 .changeset/dashboard-report-drill.md delete mode 100644 .changeset/dataset-measure-currency.md delete mode 100644 .changeset/dev-app-default-profile.md delete mode 100644 .changeset/execution-context-currency.md delete mode 100644 .changeset/expand-where-propagation.md delete mode 100644 .changeset/me-localization-endpoint.md delete mode 100644 .changeset/rls-using-to-cel.md delete mode 100644 .changeset/spec-define-x-factories.md delete mode 100644 .changeset/sys-user-manager-hierarchy.md delete mode 100644 .changeset/verify-skip-external-readonly.md create mode 100644 packages/downstream-contract/CHANGELOG.md diff --git a/.changeset/adr-0015-federation-read-path.md b/.changeset/adr-0015-federation-read-path.md deleted file mode 100644 index bfd02e6e43..0000000000 --- a/.changeset/adr-0015-federation-read-path.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -"@objectstack/driver-sql": patch -"@objectstack/objectql": patch -"@objectstack/spec": patch ---- - -fix(ADR-0015): honor `external.remoteName` / `external.remoteSchema` on the federation read path. - -The query path previously resolved an external object's physical table from the -object name, ignoring its `external` binding — so a federated object bound to a -differently-named remote table failed with `no such table`, and ADR-0015's own -`wh_order` → `mart.fact_orders` example was unqueryable. The SQL driver now -resolves the remote table (`remoteName`, plus `remoteSchema` via `.withSchema()` -on pg/mysql) and registers external objects' read-coercion metadata without DDL -(`SqlDriver.registerExternalObject`, routed from the engine/plugin schema-sync). -The managed path is unchanged. See ADR-0015 §18. diff --git a/.changeset/adr-0057-d11-drop-bu-kind-team.md b/.changeset/adr-0057-d11-drop-bu-kind-team.md deleted file mode 100644 index 34638d04e0..0000000000 --- a/.changeset/adr-0057-d11-drop-bu-kind-team.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@objectstack/platform-objects": minor ---- - -Drop the unused `team` value from `sys_business_unit.kind` (ADR-0057 addendum D11). - -The `team` kind collided head-on with the first-class `sys_team` object: a -`kind='team'` business unit walks the hierarchical `BusinessUnitGraphService`, -while `sys_team` is the flat better-auth collaboration grouping served by -`TeamGraphService`. `kind` is a display-only categorisation hint (it does not -change graph semantics) and had **zero** usages anywhere in the repo, so this is a -safe narrowing with no data migration. New enum: -`company | division | department | office | cost_center`. diff --git a/.changeset/adr-0057-erp-authz.md b/.changeset/adr-0057-erp-authz.md deleted file mode 100644 index c060e297f3..0000000000 --- a/.changeset/adr-0057-erp-authz.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -"@objectstack/platform-objects": major -"@objectstack/plugin-sharing": major -"@objectstack/spec": minor -"@objectstack/plugin-security": minor -"@objectstack/runtime": minor -"@objectstack/objectql": minor -"@objectstack/plugin-approvals": patch ---- - -**BREAKING:** the system object `sys_department` is renamed to `sys_business_unit` -— object + member table (`sys_department_member` → `sys_business_unit_member`), -fields, and i18n — with **no compatibility alias**. Any deployment holding -`sys_department` rows, or metadata that references the object by name (lookups, -list views, queries, sharing/approval scopes), must migrate to `sys_business_unit`. -A renamed shipped system object is a breaking change to the platform's public -data surface, so this lands as a **major**. Verified per ADR-0059's pre-publish -hotcrm gate: no published downstream consumer references the old name. - -ADR-0057 — ERP authorization core. Adds permission-grant access DEPTH -(`own`/`own_and_reports`/`unit`/`unit_and_below`/`org`), renames `sys_department` -→ `sys_business_unit` (no aliases — see BREAKING above), introduces the platform-owned -`sys_user_role` assignment, and seeds stack-declared `roles`/`sharingRules` into -`sys_role`/`sys_sharing_rule` at boot (closes #2077). Hierarchy-relative scopes are -delegated to a pluggable `IHierarchyScopeResolver` (open edition fails closed to -owner-only; `defineStack` errors without `requires: ['hierarchy-security']`). Also -fixes a latent over-grant where `engine.find({ filter })` was ignored (driver reads -`where`) — normalized `filter`→`where` in the engine. diff --git a/.changeset/adr-0058-expression-compiler.md b/.changeset/adr-0058-expression-compiler.md deleted file mode 100644 index ec7aaff812..0000000000 --- a/.changeset/adr-0058-expression-compiler.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -"@objectstack/formula": minor -"@objectstack/plugin-security": minor -"@objectstack/plugin-sharing": minor ---- - -ADR-0058 — expression & predicate surface unification. Adds the canonical -CEL→FilterCondition pushdown compiler in `@objectstack/formula` -(`compileCelToFilter`, `isPushdownableCel`, `lowerCelAst`) plus an in-memory -`matchesFilterCondition` backend (one AST, three backends). `plugin-security` -(RLS `using`, via a SQL bridge) and `plugin-sharing` (`celToFilter`) cut over to -it, retiring the bespoke regex/field-equality front-ends. Compound sharing -conditions now compile and enforce end-to-end (closes #1887). The RLS `check` -clause is now enforced on the write post-image (insert/by-id update), fail-closed. -Non-pushdownable predicates (arithmetic, functions, subqueries, cross-object) are -an authoring compile error, never silently dropped (ADR-0049/0055). diff --git a/.changeset/analytics-measure-currency-chain.md b/.changeset/analytics-measure-currency-chain.md deleted file mode 100644 index e4078ff125..0000000000 --- a/.changeset/analytics-measure-currency-chain.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@objectstack/service-analytics": minor ---- - -Resolve a monetary measure's display currency via the field→tenant chain. - -A dataset measure-currency now resolves through: explicit measure `currency` → -source-field `currencyConfig.defaultCurrency` → tenant default (`ctx.currency`). -A measure is monetary iff it declares a currency or aggregates a `currency`-type -field, so count/avg-of-number measures never receive a code. Wires a -`measureCurrency` field-metadata resolver from the data engine's object schema. diff --git a/.changeset/bu-rename-guard-test.md b/.changeset/bu-rename-guard-test.md deleted file mode 100644 index d84e25eaa4..0000000000 --- a/.changeset/bu-rename-guard-test.md +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -test-only: regression guard asserting the ADR-0057 BU rename did not half-land — `sys_business_unit` / `sys_business_unit_member` object + field labels carry no stale "department" term across en/zh/ja/es. No runtime change. diff --git a/.changeset/bu-rename-i18n.md b/.changeset/bu-rename-i18n.md deleted file mode 100644 index 5078e83619..0000000000 --- a/.changeset/bu-rename-i18n.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@objectstack/platform-objects": patch ---- - -Complete the ADR-0057 `sys_department` → `sys_business_unit` rename in the Setup app and across the object's i18n (en / zh / ja / es). - -- Setup nav entry "Departments" → "Business Units" (`nav_departments` → `nav_business_units`). -- `sys_business_unit` / `sys_business_unit_member` field **labels and descriptions** in the object definitions now read "business unit" instead of "department" (the generated `en` labels had been hand-updated ahead of the def; the def was the stale source). -- All four locales' generated object translations aligned to 业务单元 / ビジネスユニット / Unidad de negocio. - -Intentionally preserved: the `kind` enum value `department` (a business unit can be *of kind* department) and the multi-concept node descriptions that list kinds. diff --git a/.changeset/conformance-ledger-helper.md b/.changeset/conformance-ledger-helper.md deleted file mode 100644 index 34fd836afb..0000000000 --- a/.changeset/conformance-ledger-helper.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@objectstack/verify": minor ---- - -ADR-0060 P1 — add the reusable conformance-ledger helper. `@objectstack/verify` -now exports `checkLedger(rows, opts)` + `ConformanceRow`: the static complement to -its runtime harness, encoding the shared invariants the platform had hand-written -twice (unique ids / valid state / enforced-has-site / experimental·removed-has-note -/ proof-file-exists / high-risk-has-proof / exactly-one-cover / discover ratchet). -The ADR-0056 authz and ADR-0058 expression ledgers are refactored onto it. diff --git a/.changeset/dashboard-report-drill.md b/.changeset/dashboard-report-drill.md deleted file mode 100644 index dd04a2faad..0000000000 --- a/.changeset/dashboard-report-drill.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@objectstack/service-analytics": minor ---- - -Dataset analytics enrich **dimension** result fields with their display label (so report/dashboard table headers read "Status" instead of the raw field name) and expose drill-through metadata on the dataset query result: the base `object`, a drillable dimension→field map, and a parallel `drillRawRows` array of each row's raw grouped values (captured before label resolution). This lets a host drill a grouped bucket back to its underlying records with an exact-match filter built from the stored value, not the display label. Date dimensions are excluded (a humanized bucket can't be exact-matched). diff --git a/.changeset/dataset-measure-currency.md b/.changeset/dataset-measure-currency.md deleted file mode 100644 index 06d9d7516d..0000000000 --- a/.changeset/dataset-measure-currency.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@objectstack/spec": minor -"@objectstack/service-analytics": minor ---- - -Propagate a dataset measure's declared currency to the analytics result field. - -Adds an optional `DatasetMeasure.currency` (ISO 4217) on the semantic layer and -carries it onto each measure result field alongside `label`/`format`, so a -currency-aware client (Intl symbol) can render `¥1,234` / `$616,000` from a real -currency code instead of a plain number or a `$` baked into `format`. Additive -and optional — existing datasets are unaffected. diff --git a/.changeset/dev-app-default-profile.md b/.changeset/dev-app-default-profile.md deleted file mode 100644 index e21f8f9691..0000000000 --- a/.changeset/dev-app-default-profile.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -"@objectstack/runtime": patch ---- - -Fix: the artifact-serve path now honors an app-declared default permission-set -profile (`isProfile: true, isDefault: true`) under `objectstack dev`/`serve`/`start`. - -`createStandaloneStack` (the boot path used when serving a compiled -`dist/objectstack.json` with no host `objectstack.config.ts`) surfaced -`objects`/`requires`/`manifest` from the artifact bundle but dropped -`permissions[]` and `roles[]`. As a result the CLI's -`appDefaultProfileName(config.permissions)` saw `undefined` and the SecurityPlugin -fell back to the built-in owner-only `member_default` — so an app whose default -profile carries e.g. `readScope: 'unit_and_below'` (ADR-0056 D7 / ADR-0057 D1) -was silently ignored. The config-load path was unaffected because the app's -`permissions` survived via the original stack object. - -`createStandaloneStack` now surfaces `permissions[]` and `roles[]` from the -artifact bundle, mirroring the existing `objects`/`requires`/`manifest` handling, -so the artifact-serve path applies the app default profile exactly like the -config-load path. diff --git a/.changeset/execution-context-currency.md b/.changeset/execution-context-currency.md deleted file mode 100644 index 55c815b719..0000000000 --- a/.changeset/execution-context-currency.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -"@objectstack/spec": minor -"@objectstack/runtime": minor -"@objectstack/rest": minor ---- - -Resolve the tenant default currency onto ExecutionContext. - -Adds `ExecutionContext.currency` (ISO 4217) and resolves it from the -`localization.currency` setting alongside `timezone`/`locale` — in both the -runtime `resolveExecutionContext` and the REST mirror. This is the foundation -for the documented "applied when a currency field omits its own" fallback: the -tenant default is now carried on every request context, so analytics enrichment, -formatters, and renderers can resolve a measure/field currency down to the org -default instead of hard-coding it. Undefined when no tenant default is -configured (consumers then render a plain number). diff --git a/.changeset/expand-where-propagation.md b/.changeset/expand-where-propagation.md deleted file mode 100644 index 4ae588af27..0000000000 --- a/.changeset/expand-where-propagation.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@objectstack/objectql": patch -"@objectstack/spec": patch ---- - -Honor a nested `where` filter inside `expand` on lookup/master_detail expansion. - -The expand post-processor batch-loads related records with an `id $in [...]` query but never merged the nested QueryAST `where`, so a documented `expand: { rel: { where: {...} } }` filter was silently ignored and every related record came back. The nested filter is now AND-merged into the batch query via an explicit `$and` group (`{ $and: [{ id: { $in } }, nestedAST.where] }`) — robust against a nested filter that itself keys `id` or uses a top-level `$or`/`$and`, where a shallow spread would clobber or reorder the constraint. - -`limit`/`offset`/`orderBy` remain intentionally not honored on the expand path: it batch-loads every parent's related records in one `$in` query and re-keys them per parent by foreign key, so a per-parent page size or ordering can't be expressed there. Docs and the schema `describe()` are updated to match, with a guard test asserting `limit`/`offset` are not pushed into the expand query. diff --git a/.changeset/me-localization-endpoint.md b/.changeset/me-localization-endpoint.md deleted file mode 100644 index 2a4784f36c..0000000000 --- a/.changeset/me-localization-endpoint.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@objectstack/plugin-hono-server": minor ---- - -Expose resolved regional defaults to every authenticated user. - -Adds `GET /api/v1/auth/me/localization` returning the request tenant's resolved -`{ currency, locale, timezone }` from the ExecutionContext (ADR-0053). The -`localization` SETTINGS are gated to `setup.access`, but the resolved defaults -are needed by every renderer to format currency/dates/numbers — so they are -surfaced here without that gate. Enables a client to format a currency field -in the tenant's default currency when the field omits its own. diff --git a/.changeset/rls-using-to-cel.md b/.changeset/rls-using-to-cel.md deleted file mode 100644 index a6e3890632..0000000000 --- a/.changeset/rls-using-to-cel.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -"@objectstack/spec": minor -"@objectstack/plugin-security": minor ---- - -ADR-0058 D1 follow-through — RLS predicates are now canonical CEL. Migrated every -seeded RLS `using`/`check` (default permission sets, showcase, and the -`RLS.ownerPolicy`/`tenantPolicy`/`allowAllPolicy` helper factories) from the -legacy SQL-ish form (`=`, `IN (...)`) to pure CEL (`==`, `in`), so authors and AI -learn ONE expression language. The `sqlPredicateToCel` bridge is retained as a -DEPRECATED transitional shim: a stored SQL-style predicate still compiles (no -silent deny on legacy data) but emits a deprecation warn; canonical CEL passes -through as a no-op. No runtime behavior change — CEL and the old SQL form compile -to the identical FilterCondition. diff --git a/.changeset/spec-define-x-factories.md b/.changeset/spec-define-x-factories.md deleted file mode 100644 index febe9cab57..0000000000 --- a/.changeset/spec-define-x-factories.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -"@objectstack/spec": minor ---- - -spec: add `defineX` factories for the remaining 16 writable domains and the 6 -missing `XInput` aliases — one consistent, type-safe authoring entry per domain -(#2035). - -New factories: `defineDatasource`, `defineConnector`, `definePolicy`, -`defineSharingRule`, `defineRole`, `definePermissionSet`, -`defineEmailTemplateDefinition`, `defineReport`, `defineWebhook`, -`defineObjectExtension`, `defineCube`, `defineMapping`, `defineTheme`, -`defineTranslationBundle`, `definePage`, `defineAction`. Each mirrors the 19 -existing factories (`XSchema.parse(z.input<…>)`): input-shape ergonomics + -authoring-time validation. Because a factory is a *value* import, a broken -import hard-errors instead of silently degrading to `any` (the #2023 failure -mode), and errors surface at `.parse()` time with field-level messages. - -Also adds the previously-missing input aliases `PolicyInput`, `CubeInput`, -`MappingInput`, `ThemeInput`, `TranslationBundleInput`, `PageInput`. - -Purely additive: no existing exports change. diff --git a/.changeset/sys-user-manager-hierarchy.md b/.changeset/sys-user-manager-hierarchy.md deleted file mode 100644 index 1178263faa..0000000000 --- a/.changeset/sys-user-manager-hierarchy.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@objectstack/platform-objects": minor ---- - -Add `manager_id` (self-lookup) to `sys_user` — the reporting chain that the ADR-0057 `own_and_reports` hierarchy scope walks. - -The `own_and_reports` scope was implemented in the resolver but **unbacked**: nothing on `sys_user` modelled a manager, so it always degraded to owner-only. This adds the field (+ en/zh/ja/es labels) and extends the scope-depth dogfood to prove the scope end-to-end — a user now sees their own records plus everyone down their `manager_id` chain. diff --git a/.changeset/verify-skip-external-readonly.md b/.changeset/verify-skip-external-readonly.md deleted file mode 100644 index 8206c9da60..0000000000 --- a/.changeset/verify-skip-external-readonly.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@objectstack/verify": patch ---- - -fix(verify): skip read-only federated (external) objects in CRUD verification. - -`objectstack verify` probe-inserts a record into every object. A federated object -on an external datasource is read-only unless BOTH the datasource and the object -opt into writes (ADR-0015 write gate), so that insert is correctly rejected — -which `verify` was reporting as a `create-failed` runtime failure. `deriveCrudCases` -now marks such objects `blocked` (skipped), matching the write gate's double -opt-in rule, so the dogfood gate stays honest while supporting external datasource -example apps. diff --git a/examples/app-crm/CHANGELOG.md b/examples/app-crm/CHANGELOG.md index c81fcd3565..a0fc38e8cd 100644 --- a/examples/app-crm/CHANGELOG.md +++ b/examples/app-crm/CHANGELOG.md @@ -1,5 +1,20 @@ # @objectstack/example-crm +## 4.0.55 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/runtime@10.0.0 + ## 4.0.54 ### Patch Changes diff --git a/examples/app-crm/package.json b/examples/app-crm/package.json index 8c69539c15..eeeb79505d 100644 --- a/examples/app-crm/package.json +++ b/examples/app-crm/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/example-crm", - "version": "4.0.54", + "version": "4.0.55", "description": "Minimal CRM example — a smoke-test workspace that exercises the metadata loading pipeline (objects → views → app → dashboard → hook → flow → seed). For a full-featured enterprise CRM see https://github.com/objectstack-ai/hotcrm.", "license": "Apache-2.0", "private": true, diff --git a/examples/app-showcase/CHANGELOG.md b/examples/app-showcase/CHANGELOG.md index 7b4164d2ec..c3208d30f9 100644 --- a/examples/app-showcase/CHANGELOG.md +++ b/examples/app-showcase/CHANGELOG.md @@ -1,5 +1,24 @@ # @objectstack/example-showcase +## 0.2.1 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/driver-sql@10.0.0 + - @objectstack/spec@10.0.0 + - @objectstack/runtime@10.0.0 + - @objectstack/cloud-connection@10.0.0 + - @objectstack/connector-rest@10.0.0 + - @objectstack/connector-slack@10.0.0 + ## 0.2.0 ### Minor Changes diff --git a/examples/app-showcase/package.json b/examples/app-showcase/package.json index 0d96c70c4b..380caf9f84 100644 --- a/examples/app-showcase/package.json +++ b/examples/app-showcase/package.json @@ -1,7 +1,7 @@ { "name": "@objectstack/example-showcase", - "version": "0.2.0", - "description": "Kitchen-sink showcase workspace \u2014 exercises every metadata type, every view type, every chart type, and the major end-to-end capability chains (security, automation, AI). Built for demonstration, debugging, and coverage-driven verification.", + "version": "0.2.1", + "description": "Kitchen-sink showcase workspace — exercises every metadata type, every view type, every chart type, and the major end-to-end capability chains (security, automation, AI). Built for demonstration, debugging, and coverage-driven verification.", "license": "Apache-2.0", "private": true, "main": "./objectstack.config.ts", diff --git a/examples/app-todo/CHANGELOG.md b/examples/app-todo/CHANGELOG.md index 73aa8afb03..5c56895472 100644 --- a/examples/app-todo/CHANGELOG.md +++ b/examples/app-todo/CHANGELOG.md @@ -1,5 +1,27 @@ # @objectstack/example-todo +## 4.0.55 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/objectql@10.0.0 + - @objectstack/spec@10.0.0 + - @objectstack/runtime@10.0.0 + - @objectstack/driver-sqlite-wasm@10.0.0 + - @objectstack/client@10.0.0 + - @objectstack/metadata@10.0.0 + - @objectstack/knowledge-memory@10.0.0 + - @objectstack/service-ai@10.0.0 + - @objectstack/service-knowledge@10.0.0 + ## 4.0.54 ### Patch Changes diff --git a/examples/app-todo/package.json b/examples/app-todo/package.json index 1d6c45ef73..2495f68260 100644 --- a/examples/app-todo/package.json +++ b/examples/app-todo/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/example-todo", - "version": "4.0.54", + "version": "4.0.55", "description": "Example Todo App using ObjectStack Protocol", "license": "Apache-2.0", "private": true, diff --git a/packages/adapters/express/CHANGELOG.md b/packages/adapters/express/CHANGELOG.md index 9839ba4119..c82fa95e1d 100644 --- a/packages/adapters/express/CHANGELOG.md +++ b/packages/adapters/express/CHANGELOG.md @@ -1,5 +1,14 @@ # @objectstack/express +## 10.0.0 + +### Patch Changes + +- Updated dependencies [e16f2a8] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] + - @objectstack/runtime@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/adapters/express/package.json b/packages/adapters/express/package.json index e529f0aa7c..b303d137fb 100644 --- a/packages/adapters/express/package.json +++ b/packages/adapters/express/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/express", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/adapters/fastify/CHANGELOG.md b/packages/adapters/fastify/CHANGELOG.md index 78c6fb3f10..caf340d918 100644 --- a/packages/adapters/fastify/CHANGELOG.md +++ b/packages/adapters/fastify/CHANGELOG.md @@ -1,5 +1,14 @@ # @objectstack/fastify +## 10.0.0 + +### Patch Changes + +- Updated dependencies [e16f2a8] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] + - @objectstack/runtime@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/adapters/fastify/package.json b/packages/adapters/fastify/package.json index e6ee7be009..e0b55775d8 100644 --- a/packages/adapters/fastify/package.json +++ b/packages/adapters/fastify/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/fastify", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/adapters/hono/CHANGELOG.md b/packages/adapters/hono/CHANGELOG.md index b643888b03..d070a10ded 100644 --- a/packages/adapters/hono/CHANGELOG.md +++ b/packages/adapters/hono/CHANGELOG.md @@ -1,5 +1,17 @@ # @objectstack/hono +## 10.0.0 + +### Patch Changes + +- Updated dependencies [e16f2a8] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] +- Updated dependencies [00c32f2] + - @objectstack/runtime@10.0.0 + - @objectstack/plugin-hono-server@10.0.0 + - @objectstack/types@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/adapters/hono/package.json b/packages/adapters/hono/package.json index 6df5a6dd68..959f00d266 100644 --- a/packages/adapters/hono/package.json +++ b/packages/adapters/hono/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/hono", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/adapters/nestjs/CHANGELOG.md b/packages/adapters/nestjs/CHANGELOG.md index d6a368ad2d..1984e199cf 100644 --- a/packages/adapters/nestjs/CHANGELOG.md +++ b/packages/adapters/nestjs/CHANGELOG.md @@ -1,5 +1,14 @@ # @objectstack/nestjs +## 10.0.0 + +### Patch Changes + +- Updated dependencies [e16f2a8] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] + - @objectstack/runtime@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/adapters/nestjs/package.json b/packages/adapters/nestjs/package.json index e9e1ea25d4..1c42fa6847 100644 --- a/packages/adapters/nestjs/package.json +++ b/packages/adapters/nestjs/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/nestjs", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/adapters/nextjs/CHANGELOG.md b/packages/adapters/nextjs/CHANGELOG.md index 64af6fd945..68b291bb7e 100644 --- a/packages/adapters/nextjs/CHANGELOG.md +++ b/packages/adapters/nextjs/CHANGELOG.md @@ -1,5 +1,14 @@ # @objectstack/nextjs +## 10.0.0 + +### Patch Changes + +- Updated dependencies [e16f2a8] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] + - @objectstack/runtime@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/adapters/nextjs/package.json b/packages/adapters/nextjs/package.json index 08047006a0..b451d16a49 100644 --- a/packages/adapters/nextjs/package.json +++ b/packages/adapters/nextjs/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/nextjs", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/adapters/nuxt/CHANGELOG.md b/packages/adapters/nuxt/CHANGELOG.md index 6534c99f0e..9af96e05cb 100644 --- a/packages/adapters/nuxt/CHANGELOG.md +++ b/packages/adapters/nuxt/CHANGELOG.md @@ -1,5 +1,14 @@ # @objectstack/nuxt +## 10.0.0 + +### Patch Changes + +- Updated dependencies [e16f2a8] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] + - @objectstack/runtime@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/adapters/nuxt/package.json b/packages/adapters/nuxt/package.json index b61dc2c44b..ea3b7e6a6c 100644 --- a/packages/adapters/nuxt/package.json +++ b/packages/adapters/nuxt/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/nuxt", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/adapters/sveltekit/CHANGELOG.md b/packages/adapters/sveltekit/CHANGELOG.md index 6d8abd7cf5..24219291fb 100644 --- a/packages/adapters/sveltekit/CHANGELOG.md +++ b/packages/adapters/sveltekit/CHANGELOG.md @@ -1,5 +1,14 @@ # @objectstack/sveltekit +## 10.0.0 + +### Patch Changes + +- Updated dependencies [e16f2a8] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] + - @objectstack/runtime@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/adapters/sveltekit/package.json b/packages/adapters/sveltekit/package.json index 5e88d40d40..fd89de647e 100644 --- a/packages/adapters/sveltekit/package.json +++ b/packages/adapters/sveltekit/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/sveltekit", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/apps/account/CHANGELOG.md b/packages/apps/account/CHANGELOG.md index 04a56aebec..ccace4692e 100644 --- a/packages/apps/account/CHANGELOG.md +++ b/packages/apps/account/CHANGELOG.md @@ -1,5 +1,22 @@ # @objectstack/account +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/apps/account/package.json b/packages/apps/account/package.json index 1b67208d96..271a55e053 100644 --- a/packages/apps/account/package.json +++ b/packages/apps/account/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/account", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "ObjectStack Account — the end-user account/self-service console app, packaged as its own ObjectStack app package (ADR-0048: one app per package).", "main": "dist/index.js", diff --git a/packages/apps/setup/CHANGELOG.md b/packages/apps/setup/CHANGELOG.md index dc3342aea6..109b0d09ee 100644 --- a/packages/apps/setup/CHANGELOG.md +++ b/packages/apps/setup/CHANGELOG.md @@ -1,5 +1,22 @@ # @objectstack/setup +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/apps/setup/package.json b/packages/apps/setup/package.json index 61ef337c5c..74e830dce2 100644 --- a/packages/apps/setup/package.json +++ b/packages/apps/setup/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/setup", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "ObjectStack Setup — the platform administration app, packaged as its own ObjectStack app package (ADR-0048: one app per package).", "main": "dist/index.js", diff --git a/packages/apps/studio/CHANGELOG.md b/packages/apps/studio/CHANGELOG.md index 3b0d39ab0b..7a48420089 100644 --- a/packages/apps/studio/CHANGELOG.md +++ b/packages/apps/studio/CHANGELOG.md @@ -1,5 +1,22 @@ # @objectstack/studio +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/apps/studio/package.json b/packages/apps/studio/package.json index 9344cd92d5..be2af75946 100644 --- a/packages/apps/studio/package.json +++ b/packages/apps/studio/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/studio", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "ObjectStack Studio — the metadata builder app, packaged as its own ObjectStack app package (ADR-0048: one app per package).", "main": "dist/index.js", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index ae7574d775..427dae7668 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,73 @@ # @objectstack/cli +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [cfd86ce] +- Updated dependencies [70609af] +- Updated dependencies [61ed5c7] +- Updated dependencies [ee86099] +- Updated dependencies [3187952] +- Updated dependencies [a581385] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [00c32f2] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] +- Updated dependencies [0feea92] + - @objectstack/driver-sql@10.0.0 + - @objectstack/objectql@10.0.0 + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/plugin-sharing@10.0.0 + - @objectstack/plugin-security@10.0.0 + - @objectstack/runtime@10.0.0 + - @objectstack/plugin-approvals@10.0.0 + - @objectstack/formula@10.0.0 + - @objectstack/service-analytics@10.0.0 + - @objectstack/verify@10.0.0 + - @objectstack/rest@10.0.0 + - @objectstack/plugin-hono-server@10.0.0 + - @objectstack/driver-sqlite-wasm@10.0.0 + - @objectstack/service-datasource@10.0.0 + - @objectstack/client@10.0.0 + - @objectstack/trigger-record-change@10.0.0 + - @objectstack/account@10.0.0 + - @objectstack/setup@10.0.0 + - @objectstack/studio@10.0.0 + - @objectstack/cloud-connection@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/mcp@10.0.0 + - @objectstack/observability@10.0.0 + - @objectstack/driver-memory@10.0.0 + - @objectstack/driver-mongodb@10.0.0 + - @objectstack/plugin-audit@10.0.0 + - @objectstack/plugin-auth@10.0.0 + - @objectstack/plugin-email@10.0.0 + - @objectstack/plugin-org-scoping@10.0.0 + - @objectstack/plugin-reports@10.0.0 + - @objectstack/plugin-webhooks@10.0.0 + - @objectstack/service-ai@10.0.0 + - @objectstack/service-automation@10.0.0 + - @objectstack/service-cache@10.0.0 + - @objectstack/service-job@10.0.0 + - @objectstack/service-messaging@10.0.0 + - @objectstack/service-package@10.0.0 + - @objectstack/service-queue@10.0.0 + - @objectstack/service-realtime@10.0.0 + - @objectstack/service-settings@10.0.0 + - @objectstack/service-storage@10.0.0 + - @objectstack/trigger-api@10.0.0 + - @objectstack/trigger-schedule@10.0.0 + - @objectstack/types@10.0.0 + - @objectstack/console@10.0.0 + ## 9.11.0 ### Minor Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 1806518212..95241d7a63 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/cli", - "version": "9.11.0", + "version": "10.0.0", "description": "Command Line Interface for ObjectStack Protocol", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/client-react/CHANGELOG.md b/packages/client-react/CHANGELOG.md index 9fcfd308a3..3e8abc50b7 100644 --- a/packages/client-react/CHANGELOG.md +++ b/packages/client-react/CHANGELOG.md @@ -1,5 +1,20 @@ # @objectstack/client-react +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/client@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/client-react/package.json b/packages/client-react/package.json index 1fefbaa107..e11895e082 100644 --- a/packages/client-react/package.json +++ b/packages/client-react/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/client-react", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "React hooks for ObjectStack Client SDK", "main": "dist/index.js", diff --git a/packages/client/CHANGELOG.md b/packages/client/CHANGELOG.md index fca8771262..7e4dbd1913 100644 --- a/packages/client/CHANGELOG.md +++ b/packages/client/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/client +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/client/package.json b/packages/client/package.json index 4a2c1a93d2..280f016d95 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/client", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Official Client SDK for ObjectStack Protocol", "main": "dist/index.js", diff --git a/packages/cloud-connection/CHANGELOG.md b/packages/cloud-connection/CHANGELOG.md index ab052474c6..311b08ae6f 100644 --- a/packages/cloud-connection/CHANGELOG.md +++ b/packages/cloud-connection/CHANGELOG.md @@ -1,5 +1,22 @@ # @objectstack/cloud-connection +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/runtime@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/types@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/cloud-connection/package.json b/packages/cloud-connection/package.json index 592ff1d3fd..2255a572f1 100644 --- a/packages/cloud-connection/package.json +++ b/packages/cloud-connection/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/cloud-connection", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Runtime-side client for an ObjectStack cloud control plane — marketplace browse proxy, install-local, device-code binding, org catalog and installed views, and the /api/v1/runtime/config discovery endpoint. Open mechanism (ADR-0008): the hub service, plan policy, and entitlements stay server-side.", "type": "module", diff --git a/packages/connectors/connector-mcp/CHANGELOG.md b/packages/connectors/connector-mcp/CHANGELOG.md index 6ed8963aff..3ee8081c03 100644 --- a/packages/connectors/connector-mcp/CHANGELOG.md +++ b/packages/connectors/connector-mcp/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/connector-mcp +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/connectors/connector-mcp/package.json b/packages/connectors/connector-mcp/package.json index c98dda423b..24dc2ba8dd 100644 --- a/packages/connectors/connector-mcp/package.json +++ b/packages/connectors/connector-mcp/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/connector-mcp", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Model Context Protocol (MCP) connector for ObjectStack — a generic adapter that turns any MCP server's tools into a connector's actions on the automation engine's connector registry (ADR-0024).", "main": "dist/index.js", diff --git a/packages/connectors/connector-openapi/CHANGELOG.md b/packages/connectors/connector-openapi/CHANGELOG.md index 96412a5ee9..695335cd75 100644 --- a/packages/connectors/connector-openapi/CHANGELOG.md +++ b/packages/connectors/connector-openapi/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/connector-openapi +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/connectors/connector-openapi/package.json b/packages/connectors/connector-openapi/package.json index fac134fde4..149120fed4 100644 --- a/packages/connectors/connector-openapi/package.json +++ b/packages/connectors/connector-openapi/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/connector-openapi", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "OpenAPI 3.x connector generator for ObjectStack — turns a declarative OpenAPI document into connector actions on the automation engine's registry, with a self-contained static-auth HTTP transport (ADR-0023).", "main": "dist/index.js", diff --git a/packages/connectors/connector-rest/CHANGELOG.md b/packages/connectors/connector-rest/CHANGELOG.md index ea3d9688b2..813a7892c8 100644 --- a/packages/connectors/connector-rest/CHANGELOG.md +++ b/packages/connectors/connector-rest/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/connector-rest +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/connectors/connector-rest/package.json b/packages/connectors/connector-rest/package.json index 1985fee0ce..74dd3d18b8 100644 --- a/packages/connectors/connector-rest/package.json +++ b/packages/connectors/connector-rest/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/connector-rest", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Generic REST connector for ObjectStack — the reference concrete connector that registers a `request` action on the automation engine's connector registry (ADR-0018 §Addendum).", "main": "dist/index.js", diff --git a/packages/connectors/connector-slack/CHANGELOG.md b/packages/connectors/connector-slack/CHANGELOG.md index a8f9d4ae4c..25d83b52f9 100644 --- a/packages/connectors/connector-slack/CHANGELOG.md +++ b/packages/connectors/connector-slack/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/connector-slack +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/connectors/connector-slack/package.json b/packages/connectors/connector-slack/package.json index 911a96ecb1..113db56a9b 100644 --- a/packages/connectors/connector-slack/package.json +++ b/packages/connectors/connector-slack/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/connector-slack", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Slack Web API connector for ObjectStack — registers `chat.postMessage` / `chat.update` / `call` actions on the automation engine's connector registry (ADR-0018 §Addendum, ADR-0022).", "main": "dist/index.js", diff --git a/packages/console/CHANGELOG.md b/packages/console/CHANGELOG.md index f4cacd76df..b1e9c52898 100644 --- a/packages/console/CHANGELOG.md +++ b/packages/console/CHANGELOG.md @@ -1,5 +1,7 @@ # @objectstack/console +## 10.0.0 + ## 9.11.0 ## 9.10.0 diff --git a/packages/console/package.json b/packages/console/package.json index ad199b17d1..71f489c021 100644 --- a/packages/console/package.json +++ b/packages/console/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/console", - "version": "9.11.0", + "version": "10.0.0", "description": "Prebuilt Console SPA pinned to this @objectstack/framework release. Source of truth: @object-ui/console (https://github.com/objectstack-ai/objectui).", "license": "Apache-2.0", "homepage": "https://github.com/objectstack-ai/framework/tree/main/packages/console", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 377d7ec405..20e4f7d198 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,18 @@ # @objectstack/core +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index 40c7279a25..d0cf2d439d 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/core", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Microkernel Core for ObjectStack", "type": "module", diff --git a/packages/create-objectstack/CHANGELOG.md b/packages/create-objectstack/CHANGELOG.md index 7d706f5dfb..275c87acd6 100644 --- a/packages/create-objectstack/CHANGELOG.md +++ b/packages/create-objectstack/CHANGELOG.md @@ -1,5 +1,7 @@ # create-objectstack +## 10.0.0 + ## 9.11.0 ## 9.10.0 diff --git a/packages/create-objectstack/package.json b/packages/create-objectstack/package.json index 2b58f3b5ea..2d4380186d 100644 --- a/packages/create-objectstack/package.json +++ b/packages/create-objectstack/package.json @@ -1,6 +1,6 @@ { "name": "create-objectstack", - "version": "9.11.0", + "version": "10.0.0", "description": "Create a new ObjectStack project — npx create-objectstack", "bin": { "create-objectstack": "./bin/create-objectstack.js" diff --git a/packages/dogfood/CHANGELOG.md b/packages/dogfood/CHANGELOG.md index 0b7551d1f7..8bdcd105d3 100644 --- a/packages/dogfood/CHANGELOG.md +++ b/packages/dogfood/CHANGELOG.md @@ -1,5 +1,26 @@ # @objectstack/dogfood +## 0.0.3 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [cfd86ce] +- Updated dependencies [ee86099] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [0feea92] + - @objectstack/objectql@10.0.0 + - @objectstack/spec@10.0.0 + - @objectstack/plugin-security@10.0.0 + - @objectstack/verify@10.0.0 + - @objectstack/example-showcase@0.2.1 + - @objectstack/example-crm@4.0.55 + ## 0.0.2 ### Patch Changes diff --git a/packages/dogfood/package.json b/packages/dogfood/package.json index 49ffb0d9f0..7fe190cf43 100644 --- a/packages/dogfood/package.json +++ b/packages/dogfood/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/dogfood", - "version": "0.0.2", + "version": "0.0.3", "private": true, "license": "Apache-2.0", "description": "Dogfood regression gate — hand-written golden tests that boot real example apps through @objectstack/verify's in-process HTTP stack, pinning historical runtime regressions (#2018 timezone bucketing, #1994 cross-owner RLS, #2004 field fidelity) that static checks miss.", diff --git a/packages/downstream-contract/CHANGELOG.md b/packages/downstream-contract/CHANGELOG.md new file mode 100644 index 0000000000..a597e5089b --- /dev/null +++ b/packages/downstream-contract/CHANGELOG.md @@ -0,0 +1,14 @@ +# @objectstack/downstream-contract + +## 0.0.1 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 diff --git a/packages/downstream-contract/package.json b/packages/downstream-contract/package.json index eeefcaa674..3d0111f766 100644 --- a/packages/downstream-contract/package.json +++ b/packages/downstream-contract/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/downstream-contract", - "version": "0.0.0", + "version": "0.0.1", "description": "Frozen third-party consumer fixture — a backward-compatibility gate for @objectstack/spec. Authored the way an external project on a published release authors metadata; if a spec change breaks it, that change is breaking (#2035).", "license": "Apache-2.0", "private": true, diff --git a/packages/formula/CHANGELOG.md b/packages/formula/CHANGELOG.md index d1afcb87d6..dfb4f84b50 100644 --- a/packages/formula/CHANGELOG.md +++ b/packages/formula/CHANGELOG.md @@ -1,5 +1,31 @@ # @objectstack/formula +## 10.0.0 + +### Minor Changes + +- cfd86ce: ADR-0058 — expression & predicate surface unification. Adds the canonical + CEL→FilterCondition pushdown compiler in `@objectstack/formula` + (`compileCelToFilter`, `isPushdownableCel`, `lowerCelAst`) plus an in-memory + `matchesFilterCondition` backend (one AST, three backends). `plugin-security` + (RLS `using`, via a SQL bridge) and `plugin-sharing` (`celToFilter`) cut over to + it, retiring the bespoke regex/field-equality front-ends. Compound sharing + conditions now compile and enforce end-to-end (closes #1887). The RLS `check` + clause is now enforced on the write post-image (insert/by-id update), fail-closed. + Non-pushdownable predicates (arithmetic, functions, subqueries, cross-object) are + an authoring compile error, never silently dropped (ADR-0049/0055). + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/formula/package.json b/packages/formula/package.json index eed28407af..44346285ec 100644 --- a/packages/formula/package.json +++ b/packages/formula/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/formula", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "ObjectStack canonical expression engine — CEL (cel-js) + ObjectStack stdlib + dialect registry", "main": "dist/index.js", diff --git a/packages/mcp/CHANGELOG.md b/packages/mcp/CHANGELOG.md index 80c4d1d954..ff72c6e0a7 100644 --- a/packages/mcp/CHANGELOG.md +++ b/packages/mcp/CHANGELOG.md @@ -1,5 +1,20 @@ # @objectstack/plugin-mcp-server +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/types@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/mcp/package.json b/packages/mcp/package.json index f89b04f179..5783298fb9 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/mcp", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "ObjectStack as an MCP server — exposes your app's objects (and AI tools) over the Model Context Protocol (stdio + Streamable HTTP)", "type": "module", diff --git a/packages/metadata-core/CHANGELOG.md b/packages/metadata-core/CHANGELOG.md index 3e1a9f8323..5aa3710743 100644 --- a/packages/metadata-core/CHANGELOG.md +++ b/packages/metadata-core/CHANGELOG.md @@ -1,5 +1,18 @@ # @objectstack/metadata-core +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/metadata-core/package.json b/packages/metadata-core/package.json index 71352530ec..37e6e3f3dc 100644 --- a/packages/metadata-core/package.json +++ b/packages/metadata-core/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/metadata-core", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Metadata Repository contracts: types, canonicalization, errors, interface (ADR-0008).", "type": "module", diff --git a/packages/metadata-fs/CHANGELOG.md b/packages/metadata-fs/CHANGELOG.md index e8fd51cbbd..d9d6c58e94 100644 --- a/packages/metadata-fs/CHANGELOG.md +++ b/packages/metadata-fs/CHANGELOG.md @@ -1,5 +1,11 @@ # @objectstack/metadata-fs +## 10.0.0 + +### Patch Changes + +- @objectstack/metadata-core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/metadata-fs/package.json b/packages/metadata-fs/package.json index 3c3e9f20e4..1f7cd25211 100644 --- a/packages/metadata-fs/package.json +++ b/packages/metadata-fs/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/metadata-fs", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "FileSystemRepository: Node-only Repository implementation backed by JSON files and a JSONL change log (ADR-0008).", "type": "module", diff --git a/packages/metadata/CHANGELOG.md b/packages/metadata/CHANGELOG.md index b8f406cdd6..fb57dbca3c 100644 --- a/packages/metadata/CHANGELOG.md +++ b/packages/metadata/CHANGELOG.md @@ -1,5 +1,26 @@ # @objectstack/metadata +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/metadata-core@10.0.0 + - @objectstack/types@10.0.0 + - @objectstack/metadata-fs@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/metadata/package.json b/packages/metadata/package.json index bfe1930978..103f4bac78 100644 --- a/packages/metadata/package.json +++ b/packages/metadata/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/metadata", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Metadata loading, saving, and persistence for ObjectStack", "type": "module", diff --git a/packages/objectql/CHANGELOG.md b/packages/objectql/CHANGELOG.md index 7fa0428541..4544ba58a7 100644 --- a/packages/objectql/CHANGELOG.md +++ b/packages/objectql/CHANGELOG.md @@ -1,5 +1,61 @@ # @objectstack/objectql +## 10.0.0 + +### Minor Changes + +- e16f2a8: **BREAKING:** the system object `sys_department` is renamed to `sys_business_unit` + — object + member table (`sys_department_member` → `sys_business_unit_member`), + fields, and i18n — with **no compatibility alias**. Any deployment holding + `sys_department` rows, or metadata that references the object by name (lookups, + list views, queries, sharing/approval scopes), must migrate to `sys_business_unit`. + A renamed shipped system object is a breaking change to the platform's public + data surface, so this lands as a **major**. Verified per ADR-0059's pre-publish + hotcrm gate: no published downstream consumer references the old name. + + ADR-0057 — ERP authorization core. Adds permission-grant access DEPTH + (`own`/`own_and_reports`/`unit`/`unit_and_below`/`org`), renames `sys_department` + → `sys_business_unit` (no aliases — see BREAKING above), introduces the platform-owned + `sys_user_role` assignment, and seeds stack-declared `roles`/`sharingRules` into + `sys_role`/`sys_sharing_rule` at boot (closes #2077). Hierarchy-relative scopes are + delegated to a pluggable `IHierarchyScopeResolver` (open edition fails closed to + owner-only; `defineStack` errors without `requires: ['hierarchy-security']`). Also + fixes a latent over-grant where `engine.find({ filter })` was ignored (driver reads + `where`) — normalized `filter`→`where` in the engine. + +### Patch Changes + +- 2a1b16b: fix(ADR-0015): honor `external.remoteName` / `external.remoteSchema` on the federation read path. + + The query path previously resolved an external object's physical table from the + object name, ignoring its `external` binding — so a federated object bound to a + differently-named remote table failed with `no such table`, and ADR-0015's own + `wh_order` → `mart.fact_orders` example was unqueryable. The SQL driver now + resolves the remote table (`remoteName`, plus `remoteSchema` via `.withSchema()` + on pg/mysql) and registers external objects' read-coercion metadata without DDL + (`SqlDriver.registerExternalObject`, routed from the engine/plugin schema-sync). + The managed path is unchanged. See ADR-0015 §18. + +- 3efe334: Honor a nested `where` filter inside `expand` on lookup/master_detail expansion. + + The expand post-processor batch-loads related records with an `id $in [...]` query but never merged the nested QueryAST `where`, so a documented `expand: { rel: { where: {...} } }` filter was silently ignored and every related record came back. The nested filter is now AND-merged into the batch query via an explicit `$and` group (`{ $and: [{ id: { $in } }, nestedAST.where] }`) — robust against a nested filter that itself keys `id` or uses a top-level `$or`/`$and`, where a shallow spread would clobber or reorder the constraint. + + `limit`/`offset`/`orderBy` remain intentionally not honored on the expand path: it batch-loads every parent's related records in one `$in` query and re-keys them per parent by foreign key, so a per-parent page size or ordering can't be expressed there. Docs and the schema `describe()` are updated to match, with a guard test asserting `limit`/`offset` are not pushed into the expand query. + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [cfd86ce] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/formula@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/metadata-core@10.0.0 + - @objectstack/types@10.0.0 + ## 9.11.0 ### Minor Changes diff --git a/packages/objectql/package.json b/packages/objectql/package.json index 27ca8438b2..7f6fef4b2a 100644 --- a/packages/objectql/package.json +++ b/packages/objectql/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/objectql", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Isomorphic ObjectQL Engine for ObjectStack", "main": "dist/index.js", diff --git a/packages/observability/CHANGELOG.md b/packages/observability/CHANGELOG.md index 11c3a22f4a..0c47585f2c 100644 --- a/packages/observability/CHANGELOG.md +++ b/packages/observability/CHANGELOG.md @@ -1,5 +1,18 @@ # @objectstack/observability +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/observability/package.json b/packages/observability/package.json index 0211ca97f9..25667b411c 100644 --- a/packages/observability/package.json +++ b/packages/observability/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/observability", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Observability contracts and exporters for ObjectStack — MetricsRegistry, ErrorReporter, Logger plus noop/console/OTLP-HTTP exporters. Deployment-target neutral; runtime and services depend on this so the same instrumentation works on Cloudflare Workers, Node, and self-hosted Kubernetes.", "type": "module", diff --git a/packages/platform-objects/CHANGELOG.md b/packages/platform-objects/CHANGELOG.md index 2709eb1ac8..fb065edac1 100644 --- a/packages/platform-objects/CHANGELOG.md +++ b/packages/platform-objects/CHANGELOG.md @@ -1,5 +1,64 @@ # @objectstack/platform-objects +## 10.0.0 + +### Major Changes + +- e16f2a8: **BREAKING:** the system object `sys_department` is renamed to `sys_business_unit` + — object + member table (`sys_department_member` → `sys_business_unit_member`), + fields, and i18n — with **no compatibility alias**. Any deployment holding + `sys_department` rows, or metadata that references the object by name (lookups, + list views, queries, sharing/approval scopes), must migrate to `sys_business_unit`. + A renamed shipped system object is a breaking change to the platform's public + data surface, so this lands as a **major**. Verified per ADR-0059's pre-publish + hotcrm gate: no published downstream consumer references the old name. + + ADR-0057 — ERP authorization core. Adds permission-grant access DEPTH + (`own`/`own_and_reports`/`unit`/`unit_and_below`/`org`), renames `sys_department` + → `sys_business_unit` (no aliases — see BREAKING above), introduces the platform-owned + `sys_user_role` assignment, and seeds stack-declared `roles`/`sharingRules` into + `sys_role`/`sys_sharing_rule` at boot (closes #2077). Hierarchy-relative scopes are + delegated to a pluggable `IHierarchyScopeResolver` (open edition fails closed to + owner-only; `defineStack` errors without `requires: ['hierarchy-security']`). Also + fixes a latent over-grant where `engine.find({ filter })` was ignored (driver reads + `where`) — normalized `filter`→`where` in the engine. + +### Minor Changes + +- 7108ff3: Drop the unused `team` value from `sys_business_unit.kind` (ADR-0057 addendum D11). + + The `team` kind collided head-on with the first-class `sys_team` object: a + `kind='team'` business unit walks the hierarchical `BusinessUnitGraphService`, + while `sys_team` is the flat better-auth collaboration grouping served by + `TeamGraphService`. `kind` is a display-only categorisation hint (it does not + change graph semantics) and had **zero** usages anywhere in the repo, so this is a + safe narrowing with no data migration. New enum: + `company | division | department | office | cost_center`. + +- 47d978a: Add `manager_id` (self-lookup) to `sys_user` — the reporting chain that the ADR-0057 `own_and_reports` hierarchy scope walks. + + The `own_and_reports` scope was implemented in the resolver but **unbacked**: nothing on `sys_user` modelled a manager, so it always degraded to owner-only. This adds the field (+ en/zh/ja/es labels) and extends the scope-depth dogfood to prove the scope end-to-end — a user now sees their own records plus everyone down their `manager_id` chain. + +### Patch Changes + +- 61ed5c7: Complete the ADR-0057 `sys_department` → `sys_business_unit` rename in the Setup app and across the object's i18n (en / zh / ja / es). + + - Setup nav entry "Departments" → "Business Units" (`nav_departments` → `nav_business_units`). + - `sys_business_unit` / `sys_business_unit_member` field **labels and descriptions** in the object definitions now read "business unit" instead of "department" (the generated `en` labels had been hand-updated ahead of the def; the def was the stale source). + - All four locales' generated object translations aligned to 业务单元 / ビジネスユニット / Unidad de negocio. + + Intentionally preserved: the `kind` enum value `department` (a business unit can be _of kind_ department) and the multi-concept node descriptions that list kinds. + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/metadata-core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/platform-objects/package.json b/packages/platform-objects/package.json index 8e0b818acd..60b4cb9cb6 100644 --- a/packages/platform-objects/package.json +++ b/packages/platform-objects/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/platform-objects", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Core platform object schemas for ObjectStack — identity, security, audit, tenant, and metadata objects", "main": "dist/index.js", diff --git a/packages/plugins/driver-memory/CHANGELOG.md b/packages/plugins/driver-memory/CHANGELOG.md index 683d9be7bc..0eeaa8a70c 100644 --- a/packages/plugins/driver-memory/CHANGELOG.md +++ b/packages/plugins/driver-memory/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/driver-memory +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/driver-memory/package.json b/packages/plugins/driver-memory/package.json index 0f088cfbb3..f449196e36 100644 --- a/packages/plugins/driver-memory/package.json +++ b/packages/plugins/driver-memory/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/driver-memory", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "In-Memory Driver for ObjectStack (Reference Implementation)", "main": "dist/index.js", diff --git a/packages/plugins/driver-mongodb/CHANGELOG.md b/packages/plugins/driver-mongodb/CHANGELOG.md index c7927a4e34..148f7d84a1 100644 --- a/packages/plugins/driver-mongodb/CHANGELOG.md +++ b/packages/plugins/driver-mongodb/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/driver-mongodb +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/driver-mongodb/package.json b/packages/plugins/driver-mongodb/package.json index 67b89dfd40..bfc8607fbe 100644 --- a/packages/plugins/driver-mongodb/package.json +++ b/packages/plugins/driver-mongodb/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/driver-mongodb", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "MongoDB Driver for ObjectStack - Native document database driver via official mongodb client", "main": "dist/index.js", diff --git a/packages/plugins/driver-sql/CHANGELOG.md b/packages/plugins/driver-sql/CHANGELOG.md index 3b8b986a96..f4005c938a 100644 --- a/packages/plugins/driver-sql/CHANGELOG.md +++ b/packages/plugins/driver-sql/CHANGELOG.md @@ -1,5 +1,30 @@ # @objectstack/driver-sql +## 10.0.0 + +### Patch Changes + +- 2a1b16b: fix(ADR-0015): honor `external.remoteName` / `external.remoteSchema` on the federation read path. + + The query path previously resolved an external object's physical table from the + object name, ignoring its `external` binding — so a federated object bound to a + differently-named remote table failed with `no such table`, and ADR-0015's own + `wh_order` → `mart.fact_orders` example was unqueryable. The SQL driver now + resolves the remote table (`remoteName`, plus `remoteSchema` via `.withSchema()` + on pg/mysql) and registers external objects' read-coercion metadata without DDL + (`SqlDriver.registerExternalObject`, routed from the engine/plugin schema-sync). + The managed path is unchanged. See ADR-0015 §18. + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Minor Changes diff --git a/packages/plugins/driver-sql/package.json b/packages/plugins/driver-sql/package.json index c6a4931f7d..940804e8ea 100644 --- a/packages/plugins/driver-sql/package.json +++ b/packages/plugins/driver-sql/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/driver-sql", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "SQL Driver for ObjectStack - Supports PostgreSQL, MySQL, SQLite via Knex", "main": "dist/index.js", diff --git a/packages/plugins/driver-sqlite-wasm/CHANGELOG.md b/packages/plugins/driver-sqlite-wasm/CHANGELOG.md index c0da7a2b26..0d1b13df36 100644 --- a/packages/plugins/driver-sqlite-wasm/CHANGELOG.md +++ b/packages/plugins/driver-sqlite-wasm/CHANGELOG.md @@ -1,5 +1,20 @@ # @objectstack/driver-sqlite-wasm +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/driver-sql@10.0.0 + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/driver-sqlite-wasm/package.json b/packages/plugins/driver-sqlite-wasm/package.json index 4d7183c9ef..b8339da0c6 100644 --- a/packages/plugins/driver-sqlite-wasm/package.json +++ b/packages/plugins/driver-sqlite-wasm/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/driver-sqlite-wasm", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "WASM SQLite Driver for ObjectStack — runs in browser/WebContainer (StackBlitz) without native bindings", "keywords": [ diff --git a/packages/plugins/embedder-openai/CHANGELOG.md b/packages/plugins/embedder-openai/CHANGELOG.md index 4f1dc10fb6..ca42f47225 100644 --- a/packages/plugins/embedder-openai/CHANGELOG.md +++ b/packages/plugins/embedder-openai/CHANGELOG.md @@ -1,5 +1,18 @@ # @objectstack/embedder-openai +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/embedder-openai/package.json b/packages/plugins/embedder-openai/package.json index 07326a319a..7aec2a8b52 100644 --- a/packages/plugins/embedder-openai/package.json +++ b/packages/plugins/embedder-openai/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/embedder-openai", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "OpenAI-compatible embedder for ObjectStack — works against OpenAI, 阿里通义 DashScope, 智谱 BigModel, 硅基流动 SiliconFlow, 火山引擎 Doubao, MiniMax, Ollama, and any drop-in OpenAI-shape endpoint.", "main": "dist/index.js", diff --git a/packages/plugins/knowledge-memory/CHANGELOG.md b/packages/plugins/knowledge-memory/CHANGELOG.md index f2831907db..ec67cd54e6 100644 --- a/packages/plugins/knowledge-memory/CHANGELOG.md +++ b/packages/plugins/knowledge-memory/CHANGELOG.md @@ -1,5 +1,20 @@ # @objectstack/knowledge-memory +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/service-knowledge@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/knowledge-memory/package.json b/packages/plugins/knowledge-memory/package.json index b2580d548f..6cddedc279 100644 --- a/packages/plugins/knowledge-memory/package.json +++ b/packages/plugins/knowledge-memory/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/knowledge-memory", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "In-memory knowledge adapter for ObjectStack (dev / test reference implementation).", "main": "dist/index.js", diff --git a/packages/plugins/knowledge-ragflow/CHANGELOG.md b/packages/plugins/knowledge-ragflow/CHANGELOG.md index abeef91414..8f80dddbfa 100644 --- a/packages/plugins/knowledge-ragflow/CHANGELOG.md +++ b/packages/plugins/knowledge-ragflow/CHANGELOG.md @@ -1,5 +1,20 @@ # @objectstack/knowledge-ragflow +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/service-knowledge@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/knowledge-ragflow/package.json b/packages/plugins/knowledge-ragflow/package.json index d5758c8bcb..8590295b3b 100644 --- a/packages/plugins/knowledge-ragflow/package.json +++ b/packages/plugins/knowledge-ragflow/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/knowledge-ragflow", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "RAGFlow knowledge adapter for ObjectStack — production-grade RAG via the Apache 2.0 RAGFlow REST API.", "main": "dist/index.js", diff --git a/packages/plugins/plugin-approvals/CHANGELOG.md b/packages/plugins/plugin-approvals/CHANGELOG.md index 71068a9a16..913eaad0e1 100644 --- a/packages/plugins/plugin-approvals/CHANGELOG.md +++ b/packages/plugins/plugin-approvals/CHANGELOG.md @@ -1,5 +1,45 @@ # @objectstack/plugin-approvals +## 10.0.0 + +### Patch Changes + +- e16f2a8: **BREAKING:** the system object `sys_department` is renamed to `sys_business_unit` + — object + member table (`sys_department_member` → `sys_business_unit_member`), + fields, and i18n — with **no compatibility alias**. Any deployment holding + `sys_department` rows, or metadata that references the object by name (lookups, + list views, queries, sharing/approval scopes), must migrate to `sys_business_unit`. + A renamed shipped system object is a breaking change to the platform's public + data surface, so this lands as a **major**. Verified per ADR-0059's pre-publish + hotcrm gate: no published downstream consumer references the old name. + + ADR-0057 — ERP authorization core. Adds permission-grant access DEPTH + (`own`/`own_and_reports`/`unit`/`unit_and_below`/`org`), renames `sys_department` + → `sys_business_unit` (no aliases — see BREAKING above), introduces the platform-owned + `sys_user_role` assignment, and seeds stack-declared `roles`/`sharingRules` into + `sys_role`/`sys_sharing_rule` at boot (closes #2077). Hierarchy-relative scopes are + delegated to a pluggable `IHierarchyScopeResolver` (open edition fails closed to + owner-only; `defineStack` errors without `requires: ['hierarchy-security']`). Also + fixes a latent over-grant where `engine.find({ filter })` was ignored (driver reads + `where`) — normalized `filter`→`where` in the engine. + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [cfd86ce] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/formula@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/metadata-core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/plugin-approvals/package.json b/packages/plugins/plugin-approvals/package.json index 9bc8e638b7..ca34198ab9 100644 --- a/packages/plugins/plugin-approvals/package.json +++ b/packages/plugins/plugin-approvals/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/plugin-approvals", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Multi-step approval engine for ObjectStack — sys_approval_process + sys_approval_request + sys_approval_action + IApprovalService.", "main": "dist/index.js", diff --git a/packages/plugins/plugin-audit/CHANGELOG.md b/packages/plugins/plugin-audit/CHANGELOG.md index 161ceaed0f..e5db09e215 100644 --- a/packages/plugins/plugin-audit/CHANGELOG.md +++ b/packages/plugins/plugin-audit/CHANGELOG.md @@ -1,5 +1,23 @@ # @objectstack/plugin-audit +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/plugin-audit/package.json b/packages/plugins/plugin-audit/package.json index 01d046eb09..598ce0e8e2 100644 --- a/packages/plugins/plugin-audit/package.json +++ b/packages/plugins/plugin-audit/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/plugin-audit", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Audit Plugin for ObjectStack — System audit log object and audit trail", "main": "dist/index.js", diff --git a/packages/plugins/plugin-auth/CHANGELOG.md b/packages/plugins/plugin-auth/CHANGELOG.md index a8a90abf44..1e0097cc31 100644 --- a/packages/plugins/plugin-auth/CHANGELOG.md +++ b/packages/plugins/plugin-auth/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/types@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/plugin-auth/package.json b/packages/plugins/plugin-auth/package.json index eb7e59278b..c4365e16e3 100644 --- a/packages/plugins/plugin-auth/package.json +++ b/packages/plugins/plugin-auth/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/plugin-auth", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Authentication & Identity Plugin for ObjectStack", "main": "dist/index.js", diff --git a/packages/plugins/plugin-dev/CHANGELOG.md b/packages/plugins/plugin-dev/CHANGELOG.md index 3756de1715..2146ab9f6c 100644 --- a/packages/plugins/plugin-dev/CHANGELOG.md +++ b/packages/plugins/plugin-dev/CHANGELOG.md @@ -1,5 +1,35 @@ # @objectstack/plugin-dev +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [cfd86ce] +- Updated dependencies [a581385] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [00c32f2] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/objectql@10.0.0 + - @objectstack/spec@10.0.0 + - @objectstack/plugin-security@10.0.0 + - @objectstack/runtime@10.0.0 + - @objectstack/rest@10.0.0 + - @objectstack/plugin-hono-server@10.0.0 + - @objectstack/account@10.0.0 + - @objectstack/setup@10.0.0 + - @objectstack/studio@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/driver-memory@10.0.0 + - @objectstack/plugin-auth@10.0.0 + - @objectstack/plugin-org-scoping@10.0.0 + - @objectstack/service-i18n@10.0.0 + - @objectstack/types@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/plugin-dev/package.json b/packages/plugins/plugin-dev/package.json index b7212adfde..a71b0f1de4 100644 --- a/packages/plugins/plugin-dev/package.json +++ b/packages/plugins/plugin-dev/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/plugin-dev", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Development Mode Plugin for ObjectStack — auto-enables all services with in-memory implementations", "main": "dist/index.js", diff --git a/packages/plugins/plugin-email/CHANGELOG.md b/packages/plugins/plugin-email/CHANGELOG.md index df4cae2870..fd245e3846 100644 --- a/packages/plugins/plugin-email/CHANGELOG.md +++ b/packages/plugins/plugin-email/CHANGELOG.md @@ -1,5 +1,25 @@ # @objectstack/plugin-email +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [cfd86ce] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/formula@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/plugin-email/package.json b/packages/plugins/plugin-email/package.json index db1d404283..2cff557036 100644 --- a/packages/plugins/plugin-email/package.json +++ b/packages/plugins/plugin-email/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/plugin-email", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Email service plugin for ObjectStack — IEmailService + transport-pluggable outbound delivery with sys_email persistence.", "main": "dist/index.js", diff --git a/packages/plugins/plugin-hono-server/CHANGELOG.md b/packages/plugins/plugin-hono-server/CHANGELOG.md index 332b549e07..99f97e0216 100644 --- a/packages/plugins/plugin-hono-server/CHANGELOG.md +++ b/packages/plugins/plugin-hono-server/CHANGELOG.md @@ -1,5 +1,31 @@ # @objectstack/plugin-hono-server +## 10.0.0 + +### Minor Changes + +- 00c32f2: Expose resolved regional defaults to every authenticated user. + + Adds `GET /api/v1/auth/me/localization` returning the request tenant's resolved + `{ currency, locale, timezone }` from the ExecutionContext (ADR-0053). The + `localization` SETTINGS are gated to `setup.access`, but the resolved defaults + are needed by every renderer to format currency/dates/numbers — so they are + surfaced here without that gate. Enables a client to format a currency field + in the tenant's default currency when the field omits its own. + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/types@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/plugin-hono-server/package.json b/packages/plugins/plugin-hono-server/package.json index 716a040642..b739cc29d3 100644 --- a/packages/plugins/plugin-hono-server/package.json +++ b/packages/plugins/plugin-hono-server/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/plugin-hono-server", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Standard Hono Server Adapter for ObjectStack Runtime", "main": "dist/index.js", diff --git a/packages/plugins/plugin-msw/CHANGELOG.md b/packages/plugins/plugin-msw/CHANGELOG.md index a47de04505..8b83678813 100644 --- a/packages/plugins/plugin-msw/CHANGELOG.md +++ b/packages/plugins/plugin-msw/CHANGELOG.md @@ -1,5 +1,23 @@ # @objectstack/plugin-msw +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/objectql@10.0.0 + - @objectstack/spec@10.0.0 + - @objectstack/runtime@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/types@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/plugin-msw/package.json b/packages/plugins/plugin-msw/package.json index a8c18fa020..566745d11b 100644 --- a/packages/plugins/plugin-msw/package.json +++ b/packages/plugins/plugin-msw/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/plugin-msw", - "version": "9.11.0", + "version": "10.0.0", "description": "MSW (Mock Service Worker) Plugin for ObjectStack Runtime", "license": "Apache-2.0", "main": "dist/index.js", diff --git a/packages/plugins/plugin-org-scoping/CHANGELOG.md b/packages/plugins/plugin-org-scoping/CHANGELOG.md index acfc6229c8..36043922cd 100644 --- a/packages/plugins/plugin-org-scoping/CHANGELOG.md +++ b/packages/plugins/plugin-org-scoping/CHANGELOG.md @@ -1,5 +1,23 @@ # @objectstack/plugin-org-scoping +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/plugin-org-scoping/package.json b/packages/plugins/plugin-org-scoping/package.json index fb7653326d..1b4016f741 100644 --- a/packages/plugins/plugin-org-scoping/package.json +++ b/packages/plugins/plugin-org-scoping/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/plugin-org-scoping", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Organization-Scoping Plugin for ObjectStack — row-level Organization isolation, per-org seed replay, default-org bootstrap", "main": "dist/index.js", diff --git a/packages/plugins/plugin-reports/CHANGELOG.md b/packages/plugins/plugin-reports/CHANGELOG.md index 612f7627c9..460484b424 100644 --- a/packages/plugins/plugin-reports/CHANGELOG.md +++ b/packages/plugins/plugin-reports/CHANGELOG.md @@ -1,5 +1,23 @@ # @objectstack/plugin-reports +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/plugin-reports/package.json b/packages/plugins/plugin-reports/package.json index e1588c4e95..9db0285c69 100644 --- a/packages/plugins/plugin-reports/package.json +++ b/packages/plugins/plugin-reports/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/plugin-reports", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Saved reports + scheduled email digests for ObjectStack — sys_saved_report + sys_report_schedule + IReportService.", "main": "dist/index.js", diff --git a/packages/plugins/plugin-security/CHANGELOG.md b/packages/plugins/plugin-security/CHANGELOG.md index 04013b01ca..e0b020caf1 100644 --- a/packages/plugins/plugin-security/CHANGELOG.md +++ b/packages/plugins/plugin-security/CHANGELOG.md @@ -1,5 +1,66 @@ # @objectstack/plugin-security +## 10.0.0 + +### Minor Changes + +- e16f2a8: **BREAKING:** the system object `sys_department` is renamed to `sys_business_unit` + — object + member table (`sys_department_member` → `sys_business_unit_member`), + fields, and i18n — with **no compatibility alias**. Any deployment holding + `sys_department` rows, or metadata that references the object by name (lookups, + list views, queries, sharing/approval scopes), must migrate to `sys_business_unit`. + A renamed shipped system object is a breaking change to the platform's public + data surface, so this lands as a **major**. Verified per ADR-0059's pre-publish + hotcrm gate: no published downstream consumer references the old name. + + ADR-0057 — ERP authorization core. Adds permission-grant access DEPTH + (`own`/`own_and_reports`/`unit`/`unit_and_below`/`org`), renames `sys_department` + → `sys_business_unit` (no aliases — see BREAKING above), introduces the platform-owned + `sys_user_role` assignment, and seeds stack-declared `roles`/`sharingRules` into + `sys_role`/`sys_sharing_rule` at boot (closes #2077). Hierarchy-relative scopes are + delegated to a pluggable `IHierarchyScopeResolver` (open edition fails closed to + owner-only; `defineStack` errors without `requires: ['hierarchy-security']`). Also + fixes a latent over-grant where `engine.find({ filter })` was ignored (driver reads + `where`) — normalized `filter`→`where` in the engine. + +- cfd86ce: ADR-0058 — expression & predicate surface unification. Adds the canonical + CEL→FilterCondition pushdown compiler in `@objectstack/formula` + (`compileCelToFilter`, `isPushdownableCel`, `lowerCelAst`) plus an in-memory + `matchesFilterCondition` backend (one AST, three backends). `plugin-security` + (RLS `using`, via a SQL bridge) and `plugin-sharing` (`celToFilter`) cut over to + it, retiring the bespoke regex/field-equality front-ends. Compound sharing + conditions now compile and enforce end-to-end (closes #1887). The RLS `check` + clause is now enforced on the write post-image (insert/by-id update), fail-closed. + Non-pushdownable predicates (arithmetic, functions, subqueries, cross-object) are + an authoring compile error, never silently dropped (ADR-0049/0055). +- 6ca20b3: ADR-0058 D1 follow-through — RLS predicates are now canonical CEL. Migrated every + seeded RLS `using`/`check` (default permission sets, showcase, and the + `RLS.ownerPolicy`/`tenantPolicy`/`allowAllPolicy` helper factories) from the + legacy SQL-ish form (`=`, `IN (...)`) to pure CEL (`==`, `in`), so authors and AI + learn ONE expression language. The `sqlPredicateToCel` bridge is retained as a + DEPRECATED transitional shim: a stored SQL-style predicate still compiles (no + silent deny on legacy data) but emits a deprecation warn; canonical CEL passes + through as a no-op. No runtime behavior change — CEL and the old SQL form compile + to the identical FilterCondition. + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [cfd86ce] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/formula@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Minor Changes diff --git a/packages/plugins/plugin-security/package.json b/packages/plugins/plugin-security/package.json index fa22142fdd..93fc1d43a1 100644 --- a/packages/plugins/plugin-security/package.json +++ b/packages/plugins/plugin-security/package.json @@ -1,8 +1,8 @@ { "name": "@objectstack/plugin-security", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", - "description": "Security Plugin for ObjectStack \u2014 RBAC, RLS, and Field-Level Security Runtime", + "description": "Security Plugin for ObjectStack — RBAC, RLS, and Field-Level Security Runtime", "main": "dist/index.js", "types": "dist/index.d.ts", "exports": { diff --git a/packages/plugins/plugin-sharing/CHANGELOG.md b/packages/plugins/plugin-sharing/CHANGELOG.md index 696c4889ce..5f61b23128 100644 --- a/packages/plugins/plugin-sharing/CHANGELOG.md +++ b/packages/plugins/plugin-sharing/CHANGELOG.md @@ -1,5 +1,60 @@ # @objectstack/plugin-sharing +## 10.0.0 + +### Major Changes + +- e16f2a8: **BREAKING:** the system object `sys_department` is renamed to `sys_business_unit` + — object + member table (`sys_department_member` → `sys_business_unit_member`), + fields, and i18n — with **no compatibility alias**. Any deployment holding + `sys_department` rows, or metadata that references the object by name (lookups, + list views, queries, sharing/approval scopes), must migrate to `sys_business_unit`. + A renamed shipped system object is a breaking change to the platform's public + data surface, so this lands as a **major**. Verified per ADR-0059's pre-publish + hotcrm gate: no published downstream consumer references the old name. + + ADR-0057 — ERP authorization core. Adds permission-grant access DEPTH + (`own`/`own_and_reports`/`unit`/`unit_and_below`/`org`), renames `sys_department` + → `sys_business_unit` (no aliases — see BREAKING above), introduces the platform-owned + `sys_user_role` assignment, and seeds stack-declared `roles`/`sharingRules` into + `sys_role`/`sys_sharing_rule` at boot (closes #2077). Hierarchy-relative scopes are + delegated to a pluggable `IHierarchyScopeResolver` (open edition fails closed to + owner-only; `defineStack` errors without `requires: ['hierarchy-security']`). Also + fixes a latent over-grant where `engine.find({ filter })` was ignored (driver reads + `where`) — normalized `filter`→`where` in the engine. + +### Minor Changes + +- cfd86ce: ADR-0058 — expression & predicate surface unification. Adds the canonical + CEL→FilterCondition pushdown compiler in `@objectstack/formula` + (`compileCelToFilter`, `isPushdownableCel`, `lowerCelAst`) plus an in-memory + `matchesFilterCondition` backend (one AST, three backends). `plugin-security` + (RLS `using`, via a SQL bridge) and `plugin-sharing` (`celToFilter`) cut over to + it, retiring the bespoke regex/field-equality front-ends. Compound sharing + conditions now compile and enforce end-to-end (closes #1887). The RLS `check` + clause is now enforced on the write post-image (insert/by-id update), fail-closed. + Non-pushdownable predicates (arithmetic, functions, subqueries, cross-object) are + an authoring compile error, never silently dropped (ADR-0049/0055). + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [cfd86ce] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/objectql@10.0.0 + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/formula@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Minor Changes diff --git a/packages/plugins/plugin-sharing/package.json b/packages/plugins/plugin-sharing/package.json index c0bd9b6c1b..65e9f2508b 100644 --- a/packages/plugins/plugin-sharing/package.json +++ b/packages/plugins/plugin-sharing/package.json @@ -1,8 +1,8 @@ { "name": "@objectstack/plugin-sharing", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", - "description": "Record-level sharing for ObjectStack \u2014 sys_record_share + middleware that enforces sharingModel + ISharingService.", + "description": "Record-level sharing for ObjectStack — sys_record_share + middleware that enforces sharingModel + ISharingService.", "main": "dist/index.js", "types": "dist/index.d.ts", "exports": { diff --git a/packages/plugins/plugin-webhooks/CHANGELOG.md b/packages/plugins/plugin-webhooks/CHANGELOG.md index f9d0f9c31b..543f01a17e 100644 --- a/packages/plugins/plugin-webhooks/CHANGELOG.md +++ b/packages/plugins/plugin-webhooks/CHANGELOG.md @@ -1,5 +1,20 @@ # @objectstack/plugin-webhooks +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/service-messaging@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/plugins/plugin-webhooks/package.json b/packages/plugins/plugin-webhooks/package.json index 999cf7cfe3..c9b46e399f 100644 --- a/packages/plugins/plugin-webhooks/package.json +++ b/packages/plugins/plugin-webhooks/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/plugin-webhooks", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Persistent, cluster-aware webhook dispatcher. Durable outbox + per-partition cluster.lock for exactly-once-ish delivery across nodes. See content/docs/concepts/webhook-delivery.mdx.", "type": "module", diff --git a/packages/rest/CHANGELOG.md b/packages/rest/CHANGELOG.md index 08977b9477..8ee0db9ca4 100644 --- a/packages/rest/CHANGELOG.md +++ b/packages/rest/CHANGELOG.md @@ -1,5 +1,33 @@ # @objectstack/rest +## 10.0.0 + +### Minor Changes + +- 220ce5b: Resolve the tenant default currency onto ExecutionContext. + + Adds `ExecutionContext.currency` (ISO 4217) and resolves it from the + `localization.currency` setting alongside `timezone`/`locale` — in both the + runtime `resolveExecutionContext` and the REST mirror. This is the foundation + for the documented "applied when a currency field omits its own" fallback: the + tenant default is now carried on every request context, so analytics enrichment, + formatters, and renderers can resolve a measure/field currency down to the org + default instead of hard-coding it. Undefined when no tenant default is + configured (consumers then render a plain number). + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/service-package@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/rest/package.json b/packages/rest/package.json index 80ddca526c..4f94a006a2 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/rest", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "ObjectStack REST API Server - automatic REST endpoint generation from protocol", "type": "module", diff --git a/packages/runtime/CHANGELOG.md b/packages/runtime/CHANGELOG.md index 322dfc26f5..1f6876fc88 100644 --- a/packages/runtime/CHANGELOG.md +++ b/packages/runtime/CHANGELOG.md @@ -1,5 +1,84 @@ # @objectstack/runtime +## 10.0.0 + +### Minor Changes + +- e16f2a8: **BREAKING:** the system object `sys_department` is renamed to `sys_business_unit` + — object + member table (`sys_department_member` → `sys_business_unit_member`), + fields, and i18n — with **no compatibility alias**. Any deployment holding + `sys_department` rows, or metadata that references the object by name (lookups, + list views, queries, sharing/approval scopes), must migrate to `sys_business_unit`. + A renamed shipped system object is a breaking change to the platform's public + data surface, so this lands as a **major**. Verified per ADR-0059's pre-publish + hotcrm gate: no published downstream consumer references the old name. + + ADR-0057 — ERP authorization core. Adds permission-grant access DEPTH + (`own`/`own_and_reports`/`unit`/`unit_and_below`/`org`), renames `sys_department` + → `sys_business_unit` (no aliases — see BREAKING above), introduces the platform-owned + `sys_user_role` assignment, and seeds stack-declared `roles`/`sharingRules` into + `sys_role`/`sys_sharing_rule` at boot (closes #2077). Hierarchy-relative scopes are + delegated to a pluggable `IHierarchyScopeResolver` (open edition fails closed to + owner-only; `defineStack` errors without `requires: ['hierarchy-security']`). Also + fixes a latent over-grant where `engine.find({ filter })` was ignored (driver reads + `where`) — normalized `filter`→`where` in the engine. + +- 220ce5b: Resolve the tenant default currency onto ExecutionContext. + + Adds `ExecutionContext.currency` (ISO 4217) and resolves it from the + `localization.currency` setting alongside `timezone`/`locale` — in both the + runtime `resolveExecutionContext` and the REST mirror. This is the foundation + for the documented "applied when a currency field omits its own" fallback: the + tenant default is now carried on every request context, so analytics enrichment, + formatters, and renderers can resolve a measure/field currency down to the org + default instead of hard-coding it. Undefined when no tenant default is + configured (consumers then render a plain number). + +### Patch Changes + +- 47d978a: Fix: the artifact-serve path now honors an app-declared default permission-set + profile (`isProfile: true, isDefault: true`) under `objectstack dev`/`serve`/`start`. + + `createStandaloneStack` (the boot path used when serving a compiled + `dist/objectstack.json` with no host `objectstack.config.ts`) surfaced + `objects`/`requires`/`manifest` from the artifact bundle but dropped + `permissions[]` and `roles[]`. As a result the CLI's + `appDefaultProfileName(config.permissions)` saw `undefined` and the SecurityPlugin + fell back to the built-in owner-only `member_default` — so an app whose default + profile carries e.g. `readScope: 'unit_and_below'` (ADR-0056 D7 / ADR-0057 D1) + was silently ignored. The config-load path was unaffected because the app's + `permissions` survived via the original stack object. + + `createStandaloneStack` now surfaces `permissions[]` and `roles[]` from the + artifact bundle, mirroring the existing `objects`/`requires`/`manifest` handling, + so the artifact-serve path applies the app default profile exactly like the + config-load path. + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [cfd86ce] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/driver-sql@10.0.0 + - @objectstack/objectql@10.0.0 + - @objectstack/spec@10.0.0 + - @objectstack/plugin-security@10.0.0 + - @objectstack/formula@10.0.0 + - @objectstack/rest@10.0.0 + - @objectstack/driver-sqlite-wasm@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/metadata@10.0.0 + - @objectstack/observability@10.0.0 + - @objectstack/driver-memory@10.0.0 + - @objectstack/plugin-auth@10.0.0 + - @objectstack/plugin-org-scoping@10.0.0 + - @objectstack/service-cluster@10.0.0 + - @objectstack/service-i18n@10.0.0 + - @objectstack/types@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/runtime/package.json b/packages/runtime/package.json index 3479042d8b..9759ed9d79 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/runtime", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "ObjectStack Core Runtime & Query Engine", "type": "module", diff --git a/packages/services/service-ai/CHANGELOG.md b/packages/services/service-ai/CHANGELOG.md index b4ed7a074b..5c0a7887f8 100644 --- a/packages/services/service-ai/CHANGELOG.md +++ b/packages/services/service-ai/CHANGELOG.md @@ -1,5 +1,22 @@ # @objectstack/service-ai +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [cfd86ce] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/formula@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/types@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-ai/package.json b/packages/services/service-ai/package.json index caba20b022..929de7c63f 100644 --- a/packages/services/service-ai/package.json +++ b/packages/services/service-ai/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-ai", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "AI Service for ObjectStack — implements IAIService with LLM adapter layer, conversation management, tool registry, and REST/SSE routes", "type": "module", diff --git a/packages/services/service-analytics/CHANGELOG.md b/packages/services/service-analytics/CHANGELOG.md index 32b1171136..135451f0bc 100644 --- a/packages/services/service-analytics/CHANGELOG.md +++ b/packages/services/service-analytics/CHANGELOG.md @@ -1,5 +1,38 @@ # Changelog — @objectstack/service-analytics +## 10.0.0 + +### Minor Changes + +- 70609af: Resolve a monetary measure's display currency via the field→tenant chain. + + A dataset measure-currency now resolves through: explicit measure `currency` → + source-field `currencyConfig.defaultCurrency` → tenant default (`ctx.currency`). + A measure is monetary iff it declares a currency or aggregates a `currency`-type + field, so count/avg-of-number measures never receive a code. Wires a + `measureCurrency` field-metadata resolver from the data engine's object schema. + +- 3187952: Dataset analytics enrich **dimension** result fields with their display label (so report/dashboard table headers read "Status" instead of the raw field name) and expose drill-through metadata on the dataset query result: the base `object`, a drillable dimension→field map, and a parallel `drillRawRows` array of each row's raw grouped values (captured before label resolution). This lets a host drill a grouped bucket back to its underlying records with an exact-match filter built from the stored value, not the display label. Date dimensions are excluded (a humanized bucket can't be exact-matched). +- a581385: Propagate a dataset measure's declared currency to the analytics result field. + + Adds an optional `DatasetMeasure.currency` (ISO 4217) on the semantic layer and + carries it onto each measure result field alongside `label`/`format`, so a + currency-aware client (Intl symbol) can render `¥1,234` / `$616,000` from a real + currency code instead of a plain number or a `$` baked into `format`. Additive + and optional — existing datasets are unaffected. + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-analytics/package.json b/packages/services/service-analytics/package.json index 02a3c3c139..fbb912b484 100644 --- a/packages/services/service-analytics/package.json +++ b/packages/services/service-analytics/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-analytics", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Analytics Service for ObjectStack — implements IAnalyticsService with multi-driver strategy pattern (NativeSQL, ObjectQL, InMemory)", "type": "module", diff --git a/packages/services/service-automation/CHANGELOG.md b/packages/services/service-automation/CHANGELOG.md index ab53043a6f..9d31c3a27a 100644 --- a/packages/services/service-automation/CHANGELOG.md +++ b/packages/services/service-automation/CHANGELOG.md @@ -1,5 +1,21 @@ # @objectstack/service-automation +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [cfd86ce] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/formula@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-automation/package.json b/packages/services/service-automation/package.json index 70f221c225..bd0b006220 100644 --- a/packages/services/service-automation/package.json +++ b/packages/services/service-automation/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-automation", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Automation Service for ObjectStack — implements IAutomationService with plugin-based DAG flow execution engine", "type": "module", diff --git a/packages/services/service-cache/CHANGELOG.md b/packages/services/service-cache/CHANGELOG.md index 3b30e52b81..c4c5531b2f 100644 --- a/packages/services/service-cache/CHANGELOG.md +++ b/packages/services/service-cache/CHANGELOG.md @@ -1,5 +1,20 @@ # @objectstack/service-cache +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/observability@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-cache/package.json b/packages/services/service-cache/package.json index 80ba1cb066..ae4a292cb8 100644 --- a/packages/services/service-cache/package.json +++ b/packages/services/service-cache/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-cache", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Cache Service for ObjectStack — implements ICacheService with in-memory and Redis adapters", "type": "module", diff --git a/packages/services/service-cluster-redis/CHANGELOG.md b/packages/services/service-cluster-redis/CHANGELOG.md index 9c77a8cd5c..beecbfbe4f 100644 --- a/packages/services/service-cluster-redis/CHANGELOG.md +++ b/packages/services/service-cluster-redis/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/service-cluster-redis +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/service-cluster@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-cluster-redis/package.json b/packages/services/service-cluster-redis/package.json index 5efa0aacba..dbaaa72a28 100644 --- a/packages/services/service-cluster-redis/package.json +++ b/packages/services/service-cluster-redis/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-cluster-redis", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Redis cluster driver for ObjectStack — implements IPubSub/ILock/IKV/ICounter against Redis using ioredis.", "type": "module", diff --git a/packages/services/service-cluster/CHANGELOG.md b/packages/services/service-cluster/CHANGELOG.md index 85f5e1f9f2..aea1e15638 100644 --- a/packages/services/service-cluster/CHANGELOG.md +++ b/packages/services/service-cluster/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/service-cluster +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-cluster/package.json b/packages/services/service-cluster/package.json index 8b29180a00..8580f237e2 100644 --- a/packages/services/service-cluster/package.json +++ b/packages/services/service-cluster/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-cluster", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Cluster Service for ObjectStack — pluggable PubSub/Lock/KV/Counter primitives. Memory driver included; postgres/redis drivers ship separately.", "type": "module", diff --git a/packages/services/service-datasource/CHANGELOG.md b/packages/services/service-datasource/CHANGELOG.md index 4f68d28f35..a727fc6059 100644 --- a/packages/services/service-datasource/CHANGELOG.md +++ b/packages/services/service-datasource/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/service-external-datasource +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-datasource/package.json b/packages/services/service-datasource/package.json index 9243eb9aba..29b8f8dad1 100644 --- a/packages/services/service-datasource/package.json +++ b/packages/services/service-datasource/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-datasource", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "The datasource service (ADR-0015): external-table federation (introspect/draft/import/validate) + runtime UI datasource lifecycle (list/test/create/update/remove + REST routes). Open-source mechanism; the tier line falls on which ICryptoProvider / driver factory a host injects.", "type": "module", diff --git a/packages/services/service-i18n/CHANGELOG.md b/packages/services/service-i18n/CHANGELOG.md index 991be25951..a204f8a9de 100644 --- a/packages/services/service-i18n/CHANGELOG.md +++ b/packages/services/service-i18n/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/service-i18n +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-i18n/package.json b/packages/services/service-i18n/package.json index 8cd8953c24..fada925fdb 100644 --- a/packages/services/service-i18n/package.json +++ b/packages/services/service-i18n/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-i18n", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "I18n Service for ObjectStack — implements II18nService with file-based locale loading", "type": "module", diff --git a/packages/services/service-job/CHANGELOG.md b/packages/services/service-job/CHANGELOG.md index 40eb02aa3d..00a5c64cb7 100644 --- a/packages/services/service-job/CHANGELOG.md +++ b/packages/services/service-job/CHANGELOG.md @@ -1,5 +1,23 @@ # @objectstack/service-job +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-job/package.json b/packages/services/service-job/package.json index aa5323ff70..d2f9e13864 100644 --- a/packages/services/service-job/package.json +++ b/packages/services/service-job/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-job", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Job Service for ObjectStack — implements IJobService with setInterval and cron scheduling", "type": "module", diff --git a/packages/services/service-knowledge/CHANGELOG.md b/packages/services/service-knowledge/CHANGELOG.md index 5b34f4531c..4a89547bc9 100644 --- a/packages/services/service-knowledge/CHANGELOG.md +++ b/packages/services/service-knowledge/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/service-knowledge +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-knowledge/package.json b/packages/services/service-knowledge/package.json index ce58bccfa6..809c916ba8 100644 --- a/packages/services/service-knowledge/package.json +++ b/packages/services/service-knowledge/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-knowledge", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Knowledge Service for ObjectStack — orchestrator implementing IKnowledgeService over pluggable IKnowledgeAdapter backends (RAGFlow, LlamaIndex, Dify, in-memory).", "type": "module", diff --git a/packages/services/service-messaging/CHANGELOG.md b/packages/services/service-messaging/CHANGELOG.md index 3cdae0571f..91565ae3d6 100644 --- a/packages/services/service-messaging/CHANGELOG.md +++ b/packages/services/service-messaging/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/service-messaging +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-messaging/package.json b/packages/services/service-messaging/package.json index 563bbc5756..ae0468855f 100644 --- a/packages/services/service-messaging/package.json +++ b/packages/services/service-messaging/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-messaging", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Messaging Service for ObjectStack — outbound notification dispatch (ADR-0012). Ships the MessagingChannel registry, emit() fan-out, and the always-on inbox channel; other channels (email/webhook/push/IM) plug in.", "type": "module", diff --git a/packages/services/service-package/CHANGELOG.md b/packages/services/service-package/CHANGELOG.md index 90b8525fde..fc3ae43a37 100644 --- a/packages/services/service-package/CHANGELOG.md +++ b/packages/services/service-package/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/service-package +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-package/package.json b/packages/services/service-package/package.json index ca4c375c54..ff10292bd6 100644 --- a/packages/services/service-package/package.json +++ b/packages/services/service-package/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-package", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Package management service for ObjectStack — publish, install, and manage packages", "type": "module", diff --git a/packages/services/service-queue/CHANGELOG.md b/packages/services/service-queue/CHANGELOG.md index 46bb87100c..01121f31ba 100644 --- a/packages/services/service-queue/CHANGELOG.md +++ b/packages/services/service-queue/CHANGELOG.md @@ -1,5 +1,23 @@ # @objectstack/service-queue +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-queue/package.json b/packages/services/service-queue/package.json index 1607c9fdad..49357a3314 100644 --- a/packages/services/service-queue/package.json +++ b/packages/services/service-queue/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-queue", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Queue Service for ObjectStack — implements IQueueService with in-memory and durable DB-backed (sys_job_queue) adapters", "type": "module", diff --git a/packages/services/service-realtime/CHANGELOG.md b/packages/services/service-realtime/CHANGELOG.md index 3d4852ca3d..7d8d8eeff0 100644 --- a/packages/services/service-realtime/CHANGELOG.md +++ b/packages/services/service-realtime/CHANGELOG.md @@ -1,5 +1,23 @@ # @objectstack/service-realtime +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-realtime/package.json b/packages/services/service-realtime/package.json index c00b730f18..23ddcbfa71 100644 --- a/packages/services/service-realtime/package.json +++ b/packages/services/service-realtime/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-realtime", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Realtime Service for ObjectStack — implements IRealtimeService with WebSocket and in-memory pub/sub", "type": "module", diff --git a/packages/services/service-settings/CHANGELOG.md b/packages/services/service-settings/CHANGELOG.md index df01364275..55ca56a0af 100644 --- a/packages/services/service-settings/CHANGELOG.md +++ b/packages/services/service-settings/CHANGELOG.md @@ -1,5 +1,24 @@ # @objectstack/service-settings +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/types@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-settings/package.json b/packages/services/service-settings/package.json index 3fb7991327..a7a41f2632 100644 --- a/packages/services/service-settings/package.json +++ b/packages/services/service-settings/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-settings", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Settings service for ObjectStack — manifest registry + K/V resolver (OS_* env > Tenant > User > Default) + REST routes. See ADR-0007.", "type": "module", diff --git a/packages/services/service-storage/CHANGELOG.md b/packages/services/service-storage/CHANGELOG.md index cf6cf80e76..7d36cb5afc 100644 --- a/packages/services/service-storage/CHANGELOG.md +++ b/packages/services/service-storage/CHANGELOG.md @@ -1,5 +1,24 @@ # @objectstack/service-storage +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [7108ff3] +- Updated dependencies [e16f2a8] +- Updated dependencies [61ed5c7] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] +- Updated dependencies [47d978a] + - @objectstack/spec@10.0.0 + - @objectstack/platform-objects@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/observability@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/services/service-storage/package.json b/packages/services/service-storage/package.json index 966547c2d9..517a8dd4ba 100644 --- a/packages/services/service-storage/package.json +++ b/packages/services/service-storage/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/service-storage", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Storage Service for ObjectStack — implements IStorageService with local filesystem and S3 adapter skeleton", "type": "module", diff --git a/packages/spec/CHANGELOG.md b/packages/spec/CHANGELOG.md index cc63659a50..8dc4f84492 100644 --- a/packages/spec/CHANGELOG.md +++ b/packages/spec/CHANGELOG.md @@ -1,5 +1,94 @@ # @objectstack/spec +## 10.0.0 + +### Minor Changes + +- e16f2a8: **BREAKING:** the system object `sys_department` is renamed to `sys_business_unit` + — object + member table (`sys_department_member` → `sys_business_unit_member`), + fields, and i18n — with **no compatibility alias**. Any deployment holding + `sys_department` rows, or metadata that references the object by name (lookups, + list views, queries, sharing/approval scopes), must migrate to `sys_business_unit`. + A renamed shipped system object is a breaking change to the platform's public + data surface, so this lands as a **major**. Verified per ADR-0059's pre-publish + hotcrm gate: no published downstream consumer references the old name. + + ADR-0057 — ERP authorization core. Adds permission-grant access DEPTH + (`own`/`own_and_reports`/`unit`/`unit_and_below`/`org`), renames `sys_department` + → `sys_business_unit` (no aliases — see BREAKING above), introduces the platform-owned + `sys_user_role` assignment, and seeds stack-declared `roles`/`sharingRules` into + `sys_role`/`sys_sharing_rule` at boot (closes #2077). Hierarchy-relative scopes are + delegated to a pluggable `IHierarchyScopeResolver` (open edition fails closed to + owner-only; `defineStack` errors without `requires: ['hierarchy-security']`). Also + fixes a latent over-grant where `engine.find({ filter })` was ignored (driver reads + `where`) — normalized `filter`→`where` in the engine. + +- a581385: Propagate a dataset measure's declared currency to the analytics result field. + + Adds an optional `DatasetMeasure.currency` (ISO 4217) on the semantic layer and + carries it onto each measure result field alongside `label`/`format`, so a + currency-aware client (Intl symbol) can render `¥1,234` / `$616,000` from a real + currency code instead of a plain number or a `$` baked into `format`. Additive + and optional — existing datasets are unaffected. + +- 220ce5b: Resolve the tenant default currency onto ExecutionContext. + + Adds `ExecutionContext.currency` (ISO 4217) and resolves it from the + `localization.currency` setting alongside `timezone`/`locale` — in both the + runtime `resolveExecutionContext` and the REST mirror. This is the foundation + for the documented "applied when a currency field omits its own" fallback: the + tenant default is now carried on every request context, so analytics enrichment, + formatters, and renderers can resolve a measure/field currency down to the org + default instead of hard-coding it. Undefined when no tenant default is + configured (consumers then render a plain number). + +- 6ca20b3: ADR-0058 D1 follow-through — RLS predicates are now canonical CEL. Migrated every + seeded RLS `using`/`check` (default permission sets, showcase, and the + `RLS.ownerPolicy`/`tenantPolicy`/`allowAllPolicy` helper factories) from the + legacy SQL-ish form (`=`, `IN (...)`) to pure CEL (`==`, `in`), so authors and AI + learn ONE expression language. The `sqlPredicateToCel` bridge is retained as a + DEPRECATED transitional shim: a stored SQL-style predicate still compiles (no + silent deny on legacy data) but emits a deprecation warn; canonical CEL passes + through as a no-op. No runtime behavior change — CEL and the old SQL form compile + to the identical FilterCondition. +- 5f875fe: spec: add `defineX` factories for the remaining 16 writable domains and the 6 + missing `XInput` aliases — one consistent, type-safe authoring entry per domain + (#2035). + + New factories: `defineDatasource`, `defineConnector`, `definePolicy`, + `defineSharingRule`, `defineRole`, `definePermissionSet`, + `defineEmailTemplateDefinition`, `defineReport`, `defineWebhook`, + `defineObjectExtension`, `defineCube`, `defineMapping`, `defineTheme`, + `defineTranslationBundle`, `definePage`, `defineAction`. Each mirrors the 19 + existing factories (`XSchema.parse(z.input<…>)`): input-shape ergonomics + + authoring-time validation. Because a factory is a _value_ import, a broken + import hard-errors instead of silently degrading to `any` (the #2023 failure + mode), and errors surface at `.parse()` time with field-level messages. + + Also adds the previously-missing input aliases `PolicyInput`, `CubeInput`, + `MappingInput`, `ThemeInput`, `TranslationBundleInput`, `PageInput`. + + Purely additive: no existing exports change. + +### Patch Changes + +- 2a1b16b: fix(ADR-0015): honor `external.remoteName` / `external.remoteSchema` on the federation read path. + + The query path previously resolved an external object's physical table from the + object name, ignoring its `external` binding — so a federated object bound to a + differently-named remote table failed with `no such table`, and ADR-0015's own + `wh_order` → `mart.fact_orders` example was unqueryable. The SQL driver now + resolves the remote table (`remoteName`, plus `remoteSchema` via `.withSchema()` + on pg/mysql) and registers external objects' read-coercion metadata without DDL + (`SqlDriver.registerExternalObject`, routed from the engine/plugin schema-sync). + The managed path is unchanged. See ADR-0015 §18. + +- 3efe334: Honor a nested `where` filter inside `expand` on lookup/master_detail expansion. + + The expand post-processor batch-loads related records with an `id $in [...]` query but never merged the nested QueryAST `where`, so a documented `expand: { rel: { where: {...} } }` filter was silently ignored and every related record came back. The nested filter is now AND-merged into the batch query via an explicit `$and` group (`{ $and: [{ id: { $in } }, nestedAST.where] }`) — robust against a nested filter that itself keys `id` or uses a top-level `$or`/`$and`, where a shallow spread would clobber or reorder the constraint. + + `limit`/`offset`/`orderBy` remain intentionally not honored on the expand path: it batch-loads every parent's related records in one `$in` query and re-keys them per parent by foreign key, so a per-parent page size or ordering can't be expressed there. Docs and the schema `describe()` are updated to match, with a guard test asserting `limit`/`offset` are not pushed into the expand query. + ## 9.11.0 ### Minor Changes diff --git a/packages/spec/package.json b/packages/spec/package.json index 9fc79c523f..afa6113f3a 100644 --- a/packages/spec/package.json +++ b/packages/spec/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/spec", - "version": "9.11.0", + "version": "10.0.0", "description": "ObjectStack Protocol & Specification - TypeScript Interfaces, JSON Schemas, and Convention Configurations", "license": "Apache-2.0", "main": "dist/index.js", diff --git a/packages/triggers/trigger-api/CHANGELOG.md b/packages/triggers/trigger-api/CHANGELOG.md index dd444390d7..1836627708 100644 --- a/packages/triggers/trigger-api/CHANGELOG.md +++ b/packages/triggers/trigger-api/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/trigger-api +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/triggers/trigger-api/package.json b/packages/triggers/trigger-api/package.json index d5eb5b640a..97022aeb80 100644 --- a/packages/triggers/trigger-api/package.json +++ b/packages/triggers/trigger-api/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/trigger-api", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Inbound HTTP/webhook flow trigger for ObjectStack — per-flow HMAC-verified endpoints with queue-backed ingestion (ADR-0041)", "main": "dist/index.js", diff --git a/packages/triggers/trigger-record-change/CHANGELOG.md b/packages/triggers/trigger-record-change/CHANGELOG.md index 3594dd1eed..b513d4b498 100644 --- a/packages/triggers/trigger-record-change/CHANGELOG.md +++ b/packages/triggers/trigger-record-change/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/plugin-trigger-record-change +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/triggers/trigger-record-change/package.json b/packages/triggers/trigger-record-change/package.json index a3698eb327..eadc63b46b 100644 --- a/packages/triggers/trigger-record-change/package.json +++ b/packages/triggers/trigger-record-change/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/trigger-record-change", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Record-change flow trigger for ObjectStack — auto-launches flows on object insert/update/delete via ObjectQL lifecycle hooks (ADR-0018)", "main": "dist/index.js", diff --git a/packages/triggers/trigger-schedule/CHANGELOG.md b/packages/triggers/trigger-schedule/CHANGELOG.md index 801974b3b3..4feda70c32 100644 --- a/packages/triggers/trigger-schedule/CHANGELOG.md +++ b/packages/triggers/trigger-schedule/CHANGELOG.md @@ -1,5 +1,19 @@ # @objectstack/plugin-trigger-schedule +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + - @objectstack/core@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/triggers/trigger-schedule/package.json b/packages/triggers/trigger-schedule/package.json index bf3d8976b3..7d8688d279 100644 --- a/packages/triggers/trigger-schedule/package.json +++ b/packages/triggers/trigger-schedule/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/trigger-schedule", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Schedule flow trigger for ObjectStack — auto-launches flows on a cron/interval/once schedule via the IJobService (ADR-0018)", "main": "dist/index.js", diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index f28bf481e6..6118b8fd8c 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -1,5 +1,18 @@ # @objectstack/types +## 10.0.0 + +### Patch Changes + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [a581385] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/spec@10.0.0 + ## 9.11.0 ### Patch Changes diff --git a/packages/types/package.json b/packages/types/package.json index 92ec854657..ebd5323362 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/types", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Shared interfaces describing the ObjectStack Runtime environment", "main": "dist/index.js", diff --git a/packages/verify/CHANGELOG.md b/packages/verify/CHANGELOG.md index e05bbdad4d..97495356b3 100644 --- a/packages/verify/CHANGELOG.md +++ b/packages/verify/CHANGELOG.md @@ -1,5 +1,55 @@ # @objectstack/verify +## 10.0.0 + +### Minor Changes + +- ee86099: ADR-0060 P1 — add the reusable conformance-ledger helper. `@objectstack/verify` + now exports `checkLedger(rows, opts)` + `ConformanceRow`: the static complement to + its runtime harness, encoding the shared invariants the platform had hand-written + twice (unique ids / valid state / enforced-has-site / experimental·removed-has-note + / proof-file-exists / high-risk-has-proof / exactly-one-cover / discover ratchet). + The ADR-0056 authz and ADR-0058 expression ledgers are refactored onto it. + +### Patch Changes + +- 0feea92: fix(verify): skip read-only federated (external) objects in CRUD verification. + + `objectstack verify` probe-inserts a record into every object. A federated object + on an external datasource is read-only unless BOTH the datasource and the object + opt into writes (ADR-0015 write gate), so that insert is correctly rejected — + which `verify` was reporting as a `create-failed` runtime failure. `deriveCrudCases` + now marks such objects `blocked` (skipped), matching the write gate's double + opt-in rule, so the dogfood gate stays honest while supporting external datasource + example apps. + +- Updated dependencies [2a1b16b] +- Updated dependencies [e16f2a8] +- Updated dependencies [cfd86ce] +- Updated dependencies [70609af] +- Updated dependencies [3187952] +- Updated dependencies [a581385] +- Updated dependencies [47d978a] +- Updated dependencies [220ce5b] +- Updated dependencies [3efe334] +- Updated dependencies [00c32f2] +- Updated dependencies [6ca20b3] +- Updated dependencies [5f875fe] + - @objectstack/objectql@10.0.0 + - @objectstack/spec@10.0.0 + - @objectstack/plugin-sharing@10.0.0 + - @objectstack/plugin-security@10.0.0 + - @objectstack/runtime@10.0.0 + - @objectstack/service-analytics@10.0.0 + - @objectstack/rest@10.0.0 + - @objectstack/plugin-hono-server@10.0.0 + - @objectstack/driver-sqlite-wasm@10.0.0 + - @objectstack/core@10.0.0 + - @objectstack/plugin-auth@10.0.0 + - @objectstack/plugin-org-scoping@10.0.0 + - @objectstack/service-automation@10.0.0 + - @objectstack/service-settings@10.0.0 + ## 9.11.0 ### Minor Changes diff --git a/packages/verify/package.json b/packages/verify/package.json index 0e7308ca9e..0014133f61 100644 --- a/packages/verify/package.json +++ b/packages/verify/package.json @@ -1,6 +1,6 @@ { "name": "@objectstack/verify", - "version": "9.11.0", + "version": "10.0.0", "license": "Apache-2.0", "description": "Boot any ObjectStack app in-process and verify it through the real HTTP stack — auto-derived CRUD round-trip fidelity plus the cross-owner RLS invariant. Catches runtime regressions that static checks miss.", "type": "module", diff --git a/packages/vscode-objectstack/CHANGELOG.md b/packages/vscode-objectstack/CHANGELOG.md index ead6c5446d..820445a151 100644 --- a/packages/vscode-objectstack/CHANGELOG.md +++ b/packages/vscode-objectstack/CHANGELOG.md @@ -1,5 +1,7 @@ # objectstack-vscode +## 10.0.0 + ## 9.11.0 ## 9.10.0 diff --git a/packages/vscode-objectstack/package.json b/packages/vscode-objectstack/package.json index 269708068d..f499091d6d 100644 --- a/packages/vscode-objectstack/package.json +++ b/packages/vscode-objectstack/package.json @@ -2,7 +2,7 @@ "name": "objectstack-vscode", "displayName": "ObjectStack", "description": "ObjectStack Protocol — Autocomplete, validation, and inline diagnostics for .object.ts, .view.ts, and objectstack.config.ts files", - "version": "9.11.0", + "version": "10.0.0", "publisher": "objectstack", "license": "Apache-2.0", "repository": {