Skip to content

Commit

Permalink
Release 0.0.80
Browse files Browse the repository at this point in the history
  • Loading branch information
udoprog committed Oct 19, 2023
1 parent f9dd92c commit 3d75a4f
Show file tree
Hide file tree
Showing 14 changed files with 55 additions and 57 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ Add the following to your `Cargo.toml` using the [format](#formats) you want
to use:

```toml
musli = "0.0.79"
musli-wire = "0.0.79"
musli = "0.0.80"
musli-wire = "0.0.80"
```

<br>
Expand Down
4 changes: 2 additions & 2 deletions crates/musli-common/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "musli-common"
version = "0.0.79"
version = "0.0.80"
authors = ["John-John Tedro <udoprog@tedro.se>"]
edition = "2021"
rust-version = "1.73"
Expand All @@ -21,7 +21,7 @@ std = ["musli/std", "simdutf8?/std"]
alloc = []

[dependencies]
musli = { path = "../musli", version = "0.0.79", default-features = false }
musli = { path = "../musli", version = "0.0.80", default-features = false }
simdutf8 = { version = "0.1.4", optional = true, default-features = false }

[dev-dependencies]
Expand Down
8 changes: 4 additions & 4 deletions crates/musli-descriptive/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "musli-descriptive"
version = "0.0.79"
version = "0.0.80"
authors = ["John-John Tedro <udoprog@tedro.se>"]
edition = "2021"
rust-version = "1.73"
Expand All @@ -23,6 +23,6 @@ test = []
simdutf8 = ["musli-common/simdutf8"]

[dependencies]
musli = { path = "../musli", version = "0.0.79", default-features = false }
musli-common = { path = "../musli-common", version = "0.0.79", default-features = false }
musli-storage = { path = "../musli-storage", version = "0.0.79", default-features = false }
musli = { path = "../musli", version = "0.0.80", default-features = false }
musli-common = { path = "../musli-common", version = "0.0.80", default-features = false }
musli-storage = { path = "../musli-storage", version = "0.0.80", default-features = false }
8 changes: 4 additions & 4 deletions crates/musli-json/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "musli-json"
version = "0.0.79"
version = "0.0.80"
authors = ["John-John Tedro <udoprog@tedro.se>"]
edition = "2021"
rust-version = "1.73"
Expand All @@ -24,9 +24,9 @@ simdutf8 = ["musli-common/simdutf8"]
parse-full = []

[dependencies]
musli = { path = "../musli", version = "0.0.79", default-features = false }
musli-common = { path = "../musli-common", version = "0.0.79", default-features = false }
musli-value = { path = "../musli-value", version = "0.0.79", default-features = false, optional = true }
musli = { path = "../musli", version = "0.0.80", default-features = false }
musli-common = { path = "../musli-common", version = "0.0.80", default-features = false }
musli-value = { path = "../musli-value", version = "0.0.80", default-features = false, optional = true }

itoa = "1.0.9"
ryu = "1.0.15"
Expand Down
2 changes: 1 addition & 1 deletion crates/musli-macros/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "musli-macros"
version = "0.0.79"
version = "0.0.80"
authors = ["John-John Tedro <udoprog@tedro.se>"]
edition = "2021"
rust-version = "1.73"
Expand Down
6 changes: 3 additions & 3 deletions crates/musli-storage/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "musli-storage"
version = "0.0.79"
version = "0.0.80"
authors = ["John-John Tedro <udoprog@tedro.se>"]
edition = "2021"
rust-version = "1.73"
Expand All @@ -23,5 +23,5 @@ test = []
simdutf8 = ["musli-common/simdutf8"]

[dependencies]
musli = { path = "../musli", version = "0.0.79", default-features = false }
musli-common = { path = "../musli-common", version = "0.0.79", default-features = false }
musli = { path = "../musli", version = "0.0.80", default-features = false }
musli-common = { path = "../musli-common", version = "0.0.80", default-features = false }
8 changes: 4 additions & 4 deletions crates/musli-value/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "musli-value"
version = "0.0.79"
version = "0.0.80"
authors = ["John-John Tedro <udoprog@tedro.se>"]
edition = "2021"
rust-version = "1.73"
Expand All @@ -22,9 +22,9 @@ std = ["musli/std", "musli-storage/std", "musli-common/std", "alloc"]
alloc = ["musli/alloc", "musli-storage/alloc", "musli-common/alloc"]

[dependencies]
musli = { path = "../musli", version = "0.0.79", default-features = false }
musli-common = { path = "../musli-common", version = "0.0.79", default-features = false }
musli-storage = { path = "../musli-storage", version = "0.0.79", default-features = false }
musli = { path = "../musli", version = "0.0.80", default-features = false }
musli-common = { path = "../musli-common", version = "0.0.80", default-features = false }
musli-storage = { path = "../musli-storage", version = "0.0.80", default-features = false }

itoa = "1.0.9"
ryu = "1.0.15"
Expand Down
8 changes: 4 additions & 4 deletions crates/musli-wire/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "musli-wire"
version = "0.0.79"
version = "0.0.80"
authors = ["John-John Tedro <udoprog@tedro.se>"]
edition = "2021"
rust-version = "1.73"
Expand All @@ -23,6 +23,6 @@ test = []
simdutf8 = ["musli-common/simdutf8"]

[dependencies]
musli = { path = "../musli", version = "0.0.79", default-features = false }
musli-common = { path = "../musli-common", version = "0.0.79", default-features = false }
musli-storage = { path = "../musli-storage", version = "0.0.79", default-features = false }
musli = { path = "../musli", version = "0.0.80", default-features = false }
musli-common = { path = "../musli-common", version = "0.0.80", default-features = false }
musli-storage = { path = "../musli-storage", version = "0.0.80", default-features = false }
6 changes: 3 additions & 3 deletions crates/musli-zerocopy/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "musli-zerocopy"
version = "0.0.79"
version = "0.0.80"
authors = ["John-John Tedro <udoprog@tedro.se>"]
edition = "2021"
rust-version = "1.73"
Expand All @@ -22,10 +22,10 @@ alloc = []
nightly = []

[dependencies]
musli-macros = { version = "=0.0.79", path = "../musli-macros" }
musli-macros = { version = "=0.0.80", path = "../musli-macros" }
rand = { version = "0.8.5", default-features = false, features = ["small_rng"] }

[dev-dependencies]
anyhow = "1.0.75"
trybuild = "1.0.85"
musli-macros = { version = "=0.0.79", path = "../musli-macros", features = ["sneaky-fields"] }
musli-macros = { version = "=0.0.80", path = "../musli-macros", features = ["sneaky-fields"] }
28 changes: 13 additions & 15 deletions crates/musli-zerocopy/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,31 +66,29 @@ This is because:
Since this is the first question anyone will ask, here is how we differ from
other popular libraries:
* [`zerocopy`](https://docs.rs/zerocopy) doesn't support padded
structs[^padded], bytes to reference conversions, or conversions which
does not permit decoding types unless all bit patterns an be inhabited by
types[^padded], bytes to reference conversions, or conversions which does
not permit decoding types unless all bit patterns can be inhabited by
zeroes[^zeroes]. We still want to provide more of a complete toolkit that
you'd need to build and interact with complex data structures, such as the
[`phf`] and [`swiss`] modules. This crate might indeed at some point make
use of `zerocopy`'s traits.
you'd need to build and interact with complex data structures like we get
through the [`phf`] and [`swiss`] modules. This crate might indeed at some
point make use of `zerocopy`'s traits.
* [`rkyv`](https://docs.rs/rkyv) operates on `#[repr(Rust)]` types and from
this derives an optimized `Archived` variation for you. This library lets
you build the equivalent of the `Archived` variant directly and the way
you interact with the data model doesn't incur the cost of validation up
front unless you want to. `rkyv` is only sound if you build it with the
[`strict` feature] set, and with the feature enabled it doesn't pass Miri
under Stacked Borrows[^stacked-borrows]. Neither of these are strict
blockers for users of the library, but do constrain its safe applicability
in ways this library does not.

[`strict` feature]: https://docs.rs/rkyv/latest/rkyv/#features
front. With `rkyv` it took my computer 100% of a CPU core and about half a
second to load 12 million dictionary entries[^dictionary], which is a cost
that is simply not incurred by incrementally validating. Not validating is
not an option since that would be wildly unsound - your application would
be vulnerable to malicious dictionary files.

[^padded]: This is on zerocopy's roadmap, but it fundamentally doesn't play
well with the central `FromBytes` / `ToBytes` pair of traits.
well with the central `FromBytes` / `ToBytes` pair of traits

[^zeroes]: [FromBytes extends
FromZeroes](https://docs.rs/zerocopy/latest/zerocopy/trait.FromBytes.html).
FromZeroes](https://docs.rs/zerocopy/latest/zerocopy/trait.FromBytes.html)

[^stacked-borrows]: [rkyv#436](https://github.com/rkyv/rkyv/issues/436)
[^dictionary]: [udoprog/jpv](https://github.com/udoprog/jpv/blob/main/crates/lib/src/database.rs)

<br>

Expand Down
4 changes: 2 additions & 2 deletions crates/musli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "musli"
version = "0.0.79"
version = "0.0.80"
authors = ["John-John Tedro <udoprog@tedro.se>"]
edition = "2021"
rust-version = "1.73"
Expand All @@ -21,7 +21,7 @@ std = ["alloc"]
alloc = []

[dependencies]
musli-macros = { version = "=0.0.79", path = "../musli-macros" }
musli-macros = { version = "=0.0.80", path = "../musli-macros" }

[dev-dependencies]
musli-wire = { path = "../musli-wire", default-features = false }
Expand Down
4 changes: 2 additions & 2 deletions crates/musli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ Add the following to your `Cargo.toml` using the [format](#formats) you want
to use:

```toml
musli = "0.0.79"
musli-wire = "0.0.79"
musli = "0.0.80"
musli-wire = "0.0.80"
```

<br>
Expand Down
4 changes: 2 additions & 2 deletions crates/musli/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
//! to use:
//!
//! ```toml
//! musli = "0.0.79"
//! musli-wire = "0.0.79"
//! musli = "0.0.80"
//! musli-wire = "0.0.80"
//! ```
//!
//! <br>
Expand Down
18 changes: 9 additions & 9 deletions crates/tests/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,14 @@ bitcode = ["dep:bitcode", "model-no-128", "model-no-map", "serde"]
bitcode-derive = ["bitcode", "bitcode/derive"]

[dependencies]
musli = { path = "../musli", version = "0.0.79", default-features = false, optional = true, features = ["alloc"] }
musli-wire = { path = "../musli-wire", version = "0.0.79", default-features = false, features = ["alloc", "test"], optional = true }
musli-descriptive = { path = "../musli-descriptive", version = "0.0.79", default-features = false, features = ["alloc", "test"], optional = true }
musli-storage = { path = "../musli-storage", version = "0.0.79", default-features = false, features = ["alloc", "test"], optional = true }
musli-json = { path = "../musli-json", version = "0.0.79", default-features = false, features = ["alloc", "test",], optional = true }
musli-value = { path = "../musli-value", version = "0.0.79", default-features = false, features = ["alloc", "test"], optional = true }
musli-zerocopy = { path = "../musli-zerocopy", version = "0.0.79", default-features = false, features = ["alloc"], optional = true }
musli-macros = { path = "../musli-macros", version = "0.0.79", features = ["test"] }
musli = { path = "../musli", version = "0.0.80", default-features = false, optional = true, features = ["alloc"] }
musli-wire = { path = "../musli-wire", version = "0.0.80", default-features = false, features = ["alloc", "test"], optional = true }
musli-descriptive = { path = "../musli-descriptive", version = "0.0.80", default-features = false, features = ["alloc", "test"], optional = true }
musli-storage = { path = "../musli-storage", version = "0.0.80", default-features = false, features = ["alloc", "test"], optional = true }
musli-json = { path = "../musli-json", version = "0.0.80", default-features = false, features = ["alloc", "test",], optional = true }
musli-value = { path = "../musli-value", version = "0.0.80", default-features = false, features = ["alloc", "test"], optional = true }
musli-zerocopy = { path = "../musli-zerocopy", version = "0.0.80", default-features = false, features = ["alloc"], optional = true }
musli-macros = { path = "../musli-macros", version = "0.0.80", features = ["test"] }

anyhow = "1.0.75"
serde = { version = "1.0.188", default-features = false, optional = true, features = ["derive"] }
Expand All @@ -72,7 +72,7 @@ postcard = { version = "1.0.8", default-features = false, optional = true }
zerocopy = { version = "0.7.11", default-features = false, optional = true, features = ["byteorder", "derive"] }

[dev-dependencies]
musli = { path = "../musli", version = "0.0.79", default-features = false, features = ["alloc"] }
musli = { path = "../musli", version = "0.0.80", default-features = false, features = ["alloc"] }
criterion = { version = "0.4.0", features = ["html_reports"] }
trybuild = "1.0.85"
bstr = "1.7.0"
Expand Down

0 comments on commit 3d75a4f

Please sign in to comment.