Skip to content

v0.2.1

Choose a tag to compare

@AncientHodler-Demiurg AncientHodler-Demiurg released this 27 May 10:01
· 34 commits to main since this release

fix(triplet): v4.3.1 — coordinated ESM extension fix across triplet

Atomic-triplet bump 4.3.0 → 4.3.1 (kadena-stoic-legacy + stoa-core +
ouronet-core). Same root cause as the v0.2.1 ouronet-codex fix shipped
earlier today: extensionless relative imports in emitted dist/**/*.js
broke await import(...) under Node 22+ strict ESM. TypeScript with
moduleResolution: "bundler" happily compiled them; Node ESM rejected
at import-resolution.

What got changed

  • stoa-core: 29 src files, 57 imports rewritten (.js suffixes added)
  • ouronet-core: 40 src files, 90 imports rewritten
  • kadena-stoic-legacy: NO code change (CJS build, never affected),
    bumped purely for atomic-triplet invariant alignment

Peer-dep updates

  • stoa-core peer-dep on kadena-stoic-legacy: 4.3.0 → 4.3.1
  • ouronet-core peer-deps on kadena-stoic-legacy + stoa-core: 4.3.0 → 4.3.1
  • ouronet-codex peer-deps stay at >=4.3.0 (already satisfies 4.3.1)

Test updates

  • tests/package-version.test.ts (stoa-core + ouronet-core): hardcoded
    "4.3.0" → "4.3.1"
  • tests/v4-1-1-peer-dep-coverage.test.ts: hardcoded "4.3.0" → "4.3.1"
    in 3 assertion sites

Verification (workspace-wide)

  • All 4 packages typecheck cleanly
  • All 4 packages rebuild dist cleanly
  • Total tests: 1666/1666 pass (55 ksl + 161 codex + 653 stoa + 797 ourocore)
  • Strict-ESM smoke test (Node 22+): every advertised subpath of every
    package resolves correctly under await import(...)
  • v4-1-1-cross-package-version-pin.test.ts confirms all 3 packages
    share the same version (4.3.1)
  • All 12 CI publish-workflow gates pass (3 per package × 4 packages:
    README Status block leads with version, README has v
    paragraph, CHANGELOG leads with ## )

No API changes — every v4.3.0 export keeps its signature. Consumers
can npm update and drop any local workarounds.

Combined with v0.2.1 from earlier today (commit 151a617), the entire
@stoachain/* workspace is now Node-ESM-clean. Any consumer (server or
browser) doing dynamic imports of any subpath of any package will work
correctly under strict ESM.

Publish flow when ready:

  1. git push origin main
  2. git tag v4.3.1 -m "..." (triggers triplet publish via CI)
  3. git push origin v4.3.1
  4. git tag v0.2.1 -m "..." (triggers codex-only publish via CI)
  5. git push origin v0.2.1
    (Or /wasp:pollinate per the standard workflow.)

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com