Skip to content

v1.0.0-alpha.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@kjvalencik kjvalencik released this 11 Nov 18:44
· 271 commits to main since this release
0c59300

Breaking Changes

neon::object::This

#918

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

#918

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

#937

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 on TypedArray (#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).