From 2d5f0aa5487a758b5cc622423f7986c35659b5b2 Mon Sep 17 00:00:00 2001 From: tison Date: Mon, 8 Jul 2024 15:05:41 -0700 Subject: [PATCH 1/7] build(deps): upgrade prost for hyper 1.x (#126) Signed-off-by: tison --- pbjson-build/Cargo.toml | 4 ++-- pbjson-test/Cargo.toml | 4 ++-- pbjson-types/Cargo.toml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pbjson-build/Cargo.toml b/pbjson-build/Cargo.toml index 17e766e..cfbde54 100644 --- a/pbjson-build/Cargo.toml +++ b/pbjson-build/Cargo.toml @@ -11,8 +11,8 @@ repository = "https://github.com/influxdata/pbjson" [dependencies] heck = "0.4" -prost = "0.12" -prost-types = "0.12" +prost = "0.13" +prost-types = "0.13" itertools = "0.11" [dev-dependencies] diff --git a/pbjson-test/Cargo.toml b/pbjson-test/Cargo.toml index 7113ac5..8d70562 100644 --- a/pbjson-test/Cargo.toml +++ b/pbjson-test/Cargo.toml @@ -7,7 +7,7 @@ description = "Test resources for pbjson converion" repository = "https://github.com/influxdata/pbjson" [dependencies] -prost = "0.12" +prost = "0.13" pbjson = { path = "../pbjson" } pbjson-types = { path = "../pbjson-types" } serde = { version = "1.0", features = ["derive"] } @@ -24,5 +24,5 @@ chrono = "0.4" serde_json = "1.0" [build-dependencies] -prost-build = "0.12" +prost-build = "0.13" pbjson-build = { path = "../pbjson-build" } diff --git a/pbjson-types/Cargo.toml b/pbjson-types/Cargo.toml index 23c1fdf..54ef3e1 100644 --- a/pbjson-types/Cargo.toml +++ b/pbjson-types/Cargo.toml @@ -14,12 +14,12 @@ exclude = ["protos/*"] bytes = "1.0" chrono = { version = "0.4", default-features = false, features = ["alloc"] } pbjson = { path = "../pbjson", version = "0.6" } -prost = "0.12" +prost = "0.13" serde = { version = "1.0", features = ["derive"] } [dev-dependencies] serde_json = "1.0" [build-dependencies] # In alphabetical order -prost-build = "0.12" +prost-build = "0.13" pbjson-build = { path = "../pbjson-build", version = "0.6" } From 422824b69530bc1a8cac0fe039d84b2c5957622e Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Tue, 9 Jul 2024 06:08:02 -0400 Subject: [PATCH 2/7] chore: Fix CI (#128) * chore: Update for deprecated APIs * fix: upgrade protoc dependencies * fix: upgrade to rust 1.74 so cargo_audit works * fix: update descriptors for latest protoc * fix: add newly stringent clippy lint --- .circleci/config.yml | 4 ++-- pbjson-build/src/generator/message.rs | 5 +++++ pbjson-types/descriptors.bin | Bin 121444 -> 127266 bytes pbjson-types/src/timestamp.rs | 9 ++++----- rust-toolchain.toml | 2 +- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b3daedd..f6fd133 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -150,8 +150,8 @@ jobs: steps: - checkout - run: - name: Install protobuf and git - command: pacman -Sy --noconfirm protobuf git && protoc --version + name: Install protobuf and git and dependencies + command: pacman -Sy --noconfirm protobuf git gcc-libs && protoc --version - run: name: Regenerate descriptors working_directory: pbjson-types diff --git a/pbjson-build/src/generator/message.rs b/pbjson-build/src/generator/message.rs index 4203554..816bc4d 100644 --- a/pbjson-build/src/generator/message.rs +++ b/pbjson-build/src/generator/message.rs @@ -380,6 +380,11 @@ fn write_serialize_scalar_variable( "{}#[allow(clippy::needless_borrow)]", Indent(indent) )?; + writeln!( + writer, + "{}#[allow(clippy::needless_borrows_for_generic_args)]", + Indent(indent) + )?; writeln!( writer, "{}struct_ser.serialize_field(\"{}\", {}(&{}).as_str())?;", diff --git a/pbjson-types/descriptors.bin b/pbjson-types/descriptors.bin index 0e370ea3c1b90e1764430aa0e542d4b6544182d6..7757b3ddee25c45a129d863adbf8f625e4350c76 100644 GIT binary patch delta 27185 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 bA;Exd7JEo`yxG_5DSjnx{qIt2)y)3}4ch}N delta 21497 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 for DateTime { fn try_from(value: Timestamp) -> Result { let Timestamp { seconds, nanos } = value; - let dt = NaiveDateTime::from_timestamp_opt( + Self::from_timestamp( seconds, nanos .try_into() .map_err(|_| "out of range integral type conversion attempted")?, ) - .ok_or("invalid or out-of-range datetime")?; - Ok(Utc.from_utc_datetime(&dt)) + .ok_or("invalid or out-of-range datetime") } } @@ -33,7 +32,7 @@ impl Serialize for Timestamp { where S: serde::Serializer, { - let t: DateTime = self.clone().try_into().map_err(serde::ser::Error::custom)?; + let t: DateTime = (*self).try_into().map_err(serde::ser::Error::custom)?; serializer.serialize_str(t.to_rfc3339().as_str()) } } diff --git a/rust-toolchain.toml b/rust-toolchain.toml index e724aeb..ba3f7e4 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.72" +channel = "1.74" components = ["rustfmt", "clippy"] From bab0bae237301fdb974a169bcee5b31b035fd64e Mon Sep 17 00:00:00 2001 From: mountainpath9 <93360511+mountainpath9@users.noreply.github.com> Date: Tue, 9 Jul 2024 20:42:37 +1000 Subject: [PATCH 3/7] Use fully scoped std::result::Result in 2 more places (#122) --- pbjson-build/src/generator/message.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pbjson-build/src/generator/message.rs b/pbjson-build/src/generator/message.rs index 816bc4d..2822f56 100644 --- a/pbjson-build/src/generator/message.rs +++ b/pbjson-build/src/generator/message.rs @@ -262,7 +262,7 @@ fn write_serialize_variable( writeln!(writer)?; write!( writer, - "{}}}).collect::, _>>()", + "{}}}).collect::, _>>()", Indent(indent + 1) ) } @@ -316,7 +316,7 @@ fn write_serialize_variable( writeln!(writer, "{}Ok((k, v))", Indent(indent + 2))?; writeln!( writer, - "{}}}).collect::>()?;", + "{}}}).collect::>()?;", Indent(indent + 1) )?; } From 2f70d30a6feb77480ad999f969ca0d15efba273e Mon Sep 17 00:00:00 2001 From: yukinarit Date: Tue, 9 Jul 2024 19:48:39 +0900 Subject: [PATCH 4/7] docs: use doc comment for use_integers_for_enums (#117) Co-authored-by: Andrew Lamb --- pbjson-build/src/lib.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pbjson-build/src/lib.rs b/pbjson-build/src/lib.rs index eaee816..912bbee 100644 --- a/pbjson-build/src/lib.rs +++ b/pbjson-build/src/lib.rs @@ -186,7 +186,8 @@ impl Builder { self.emit_fields = true; self } - // print integers instead of enum names. + + /// Print integers instead of enum names. pub fn use_integers_for_enums(&mut self) -> &mut Self { self.use_integers_for_enums = true; self From 538ef635fd1fe299cd03046ad8cfada8b30d7f34 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Tue, 9 Jul 2024 06:55:25 -0400 Subject: [PATCH 5/7] chore: update heck and itertools dependencies (#129) --- pbjson-build/Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pbjson-build/Cargo.toml b/pbjson-build/Cargo.toml index cfbde54..c9bd279 100644 --- a/pbjson-build/Cargo.toml +++ b/pbjson-build/Cargo.toml @@ -10,10 +10,10 @@ categories = ["encoding"] repository = "https://github.com/influxdata/pbjson" [dependencies] -heck = "0.4" +heck = "0.5" prost = "0.13" prost-types = "0.13" -itertools = "0.11" +itertools = "0.13" [dev-dependencies] tempfile = "3.1" From 929346f24ce732f94dadcf467ff6fef3ba0cbe06 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Tue, 9 Jul 2024 06:59:53 -0400 Subject: [PATCH 6/7] chore: Prepare `0.7.0` release (#130) --- pbjson-build/Cargo.toml | 2 +- pbjson-test/Cargo.toml | 2 +- pbjson-types/Cargo.toml | 6 +++--- pbjson/Cargo.toml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pbjson-build/Cargo.toml b/pbjson-build/Cargo.toml index c9bd279..3715900 100644 --- a/pbjson-build/Cargo.toml +++ b/pbjson-build/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pbjson-build" -version = "0.6.2" +version = "0.7.0" authors = ["Raphael Taylor-Davies "] edition = "2021" description = "Generates Serialize and Deserialize implementations for prost message types" diff --git a/pbjson-test/Cargo.toml b/pbjson-test/Cargo.toml index 8d70562..bbb0951 100644 --- a/pbjson-test/Cargo.toml +++ b/pbjson-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pbjson-test" -version = "0.6.0" +version = "0.7.0" authors = ["Raphael Taylor-Davies "] edition = "2021" description = "Test resources for pbjson converion" diff --git a/pbjson-types/Cargo.toml b/pbjson-types/Cargo.toml index 54ef3e1..c0c0896 100644 --- a/pbjson-types/Cargo.toml +++ b/pbjson-types/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pbjson-types" -version = "0.6.0" +version = "0.7.0" authors = ["Raphael Taylor-Davies "] description = "Protobuf well known types with serde serialization support" edition = "2021" @@ -13,7 +13,7 @@ exclude = ["protos/*"] [dependencies] # In alphabetical order bytes = "1.0" chrono = { version = "0.4", default-features = false, features = ["alloc"] } -pbjson = { path = "../pbjson", version = "0.6" } +pbjson = { path = "../pbjson", version = "0.7" } prost = "0.13" serde = { version = "1.0", features = ["derive"] } @@ -22,4 +22,4 @@ serde_json = "1.0" [build-dependencies] # In alphabetical order prost-build = "0.13" -pbjson-build = { path = "../pbjson-build", version = "0.6" } +pbjson-build = { path = "../pbjson-build", version = "0.7" } diff --git a/pbjson/Cargo.toml b/pbjson/Cargo.toml index 95eb06d..2c35e10 100644 --- a/pbjson/Cargo.toml +++ b/pbjson/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pbjson" -version = "0.6.0" +version = "0.7.0" authors = ["Raphael Taylor-Davies "] edition = "2021" description = "Utilities for pbjson conversion" From d0e7e75da055153ef19c4340e59b63a88eeea8e4 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Wed, 10 Jul 2024 12:56:28 -0400 Subject: [PATCH 7/7] docs: Document Release Process (#131) --- RELEASING.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 RELEASING.md diff --git a/RELEASING.md b/RELEASING.md new file mode 100644 index 0000000..651a48b --- /dev/null +++ b/RELEASING.md @@ -0,0 +1,23 @@ +# Releasing + +This document describes the release process for [`pbjson`], [`pbjson-types`] and +[`pbjson-build`] to crates.io. + +Note that `pbjson-test` is not released as it is only used for testing. + +[`pbjson`]: https://crates.io/crates/pbjson +[`pbjson-types`]: https://crates.io/crates/pbjson-types +[`pbjson-build`]: https://crates.io/crates/pbjson-build + +## Step 1: Update Version + +First make a PR to update the version (example [#127](https://github.com/influxdata/pbjson/issues/127)) + +## Step 2: Release +Run the following commands to release `pbjson`, `pbjson-types` and `pbjson-build` + +```shell +cargo publish -p pbjson +cargo publish -p pbjson-build +cargo publish -p pbjson-types +```