Skip to content

Tags: oxocode/overcommit

Tags

v0.27.0

Toggle v0.27.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
0.27.0 release

= New Features

* Add `HtmlHint` pre-commit hook that checks HTML files with
  [HTMLHint](http://htmlhint.com/)
* 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

Toggle v0.26.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
0.26.0 release

= 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

Toggle v0.25.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
0.25.0 release

* Include SVG files in `ImageOptim`, `XmlLint`, and `XmlSyntax` pre-commit
  hooks by default
* Make `IndexTags` hooks quiet by default
* Add `Vint` pre-commit hook that checks Vim script with
  [Vint](https://github.com/Kuniwak/vint)
* Add `Scalariform` pre-commit hook that checks formatting of Scala code with
  [Scalariform](https://mdr.github.io/scalariform/)
* Add `SlimLint` pre-commit hook that analyzes Slim templates with
  [Slim-Lint](https://github.com/sds/slim-lint)
* Enhance `HardTabs` and `TrailingWhitespace` pre-commit hooks to including
  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
* Rename `Rubocop` pre-commit hook to `RuboCop` to match the project's proper
  name
* Handle empty commit messages in `CapitalizedSubject`, `SingleLineSubject`,
  `HardTabs`, `TextWidth`, and `TrailingPeriod` commit-msg hooks

v0.24.0

Toggle v0.24.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
0.24.0 release

= 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](http://www.jslint.com/)
* Add `RubyLint` pre-commit hook that statically analyzes Ruby files with
  [ruby-lint](https://github.com/YorickPeterse/ruby-lint)
* Add `Jsl` pre-commit hook that checks the style of JavaScript files with
  [JavaScript Lint](http://www.javascriptlint.com/)
* Add `CapitalizedSubject` commit message hook
* Add `GoVet` pre-commit hook that examines Go source files with
  [vet](https://godoc.org/golang.org/x/tools/cmd/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](http://rspec.info/) 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

* 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
* 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](https://github.com/brigade/overcommit/blob/9f03e9c82b385d375a836ca7146b117dbde5c822/config/default.yml)
* 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

Toggle v0.23.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
0.23.0 release

= New Features

* Add pre-commit [ESLint](http://eslint.org/) hook
* Add pre-commit hooks for [standard](https://github.com/feross/standard) and
  [semistandard](https://github.com/Flet/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](http://www.scalastyle.org/) against Scala code
* Add `XmlLint` pre-commit hook to check XML files with
  [xmllint](http://xmlsoft.org/xmllint.html)
* Add `JavaCheckstyle` pre-commit hook to check style of Java files with
  [checkstyle](http://checkstyle.sourceforge.net/)
* Add `Pep8` pre-commit hook to check Python files with
  [pep8](https://pypi.python.org/pypi/pep8)
* Add `Pyflakes` pre-commit hook to check Python files with
  [pyflakes](https://pypi.python.org/pypi/pyflakes)
* Add `Pep257` pre-commit hook to check Python files with
  [pep257](https://pypi.python.org/pypi/pep257)
* Add `HtmlTidy` pre-commit hook to check HTML files with
  [tidy](http://www.html-tidy.org/)
* Add `Pylint` pre-commit hook to check Python files with
  [pylint](http://www.pylint.org/)

= 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

Toggle v0.22.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
0.22.0 release

* 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

Toggle v0.21.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
0.21.0 release

* 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](http://www.shellcheck.net/)
* Use `--verbose` flag when running JSCS to include name of offending rule

v0.20.0

Toggle v0.20.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
0.20.0 release

* 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

v0.19.0

Toggle v0.19.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
0.19.0 release

* Add `--no-pngout` flag for `image_optim` command on `:fail` message
* Fix `Brakeman` pre-commit hook when multiple files have been staged
* Reset modification times more frequently when cleaning up the environment
  after running pre-commit hooks. This should help overcommit work with file
  watchers a little more nicely.
* Add pre-commit JavaScript style checking with
  [JSXCS](https://github.com/orktes/node-jsxcs)
* Add pre-commit Ruby code smell checking with
  [Reek](https://github.com/troessner/reek)
* Gracefully handle `.git` files that point to an external git directory

v0.18.0

Toggle v0.18.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
0.18.0 release

* Update minimum version of `image_optim` gem to 0.15.0 (breaking change in
  name of exception classes)
* Add `--list-hooks` flag which displays all hooks for a repository and
  whether they are enabled/disabled
* Add `required_executable` and `install_command` options that allow a hook
  to define an executable that must be in the `PATH` in order for it to work,
  and a command the user can use to install the executable if it doesn't exist
* All built-in hooks will now fail if the required executable is not present
* Fix bug where pre-commit hook would crash if user attempted to commit a
  broken symlink
* Add `BrokenSymlinks` pre-commit hook which checks for broken symlinks
* Fix Chamber integration
* Fix 'include' path for ChamberSecurity
* Fix bug where commit message from cherry-picked commit would be lost if
  there were conflicts