cargo cargo-semver-checks 0.16.0
v0.16.0

latest releases: 0.50.0, 0.49.0, 0.48.0...
3 years ago

What's Changed

The v0.16.x series is the final set of releases to support the v16 rustdoc format, used by Rust 1.64.

Future versions of cargo-semver-checks will only be able to scan projects that can be built on Rust 1.65+. This will allow the addition of new semver lints based on data that rustdoc v16 does not include.

New lints:

  • enum_must_use_added
  • function_must_use_added
  • inherent_method_must_use_added
  • struct_must_use_added
  • trait_must_use_added
  • struct_with_pub_fields_changed_type
  • constructible_struct_changed_type

False positives fixed in existing lints:

  • struct_missing: #306

Other bugfixes:

  • Setting cargo's target-dir caused the generated rustdoc JSON files to overwrite each other, causing semver-issues to be missed. This caused #269 and #309, and was fixed in #270.

All Merged PRs

  • Add a field to the bug report form for config.toml information. by @obi1kenobi in #271
  • New lint: Struct #[must_use] added by @SmolSir in #279
  • New lint: Trait #[must_use] added by @SmolSir in #280
  • New lint: Function #[must_use] added by @SmolSir in #281
  • New lint: Enum #[must_use] added by @SmolSir in #278
  • Optimize the #[must_use] lint queries by improving filtering. by @obi1kenobi in #286
  • Nit: broken link by @bgeron in #289
  • Test crates should not be published, make them publish = false. by @obi1kenobi in #290
  • New lint: Inherent method #[must_use] added by @SmolSir in #283
  • New test crate: method moved to trait #[must_use] added by @SmolSir in #282
  • Non-constructible struct becoming an enum is not per se breaking. by @obi1kenobi in #299
  • Another tricky edge case for nonbreaking struct to enum conversions. by @obi1kenobi in #301
  • Only parse test rustdocs once, for ~2x test time speedup. by @obi1kenobi in #300
  • Fix struct_missing false-positive: only look for deleted structs. by @obi1kenobi in #306
  • Improve the test coverage for structs that change to enums. by @obi1kenobi in #307
  • Lint: constructible struct with no fields became an enum or union. by @obi1kenobi in #308
  • Update issue template to reference CARGO_ env vars. by @obi1kenobi in #310
  • Lint: struct with pub fields changed type to enum or union. by @obi1kenobi in #312
  • Fix rustdoc .json files overwriting each other by @staniewzki in #270
  • Release v0.16.0. by @obi1kenobi in #316

New Contributors

Full Changelog: v0.15.2...v0.16.0

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

NewReleases is sending notifications on new releases.