chore: version packages#2232
Closed
github-actions[bot] wants to merge 1 commit into
Closed
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
June 23, 2026 08:12
6336014 to
f907cf5
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
June 23, 2026 10:06
f907cf5 to
6e468ea
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
June 23, 2026 11:13
6e468ea to
0cb257d
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
June 23, 2026 11:44
0cb257d to
e8888d5
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
June 23, 2026 11:52
e8888d5 to
bb5093e
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
June 23, 2026 12:00
bb5093e to
162d8bb
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
June 23, 2026 12:08
162d8bb to
bbea9d8
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
June 23, 2026 13:02
bbea9d8 to
8ca5556
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
June 23, 2026 14:03
8ca5556 to
00ebc4f
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
June 23, 2026 14:20
00ebc4f to
e809718
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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@10.3.0
Minor Changes
2b355d5: feat(cluster): multi-node authorization gate (open mechanism)
@objectstack/service-clusternow exportsregisterMultiNodeGate/checkMultiNodeAllowed: a distribution (e.g. the Enterprise Edition) canregister a gate that authorizes whether the runtime may enable a multi-node
(remote-driver) topology. The open framework ships no gate — multi-node is
always allowed.
os serveconsults the gate before activating a remote cluster driver; ondenial it downgrades to single-node (in-memory) rather than failing —
multi-node is an add-on, never bricks the runtime. The framework holds zero
license logic; this is the open seam an EE license plugs into (cloud ADR-0022).
Patch Changes
f75943a: feat(lint): SDUI styling validator (ADR-0065)
validateResponsiveStyles— a pure(stack) => Finding[]rule wired intoos validateandos compile, so hand-authored and AI-generated pages areheld to the same bar (ADR-0019). Catches the deterministic ways a
responsiveStylesblock silently fails: a styled node with noid(CSS can'tbe scoped → dropped) is an error; warnings cover Tailwind-in-
className(silently dead in metadata), a smaller breakpoint with no
largebase, unknownCSS properties, and unknown/typo'd design tokens. Quality/visual judgement
(is it ugly) is out of scope — that needs render + a VLM gate.
f2063f3: fix(cli): extend native better-sqlite3 → wasm SQLite auto-fallback to the persistent-file /
--artifactdev path (better-sqlite3 → wasm auto-fallback doesn't cover the persistent-file / --artifact dev path (only the zero-config :memory: branch) #2229)The native-
better-sqlite3→ wasm SQLite → in-memory step-down previously onlyguarded the zero-config
:memory:dev branch ofserve. A normalobjectstack devrun never reaches it —devinjects a persistentfile:DB(so AI-authored data survives restarts) and
--artifactboots resolve sqlitethrough the datasource factory — both of which constructed
better-sqlite3directly with no probe and no fallback. An ABI mismatch (e.g.a cached prebuilt binary built for a different Node version) was therefore not
caught at boot and surfaced later as a runtime
Find operation failedon thefirst query.
The probe-by-connect + step-down is now hoisted into a shared
resolveSqliteDriverhelper (@objectstack/service-datasource) and applied toboth previously-unguarded sqlite construction sites: the explicit
sqlite/file:branch inserve.tsand the sqlite branch of the default datasourcedriver factory. better-sqlite3 loads its native addon lazily (first query), so
the helper forces the load with a
SELECT 1and, in dev only, steps down towasm SQLite (real SQL + on-disk persistence — the same
file:keeps working)then to the in-memory driver as a last resort, emitting the existing
⚠ native better-sqlite3 unavailable …warning. In production the native driveris returned unprobed so a load failure surfaces loudly (fail-closed) rather than
silently degrading to a different engine.
Updated dependencies [f73d40a]
Updated dependencies [5ba52b0]
Updated dependencies [211425e]
Updated dependencies [f75943a]
Updated dependencies [6d3bf54]
Updated dependencies [8cf4f7c]
Updated dependencies [f2063f3]
@objectstack/lint@10.3.0
Minor Changes
f75943a: feat(lint): SDUI styling validator (ADR-0065)
validateResponsiveStyles— a pure(stack) => Finding[]rule wired intoos validateandos compile, so hand-authored and AI-generated pages areheld to the same bar (ADR-0019). Catches the deterministic ways a
responsiveStylesblock silently fails: a styled node with noid(CSS can'tbe scoped → dropped) is an error; warnings cover Tailwind-in-
className(silently dead in metadata), a smaller breakpoint with no
largebase, unknownCSS properties, and unknown/typo'd design tokens. Quality/visual judgement
(is it ugly) is out of scope — that needs render + a VLM gate.
Patch Changes
@objectstack/service-cluster@10.3.0
Minor Changes
2b355d5: feat(cluster): multi-node authorization gate (open mechanism)
@objectstack/service-clusternow exportsregisterMultiNodeGate/checkMultiNodeAllowed: a distribution (e.g. the Enterprise Edition) canregister a gate that authorizes whether the runtime may enable a multi-node
(remote-driver) topology. The open framework ships no gate — multi-node is
always allowed.
os serveconsults the gate before activating a remote cluster driver; ondenial it downgrades to single-node (in-memory) rather than failing —
multi-node is an add-on, never bricks the runtime. The framework holds zero
license logic; this is the open seam an EE license plugs into (cloud ADR-0022).
Patch Changes
@objectstack/express@10.3.0
Patch Changes
@objectstack/fastify@10.3.0
Patch Changes
@objectstack/hono@10.3.0
Patch Changes
@objectstack/nestjs@10.3.0
Patch Changes
@objectstack/nextjs@10.3.0
Patch Changes
@objectstack/nuxt@10.3.0
Patch Changes
@objectstack/sveltekit@10.3.0
Patch Changes
@objectstack/account@10.3.0
Patch Changes
@objectstack/setup@10.3.0
Patch Changes
@objectstack/studio@10.3.0
Patch Changes
@objectstack/client@10.3.0
Patch Changes
@objectstack/client-react@10.3.0
Patch Changes
@objectstack/cloud-connection@10.3.0
Patch Changes
@objectstack/connector-mcp@10.3.0
Patch Changes
@objectstack/connector-openapi@10.3.0
Patch Changes
@objectstack/connector-rest@10.3.0
Patch Changes
@objectstack/connector-slack@10.3.0
Patch Changes
@objectstack/core@10.3.0
Patch Changes
@objectstack/formula@10.3.0
Patch Changes
@objectstack/mcp@10.3.0
Patch Changes
@objectstack/metadata@10.3.0
Patch Changes
@objectstack/metadata-core@10.3.0
Patch Changes
@objectstack/metadata-fs@10.3.0
Patch Changes
@objectstack/objectql@10.3.0
Patch Changes
211425e: fix(objectql): return the real
total/hasMorefromfindData(findData 列表分页失效:total 永远等于本页条数、hasMore 恒为 false #2212)ObjectStackProtocolImplementation.findDatapreviously returned placeholderpagination metadata:
totalwas always the page length andhasMorewasalways
false. Front-end tables therefore believed every result set was asingle page and never requested records past the first batch (e.g. row 51+ was
unreachable).
For a normal limited query it now runs
engine.count()over the samewheretoget the true match total and derives
hasMorefromoffset + page length < total.engine.count()only honorswhere, sosearch/distinctqueries skip thecount and fall back to a page-local estimate (a full page implies there may be
more) instead of reporting a wrong total. Unlimited queries return the full set,
whose length already is the total. The aggregate/group branch now reports the
full group count as
totalwithhasMorereflecting whether the client-sideslice dropped any groups.
@objectstack/observability@10.3.0
Patch Changes
@objectstack/platform-objects@10.3.0
Patch Changes
@objectstack/driver-memory@10.3.0
Patch Changes
@objectstack/driver-mongodb@10.3.0
Patch Changes
@objectstack/driver-sql@10.3.0
Patch Changes
5ba52b0: fix(driver-sql): honor
tenancy.enabled:falsein driver org-scopingThe driver auto-detects
organization_idas a tenant-isolation column and, whenthe caller passes
DriverOptions.tenantId, scopes reads/updates/deletes to thattenant (and injects the column on inserts). The implicit column-detection
fallback ignored an explicit
tenancy.enabled === false, so a platform-globalobject that opts out of tenancy but carries an optional
organization_idFK(e.g.
sys_license) was still org-scoped — an authenticated caller's active-orgtenantIdthen hid every NULL-org / cross-org row. The opt-out is now honored ina single shared
computeTenantField()used by bothinitObjectsandregisterExternalObject(which had drifted). CoversTursoDriver(extendsSqlDriver). Genuine org-scoped objects are unaffected.@objectstack/driver-sqlite-wasm@10.3.0
Patch Changes
@objectstack/embedder-openai@10.3.0
Patch Changes
@objectstack/knowledge-memory@10.3.0
Patch Changes
@objectstack/knowledge-ragflow@10.3.0
Patch Changes
@objectstack/plugin-approvals@10.3.0
Patch Changes
@objectstack/plugin-audit@10.3.0
Patch Changes
@objectstack/plugin-auth@10.3.0
Patch Changes
@objectstack/plugin-dev@10.3.0
Patch Changes
@objectstack/plugin-email@10.3.0
Patch Changes
@objectstack/plugin-hono-server@10.3.0
Patch Changes
@objectstack/plugin-msw@10.3.0
Patch Changes
@objectstack/plugin-org-scoping@10.3.0
Patch Changes
@objectstack/plugin-reports@10.3.0
Patch Changes
@objectstack/plugin-security@10.3.0
Patch Changes
@objectstack/plugin-sharing@10.3.0
Patch Changes
@objectstack/plugin-webhooks@10.3.0
Patch Changes
@objectstack/rest@10.3.0
Patch Changes
@objectstack/runtime@10.3.0
Patch Changes
8cf4f7c: fix(runtime): mount
GET /readyso the readiness probe is reachable over HTTPThe dispatcher's
/readybranch (seam ✨ Set up Copilot instructions #2) was only reachable when callingdispatch()directly — noserver.get('${prefix}/ready')registration existed,so a real server returned the Hono not-found 404 before the handler ran (the same
class of bug as
/mcpand/keys)./readyis now mounted alongside/health,returning 200 while the kernel is
runningand 503 while it is booting ordraining — the contract the EE multi-node rolling-restart drain gate polls
(cloud ADR-0018). Adds a registration assertion plus an integration test that
hits the endpoint through a real HTTP server.
f2063f3: fix(cli): extend native better-sqlite3 → wasm SQLite auto-fallback to the persistent-file /
--artifactdev path (better-sqlite3 → wasm auto-fallback doesn't cover the persistent-file / --artifact dev path (only the zero-config :memory: branch) #2229)The native-
better-sqlite3→ wasm SQLite → in-memory step-down previously onlyguarded the zero-config
:memory:dev branch ofserve. A normalobjectstack devrun never reaches it —devinjects a persistentfile:DB(so AI-authored data survives restarts) and
--artifactboots resolve sqlitethrough the datasource factory — both of which constructed
better-sqlite3directly with no probe and no fallback. An ABI mismatch (e.g.a cached prebuilt binary built for a different Node version) was therefore not
caught at boot and surfaced later as a runtime
Find operation failedon thefirst query.
The probe-by-connect + step-down is now hoisted into a shared
resolveSqliteDriverhelper (@objectstack/service-datasource) and applied toboth previously-unguarded sqlite construction sites: the explicit
sqlite/file:branch inserve.tsand the sqlite branch of the default datasourcedriver factory. better-sqlite3 loads its native addon lazily (first query), so
the helper forces the load with a
SELECT 1and, in dev only, steps down towasm SQLite (real SQL + on-disk persistence — the same
file:keeps working)then to the in-memory driver as a last resort, emitting the existing
⚠ native better-sqlite3 unavailable …warning. In production the native driveris returned unprobed so a load failure surfaces loudly (fail-closed) rather than
silently degrading to a different engine.
Updated dependencies [2b355d5]
Updated dependencies [5ba52b0]
Updated dependencies [211425e]
Updated dependencies [f2063f3]
@objectstack/service-ai@10.3.0
Patch Changes
@objectstack/service-analytics@10.3.0
Patch Changes
f73d40a: fix(analytics): log scalar auto-inferred cubes at debug, not warn
Scalar metric queries (measures only, no
dimensions/timeDimensions) over anunregistered cube — the first-class
object-metric"metric over an object" path— auto-infer a trivial count/sum cube by design. That auto-infer now logs at
debuginstead ofwarn, so boot/render no longer spamsNo cube registered for "..."for a non-problem. Grouped queries (explicitdimension / time bucket) over an unregistered cube keep the
warn, where aforgotten cube registration is a real mistake.
@objectstack/service-automation@10.3.0
Patch Changes
@objectstack/service-cache@10.3.0
Patch Changes
@objectstack/service-cluster-redis@10.3.0
Patch Changes
@objectstack/service-datasource@10.3.0
Patch Changes
f2063f3: fix(cli): extend native better-sqlite3 → wasm SQLite auto-fallback to the persistent-file /
--artifactdev path (better-sqlite3 → wasm auto-fallback doesn't cover the persistent-file / --artifact dev path (only the zero-config :memory: branch) #2229)The native-
better-sqlite3→ wasm SQLite → in-memory step-down previously onlyguarded the zero-config
:memory:dev branch ofserve. A normalobjectstack devrun never reaches it —devinjects a persistentfile:DB(so AI-authored data survives restarts) and
--artifactboots resolve sqlitethrough the datasource factory — both of which constructed
better-sqlite3directly with no probe and no fallback. An ABI mismatch (e.g.a cached prebuilt binary built for a different Node version) was therefore not
caught at boot and surfaced later as a runtime
Find operation failedon thefirst query.
The probe-by-connect + step-down is now hoisted into a shared
resolveSqliteDriverhelper (@objectstack/service-datasource) and applied toboth previously-unguarded sqlite construction sites: the explicit
sqlite/file:branch inserve.tsand the sqlite branch of the default datasourcedriver factory. better-sqlite3 loads its native addon lazily (first query), so
the helper forces the load with a
SELECT 1and, in dev only, steps down towasm SQLite (real SQL + on-disk persistence — the same
file:keeps working)then to the in-memory driver as a last resort, emitting the existing
⚠ native better-sqlite3 unavailable …warning. In production the native driveris returned unprobed so a load failure surfaces loudly (fail-closed) rather than
silently degrading to a different engine.
@objectstack/service-i18n@10.3.0
Patch Changes
@objectstack/service-job@10.3.0
Patch Changes
@objectstack/service-knowledge@10.3.0
Patch Changes
@objectstack/service-messaging@10.3.0
Patch Changes
6d3bf54: fix(messaging): store outbox audit timestamps as datetime so Postgres retention works
created_at/updated_atare builtin audit columns that the SQL driver alwaysprovisions as native
TIMESTAMPcolumns, regardless of the declared field type.The notification and HTTP outboxes declared them as
Field.numberand wroteepoch-ms via
Date.now(), so on Postgres both theenqueueinsert and theretention sweep failed with
date/time field value out of range(a bigintcompared to a timestamp column). SQLite's lenient column affinity hid the bug
until the multi-node Postgres E2E.
The outbox objects now declare these as
Field.datetimeand writeDates; theretention sweep uses one ISO-8601 cutoff for every target (dropping the
format: 'epoch'special case);toRecordnormalises read-back to epoch ms sothe record contract is unchanged.
sys_job_runretention was already ISO.@objectstack/service-package@10.3.0
Patch Changes
@objectstack/service-queue@10.3.0
Patch Changes
@objectstack/service-realtime@10.3.0
Patch Changes
@objectstack/service-settings@10.3.0
Patch Changes
@objectstack/service-storage@10.3.0
Patch Changes
@objectstack/trigger-api@10.3.0
Patch Changes
@objectstack/trigger-record-change@10.3.0
Patch Changes
@objectstack/trigger-schedule@10.3.0
Patch Changes
@objectstack/types@10.3.0
Patch Changes
@objectstack/verify@10.3.0
Patch Changes
@objectstack/console@10.3.0
create-objectstack@10.3.0
@objectstack/spec@10.3.0
objectstack-vscode@10.3.0
@objectstack/example-crm@4.0.58
Patch Changes
@objectstack/example-showcase@0.2.4
Patch Changes
@objectstack/example-todo@4.0.58
Patch Changes
@objectstack/dogfood@0.0.6
Patch Changes
@objectstack/downstream-contract@0.0.4
Patch Changes