Skip to content

Commit 0972ecf

Browse files
dmealingclaude
andcommitted
chore(release): 0.20.14 coordinated (npm/PyPI/NuGet 0.20.14 · Maven 7.20.14)
Coordinated at the shared patch number per the single-shared-patch policy set at 0.20.13. Every changed product file is npm-only: the migrate snapshot fix lives in @metaobjectsdev/cli, and the corrected agent-context ships via @metaobjectsdev/sdk — the only package on any registry that bundles the repo-root agent-context/ tree. The Python wheel vendors none (its build hook is an explicit no-op), and both `dotnet meta agent-docs` and the Maven AgentDocsMojo are redirect stubs to the Node CLI. PyPI, NuGet and Maven Central are therefore version-parity bumps with no changed product file. PATCH, not MINOR. Every behavior change converts a previously BROKEN flow into the documented one — day-1 `--from-db … --apply` followed by the documented day-2 offline incremental used to die with `no schema snapshot`, and the `--apply` variant left the next offline diff re-emitting applied DDL as an un-appliable duplicate. No invocation that previously succeeded now fails or degrades, the snapshot write is guarded (dry-run, blocked, refused and apply-failed runs leave it untouched), and `meta gen` output is byte-identical. That is the table's "wire behavior fixed to match the documented contract" row, reinforced by "output change = pure bugfix". The "changed CLI semantics" clause sits in the public-API-BREAKING row, whose company is removed exports and newly-required params; precedent agrees — 0.20.7 shipped a whole new subcommand as PATCH. Also amends docs/RELEASING.md, which still documented the superseded per-registry-scoping rule ("no release for that registry") and twice asserted versions are not unified. Those predate the 0.20.13 policy and contradicted it, which would have recurred every release. The header, the change-class table row and the tail note now state the standing rule: all four registries cut at the same minor.patch, with a version-parity bump where a port has no changed file. Stale "currently 0.19.7 / 0.19.9 / 7.11.7" references refreshed to 0.20.13. Verified before promoting: CI green on 91de3a8; all 14 packages published to `next` as 0.20.14-rc.1; packed sibling deps pinned to the release version with no workspace:* leakage; and an external install of the RC in a fresh directory under BOTH npm and pnpm-strict, exercising the actual fix — day-1 --from-db --apply writes the snapshot, day-2 offline incremental emits a real migration. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S3msoGxjRMwx94PhKSLDuE
1 parent 91de3a8 commit 0972ecf

36 files changed

Lines changed: 79 additions & 81 deletions

File tree

CHANGELOG.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,16 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
77

88
## [Unreleased]
99

10-
**Scope: npm · PyPI · NuGet** — Maven Central has no changed product file (its
11-
`AgentDocsMojo` no longer scaffolds agent context; it redirects to the Node CLI).
12-
The migrate fix is npm-only (`@metaobjectsdev/cli`); the agent-context correction
13-
ships wherever the scaffolded skills ship — `@metaobjectsdev/sdk` on npm, the
14-
bundled content tree in the PyPI package, and the C# CLI on NuGet.
10+
## [0.20.14] — npm `0.20.14` · PyPI `0.20.14` · NuGet `0.20.14` · Maven `7.20.14`
11+
12+
**Scope: npm `0.20.14` · PyPI `0.20.14` · NuGet `0.20.14` · Maven Central `7.20.14`**
13+
coordinated at the shared patch number per the single-shared-patch policy ([0.20.13]).
14+
Every changed product file is npm-only: the migrate fix lives in `@metaobjectsdev/cli`,
15+
and the corrected agent-context ships via `@metaobjectsdev/sdk` — the only package on
16+
any registry that bundles the repo-root `agent-context/` tree (the Python wheel vendors
17+
none, its build hook is a no-op; the C# `dotnet meta agent-docs` and the Maven
18+
`AgentDocsMojo` are redirect stubs to the Node CLI). PyPI, NuGet and Maven Central are
19+
version-parity bumps with no changed product file.
1520

1621
### Fixed — the live-DB `meta migrate` path now advances the committed snapshot
1722

bun.lock

Lines changed: 22 additions & 34 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/web/packages/react/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@metaobjectsdev/react",
3-
"version": "0.20.13",
3+
"version": "0.20.14",
44
"description": "React runtime for metaobjects: useEntityForm hook and CurrencyInput component.",
55
"type": "module",
66
"main": "./dist/index.js",

client/web/packages/runtime-web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@metaobjectsdev/runtime-web",
3-
"version": "0.20.13",
3+
"version": "0.20.14",
44
"description": "Pure framework-agnostic browser core for metaobjects: currency, filter URL serialization, fetcher contract types.",
55
"type": "module",
66
"main": "./dist/index.js",

client/web/packages/tanstack/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@metaobjectsdev/tanstack",
3-
"version": "0.20.13",
3+
"version": "0.20.14",
44
"description": "TanStack runtime for metaobjects: EntityFetcherProvider, EntityGrid, default cell renderers.",
55
"type": "module",
66
"main": "./dist/index.js",

