v1.0.0-alpha.2
Pre-releaseBreaking Changes
neon::object::This
Trait neon::object::This
has been removed. This
was primarily added for use with the declare_types!
macro to generate classes. The macro was removed and This
is no longer needed. Additionally, the This
argument on JsFunction
was found to be invalid because it asserted at compile time a type for this
that could change at runtime. (Note that this was not unsound because the type would be checked by Node-API and result in a panic
.)
JsFunction::this
JsFunction::this
was changed to perform a downcast and be fallible. This is in line with similar APIs (e.g., Object::get
). Additionally, an infallible version, JsValue::this_value
was added that does not perform a downcast.
Added Feature flag for external buffers
Electron began using pointer compression on JavaScript values that is incompatible with external buffers. As a preventative measure, JsArrayBuffer::external
and JsBuffer::external
have been placed behind a feature flag that warns of Electron incompatibility.
Improvements
- Lifetimes were relaxed on
execute_scoped
to allow valid code to compile. (#919) - Added a
from_slice
helper onTypedArray
(#925) JsTypedArray
construction and type aliases (#909)
Bug Fixes
- Fixed a panic on VM shutdown when using
Channel
(#934) - Type tags were added to
JsBox
to prevent undefined behavior when multiple native add-ons are used (#907)
Docs
- Significantly improved documentation of
TypedArray
(#909) - Removed unused values in
Channel
docs (#925)
cargo-cp-artifact
0.1.7
includes a fix to unlink .node
files before copying to address common code signing errors on macOS (#921).