Skip to content

chore: version packages#2825

Closed
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Closed

chore: version packages#2825
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@objectstack/cli@14.5.0

Minor Changes

  • 526805e: ADR-0057 data-lifecycle follow-ups (ADR-0057 data lifecycle follow-ups: retire per-plugin sweepers, dev telemetry datasource + db:clean, Studio surface, PG rotation (tracking) #2834): the per-plugin retention sweepers are retired, telemetry separation goes live in dev, and the lifecycle contract reaches the Studio.

    • BREAKING (ships as minor per the launch-window convention): JobRunRetention / NotificationRetention and the retentionDays / retentionSweepMs options on JobServicePlugin / MessagingServicePlugin are removed. The platform LifecycleService enforces the same windows from the lifecycle declarations (sys_job_run 30d, notification pipeline 90d); tune them at runtime via the lifecycle settings namespace (retention_overrides, tenant-scoped).
    • Fix: sys_automation_run no longer declares a blanket 30d lifecycle retention — that table interleaves live SUSPENDED runs (an approval may stay paused for months) with terminal history, and a blanket age reap could strand in-flight approvals. Bounding stays with the automation store's terminal-only sweep.
    • CLI: objectstack dev now provisions a dedicated telemetry datasource (<primary>.telemetry.db) for file-backed SQLite primaries, so lifecycle-classed system data stops sharing the business dev DB (OS_TELEMETRY_DB=0 opts out; OS_TELEMETRY_DB=<path> opts in anywhere). New os db clean runs the one-time VACUUM that lets legacy files adopt auto_vacuum=INCREMENTAL and reports reclaimed bytes.
    • Studio: the object metadata form exposes the lifecycle block (class + retention/TTL/rotation/archive/reclaim); metadata-forms i18n bundles regenerated with curated zh-CN translations.

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [6da03ee]
  • Updated dependencies [a348394]
  • Updated dependencies [5bced2f]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
  • Updated dependencies [e2c05d6]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/service-job@14.5.0
    • @objectstack/service-messaging@14.5.0
    • @objectstack/service-automation@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/console@14.5.0
    • @objectstack/plugin-auth@14.5.0
    • @objectstack/objectql@14.5.0
    • @objectstack/plugin-hono-server@14.5.0
    • @objectstack/account@14.5.0
    • @objectstack/setup@14.5.0
    • @objectstack/client@14.5.0
    • @objectstack/cloud-connection@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/formula@14.5.0
    • @objectstack/lint@14.5.0
    • @objectstack/mcp@14.5.0
    • @objectstack/observability@14.5.0
    • @objectstack/driver-memory@14.5.0
    • @objectstack/driver-mongodb@14.5.0
    • @objectstack/driver-sql@14.5.0
    • @objectstack/driver-sqlite-wasm@14.5.0
    • @objectstack/plugin-approvals@14.5.0
    • @objectstack/plugin-audit@14.5.0
    • @objectstack/plugin-email@14.5.0
    • @objectstack/plugin-reports@14.5.0
    • @objectstack/plugin-security@14.5.0
    • @objectstack/plugin-sharing@14.5.0
    • @objectstack/plugin-webhooks@14.5.0
    • @objectstack/rest@14.5.0
    • @objectstack/runtime@14.5.0
    • @objectstack/service-analytics@14.5.0
    • @objectstack/service-cache@14.5.0
    • @objectstack/service-datasource@14.5.0
    • @objectstack/service-package@14.5.0
    • @objectstack/service-queue@14.5.0
    • @objectstack/service-realtime@14.5.0
    • @objectstack/service-settings@14.5.0
    • @objectstack/service-sms@14.5.0
    • @objectstack/service-storage@14.5.0
    • @objectstack/trigger-api@14.5.0
    • @objectstack/trigger-record-change@14.5.0
    • @objectstack/trigger-schedule@14.5.0
    • @objectstack/types@14.5.0
    • @objectstack/verify@14.5.0

@objectstack/objectql@14.5.0

Minor Changes

  • 33ebd34: ADR-0057 (ADR-0057 data lifecycle follow-ups: retire per-plugin sweepers, dev telemetry datasource + db:clean, Studio surface, PG rotation (tracking) #2834): retention.onlyWhen status predicate — mixed tables can scope the age reap.

    • spec: lifecycle.retention.onlyWhen — a row filter (per-field equality or { $in: [...] }) the retention window applies to; rows outside it are retained regardless of age. Rejected when combined with rotation storage (shard DROPs ignore filters) or archive (the Archiver moves rows by age alone).
    • objectql: the LifecycleService Reaper merges onlyWhen into every retention delete, including tenant-override passes.
    • service-automation: the run-history age sweep is now declarative — sys_automation_run declares retention: { maxAge: '30d', onlyWhen: { status: { $in: ['completed', 'failed'] } } } and the platform Reaper owns it; suspended (paused) runs never match. The plugin's own sweep loop is retired: ObjectStoreSuspendedRunStore.pruneHistory, the DEFAULT_RUN_HISTORY_RETENTION_DAYS export, and the runHistoryRetentionDays / runHistorySweepMs plugin options are removed (launch-window breaking-as-minor). The write-time per-flow overflow cap (runHistoryMaxPerFlow) stays.

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/formula@14.5.0
    • @objectstack/metadata-core@14.5.0
    • @objectstack/metadata-protocol@14.5.0
    • @objectstack/types@14.5.0

@objectstack/platform-objects@14.5.0

Minor Changes

  • 6da03ee: feat(identity): open the standard Edit affordance on sys_user for profile fields (ADR-0092 D4)

    sys_user now sets userActions: { edit: true }, so the generic row-edit
    form is available (create / import / delete stay off). The two profile fields
    (name, image) are editable; every other column — email, role, ban
    state, phone, and all system-managed stamps — is marked readonly so the
    standard edit form renders it non-editable.

    This is safe because the server boundary is the identity write guard shipped
    in the previous change (ADR-0092 D2): a user-context update to sys_user may
    only touch {name, image} regardless of what any form submits; everything
    else is stripped or rejected. The readonly flags here are UX only.

    The dedicated action dialogs are unaffected — create_user / invite_user /
    set_user_role reference email and role as action params (their own
    inputs), which do not inherit the field-level readonly and stay editable
    (verified in the running Console).

    Note: the Console's record-form renderer must honor userActions.edit +
    per-field readonly on managedBy:'better-auth' objects for the edit form to
    be functional; that is an objectui-side change vendored via objectui:refresh
    and tracked separately.

Patch Changes

  • 526805e: ADR-0057 data-lifecycle follow-ups (ADR-0057 data lifecycle follow-ups: retire per-plugin sweepers, dev telemetry datasource + db:clean, Studio surface, PG rotation (tracking) #2834): the per-plugin retention sweepers are retired, telemetry separation goes live in dev, and the lifecycle contract reaches the Studio.

    • BREAKING (ships as minor per the launch-window convention): JobRunRetention / NotificationRetention and the retentionDays / retentionSweepMs options on JobServicePlugin / MessagingServicePlugin are removed. The platform LifecycleService enforces the same windows from the lifecycle declarations (sys_job_run 30d, notification pipeline 90d); tune them at runtime via the lifecycle settings namespace (retention_overrides, tenant-scoped).
    • Fix: sys_automation_run no longer declares a blanket 30d lifecycle retention — that table interleaves live SUSPENDED runs (an approval may stay paused for months) with terminal history, and a blanket age reap could strand in-flight approvals. Bounding stays with the automation store's terminal-only sweep.
    • CLI: objectstack dev now provisions a dedicated telemetry datasource (<primary>.telemetry.db) for file-backed SQLite primaries, so lifecycle-classed system data stops sharing the business dev DB (OS_TELEMETRY_DB=0 opts out; OS_TELEMETRY_DB=<path> opts in anywhere). New os db clean runs the one-time VACUUM that lets legacy files adopt auto_vacuum=INCREMENTAL and reports reclaimed bytes.
    • Studio: the object metadata form exposes the lifecycle block (class + retention/TTL/rotation/archive/reclaim); metadata-forms i18n bundles regenerated with curated zh-CN translations.
  • Updated dependencies [526805e]

  • Updated dependencies [33ebd34]

    • @objectstack/spec@14.5.0
    • @objectstack/metadata-core@14.5.0

@objectstack/plugin-auth@14.5.0

Minor Changes

  • a348394: feat(auth): identity write guard — managedBy: 'better-auth' is now enforced at the engine (ADR-0092 D2/D3/D6)

    Every object whose schema declares managedBy: 'better-auth' (sys_user,
    sys_member, sys_session, sys_api_key, …) is now protected by engine
    beforeInsert / beforeUpdate / beforeDelete hooks registered by
    plugin-auth: user-context writes through the generic data path are
    rejected fail-closed with 403 PERMISSION_DENIED, closing the hole where a
    wildcard admin permission set could raw-write any identity column (including
    email and credential stamps) via the data API. Internal writes are
    unaffected — the better-auth adapter, isSystem plugin/system contexts, and
    the identity import keep working unchanged.

    The only opening is a per-object update whitelist
    (registerManagedUpdateWhitelist(object, fields)): non-whitelisted fields are
    stripped from the payload, and a payload that strips to nothing throws. The
    first registration ships here: sys_user → { name, image } (pure profile
    fields), backed by the new shared SYS_USER_PROFILE_EDIT_FIELDS /
    SYS_USER_IMPORT_UPDATE_FIELDS constants — the import upsert's field
    discipline is now derived from the same module (subset-by-construction, no
    drift).

    After a guarded profile edit, an afterUpdate companion hook re-writes the
    user's cached {session, user} snapshots in better-auth's secondary storage
    (same TTL, mirror of better-auth's own refreshUserSessions) so session
    reads stay coherent; it rewrites rather than deletes, and no-ops when no
    secondary storage is wired.

    Migration note: server-side scripts that previously updated identity tables
    with a user execution context must either run with a system context
    ({ isSystem: true }) if they are genuinely internal, or move to the
    dedicated auth endpoints (invite / create-user / set-user-password / ban /
    better-auth APIs). Flows and automations that wrote non-profile sys_user
    columns under a user identity are now filtered the same way.

  • 5bced2f: feat(auth): passwordPolicy: 'none' is the identity import's new default — import provisions identity, not credentials

    POST /api/v1/auth/admin/import-users now supports (and defaults to)
    passwordPolicy: 'none': accounts are created without a credential record
    (better-auth's optional-password create), so no password material is
    generated, returned, or distributed at all. Users first sign in through a
    channel — phone OTP, magic link, or a password-reset link — and the Console's
    existing credential-less detection (hasLocalPassword() → set-initial-password)
    nudges them to set a password afterwards.

    The invite policy also no longer mints a throwaway password: it creates the
    same credential-less account and sends the set-your-password invitation
    (better-auth's reset flow creates the credential record on first set).
    temporary is unchanged and remains the fallback for deployments without
    email/SMS infrastructure.

    Breaking-ish note: passwordPolicy was previously required — requests that
    omitted it got a 400. They now succeed with the none behavior.

  • e2c05d6: feat(auth/i18n): localised, tenant-customisable phone SMS texts (feat(sms/i18n): 邀请/OTP 短信文案国际化(按用户 locale 渲染) #2815)

    The OTP and invitation SMS bodies were hard-coded English. They now resolve
    in two layers: a sys_notification_template row for
    (auth.phone_otp | auth.phone_invite, channel 'sms', locale) — editable in
    Setup, seeded once with built-in en/zh rows, tenant edits never overwritten —
    falling back to the bundled bilingual texts. The locale follows the
    deployment default (localization.locale setting, live-rebound); per-user
    locale is deferred until sys_user grows a locale column. The OTP wording
    is purpose-neutral (one provider template covers sign-in and reset, and the
    SMS reveals nothing about what the code unlocks). Template lookups are
    best-effort — an outage never blocks an OTP send — and the no-OTP-in-logs
    red line is unchanged.

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/rest@14.5.0
    • @objectstack/types@14.5.0

@objectstack/service-automation@14.5.0

Minor Changes

  • 33ebd34: ADR-0057 (ADR-0057 data lifecycle follow-ups: retire per-plugin sweepers, dev telemetry datasource + db:clean, Studio surface, PG rotation (tracking) #2834): retention.onlyWhen status predicate — mixed tables can scope the age reap.

    • spec: lifecycle.retention.onlyWhen — a row filter (per-field equality or { $in: [...] }) the retention window applies to; rows outside it are retained regardless of age. Rejected when combined with rotation storage (shard DROPs ignore filters) or archive (the Archiver moves rows by age alone).
    • objectql: the LifecycleService Reaper merges onlyWhen into every retention delete, including tenant-override passes.
    • service-automation: the run-history age sweep is now declarative — sys_automation_run declares retention: { maxAge: '30d', onlyWhen: { status: { $in: ['completed', 'failed'] } } } and the platform Reaper owns it; suspended (paused) runs never match. The plugin's own sweep loop is retired: ObjectStoreSuspendedRunStore.pruneHistory, the DEFAULT_RUN_HISTORY_RETENTION_DAYS export, and the runHistoryRetentionDays / runHistorySweepMs plugin options are removed (launch-window breaking-as-minor). The write-time per-flow overflow cap (runHistoryMaxPerFlow) stays.

Patch Changes

  • 526805e: ADR-0057 data-lifecycle follow-ups (ADR-0057 data lifecycle follow-ups: retire per-plugin sweepers, dev telemetry datasource + db:clean, Studio surface, PG rotation (tracking) #2834): the per-plugin retention sweepers are retired, telemetry separation goes live in dev, and the lifecycle contract reaches the Studio.

    • BREAKING (ships as minor per the launch-window convention): JobRunRetention / NotificationRetention and the retentionDays / retentionSweepMs options on JobServicePlugin / MessagingServicePlugin are removed. The platform LifecycleService enforces the same windows from the lifecycle declarations (sys_job_run 30d, notification pipeline 90d); tune them at runtime via the lifecycle settings namespace (retention_overrides, tenant-scoped).
    • Fix: sys_automation_run no longer declares a blanket 30d lifecycle retention — that table interleaves live SUSPENDED runs (an approval may stay paused for months) with terminal history, and a blanket age reap could strand in-flight approvals. Bounding stays with the automation store's terminal-only sweep.
    • CLI: objectstack dev now provisions a dedicated telemetry datasource (<primary>.telemetry.db) for file-backed SQLite primaries, so lifecycle-classed system data stops sharing the business dev DB (OS_TELEMETRY_DB=0 opts out; OS_TELEMETRY_DB=<path> opts in anywhere). New os db clean runs the one-time VACUUM that lets legacy files adopt auto_vacuum=INCREMENTAL and reports reclaimed bytes.
    • Studio: the object metadata form exposes the lifecycle block (class + retention/TTL/rotation/archive/reclaim); metadata-forms i18n bundles regenerated with curated zh-CN translations.
  • Updated dependencies [526805e]

  • Updated dependencies [33ebd34]

    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/formula@14.5.0

@objectstack/service-job@14.5.0

Minor Changes

  • 526805e: ADR-0057 data-lifecycle follow-ups (ADR-0057 data lifecycle follow-ups: retire per-plugin sweepers, dev telemetry datasource + db:clean, Studio surface, PG rotation (tracking) #2834): the per-plugin retention sweepers are retired, telemetry separation goes live in dev, and the lifecycle contract reaches the Studio.

    • BREAKING (ships as minor per the launch-window convention): JobRunRetention / NotificationRetention and the retentionDays / retentionSweepMs options on JobServicePlugin / MessagingServicePlugin are removed. The platform LifecycleService enforces the same windows from the lifecycle declarations (sys_job_run 30d, notification pipeline 90d); tune them at runtime via the lifecycle settings namespace (retention_overrides, tenant-scoped).
    • Fix: sys_automation_run no longer declares a blanket 30d lifecycle retention — that table interleaves live SUSPENDED runs (an approval may stay paused for months) with terminal history, and a blanket age reap could strand in-flight approvals. Bounding stays with the automation store's terminal-only sweep.
    • CLI: objectstack dev now provisions a dedicated telemetry datasource (<primary>.telemetry.db) for file-backed SQLite primaries, so lifecycle-classed system data stops sharing the business dev DB (OS_TELEMETRY_DB=0 opts out; OS_TELEMETRY_DB=<path> opts in anywhere). New os db clean runs the one-time VACUUM that lets legacy files adopt auto_vacuum=INCREMENTAL and reports reclaimed bytes.
    • Studio: the object metadata form exposes the lifecycle block (class + retention/TTL/rotation/archive/reclaim); metadata-forms i18n bundles regenerated with curated zh-CN translations.

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/core@14.5.0

@objectstack/service-messaging@14.5.0

Minor Changes

  • 526805e: ADR-0057 data-lifecycle follow-ups (ADR-0057 data lifecycle follow-ups: retire per-plugin sweepers, dev telemetry datasource + db:clean, Studio surface, PG rotation (tracking) #2834): the per-plugin retention sweepers are retired, telemetry separation goes live in dev, and the lifecycle contract reaches the Studio.

    • BREAKING (ships as minor per the launch-window convention): JobRunRetention / NotificationRetention and the retentionDays / retentionSweepMs options on JobServicePlugin / MessagingServicePlugin are removed. The platform LifecycleService enforces the same windows from the lifecycle declarations (sys_job_run 30d, notification pipeline 90d); tune them at runtime via the lifecycle settings namespace (retention_overrides, tenant-scoped).
    • Fix: sys_automation_run no longer declares a blanket 30d lifecycle retention — that table interleaves live SUSPENDED runs (an approval may stay paused for months) with terminal history, and a blanket age reap could strand in-flight approvals. Bounding stays with the automation store's terminal-only sweep.
    • CLI: objectstack dev now provisions a dedicated telemetry datasource (<primary>.telemetry.db) for file-backed SQLite primaries, so lifecycle-classed system data stops sharing the business dev DB (OS_TELEMETRY_DB=0 opts out; OS_TELEMETRY_DB=<path> opts in anywhere). New os db clean runs the one-time VACUUM that lets legacy files adopt auto_vacuum=INCREMENTAL and reports reclaimed bytes.
    • Studio: the object metadata form exposes the lifecycle block (class + retention/TTL/rotation/archive/reclaim); metadata-forms i18n bundles regenerated with curated zh-CN translations.

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/spec@14.5.0

Minor Changes

  • 526805e: ADR-0057 data-lifecycle follow-ups (ADR-0057 data lifecycle follow-ups: retire per-plugin sweepers, dev telemetry datasource + db:clean, Studio surface, PG rotation (tracking) #2834): the per-plugin retention sweepers are retired, telemetry separation goes live in dev, and the lifecycle contract reaches the Studio.

    • BREAKING (ships as minor per the launch-window convention): JobRunRetention / NotificationRetention and the retentionDays / retentionSweepMs options on JobServicePlugin / MessagingServicePlugin are removed. The platform LifecycleService enforces the same windows from the lifecycle declarations (sys_job_run 30d, notification pipeline 90d); tune them at runtime via the lifecycle settings namespace (retention_overrides, tenant-scoped).
    • Fix: sys_automation_run no longer declares a blanket 30d lifecycle retention — that table interleaves live SUSPENDED runs (an approval may stay paused for months) with terminal history, and a blanket age reap could strand in-flight approvals. Bounding stays with the automation store's terminal-only sweep.
    • CLI: objectstack dev now provisions a dedicated telemetry datasource (<primary>.telemetry.db) for file-backed SQLite primaries, so lifecycle-classed system data stops sharing the business dev DB (OS_TELEMETRY_DB=0 opts out; OS_TELEMETRY_DB=<path> opts in anywhere). New os db clean runs the one-time VACUUM that lets legacy files adopt auto_vacuum=INCREMENTAL and reports reclaimed bytes.
    • Studio: the object metadata form exposes the lifecycle block (class + retention/TTL/rotation/archive/reclaim); metadata-forms i18n bundles regenerated with curated zh-CN translations.
  • 33ebd34: ADR-0057 (ADR-0057 data lifecycle follow-ups: retire per-plugin sweepers, dev telemetry datasource + db:clean, Studio surface, PG rotation (tracking) #2834): retention.onlyWhen status predicate — mixed tables can scope the age reap.

    • spec: lifecycle.retention.onlyWhen — a row filter (per-field equality or { $in: [...] }) the retention window applies to; rows outside it are retained regardless of age. Rejected when combined with rotation storage (shard DROPs ignore filters) or archive (the Archiver moves rows by age alone).
    • objectql: the LifecycleService Reaper merges onlyWhen into every retention delete, including tenant-override passes.
    • service-automation: the run-history age sweep is now declarative — sys_automation_run declares retention: { maxAge: '30d', onlyWhen: { status: { $in: ['completed', 'failed'] } } } and the platform Reaper owns it; suspended (paused) runs never match. The plugin's own sweep loop is retired: ObjectStoreSuspendedRunStore.pruneHistory, the DEFAULT_RUN_HISTORY_RETENTION_DAYS export, and the runHistoryRetentionDays / runHistorySweepMs plugin options are removed (launch-window breaking-as-minor). The write-time per-flow overflow cap (runHistoryMaxPerFlow) stays.

@objectstack/hono@14.5.0

Patch Changes

  • Updated dependencies [6da03ee]
    • @objectstack/plugin-hono-server@14.5.0
    • @objectstack/runtime@14.5.0
    • @objectstack/types@14.5.0

@objectstack/account@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0

@objectstack/setup@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0

@objectstack/studio@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0

@objectstack/client@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/client-react@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/client@14.5.0
    • @objectstack/core@14.5.0

@objectstack/cloud-connection@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/runtime@14.5.0
    • @objectstack/types@14.5.0

@objectstack/connector-mcp@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/connector-openapi@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/connector-rest@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/connector-slack@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/console@14.5.0

Patch Changes

@objectstack/core@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0

@objectstack/formula@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0

@objectstack/lint@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/formula@14.5.0
    • @objectstack/sdui-parser@14.5.0

@objectstack/mcp@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/types@14.5.0

@objectstack/metadata@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/metadata-core@14.5.0
    • @objectstack/types@14.5.0
    • @objectstack/metadata-fs@14.5.0

@objectstack/metadata-core@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0

@objectstack/metadata-fs@14.5.0

Patch Changes

  • @objectstack/metadata-core@14.5.0

@objectstack/metadata-protocol@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/formula@14.5.0
    • @objectstack/metadata-core@14.5.0
    • @objectstack/types@14.5.0

@objectstack/observability@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0

@objectstack/driver-memory@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/driver-mongodb@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/driver-sql@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/types@14.5.0

@objectstack/driver-sqlite-wasm@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/driver-sql@14.5.0

@objectstack/embedder-openai@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0

@objectstack/knowledge-memory@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/service-knowledge@14.5.0

@objectstack/knowledge-ragflow@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/service-knowledge@14.5.0

@objectstack/plugin-approvals@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/formula@14.5.0
    • @objectstack/metadata-core@14.5.0

@objectstack/plugin-audit@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/core@14.5.0

@objectstack/plugin-dev@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [a348394]
  • Updated dependencies [5bced2f]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
  • Updated dependencies [e2c05d6]
    • @objectstack/spec@14.5.0
    • @objectstack/plugin-auth@14.5.0
    • @objectstack/objectql@14.5.0
    • @objectstack/plugin-hono-server@14.5.0
    • @objectstack/account@14.5.0
    • @objectstack/setup@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/driver-memory@14.5.0
    • @objectstack/plugin-security@14.5.0
    • @objectstack/rest@14.5.0
    • @objectstack/runtime@14.5.0
    • @objectstack/service-i18n@14.5.0
    • @objectstack/types@14.5.0

@objectstack/plugin-email@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/formula@14.5.0

@objectstack/plugin-hono-server@14.5.0

Patch Changes

  • 6da03ee: fix(security): /me/permissions now reflects permission-set ∩ identity-write-guard, matching real server enforcement (ADR-0057 D10)

    The /api/v1/auth/me/permissions per-object map merged each permission set's
    explicit objects entries most-permissively per key, but treated '*' and
    named objects as independent keys — so a wildcard "Modify/View All Data" grant
    was never propagated into a per-object entry another set explicitly denied.
    That made the client's field-level security STRICTER than the server's actual
    enforcement (PermissionEvaluator.checkObjectPermission allows as soon as any
    set grants, including via the '*' modifyAll/viewAll super-user bypass, with
    no deny-wins).

    The real effective answer for a user-context caller is permission-set grant ∩ identity-write-guard policy, and the payload now computes both:

    1. foldWildcardSuperUser lifts each per-object entry's read/write bits when
      the merged '*' is a super-user grant — fixing the false-NEGATIVE where a
      platform admin (admin_full_access '*': {modifyAllRecords}) who also holds
      organization_admin (explicit identity denies) resolved to
      sys_user.allowEdit:false and a disabled edit form, though the server
      accepts the write (PATCH /data/sys_user {name} → 200).
    2. clampManagedObjectWrites re-clamps managedBy: 'better-auth' objects by
      their write affordance — fixing the false-POSITIVE the fold would otherwise
      introduce: the identity write guard (ADR-0092 D2) blocks user-context writes
      on identity tables except where the object opted in (userActions.edit), so
      sys_member / sys_account / sys_session stay allowEdit:false for the
      admin (read stays granted). Only better-auth objects are clamped — the
      guard covers only them; system/config/append-only objects have no such
      guard and their permission-set result stands.

    Net: the Console's per-object FLS now equals real server enforcement — the
    ADR-0092 D4 sys_user profile-edit affordance is unblocked for platform admins
    (the guard still narrows the write to {name, image}), and no other identity
    table is shown as editable when the guard would reject it.

  • Updated dependencies [526805e]

  • Updated dependencies [33ebd34]

    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/observability@14.5.0
    • @objectstack/types@14.5.0

@objectstack/plugin-reports@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/core@14.5.0

@objectstack/plugin-security@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/formula@14.5.0

@objectstack/plugin-sharing@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/objectql@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/formula@14.5.0

@objectstack/plugin-webhooks@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/service-messaging@14.5.0
    • @objectstack/core@14.5.0

@objectstack/rest@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/service-package@14.5.0
    • @objectstack/types@14.5.0

@objectstack/runtime@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [a348394]
  • Updated dependencies [5bced2f]
  • Updated dependencies [33ebd34]
  • Updated dependencies [e2c05d6]
    • @objectstack/spec@14.5.0
    • @objectstack/plugin-auth@14.5.0
    • @objectstack/objectql@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/formula@14.5.0
    • @objectstack/metadata@14.5.0
    • @objectstack/observability@14.5.0
    • @objectstack/driver-memory@14.5.0
    • @objectstack/driver-sql@14.5.0
    • @objectstack/driver-sqlite-wasm@14.5.0
    • @objectstack/plugin-security@14.5.0
    • @objectstack/rest@14.5.0
    • @objectstack/service-cluster@14.5.0
    • @objectstack/service-datasource@14.5.0
    • @objectstack/service-i18n@14.5.0
    • @objectstack/types@14.5.0

@objectstack/service-analytics@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/service-cache@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/observability@14.5.0

@objectstack/service-cluster@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/service-cluster-redis@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/service-cluster@14.5.0

@objectstack/service-datasource@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/service-i18n@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/service-knowledge@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/service-package@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/service-queue@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/core@14.5.0

@objectstack/service-realtime@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/core@14.5.0

@objectstack/service-settings@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/types@14.5.0

@objectstack/service-sms@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/service-storage@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
    • @objectstack/spec@14.5.0
    • @objectstack/platform-objects@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/observability@14.5.0

@objectstack/trigger-api@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/trigger-record-change@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/trigger-schedule@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/core@14.5.0

@objectstack/types@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0

@objectstack/verify@14.5.0

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [a348394]
  • Updated dependencies [5bced2f]
  • Updated dependencies [33ebd34]
  • Updated dependencies [6da03ee]
  • Updated dependencies [e2c05d6]
    • @objectstack/spec@14.5.0
    • @objectstack/service-automation@14.5.0
    • @objectstack/plugin-auth@14.5.0
    • @objectstack/objectql@14.5.0
    • @objectstack/plugin-hono-server@14.5.0
    • @objectstack/core@14.5.0
    • @objectstack/driver-sqlite-wasm@14.5.0
    • @objectstack/plugin-security@14.5.0
    • @objectstack/plugin-sharing@14.5.0
    • @objectstack/rest@14.5.0
    • @objectstack/runtime@14.5.0
    • @objectstack/service-analytics@14.5.0
    • @objectstack/service-datasource@14.5.0
    • @objectstack/service-settings@14.5.0

create-objectstack@14.5.0

@objectstack/sdui-parser@14.5.0

objectstack-vscode@14.5.0

@objectstack/example-crm@4.0.83

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/runtime@14.5.0

@objectstack/example-showcase@0.3.5

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/cloud-connection@14.5.0
    • @objectstack/connector-rest@14.5.0
    • @objectstack/connector-slack@14.5.0
    • @objectstack/driver-sql@14.5.0
    • @objectstack/runtime@14.5.0

@objectstack/example-todo@4.0.83

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/objectql@14.5.0
    • @objectstack/client@14.5.0
    • @objectstack/mcp@14.5.0
    • @objectstack/metadata@14.5.0
    • @objectstack/driver-sqlite-wasm@14.5.0
    • @objectstack/knowledge-memory@14.5.0
    • @objectstack/runtime@14.5.0
    • @objectstack/service-knowledge@14.5.0

@objectstack/example-embed-objectql@0.0.23

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/objectql@14.5.0
    • @objectstack/driver-memory@14.5.0

@objectstack/dogfood@0.0.31

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0
    • @objectstack/objectql@14.5.0
    • @objectstack/example-crm@4.0.83
    • @objectstack/example-showcase@0.3.5
    • @objectstack/plugin-security@14.5.0
    • @objectstack/verify@14.5.0

@objectstack/downstream-contract@0.0.29

Patch Changes

  • Updated dependencies [526805e]
  • Updated dependencies [33ebd34]
    • @objectstack/spec@14.5.0

@vercel

vercel Bot commented Jul 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jul 11, 2026 12:32pm

Request Review

@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 139828f to c0bb489 Compare July 11, 2026 03:39
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from c0bb489 to 6179547 Compare July 11, 2026 03:54
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 6179547 to 7fc4939 Compare July 11, 2026 05:07
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 7fc4939 to 7d4a83a Compare July 11, 2026 07:39
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 7d4a83a to 2109b0e Compare July 11, 2026 07:59
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 2109b0e to 142bf59 Compare July 11, 2026 09:18
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 142bf59 to 09a401c Compare July 11, 2026 09:26
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 09a401c to 922adb1 Compare July 11, 2026 10:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant