You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CHANGELOG.md 21KB

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