Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.3.1
->0.10.1
Release Notes
neon-bindings/neon (neon)
v0.10.1
Compare Source
Fix a soundness hole in
JsArrayBuffer::external
and
JsBuffer::external
(https://github.com/neon-bindings/neon/pull/897).Thanks to @Cassy343 for finding the issue!
In previous versions of Neon, it was possible to create a
JsArrayBuffer
orJsBuffer
that references data without the'static
lifetime.v0.10.0
Compare Source
See the Neon 0.10 Migration Guide for more details about new features and breaking changes.
Features
Channel::send
JsPromise
andTaskBuilder
and simplify low level call
Minor Improvements
syn-mid
for faster compile timesObject::get
Object::get_opt
andObject::get_value
Fixes
JsValue
types!Copy
Root
with instance idcreate-neon
no longer leaves partial project on diskInternal Improvements
v0.9.1
Compare Source
Finalize
trait asneon::types::Finalize
so that docs are visiblecreate-neon
to make release builds morediscoverabhttps://github.com/neon-bindings/neon/pull/771/771)
nan
to fix an Electron 13 incompatibility (https://github.com/neon-bindings/neon/pull/778)v0.9.0
Compare Source
Performance
Channel
, formerlyEventQueue
, are now cloneable. Clones share a backing queue to take advantage of an optimization in Node threadsafe functions. Additionally, when specifying Node API 6 or higher (napi-6
), callingcx.channel()
will return a shared queue (https://github.com/neon-bindings/neon/pull/739).The change may cause a performance regression in some pathological use cases (https://github.com/neon-bindings/neon/issues/762).
Deprecation
EventQueue
andEventQueueError
have been renamed toChannel
andChannelError
respectively to clarify their function and similarity to Rust channels. The types are available as deprecated aliases (https://github.com/neon-bindings/neon/pull/752).Docs
Channel::try_send
docs (https://github.com/neon-bindings/neon/pull/767)neon::object
(https://github.com/neon-bindings/neon/pull/740)Fixes
v0.8.3
Compare Source
Root
(https://github.com/neon-bindings/neon/pull/750)v0.8.2
Compare Source
neon new
(https://github.com/neon-bindings/neon/pull/722)v0.8.1
Compare Source
legacy-backend
for Node 16 (https://github.com/neon-bindings/neon/pull/715)v0.8.0
Compare Source
Fixes
as_slice
andas_mut_slice
properly handle anull
pointer from an empty buffer (https://github.com/neon-bindings/neon/pull/681)Root
(https://github.com/neon-bindings/neon/pull/700)Features
neon::reflect::eval
(https://github.com/neon-bindings/neon/pull/692)create-neon
for creating an N-API project (https://github.com/neon-bindings/neon/pull/690)README.md
generated bycreate-neon
(https://github.com/neon-bindings/neon/pull/697)Improvements
cargo-cp-artifact
(https://github.com/neon-bindings/neon/pull/687)impl<T: Finalize> Finalize for Option<T>
(https://github.com/neon-bindings/neon/pull/680)Housekeeping
cargo fmt
(https://github.com/neon-bindings/neon/pull/698)v0.7.1
Compare Source
Features
JsDate
to N-API backend (https://github.com/neon-bindings/neon/pull/639)JsBuffer::unitialized
for N-API backend (https://github.com/neon-bindings/neon/pull/664)Fixes
Root
is leaked after the event loop has stopped (https://github.com/neon-bindings/neon/pull/677)v0.7.0
Compare Source
N-API
Version Selection
Neon supports a large number of different Node versions which may have different N-API requirements. Neon now supports selecting the minimum required N-API version required by a module. For example, for N-API Version 4:
If the Neon module is loaded in an older version of Node that does not support that N-API version, a
panic
message will inform the user.Threadsafe Functions
A prerelease version of
EventQueue
for calling into the main JavaScript thread from Rust threads can be enabled with theevent-queue-api
feature flag. The API is considered unstable and may change in the future until the RFC is merged.v0.6.0
Compare Source
The
cx.try_catch(..)
API has been updated to returnT: Sized
instead ofT: Value
(https://github.com/neon-bindings/neon/pull/631). This API is strictly more powerful and allows users to return both JavaScript and Rust values fromtry_catch
closures.N-API
v0.5.3
Compare Source
Bug Fixes
Upgrade
node-gyp
(https://github.com/neon-bindings/neon/pull/623)Features
Added
neon::main
macro as a replacement forregister_module!
(https://github.com/neon-bindings/neon/pull/636)Known Issues
Builds occassionally fail with Windows, Node 15 and npm 7 (https://github.com/neon-bindings/neon/issues/642)
v0.5.2
Compare Source
CLI
Added support for additional arguments passed to
cargo build
. Resolves https://github.com/neon-bindings/neon/issues/471.N-API
NPM_CONFIG_DISTURL
supportv0.5.1
Compare Source
Performance
smallvec
is used for collecting arguments and yields a small performance gain when callingJsFunction
Broader Support
Thanks to @staltz, neon now builds for both iOS and Android with nodejs-mobile.
v0.5.0
Compare Source
Re-publish
Versions
0.4.1
and0.4.2
included a breaking change inneon-runtime
. At the time, this was considered acceptable becauseneon-runtime
is considered an internal crate and not part of the public API. However, it was discovered, after publishing, thatneon-serde
, a commonly used crate in theneon
ecosystem, contained a direct dependency onneon-runtime
. In order to best support users, versions0.4.1
and0.4.2
were "yanked" and re-published as0.5.0
.Additionally, the team is working with the authors of
neon-serde
to remove the dependency onneon-runtime
to prevent future issues.Bug Fixes
DowncastError
Display
impl (https://github.com/neon-bindings/neon/pull/606)v0.4.2
Compare Source
Unpublished / Yanked
Bug Fixes
EventHandler
v0.4.1
Compare Source
Unpublished / Yanked
Features
Try Catch
Added the
cx.try_catch
API of RFC 29. This feature is behind thetry-catch-api
feature flag.Bug Fixes
async_context
tonode::MakeCallback
(https://github.com/neon-bindings/neon/pull/498)CI Improvements
The Neon Project now uses Github Actions thanks to @lhr0909! As part of this change, CI now runs on all of our supported platforms (macOS, Windows, linux) and Node versions.
v0.4.0
Compare Source
v0.3.3
Compare Source
Hot fix for
neon build
in projects with many dependencies.v0.3.2
Compare Source
Bug fixes and Small Features
cargo test
to be used on neon modulesCARGO_TARGET_DIR
locations (e.g., workspaces)neon::prelude
to improve ergonomics in Rust 2018win_delay_hook
when building withelectron-build-env
, fixing Windows Electron__cxa_pure_virtual
on LinuxOUT_DIR
and build there to fixcargo publish
and follow best practicesmem::uniitialized()
usage, reducing warnings and fixing an instance of undefined behaviorPotentially Breaking
The macOS link arguments were moved from
neon-cli
toneon-build
. This is more idiomatic, but makesneon-build
required for macOS builds where it was unnecessary before.Since
neon-build
has been included in the project template since0.1
this change was not deemed significant enough to warrant a major revision.N-API
Neon 0.3.2 lays the groundwork for the next major revision. Development of Neon against an ABI stable Node API (N-API) will occur on main.
legacy-runtime
andn-api
feature flags for toggling neon runtimenodejs-sys
craten-api
implementationfeature
flag toneon-cli
to help configuringn-api
projectsConfiguration
📅 Schedule: Branch creation - "before 3am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.