chore: version packages#2877
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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/console@14.6.0
Minor Changes
1d4c359: Console (objectui) refreshed to
94d00d41b1bd. Frontend changes in this range:objectui range:
2fb38edbeb12...94d00d41b1bd1d4c359: Console (objectui) refreshed to
e7bebe929349. Frontend changes in this range:objectui range:
94d00d41b1bd...e7bebe929349Patch Changes
b42ae3d: Console (objectui) refreshed to
2fb38edbeb12. Frontend changes in this range:visiblepredicate through resolveActionParams (fix(automation): accept config.fieldValues as an alias for create/update_record fields #2419)Completes the create-user phone fix:
resolveActionParamsnow carries thevisibleCEL predicate through toActionParamDialog, so thephoneNumberfield is hidden when the
phoneNumberauth plugin is off(
features.phoneNumber == false) instead of rendering a field the backendrejects.
objectui range:
9138e68413f3...2fb38edbeb12@objectstack/hono@14.6.0
Patch Changes
@objectstack/account@14.6.0
Patch Changes
@objectstack/setup@14.6.0
Patch Changes
@objectstack/studio@14.6.0
Patch Changes
@objectstack/cli@14.6.0
Patch Changes
@objectstack/client@14.6.0
Patch Changes
e4cf774: fix(auth): single-source Console page-URL construction; correct SMS + OAuth-callback landing paths
Root-cause hardening after the invitation-link fixes. Every user-facing link
to a Console page is
${origin}${uiBasePath}${path}, but that composition washand-written at each call site — which is how the scheme /
/_consoleprefixkept getting dropped one link at a time.
plugin-auth
getConsolePageUrl(path)helper;loginPage,consentPage, deviceverificationUriand the invitation accept URL allcompose through it, so future page links can't drift.
(
${origin}${uiBasePath}/login) via a new{{loginUrl}}template variableinstead of the bare origin.
{{baseUrl}}is still provided for backwardcompatibility with tenant-overridden templates.
client
signInWithProvidernow defaultscallbackURLto the current page(
window.location.href) instead of a hard-codedorigin + '/login'. TheSDK cannot know the app's mount path (Console lives under
/_console), soreturning the user to where they started is the only base-path-correct
default; it also mirrors
linkSocial. Pass an explicitcallbackURLtooverride.
Updated dependencies [609cb13]
Updated dependencies [ce6d151]
@objectstack/client-react@14.6.0
Patch Changes
@objectstack/cloud-connection@14.6.0
Patch Changes
@objectstack/connector-mcp@14.6.0
Patch Changes
@objectstack/connector-openapi@14.6.0
Patch Changes
@objectstack/connector-rest@14.6.0
Patch Changes
@objectstack/connector-slack@14.6.0
Patch Changes
@objectstack/core@14.6.0
Patch Changes
@objectstack/formula@14.6.0
Patch Changes
@objectstack/lint@14.6.0
Patch Changes
@objectstack/mcp@14.6.0
Patch Changes
@objectstack/metadata@14.6.0
Patch Changes
@objectstack/metadata-core@14.6.0
Patch Changes
@objectstack/metadata-fs@14.6.0
Patch Changes
@objectstack/metadata-protocol@14.6.0
Patch Changes
@objectstack/objectql@14.6.0
Patch Changes
8f4a261: fix(objectql): apply field
defaultValuewhen a field is explicitlynullon insert, not only when omitted ([objectql] 字段 defaultValue 语义:显式 null 不回填、解析晚于 hook、表单不预填 current_user #2706)applyFieldDefaultspreviously skipped any field whose value was notundefined, so a form that serialized an unpicked control asnull(ratherthan omitting it) fell through and stored
null— thecurrent_usertoken andstatic defaults never filled in. Both an omitted field and an explicit
nullnow count as "no value supplied" and receive the default. This runs on the
insert path only, so a deliberate "set to null" on update is untouched; an
explicit empty string
''is still respected as a real value.Updated dependencies [609cb13]
Updated dependencies [ce6d151]
@objectstack/observability@14.6.0
Patch Changes
@objectstack/platform-objects@14.6.0
Patch Changes
609cb13: Action params gain a
visiblepredicate; the create-userphoneNumberparam is gated onfeatures.phoneNumber.ActionParamSchemagains an optionalvisible(CEL,ExpressionInputSchema) evaluated against the same scope as actionvisible(current_user/app/data/features); a UI that honors it omits the param when it's false. Thesys_usercreate_useraction'sphoneNumberparam now carriesvisible: 'features.phoneNumber == true', so the form no longer offers a Phone Number field when the opt-inphoneNumberauth plugin is off — otherwise the endpoint rejects it with "Phone numbers require the phoneNumber auth plugin". Pairs with the objectuiActionParamDialogchange that evaluatesparam.visible.Updated dependencies [609cb13]
Updated dependencies [ce6d151]
@objectstack/driver-memory@14.6.0
Patch Changes
@objectstack/driver-mongodb@14.6.0
Patch Changes
@objectstack/driver-sql@14.6.0
Patch Changes
ce6d151: fix(driver-sql): fail-loud on unknown filter operators; real IS NULL / IS NOT NULL; $not support ([driver-sql] 未知查询 operator(is/is_null)静默透传返整表,应报错;缺 $null 处理 #2704)
The SQL driver used to forward any filter operator it didn't recognise straight
to Knex. On a null comparand that silently compiled to a whole-table match, so a
permission/assignment-scoped list view could leak every row (e.g. an
is_null/is_emptyoperator from the client). It also had no realnull-check:
field = nullnever rendersIS NULLin SQL.This change makes the driver:
is_null/isnull/is_empty(and the not-null variants) →
IS NULL/IS NOT NULL, unified withequals+ null;!= null→IS NOT NULL.filter shapes (array
[field, op, value]and object{field: {$op: value}}):$between,$startsWith,$endsWith,$notContains,$null,$exists,and the logical
$not(a negated sub-condition, matching driver-mongodb /driver-memory — CEL
!exprpermission scopes compile to it).contains/startsWith/endsWithvalues with an explicitESCAPE '\'so%/_in user input can't widen the match.passing it through — no more silent whole-table results.
@objectstack/specrecognises the client alias operator spellings(
isnull/is_empty/ …) inVALID_AST_OPERATORSand maps them to$nullso the array-AST → object-filter conversion is consistent with the driver.
Updated dependencies [609cb13]
Updated dependencies [ce6d151]
@objectstack/driver-sqlite-wasm@14.6.0
Patch Changes
@objectstack/embedder-openai@14.6.0
Patch Changes
@objectstack/knowledge-memory@14.6.0
Patch Changes
@objectstack/knowledge-ragflow@14.6.0
Patch Changes
@objectstack/plugin-approvals@14.6.0
Patch Changes
@objectstack/plugin-audit@14.6.0
Patch Changes
@objectstack/plugin-auth@14.6.0
Patch Changes
160d565: fix(auth): guarantee an absolute https origin for every user-facing auth URL
Follow-up to the invitation-link fix. Several other user-facing links were
built from the raw
config.baseUrlwith no scheme guarantee, so a bare-hostbaseUrl(e.g.cloud.objectos.ai) produced relative-looking, unclickablelinks. All now flow through the hardened
getCanonicalOrigin()(prependshttps://when the scheme is missing, trims a trailing slash):baseURL— the reset-password, verify-email and magic-linkemail links are derived from it.
loginPage/consentPageredirect targets.verificationUri.{{baseUrl}}.Deployments that already configure an absolute
baseUrlare unaffected.e4cf774: fix(auth): single-source Console page-URL construction; correct SMS + OAuth-callback landing paths
Root-cause hardening after the invitation-link fixes. Every user-facing link
to a Console page is
${origin}${uiBasePath}${path}, but that composition washand-written at each call site — which is how the scheme /
/_consoleprefixkept getting dropped one link at a time.
plugin-auth
getConsolePageUrl(path)helper;loginPage,consentPage, deviceverificationUriand the invitation accept URL allcompose through it, so future page links can't drift.
(
${origin}${uiBasePath}/login) via a new{{loginUrl}}template variableinstead of the bare origin.
{{baseUrl}}is still provided for backwardcompatibility with tenant-overridden templates.
client
signInWithProvidernow defaultscallbackURLto the current page(
window.location.href) instead of a hard-codedorigin + '/login'. TheSDK cannot know the app's mount path (Console lives under
/_console), soreturning the user to where they started is the only base-path-correct
default; it also mirrors
linkSocial. Pass an explicitcallbackURLtooverride.
Updated dependencies [609cb13]
Updated dependencies [ce6d151]
@objectstack/plugin-dev@14.6.0
Patch Changes
@objectstack/plugin-email@14.6.0
Patch Changes
@objectstack/plugin-hono-server@14.6.0
Patch Changes
@objectstack/plugin-reports@14.6.0
Patch Changes
@objectstack/plugin-security@14.6.0
Patch Changes
6e2b8ae: Project env-scope permission-set edits onto the
sys_permission_setrecord (sys_permission_set: env-scope permission metadata saves don't project onto the queryable data record #2857).A
sys_permission_sethas two representations: the authoritative metadata thestructured editor writes, and the queryable data record (snake_case
JSON-string columns) the admin/Setup surface reads. The metadata→record
projection (
toRowFields/upsertPackagePermissionSet) ran only at boot andon publish (package door), and the publish path refuses env-authored rows —
so an environment-scope
save('permission', …)updated thesys_metadataoverlay (and the layered read) but left the
sys_permission_setrecord stale(split-brain). Enforcement reads the authoritative metadata so access stayed
correct, but the admin surface showed old values.
Adds the environment door:
subscribeEnvPermissionProjectionhooks theprotocol's post-persistence
onMetadataMutationchoke point; on an active(non-draft)
permissionsave it re-reads the fresh effective body via thelayered read (the boot-cached metadata registry would return a stale declared
body) and
upsertEnvPermissionSetprojects the six facets onto the record.Ownership is decided by the record's
managed_by— env-authored rows(platform/user/absent) are projected; a package-owned record's baseline is left
to boot re-seed / publish, so the two doors never fight. Mirrors the existing
authored-translation-syncmutation-listener pattern.Updated dependencies [609cb13]
Updated dependencies [ce6d151]
@objectstack/plugin-sharing@14.6.0
Patch Changes
@objectstack/plugin-webhooks@14.6.0
Patch Changes
@objectstack/rest@14.6.0
Patch Changes
@objectstack/runtime@14.6.0
Patch Changes
@objectstack/service-analytics@14.6.0
Patch Changes
@objectstack/service-automation@14.6.0
Patch Changes
@objectstack/service-cache@14.6.0
Patch Changes
@objectstack/service-cluster@14.6.0
Patch Changes
@objectstack/service-cluster-redis@14.6.0
Patch Changes
@objectstack/service-datasource@14.6.0
Patch Changes
@objectstack/service-i18n@14.6.0
Patch Changes
@objectstack/service-job@14.6.0
Patch Changes
@objectstack/service-knowledge@14.6.0
Patch Changes
@objectstack/service-messaging@14.6.0
Patch Changes
@objectstack/service-package@14.6.0
Patch Changes
@objectstack/service-queue@14.6.0
Patch Changes
@objectstack/service-realtime@14.6.0
Patch Changes
@objectstack/service-settings@14.6.0
Patch Changes
@objectstack/service-sms@14.6.0
Patch Changes
@objectstack/service-storage@14.6.0
Patch Changes
@objectstack/spec@14.6.0
Patch Changes
609cb13: Action params gain a
visiblepredicate; the create-userphoneNumberparam is gated onfeatures.phoneNumber.ActionParamSchemagains an optionalvisible(CEL,ExpressionInputSchema) evaluated against the same scope as actionvisible(current_user/app/data/features); a UI that honors it omits the param when it's false. Thesys_usercreate_useraction'sphoneNumberparam now carriesvisible: 'features.phoneNumber == true', so the form no longer offers a Phone Number field when the opt-inphoneNumberauth plugin is off — otherwise the endpoint rejects it with "Phone numbers require the phoneNumber auth plugin". Pairs with the objectuiActionParamDialogchange that evaluatesparam.visible.ce6d151: fix(driver-sql): fail-loud on unknown filter operators; real IS NULL / IS NOT NULL; $not support ([driver-sql] 未知查询 operator(is/is_null)静默透传返整表,应报错;缺 $null 处理 #2704)
The SQL driver used to forward any filter operator it didn't recognise straight
to Knex. On a null comparand that silently compiled to a whole-table match, so a
permission/assignment-scoped list view could leak every row (e.g. an
is_null/is_emptyoperator from the client). It also had no realnull-check:
field = nullnever rendersIS NULLin SQL.This change makes the driver:
is_null/isnull/is_empty(and the not-null variants) →
IS NULL/IS NOT NULL, unified withequals+ null;!= null→IS NOT NULL.filter shapes (array
[field, op, value]and object{field: {$op: value}}):$between,$startsWith,$endsWith,$notContains,$null,$exists,and the logical
$not(a negated sub-condition, matching driver-mongodb /driver-memory — CEL
!exprpermission scopes compile to it).contains/startsWith/endsWithvalues with an explicitESCAPE '\'so%/_in user input can't widen the match.passing it through — no more silent whole-table results.
@objectstack/specrecognises the client alias operator spellings(
isnull/is_empty/ …) inVALID_AST_OPERATORSand maps them to$nullso the array-AST → object-filter conversion is consistent with the driver.
@objectstack/trigger-api@14.6.0
Patch Changes
@objectstack/trigger-record-change@14.6.0
Patch Changes
@objectstack/trigger-schedule@14.6.0
Patch Changes
@objectstack/types@14.6.0
Patch Changes
@objectstack/verify@14.6.0
Patch Changes
create-objectstack@14.6.0
@objectstack/sdui-parser@14.6.0
objectstack-vscode@14.6.0
@objectstack/example-crm@4.0.84
Patch Changes
@objectstack/example-showcase@0.3.6
Patch Changes
@objectstack/example-todo@4.0.84
Patch Changes
@objectstack/example-embed-objectql@0.0.24
Patch Changes
@objectstack/dogfood@0.0.32
Patch Changes
@objectstack/downstream-contract@0.0.30
Patch Changes