Update Rust crate neon-build to 0.10.1 #66
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.1Release Notes
neon-bindings/neon (neon-build)
v0.10.1Compare Source
Fix a soundness hole in
JsArrayBuffer::externaland
JsBuffer::external(#897).Thanks to @Cassy343 for finding the issue!
In previous versions of Neon, it was possible to create a
JsArrayBufferorJsBufferthat references data without the'staticlifetime.v0.10.0Compare Source
See the Neon 0.10 Migration Guide for more details about new features and breaking changes.
Features
Channel::sendJsPromiseandTaskBuilderand simplify low level call
Minor Improvements
syn-midfor faster compile timesObject::getObject::get_optandObject::get_valueFixes
JsValuetypes!CopyRootwith instance idcreate-neonno longer leaves partial project on diskInternal Improvements
v0.9.1Compare Source
Finalizetrait asneon::types::Finalizeso that docs are visiblecreate-neonto make release builds morediscoverable (#771)
nanto fix an Electron 13 incompatibility (#778)v0.9.0Compare 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 (#739).The change may cause a performance regression in some pathological use cases (#762).
Deprecation
EventQueueandEventQueueErrorhave been renamed toChannelandChannelErrorrespectively to clarify their function and similarity to Rust channels. The types are available as deprecated aliases (#752).Docs
Channel::try_senddocs (#767)neon::object(#740)Fixes
v0.8.3Compare Source
Root(#750)v0.8.2Compare Source
neon new(#722)v0.8.1Compare Source
legacy-backendfor Node 16 (#715)v0.8.0Compare Source
Fixes
as_sliceandas_mut_sliceproperly handle anullpointer from an empty buffer (#681)Root(#700)Features
neon::reflect::eval(#692)create-neonfor creating an N-API project (#690)README.mdgenerated bycreate-neon(#697)Improvements
cargo-cp-artifact(#687)impl<T: Finalize> Finalize for Option<T>(#680)Housekeeping
cargo fmt(#698)v0.7.1Compare Source
Features
JsDateto N-API backend (#639)JsBuffer::unitializedfor N-API backend (#664)Fixes
Rootis leaked after the event loop has stopped (#677)v0.7.0Compare 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
panicmessage will inform the user.Threadsafe Functions
A prerelease version of
EventQueuefor calling into the main JavaScript thread from Rust threads can be enabled with theevent-queue-apifeature flag. The API is considered unstable and may change in the future until the RFC is merged.v0.6.0Compare Source
The
cx.try_catch(..)API has been updated to returnT: Sizedinstead ofT: Value(#631). This API is strictly more powerful and allows users to return both JavaScript and Rust values fromtry_catchclosures.N-API
v0.5.3Compare Source
Bug Fixes
Upgrade
node-gyp(#623)Features
Added
neon::mainmacro as a replacement forregister_module!(#636)Known Issues
Builds occassionally fail with Windows, Node 15 and npm 7 (#642)
v0.5.2Compare Source
CLI
Added support for additional arguments passed to
cargo build. Resolves #471.N-API
NPM_CONFIG_DISTURLsupportv0.5.1Compare Source
Performance
smallvecis used for collecting arguments and yields a small performance gain when callingJsFunctionBroader Support
Thanks to @staltz, neon now builds for both iOS and Android with nodejs-mobile.
v0.5.0Compare Source
Re-publish
Versions
0.4.1and0.4.2included a breaking change inneon-runtime. At the time, this was considered acceptable becauseneon-runtimeis considered an internal crate and not part of the public API. However, it was discovered, after publishing, thatneon-serde, a commonly used crate in theneonecosystem, contained a direct dependency onneon-runtime. In order to best support users, versions0.4.1and0.4.2were "yanked" and re-published as0.5.0.Additionally, the team is working with the authors of
neon-serdeto remove the dependency onneon-runtimeto prevent future issues.Bug Fixes
DowncastErrorDisplayimpl (#606)v0.4.2Compare Source
Unpublished / Yanked
Bug Fixes
EventHandlerv0.4.1Compare Source
Unpublished / Yanked
Features
Try Catch
Added the
cx.try_catchAPI of RFC 29. This feature is behind thetry-catch-apifeature flag.Bug Fixes
async_contexttonode::MakeCallback(#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.0Compare Source
v0.3.3Compare Source
Hot fix for
neon buildin projects with many dependencies.v0.3.2Compare Source
Bug fixes and Small Features
cargo testto be used on neon modulesCARGO_TARGET_DIRlocations (e.g., workspaces)neon::preludeto improve ergonomics in Rust 2018win_delay_hookwhen building withelectron-build-env, fixing Windows Electron__cxa_pure_virtualon LinuxOUT_DIRand build there to fixcargo publishand follow best practicesmem::uniitialized()usage, reducing warnings and fixing an instance of undefined behaviorPotentially Breaking
The macOS link arguments were moved from
neon-clitoneon-build. This is more idiomatic, but makesneon-buildrequired for macOS builds where it was unnecessary before.Since
neon-buildhas been included in the project template since0.1this 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-runtimeandn-apifeature flags for toggling neon runtimenodejs-syscraten-apiimplementationfeatureflag toneon-clito help configuringn-apiprojectsConfiguration
📅 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.