docs(changelog): the next cut is 0.24.0, and it absorbs the unreleased 0.23.3 - #320
Merged
Conversation
…d 0.23.3 The changelog declared two unreleased versions at once: `[Unreleased]` holding the cross-port `sources` work, and a `[0.23.3]` PATCH entry below it holding the `meta gen` hand-edit fix. No registry ever carried `0.23.3` — npm, PyPI and Maven Central are all still on `0.23.2`/`7.23.2` — so both bodies of work ship together, and a release cannot be two versions at once. It is `0.24.0`, not `0.23.3`, because two changes in the `sources` work are DEFAULT FLIPS rather than corrections: the Java mojo now fails a build a silently-empty model used to pass, and Java and Python now follow symlinked directories. Pre-1.0, `^0.23.x` resolves `<0.24.0`, so a MINOR is adopted deliberately while a PATCH is taken automatically on a routine update. The `0.23.3` body is demoted to a section that says where it came from, so the number does not read as skipped. This also matters mechanically: `scripts/prerelease.mjs` derives an RC's base version from the topmost `## [x.y.z]` header, so before this the tool would have produced `0.23.3-rc.N` and every invocation would have needed `--base` to be talked out of it — which the pre-release doc calls out as the way a version number gets burned. Three entries reconciled against what actually shipped in #319: - The symlink bullet claimed "a symlink cycle is a loud error rather than a hang". That was written before it was true and understated the failure: C#'s enumeration SWALLOWED the kernel's ELOOP and returned ~40 phantom copies of one file, reporting success. Now describes what happened, and says the claim is carried by a corpus case rather than by prose. Two `symlinks` cases became three. - The unknown-key bullet said `.metaobjects/config.json` rejects unknown keys full stop. It is the Node CLI only — the other three read the neutral subset and ignore them. That asymmetry is now ruled intended, so the entry states it, and states the consequence an adopter has to plan for: a config written by a newer `meta` hard-fails an older one. - `meta init --print-only` writing the files it was previewing was undocumented entirely. Added, including that the dry run used to report in the PAST tense. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
dmealing
added a commit
that referenced
this pull request
Aug 20, 2026
Only CHANGELOG.md conflicted: main's #320 cut everything under `[Unreleased]` into a `[0.24.0]` section while this branch added its ADR-0052 entry there. Resolved by keeping BOTH, with the ADR-0052 section left under `[Unreleased]`. It is a BREAKING metamodel-vocabulary change and its release slot is still an open human call (before GA or after) — folding it into a cut someone else defined would answer that question silently. Also removes a stray `||||||| constructed merge base` marker that main has been carrying mid-CHANGELOG since an earlier merge. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DhpswkF1NvwxhFWMmdAT15
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.
Documentation only. Reconciles the changelog so it declares one next version instead of two, and corrects three entries against what actually shipped.
The changelog declared two unreleased versions at once
## [Unreleased]held the cross-portsourceswork; a## [0.23.3]PATCH entry sat below it holding themeta genhand-edit fix. No registry ever carried0.23.3— npm, PyPI and Maven Central are all still on0.23.2/7.23.2(checked, not assumed). Both bodies of work ship together, and a release cannot be two versions at once.It is
0.24.0, not0.23.3, because two changes in thesourceswork are default flips rather than corrections: the Java mojo now fails a build that a silently-empty model used to let pass, and Java and Python now follow symlinked directories. Pre-1.0,^0.23.xresolves<0.24.0, so a MINOR is adopted deliberately while a PATCH is taken automatically on a routine update — the same call, for the same reason, as0.21.0. The0.23.3body is demoted to a section that says where it came from, so the number does not read as skipped.This also matters mechanically.
scripts/prerelease.mjsderives an RC's base from the topmost## [x.y.z]header. Before this it would have produced0.23.3-rc.N, and every invocation would have needed--baseto be talked out of it — whichdocs/features/prerelease.mdcalls out as exactly how a version number gets burned. Verified after the fix:Three entries corrected against what shipped in #319
a-symlink-cycle-is-an-error) rather than by prose. Twosymlinkscases became three..metaobjects/config.jsonrejects unknown keys, full stop. That is the Node CLI only — the other three ports read the neutral subset and ignore them. Now stated as the intended asymmetry it was ruled to be, including the consequence an adopter must plan for: a config written by a newermetahard-fails an older one.meta init --print-onlywriting the files it previewed was undocumented entirely. Added, including that the dry run used to report in the past tense.Not in this PR
No product code. The
0.24.0header does not cut anything — the version bump, tag and publish remain a separate deliberate step, and the breaking batch (ADR-0052 + ADR-0053 + FR-037 R1/R2 + FR-038) is still not onmain.🤖 Generated with Claude Code