Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,55 @@
# Prost version 0.14.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.

## Breaking changes
- prost: Relax Message Debug trait bound (#1147)

BREAKING CHANGE: `trait Debug` was a supertrait of `trait Message`. This is no longer required by `prost`. If your code relies on `trait Debug` being implemented for every `impl Message`, you must now explicitly state that you require both Debug and Message. For example: `where M: Debug + Message`

- prost: Remove prost-derive feature (#1247)

BREAKING CHANGE: Feature flag `prost-derive` is renamed to `derive`. Please rename any usage of `prost-derive` feature in your `Cargo.toml`.

- prost-build: Emit `rerun` commands (#1140)

BREAKING CHANGE: Previously `cargo` assumed it had to rerun `build.rs` if any files in the project changed. `prost-build` will now emit `rerun` commands, which means only the explicitly marked files cause a rerun. If your `build.rs` is dependent on any other file paths than those given to `prost-build`, then your `build.rs` needs to emit `rerun` commands as well.

- prost-build: Prevent repeated fields to be boxed (#1237)

BREAKING CHANGE: A repeated field that is manually marked as boxed was typed as `Vec<Box<T>>`. Those fields are now simply typed as `Vec<T>` to prevent double indirection. The `boxed` configuration is effectively ignored for repeated fields.

- prost-build: Make `type_name_domain` cumulative (#1228)

BREAKING CHANGE: The configuration for domain names of messages is now cumulative. All calls to `prost_build::Config::type_name_domain` are now concatenated. The previous behavior was that only the arguments of the last call were used. If you do multiple calls to type_name_domain, you need to remove all but the last call to maintain the same behavior.

- prost-build: Derive Eq and Hash trait for messages where possible (#1175)

BREAKING CHANGE: `prost-build` will automatically derive `trait Eq` and `trait Hash` for types where all field support those as well. If you manually `impl Eq` and/or `impl Hash` for generated types, then you need to remove the manual implementation. If you use `type_attribute` to `derive(Eq)` and/or `derive(Hash)`, then you need to remove those.

## Features

- prost-types: Implement conversion `Duration` to/from `chrono::TimeDelta` (#1236)
- prost-build: Prepare for 2024 keyword `gen` (#1257)

## Dependencies

- *(deps)* Update pulldown-cmark to 0.13 (#1259)
- *(deps)* update criterion requirement from 0.5 to 0.6 (#1280)

## Documentation

- Update dead link LICENSE in `prost-types/README.md` (#1262)

## Styling
- Use DoubleEndedIterator::next_back (#1255)
- Fix typo (#1260)

## Testing

- Run tests using edition 2024 (#1254)
- Run clippy with edition 2024 enabled (#1256)

# Prost version 0.13.5

_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.
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ members = [
resolver = "2"

[workspace.package]
version = "0.13.5"
version = "0.14.0"
authors = [
"Dan Burkert <[email protected]>",
"Lucio Franco <[email protected]>",
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ First, add `prost` and its public dependencies to your `Cargo.toml`:

```ignore
[dependencies]
prost = "0.13"
prost = "0.14"
# Only necessary if using Protobuf well-known types:
prost-types = "0.13"
prost-types = "0.14"
```

The recommended way to add `.proto` compilation to a Cargo project is to use the
Expand Down Expand Up @@ -380,9 +380,9 @@ the `std` features in `prost` and `prost-types`:

```ignore
[dependencies]
prost = { version = "0.13.5", default-features = false, features = ["derive"] }
prost = { version = "0.14.0", default-features = false, features = ["derive"] }
# Only necessary if using Protobuf well-known types:
prost-types = { version = "0.13.5", default-features = false }
prost-types = { version = "0.14.0", default-features = false }
```

Additionally, configure `prost-build` to output `BTreeMap`s instead of `HashMap`s
Expand Down
4 changes: 2 additions & 2 deletions prost-build/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ itertools = { version = ">=0.10, <=0.14", default-features = false, features = [
log = "0.4.4"
multimap = { version = ">=0.8, <=0.10", default-features = false }
petgraph = { version = ">=0.6, <=0.7", default-features = false }
prost = { version = "0.13.5", path = "../prost", default-features = false }
prost-types = { version = "0.13.5", path = "../prost-types", default-features = false }
prost = { version = "0.14.0", path = "../prost", default-features = false }
prost-types = { version = "0.14.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"] }
Expand Down
2 changes: 1 addition & 1 deletion prost-build/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#![doc(html_root_url = "https://docs.rs/prost-build/0.13.5")]
#![doc(html_root_url = "https://docs.rs/prost-build/0.14.0")]
#![allow(clippy::option_as_ref_deref, clippy::format_push_string)]

//! `prost-build` compiles `.proto` files into Rust.
Expand Down
2 changes: 1 addition & 1 deletion prost-derive/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#![doc(html_root_url = "https://docs.rs/prost-derive/0.13.5")]
#![doc(html_root_url = "https://docs.rs/prost-derive/0.14.0")]
// The `quote!` macro requires deep recursion.
#![recursion_limit = "4096"]

Expand Down
2 changes: 1 addition & 1 deletion prost-types/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ std = ["prost/std"]
arbitrary = ["dep:arbitrary"]

[dependencies]
prost = { version = "0.13.5", path = "../prost", default-features = false, features = ["derive"] }
prost = { version = "0.14.0", path = "../prost", default-features = false, features = ["derive"] }
arbitrary = { version = "1.4", features = ["derive"], optional = true }
chrono = { version = "0.4.34", default-features = false, optional = true }

Expand Down
2 changes: 1 addition & 1 deletion prost-types/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#![doc(html_root_url = "https://docs.rs/prost-types/0.13.5")]
#![doc(html_root_url = "https://docs.rs/prost-types/0.14.0")]

//! Protocol Buffers well-known types.
//!
Expand Down
2 changes: 1 addition & 1 deletion prost/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ std = []

[dependencies]
bytes = { version = "1", default-features = false }
prost-derive = { version = "0.13.5", path = "../prost-derive", optional = true }
prost-derive = { version = "0.14.0", path = "../prost-derive", optional = true }

[dev-dependencies]
criterion = { version = "0.6", default-features = false }
Expand Down
8 changes: 4 additions & 4 deletions prost/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ First, add `prost` and its public dependencies to your `Cargo.toml`:

```ignore
[dependencies]
prost = "0.13"
prost = "0.14"
# Only necessary if using Protobuf well-known types:
prost-types = "0.13"
prost-types = "0.14"
```

The recommended way to add `.proto` compilation to a Cargo project is to use the
Expand Down Expand Up @@ -380,9 +380,9 @@ the `std` features in `prost` and `prost-types`:

```ignore
[dependencies]
prost = { version = "0.13.5", default-features = false, features = ["derive"] }
prost = { version = "0.14.0", default-features = false, features = ["derive"] }
# Only necessary if using Protobuf well-known types:
prost-types = { version = "0.13.5", default-features = false }
prost-types = { version = "0.14.0", default-features = false }
```

Additionally, configure `prost-build` to output `BTreeMap`s instead of `HashMap`s
Expand Down
2 changes: 1 addition & 1 deletion prost/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#![doc(html_root_url = "https://docs.rs/prost/0.13.5")]
#![doc(html_root_url = "https://docs.rs/prost/0.14.0")]
#![cfg_attr(not(feature = "std"), no_std)]
#![doc = include_str!("../README.md")]

Expand Down
Loading