# What changed in emnapi

> 23 changes in emnapi 1 from its official release notes, upgrade guides and advisories: 2 breaking, 1 security, 6 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/emnapi/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## emnapi 1

### Breaking changes

- The captured setImmediate is now bound to the global receiver. (1.11.2) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.11.2)
- The API is renamed. (1.9.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.9.0)

### Security

- Fixes a data race and use-after-free, and fixes thread-safe functions not working in JavaScript-based async_work workers. (1.9.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.9.0)

### New APIs and options

- Adds napi_create_external_sharedarraybuffer. (1.11.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.11.0)
- Adds requiredConfig to the package entry, exposing required configuration hints such as clang.wasmld. (1.9.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.9.0)
- Adds support for Float16Array. (1.8.1) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.8.1)
- Adds the node_api_set_prototype API. (1.8.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.8.0)
- Adds the napi_create_object_with_properties method. (1.7.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.7.0)
- Added the SharedArrayBuffer API. (1.6.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.6.0)

### Behavior and default changes

- Supports SharedArrayBuffer in napi_create_typedarray. (1.11.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.11.0)
- Allows maximum memory of 4GB. (1.9.2) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.9.2)
- The libraries now include libuv symbols. (1.9.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.9.0)
- Spawning an async worker in JavaScript uses pthread_create instead of maintaining a separate worker pool. (1.9.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.9.0)
- napi_create_dataview supports SharedArrayBuffer. (1.7.1) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.7.1)
- Changed napi_delete_reference to use node_api_basic_env. (1.6.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.6.0)

### Fixes and other changes

- Deferred state is defined as own properties. (1.11.3) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.11.3)
- Memory views are refreshed after unshared memory growth. (1.11.3) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.11.3)
- Refreshes a stale shared memory buffer before atomic access. (1.11.1) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.11.1)
- Calling napi_adjust_external_memory no longer grows wasm memory. (1.10.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.10.0)
- Wasm memory is updated earlier for views, addressing the shared-memory grow issue. (1.10.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.10.0)
- Dispatches the async work queue in shared memory to avoid deadlocks when the main thread waits for queued work to start. (1.9.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.9.0)
- Fixes pthread_create not working in JavaScript-based async_work workers. (1.9.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.9.0)
- The finalizer executes after the queue drains when the thread-safe function is aborted. (1.9.0) — [release notes](https://github.com/toyobayashi/emnapi/releases/tag/v1.9.0)
