Skip to content

Releases: pmed/v8pp

Version 2.1.1

16 Oct 15:52
Compare
Choose a tag to compare
  • fix CI run
  • Call NewDefaultAllocator() for v8::Isolate::CreateParams field (#198)

Version 2.1.0

08 Jan 18:14
Compare
Choose a tag to compare
  • C++17 required
  • explicit binding methods: var, function, const_
  • more standard types support: std::tuple, std::variant
  • fix tests for the recent V8 versions

Version 1.8.1

02 Jan 23:05
Compare
Choose a tag to compare

Version 1.7.0

03 May 18:23
Compare
Choose a tag to compare

Version 1.6.0 with Node.js >= 8.X support

29 Dec 22:06
Compare
Choose a tag to compare

Updated minimum requirements to the project:

  • C++ toolset:
    • Microsoft Visual C++ 2015/2017 (Windows 10)
    • GCC 5.4.0 (Ubuntu 16.04)
    • Clang 5.0.0 (Ubuntu 16.04)
  • V8 version: >= 6.3
  • Node.js version >= 8.0

Fixed issues: #80, #84, #88, #91

V8 5.9 support

19 Oct 18:58
Compare
Choose a tag to compare

Before dropping support of old V8 versions with deprecated API

v1.5.1

08 Aug 19:04
Compare
Choose a tag to compare

Bug fixes

Allow to store wrapped C++ objects in `std::shared_ptr`

29 Oct 15:54
Compare
Choose a tag to compare
  • Wrapped C++ class now can be bound to store objects in std::shared_ptr:
class MyClass {};
v8pp::class_<MyClass, true> MyClass_binding(isolate);

v8::Handle<v8::Object> v8_obj = v8pp::class_<MyClass, true>::create_object(isolate);
std::shared_ptr<MyClass> obj = v8pp::class_<MyClass, true>::unwrap_object(isolate, v8_obj);
  • Added compile-time type_id() function instead of RTTI usage.
  • Fixed an issue #62

Fixed issue with deleting referenced C++ objects

28 Jul 22:33
Compare
Choose a tag to compare

See #60: C++ objects referenced with reference_external are still deleted when class_::destroy() is called

Custom RTTI, do not use V8 isolate by default

29 Oct 12:22
Compare
Choose a tag to compare

Custom type_info and type_id<T> are used in C++ class binder implementation. This allows to not force standard RTTI usage, which is turned off on many projects and in default Node.js addon configuration. Many thanks to @Manu343726 and @foonathan for their idea in https://github.com/Manu343726/ctti library.

A registery of bound classes is not stored in a V8 isolate by default from now. This is fine for typical use case, until we bind classes in multiple shared libraries (see #26). For the scenario with multiple shared libraries, define in all projects # V8PP_ISOLATE_DATA_SLOT with V8 slot number to store the classes registry there.

Fixed an issue with destroy of weak references to v8::External. They are used to store data with sizeof(data) > sizeof(void*), like lambda bindings (see #30).