Releases: dotenv-linter/dotenv-linter
Releases · dotenv-linter/dotenv-linter
v4.0.0
Features
- New CLI API (#922, @mgrachev)
- Allow & and = in quoted values (#917, @aditya-raj-panjiyara)
- Add
--dry-run
option to fix subcommand (#772, @Dev380) - New schema based checker (#761, @pm100)
- Add "No difference found" message on successful compare (#648, @jklott)
- Allow setting
skip_updates
flag via environment variable (#625, @jackyef) - Add support for
DOTENV_LINTER_IGNORE_CHECKS
environment variable to skip checks (#623, @YeswanthRajakumar)
Fixes
CI
- Exclude installing v1 and v2 on macos (#834, @harryzcy)
- Use macos 13 and 14 as the OS (#833, @harryzcy)
- Fix benchmarks (#774, @mgrachev)
- Fix problem with installing linker (#674, @mgrachev)
- Get rid of
set-output
(#632, @DDtKey) - Check PR name instead of commits (#631, @mgrachev)
Miscellaneous Tasks
- Fix release script (#923, @mgrachev)
- Add pre commit hook (#878, @hbontempo-br)
- Rename
dotenv-linter
withdotenv-cli
(#905, @mgrachev) - Update edition (#904, @mgrachev)
- Rename
dotenv-lookup
withdotenv-finder
(#892, @mgrachev) - Fix clippy warnings (#880, @mgrachev)
- Update dependencies (#849, @mgrachev)
- Fix CI and warnings (#840, @mgrachev)
- Fix clippy warnings (#735, @mgrachev)
- Remove
stale
action (#680, @mgrachev) - Update
cargo-deny
config (#644, @mgrachev) - Get rid of
orhun/git-cliff-action
(#614, @mgrachev)
Refactor
- Create new crate
dotenv-analyzer
(#903, @mgrachev) - Create new crate
dotenv-core
(#902, @mgrachev) - Use Builder pattern (#900, @mgrachev)
- Create new crate
dotenv-schema
(#894, @mgrachev) - Change visibility of some functions (#893, @mgrachev)
- Remove
file_entry.rs
as not inluded in file tree (#657, @brahms116) - Move
cli/mod.rs
tocli.rs
(#656, @brahms116) - Divide code into 2 crates (#620, @mgrachev)
- Get rid of
list
command (#619, @mgrachev) - Don't display option
--skip-updates
if it's disabled (#617, @mgrachev)
Update dependencies
- Bump tempfile from 3.21.0 to 3.22.0 (#906)
- Bump clap from 4.5.43 to 4.5.47 (#901)
- Bump lycheeverse/lychee-action from 2.4.1 to 2.6.1 (#898)
- Bump regex from 1.11.1 to 1.11.2 (#897)
- Bump tempfile from 3.20.0 to 3.21.0 (#891)
- Bump serde_json from 1.0.142 to 1.0.143 (#890)
- Bump dprint/check from 2.2 to 2.3 (#883)
- Bump actions/checkout from 4 to 5 (#887)
- Bump tokio from 1.29.1 to 1.44.2 (#870)
- Bump Swatinem/rust-cache from 2.7.7 to 2.7.8 (#865)
- Bump ring from 0.17.8 to 0.17.14 (#882)
- Bump lycheeverse/lychee-action from 2.3.0 to 2.4.1 (#874)
- Update dependencies (#881)
- Bump clap from 4.5.28 to 4.5.29 (#851)
- Bump rustls from 0.21.2 to 0.21.12 (#850)
- Bump anstream from 0.6.7 to 0.6.15 (#847)
- Bump h2 from 0.3.24 to 0.3.26 (#771)
- Bump mio from 0.8.8 to 0.8.11 (#760)
- Bump clap from 4.4.18 to 4.5.3 (#767)
- Bump softprops/action-gh-release from 1 to 2 (#766)
- Bump tempfile from 3.9.0 to 3.10.1 (#755)
- Bump assert_cmd from 2.0.13 to 2.0.14 (#754)
- Bump codecov/codecov-action from 3 to 4 (#750)
- Bump lycheeverse/lychee-action from 1.9.2 to 1.9.3 (#748)
- Bump lycheeverse/lychee-action from 1.9.1 to 1.9.2 (#747)
- Bump h2 from 0.3.20 to 0.3.24 (#746)
- Bump clap from 4.4.17 to 4.4.18 (#745)
- Bump clap from 4.4.16 to 4.4.17 (#744)
- Bump Swatinem/rust-cache from 2.7.2 to 2.7.3 (#743)
- Bump assert_cmd from 2.0.12 to 2.0.13 (#741)
- Bump clap from 4.4.14 to 4.4.16 (#740)
- Bump Swatinem/rust-cache from 2.7.1 to 2.7.2 (#739)
- Bump lycheeverse/lychee-action from 1.9.0 to 1.9.1 (#738)
- Bump clap from 4.4.13 to 4.4.14 (#737)
- Bump lycheeverse/lychee-action from 1.8.0 to 1.9.0 (#736)
- Bump clap from 4.3.11 to 4.4.13 (#733)
- Bump tempfile from 3.8.0 to 3.9.0 (#732)
- Bump colored from 2.0.4 to 2.1.0 (#731)
- Bump Swatinem/rust-cache from 2.5.1 to 2.7.1 (#734)
- Bump rustix from 0.38.3 to 0.38.13 (#730)
- Bump webpki from 0.22.0 to 0.22.2 (#724)
- Bump docker/setup-qemu-action from 2 to 3 (#718)
- Bump docker/login-action from 2 to 3 (#717)
- Bump docker/setup-buildx-action from 2 to 3 (#716)
- Bump actions/checkout from 3 to 4 (#714)
- Bump rustls-webpki from 0.100.1 to 0.100.2 (#709)
- Bump tempfile from 3.6.0 to 3.8.0 (#707)
- Bump assert_cmd from 2.0.11 to 2.0.12 (#695)
- Bump Swatinem/rust-cache from 2.5.0 to 2.5.1 (#688)
- Bump
colored
andcriterion
(#691) - Bump update-informer from 1.0.0 to 1.1.0 (#685)
- Bump clap from 4.3.5 to 4.3.8 (#684)
- Bump clap from 4.3.4 to 4.3.5 (#683)
- Bump Swatinem/rust-cache from 2.4.0 to 2.5.0 (#682)
- Bump clap from 4.3.3 to 4.3.4 ([#681](https://github.com/dotenv-lint...
v3.3.0
Features
- Add check for values that require surrounding quotes #521 (@tabfugnic)
Fixes
- Check that tag is valid semver #556 (@zd4y)
- Don't remove quotes for values containing hash-sign #560 (@95jonpet)
CI
- Fix arm docker build #609 (@DDtKey)
- Replace
actions-rs/toolchain
withdtolnay/rust-toolchain
#573 (@mgrachev) - Add docker arm64 image #533 (@mgrachev, @mstruebing)
- Fix release builds #531 (@mgrachev)
- Add job to check release builds #529 (@mgrachev)
- Add dprint and lychee actions + ci optimization #503 (@mgrachev)
- Add
stale
action #483 (@mgrachev) - Fix release #465 (@mgrachev)
Documentation
- Add commit standard for the CONTRIBUTION file #561 (@SergioRibera)
- Update readme #543 (@mgrachev)
- Fix links in
CHANGELOG.md
#536 (@mgrachev)
Miscellaneous Tasks
- Use
Box::<T>::default()
instead ofBox::new(T::default())
#605 (@mgrachev) - Fix clippy warning #585 (@mgrachev)
- Generate a changelog and update release process #544 (@mgrachev)
- Update
criterion-compare
action #484 (@mgrachev) - Update
cargo-deny
config #481 (@mgrachev) - Fix clippy warnings #480 (@shapurid)
- Add dependabot #472 (@mgrachev)
Refactor
- Move CLI commands to separate functions #489 (@mgrachev)
- Check ci with all-targets arg #488 (@shapurid)
- Usage of fix and compare #486 (@shapurid)
- Skip_checks with use default iterator #482 (@shapurid)
Testing
Update dependencies
- Bump actions/stale from 6 to 7 #607
- Bump update-informer from 0.5.0 to 0.6.0 #603
- Bump wagoid/commitlint-github-action from 5.2.2 to 5.3.0 #595
- Bump Swatinem/rust-cache from 2.1.0 to 2.2.0 #588
- Bump lycheeverse/lychee-action from 1.5.3 to 1.5.4 #587
- Bump lycheeverse/lychee-action from 1.5.2 to 1.5.3 #586
- Bump Swatinem/rust-cache from 2.0.1 to 2.1.0 #582
- Bump lycheeverse/lychee-action from 1.5.1 to 1.5.2 #583
- Bump wagoid/commitlint-github-action from 5.2.0 to 5.2.2 #581
- Bump boa-dev/criterion-compare-action from 3.2.3 to 3.2.4 #580
- Bump assert_cmd from 2.0.4 to 2.0.5 #578
- Bump criterion from 0.3.6 to 0.4.0 #575
- Bump Swatinem/rust-cache from 2.0.0 to 2.0.1 #571
- Bump dunce from 1.0.2 to 1.0.3 #564
- Bump wagoid/commitlint-github-action from 5.0.2 to 5.2.0 #565
- Bump boa-dev/criterion-compare-action from 3.2.2 to 3.2.3 #570
- Bump actions/stale from 5 to 6 #552
- Bump lycheeverse/lychee-action from 1.5.0 to 1.5.1 #538
- Bump Swatinem/rust-cache from 1.4.0 to 2.0.0 #534
- Bump dprint/check from 2.0 to 2.1 #535
- Bump criterion from 0.3.5 to 0.3.6 #532
- Bump wagoid/commitlint-github-action from 5.0.1 to 5.0.2 #530
- Bump Swatinem/rust-cache from 1.3.0 to 1.4.0 #528
- Bump actions/cache from 3.0.2 to 3.0.4 #522
- Bump boa-dev/criterion-compare-action from 3.2.1 to 3.2.2 #518
- Bump regex from 1.5.4 to 1.5.6 #520
- Bump crossbeam-utils from 0.8.5 to 0.8.8 #519
- Bump wagoid/commitlint-github-action from 4.1.11 to 5.0.1 #527
- Bump boa-dev/criterion-compare-action from 3.2.0 to 3.2.1 #509
- Bump clap from 3.1.9 to 3.1.10 #506
- Bump clap from 3.1.8 to 3.1.9 #505
- Bump actions/stale from 4 to 5 #502
- Bump actions/cache from 3.0.1 to 3.0.2 #501
- Bump codecov/codecov-action from 2.1.0 to 3 #499
- Bump wagoid/commitlint-github-action from 4.1.10 to 4.1.11 #500
- Bump clap from 3.1.6 to 3.1.8 #497
- Bump wagoid/commitlint-github-action from 4.1.9 to 4.1.10 #495
- Bump actions/cache from 3.0.0 to 3.0.1 #494
- Update dependency
update-informer
#493 - Bump actions/cache from 2 to 3.0.0 #491
- Update
clap
#485 - Bump wagoid/commitlint-github-action from 2 to 4.1.9 #473
- Bump actions/checkout from 1 to 3 #474
- Bump codecov/codecov-action from 1 to 2.1.0 #475
- Bump tempfile from 3.2.0 to 3.3.0 #478
- Bump assert_cmd from 2.0.2 to 2.0.4 #479
- Bump update-informer from 0.3.0 to 0.4.0 #477
- Update dependency
update-informer
#470
v3.2.0
🚀 Added
- Add check for new version #454 (@mgrachev)
- Support of double-quoted multiline values #453 (@DDtKey)
- Support of single-quoted multiline values #450 (@DDtKey)
🔧 Changed
- Update
cargo-deny
config #459 (@mgrachev) - Update docker build #456 (@mgrachev)
- Update dependencies #455 (@mgrachev)
- Use derive (default) instead of impl #452 (@mgrachev)
- Get rid of
Rc<FileEntry>
inLineEntry
#448 (@mgrachev) - Replace
LineEntry
with line number inWarning
#447 (@mgrachev) - Tidy up imports #446 (@mgrachev)
- Add type alias for
Result
#445 (@mgrachev) - Change edition to 2021 #444 (@mgrachev)
- Display a message on installation error #443 (@mgrachev)
- Fix falling on checking multi-line values #462 (@DDtKey)
- Detect multi-line values if they contain a
=
sign #463 (@DDtKey)
v3.1.1
v3.1.0
🚀 Added
- Add fixer: Substitution Key #428 (@DDtKey)
- Refactor check unit tests #421 (@mc1098)
- Add missing integration tests #420 (@gosolivs)
- Add checker: Substitution Key #414 (@de-sh)
- Print a message if the amount of checks doesn't match the amount of fixes #415 (@marcel-baur)
- Print a message "Nothing to compare" #398 (@jakecorrenti)
- Add action-hadolint #400 (@iovanom)
- Add method to get substitution keys to LineEntry #391 (@zotho)
- Added a Fix Benchmark #399 (@a4blue)
- Add benchmark for the compare function #395 (@FrancisMurillo)
- Print a message when there are no input files for fix subcommand #394 (@mdycz)
- Print a message when there are no input files #392 (@jodli)
- Add a GitHub Action to compare benchmarks #378 (@mgrachev)
- Add benchmark for the check function #376 (@mgrachev)
🔧 Changed
- Refactor hard-coded mandatory fixer #413 (@akhtariev)
- Don't fix key order for substitution variables #406 (@stygian-coffee)
- Allow unordered keys for substitution variables #401 (@Ru5ty0ne)
- Replace
String
withInto<String>
inLineEntry::new
#404 (@miDeb) - Replace String on Into for all TestDir methods #397 (@ebobrow)
- Use Rc internally to reduce memory consumption #393 (@Tom01098)
- Use actions-rs/clippy-check to run clippy #375 (@mgrachev)
- Remove
Result
from the return type #374 (@DDtKey) - Add
.bak
extension to backup files and don't lint backup files #367 (@mstruebing) - Add
.env
explanation #363 (@henryboisdequin) - Contemplate variables containing $ character #418 (@JuanMarchetto)
v3.0.0
🚀 Added
- Add
compare
-command #282 (@mstruebing) - Add colored output feature and
--no-color
flag to disable colors #307 (@Nikhil0487) - Display linted files when run #311 (@Anthuang)
- Add export prefix support #340 (@skonik)
- Add colored output for compare command #356 (@mgrachev)
🔧 Changed
- Refactoring to get rid of unnecessary heap allocations and some improvements in API ergonomics #350 (@vbrandl)
- Add benchmark to README #351 (@mgrachev)
- Fix QuoteCharacterChecker to not raise warning when quote characters are used for values with whitespaces #349 (@sebastiantoh)
- Find all problems on the first run for
KeyWithoutValue
#348 (@vbrandl) - Add commitlint action #347 (@mgrachev)
- Add cargo-deny action #346 (@mgrachev)
- Remade flags to subcommands #342 (@mgrachev)
- Changed behavior of QuoteCharacterChecker for multiline values support #341 (@artem-russkikh)
- Make an output on-the-fly #336 (@DDtKey)
v2.2.1
🚀 Added
- Add
.gitattributes
to improvegit diff
#330 (@DDtKey) - Add action-yamllint #317 (@vk26)
- Add default exclude list #324 (@ametalon)
🔧 Changed
- Fix bug where symlinks would cycle in recursive mode #328 (@sonro)
- Fix linter rechecking files if they were listed more than once #327 (@Aashu23)
- Added docker build step to the CI pipeline #322 (@JoeAmedeo)
- Change soon deprecated
set-env
action #320 (@marcodenisi) - Fix docker release #319 (@mgrachev)
v2.2.0
🚀 Added
- Add integration test for autofix #309 (@evgeniy-r)
- Add action-misspell #304 (@PurpleMyst)
- Add action-shellcheck #303 (@amd-9)
- Add fixer: UnorderedKeyFixer #261 (@evgeniy-r)
- Add backup feature and
--no-backup
flag for fixers #272 (@baile320) - Add fixer: ExtraBlankLineFixer #260 (@diggymo)
- Add fixer: DuplicatedKeyFixer #270 (@utter-step)
- Add fixer: LeadingCharacter #259 (@baile320)
- Add fixer: IncorrectDelimiter #258 (@gillespiecd)
- Add support of comments to disable checks #239 (@mgrachev)
- Add autofix for EndingBlankLine #263 (@baile320)
- Add test for two keys that only differ in case #269 (@yanakad)
- Add autofix for TrailingWhitespace #255 (@gregcline)
- Add fixer: KeyWithoutValueFixer #254 (@unexge)
- Add fixer: QuoteCharacterFixer #257 (@lensvol)
- Add fixer: SpaceCharacterFixer #253 (@DDtKey)
- Add total problems to output and
--quiet
argument #242 (@wesleimp, @mgrachev) - Add autofix feature (for LowercaseKey check) #228 (@evgeniy-r)
- Add installation CI test for Windows (via
install.sh
) #235 (@DDtKey)
🔧 Changed
- Update docs #315 (@mgrachev)
- Remove
CARGO_TERM_COLOR
from the shellcheck workflow #313 (@musikid) - Add
check_output
helper function for integration tests #305 (@Anthuang) - Add an additional test for
LineEntry.get_value
#306 (@vvkpd) - Update args help #299 (@mgrachev)
- Move
remove_invalid_leading_chars_test
totests
module #298 (@mgrachev) - Add command to install latest version via
Homebrew
#297 (@mgrachev) - Add
CARGO_TERM_COLOR
env variable to the actions #296 (@skippednote) - Remove code related to "Fixed/Unfixed warnings" #289 (@mgrachev)
- Refactoring integration tests #288 (@mgrachev)
- Fix a bug with fixers spawning new warnings #287 (@evgeniy-r)
- Fix a bug with
UnorderedKeyChecker
and control comments #283 (@mgrachev) - Change the line grouping for the
UnorderedKey
checker #281 (@evgeniy-r) - Fix a bug with
ExtraBlankLineFixer
and control comments #279 (@mgrachev) - Move logic for creating
LineEntry
for tests tocommon
module #280 (@mgrachev) - Simplify UnorderedKeyChecker #277 (@mgrachev)
- Partition fixed/unfixed warnings #275 (@gillespiecd)
- Add missing test for IncorrectDelimiterChecker #273 (@mgrachev)
- Add *.env to gitignore #271 (@baile320)
- Actions uses cache@v2 #262 (@gillespiecd)
- Update logic for IncorrectDelimiterCheck #267 (@baile320)
- Add tests for default implementation of Fix::fix_warnings #266 (@kilotaras)
- Modularize common.rs #264 (@gillespiecd)
v2.1.0
🚀 Added
- Add install.sh for provide more short way to install #220 (@DDtKey)
- Add flag to enable recursive search for
.env
files #223 (@DDtKey) - Add docs #226 (@wesleimp)
- Add Windows publishing to release workflow #211 (@DDtKey)
- Add support canonicalize path for Windows #213 (@DDtKey)
- Add build and test steps running on Windows #216 (@mgrachev)
🔧 Changed
- Add the field with a checker name to Warning #234 (@evgeniy-r)
- Remove
FileEntry::get_content_by_path
in favor offs::read_to_string
#233 (@mstruebing) - Move show-checks flag to main.rs #227 (@mgrachev)
- Fix
total_lines
in some tests #224 (@DDtKey) - Consider blank lines in
UnorderedKey
check #221 (@mgrachev) - Optimize integration tests #218 (@mgrachev)
v2.0.0
🚀 Added
- Add check: TrailingWhitespace #190 (@pineapplethief)
- Add an argument to show available checks #202 (@DDtKey)
- Add the ability to skip checks #178 (@mgrachev)
- Add check: ExtraBlankLine #180 (@evgeniy-r)
- Add check: EndingBlankLine #170 (@evgeniy-r)
- Add check: Quote characters #174 (@sourabhmarathe)
- Github Actions: Add caching in the CI workflow #163 (@evgeniy-r)
- Add GitHub Workflow for AUR publishing #161 (@mstruebing)
🔧 Changed
- Enable checks for outside current directory #209 (@tisorlawan)
- Refactor
EndingBlankLineChecker
: change last line check logic (addtotal_lines
toFileEntry
) #207 (@DDtKey) - Fix check (for several successive blank lines): ExtraBlankLine #208 (@evgeniy-r)
- Replace
PathBuf
withFileEntry
forLineEntry
#203 (@mgrachev) - Replace
&'static str
with&'a str
forLeadingCharacterChecker
#200 (@rossjones) - Replace
&'static str
with&'a str
forQuoteCharacterChecker
#198 (@duncandean) - Replace
&'static str
with&'a str
forEndingBlankLineChecker
#197 (@rossjones) - Replace
String
with&'a str
forUnorderedKeyChecker
#196 (@k0va1) - Replace
String
with&'a str
forSpaceCharacterChecker
#195 (@k0va1) - Replace
String
with&'a str
forLowercaseKeyChecker
#194 (@tisorlawan) - Replace
&'static str
with&'a str
forExtraBlankLineChecker
#193 (@vishalsodani) - Replace
String
with&'a str
forDuplicatedKeyChecker
#192 (@iamsaquib) - Replace
String
with&'a str
forKeyWithoutValueChecker
#177 (@mgrachev) - Fix docker image #160 (@mgrachev)
- Replace
&'static str
with&'a str
forIncorrectDelimiterChecker
#191 (@DDtKey)