v0.12.4
What's new
Gear Journey
v0.12.4 (2026-09-07)
Full Changelog Previous Releases
- chore(release): bump version to 0.12.4
Ships the embedded LibEmber-1.0 vendoring and the release-workflow fix
(contents:write + test gate) accumulated since 0.12.3. No addon behaviour
changed; offline suite green.
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session\_01BYkpAmbg6ttPb3korxsQW2 - fix(release): grant contents:write and add a test gate before packaging
Bring the release workflow onto the SHIP-3 recipe from Boonkeeper: pin
permissions: contents: write explicitly (the packager's GitHub-release step
403s under a repo whose default token permissions are read-only), and run the
Tests/*_test.lua suite before packaging so a broken build is never uploaded.
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session\_01BYkpAmbg6ttPb3korxsQW2 - chore: embed LibEmber-1.0 instead of declaring it optional
The Admiral's call: embed a real copy rather than lean on another addon in
the same install to provide it. Vendored unmodified from
https://github.com/rlalance/LibEmber, same pattern as LibStub/CallbackHandler
/LibDataBroker/LibDBIcon above it. No consuming code yet -- this just makes
the library unconditionally available for whenever some.
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com - chore: declare LibEmber-1.0 as an optional dependency
Prep for hosting LibEmber's particle effects (Sigil's own extraction,
G:\Dev\LibEmber) here later -- no consuming code yet, just the load-order
declaration so this addon loads after LibEmber when something in the same
install provides it.
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com - fix(coverage): run under Lua 5.1 and stop reporting 0% as a measurement
The coverage gate has never actually run on this machine. Two defects, one
behind the other.goto continue(line 86) is Lua 5.2+. The offline runner is now Lua
5.1.5 — deliberately, because 5.1 is what the WoW client runs, so a pure
module that passes offline behaves the same in-game. Replaced with the
5.1 equivalent: a positive if/else guard around the loop body. Pure
control-flow inversion, no logic change.- Discovery used
io.popen("ls Tests/*_test.lua"). On Windows io.popen
always goes through %COMSPEC% (cmd.exe), which has nols— so it found
zero files and reported "0% coverage" as though that were a result. Now
triesdir /bfirst and falls back tolselsewhere.
Fixing (1) alone would have been worse than leaving it broken: a crash is
honest, a confident 0% is not. So an empty discovery now exits non-zero
with an explanation instead of printing a report.
Measured, from the project root:
JourneyEngine.lua lines 454/455 ( 99.8%) functions 42/42
JourneyDB.lua lines 64/64 (100.0%) functions 25/25
JourneyData.lua lines 30/30 (100.0%) functions 0/0
TOTAL lines 548/549 ( 99.8%) functions 67/67 (100.0%)
Two findings this exposes, left for the ship to judge rather than fixed
here: the 99.8% line figure misses the stated 100% bar by one line, and
journey_ldb_test reports 12 passed / 4 failed under the coverage runner
while passing standalone — the runner shares one Lua state across all 32
files, so state leaks between them.
Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com
This mod has no additional files

