Initial commit
[yaffs-website] / node_modules / nan / CHANGELOG.md
1 # NAN ChangeLog
2
3 **Version 2.5.1: current Node 7.4.0, Node 12: 0.12.18, Node 10: 0.10.48, iojs: 3.3.1**
4
5 ### 2.5.1 Jan 23 2017
6
7   - Bugfix: Fix disappearing handle for private value 6a80995694f162ef63dbc9948fbefd45d4485aa0
8   - Bugfix: Add missing scopes a93b8bae6bc7d32a170db6e89228b7f60ee57112
9   - Bugfix: Use string::data instead of string::front in NewOneByteString d5f920371e67e1f3b268295daee6e83af86b6e50
10
11 ### 2.5.0 Dec 21 2016
12
13   - Feature: Support Private accessors a86255cb357e8ad8ccbf1f6a4a901c921e39a178
14   - Bugfix: Abort in delete operators that shouldn't be called 0fe38215ff8581703967dfd26c12793feb960018
15
16 ### 2.4.0 Jul 10 2016
17
18   - Feature: Rewrite Callback to add Callback::Reset c4cf44d61f8275cd5f7b0c911d7a806d4004f649
19   - Feature: AsyncProgressWorker: add template types for .send 1242c9a11a7ed481c8f08ec06316385cacc513d0
20   - Bugfix: Add constness to old Persistent comparison operators bd43cb9982c7639605d60fd073efe8cae165d9b2
21
22 ### 2.3.5 May 31 2016
23
24   - Bugfix: Replace NAN_INLINE with 'inline' keyword. 71819d8725f822990f439479c9aba3b240804909
25
26 ### 2.3.4 May 31 2016
27
28   - Bugfix: Remove V8 deprecation warnings 0592fb0a47f3a1c7763087ebea8e1138829f24f9
29   - Bugfix: Fix new versions not to use WeakCallbackInfo::IsFirstPass 615c19d9e03d4be2049c10db0151edbc3b229246
30   - Bugfix: Make ObjectWrap::handle() const d19af99595587fe7a26bd850af6595c2a7145afc
31   - Bugfix: Fix compilation errors related to 0592fb0a47f3a1c7763087ebea8e1138829f24f9 e9191c525b94f652718325e28610a1adcf90fed8
32
33 ### 2.3.3 May 4 2016
34
35   - Bugfix: Refactor SetMethod() to deal with v8::Templates (#566) b9083cf6d5de6ebe6bcb49c7502fbb7c0d9ddda8
36
37 ### 2.3.2 Apr 27 2016
38
39   - Bugfix: Fix compilation on outdated versions due to Handle removal f8b7c875d04d425a41dfd4f3f8345bc3a11e6c52
40
41 ### 2.3.1 Apr 27 2016
42
43   - Bugfix: Don't use deprecated v8::Template::Set() in SetMethod a90951e9ea70fa1b3836af4b925322919159100e
44
45 ### 2.3.0 Apr 27 2016
46
47   - Feature: added Signal() for invoking async callbacks without sending data from AsyncProgressWorker d8adba45f20e077d00561b20199133620c990b38
48   - Bugfix: Don't use deprecated v8::Template::Set() 00dacf0a4b86027415867fa7f1059acc499dcece
49
50 ### 2.2.1 Mar 29 2016
51
52   - Bugfix: Use NewFromUnsigned in ReturnValue<T>::Set(uint32_t i) for pre_12 3a18f9bdce29826e0e4c217854bc476918241a58
53   - Performance: Remove unneeeded nullptr checks b715ef44887931c94f0d1605b3b1a4156eebece9
54
55 ### 2.2.0 Jan 9 2016
56
57   - Feature: Add Function::Call wrapper 4c157474dacf284d125c324177b45aa5dabc08c6
58   - Feature: Rename GC*logueCallback to GCCallback for > 4.0 3603435109f981606d300eb88004ca101283acec
59   - Bugfix: Fix Global::Pass for old versions 367e82a60fbaa52716232cc89db1cc3f685d77d9
60   - Bugfix: Remove weird MaybeLocal wrapping of what already is a MaybeLocal 23b4590db10c2ba66aee2338aebe9751c4cb190b
61
62 ### 2.1.0 Oct 8 2015
63
64   - Deprecation: Deprecate NanErrnoException in favor of ErrnoException 0af1ca4cf8b3f0f65ed31bc63a663ab3319da55c
65   - Feature: added helper class for accessing contents of typedarrays 17b51294c801e534479d5463697a73462d0ca555
66   - Feature: [Maybe types] Add MakeMaybe(...) 48d7b53d9702b0c7a060e69ea10fea8fb48d814d
67   - Feature: new: allow utf16 string with length 66ac6e65c8ab9394ef588adfc59131b3b9d8347b
68   - Feature: Introduce SetCallHandler and SetCallAsFunctionHandler 7764a9a115d60ba10dc24d86feb0fbc9b4f75537
69   - Bugfix: Enable creating Locals from Globals under Node 0.10. 9bf9b8b190821af889790fdc18ace57257e4f9ff
70   - Bugfix: Fix issue #462 where PropertyCallbackInfo data is not stored safely. 55f50adedd543098526c7b9f4fffd607d3f9861f
71
72 ### 2.0.9 Sep 8 2015
73
74   - Bugfix: EscapableHandleScope in Nan::NewBuffer for Node 0.8 and 0.10 b1654d7
75
76 ### 2.0.8 Aug 28 2015
77
78   - Work around duplicate linking bug in clang 11902da
79
80 ### 2.0.7 Aug 26 2015
81
82   - Build: Repackage
83
84 ### 2.0.6 Aug 26 2015
85
86   - Bugfix: Properly handle null callback in FunctionTemplate factory 6e99cb1
87   - Bugfix: Remove unused static std::map instances 525bddc
88   - Bugfix: Make better use of maybe versions of APIs bfba85b
89   - Bugfix: Fix shadowing issues with handle in ObjectWrap 0a9072d
90
91 ### 2.0.5 Aug 10 2015
92
93   - Bugfix: Reimplement weak callback in ObjectWrap 98d38c1
94   - Bugfix: Make sure callback classes are not assignable, copyable or movable 81f9b1d
95
96 ### 2.0.4 Aug 6 2015
97
98   - Build: Repackage
99
100 ### 2.0.3 Aug 6 2015
101
102   - Bugfix: Don't use clang++ / g++ syntax extension. 231450e
103
104 ### 2.0.2 Aug 6 2015
105
106   - Build: Repackage
107
108 ### 2.0.1 Aug 6 2015
109
110   - Bugfix: Add workaround for missing REPLACE_INVALID_UTF8 60d6687
111   - Bugfix: Reimplement ObjectWrap from scratch to prevent memory leaks 6484601
112   - Bugfix: Fix Persistent leak in FunctionCallbackInfo and PropertyCallbackInfo 641ef5f
113   - Bugfix: Add missing overload for Nan::NewInstance that takes argc/argv 29450ed
114
115 ### 2.0.0 Jul 31 2015
116
117   - Change: Renamed identifiers with leading underscores        b5932b4
118   - Change: Replaced NanObjectWrapHandle with class NanObjectWrap       464f1e1
119   - Change: Replace NanScope and NanEscpableScope macros with classes   47751c4
120   - Change: Rename NanNewBufferHandle to NanNewBuffer   6745f99
121   - Change: Rename NanBufferUse to NanNewBuffer 3e8b0a5
122   - Change: Rename NanNewBuffer to NanCopyBuffer        d6af78d
123   - Change: Remove Nan prefix from all names    72d1f67
124   - Change: Update Buffer API for new upstream changes  d5d3291
125   - Change: Rename Scope and EscapableScope to HandleScope and EscapableHandleScope     21a7a6a
126   - Change: Get rid of Handles   e6c0daf
127   - Feature: Support io.js 3 with V8 4.4
128   - Feature: Introduce NanPersistent    7fed696
129   - Feature: Introduce NanGlobal        4408da1
130   - Feature: Added NanTryCatch  10f1ca4
131   - Feature: Update for V8 v4.3 4b6404a
132   - Feature: Introduce NanNewOneByteString      c543d32
133   - Feature: Introduce namespace Nan    67ed1b1
134   - Removal: Remove NanLocker and NanUnlocker   dd6e401
135   - Removal: Remove string converters, except NanUtf8String, which now follows the node implementation b5d00a9
136   - Removal: Remove NanReturn* macros   d90a25c
137   - Removal: Remove HasInstance e8f84fe
138
139
140 ### 1.9.0 Jul 31 2015
141
142   - Feature: Added `NanFatalException` 81d4a2c
143   - Feature: Added more error types 4265f06
144   - Feature: Added dereference and function call operators to NanCallback c4b2ed0
145   - Feature: Added indexed GetFromPersistent and SaveToPersistent edd510c
146   - Feature: Added more overloads of SaveToPersistent and GetFromPersistent 8b1cef6
147   - Feature: Added NanErrnoException dd87d9e
148   - Correctness: Prevent assign, copy, and move for classes that do not support it 1f55c59, 4b808cb, c96d9b2, fba4a29, 3357130
149   - Deprecation: Deprecate `NanGetPointerSafe` and `NanSetPointerSafe` 81d4a2c
150   - Deprecation: Deprecate `NanBooleanOptionValue` and `NanUInt32OptionValue` 0ad254b
151
152 ### 1.8.4 Apr 26 2015
153
154   - Build: Repackage
155
156 ### 1.8.3 Apr 26 2015
157
158   - Bugfix: Include missing header 1af8648
159
160 ### 1.8.2 Apr 23 2015
161
162   - Build: Repackage
163
164 ### 1.8.1 Apr 23 2015
165
166   - Bugfix: NanObjectWrapHandle should take a pointer 155f1d3
167
168 ### 1.8.0 Apr 23 2015
169
170   - Feature: Allow primitives with NanReturnValue 2e4475e
171   - Feature: Added comparison operators to NanCallback 55b075e
172   - Feature: Backport thread local storage 15bb7fa
173   - Removal: Remove support for signatures with arguments 8a2069d
174   - Correcteness: Replaced NanObjectWrapHandle macro with function 0bc6d59
175
176 ### 1.7.0 Feb 28 2015
177
178   - Feature: Made NanCallback::Call accept optional target 8d54da7
179   - Feature: Support atom-shell 0.21 0b7f1bb
180
181 ### 1.6.2 Feb 6 2015
182
183   - Bugfix: NanEncode: fix argument type for node::Encode on io.js 2be8639
184
185 ### 1.6.1 Jan 23 2015
186
187   - Build: version bump
188
189 ### 1.5.3 Jan 23 2015
190
191   - Build: repackage
192
193 ### 1.6.0 Jan 23 2015
194
195  - Deprecated `NanNewContextHandle` in favor of `NanNew<Context>` 49259af
196  - Support utility functions moved in newer v8 versions (Node 0.11.15, io.js 1.0) a0aa179
197  - Added `NanEncode`, `NanDecodeBytes` and `NanDecodeWrite` 75e6fb9
198
199 ### 1.5.2 Jan 23 2015
200
201   - Bugfix: Fix non-inline definition build error with clang++ 21d96a1, 60fadd4
202   - Bugfix: Readded missing String constructors 18d828f
203   - Bugfix: Add overload handling NanNew<FunctionTemplate>(..) 5ef813b
204   - Bugfix: Fix uv_work_cb versioning 997e4ae
205   - Bugfix: Add function factory and test 4eca89c
206   - Bugfix: Add object template factory and test cdcb951
207   - Correctness: Lifted an io.js related typedef c9490be
208   - Correctness: Make explicit downcasts of String lengths 00074e6
209   - Windows: Limit the scope of disabled warning C4530 83d7deb
210
211 ### 1.5.1 Jan 15 2015
212
213   - Build: version bump
214
215 ### 1.4.3 Jan 15 2015
216
217   - Build: version bump
218
219 ### 1.4.2 Jan 15 2015
220
221   - Feature: Support io.js 0dbc5e8
222
223 ### 1.5.0 Jan 14 2015
224
225  - Feature: Support io.js b003843
226  - Correctness: Improved NanNew internals 9cd4f6a
227  - Feature: Implement progress to NanAsyncWorker 8d6a160
228
229 ### 1.4.1 Nov 8 2014
230
231  - Bugfix: Handle DEBUG definition correctly
232  - Bugfix: Accept int as Boolean
233
234 ### 1.4.0 Nov 1 2014
235
236  - Feature: Added NAN_GC_CALLBACK 6a5c245
237  - Performance: Removed unnecessary local handle creation 18a7243, 41fe2f8
238  - Correctness: Added constness to references in NanHasInstance 02c61cd
239  - Warnings: Fixed spurious warnings from -Wundef and -Wshadow, 541b122, 99d8cb6
240  - Windoze: Shut Visual Studio up when compiling 8d558c1
241  - License: Switch to plain MIT from custom hacked MIT license 11de983
242  - Build: Added test target to Makefile e232e46
243  - Performance: Removed superfluous scope in NanAsyncWorker f4b7821
244  - Sugar/Feature: Added NanReturnThis() and NanReturnHolder() shorthands 237a5ff, d697208
245  - Feature: Added suitable overload of NanNew for v8::Integer::NewFromUnsigned b27b450
246
247 ### 1.3.0 Aug 2 2014
248
249  - Added NanNew<v8::String, std::string>(std::string)
250  - Added NanNew<v8::String, std::string&>(std::string&)
251  - Added NanAsciiString helper class
252  - Added NanUtf8String helper class
253  - Added NanUcs2String helper class
254  - Deprecated NanRawString()
255  - Deprecated NanCString()
256  - Added NanGetIsolateData(v8::Isolate *isolate)
257  - Added NanMakeCallback(v8::Handle<v8::Object> target, v8::Handle<v8::Function> func, int argc, v8::Handle<v8::Value>* argv)
258  - Added NanMakeCallback(v8::Handle<v8::Object> target, v8::Handle<v8::String> symbol, int argc, v8::Handle<v8::Value>* argv)
259  - Added NanMakeCallback(v8::Handle<v8::Object> target, const char* method, int argc, v8::Handle<v8::Value>* argv)
260  - Added NanSetTemplate(v8::Handle<v8::Template> templ, v8::Handle<v8::String> name , v8::Handle<v8::Data> value, v8::PropertyAttribute attributes)
261  - Added NanSetPrototypeTemplate(v8::Local<v8::FunctionTemplate> templ, v8::Handle<v8::String> name, v8::Handle<v8::Data> value, v8::PropertyAttribute attributes)
262  - Added NanSetInstanceTemplate(v8::Local<v8::FunctionTemplate> templ, const char *name, v8::Handle<v8::Data> value)
263  - Added NanSetInstanceTemplate(v8::Local<v8::FunctionTemplate> templ, v8::Handle<v8::String> name, v8::Handle<v8::Data> value, v8::PropertyAttribute attributes)
264
265 ### 1.2.0 Jun 5 2014
266
267  - Add NanSetPrototypeTemplate
268  - Changed NAN_WEAK_CALLBACK internals, switched _NanWeakCallbackData to class,
269      introduced _NanWeakCallbackDispatcher
270  - Removed -Wno-unused-local-typedefs from test builds
271  - Made test builds Windows compatible ('Sleep()')
272
273 ### 1.1.2 May 28 2014
274
275  - Release to fix more stuff-ups in 1.1.1
276
277 ### 1.1.1 May 28 2014
278
279  - Release to fix version mismatch in nan.h and lack of changelog entry for 1.1.0
280
281 ### 1.1.0 May 25 2014
282
283  - Remove nan_isolate, use v8::Isolate::GetCurrent() internally instead
284  - Additional explicit overloads for NanNew(): (char*,int), (uint8_t*[,int]),
285      (uint16_t*[,int), double, int, unsigned int, bool, v8::String::ExternalStringResource*,
286      v8::String::ExternalAsciiStringResource*
287  - Deprecate NanSymbol()
288  - Added SetErrorMessage() and ErrorMessage() to NanAsyncWorker
289
290 ### 1.0.0 May 4 2014
291
292  - Heavy API changes for V8 3.25 / Node 0.11.13
293  - Use cpplint.py
294  - Removed NanInitPersistent
295  - Removed NanPersistentToLocal
296  - Removed NanFromV8String
297  - Removed NanMakeWeak
298  - Removed NanNewLocal
299  - Removed NAN_WEAK_CALLBACK_OBJECT
300  - Removed NAN_WEAK_CALLBACK_DATA
301  - Introduce NanNew, replaces NanNewLocal, NanPersistentToLocal, adds many overloaded typed versions
302  - Introduce NanUndefined, NanNull, NanTrue and NanFalse
303  - Introduce NanEscapableScope and NanEscapeScope
304  - Introduce NanMakeWeakPersistent (requires a special callback to work on both old and new node)
305  - Introduce NanMakeCallback for node::MakeCallback
306  - Introduce NanSetTemplate
307  - Introduce NanGetCurrentContext
308  - Introduce NanCompileScript and NanRunScript
309  - Introduce NanAdjustExternalMemory
310  - Introduce NanAddGCEpilogueCallback, NanAddGCPrologueCallback, NanRemoveGCEpilogueCallback, NanRemoveGCPrologueCallback
311  - Introduce NanGetHeapStatistics
312  - Rename NanAsyncWorker#SavePersistent() to SaveToPersistent()
313
314 ### 0.8.0 Jan 9 2014
315
316  - NanDispose -> NanDisposePersistent, deprecate NanDispose
317  - Extract _NAN_*_RETURN_TYPE, pull up NAN_*()
318
319 ### 0.7.1 Jan 9 2014
320
321  - Fixes to work against debug builds of Node
322  - Safer NanPersistentToLocal (avoid reinterpret_cast)
323  - Speed up common NanRawString case by only extracting flattened string when necessary
324
325 ### 0.7.0 Dec 17 2013
326
327  - New no-arg form of NanCallback() constructor.
328  - NanCallback#Call takes Handle rather than Local
329  - Removed deprecated NanCallback#Run method, use NanCallback#Call instead
330  - Split off _NAN_*_ARGS_TYPE from _NAN_*_ARGS
331  - Restore (unofficial) Node 0.6 compatibility at NanCallback#Call()
332  - Introduce NanRawString() for char* (or appropriate void*) from v8::String
333      (replacement for NanFromV8String)
334  - Introduce NanCString() for null-terminated char* from v8::String
335
336 ### 0.6.0 Nov 21 2013
337
338  - Introduce NanNewLocal<T>(v8::Handle<T> value) for use in place of
339      v8::Local<T>::New(...) since v8 started requiring isolate in Node 0.11.9
340
341 ### 0.5.2 Nov 16 2013
342
343  - Convert SavePersistent and GetFromPersistent in NanAsyncWorker from protected and public
344
345 ### 0.5.1 Nov 12 2013
346
347  - Use node::MakeCallback() instead of direct v8::Function::Call()
348
349 ### 0.5.0 Nov 11 2013
350
351  - Added @TooTallNate as collaborator
352  - New, much simpler, "include_dirs" for binding.gyp
353  - Added full range of NAN_INDEX_* macros to match NAN_PROPERTY_* macros
354
355 ### 0.4.4 Nov 2 2013
356
357  - Isolate argument from v8::Persistent::MakeWeak removed for 0.11.8+
358
359 ### 0.4.3 Nov 2 2013
360
361  - Include node_object_wrap.h, removed from node.h for Node 0.11.8.
362
363 ### 0.4.2 Nov 2 2013
364
365  - Handle deprecation of v8::Persistent::Dispose(v8::Isolate* isolate)) for
366      Node 0.11.8 release.
367
368 ### 0.4.1 Sep 16 2013
369
370  - Added explicit `#include <uv.h>` as it was removed from node.h for v0.11.8
371
372 ### 0.4.0 Sep 2 2013
373
374  - Added NAN_INLINE and NAN_DEPRECATED and made use of them
375  - Added NanError, NanTypeError and NanRangeError
376  - Cleaned up code
377
378 ### 0.3.2 Aug 30 2013
379
380  - Fix missing scope declaration in GetFromPersistent() and SaveToPersistent
381      in NanAsyncWorker
382
383 ### 0.3.1 Aug 20 2013
384
385  - fix "not all control paths return a value" compile warning on some platforms
386
387 ### 0.3.0 Aug 19 2013
388
389  - Made NAN work with NPM
390  - Lots of fixes to NanFromV8String, pulling in features from new Node core
391  - Changed node::encoding to Nan::Encoding in NanFromV8String to unify the API
392  - Added optional error number argument for NanThrowError()
393  - Added NanInitPersistent()
394  - Added NanReturnNull() and NanReturnEmptyString()
395  - Added NanLocker and NanUnlocker
396  - Added missing scopes
397  - Made sure to clear disposed Persistent handles
398  - Changed NanAsyncWorker to allocate error messages on the heap
399  - Changed NanThrowError(Local<Value>) to NanThrowError(Handle<Value>)
400  - Fixed leak in NanAsyncWorker when errmsg is used
401
402 ### 0.2.2 Aug 5 2013
403
404  - Fixed usage of undefined variable with node::BASE64 in NanFromV8String()
405
406 ### 0.2.1 Aug 5 2013
407
408  - Fixed 0.8 breakage, node::BUFFER encoding type not available in 0.8 for
409      NanFromV8String()
410
411 ### 0.2.0 Aug 5 2013
412
413  - Added NAN_PROPERTY_GETTER, NAN_PROPERTY_SETTER, NAN_PROPERTY_ENUMERATOR,
414      NAN_PROPERTY_DELETER, NAN_PROPERTY_QUERY
415  - Extracted _NAN_METHOD_ARGS, _NAN_GETTER_ARGS, _NAN_SETTER_ARGS,
416      _NAN_PROPERTY_GETTER_ARGS, _NAN_PROPERTY_SETTER_ARGS,
417      _NAN_PROPERTY_ENUMERATOR_ARGS, _NAN_PROPERTY_DELETER_ARGS,
418      _NAN_PROPERTY_QUERY_ARGS
419  - Added NanGetInternalFieldPointer, NanSetInternalFieldPointer
420  - Added NAN_WEAK_CALLBACK, NAN_WEAK_CALLBACK_OBJECT,
421      NAN_WEAK_CALLBACK_DATA, NanMakeWeak
422  - Renamed THROW_ERROR to _NAN_THROW_ERROR
423  - Added NanNewBufferHandle(char*, size_t, node::smalloc::FreeCallback, void*)
424  - Added NanBufferUse(char*, uint32_t)
425  - Added NanNewContextHandle(v8::ExtensionConfiguration*,
426        v8::Handle<v8::ObjectTemplate>, v8::Handle<v8::Value>)
427  - Fixed broken NanCallback#GetFunction()
428  - Added optional encoding and size arguments to NanFromV8String()
429  - Added NanGetPointerSafe() and NanSetPointerSafe()
430  - Added initial test suite (to be expanded)
431  - Allow NanUInt32OptionValue to convert any Number object
432
433 ### 0.1.0 Jul 21 2013
434
435  - Added `NAN_GETTER`, `NAN_SETTER`
436  - Added `NanThrowError` with single Local<Value> argument
437  - Added `NanNewBufferHandle` with single uint32_t argument
438  - Added `NanHasInstance(Persistent<FunctionTemplate>&, Handle<Value>)`
439  - Added `Local<Function> NanCallback#GetFunction()`
440  - Added `NanCallback#Call(int, Local<Value>[])`
441  - Deprecated `NanCallback#Run(int, Local<Value>[])` in favour of Call