cargo cargo-semver-checks 0.28.0
v0.28.0

latest releases: 0.50.0, 0.49.0, 0.48.0...
2 years ago
banner

What's Changed

New lints, new functionality, UX improvements, and an awesome new logo courtesy of NUMI!

Performance
Now running lints in parallel using rayon (#625), for a ~3-4x speedup in lint execution time (i.e. not counting rustdoc generation and parsing time, which still dominate).

  • In my measurements, the wall-clock time gains here are on the order of 12s (16s -> 4s) on the biggest crate I know of (aws-sdk-ec2, 240k+ items), and ~1s on most crates of more reasonable size.
  • Also added a better breakdown of where time is actually spent, between generating rustdoc, parsing the JSON, and running lints: #630
  • The parallelization and the time breakdown improvements were both contributed by @jw013 🎉

New lints

New functionality
Support for custom build.target cargo configurations, contributed by @Nemo157: #619

It also supports setting an explicit cargo build target via our new --build-target CLI flag.

Bugfixes
Bugfix for an unusual situation where having RUSTFLAGS="-Dwarnings" would prevent rustdoc JSON from being built in case a dependency of the crate we're checking had warnings.

This would sometimes happen with the actions-rust-lang/setup-rust-toolchain GitHub Action, which sets RUSTFLAGS="-Dwarnings" by default.

All Merged PRs

  • Add table of contents to FAQ and add a few more questions and answers. by @obi1kenobi in #618
  • Add Rust 1.74 to the test matrix. by @obi1kenobi in #623
  • Add test crate to test async fn and impl Future by @jw013 in #622
  • update repr-related reference links by @fprasx in #626
  • implement enum_repr_transparent_removed lint by @fprasx in #627
  • Add timing output for rustdoc and crate total by @jw013 in #630
  • Parallel lints by @jw013 in #625
  • cargo update to enable querying Union types' information. by @obi1kenobi in #631
  • Weekly cargo update of dependencies by @obi1kenobi in #636
  • New Logo by @agreea in #628
  • Add separate issue templates for false-positive and false-negatives. by @obi1kenobi in #639
  • Mention our lint wishlist issue in the false-negative issue template. by @obi1kenobi in #640
  • Update schema link in CONTRIBUTING.md by @obi1kenobi in #641
  • Weekly cargo update of dependencies by @obi1kenobi in #642
  • Detect when build.target is configured, and allow overriding it from the command line by @Nemo157 in #619
  • Fix occasional failure to generate rustdoc when RUSTFLAGS="-Dwarnings". by @obi1kenobi in #643
  • Manually update dependencies before publishing new release. by @obi1kenobi in #644
  • Release v0.28.0. by @obi1kenobi in #645

New Contributors

Full Changelog: v0.27.0...v0.28.0

Don't miss a new cargo-semver-checks release

NewReleases is sending notifications on new releases.