Skip to content

v0.28.0

Compare
Choose a tag to compare
@github-actions github-actions released this 26 Jan 19:00
· 258 commits to main since this release
6c30d58
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