NAN ChangeLog
Version 2.2.1: current Node 5.9.1, Node 12: 0.12.12, Node 10: 0.10.43, iojs: 3.3.1
2.2.1 Mar 29 2016
Bugfix: Use NewFromUnsigned in ReturnValue::Set(uint32_t i) for pre_12 3a18f9bdce29826e0e4c217854bc476918241a58
Performance: Remove unneeeded nullptr checks b715ef44887931c94f0d1605b3b1a4156eebece9
2.2.0 Jan 9 2016
Feature: Add Function::Call wrapper 4c157474dacf284d125c324177b45aa5dabc08c6
Feature: Rename GC*logueCallback to GCCallback for > 4.0 3603435109f981606d300eb88004ca101283acec
Bugfix: Fix Global::Pass for old versions 367e82a60fbaa52716232cc89db1cc3f685d77d9
Bugfix: Remove weird MaybeLocal wrapping of what already is a MaybeLocal 23b4590db10c2ba66aee2338aebe9751c4cb190b
2.1.0 Oct 8 2015
Deprecation: Deprecate NanErrnoException in favor of ErrnoException 0af1ca4cf8b3f0f65ed31bc63a663ab3319da55c
Feature: added helper class for accessing contents of typedarrays 17b51294c801e534479d5463697a73462d0ca555
Feature: [Maybe types] Add MakeMaybe(...) 48d7b53d9702b0c7a060e69ea10fea8fb48d814d
Feature: new: allow utf16 string with length 66ac6e65c8ab9394ef588adfc59131b3b9d8347b
Feature: Introduce SetCallHandler and SetCallAsFunctionHandler 7764a9a115d60ba10dc24d86feb0fbc9b4f75537
Bugfix: Enable creating Locals from Globals under Node 0.10. 9bf9b8b190821af889790fdc18ace57257e4f9ff
Bugfix: Fix issue #462 where PropertyCallbackInfo data is not stored safely. 55f50adedd543098526c7b9f4fffd607d3f9861f
2.0.9 Sep 8 2015
Bugfix: EscapableHandleScope in Nan::NewBuffer for Node 0.8 and 0.10 b1654d7
2.0.8 Aug 28 2015
Work around duplicate linking bug in clang 11902da
2.0.7 Aug 26 2015
Build: Repackage
2.0.6 Aug 26 2015
Bugfix: Properly handle null callback in FunctionTemplate factory 6e99cb1
Bugfix: Remove unused static std::map instances 525bddc
Bugfix: Make better use of maybe versions of APIs bfba85b
Bugfix: Fix shadowing issues with handle in ObjectWrap 0a9072d
2.0.5 Aug 10 2015
Bugfix: Reimplement weak callback in ObjectWrap 98d38c1
Bugfix: Make sure callback classes are not assignable, copyable or movable 81f9b1d
2.0.4 Aug 6 2015
Build: Repackage
2.0.3 Aug 6 2015
Bugfix: Don't use clang++ / g++ syntax extension. 231450e
2.0.2 Aug 6 2015
Build: Repackage
2.0.1 Aug 6 2015
Bugfix: Add workaround for missing REPLACE_INVALID_UTF8 60d6687
Bugfix: Reimplement ObjectWrap from scratch to prevent memory leaks 6484601
Bugfix: Fix Persistent leak in FunctionCallbackInfo and PropertyCallbackInfo 641ef5f
Bugfix: Add missing overload for Nan::NewInstance that takes argc/argv 29450ed
2.0.0 Jul 31 2015
Change: Renamed identifiers with leading underscores b5932b4
Change: Replaced NanObjectWrapHandle with class NanObjectWrap 464f1e1
Change: Replace NanScope and NanEscpableScope macros with classes 47751c4
Change: Rename NanNewBufferHandle to NanNewBuffer 6745f99
Change: Rename NanBufferUse to NanNewBuffer 3e8b0a5
Change: Rename NanNewBuffer to NanCopyBuffer d6af78d
Change: Remove Nan prefix from all names 72d1f67
Change: Update Buffer API for new upstream changes d5d3291
Change: Rename Scope and EscapableScope to HandleScope and EscapableHandleScope 21a7a6a
Change: Get rid of Handles e6c0daf
Feature: Support io.js 3 with V8 4.4
Feature: Introduce NanPersistent 7fed696
Feature: Introduce NanGlobal 4408da1
Feature: Added NanTryCatch 10f1ca4
Feature: Update for V8 v4.3 4b6404a
Feature: Introduce NanNewOneByteString c543d32
Feature: Introduce namespace Nan 67ed1b1
Removal: Remove NanLocker and NanUnlocker dd6e401
Removal: Remove string converters, except NanUtf8String, which now follows the node implementation b5d00a9
Removal: Remove NanReturn* macros d90a25c
Removal: Remove HasInstance e8f84fe
1.9.0 Jul 31 2015
Feature: Added
NanFatalException
81d4a2cFeature: Added more error types 4265f06
Feature: Added dereference and function call operators to NanCallback c4b2ed0
Feature: Added indexed GetFromPersistent and SaveToPersistent edd510c
Feature: Added more overloads of SaveToPersistent and GetFromPersistent 8b1cef6
Feature: Added NanErrnoException dd87d9e
Correctness: Prevent assign, copy, and move for classes that do not support it 1f55c59, 4b808cb, c96d9b2, fba4a29, 3357130
Deprecation: Deprecate
NanGetPointerSafe
andNanSetPointerSafe
81d4a2cDeprecation: Deprecate
NanBooleanOptionValue
andNanUInt32OptionValue
0ad254b
1.8.4 Apr 26 2015
Build: Repackage
1.8.3 Apr 26 2015
Bugfix: Include missing header 1af8648
1.8.2 Apr 23 2015
Build: Repackage
1.8.1 Apr 23 2015
Bugfix: NanObjectWrapHandle should take a pointer 155f1d3
1.8.0 Apr 23 2015
Feature: Allow primitives with NanReturnValue 2e4475e
Feature: Added comparison operators to NanCallback 55b075e
Feature: Backport thread local storage 15bb7fa
Removal: Remove support for signatures with arguments 8a2069d
Correcteness: Replaced NanObjectWrapHandle macro with function 0bc6d59
1.7.0 Feb 28 2015
Feature: Made NanCallback::Call accept optional target 8d54da7
Feature: Support atom-shell 0.21 0b7f1bb
1.6.2 Feb 6 2015
Bugfix: NanEncode: fix argument type for node::Encode on io.js 2be8639
1.6.1 Jan 23 2015
Build: version bump
1.5.3 Jan 23 2015
Build: repackage
1.6.0 Jan 23 2015
Deprecated
NanNewContextHandle
in favor ofNanNew<Context>
49259afSupport utility functions moved in newer v8 versions (Node 0.11.15, io.js 1.0) a0aa179
Added
NanEncode
,NanDecodeBytes
andNanDecodeWrite
75e6fb9
1.5.2 Jan 23 2015
Bugfix: Fix non-inline definition build error with clang++ 21d96a1, 60fadd4
Bugfix: Readded missing String constructors 18d828f
Bugfix: Add overload handling NanNew(..) 5ef813b
Bugfix: Fix uv_work_cb versioning 997e4ae
Bugfix: Add function factory and test 4eca89c
Bugfix: Add object template factory and test cdcb951
Correctness: Lifted an io.js related typedef c9490be
Correctness: Make explicit downcasts of String lengths 00074e6
Windows: Limit the scope of disabled warning C4530 83d7deb
1.5.1 Jan 15 2015
Build: version bump
1.4.3 Jan 15 2015
Build: version bump
1.4.2 Jan 15 2015
Feature: Support io.js 0dbc5e8
1.5.0 Jan 14 2015
Feature: Support io.js b003843
Correctness: Improved NanNew internals 9cd4f6a
Feature: Implement progress to NanAsyncWorker 8d6a160
1.4.1 Nov 8 2014
Bugfix: Handle DEBUG definition correctly
Bugfix: Accept int as Boolean
1.4.0 Nov 1 2014
Feature: Added NAN_GC_CALLBACK 6a5c245
Performance: Removed unnecessary local handle creation 18a7243, 41fe2f8
Correctness: Added constness to references in NanHasInstance 02c61cd
Warnings: Fixed spurious warnings from -Wundef and -Wshadow, 541b122, 99d8cb6
Windoze: Shut Visual Studio up when compiling 8d558c1
License: Switch to plain MIT from custom hacked MIT license 11de983
Build: Added test target to Makefile e232e46
Performance: Removed superfluous scope in NanAsyncWorker f4b7821
Sugar/Feature: Added NanReturnThis() and NanReturnHolder() shorthands 237a5ff, d697208
Feature: Added suitable overload of NanNew for v8::Integer::NewFromUnsigned b27b450
1.3.0 Aug 2 2014
Added NanNew(std::string)
Added NanNew(std::string&)
Added NanAsciiString helper class
Added NanUtf8String helper class
Added NanUcs2String helper class
Deprecated NanRawString()
Deprecated NanCString()
Added NanGetIsolateData(v8::Isolate *isolate)
Added NanMakeCallback(v8::Handle target, v8::Handle func, int argc, v8::Handle* argv)
Added NanMakeCallback(v8::Handle target, v8::Handle symbol, int argc, v8::Handle* argv)
Added NanMakeCallback(v8::Handle target, const char method, int argc, v8::Handle argv)
Added NanSetTemplate(v8::Handle templ, v8::Handle name , v8::Handle value, v8::PropertyAttribute attributes)
Added NanSetPrototypeTemplate(v8::Local templ, v8::Handle name, v8::Handle value, v8::PropertyAttribute attributes)
Added NanSetInstanceTemplate(v8::Local templ, const char *name, v8::Handle value)
Added NanSetInstanceTemplate(v8::Local templ, v8::Handle name, v8::Handle value, v8::PropertyAttribute attributes)
1.2.0 Jun 5 2014
Add NanSetPrototypeTemplate
Changed NAN_WEAK_CALLBACK internals, switched _NanWeakCallbackData to class,
introduced _NanWeakCallbackDispatcher
Removed -Wno-unused-local-typedefs from test builds
Made test builds Windows compatible ('Sleep()')
1.1.2 May 28 2014
Release to fix more stuff-ups in 1.1.1
1.1.1 May 28 2014
Release to fix version mismatch in nan.h and lack of changelog entry for 1.1.0
1.1.0 May 25 2014
Remove nan_isolate, use v8::Isolate::GetCurrent() internally instead
Additional explicit overloads for NanNew(): (char,int), (uint8_t[,int]),
(uint16_t[,int), double, int, unsigned int, bool, v8::String::ExternalStringResource,
v8::String::ExternalAsciiStringResource*
Deprecate NanSymbol()
Added SetErrorMessage() and ErrorMessage() to NanAsyncWorker
1.0.0 May 4 2014
Heavy API changes for V8 3.25 / Node 0.11.13
Use cpplint.py
Removed NanInitPersistent
Removed NanPersistentToLocal
Removed NanFromV8String
Removed NanMakeWeak
Removed NanNewLocal
Removed NAN_WEAK_CALLBACK_OBJECT
Removed NAN_WEAK_CALLBACK_DATA
Introduce NanNew, replaces NanNewLocal, NanPersistentToLocal, adds many overloaded typed versions
Introduce NanUndefined, NanNull, NanTrue and NanFalse
Introduce NanEscapableScope and NanEscapeScope
Introduce NanMakeWeakPersistent (requires a special callback to work on both old and new node)
Introduce NanMakeCallback for node::MakeCallback
Introduce NanSetTemplate
Introduce NanGetCurrentContext
Introduce NanCompileScript and NanRunScript
Introduce NanAdjustExternalMemory
Introduce NanAddGCEpilogueCallback, NanAddGCPrologueCallback, NanRemoveGCEpilogueCallback, NanRemoveGCPrologueCallback
Introduce NanGetHeapStatistics
Rename NanAsyncWorker#SavePersistent() to SaveToPersistent()
0.8.0 Jan 9 2014
NanDispose -> NanDisposePersistent, deprecate NanDispose
Extract NANRETURN_TYPE, pull up NAN()
0.7.1 Jan 9 2014
Fixes to work against debug builds of Node
Safer NanPersistentToLocal (avoid reinterpret_cast)
Speed up common NanRawString case by only extracting flattened string when necessary
0.7.0 Dec 17 2013
New no-arg form of NanCallback() constructor.
NanCallback#Call takes Handle rather than Local
Removed deprecated NanCallback#Run method, use NanCallback#Call instead
Split off NANARGS_TYPE from _NAN_ARGS
Restore (unofficial) Node 0.6 compatibility at NanCallback#Call()
Introduce NanRawString() for char (or appropriate void) from v8::String
(replacement for NanFromV8String)
Introduce NanCString() for null-terminated char* from v8::String
0.6.0 Nov 21 2013
Introduce NanNewLocal(v8::Handle value) for use in place of
v8::Local::New(...) since v8 started requiring isolate in Node 0.11.9
0.5.2 Nov 16 2013
Convert SavePersistent and GetFromPersistent in NanAsyncWorker from protected and public
0.5.1 Nov 12 2013
Use node::MakeCallback() instead of direct v8::Function::Call()
0.5.0 Nov 11 2013
Added @TooTallNate as collaborator
New, much simpler, "include_dirs" for binding.gyp
Added full range of NANINDEX macros to match NANPROPERTY macros
0.4.4 Nov 2 2013
Isolate argument from v8::Persistent::MakeWeak removed for 0.11.8+
0.4.3 Nov 2 2013
Include node_object_wrap.h, removed from node.h for Node 0.11.8.
0.4.2 Nov 2 2013
Handle deprecation of v8::Persistent::Dispose(v8::Isolate* isolate)) for
Node 0.11.8 release.
0.4.1 Sep 16 2013
Added explicit
#include <uv.h>
as it was removed from node.h for v0.11.8
0.4.0 Sep 2 2013
Added NAN_INLINE and NAN_DEPRECATED and made use of them
Added NanError, NanTypeError and NanRangeError
Cleaned up code
0.3.2 Aug 30 2013
Fix missing scope declaration in GetFromPersistent() and SaveToPersistent
in NanAsyncWorker
0.3.1 Aug 20 2013
fix "not all control paths return a value" compile warning on some platforms
0.3.0 Aug 19 2013
Made NAN work with NPM
Lots of fixes to NanFromV8String, pulling in features from new Node core
Changed node::encoding to Nan::Encoding in NanFromV8String to unify the API
Added optional error number argument for NanThrowError()
Added NanInitPersistent()
Added NanReturnNull() and NanReturnEmptyString()
Added NanLocker and NanUnlocker
Added missing scopes
Made sure to clear disposed Persistent handles
Changed NanAsyncWorker to allocate error messages on the heap
Changed NanThrowError(Local) to NanThrowError(Handle)
Fixed leak in NanAsyncWorker when errmsg is used
0.2.2 Aug 5 2013
Fixed usage of undefined variable with node::BASE64 in NanFromV8String()
0.2.1 Aug 5 2013
Fixed 0.8 breakage, node::BUFFER encoding type not available in 0.8 for
NanFromV8String()
0.2.0 Aug 5 2013
Added NAN_PROPERTY_GETTER, NAN_PROPERTY_SETTER, NAN_PROPERTY_ENUMERATOR,
NAN_PROPERTY_DELETER, NAN_PROPERTY_QUERY
Extracted _NAN_METHOD_ARGS, _NAN_GETTER_ARGS, _NAN_SETTER_ARGS,
_NAN_PROPERTY_GETTER_ARGS, _NAN_PROPERTY_SETTER_ARGS,
_NAN_PROPERTY_ENUMERATOR_ARGS, _NAN_PROPERTY_DELETER_ARGS,
_NAN_PROPERTY_QUERY_ARGS
Added NanGetInternalFieldPointer, NanSetInternalFieldPointer
Added NAN_WEAK_CALLBACK, NAN_WEAK_CALLBACK_OBJECT,
NAN_WEAK_CALLBACK_DATA, NanMakeWeak
Renamed THROW_ERROR to _NAN_THROW_ERROR
Added NanNewBufferHandle(char, size_t, node::smalloc::FreeCallback, void)
Added NanBufferUse(char*, uint32_t)
Added NanNewContextHandle(v8::ExtensionConfiguration*,
Fixed broken NanCallback#GetFunction()
Added optional encoding and size arguments to NanFromV8String()
Added NanGetPointerSafe() and NanSetPointerSafe()
Added initial test suite (to be expanded)
Allow NanUInt32OptionValue to convert any Number object
0.1.0 Jul 21 2013
Added
NAN_GETTER
,NAN_SETTER
Added
NanThrowError
with single Local argumentAdded
NanNewBufferHandle
with single uint32_t argumentAdded
NanHasInstance(Persistent<FunctionTemplate>&, Handle<Value>)
Added
Local<Function> NanCallback#GetFunction()
Added
NanCallback#Call(int, Local<Value>[])
Deprecated
NanCallback#Run(int, Local<Value>[])
in favour of Call
Last updated