prost-build breaking changes
cargo13 curated breaking changes across major versions of prost-build. Use this as a migration checklist before bumping dependencies.
- v0.14.0 \u2192 v0.14.1breaking
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`
- v0.14.0 \u2192 v0.14.1breaking
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`.
- v0.14.0 \u2192 v0.14.1breaking
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.
- v0.14.0 \u2192 v0.14.1breaking
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.
- v0.14.0 \u2192 v0.14.1breaking
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.
- v0.13.5 \u2192 v0.14.0breaking
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`
- v0.13.5 \u2192 v0.14.0breaking
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`.
- v0.13.5 \u2192 v0.14.0breaking
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.
- v0.13.5 \u2192 v0.14.0breaking
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.
- v0.13.5 \u2192 v0.14.0breaking
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.
- v0.12.6 \u2192 v0.13.0breaking
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.
- v0.12.6 \u2192 v0.13.0breaking
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.
- v0.12.6 \u2192 v0.13.0breaking
Lightweight error value in TryFrom<i32> for enums (#1010) When a `impl TryFrom<i32>` 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.
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/breaking/cargo/prost-build