build!: update dependencies to latest - #23
Merged
Merged
Conversation
Upgrades every workspace dependency that had a newer release: * buffa, buffa-build, buffa-codegen 0.7 -> 0.8 * connectrpc 0.7 -> 0.8 * syn 2 -> 3 * ulid 1 -> 3 * cel 0.13 -> 0.14 * prettyplease 0.2 -> 0.3 buffa 0.9 is deliberately held back. connectrpc 0.8 still depends on buffa ^0.8, so taking 0.9 links two incompatible buffa versions into the same tree and breaks the default `connect` feature for downstream handlers: a user's buffa-0.9 message would not satisfy the bounds connectrpc writes against buffa 0.8's `Message` trait. This workspace moves to 0.9 once connectrpc does. buffa 0.8 switched generated map fields from `std::hash::RandomState` to its own foldhash hasher, so the conformance executor now builds into the response's own map field instead of naming `std::collections::HashMap`. Also lowers the declared `rust-version` from 1.95 to 1.88, the measured floor: 1.88 compiles and passes the full suite, 1.87 fails on let-chains in protovalidate-buffa-macros. Finally, rewrites the duration suffix chain in `cel::parse_duration` behind a `split_unit` helper. That block tripped clippy's `question_mark` lint, which has been failing CI on main independently of this upgrade. Claude-Session: https://claude.ai/code/session_013191mLJr4ZQxYX5qw2K5hn
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upgrades every workspace dependency that had a newer release.
Dependency bumps
buffa,buffa-build,buffa-codegenconnectrpcsynulidcelprettypleasePlus a
cargo updatepass on the lockfile.buffa 0.9 is deliberately held back
buffa0.9.1 is available, butconnectrpc0.8.1 still depends onbuffa ^0.8.1. Taking 0.9 links two incompatible buffa versions into the same tree. Our own crates still compile (connect.rsonly touchesConnectError), but the breakage lands on users:#[connect_impl]generates calls againstconnectrpc::ServiceRequest<'_, pb::Foo>, and apb::Foogenerated by buffa-build 0.9 does not satisfy bounds connectrpc wrote against buffa 0.8'sMessagetrait.Since
connectis a default feature, shipping that combination would hand downstream users a broken default. This workspace moves to buffa 0.9 once connectrpc does.Code changes from the upgrade
buffa 0.8 switched generated map fields from
std::hash::RandomStateto its own foldhash hasher. The conformance executor now builds into the response's own map field rather than namingstd::collections::HashMap, so it stays correct regardless of which hasher buffa picks:MSRV lowered to 1.88
Declared
rust-versionwas 1.95, but that was well above the real floor. Bisected against this dependency set:protovalidate-buffa-macrosLowered the declaration to 1.88 to match. Worth noting CI has no MSRV job, so nothing currently guards this — happy to add one if you want it enforced.
Unrelated fix riding along
cel::parse_duration's suffix chain tripped clippy'squestion_marklint and has been failing CI on main since before this branch (run 29374258619). Rewrote it behind asplit_unithelper so this PR can go green; suffix precedence is unchanged (ns/us/msstill win over bares).Docs
DescriptorPool/DynamicMessageunder itsreflectfeature. Reworded to what actually distinguishes it: static generated types over descriptor-driven dynamic messages.Verification
cargo clippy --workspace --all-targets -- -D warnings— cleancargo test --workspace --all-targets— 172 passed, 0 failedcargo tree -i buffa— resolves to a single version (0.8.1)cargo fmt --all -- --check— two pre-existing diffs inprotoc-gen-protovalidate-buffa/tests/untouched by this PR; they come from a local rustfmt version difference and CI's fmt job passes on themhttps://claude.ai/code/session_013191mLJr4ZQxYX5qw2K5hn