Skip to content

1.0.0-rc.7 — the candidate the estates run before promote

Pre-release
Pre-release

Choose a tag to compare

@dmealing dmealing released this 09 Sep 02:56
· 233 commits to main since this release

1.0.0-rc.7 — the candidate the estates run before promote

Cut from d1a8d40. The tree at this commit reads 0.25.0 / 7.25.0: a pre-release
version is never committed (scripts/check-no-prerelease-versions.sh), so this
annotation is the only record of what shipped.

npm 1.0.0-rc.7 (14 packages, dist-tag next)
PyPI — sat this one out (still 1.0.0rc6)
NuGet — sat this one out (still 1.0.0-rc.6)
Maven Central — sat this one out (still 8.0.0-rc.6)

metamodelVersion 1.0 — unchanged from rc.6; no registered vocabulary moved.

Why three registries sat it out. Every commit since v1.0.0-rc.6 is confined to
@metaobjectsdev/cli: no metamodel, no expected-registry.json, no Java, Python,
Kotlin or C# file. docs/RELEASING.md's convergent-publishing rule is that a port
with no changed product file keeps its current version and adopts the shared
minor.patch the next time it actually ships — and the rule that would override it
(a change to expected-registry.json or metamodelVersion forces all four) does not
fire here. Publishing byte-identical content to three registries to align a number
is the thing that rule retired. The JVM and Python estates keep their rc.6
evidence, which is evidence about code that did not change.

Why this RC exists. Five defects landed on main after rc.6, every one of them
found by an estate USING rc.6 rather than by rc.6 failing a gate. The maintainer
ruled (2026-09-08) that the estates should run the exact bits that become 1.0, so
the candidate moves to carry them:

  • ADR-0034's removal diagnostic had one door and adopters arrive through two —
    a polyglot estate's config imported an OWNED generator, and THAT file held the
    stale import, so the source scan saw a clean config and the adopter got
    (0 , _generators.entityFile) is not a function with no file, symbol or remedy.
  • Both advisory scanners reported findings inside BUILD OUTPUT. The estate that
    found it builds to public/, which no ignore list named; the fix is a property
    of the artifact (looksBundled()) applied at both doors, not a sixth name.
  • meta upgrade printed one retirement's rationale once per OCCURRENCE — ~96
    lines for 24 @forge* attributes, burying the instruction in its own repetition.
  • A failed D1 introspection named a WARNING as its cause.
  • (rc.6 already carried gen --baseline=adopt; this candidate carries the four above.)