Skip to content

v0.3.3 — install section fix + macOS flake disclosure

Choose a tag to compare

@codetalcott codetalcott released this 04 May 18:11
· 318 commits to main since this release

Pre-marketing cleanup release.

Changes

  • README install section corrected. Previous text claimed prebuilts weren't available; they have been since 0.2.x. Now leads with npm install napi-mojo and explains the prebuilt-vs-source path. Adds a dedicated "Building from source" subsection.
  • macOS finalizer flake disclosed. README now documents the intermittent SIGABRT/SIGSEGV-at-exit on macOS-arm64 caused by a Mojo 1.0.0b1 gap (no thin C-ABI fn-pointer syntax for defs). CI works around it with a 3× retry; users exercising instance-data finalizers heavily may occasionally see the same exit-time crash.
  • CI parity. publish.yml now also retries npm test 3× (matching test.yml), so the same flake can't break a release.
  • Test count corrected 605 → 624 (80 suites, 618 passing + 6 GC-only skipped).
  • Cumulative fixes since v0.3.1 carried over from the un-published v0.3.2 attempt and the subsequent fix iterations:
    • bindings-aware remove_async_cleanup_hook to avoid teardown dlsym
    • release async cleanup hook handle to unblock env teardown
    • keep cleanup_hook + async_cleanup_hook on the pre-fix path
    • NULL finalize_cb workaround for setInstanceData
  • Repo hygiene. .last-good-nightly is now gitignored. .npmignore adds defense-in-depth excludes for example codegen build artifacts.

Install

```bash
npm install napi-mojo
```

Prebuilt binaries ship for darwin-arm64 and linux-x64. Other platforms fall back to building from source.