Overcommit v0.24.0 Release Notes
-
๐ New Features
- Add
required_library
/required_libraries
hook option which specifies a list of paths a hook should load withKernel.require
before running - โ Add
JsLint
pre-commit hook that checks the style of JavaScript files with JSLint - โ Add
RubyLint
pre-commit hook that statically analyzes Ruby files with ruby-lint - โ Add
Jsl
pre-commit hook that checks the style of JavaScript files with JavaScript Lint - โ Add
CapitalizedSubject
commit message hook - โ Add
GoVet
pre-commit hook that examines Go source files with vet - โ Add
XmlSyntax
pre-commit hook to check that XML files are valid - โ Add
CaseConflicts
pre-commit hook which checks for file names in the same directory which differ by letter casing - Preserve existing git hooks in a repository when installing Overcommit hooks, and restore them on uninstall
- โ Add
RSpec
pre-push hook that runs RSpec tests before pushing to remote - โ Add
ProtectedBranches
pre-push hook that prevents destructive pushes (deletions or force pushes) to specified branches - โ Add
SpellCheck
commit-msg hook to check commit messages for misspelled words - โ Add support for
pre-rebase
hooks - โ Add
SubmoduleStatus
post-checkout
,post-commit
,post-merge
, andpost-rewrite
hooks that warn when submodules are uninitialized, out of date with the current index, or contain merge conflicts
๐ Changes
- 0๏ธโฃ Disable
ShellCheck
pre-commit hook by default - ๐ Switch
ImageOptim
hook to use executable instead of Ruby API - ๐ Improve
CoffeeLint
pre-commit hook to differentiate between errors and warnings - ๐ Improve
GoLint
pre-commit hook to extract file and line information - ๐ Change configuration loading behavior to prefer user-defined
ALL
hook configuration over defaultALL
configuration, and user-defined hook configuration over defaultALL
configuration - ๐ Change hook summary message to mention warnings if there were any
- 0๏ธโฃ Disable almost all hooks by default. You will now need to explicitly enable
almost all hooks yourself in your
.overcommit.yml
. If you are migrating fromovercommit
0.23.0 and want to use the default configuration that shipped with that version, copy the default configuration from 0.23.0 - โก๏ธ Update
ScssLint
pre-commit hook to properly handle special exit code that signals all files were filtered by exclusions (new as ofscss-lint
0.36.0) - โก๏ธ Update
childprocess
dependency to minimum 0.5.6 - Change default value for
problem_on_unmodified_line
fromwarn
toreport
- โก๏ธ Update
Rubocop
pre-commit hook to pass--display-cop-names
flag so cop names appear in output - โฌ๏ธ Drop support for returning
:good
/:bad
results from hooks (was deprecated in 0.15.0) - โ Remove
PryBinding
pre-commit hook since its functionality is provided by theRubocop
pre-commit hook
๐ Bug Fixes
- ๐ Fix
LocalPathsInGemfile
to not report lints for commented paths - ๐ Fix
CssLint
pre-commit hook to ignore blank lines incsslint
output - ๐ Fix error instructions typo in
BundleCheck
pre-commit hook - ๐ Fix bug where stashed changes were not restored when plugin signature validation failed
- Don't clear working tree after pre-commit hook when only submodule changes are present
- โช Restore file modification times of unstaged files in addition to staged files in pre-commit hook runs
- Add