Skip to content

Commit 598fdd2

Browse files
dmealingclaude
andcommitted
docs(changelog): the [Unreleased] heading was stale, and a release would have mis-attributed 1.0.0
`## [Unreleased]` sat BELOW `## [1.0.0]`, left behind by the 1.0 cut: the cut wrote a short framing entry and never converted the old heading under it, so ~1200 lines of already-shipped 1.0.0 detail were still filed as unreleased. That is not cosmetic. `scripts/release.mjs` promotes by inserting the new version's heading directly after `## [Unreleased]` — so cutting 1.0.1 against this file would have relabelled the whole 1.0.0 body as 1.0.1. The dry run did exactly that, which is how it was found. Fixed by putting each entry under the release that shipped it: #360's `field.map` entry — the only `###` git shows added since v1.0.0 — moves into [1.0.1], the stale heading is dropped so the rest folds back under [1.0.0] where it belongs, and a fresh empty [Unreleased] goes on top for the next cut. My own one-line field.map bullet is removed as redundant now that #360's full entry sits in the section. Content is preserved: net -3 lines, and [1.0.0] keeps all 43 of its entries. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NTcEKXTQMYt84fAjuw5A2M
1 parent bd5184c commit 598fdd2

1 file changed

Lines changed: 31 additions & 34 deletions

File tree

CHANGELOG.md

Lines changed: 31 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ promises the **software** surface, `metamodelVersion` promises the **metadata**
88
`^1.0.0` accepts a MINOR — so **a release that moves `metamodelVersion` says so in its entry
99
here.**
1010

11+
## [Unreleased]
12+
1113
## [1.0.1] — 2026-09-10
1214

1315
**Why this is a PATCH and not a MINOR.** `docs/RELEASING.md`'s table says an additive CLI
@@ -31,8 +33,6 @@ codegen outright. No adopter on 1.0.0 sees a behaviour change they did not alrea
3133
`KeyValuePair` structs instead of the values (which also left a map nested *inside* a value
3234
object unchecked). TypeScript, Python and Kotlin were never affected; scalar-valued maps
3335
(`@valueType`) carry no bean and are unchanged.
34-
- **`field.map` codegen completes on Java and C#** ([#360]). Before this a map-bearing entity
35-
failed Spring/EF codegen at the unsupported-type throw, so no model could use it there.
3636

3737
### Changed
3838

@@ -58,38 +58,6 @@ codegen outright. No adopter on 1.0.0 sees a behaviour change they did not alrea
5858
- `fixtures/conformance/CAPABILITIES.json` regenerated — it is derived from every fixture's
5959
`script.json` and **nothing reads it at test time**, which is why it had gone stale unnoticed.
6060

61-
`metamodelVersion` is unchanged at **1.0** — no registered vocabulary moved.
62-
63-
[#362]: https://github.com/metaobjectsdev/metaobjects/issues/362
64-
[#361]: https://github.com/metaobjectsdev/metaobjects/issues/361
65-
[#360]: https://github.com/metaobjectsdev/metaobjects/pull/360
66-
[#359]: https://github.com/metaobjectsdev/metaobjects/issues/359
67-
[F101]: https://github.com/metaobjectsdev/metaobjects/blob/main/docs/features/cli.md#the-prompt-directory-prompts-everywhere-f101
68-
69-
## [1.0.0] — 2026-09-09
70-
71-
**The stable release.** npm / PyPI / NuGet go to `1.0.0`; Maven Central to `8.0.0` (the
72-
historical major `7` plus one, per ADR-0035 §2's decouple ruling — Maven cannot move
73-
backwards). `metamodelVersion` freezes at **`1.0`**.
74-
75-
What that promises, and what it does not, is in
76-
[`docs/compatibility-policy.md`](docs/compatibility-policy.md): the metamodel spine, the CLI,
77-
the wire format and the scaffold-and-own contract are covered; generated code is yours and
78-
disposable, so its internals are not. The two version axes stay separate (ADR-0035
79-
Amendment 2) — `^1.0.0` accepts `1.1.0`, so a release that moves `metamodelVersion` says so
80-
here.
81-
82-
Upgrading from `0.x` is [`docs/features/migrations/0.x-to-1.0.md`](docs/features/migrations/0.x-to-1.0.md),
83-
and `meta upgrade --apply` rewrites what a retirement made illegal.
84-
85-
The last open release gate was **G3d** — an adopter estate must run the RELEASE CANDIDATE
86-
with the drift gate ENFORCED before promote. It is closed: nine maintainer-owned estates ran
87-
`1.0.0-rc.7`/`rc.8` with their own gates enforced, across all four ports that have adopters
88-
(TypeScript, Python, Kotlin/JVM, and the D1/Cloudflare and Postgres deployments). What that
89-
found is in this entry and the ones below it.
90-
91-
## [Unreleased]
92-
9361
### Fixed — `field.map` codegen completes: Java generates it, C# persists it
9462

9563
The subtype is registered in all five ports and TypeScript, Kotlin and Python already
@@ -132,6 +100,35 @@ adopter who read "field.map now works" out of this entry would be over-reading i
132100
**`metamodelVersion` does not move**: no registered vocabulary changed, and
133101
`expected-registry.json` is untouched.
134102

103+
`metamodelVersion` is unchanged at **1.0** — no registered vocabulary moved.
104+
105+
[#362]: https://github.com/metaobjectsdev/metaobjects/issues/362
106+
[#361]: https://github.com/metaobjectsdev/metaobjects/issues/361
107+
[#360]: https://github.com/metaobjectsdev/metaobjects/pull/360
108+
[#359]: https://github.com/metaobjectsdev/metaobjects/issues/359
109+
[F101]: https://github.com/metaobjectsdev/metaobjects/blob/main/docs/features/cli.md#the-prompt-directory-prompts-everywhere-f101
110+
111+
## [1.0.0] — 2026-09-09
112+
113+
**The stable release.** npm / PyPI / NuGet go to `1.0.0`; Maven Central to `8.0.0` (the
114+
historical major `7` plus one, per ADR-0035 §2's decouple ruling — Maven cannot move
115+
backwards). `metamodelVersion` freezes at **`1.0`**.
116+
117+
What that promises, and what it does not, is in
118+
[`docs/compatibility-policy.md`](docs/compatibility-policy.md): the metamodel spine, the CLI,
119+
the wire format and the scaffold-and-own contract are covered; generated code is yours and
120+
disposable, so its internals are not. The two version axes stay separate (ADR-0035
121+
Amendment 2) — `^1.0.0` accepts `1.1.0`, so a release that moves `metamodelVersion` says so
122+
here.
123+
124+
Upgrading from `0.x` is [`docs/features/migrations/0.x-to-1.0.md`](docs/features/migrations/0.x-to-1.0.md),
125+
and `meta upgrade --apply` rewrites what a retirement made illegal.
126+
127+
The last open release gate was **G3d** — an adopter estate must run the RELEASE CANDIDATE
128+
with the drift gate ENFORCED before promote. It is closed: nine maintainer-owned estates ran
129+
`1.0.0-rc.7`/`rc.8` with their own gates enforced, across all four ports that have adopters
130+
(TypeScript, Python, Kotlin/JVM, and the D1/Cloudflare and Postgres deployments). What that
131+
found is in this entry and the ones below it.
135132

136133
### Added — `meta verify` advises when a provider still carries the prop 1.0 renamed away
137134

0 commit comments

Comments
 (0)