You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The ledger for v0.21. Predecessor: #241 (v0.20, shipped 2026-09-21 as Off the Leash).
What this release is (owner, Mon 2026-09-21)
The last World-of-Balance-only release, polished as if it might be marked v1.0 or be the project's final release. Hard release requirement: an absolutely empty open issues list at tag time. Whole-week priority; maximum effort and parallelism authorised.
Gates, in order, none skipped
Every issue in this milestone closed -- fixed and merged, or superseded/invalid with a stated reason (never "deferred").
Full chain regeneration on the final ROM, then a fresh, honest, end-to-end WoB playthrough (the standing release criterion: fluid, minimal game-overs, labs at every retry site), with audit_fenix / supplies / equipment / chests green.
Ombudsman + critic on the release and its notes; bare ninja green from a clean git tree (not ninja -t clean, which deletes tracked generated files).
Release notes in play terms; tag; push; GitHub release; verify.
The ledger for v0.21. Predecessor: #241 (v0.20, shipped 2026-09-21 as Off the Leash).
What this release is (owner, Mon 2026-09-21)
The last World-of-Balance-only release, polished as if it might be marked v1.0 or be the project's final release. Hard release requirement: an absolutely empty open issues list at tag time. Whole-week priority; maximum effort and parallelism authorised.
Gates, in order, none skipped
ninjagreen from a clean git tree (notninja -t clean, which deletes tracked generated files).Wave 1 (Mon) -- disjoint files, parallel
wt/retaliate-scopeUmaro's Throw, Storm and Charge arms carry no retaliation dump #237 AI-scripted characters bank BP with nothing to spend it on #238 (ot6_boost.asm / Ot6Retaliate + tests)wt/bestow-confirmBestow is greyed at 0 BP but has no confirm twin: committing it still eats the turn #232 (ot6_cmdmenu.asm + test)wt/harness-faultsbattle_assassinate times out driving toward Shadow's divine #239 battle_slots is seed-fragile inside the reel drive, and visual_f1 pins the luck visual_f2 just lost #240 battle_bushido fails at seed shift 6 on main: a single A edge against a window the battle may have taken away #229 (the four test files; no lib edits)wt/driver-statusThe fight driver stands still under Stop: Brainpan's Smirk leaves the party with no plan for 600+ ticks #224 + fight half of Promote generator-local mechanic reads into the lib: Vanish/Image, Condemned, dialog choices, party swap, Zombie cure #190 (lib/ot6.lua)wt/field-libfield half of Promote generator-local mechanic reads into the lib: Vanish/Image, Condemned, dialog choices, party swap, Zombie cure #190 (lib/ot6_field.lua + callers)wt/audit-fenixaudit_fenix counts only revives that landed: bag consumption and failed revives go uncounted, and custom boss drivers log no [death] lines #220 (audit_fenix.py + custom boss drivers)wt/run-sh-raceCold-cache emulator provisioning races: parallel generate edges exit 2 with "shared test emulator missing" #242 (run.sh provisioning)wt/dejargon-docsDe-jargon the codebase: replace coined/evocative terms with plain industry-standard names #243 docs-only pass (code/comment pass runs last)copy_if_changedrename (configure.py / savestate_ninja.py / compose.py)Wave 2 (as wave 1 merges) -- the serialized driver work + decisions
Last