Releases: nodejs/node-addon-api
v7.0.0
SemVer major release to pull changes since the last release. The main motivations for the release are:
- Drop support for Node.js v14.x and v19.x.
- Ensure native receiver exists when calling instance methods and properties.
- Fix issue when creating
Napi::Error
instances that wrap primitives values.
What's Changed
- [test] Add test coverage for AsyncProgressWorker by @JckXia in #1307
- doc: complete code curly braces in async_worker.md by @gaowanlu in #1317
- doc: add missing Value::IsBigInt by @KevinEady in #1319
- [Test] Add tests for async progress queue worker by @JckXia in #1316
- [StepSecurity] Apply security best practices by @step-security-bot in #1308
- doc,chore: drop support for Node.js v14, v19 by @KevinEady in #1324
- release: v7.0.0 by @KevinEady in #1336
New Contributors
- @gaowanlu made their first contribution in #1317
- @step-security-bot made their first contribution in #1308
Full Changelog: v6.1.0...v7.0.0
Release 6.1.0
SemVer minor release to pull changes since the last release. The main motivations for the release are:
- Enforce type checks on
Napi::Value::As()
. - Added
Napi::TypeTaggable
class. - Defined
NAPI_HAS_THREADS
to make TSFN available on Emscripten. - Defined
NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
andNapi::Buffer::NewOrCopy()
to handle the support for external buffers.
What's Changed
- test: Add test covg for obj wrap by @JckXia in #1269
- test: Update wait with a condition by @JckXia in #1297
- Add test coverage for typed and range err by @JckXia in #1280
- test: Complete test coverage for Reference class by @JckXia in #1277
- Fix exits/exists typo in docs for Env::AddCleanupHook() by @RedBeard0531 in #1306
- src: enforce type checks on Napi::Value::As() by @legendecas in #1281
New Contributors
- @RedBeard0531 made their first contribution in #1306
Full Changelog: v6.0.0...v6.1.0
Release 6.0.0
SemVer major release to pull changes since the last release. The main motivations for the release are:
- Add
Napi::Object::TypeTag()
andNapi::Object::CheckTypeTag()
methods. - Set operator
napi_callback_info
explicit. - Some minor fixes all over the test suite.
- Add tests related to
Napi::Object::TypeTag()
andNapi::Object::CheckTypeTag()
methods. - Add tests related to
Napi::CallbackScope
. - Add tests related to
Napi::EscapableHandleScope
. - Add tests related to
Napi::Maybe<T>
. - Add tests related to
Napi::ThreadSafeFuntion
. - Change some tests related to Napi::AsyncWorker.
- Add documentation for
Napi::Object::TypeTag()
andNapi::Object::CheckTypeTag()
methods. - Add documentation about how to run a specific unit test.
What's Changed
- test: Add test covg for Maybe by @JckXia in #1270
- test: Add tests for ThreadSafeFunction's NonBlock function overloads by @JckXia in #1249
Full Changelog: v5.1.0...v6.0.0
Release 5.1.0
SemVer minor release to pull changes since the last release. The main motivations for the release are:
- Fix memory leak in
Napi::AsyncProgressWorkerBase
. - Add api to get callback_info from
Napi::CallBackInfo
. - Fix erros and warning in VS 2017.
- Make
Napi::Env::CleanupHook
public. - Remove
Napi::TypedArray::unknown_array_type
. - Add tests related to
Napi::Env
. - Add tests related to
Napi::TypedArray
. - Add tests related to
Napi::AsyncWorker
. - Add tests related to
Napi::TypedThreadSafeFunction
. - Add tests related to
Napi::Value
. - Add test related to
Napi::Promise
. - Add
Napi::HandleScope
example. - Add documentation about how to run a specific unit test.
- Add Windows with VS 2022 and Node.JS 19.x to the CI matrix.
- Fix stale workflow.
- Update Node.js versions on CI component.
- Add condition for Windows to find eslint.
What's Changed
- Add condition for window to find eslint by @JckXia in #1176
- doc: fix broken
Napi::ThreadSafeFunction
link by @F3n67u in #1172 - test: Add promise unit test by @egg-bread in #1173
- Fix link to CMake.js documentation by @nullromo in #1180
- doc: fix typo in async_operations.md by @tniessen in #1189
- Update README.md by @Chinedug in #1187
- test: CallbackInfo NewTarget unit test by @petersandor in #1177
- Update Readme for filter conditions in unit tests by @deepakrkris in #1199
- Update CONTRIBUTING.md by @Chinedug in #1185
- Update CI component versions by @vmoroz in #1200
- test: Add test coverage for "TSFN::Ref()" by @JckXia in #1196
- test: remove update to process.config by @mhdawson in #1208
- doc: add HandleScope example by @KevinEady in #1210
- test: Add test case for canceling async worker tasks by @JckXia in #1202
- test: Add test cased for failed task cancellations by @JckXia in #1214
- chore: fix stale workflow by @richardlau in #1228
- test: Add test coverage to TSFN::New() overloads by @JckXia in #1201
- src: refactor call js wrapper by @JckXia in #1242
- chore: add Windows with VS 2022 and Node.JS 19.x to the CI matrix by @vmoroz in #1252
- Update contributors by @KevinEady in #1265
New Contributors
- @F3n67u made their first contribution in #1172
- @egg-bread made their first contribution in #1173
- @nullromo made their first contribution in #1180
- @Chinedug made their first contribution in #1187
- @petersandor made their first contribution in #1177
- @deepakrkris made their first contribution in #1199
- @vmoroz made their first contribution in #1200
- @richardlau made their first contribution in #1228
Full Changelog: v5.0.0...v5.1.0
Release 5.0.0
SemVer major release to pull changes since the last release. The main motivations for the release are:
- Drop the support for Node.js v12.x.
- Marked methods of wrapper classes
const
. - Enabled wrapping
Napi
namespace with custom namespace. - Added an override to
Napi::Function::Call
to call it with a c-style array
ofNapi::Value
's. - Improved the test framework. Added the possibility to run subsets of tests
more easily. - Added test for
Napi::AsyncContext
class. - Fixed ramdom failure on test for
Napi::ThreadSafeFunction
e
Napi::TypedThreadSafeFunction
class. - Fixed compilation problem on debian 8 system.
- Added test for
Napi::Object::Set()
method. - Added some clarifications for
Napi::ClassPropertyDescriptor
. - Added clarification about weak reference for
Napi::ObjectWrap
. - Some minor fixes all over the documentation.
- Fixed
eslint
configuration. - Fixed CI configuration for Windows.
- Enabled pre-commit
ClangFormat
on Windows.
What's Changed
- Testing CI run by @JckXia in #1132
- Add test case for Object Set using uint32 as key by @meixg in #1130
- src: do not use non-static class member for constant value by @addaleax in #1134
- Add Function::Call Napi::Value override by @rgerd in #1026
- src: enable wrapping Napi namespace with custom namespace by @addaleax in #1135
- doc: mention Napi::Env arg for Finalization callbacks by @extremeheat in #1139
- lint: set sourceType to 'script' by @addaleax in #1141
- build: run Windows CI only on nondeprecated build configurations by @RaisinTen in #1152
- doc: clarify ObjectWrap weak ref behavior by @mildsunrise in #1155
- doc: added some comments to ClassPropertyDescriptor. by @NickNaso in #1149
- Add test coverage for async contexts by @JckXia in #1164
New Contributors
- @meixg made their first contribution in #1130
- @rgerd made their first contribution in #1026
- @extremeheat made their first contribution in #1139
Full Changelog: v4.3.0...v5.0.0
Release 4.3.0
SemVer minor release to pull changes since the last release. The main motivations for the release are:
- Added iterator for
Napi::Object
. - Fixed usage of
napi_extended_error_info
inNapi::Error::New()
. - Added unwrapping logic to handle graceful error handling for primitives.
- Removed travis config.
- Updated compiler used for testing.
- Added BigInt value test.
- Minor fixes all overt est suite.
- Documentation of iterator for
Napi::Object
. - Minor fixes all over documentation.
What's Changed
- lint: add eslint based on config-semistandard by @rubiagatra in #1067
- test: update compiler used for testing by @mhdawson in #1079
- test: remove travis config by @mhdawson in #1082
- doc: fix typo in TypedThreadSafeFunction example by @tniessen in #1083
- doc: document object iterators by @RaisinTen in #1090
- doc: add blurb about SetInstanceData by @gabrielschulhof in #1100
- Update object_wrap.md by @alexanderfloh in #1094
- Add logic to handle graceful error handling when primitive errors are thrown by JS functions by @JckXia in #1075
New Contributors
- @rubiagatra made their first contribution in #1067
- @alexanderfloh made their first contribution in #1094
- @JckXia made their first contribution in #1075
Full Changelog: v4.2.0...v4.3.0
Release 4.2.0
SemVer minor release to pull changes since the last release. The main motivations for the release are:
- Allow creating Function with move-only functor.
- Fixed casts to not be undefined behavior.
- Fixed the way to enable C++ exceptions.
- Run tests with options to prefix build root path.
- Minor fixes all over the documentation.
Release 4.1.0
SemVer minor release to pull changes since the last release. The main motivations for the release are:
- Added the wraps for
napi_add_env_cleanup_hook
andnapi_remove_env_cleanup_hook
. - Added Napi::Maybe class to handle pending exception when cpp exception disabled.
Napi::Reference
updated the default value to reflect the most possible values when there are any errors occurred onnapi_reference_unref
.- Added the check for nullpointer on
Napi::String
initialization. - Added first set of tests for
Napi::Symbol
. - Updated test suite to avoid parallel running.
- Updated example for context sensitivity.
Release 4.0.0
SemVer major release to pull changes since the last release. The main motivations for the release are:
- Drop the support for Node.js v10.x.
- Fix a crashing issue in
Napi::Error::ThrowAsJavaScriptException
.
Release 3.2.1
SemVer patch release to fix the documentation about the oldest Node.js version supported.