Skip to content

@pmed pmed released this May 3, 2020

Assets 2

@pmed pmed released this Dec 29, 2018

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

Assets 2

@pmed pmed released this Oct 19, 2018

Before dropping support of old V8 versions with deprecated API

Assets 2

@pmed pmed released this Aug 8, 2018

Bug fixes

Assets 2

@pmed pmed released this Oct 29, 2017

  • 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
Assets 2

@pmed pmed released this Jul 28, 2017

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

Assets 2

@pmed pmed released this Oct 29, 2016

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).

Assets 2

@pmed pmed released this Oct 9, 2016

v1.3.1

Bump NPM package version to 1.3.1
Assets 2

@pmed pmed released this Oct 9, 2016

Replaced static variables for class types identification by std::type_index in order to resolve an issue with the classes identification across different shared libraries.

Removal of those static variables also leads up to better concurrency support with multiple V8 isolates (see #28)

Assets 2

According to nodejs/node#6216 only primitive values and V8 templates are allowed to set in a v8::ObjectTemplate.

Assets 2