Releases: engsr6982/jspp
Releases · engsr6982/jspp
v0.2.1
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
ES Module Support & Engine Abstraction Polish
✨ New Features
- ES Module Support — ESM loading and evaluation, with automatic
EngineScopemanagement 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 Handling —
std::exceptionhandling across V8 and QuickJS backends - Addon Examples — New Node.js and QuickJS addon samples
🔧 Refactoring
- Flag operator macro and
hasFlagutility for cleaner bitmask operations - Engine pointer handling refined in QuickJS data functions
Full Changelog: v0.1.0...v0.2.0
v0.1.0
🎉 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
Full Changelog: https://github.com/engsr6982/jspp/commits/v8kit-final