From 23f71749696d5836afa143cbbb860fa8943e0640 Mon Sep 17 00:00:00 2001 From: Casper Meijn Date: Mon, 8 Jul 2024 19:07:02 +0200 Subject: [PATCH] chore: Release version 0.13.0 (#1093) --- CHANGELOG.md | 44 +++++++++++++++++++++++++++++++++++++++++ Cargo.toml | 2 +- README.md | 8 ++++---- prost-build/Cargo.toml | 4 ++-- prost-build/src/lib.rs | 2 +- prost-derive/src/lib.rs | 2 +- prost-types/Cargo.toml | 2 +- prost-types/src/lib.rs | 2 +- prost/Cargo.toml | 2 +- prost/README.md | 8 ++++---- prost/src/lib.rs | 2 +- 11 files changed, 61 insertions(+), 17 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..eac7c1b85 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,44 @@ +# PROST version 0.13.0 + +_PROST!_ is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. + +This major update brings new features and fixes: + +## Breaking changes +- derive Copy trait for messages where possible (#950) + + `prost-build` will automatically derive `trait Copy` for some messages. If you manually implement `Copy` you should remove your implementation. + +- Change generated functions signatures to remove type parameters (#1045) + + The function signature of `trait Message` is changed to use `impl Buf` instead of a named generic type. If you implement `trait Message`, you should change the function signature. + +- Lightweight error value in TryFrom for enums (#1010) + + When a `impl TryFrom` is generated by `prost` derive macros, it will now return the error type `UnknownEnumValue` instead of `DecodeError`. The new error can be used to retreive the integer value that failed to convert. + +## Features +- fix: Only touch include file if contents is changed (#1058) + + Most generated files are untouched when the contents doesn't change. Use the same mechanism for include file as well. + +## Dependencies +- update env_logger requirement from 0.10 to 0.11 (#1074) +- update criterion requirement from 0.4 to 0.5 (#1071) +- Remove unused libz-sys (#1077) +- build(deps): update itertools requirement from >=0.10, <=0.12 to >=0.10, <=0.13 (#1070) + +## Documentation +- better checking of tag duplicates, avoid discarding invalid variant errs (#951) +- docs: Fix broken link warnings (#1056) +- Add missing LICENSE symlink (#1086) + +## Internal +- workspace package metadata (#1036) +- fix: Build error due to merge conflict (#1068) +- build: Fix release scripts (#1055) +- chore: Add ci to check MSRV (#1057) +- ci: Add all tests pass job (#1069) +- ci: Add Dependabot (#957) +- ci: Ensure both README are the same and prost version is correct (#1078) +- ci: Set rust version of clippy job to a fixed version (#1090) diff --git a/Cargo.toml b/Cargo.toml index 9e913672b..a234536dd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ exclude = [ resolver = "2" [workspace.package] -version = "0.12.6" +version = "0.13.0" authors = [ "Dan Burkert ", "Lucio Franco ", diff --git a/README.md b/README.md index 9d3ae6144..808f177ca 100644 --- a/README.md +++ b/README.md @@ -30,9 +30,9 @@ First, add `prost` and its public dependencies to your `Cargo.toml`: ```ignore [dependencies] -prost = "0.12" +prost = "0.13" # Only necessary if using Protobuf well-known types: -prost-types = "0.12" +prost-types = "0.13" ``` The recommended way to add `.proto` compilation to a Cargo project is to use the @@ -380,9 +380,9 @@ the `std` features in `prost` and `prost-types`: ```ignore [dependencies] -prost = { version = "0.12.6", default-features = false, features = ["prost-derive"] } +prost = { version = "0.13.0", default-features = false, features = ["prost-derive"] } # Only necessary if using Protobuf well-known types: -prost-types = { version = "0.12.6", default-features = false } +prost-types = { version = "0.13.0", default-features = false } ``` Additionally, configure `prost-build` to output `BTreeMap`s instead of `HashMap`s diff --git a/prost-build/Cargo.toml b/prost-build/Cargo.toml index 4f2229f1c..7967b3efc 100644 --- a/prost-build/Cargo.toml +++ b/prost-build/Cargo.toml @@ -21,8 +21,8 @@ itertools = { version = ">=0.10, <=0.13", default-features = false, features = [ log = "0.4.4" multimap = { version = ">=0.8, <=0.10", default-features = false } petgraph = { version = "0.6", default-features = false } -prost = { version = "0.12.6", path = "../prost", default-features = false } -prost-types = { version = "0.12.6", path = "../prost-types", default-features = false } +prost = { version = "0.13.0", path = "../prost", default-features = false } +prost-types = { version = "0.13.0", path = "../prost-types", default-features = false } tempfile = "3" once_cell = "1.17.1" regex = { version = "1.8.1", default-features = false, features = ["std", "unicode-bool"] } diff --git a/prost-build/src/lib.rs b/prost-build/src/lib.rs index 222440dbf..c6ef38baf 100644 --- a/prost-build/src/lib.rs +++ b/prost-build/src/lib.rs @@ -1,4 +1,4 @@ -#![doc(html_root_url = "https://docs.rs/prost-build/0.12.6")] +#![doc(html_root_url = "https://docs.rs/prost-build/0.13.0")] #![allow(clippy::option_as_ref_deref, clippy::format_push_string)] //! `prost-build` compiles `.proto` files into Rust. diff --git a/prost-derive/src/lib.rs b/prost-derive/src/lib.rs index 06bf465c8..d06b079a2 100644 --- a/prost-derive/src/lib.rs +++ b/prost-derive/src/lib.rs @@ -1,4 +1,4 @@ -#![doc(html_root_url = "https://docs.rs/prost-derive/0.12.6")] +#![doc(html_root_url = "https://docs.rs/prost-derive/0.13.0")] // The `quote!` macro requires deep recursion. #![recursion_limit = "4096"] diff --git a/prost-types/Cargo.toml b/prost-types/Cargo.toml index 457c6546f..85577ed33 100644 --- a/prost-types/Cargo.toml +++ b/prost-types/Cargo.toml @@ -17,7 +17,7 @@ default = ["std"] std = ["prost/std"] [dependencies] -prost = { version = "0.12.6", path = "../prost", default-features = false, features = ["prost-derive"] } +prost = { version = "0.13.0", path = "../prost", default-features = false, features = ["prost-derive"] } [dev-dependencies] proptest = "1" diff --git a/prost-types/src/lib.rs b/prost-types/src/lib.rs index a2a94d432..e2e7bb52c 100644 --- a/prost-types/src/lib.rs +++ b/prost-types/src/lib.rs @@ -1,4 +1,4 @@ -#![doc(html_root_url = "https://docs.rs/prost-types/0.12.6")] +#![doc(html_root_url = "https://docs.rs/prost-types/0.13.0")] //! Protocol Buffers well-known types. //! diff --git a/prost/Cargo.toml b/prost/Cargo.toml index cc4e52689..130a9b515 100644 --- a/prost/Cargo.toml +++ b/prost/Cargo.toml @@ -24,7 +24,7 @@ std = [] [dependencies] bytes = { version = "1", default-features = false } -prost-derive = { version = "0.12.6", path = "../prost-derive", optional = true } +prost-derive = { version = "0.13.0", path = "../prost-derive", optional = true } [dev-dependencies] criterion = { version = "0.5", default-features = false } diff --git a/prost/README.md b/prost/README.md index 9d3ae6144..808f177ca 100644 --- a/prost/README.md +++ b/prost/README.md @@ -30,9 +30,9 @@ First, add `prost` and its public dependencies to your `Cargo.toml`: ```ignore [dependencies] -prost = "0.12" +prost = "0.13" # Only necessary if using Protobuf well-known types: -prost-types = "0.12" +prost-types = "0.13" ``` The recommended way to add `.proto` compilation to a Cargo project is to use the @@ -380,9 +380,9 @@ the `std` features in `prost` and `prost-types`: ```ignore [dependencies] -prost = { version = "0.12.6", default-features = false, features = ["prost-derive"] } +prost = { version = "0.13.0", default-features = false, features = ["prost-derive"] } # Only necessary if using Protobuf well-known types: -prost-types = { version = "0.12.6", default-features = false } +prost-types = { version = "0.13.0", default-features = false } ``` Additionally, configure `prost-build` to output `BTreeMap`s instead of `HashMap`s diff --git a/prost/src/lib.rs b/prost/src/lib.rs index ab63edb9f..f52ee5cfe 100644 --- a/prost/src/lib.rs +++ b/prost/src/lib.rs @@ -1,4 +1,4 @@ -#![doc(html_root_url = "https://docs.rs/prost/0.12.6")] +#![doc(html_root_url = "https://docs.rs/prost/0.13.0")] #![cfg_attr(not(feature = "std"), no_std)] #![doc = include_str!("../README.md")]