Skip to content

v0.2.3

Choose a tag to compare

@github-actions github-actions released this 26 Jun 16:11

A patch release: a localStorage compatibility fix, two compat-floor runtime polyfill families, a prebuilt Nix flake, a startup-path speedup, and test/CI internals.

Runtime fixes

localStorage now matches vanilla Node on the 22.4–24 web-storage band. When web storage is unconfigured, nub previously left localStorage present-but-undefined; it is now absent, exactly as on plain Node. This fixes test setups (vitest + happy-dom) and isomorphic libraries that feature-detect via 'localStorage' in globalThis. sessionStorage is unaffected. (#170, closes #166)

Runtime polyfills

Two TC39 feature families are now polyfilled where the running Node lacks them natively, complementing nub's existing down-leveling. (#174)

Feature What changed Availability
Uint8Array base64/hex toBase64 / fromBase64 / toHex / fromHex / setFromBase64 / setFromHex polyfilled absent ≤24, native 25+
Explicit Resource Management DisposableStack, AsyncDisposableStack, SuppressedError polyfilled absent ≤23, native 24+

Distribution

Nix flake (prebuilt binary). Install via nix run github:nubjs/nub or nix profile install github:nubjs/nub. (#169, closes #167)

Performance

Redundant work removed from the startup path. (#160)

Testing & internals

  • De-flaked the foreground-handoff exactly-once SIGINT test — a test-observation race in the PTY harness, fixed with a readiness handshake and a bounded deadline (the delivery itself was already exactly-once). (#178)
  • ci-watch gained a --chunk flag for sub-agent foreground CI watching. (#165)
  • The daily download-stats snapshot now publishes to a dedicated data branch instead of main. (d6fa1cd1)

Commits in this release

  • feat(ci-watch): add --chunk flag for sub-agent foreground CI watching (#165, 19ba0803)
  • perf: remove redundant work on the startup path (#160, 184056ce)
  • ci(download-stats): push daily snapshot to a data branch, not main (d6fa1cd1)
  • feat(nix): add prebuilt-binary flake (nix run github:nubjs/nub) (#169, 98daa61a)
  • fix(runtime): neutralized localStorage is absent, not present-undefined (#170, 2af8c196)
  • feat(runtime): polyfill Uint8Array base64/hex + Explicit Resource Management on the compat floor (#174, a44e3d97)
  • test(spawn): de-flake the foreground-handoff exactly-once SIGINT test (#178, 943155d4)

Full Changelog: v0.2.2...v0.2.3