All Versions
94
Latest Version
Avg Release Cycle
57 days
Latest Release
-

Changelog History
Page 5

  • v0.29.0 Changes

    🔒 Important Security Fix

    • 🛠 Fix vulnerability where disabling signature verification would not be caught by signature verification, allowing an attacker to bypass the check. If you disable signature verification in your configuration, you must rename the option to verify_signatures and should audit your hooks.

    🆕 New Features

    • 👍 Allow nested arrays in include and exclude options so lists of file glob patterns can be shared across hook configurations via YAML references
    • ➕ Add NginxTest pre-commit hook that checks nginx configuration files with nginx -t
    • 🔧 Respect core.commentchar configuration when reading commit messages

    🔄 Changes

    • 🔌 Rename verify_plugin_signatures to verify_signatures

    🐛 Bug Fixes

    • 🛠 Fix Jscs pre-commit hook to handle the new jscs exit codes introduced as of 2.2.0
    • 🛠 Fix Scalastyle pre-commit hook to fail with non-zero exit statuses
  • v0.28.0 Changes

    • Ensure applicable_files hook helper returns files in lexicographic order
    • ➕ Add NpmInstall post-checkout, post-commit, post-merge, and post-rewrite hooks
    • ➕ Add PuppetLint pre-commit hook that checks Puppet code with puppet-lint
    • ➕ Add BowerInstall post-checkout, post-commit, post-merge, and post-rewrite hooks
    • ➕ Add BundleInstall post-checkout, post-commit, post-merge, and post-rewrite hooks
    • ➕ Add Sqlint pre-commit hook that checks SQL code with sqlint
    • ➕ Add Windows support
    • ➕ Add Hlint pre-commit hook that checks Haskell files with hlint
    • ➕ Add ExecutePermissions pre-commit hook that checks file mode for unnecessary execute permissions
  • v0.27.0 Changes

    🆕 New Features

    • ➕ Add HtmlHint pre-commit hook that checks HTML files with HTMLHint
    • ➕ Add support to the hook execute helper for accepting an optional list of splittable command arguments for transparently dealing with really long file lists and the operating system command length limit
    • ➕ Add modified_files helper to PostCheckout and PostRewrite hooks
    • ➕ Add rewritten_commits helper to PostRewrite hooks
    • ➕ Add gemfile option to configuration file which allows a Gemfile to be loaded by Bundler to enforce particular gem versions during hook runs
    • ➕ Add support for OVERCOMMIT_DEBUG environment variable which toggles the display of additional verbose output from executed commands
    • ➕ Add support for defining [hooks based on your existing git hooks](README.md#adding-existing-git-hooks) within your .overcommit.yml (no Ruby code required)
    • ➕ Add support for filtering all hooks except a small list via the ONLY environment variable (similar to SKIP except a whitelist instead of blacklist)

    🔄 Changes

    • Don't display "No applicable hook-type hooks to run" message unless debug mode is enabled

    🐛 Bug Fixes

    • 🛠 Fix pre-commit hook bug where amending a commit which breaks a symlink would result in that symlink not being included in the list of modified files
    • 🛠 Fix CaseConflicts pre-commit hook handling of large sets of files
    • 🛠 Fix SemiStandard/Standard hooks to read from STDOUT instead of STDERR and handle new output format
    • 🛠 Fix commit-msg hooks to handle large commit messages auto-generated by the --verbose flag for git commit
  • v0.26.0 Changes

    🆕 New Features

    • ➕ Add EmptyMessage commit-msg hook that reports commits messages that are empty or contain only whitespace
    • ➕ Add env hook configuration option that allows you to set values for environment variables during the course of a particular hook's run

    🐛 Bug Fixes

    • 🛠 Fix handling of paths with spaces in the name
    • 🛠 Fix CaseConflicts pre-commit hook to not fail on initial commit
    • 🛠 Fix handling of files removed or renamed in a commit amendment
  • v0.25.0 Changes

    🆕 New Features

    • ➕ Add Vint pre-commit hook that checks Vim script with Vint
    • ➕ Add Scalariform pre-commit hook that checks formatting of Scala code with Scalariform
    • ➕ Add SlimLint pre-commit hook that analyzes Slim templates with Slim-Lint

    🔄 Changes

    • 👕 Include SVG files in ImageOptim, XmlLint, and XmlSyntax pre-commit hooks by default
    • 0️⃣ Make IndexTags hooks quiet by default
    • 📇 Rename Rubocop pre-commit hook to RuboCop to match the project's proper name

    🐛 Bug Fixes

    • 🛠 Fix HardTabs and TrailingWhitespace pre-commit hooks to include line information in errors, making it work as expected when problem_on_unmodified_line is set to something other than report
    • 🛠 Fix handling of changing a symlink to a directory on commit amendment so it is not included in the list of modified files for pre-commit hooks
    • 🖐 Handle empty commit messages in CapitalizedSubject, SingleLineSubject, HardTabs, TextWidth, and TrailingPeriod commit-msg hooks
  • v0.24.0 Changes

    🆕 New Features

    • Add required_library/required_libraries hook option which specifies a list of paths a hook should load with Kernel.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, and post-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 default ALL configuration, and user-defined hook configuration over default ALL 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 from overcommit 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 of scss-lint 0.36.0)
    • ⚡️ Update childprocess dependency to minimum 0.5.6
    • Change default value for problem_on_unmodified_line from warn to report
    • ⚡️ 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 the Rubocop pre-commit hook

    🐛 Bug Fixes

    • 🛠 Fix LocalPathsInGemfile to not report lints for commented paths
    • 🛠 Fix CssLint pre-commit hook to ignore blank lines in csslint 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
  • v0.23.0 Changes

    🆕 New Features

    • ➕ Add pre-commit ESLint hook
    • ➕ Add pre-commit hooks for standard and semistandard JavaScript linters
    • ➕ Add support for post-commit, post-merge, and post-rewrite hooks
    • ➕ Add GitGuilt post-commit hook to display changes in blame ownership for modified files
    • Add execute_in_background helper to provide a standardized way to start long-running processes without blocking the hook run
    • ➕ Add IndexTags hook for post-commit, post-merge, and post-rewrite hook types so tags index can always be kept up to date via ctags
    • ➕ Add W3cCss and W3cHtml pre-commit hooks which integrate with the w3c_validator gem
    • ➕ Add Scalastyle pre-commit hook that runs scalastyle against Scala code
    • ➕ Add XmlLint pre-commit hook to check XML files with xmllint
    • ➕ Add JavaCheckstyle pre-commit hook to check style of Java files with checkstyle
    • ➕ Add Pep8 pre-commit hook to check Python files with pep8
    • ➕ Add Pyflakes pre-commit hook to check Python files with pyflakes
    • ➕ Add Pep257 pre-commit hook to check Python files with pep257
    • ➕ Add HtmlTidy pre-commit hook to check HTML files with tidy
    • ➕ Add Pylint pre-commit hook to check Python files with pylint

    🔄 Changes

    • 📜 Parse JSHint errors more precisely
    • ✂ Remove JsxHint and Jsxcs pre-commit hooks in favor of using the required_executable option on the JsHint and Jscs pre-commit hooks
    • 🔄 Change behavior of configuration options containing array values to always replace the old value instead of appending to it
    • 🔄 Change ImageOptim hook to fail instead of warn if the image_optim gem cannot be found
    • ✂ Remove ctags_arguments option from IndexTags hooks
    • 👌 Improve PythonFlake8 pre-commit hook to differentiate between errors and warnings
    • 👌 Improve CssLint pre-commit hook to differentiate between errors and warnings

    🐛 Bug Fixes

    • 🛠 Fix --run flag to consider all lines in all files as modified rather than none
    • 🛠 Fix --run flag to exclude submodule directories from the list of modified files
    • 🛠 Fix handling of files with spaces in their name when calculating modified lines in a file
  • v0.22.0 Changes

    • 0️⃣ Disable Reek pre-commit hook by default
    • 👍 Allow required_executable to include paths that are in the repo root
    • ➕ Add command hook option allowing the actual command that is executed to be configured (useful to invoke command via bundle exec or similar)
    • ➕ Add flags hook option allowing the flags passed on the command line to be configured
  • v0.21.0 Changes

    • 🔄 Change HardTabs, MergeConflicts, and PryBinding pre-commit hooks to be quiet by default
    • 👕 Switch TravisLint pre-commit hook from deprecated travis-lint gem to travis gem
    • ➕ Add .projections.json configuration file
    • ➕ Add pre-commit static analysis and linting for sh/bash scripts with ShellCheck
    • 👉 Use --verbose flag when running JSCS to include name of offending rule
  • v0.20.0 Changes

    • ➕ Add --run flag which runs all configured pre-commit hooks against the entire repository
    • Fix installer to work with Overcommit hooks created via GIT_TEMPLATE_DIR
    • 🛠 Fix hook runner to not display skip message unless hook would have actually run
    • Change ImageOptim hook to use skip_missing_workers option and update dependency to 0.18.0
    • ✂ Remove interactive prompt support from overcommit hooks
    • 🔄 Change hook signing from interactive flow to be done via overcommit --sign <hook-type> command