Skip to content

Latest commit

 

History

History
335 lines (207 loc) · 21.8 KB

CHANGELOG.md

File metadata and controls

335 lines (207 loc) · 21.8 KB

Changelog

3.2.1

  • Enable drivers to be installed concurrently. Previously, an attempt to install a driver would fail if the existing driver was running. (4438f40 and 231974a)
  • Fix capitalization in help messages (5a44c22)

3.2.0

  • Upgrade compiletest_rs to version 0.11 in dylint_testing (145623a)
  • Add documentation on the example libraries' use of dylint_linting's constituent feature (9625952)
  • Add documentation on suppressing rustc's unexpected_cfg lint warnings (#1243 and #1252)
  • FEATURE: Allow patterns to be arrays when specifying workspace metadata entries (#1273)
  • Upgrade cargo to version 0.81 (#1280)
  • Add #![feature(rustc_private)] to dylint_driver's main.rs. This fixes a bug caused by rust-lang/rust#122362. (b691069)
  • Enable Dylint to use Cargo's checkouts directories concurrently. Previously, such concurrent use could cause Dylint to produce errors. (cb6299a)
  • FEATURE: In dylint_testing, ui_test and Test::src_base now accept an impl AsRef<Path> as opposed to a &Path (be85b10)

3.1.2

  • Extend rather than overwrite RUSTFLAGS when building drivers (7662d4c)

3.1.1

  • Update env_logger to version 0.11 in dylint_driver and dylint_testing (#1200)
  • Prepend the toolchain bin directory to PATH on Windows (i.e., account for rust-lang/rustup#3703) (c222181)

3.1.0

  • FEATURE: Allow library packages to be specified in a dylint.toml file instead of a Cargo.toml file. The syntax is exactly the same. Thus, users wishing to switch can simply cut-and-paste the [workspace.metadata.dylint.libraries] declaration from their Cargo.toml file into a dylint.toml file. (#1143 and #1151)

3.0.1

3.0.0

  • Rename option --path to --lib-path. For the time being, --path will continue to work as before when used to refer to a file as opposed to a directory. (e52da02)
  • FEATURE: Add options --git and --path to allow naming library packages on the command line (883e521)
  • BREAKING CHANGE: Make metadata no longer a default dylint package feature (#1052) (see also renaming of metadata below)
  • BREAKING CHANGE: No longer pass -D warnings to rustc by default in dylint_testing. To retain the previous behavior, enable the deny_warnings feature. (#1053)
  • BREAKING CHANGE: Rename the following package features (42cb7a2):
    • cargo-dylint package: metadata-cargo -> cargo-lib (download library packages using cargo as a library)
    • cargo-dylint package: metadata-cli -> cargo-cli (download library packages using the cargo executable)
    • dylint package: metadata -> library_packages (enable library-package-related functionality, e.g., building them)
  • BREAKING CHANGE: Remove the following deprecated options and their associated Dylint struct fields (7fd2c4d):
    • --allow-downgrade (now part of the upgrade subcommand)
    • --bisect (experimental and no longer deemed necessary)
    • --force (renamed to --allow-downgrade)
    • --isolate (now part of the new subcommand)
    • --list (replaced with the list subcommand)
    • --new (replaced with the new subcommand)
    • --rust-version (now part of the upgrade subcommand)
    • --upgrade (replaced with the upgrade subcommand)
  • Update cargo-dylint MSRV to 1.74 (965ebf5)
  • Eliminate reliance on sedregex (#1079)
  • Make cargo-cli the default method for building library packages (01aa9ba)

2.6.1

  • Fix two bugs (#1014 and #1021) related to how warnings are displayed (#1025)

2.6.0

2.5.0

  • Allow the list subcommand to accept --manifest-path options (#951)

2.4.4

2.4.3

  • #858 made curl-sys a non-optional dependency of the dylint package. This had unintended side effects, e.g., causing all of the example lints to transitively depend on curl-sys. #867 corrects the situation. (#867)
  • Ensure that consecutive uses of --lib produce the correct output, i.e., are not improperly cached (#866)—thanks @EFanZh for the bug report

2.4.2

2.4.1

  • Update dependencies, including cargo to version 0.73.1 (#847)

2.4.0

  • Update cargo-dylint and dylint MSRVs (d42a7a0)
  • Specify MSRV policy (#835)
  • Make cargo dylint update work when clippy_utils is a workspace dependency, as opposed to just when it is a package dependency (bugfix) (36d94ed)
  • Don't canonicalize paths passed to Cargo in dylint_linting (bugfix) (d6b0356)

2.3.0

2.2.0

  • Add constituent feature to facilitate building a lint by itself, or as part of a larger library (#790 and #812)
  • When building metadata entries, ignore subdirectories that do not contain packages rather than generate errors (#809)
  • Add --no-deps option (#808)—thanks @EFanZh for the suggestion
  • Rerun lints when workspace metadata changes (#813)—thanks @maxammann for the bug report

2.1.12

  • Update cargo to version 0.72.1 (#786)

2.1.11

2.1.10

2.1.9

2.1.8

  • Allow libraries to use thread local storage (3db9dda)
  • Treat unknown workspace metadata keys as errors (95b4bbc)
  • Fix a bug causing false "invalid pattern" errors on Windows (49e0353)
  • Don't treat unbuilt libraries as errors when listing libraries (75190fb)

2.1.7

  • Update dependencies, including openssl to version 0.10.48 (#652)

2.1.6

  • Enable backtraces for stable builds (#630)
  • Dylint now builds libraries only when they are needed to run. For example, cargo dylint --lib foo builds just library foo, whereas it used to build all available libraries. (#633)

2.1.5

  • Use home crate to determine CARGO_HOME (#604)
  • When dylint.toml cannot be parsed, show reason why (d6f9d5f)
  • Update tempfile to version 3.4.0 (#624)

2.1.4

2.1.3

  • Set rust-analyzer's rustc_private=true in dylint_linting package metadata (#543)

2.1.2

2.1.1

  • Fix a bug that would cause dylint_linting::init_config to fail when run on a build.rs file in the workspace root (#503)

2.1.0

  • Allow libraries to be configured via a dylint.toml file in a workspace's root directory (#484 and #496)—thanks @shepmaster for the suggestion

2.0.14

2.0.13

2.0.12

  • Strip current directory when listing libraries (7268b0a)
  • Switch to subcommands (4b240bc)
  • Clone with CLI by default (#434)
  • Upgrade library packages using toml_edit (#436)
  • Ensure dylint_driver_manifest_dir.rs is truncated in dylint/build.rs (524850b)

2.0.11

  • Fix bug related to package cache locking (#421)

2.0.10

  • Allow installation with --debug (6b6e34e)
  • Fix missing RUSTUP_TOOLCHAIN environment variable bug affecting Windows (f5cb5b7)
  • Update library package template (e59ac2f)
  • Sort not found libraries (79a7171)
  • Retry failing git clones (#395)
  • Update template (#396)

2.0.9

  • Make driver work with latest nightly (#381)
  • Fix bug in how driver ordered arguments passed to rustc (#385)

2.0.8

  • Clear RUSTC environment variable when building metadata entries and when running cargo check/fix (#379)

2.0.7

  • Report all not found libraries, not just the first one (#350)
  • No longer use dylint-template to create new libraries (#355)

2.0.6

  • If target triple cannot be determined from toolchain, default to host triple (ff4a069)
  • Relax restriction that library be in its own workspace (167ce9e)
  • Ensure library filename uses snake case (54f3fb6)

2.0.5

  • Fix a bug that was causing rustfix to not work with example tests (#341)

2.0.4

  • Respect linker setting in $CARGO_HOME/config.toml (#339)

2.0.3

2.0.2

  • Make --new work with new macros (#298)

2.0.1

  • Add macros declare_late_lint!, etc. to dylint_linting. The new macros make it easier to write libraries containing just one lint (the current common case). (#284)
  • Don't iterate over name_toolchain_map to list lints (1ad7da7)

2.0.0

  • Use correct crate names (b728be3)
  • Adjust message displayed when examples are rebuilt (e7ae412)
  • BREAKING CHANGE: Build name_toolchain_map on first use. For example, if all libraries are specified with --path, then there is no need to build the target's metadata entries. The name_toolchain_map is technically part of Dylint's public API. Hence, this is a breaking change. (#250)

1.0.14

  • Add test "builder" to dylint_testing (#222 and #237)
  • Determine clippy_utils versions using commit history rather than git tags (#236)
  • Ensure package cache is locked (#247)
  • Verify build succeeded before considering bisect successful (#246)
  • Eliminate redundant builds when using dylint_testing (#216)

1.0.13

  • Hide cargo-bisect-rustc's progress bars when --quiet is passed or when not on a tty (#214)

1.0.12

  • If an --upgrade would result in a downgrade, and --bisect is passed, the downgrade is skipped and the bisect proceeds instead of producing an error. (#183)
  • Be more explicit about what cargo is doing (#185)

1.0.11

  • Add experimental --bisect option (#170)

1.0.10

  • Add --fix option (#153)
  • Prevent --upgrade from downgrading toolchain (#164)
  • Expand circumstances under which drivers are rebuilt (#165)

1.0.9

  • Update clap dependency (#152)

1.0.8

  • Separate compilation artifacts by toolchain (28f3691)
  • Add --keep-going option (bbf0a3c)

1.0.7

  • Update clap dependency (#104)

1.0.6

  • Add --new and --upgrade options (#92)
  • Improve error messages (#103)

1.0.5

  • Improve build times when testing libraries (e5ce5b9) and when linting using workspace metadata (7204bce)

1.0.4

  • Better handling of target directories (#77)
  • Hide dylint_version() in docs (#78)—thanks @MinerSebas

1.0.3

  • Update clap dependency (#65)

1.0.2

  • Link Dylint drivers using absolute paths (fixes #54)
  • Windows support (thanks to @MinerSebas)

1.0.1

1.0.0

  • Add support for workspace metadata
  • BREAKING CHANGE: No longer search target/debug and target/release for libraries

0.1.3

  • Add ui_test_example and ui_test_examples (#20)

0.1.2

  • Use rust-toolchain to build drivers (c28639ee)

0.1.1

  • Fetch remote dylint_driver in dylint_testing by default (#15)

0.1.0

  • Initial release