Skip to content

Say what 0.14.0 stops masking, not what it introduces - #52

Merged
mgoldsborough merged 1 commit into
mainfrom
fix/changelog-requires-framing
Jul 28, 2026
Merged

Say what 0.14.0 stops masking, not what it introduces#52
mgoldsborough merged 1 commit into
mainfrom
fix/changelog-requires-framing

Conversation

@mgoldsborough

Copy link
Copy Markdown
Contributor

Why

The ### Requires section added to the 0.14.0 entry closes with "Bump to 0.14.0 together with that release, not ahead of it." Every fact in it is true, but the framing implies this release causes the staleness it describes, and that led to the wrong call on the one consumer that matters.

It doesn't cause it. A host that bakes tokens into the app document at mount and cannot rewrite them has held those tokens at mount-time values for as long as that channel has existed. What changed in 0.10.2 is that the SDK started writing its neutral defaults inline, overriding such tokens outright — which masked the staleness by discarding the host's values. That is the bug 0.14.0 fixes.

What it changes for a consumer

bumping from effect on a stale-channel token
0.9.x or earlier (no default map shipped) unchanged — the SDK never touched it
0.10.2 – 0.13.x surfaced, because the SDK stops overriding it

The NimbleBrain runtime is on ^0.8.0, so it is the first row: moving it to 0.14.0 leaves the staleness exactly where it already sits, while restoring the brand values 0.13.x would have discarded. Read literally, the old wording argues for holding a bump that is strictly an improvement.

The change

States the condition, names which bump ranges surface it and which are unaffected, and points at NimbleBrainInc/nimblebrain#817 as work on its own schedule rather than a gate on this release.

CHANGELOG only — no version change, 0.14.0 is not yet tagged. npm run ci green (36 files, 496 tests).

The Requires section told a consumer to bump "together with that release, not
ahead of it," which reads as though this release creates the staleness it
describes. It does not. A host that cannot rewrite its injected tokens has
held them at mount-time values for as long as it has had that channel; what
changed in 0.10.2 is that the SDK began overriding those tokens outright,
which hid the staleness by discarding the host's values — the bug 0.14.0
fixes.

So the advice was wrong in the case it matters most. The NimbleBrain runtime
runs 0.8.0, which shipped no default map at all, and moving it to 0.14.0
leaves the staleness exactly where it already is while restoring the brand
values 0.13.x would have discarded. Held on that advice, the bump looks like
a regression risk when it is strictly an improvement.

Now states the condition, says which bump ranges surface it and which are
unaffected, and points at nimblebrain#817 as its own piece of work rather
than a gate on this one.
@mgoldsborough
mgoldsborough merged commit d662fcb into main Jul 28, 2026
7 checks passed
mgoldsborough added a commit that referenced this pull request Jul 28, 2026
Three releases landed on main after this branch's last push: the cascade
layer (#50) and its framing (#52), cut as npm v0.14.0, and the Python
package's catch-up release (#53), cut as nimblebrain-synapse-v0.4.0.

npm 0.14.0 is published, so the warm removal stays under `[Unreleased]`
and releases as 0.15.0. The migration note's unaffected range widens to
`^0.11.0`-`^0.14.0` to match what consumers can now be pinned to.

The vendored Python IIFE is rebuilt from the merged source rather than
resolved to either side, since #50 changed the build output. Both
nimblebrain-synapse-v0.4.0 and v0.14.0 are tagged at commits that
predate this merge, so both shipped artifacts still carry the warm
channel their changelogs describe.

theme-defaults.ts auto-merged: #50's cascade-layer docblock and this
branch's correction to the neutrality claim are different hunks.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant