Native Abstractions for Node.js (nan) provides a header file with macros and helper utilities to make it easier to develop native Node.js addons across many Node and V8 versions. It helps you avoid inspecting `NODE_MODULE_VERSION`, and it includes compatibility wrappers for common native addon patterns like method declarations, templates, and V8 handle and persistent reference handling.
Project status
- NAN appears actively maintained, with recent GitHub updates in 2026 (v2.28.0 on 2026-06-25, v2.27.0 on 2026-05-12, v2.26.2 on 2026-03-18), and each update includes some code or CI related changes in the published diffs.
- The apparent update cadence is roughly every 1 to 2 months across the recent updates (May, March, then June in the same year), suggesting an ongoing development stream rather than maintenance-only.
AI summary generated
Recent updates
v2.28.0
The GitHub release v2.28.0 provides no release notes content (none provided by the publisher). Based on the code diff, this release focuses on compatibility fixes for V8 external pointer handling, plus CI/workflow and documentation updates.
v2.27.0
This release (v2.27.0) updates NAN to advertise compatibility with Node.js 26, primarily by adjusting version strings and CI coverage. The only substantive code change is within the V8 12 property callback helpers, where NAN now conditionally uses a newer “holder” API shape on newer V8 versions.
Featuresv2.26.2
Release v2.26.2 was published on 2026-03-18, but the publisher provided no release notes. As a result, there is no documented information about new features, bug fixes, breaking changes, or security updates for this version.
v2.26.1
No release notes were provided for v2.26.1. The code diff shows a small version bump across package metadata and documentation, plus a targeted C++ header change in nan.h related to V8 aligned pointer handling.
v2.26.0
v2.26.0 updates the NAN compatibility header for newer V8 versions by using V8's embedder data type tag overloads when retrieving and setting aligned internal field pointers. The release also bumps some tooling metadata (version strings and node-gyp) but does not include any publisher-provided release notes content.
v2.25.0
v2.25.0 updates NAN for newer V8/Node compatibility (notably V8 14.4) by changing the `Nan::SetAccessor` implementation for V8 >= 14.2. The repository release notes provided for this task are missing, so the documented changes cannot be confirmed against the actual code modifications.
v2.24.0
Release v2.24.0 updates the NAN header for newer Node.js compatibility and adds a new encoding helper, Nan::TryEncode(), intended for Node 24 and higher. It also refreshes CI configuration and updates documentation to reflect the new API and Node version support metadata.
Featuresv2.23.1
v2.23.1 updates NAN to improve compatibility with newer V8/Node versions, notably wiring in newer V8 APIs for UTF-8 writing and prototype setting. The diff also updates CI test coverage for Node 25 and adds an additional ARM Windows runner, while removing several newer Node versions from the AppVeyor matrix.
Featuresv2.23.0
v2.23.0 updates NAN to target newer Node.js and V8 versions, with CI/workflows adding Node 23 and 24 coverage and the README/CHANGELOG reflecting the compatibility bump. The actual code changes are concentrated in the core callback utilities for V8 compatibility, plus test adjustments for newer runtimes.
Featuresv2.22.2
Release v2.22.2 was published on 2025-02-26, but the publisher did not include any release notes. As provided, there is no developer-facing information about new features, fixes, breaking changes, security updates, or dependency changes for this version.