- 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)
- Upgrade
compiletest_rs
to version 0.11 indylint_testing
(145623a) - Add documentation on the example libraries' use of
dylint_linting
'sconstituent
feature (9625952) - Add documentation on suppressing rustc's
unexpected_cfg
lint warnings (#1243 and #1252) - FEATURE: Allow
pattern
s to be arrays when specifying workspace metadata entries (#1273) - Upgrade
cargo
to version 0.81 (#1280) - Add
#![feature(rustc_private)]
todylint_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
andTest::src_base
now accept animpl AsRef<Path>
as opposed to a&Path
(be85b10)
- Extend rather than overwrite
RUSTFLAGS
when building drivers (7662d4c)
- Update
env_logger
to version 0.11 indylint_driver
anddylint_testing
(#1200) - Prepend the toolchain
bin
directory toPATH
on Windows (i.e., account for rust-lang/rustup#3703) (c222181)
- 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)
- Address rust-lang/rust#122450 (9add993)
- 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 defaultdylint
package feature (#1052) (see also renaming ofmetadata
below) - BREAKING CHANGE: No longer pass
-D warnings
to rustc by default indylint_testing
. To retain the previous behavior, enable thedeny_warnings
feature. (#1053) - BREAKING CHANGE: Rename the following package features (42cb7a2):
cargo-dylint
package:metadata-cargo
->cargo-lib
(download library packages usingcargo
as a library)cargo-dylint
package:metadata-cli
->cargo-cli
(download library packages using thecargo
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 theupgrade
subcommand)--bisect
(experimental and no longer deemed necessary)--force
(renamed to--allow-downgrade
)--isolate
(now part of thenew
subcommand)--list
(replaced with thelist
subcommand)--new
(replaced with thenew
subcommand)--rust-version
(now part of theupgrade
subcommand)--upgrade
(replaced with theupgrade
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)
- Allow the
list
subcommand to accept--manifest-path
options (#951)
- Fix broken links in docs.rs documentation (0f04fcb)
- #858 made
curl-sys
a non-optional dependency of thedylint
package. This had unintended side effects, e.g., causing all of the example lints to transitively depend oncurl-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
- Work around curl/curl#11893 (#858)—thanks @tjade273 for the bug report
- Update dependencies, including
cargo
to version 0.73.1 (#847)
- Update
cargo-dylint
anddylint
MSRVs (d42a7a0) - Specify MSRV policy (#835)
- Make
cargo dylint update
work whenclippy_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)
- Add
--pipe-stderr
and--pipe-stdout
options (#822)—thanks @faculerena
- 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
- Update
cargo
to version 0.72.1 (#786)
- Address rust-lang/rust#112692 (f4094c8)
- Migrate away from
atty
(#736)
- Address rust-lang/rust#111748 (#699)
- Fix a bug causing
dylint_testing
to fail to determinerustc
flags on Windows (730696a) - Eliminate last reference to
syn
1.0 (#709)
- Address rust-lang/rust#111633 (#694)
- 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)
- Update dependencies, including
openssl
to version 0.10.48 (#652)
- 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 libraryfoo
, whereas it used to build all available libraries. (#633)
- Use
home
crate to determineCARGO_HOME
(#604) - When
dylint.toml
cannot be parsed, show reason why (d6f9d5f) - Update
tempfile
to version 3.4.0 (#624)
- Address rust-lang/rust#106810 (#590)
- Set rust-analyzer's
rustc_private=true
indylint_linting
package metadata (#543)
- Rerun
cargo check
when library code changes (6235e99) - Clear
RUSTFLAGS
when building workspace metadata entries (a5f0d4f) - Fix help messages (cc10586 and 9d60366)
- Fix rust-analyzer configuration in VS Code integration section of README (#540)—thanks @fcasal
- Fix a bug that would cause
dylint_linting::init_config
to fail when run on a build.rs file in the workspace root (#503)
- Allow libraries to be configured via a
dylint.toml
file in a workspace's root directory (#484 and #496)—thanks @shepmaster for the suggestion
- Prevent patterns from escaping dependency directories (#486)—thanks @shepmaster for the bug report
- Support rust-lang/rust#101501 in
dylint_linting
(06bdab3) - Update library package template (f119c03 and 256aa92)
- 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)
- Fix bug related to package cache locking (#421)
- 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 clone
s (#395) - Update template (#396)
- Make driver work with latest nightly (#381)
- Fix bug in how driver ordered arguments passed to rustc (#385)
- Clear
RUSTC
environment variable when building metadata entries and when runningcargo check
/fix
(#379)
- Report all not found libraries, not just the first one (#350)
- No longer use
dylint-template
to create new libraries (#355)
- 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)
- Fix a bug that was causing
rustfix
to not work with example tests (#341)
- Respect
linker
setting in$CARGO_HOME/config.toml
(#339)
- Error when metadata entry names a nonexistent library (#317)
- Enable conditional compilation (#322)—idea due to @danielhenrymantilla (#28)
- Rename
--force
to--allow-downgrade
(#331 and #333)
- Make
--new
work with new macros (#298)
- Add macros
declare_late_lint!
, etc. todylint_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)
- 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. Thename_toolchain_map
is technically part of Dylint's public API. Hence, this is a breaking change. (#250)
- 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)
- Hide
cargo-bisect-rustc
's progress bars when--quiet
is passed or when not on a tty (#214)
- 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)
- Add experimental
--bisect
option (#170)
- Add
--fix
option (#153) - Prevent
--upgrade
from downgrading toolchain (#164) - Expand circumstances under which drivers are rebuilt (#165)
- Update clap dependency (#152)
- Update clap dependency (#104)
- Improve build times when testing libraries (e5ce5b9) and when linting using workspace metadata (7204bce)
- Better handling of target directories (#77)
- Hide
dylint_version()
in docs (#78)—thanks @MinerSebas
- Update clap dependency (#65)
- Link Dylint drivers using absolute paths (fixes #54)
- Windows support (thanks to @MinerSebas)
- Add support for workspace metadata
- BREAKING CHANGE: No longer search
target/debug
andtarget/release
for libraries
- Add
ui_test_example
andui_test_examples
(#20)
- Use rust-toolchain to build drivers (c28639ee)
- Fetch remote
dylint_driver
indylint_testing
by default (#15)
- Initial release