Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .changeset/apimethod-enum-shrink.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@

feat(spec)!: shrink the `ApiMethod` enum to the six primitives — legacy values are stripped at parse, never honored (#3543, P2 of #3391)

**BREAKING** (ships as `minor` per the lockstep launch-window policy — every
package versions together, so a `major` here would promote the entire
monorepo; the `!` marker and this changeset are the breaking-change record):
**BREAKING** (the `!` marker and this changeset are the breaking-change
record; the train ships as the v17 major — see the `v17-rc-anchor` changeset):
the authored `enable.apiMethods` enum is now exactly the six
primitives (`get`, `list`, `create`, `update`, `delete`, `bulk`). The eight
legacy values (`upsert`, `aggregate`, `history`, `search`, `restore`, `purge`,
Expand Down
84 changes: 84 additions & 0 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
{
"mode": "pre",
"tag": "rc",
"initialVersions": {
"@objectstack/docs": "4.2.1",
"@objectstack/example-crm": "4.0.91",
"@objectstack/example-showcase": "0.3.13",
"@objectstack/example-todo": "4.0.91",
"@objectstack/example-embed-objectql": "0.0.31",
"@objectstack/hono": "16.1.0",
"@objectstack/account": "16.1.0",
"@objectstack/setup": "16.1.0",
"@objectstack/studio": "16.1.0",
"@objectstack/cli": "16.1.0",
"@objectstack/client": "16.1.0",
"@objectstack/client-react": "16.1.0",
"@objectstack/cloud-connection": "16.1.0",
"@objectstack/connector-mcp": "16.1.0",
"@objectstack/connector-openapi": "16.1.0",
"@objectstack/connector-rest": "16.1.0",
"@objectstack/connector-slack": "16.1.0",
"@objectstack/console": "16.1.0",
"@objectstack/core": "16.1.0",
"create-objectstack": "16.1.0",
"@objectstack/formula": "16.1.0",
"@objectstack/lint": "16.1.0",
"@objectstack/mcp": "16.1.0",
"@objectstack/metadata": "16.1.0",
"@objectstack/metadata-core": "16.1.0",
"@objectstack/metadata-fs": "16.1.0",
"@objectstack/metadata-protocol": "16.1.0",
"@objectstack/objectql": "16.1.0",
"@objectstack/observability": "16.1.0",
"@objectstack/platform-objects": "16.1.0",
"@objectstack/driver-memory": "16.1.0",
"@objectstack/driver-mongodb": "16.1.0",
"@objectstack/driver-sql": "16.1.0",
"@objectstack/driver-sqlite-wasm": "16.1.0",
"@objectstack/embedder-openai": "16.1.0",
"@objectstack/knowledge-memory": "16.1.0",
"@objectstack/knowledge-ragflow": "16.1.0",
"@objectstack/plugin-approvals": "16.1.0",
"@objectstack/plugin-audit": "16.1.0",
"@objectstack/plugin-auth": "16.1.0",
"@objectstack/plugin-dev": "16.1.0",
"@objectstack/plugin-email": "16.1.0",
"@objectstack/plugin-hono-server": "16.1.0",
"@objectstack/plugin-pinyin-search": "16.1.0",
"@objectstack/plugin-reports": "16.1.0",
"@objectstack/plugin-security": "16.1.0",
"@objectstack/plugin-sharing": "16.1.0",
"@objectstack/plugin-webhooks": "16.1.0",
"@objectstack/dogfood": "0.0.39",
"@objectstack/downstream-contract": "0.0.37",
"@objectstack/http-conformance": "0.0.5",
"@objectstack/rest": "16.1.0",
"@objectstack/runtime": "16.1.0",
"@objectstack/sdui-parser": "16.1.0",
"@objectstack/service-analytics": "16.1.0",
"@objectstack/service-automation": "16.1.0",
"@objectstack/service-cache": "16.1.0",
"@objectstack/service-cluster": "16.1.0",
"@objectstack/service-cluster-redis": "16.1.0",
"@objectstack/service-datasource": "16.1.0",
"@objectstack/service-i18n": "16.1.0",
"@objectstack/service-job": "16.1.0",
"@objectstack/service-knowledge": "16.1.0",
"@objectstack/service-messaging": "16.1.0",
"@objectstack/service-package": "16.1.0",
"@objectstack/service-queue": "16.1.0",
"@objectstack/service-realtime": "16.1.0",
"@objectstack/service-settings": "16.1.0",
"@objectstack/service-sms": "16.1.0",
"@objectstack/service-storage": "16.1.0",
"@objectstack/spec": "16.1.0",
"@objectstack/trigger-api": "16.1.0",
"@objectstack/trigger-record-change": "16.1.0",
"@objectstack/trigger-schedule": "16.1.0",
"@objectstack/types": "16.1.0",
"@objectstack/verify": "16.1.0",
"objectstack-vscode": "16.1.0"
},
"changesets": []
}
30 changes: 30 additions & 0 deletions .changeset/v17-rc-anchor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
"@objectstack/spec": major
---

release!: promote the accumulated launch-window train to v17.0.0 (RC cycle)

Anchor changeset for the v17 major. The lockstep group applies the highest
bump across all pending changesets to every package, so this single `major`
promotes the whole train — every other pending changeset keeps its own
`minor`/`patch` declaration and its own narrative.

**Why a major, when the launch-window policy ships breaking changes as
`minor`:** this train's breaking density is the highest since the policy was
adopted — the `ApiMethod` enum shrink (#3543, compile-time breaking for TS
authors), the GraphQL surface removal, the ADR-0104 field value-shape write
cutover, and the retirement of several dead spec clusters all ride together.
Publishing that set as a bare minor would auto-upgrade every `^16.x` consumer
into it on their next install. A major puts the version-number signal back:
caret ranges hold at 16.x until a consumer opts in.

**RC cycle:** this lands inside Changesets pre-mode (`rc` tag), so the train
publishes as `17.0.0-rc.N` — nothing reaches `latest` until `changeset pre
exit`. Downstream validation during the RC window: cloud / objectui /
examples upgrade against the RC, the dogfood gate and the third-party
consumer gate (#2035) run against it, and legacy `apiMethods` strip warnings
are watched for the deny-all cliff.

Migration: each breaking change's own changeset carries its FROM → TO guide
(grep the CHANGELOG for `!:` entries); the ApiMethod shrink additionally
ships a reporter codemod (`scripts/codemod/apimethods-legacy-to-primitives.mjs`).