Skip to content

Commit

Permalink
Neon 0.10.1
Browse files Browse the repository at this point in the history
  • Loading branch information
kjvalencik committed May 23, 2022
1 parent 4e350ea commit 9fa8768
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 12 deletions.
8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "neon"
version = "0.10.0"
version = "0.10.1"
authors = ["Dave Herman <[email protected]>"]
description = "A safe abstraction layer for Node.js."
readme = "README.md"
Expand All @@ -12,7 +12,7 @@ build = "build.rs"
edition = "2018"

[build-dependencies]
neon-build = { version = "=0.10.0", path = "crates/neon-build" }
neon-build = { version = "=0.10.1", path = "crates/neon-build" }

[dev-dependencies]
lazy_static = "1.4.0"
Expand All @@ -24,8 +24,8 @@ failure = "0.1.5" # used for a doc example
[dependencies]
semver = "0.9.0"
smallvec = "1.4.2"
neon-runtime = { version = "=0.10.0", path = "crates/neon-runtime" }
neon-macros = { version = "=0.10.0", path = "crates/neon-macros", optional = true }
neon-runtime = { version = "=0.10.1", path = "crates/neon-runtime" }
neon-macros = { version = "=0.10.1", path = "crates/neon-macros", optional = true }

[features]
default = ["legacy-runtime"]
Expand Down
24 changes: 24 additions & 0 deletions RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,27 @@
# Version 0.10.1

Fix a soundness hole in `JsArrayBuffer::external`
and `JsBuffer::external` (https://github.com/neon-bindings/neon/pull/897).

Thanks to [@Cassy343](https://github.com/Cassy343) for finding the [issue](https://github.com/neon-bindings/neon/issues/896)!

In previous versions of Neon, it was possible to create a `JsArrayBuffer` or `JsBuffer` that references data without the `'static` lifetime.

```rust
pub fn soundness_hole(mut cx: FunctionContext) -> JsResult<JsArrayBuffer> {
let mut data = vec![0u8, 1, 2, 3];

// Creating an external from `&mut [u8]` instead of `Vec<u8>` since there is a blanket impl
// of `AsMut<T> for &mut T`
let buf = JsArrayBuffer::external(&mut cx, data.as_mut_slice());

// `buf` is still holding a reference to `data`!
drop(data);

Ok(buf)
}
```

# Version 0.10

See the [Neon 0.10 Migration Guide](MIGRATION_GUIDE_0.10.md) for more details about new features and breaking changes.
Expand Down
2 changes: 1 addition & 1 deletion cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "neon-cli",
"version": "0.10.0",
"version": "0.10.1",
"description": "Build and load native Rust/Neon modules.",
"author": "Dave Herman <[email protected]>",
"repository": {
Expand Down
4 changes: 2 additions & 2 deletions crates/neon-build/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "neon-build"
version = "0.10.0"
version = "0.10.1"
authors = ["Dave Herman <[email protected]>"]
description = "Build logic required for Neon projects."
repository = "https://github.com/neon-bindings/neon"
Expand All @@ -9,4 +9,4 @@ edition = "2018"
build = "build.rs"

[dependencies]
neon-sys = { version = "=0.10.0", path = "../neon-sys", optional = true }
neon-sys = { version = "=0.10.1", path = "../neon-sys", optional = true }
2 changes: 1 addition & 1 deletion crates/neon-macros/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "neon-macros"
version = "0.10.0"
version = "0.10.1"
authors = ["Dave Herman <[email protected]>"]
description = "Procedural macros supporting Neon"
repository = "https://github.com/neon-bindings/neon"
Expand Down
4 changes: 2 additions & 2 deletions crates/neon-runtime/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "neon-runtime"
version = "0.10.0"
version = "0.10.1"
authors = ["Dave Herman <[email protected]>"]
description = "Bindings to the Node.js native addon API, used by the Neon implementation."
repository = "https://github.com/neon-bindings/neon"
Expand All @@ -10,7 +10,7 @@ edition = "2018"
[dependencies]
cfg-if = "1.0.0"
libloading = { version = "0.6.5", optional = true }
neon-sys = { version = "=0.10.0", path = "../neon-sys", optional = true }
neon-sys = { version = "=0.10.1", path = "../neon-sys", optional = true }
smallvec = "1.4.2"

[dev-dependencies]
Expand Down
2 changes: 1 addition & 1 deletion crates/neon-sys/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "neon-sys"
version = "0.10.0"
version = "0.10.1"
authors = ["David Herman <[email protected]>"]
description = "Exposes the low-level V8/NAN C/C++ APIs. Will be superseded by N-API."
edition = "2018"
Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 9fa8768

Please sign in to comment.