NAN ChangeLog
Version 2.5.0: current Node 7.3.0, Node 12: 0.12.18, Node 10: 0.10.48, iojs: 3.3.1
2.5.0 Dec 21 2016
- Feature: Support Private accessors
a86255cb35
- Bugfix: Abort in delete operators that shouldn't be called
0fe38215ff
2.4.0 Jul 10 2016
- Feature: Rewrite Callback to add Callback::Reset
c4cf44d61f
- Feature: AsyncProgressWorker: add template types for .send
1242c9a11a
- Bugfix: Add constness to old Persistent comparison operators
bd43cb9982
2.3.5 May 31 2016
- Bugfix: Replace NAN_INLINE with 'inline' keyword.
71819d8725
2.3.4 May 31 2016
2.3.3 May 4 2016
- Bugfix: Refactor SetMethod() to deal with v8::Templates (#566)
b9083cf6d5
2.3.2 Apr 27 2016
- Bugfix: Fix compilation on outdated versions due to Handle removal
f8b7c875d0
2.3.1 Apr 27 2016
- Bugfix: Don't use deprecated v8::Template::Set() in SetMethod
a90951e9ea
2.3.0 Apr 27 2016
- Feature: added Signal() for invoking async callbacks without sending data from AsyncProgressWorker
d8adba45f2
- Bugfix: Don't use deprecated v8::Template::Set()
00dacf0a4b
2.2.1 Mar 29 2016
- Bugfix: Use NewFromUnsigned in ReturnValue::Set(uint32_t i) for pre_12
3a18f9bdce
- Performance: Remove unneeeded nullptr checks
b715ef4488
2.2.0 Jan 9 2016
- Feature: Add Function::Call wrapper
4c157474da
- Feature: Rename GC*logueCallback to GCCallback for > 4.0
3603435109
- Bugfix: Fix Global::Pass for old versions
367e82a60f
- Bugfix: Remove weird MaybeLocal wrapping of what already is a MaybeLocal
23b4590db1
2.1.0 Oct 8 2015
- Deprecation: Deprecate NanErrnoException in favor of ErrnoException
0af1ca4cf8
- Feature: added helper class for accessing contents of typedarrays
17b51294c8
- Feature: [Maybe types] Add MakeMaybe(...)
48d7b53d97
- Feature: new: allow utf16 string with length
66ac6e65c8
- Feature: Introduce SetCallHandler and SetCallAsFunctionHandler
7764a9a115
- Bugfix: Enable creating Locals from Globals under Node 0.10.
9bf9b8b190
- Bugfix: Fix issue #462 where PropertyCallbackInfo data is not stored safely.
55f50adedd
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
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
2.0.3 Aug 6 2015
- Bugfix: Don't use clang++ / g++ syntax extension.
231450e
2.0.2 Aug 6 2015
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
81d4a2c
- Feature: 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
and NanSetPointerSafe
81d4a2c
- Deprecation: Deprecate
NanBooleanOptionValue
and NanUInt32OptionValue
0ad254b
1.8.4 Apr 26 2015
1.8.3 Apr 26 2015
- Bugfix: Include missing header
1af8648
1.8.2 Apr 23 2015
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
1.5.3 Jan 23 2015
1.6.0 Jan 23 2015
- Deprecated
NanNewContextHandle
in favor of NanNew<Context>
49259af
- Support utility functions moved in newer v8 versions (Node 0.11.15, io.js 1.0)
a0aa179
- Added
NanEncode
, NanDecodeBytes
and NanDecodeWrite
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
1.4.3 Jan 15 2015
1.4.2 Jan 15 2015
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::Handlev8::Object target, v8::Handlev8::Function func, int argc, v8::Handlev8::Value* argv)
- Added NanMakeCallback(v8::Handlev8::Object target, v8::Handlev8::String symbol, int argc, v8::Handlev8::Value* argv)
- Added NanMakeCallback(v8::Handlev8::Object target, const char* method, int argc, v8::Handlev8::Value* argv)
- Added NanSetTemplate(v8::Handlev8::Template templ, v8::Handlev8::String name , v8::Handlev8::Data value, v8::PropertyAttribute attributes)
- Added NanSetPrototypeTemplate(v8::Localv8::FunctionTemplate templ, v8::Handlev8::String name, v8::Handlev8::Data value, v8::PropertyAttribute attributes)
- Added NanSetInstanceTemplate(v8::Localv8::FunctionTemplate templ, const char *name, v8::Handlev8::Data value)
- Added NanSetInstanceTemplate(v8::Localv8::FunctionTemplate templ, v8::Handlev8::String name, v8::Handlev8::Data 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 NAN_RETURNTYPE, 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 NAN_ARGS_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*,
v8::Handlev8::ObjectTemplate, v8::Handlev8::Value)
- 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 argument
- Added
NanNewBufferHandle
with single uint32_t argument
- Added
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