Dotenv Linter Versions Save

⚑️Lightning-fast linter for .env files. Written in Rust πŸ¦€

v3.3.0

1 year ago

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 with dtolnay/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 of Box::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

  • Add tests to verify cli application #490 (@mgrachev)

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

2 years ago

πŸš€ 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> in LineEntry #448 (@mgrachev)
  • Replace LineEntry with line number in Warning #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

2 years ago

πŸš€ Added

  • aarch64 support (mac, linux, win) #436 (@DDtKey)

πŸ”§ Changed

  • Fix clippy warnings #437 (@mgrachev)
  • Use enum instead of string for lint's identity #427 (@fabricio7p)
  • Get rid of the name field in checks and fixes structs #432 (@mgrachev)
  • Replace filter with unwrap on flatten #434 (@Fcukit)

v3.1.0

2 years ago

πŸš€ 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 with Into<String> in LineEntry::new #404 (@miDeb)
  • Replace String on Into<String> for all TestDir methods #397 (@ebobrow)
  • Use Rc<FileEntry> 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

3 years ago

πŸš€ 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

3 years ago

πŸš€ Added

  • Add .gitattributes to improve git 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

3 years ago

πŸš€ 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 to tests 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 to common 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

3 years ago

πŸš€ 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 of fs::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

3 years ago

πŸš€ 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 (add total_lines to FileEntry) #207 (@DDtKey)
  • Fix check (for several successive blank lines): ExtraBlankLine #208 (@evgeniy-r)
  • Replace PathBuf with FileEntry for LineEntry #203 (@mgrachev)
  • Replace &'static str with &'a str for LeadingCharacterChecker #200 (@rossjones)
  • Replace &'static str with &'a str for QuoteCharacterChecker #198 (@duncandean)
  • Replace &'static str with &'a str for EndingBlankLineChecker #197 (@rossjones)
  • Replace String with &'a str for UnorderedKeyChecker #196 (@k0va1)
  • Replace String with &'a str for SpaceCharacterChecker #195 (@k0va1)
  • Replace String with &'a str for LowercaseKeyChecker #194 (@tisorlawan)
  • Replace &'static str with &'a str for ExtraBlankLineChecker #193 (@vishalsodani)
  • Replace String with &'a str for DuplicatedKeyChecker #192 (@iamsaquib)
  • Replace String with &'a str for KeyWithoutValueChecker #177 (@mgrachev)
  • Fix docker image #160 (@mgrachev)
  • Replace &'static str with &'a str for IncorrectDelimiterChecker #191 (@DDtKey)

v1.2.0

4 years ago

πŸ”§ Changed

  • SpaceCharacter: Show check name in the message #149 (@pineapplethief)
  • LeadingCharacter: Show check name in message #144 (@michaetto)
  • Rename UnorderedKeys check to singular UnorderedKey #147 (@pineapplethief)
  • KeyWithoutValue: Show check name in the message #139 (@harshu4)
  • LowercaseKey: Show check name in the message #131 (@qelphybox)
  • DuplicatedKey: Show check name in message #138(@SaMuRa1ReM1X)
  • IncorrectDelimiter: Show check name in the message #146 (@undef1nd)
  • Replaced kcov with grcov in Github Actions #143 (@pmk21)
  • Streamline CLI tests and split into smaller files #137 (@sonro)
  • UnorderedKey: Added check name to the message #140 (@pmk21)
  • Add test coverage for CLI --exclude arguments #135 (@sonro)
  • Renamed check SpacesAroundEqual to SpaceCharacter #134 (@SaMuRa1ReM1X)
  • Rename check DuplicatedKeys to DuplicatedKey #133 (@sonro)
  • Minimizing Rust Binary Size #132 (@akirill0v)
  • Remove the unwrap method and use platform native OsString to fetch the information about current directory #115 (@kanapuli)
  • Use HashSet for DuplicateKeyChecker #113 (@TamasFlorin)
  • Use reference for the LineEntry as part of the run method for checks #111 (@TamasFlorin)
  • New CLI API: Ability to check multiple directories #99 (@mgrachev)
  • Add exit with the code 0 when there are no warnings #105 (@simPod)
  • Use get method to get result of item in Vec and use ? operator unwrap the result if it's Some #108 (@boybird)