node-addon-api is a header-only C++ wrapper for Node-API, designed to make it easier to build Node.js native add-ons in C++. It provides a C++ object model and exception handling with low overhead, while targeting supported Node-API versions so the resulting addons can run on compatible Node.js releases.
Project status
- Actively maintained, with recent tagged updates (last upstream push on 2026-06-05) and multiple successive version updates in 2026.
- Update cadence appears steady, roughly every 6 to 10 weeks (v8.6.0 on 2026-02-02, v8.7.0 on 2026-03-26, v8.8.0 on 2026-05-22).
AI summary generated Today
Recent updates
v8.8.0
2 weeks agov8.8.0 adds new C++ overloads that accept std::string_view for creating strings and symbols, plus fetching well-known symbols from the global registry using string view keys. The release notes document these new overloads, and the diff also updates headers, inline implementations, and tests to cover the new APIs.
Featuresv8.7.0
2 months agoRelease v8.7.0 adds new Node-API wrapper capabilities, including Date::New overloads for std::chrono::system_clock::time_point, Object prototype accessors, and SharedArrayBuffer support for DataView (behind experimental feature macros). It also includes a small API correctness fix for ObjectReference::Set string parameter constness.
Featuresv8.6.0
4 months agonode-addon-api v8.6.0 adds C++ bindings for JavaScript SharedArrayBuffer, gated behind the library and Node header experimental feature flags. It also suppresses a vfptr sanitizer warning seen on Android NDK 29 by annotating internal wrapper methods to avoid vptr sanitization checks.
Featuresv8.5.0
10 months agov8.5.0 adds Promise chaining support by introducing Then and Catch methods to the Promise wrapper. In addition to the API additions, the repo updates CI workflows and documentation/tests to cover the new methods.
SecurityFeaturesv8.4.0
11 months agov8.4.0 adds a convenience (sugar) API to `PropertyLValue` via a new `AsValue()` method. The only library-level change shown in the diff is this method, while the rest of the diff mainly updates tests and CI workflow action versions.
Featuresv8.3.1
2/21/2025v8.3.1 is a maintenance release focused on bug fixes. The documented changes are adding a missing test include for stdexcept and addressing Node-API version 10 support. The code diff also shows some build/documentation changes and a notable compile-time conditional change in the error handling path that is not fully described in the release notes.
Securityv8.3.0
11/29/2024node-addon-api v8.3.0 adds support for catching all C++ exceptions thrown from Node-API C++ callbacks (not only Napi::Error). The implementation introduces a new build-time mode that wraps std::exception and non-standard exceptions into JavaScript exceptions, and updates documentation and tests accordingly.
SecurityFeaturesv8.2.2
11/8/2024v8.2.2 is a small patch release focused on two C++ API correctness fixes. It also updates the Node-API header docs and implementation around “basic” environment usage for memory and version related functions, plus adjusts ObjectWrap finalization behavior to address reference cleanup.
Breakingv8.2.1
10/11/2024v8.2.1 is primarily a bugfix release for node-addon-api, addressing an issue with type cast checks in Symbol::WellKnown and a missing node_api_nogc_env-related definition. However, the actual diff also includes additional header and API changes beyond what the release notes describe, including a new UnsafeAs casting API and a broader refactor around the environment type used for “basic” finalizers.
Featuresv8.2.0
9/30/2024v8.2.0 introduces support for nogc-based “basic finalizers” through a new Napi::BasicEnv abstraction, plus an option to require that all finalizers are basic. It also fixes finalization behavior by ensuring a base basic finalizer is used when none is defined. Most release-note items are about finalizer support, but the code diff also shows additional behavior and type-binding changes around how finalizers are invoked and when cleanup is run.
Features