docs/RELEASING.md

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,12 @@
1313
> - **NuGet** → keyless OIDC via the `publish-csharp.yml` workflow: `gh workflow run
1414
> publish-csharp.yml` (or push a `csharp-v<version>` tag).
1515
>
16-
> Run network commands via the sandbox-disabled shell. Versions are **not unified** (TS/C#/Python
17-
> on the `0.x` line, Java/Kotlin on the `7.x` line). The rest of this doc is the per-registry
18-
> procedure.
16+
> Run network commands via the sandbox-disabled shell. **Single shared patch number (standing
17+
> policy since 0.20.13):** every release cuts ALL FOUR registries at the same `minor.patch`
18+
> npm / PyPI / NuGet on `0.<m>.<p>`, Maven on `7.<m>.<p>` (only the major differs, for historical
19+
> continuity). A registry with no changed product file publishes a **version-parity bump**
20+
> (identical content at the new version) rather than sitting the release out. The rest of this doc
21+
> is the per-registry procedure.
1922
2023
## Releasing the TypeScript packages to npm
2124

@@ -97,7 +100,7 @@ bytes**, not "did output change."
97100
| New **opt-in** codegen feature, default output byte-identical | new generator defaulting off | PATCH (MINOR if it adds registry vocabulary — cross-port conformance surface) | MINOR |
98101
| Wire-contract / conformance behavior change of already-valid deployments | FR-036 enforcement | **MINOR**, loud notice (pre-1.0 MINOR *is* the breaking slot) | MAJOR |
99102
| Wire behavior fixed to match the documented/conformance contract | 0.19.1 `@min` clamp | PATCH | PATCH |
100-
| Docs / tests / fixtures only (no product file in a port) | 0.19.4 npm scope | **No release for that registry** (per-registry scoping) | same |
103+
| No changed product file in a port | PyPI/NuGet/Maven at 0.20.14 | **Version-parity bump at the shared patch number** — publish identical content at the new version; never skip a registry (single-shared-patch policy, standing since 0.20.13) | same |
101104

102105
**The `extStyle` 0.20.0 case, for calibration:** it was correctly MINOR — but for the
103106
*API break* (`relativeModuleSpecifier` gained a required param — a public export) **and**
@@ -210,7 +213,7 @@ How to publish the `MetaObjects*` C# packages to nuget.org. We use **Trusted Pub
210213

211214
## What gets published
212215

213-
Four packages, version-locked at the C# port version (currently `0.19.7`):
216+
Four packages, version-locked at the C# port version (currently `0.20.13`):
214217

215218
| Package | Contents |
216219
|---|---|
@@ -298,7 +301,7 @@ How to publish the **`metaobjects`** Python package to PyPI via **Trusted Publis
298301
## What gets published
299302

300303
One package, `metaobjects` (version in [`server/python/pyproject.toml`](../server/python/pyproject.toml),
301-
currently `0.19.9`), as an **sdist + a universal `py3-none-any` wheel** (pure Python).
304+
currently `0.20.13`), as an **sdist + a universal `py3-none-any` wheel** (pure Python).
302305

303306
## How we publish: Trusted Publishing (OIDC)
304307

@@ -354,7 +357,7 @@ subsequent releases keyless.)
354357
# Releasing the Java/Kotlin modules to Maven Central
355358

356359
The 18 `com.metaobjects:*` modules ship to **Maven Central via the Sonatype Central Portal**,
357-
versioned on the `7.x` line (currently `7.11.7`) in the parent + module poms. Signed with the
360+
versioned on the `7.x` line (currently `7.20.13`) in the parent + module poms. Signed with the
358361
maintainer's GPG key.
359362

360363
## Procedure
@@ -396,8 +399,10 @@ maintainer's GPG key.
396399
> If all are `200`, the release is out — the error was just the response parse. Bump the plugin to
397400
>`0.7.0` to stop the crash on the next release.
398401
399-
**Versions are not unified across languages** — TS, C#, and Python are on the `0.9.x` line, the
400-
Java/Kotlin module line is on the `7.2.x` track. Don't force one number. The cross-language contract
402+
**The `minor.patch` IS unified across languages** (standing policy since 0.20.13): npm, PyPI and
403+
NuGet share `0.<m>.<p>`, and Maven Central ships the same `minor.patch` on its historical major `7`.
404+
Every release bumps all four registries, with version-parity bumps where a port has no changed
405+
file. The cross-language *behavior* contract
401406
is the **conformance corpus + [`fixtures/conformance/CAPABILITIES.json`](../fixtures/conformance/CAPABILITIES.json)**:
402407
each release states which capabilities/conformance level it satisfies, and *that* manifest — not a
403408
shared version — is the coordination point. (Generated code runs without any MetaObjects runtime, so

server/csharp/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
-->
99

1010
<PropertyGroup>
11-
<Version>0.20.13</Version>
11+
<Version>0.20.14</Version>
1212
<Authors>Doug Mealing</Authors>
1313
<Company>Doug Mealing LLC</Company>
1414
<Product>MetaObjects</Product>

server/java/codegen-base/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.metaobjects</groupId>
88
<artifactId>metaobjects</artifactId>
9-
<version>7.20.13</version>
9+
<version>7.20.14</version>
1010
</parent>
1111

1212
<artifactId>metaobjects-codegen-base</artifactId>

server/java/codegen-kotlin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>com.metaobjects</groupId>
99
<artifactId>metaobjects</artifactId>
10-
<version>7.20.13</version>
10+
<version>7.20.14</version>
1111
</parent>
1212

1313
<artifactId>metaobjects-codegen-kotlin</artifactId>

server/java/codegen-mustache/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.metaobjects</groupId>
88
<artifactId>metaobjects</artifactId>
9-
<version>7.20.13</version>
9+
<version>7.20.14</version>
1010
</parent>
1111

1212
<artifactId>metaobjects-codegen-mustache</artifactId>

0 commit comments

Comments
 (0)