diff --git a/Cargo.toml b/Cargo.toml index 9a9485c2..528b9042 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = ["derive", "compatibility"] [package] name = "bincode" -version = "2.0.0" # remember to update html_root_url and bincode_derive +version = "2.0.1" # remember to update html_root_url and bincode_derive authors = [ "Ty Overby ", "Zoey Riordan ", @@ -32,7 +32,7 @@ alloc = ["serde?/alloc"] derive = ["bincode_derive"] [dependencies] -bincode_derive = { path = "derive", version = "2.0.0", optional = true } +bincode_derive = { path = "derive", version = "2.0.1", optional = true } serde = { version = "1.0", default-features = false, optional = true } unty = "0.0.4" diff --git a/derive/Cargo.toml b/derive/Cargo.toml index 444b194b..5ae4d597 100644 --- a/derive/Cargo.toml +++ b/derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bincode_derive" -version = "2.0.0" # remember to update bincode +version = "2.0.1" # remember to update bincode authors = [ "Zoey Riordan ", "Victor Koenders ", diff --git a/docs/migration_guide.md b/docs/migration_guide.md index 021a8df2..afcf80de 100644 --- a/docs/migration_guide.md +++ b/docs/migration_guide.md @@ -4,7 +4,7 @@ Bincode 2 now has an optional dependency on `serde`. You can either use `serde`, ## From `Options` to `Configuration` -Bincode 1 had the [Options](https://docs.rs/bincode/1/bincode/config/trait.Options.html) trait. This has been replaced with the [Configuration](https://docs.rs/bincode/2.0.0/bincode/config/struct.Configuration.html) struct. +Bincode 1 had the [Options](https://docs.rs/bincode/1/bincode/config/trait.Options.html) trait. This has been replaced with the [Configuration](https://docs.rs/bincode/2/bincode/config/struct.Configuration.html) struct. If you're using `Options`, you can change it like this: @@ -46,10 +46,10 @@ If so, make sure to include bincode 2 with the `serde` feature enabled, and use ```toml [dependencies] -bincode = { version = "2.0.0", features = ["serde"] } +bincode = { version = "2.0", features = ["serde"] } # Optionally you can disable the `derive` feature: -# bincode = { version = "2.0.0", default-features = false, features = ["std", "serde"] } +# bincode = { version = "2.0", default-features = false, features = ["std", "serde"] } ``` Then replace the following functions: (`Configuration` is `bincode::config::legacy()` by default) @@ -70,13 +70,13 @@ Then replace the following functions: (`Configuration` is `bincode::config::lega ```toml,ignore [dependencies] -bincode = "2.0.0" +bincode = "2.0" # If you need `no_std` with `alloc`: -# bincode = { version = "2.0.0", default-features = false, features = ["derive", "alloc"] } +# bincode = { version = "2.0", default-features = false, features = ["derive", "alloc"] } # If you need `no_std` and no `alloc`: -# bincode = { version = "2.0.0", default-features = false, features = ["derive"] } +# bincode = { version = "2.0", default-features = false, features = ["derive"] } ``` Replace or add the following attributes. You are able to use both `serde-derive` and `bincode-derive` side-by-side. @@ -86,7 +86,7 @@ Replace or add the following attributes. You are able to use both `serde-derive` | `#[derive(serde::Serialize)]` | `#[derive(bincode::Encode)]` | | `#[derive(serde::Deserialize)]` | `#[derive(bincode::Decode)]` | -**note:** To implement these traits manually, see the documentation of [Encode](https://docs.rs/bincode/2.0.0/bincode/enc/trait.Encode.html) and [Decode](https://docs.rs/bincode/2.0.0/bincode/de/trait.Decode.html). +**note:** To implement these traits manually, see the documentation of [Encode](https://docs.rs/bincode/2/bincode/enc/trait.Encode.html) and [Decode](https://docs.rs/bincode/2/bincode/de/trait.Decode.html). **note:** For more information on using `bincode-derive` with external libraries, see [below](#bincode-derive-and-libraries). @@ -107,10 +107,10 @@ Then replace the following functions: (`Configuration` is `bincode::config::lega Currently not many libraries support the traits `Encode` and `Decode`. There are a couple of options if you want to use `#[derive(bincode::Encode, bincode::Decode)]`: - Enable the `serde` feature and add a `#[bincode(with_serde)]` above each field that implements `serde::Serialize/Deserialize` but not `Encode/Decode` -- Enable the `serde` feature and wrap your field in [bincode::serde::Compat](https://docs.rs/bincode/2.0.0/bincode/serde/struct.Compat.html) or [bincode::serde::BorrowCompat](https://docs.rs/bincode/2.0.0/bincode/serde/struct.BorrowCompat.html) +- Enable the `serde` feature and wrap your field in [bincode::serde::Compat](https://docs.rs/bincode/2/bincode/serde/struct.Compat.html) or [bincode::serde::BorrowCompat](https://docs.rs/bincode/2/bincode/serde/struct.BorrowCompat.html) - Make a pull request to the library: - Make sure to be respectful, most of the developers are doing this in their free time. - - Add a dependency `bincode = { version = "2.0.0", default-features = false, optional = true }` to the `Cargo.toml` - - Implement [Encode](https://docs.rs/bincode/2.0.0/bincode/enc/trait.Encode.html) - - Implement [Decode](https://docs.rs/bincode/2.0.0/bincode/de/trait.Decode.html) + - Add a dependency `bincode = { version = "2.0", default-features = false, optional = true }` to the `Cargo.toml` + - Implement [Encode](https://docs.rs/bincode/2/bincode/enc/trait.Encode.html) + - Implement [Decode](https://docs.rs/bincode/2/bincode/de/trait.Decode.html) - Make sure both of these implementations have a `#[cfg(feature = "bincode")]` attribute. diff --git a/docs/spec.md b/docs/spec.md index 01858cf5..5e29e721 100644 --- a/docs/spec.md +++ b/docs/spec.md @@ -15,8 +15,8 @@ By default, this serialization format uses little-endian byte order for basic nu Endianness can be configured with the following methods, allowing for big-endian serialization when required: -- [`with_big_endian`](https://docs.rs/bincode/2.0.0/bincode/config/struct.Configuration.html#method.with_big_endian) -- [`with_little_endian`](https://docs.rs/bincode/2.0.0/bincode/config/struct.Configuration.html#method.with_little_endian) +- [`with_big_endian`](https://docs.rs/bincode/2/bincode/config/struct.Configuration.html#method.with_big_endian) +- [`with_little_endian`](https://docs.rs/bincode/2/bincode/config/struct.Configuration.html#method.with_little_endian) ### Byte Order Considerations @@ -31,7 +31,7 @@ Endianness can be configured with the following methods, allowing for big-endian - Encoded as a single byte - `false` is represented by `0` - `true` is represented by `1` -- During deserialization, values other than 0 and 1 will result in an error [`DecodeError::InvalidBooleanValue`](https://docs.rs/bincode/2.0.0/bincode/error/enum.DecodeError.html#variant.InvalidBooleanValue) +- During deserialization, values other than 0 and 1 will result in an error [`DecodeError::InvalidBooleanValue`](https://docs.rs/bincode/2/bincode/error/enum.DecodeError.html#variant.InvalidBooleanValue) ### Numeric Types @@ -62,7 +62,7 @@ Endianness can be configured with the following methods, allowing for big-endian - Surrogate code points (0xD800 to 0xDFFF) are not valid - Invalid Unicode characters can be acquired via unsafe code, this is handled as: - during serialization: data is written as-is - - during deserialization: an error is raised [`DecodeError::InvalidCharEncoding`](https://docs.rs/bincode/2.0.0/bincode/error/enum.DecodeError.html#variant.InvalidCharEncoding) + - during deserialization: an error is raised [`DecodeError::InvalidCharEncoding`](https://docs.rs/bincode/2/bincode/error/enum.DecodeError.html#variant.InvalidCharEncoding) - No additional metadata or encoding scheme beyond the raw code point value All tuples have no additional bytes, and are encoded in their specified order, e.g. @@ -92,7 +92,7 @@ Encoding an unsigned integer v (of any type excepting u8/i8) works as follows: `usize` is being encoded/decoded as a `u64` and `isize` is being encoded/decoded as a `i64`. -See the documentation of [VarintEncoding](https://docs.rs/bincode/2.0.0/bincode/config/struct.Configuration.html#method.with_variable_int_encoding) for more information. +See the documentation of [VarintEncoding](https://docs.rs/bincode/2/bincode/config/struct.Configuration.html#method.with_variable_int_encoding) for more information. ### FixintEncoding @@ -100,7 +100,7 @@ See the documentation of [VarintEncoding](https://docs.rs/bincode/2.0.0/bincode/ - Enum discriminants are encoded as u32 - Lengths and usize are encoded as u64 -See the documentation of [FixintEncoding](https://docs.rs/bincode/2.0.0/bincode/config/struct.Configuration.html#method.with_fixed_int_encoding) for more information. +See the documentation of [FixintEncoding](https://docs.rs/bincode/2/bincode/config/struct.Configuration.html#method.with_fixed_int_encoding) for more information. ## Enums @@ -224,7 +224,7 @@ assert_eq!(encoded.as_slice(), &[ - During serialization, the string is encoded as a sequence of the given bytes. - Rust strings are UTF-8 encoded by default, but this is not enforced by bincode - No normalization or transformation of text -- If an invalid UTF-8 sequence is encountered during decoding, an [`DecodeError::Utf8`](https://docs.rs/bincode/2.0.0/bincode/error/enum.DecodeError.html#variant.Utf8) error is raised +- If an invalid UTF-8 sequence is encountered during decoding, an [`DecodeError::Utf8`](https://docs.rs/bincode/2/bincode/error/enum.DecodeError.html#variant.Utf8) error is raised ```rust let str = "Hello 🌍"; // Mixed ASCII and Unicode diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index b1315013..9c0db6c7 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -19,7 +19,7 @@ dependencies = [ [[package]] name = "bincode" -version = "2.0.0" +version = "2.0.1" dependencies = [ "bincode_derive", "serde", @@ -31,14 +31,14 @@ name = "bincode-fuzz" version = "0.0.0" dependencies = [ "bincode 1.3.3", - "bincode 2.0.0", + "bincode 2.0.1", "libfuzzer-sys", "serde", ] [[package]] name = "bincode_derive" -version = "2.0.0" +version = "2.0.1" dependencies = [ "virtue", ] @@ -123,9 +123,9 @@ checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" [[package]] name = "unty" -version = "0.0.3" +version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a88342087869553c259588a3ec9ca73ce9b2d538b7051ba5789ff236b6c129" +checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" [[package]] name = "virtue" diff --git a/src/lib.rs b/src/lib.rs index ba1a9e46..1555c5e9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -71,7 +71,7 @@ //! [`net::TcpStream`]: std::net::TcpStream //! -#![doc(html_root_url = "https://docs.rs/bincode/2.0.0")] +#![doc(html_root_url = "https://docs.rs/bincode/2.0.1")] #![crate_name = "bincode"] #![crate_type = "rlib"]