Skip to content

Releases: engsr6982/jspp

v0.2.1

20 May 09:08

Choose a tag to compare

v0.2.1

⚡ Performance

  • Small Object Optimization (SOO): inline storage for small, copyable, non-polymorphic types (≤64 bytes)

🐛 Fixes

  • Inherited member pointer binding: add MemberPointerTraits to support member pointers from base classes without manual class type deduction
  • Non-member getter/setter: support lambdas and free functions for property binding
  • Prevent memory leak when polymorphic upcast fails during clone
  • Fix resolveCastSource instantiation with void type
  • Fix const correctness for pass-by-value types in type conversion
  • Add missing else branches in if-constexpr chains
  • Fix shared_ptr const conversion and reference_wrapper handling
  • Strip const qualifier in RawType_t for lambda parameter matching

✨ Improvements

  • Rename NativeInstanceImpl → PointerNativeInstance for clarity
  • Replace internal Exception usage with std::logic_error
  • Add jspp_builtin_type.d.ts for TypeScript support
  • Add static_assert for polymorphic type restrictions

v0.2.0

09 May 08:16

Choose a tag to compare

v0.2.0 Pre-release
Pre-release

ES Module Support & Engine Abstraction Polish

✨ New Features

  • ES Module Support — ESM loading and evaluation, with automatic EngineScope management for addons
  • V8 Isolate Factory — Custom isolate creation and configuration support for V8 backend
  • Namespace Registration — Class and enum registration under custom namespaces
  • Unified Exception Handlingstd::exception handling across V8 and QuickJS backends
  • Addon Examples — New Node.js and QuickJS addon samples

🔧 Refactoring

  • Flag operator macro and hasFlag utility for cleaner bitmask operations
  • Engine pointer handling refined in QuickJS data functions

Full Changelog: v0.1.0...v0.2.0

v0.1.0

17 Apr 08:39

Choose a tag to compare

v0.1.0 Pre-release
Pre-release

🎉 First jspp Release

Formerly known as v8kit, this release marks the official transition to jspp — a modern C++ wrapper library supporting multiple JavaScript engines.

✨ Highlights

  • Multi-backend support: V8 and QuickJS (NG)
  • pybind11-style fluent API
  • Smart pointer & lifetime management with ReturnValuePolicy
  • Trampoline & polymorphism support

📦 Backends

Engine Status
V8 ✅ Stable
QuickJS-NG ✅ Stable

🔗 Links

🙏 Acknowledgments

Inspired by pybind11 and ScriptX.

Full Changelog: v8kit-final...v0.1.0

v8kit-final

15 Apr 13:03

Choose a tag to compare

v8kit-final Pre-release
Pre-release