- Handle new Rails migration format
- Fix bug when there is no standard output when detecting the grep version
- Ignore standard error when checking grep version
- Security: Depend on RuboCop ~> 0.49
- Skip running binary test on known binary files and known source files. This improves performance by not opening and reading each file before it is committed.
- Add more RSpec focus syntaxes to the RSpec focus check
- Fix a bug in the
go_fmt
plugin
- Update to latest pluginator version to fix bug with bundler 1.15
- Remove post-install message, it wasn't functioning properly anyway :(
- Upgrade JSHint to 2.9.4
- Fix Ruby warnings
- Go back to original binary file check. It was creating false-positives.
- Handle empty file sizes on Windows
- Add a SourceTree pre-commit hook template
pre-commit install --sourcetree
- Fixed a bug where the default pre-commit hook could not be installed on some systems.
- Fixed a bug where version 0.27.0 and 0.28.0 could not be installed on Windows.
- The binary check handles unicode source files.
- Removed the closure check
- Separated gofmt and gobuild checks
- Run tests against more (newer) versions of Ruby -- 2.2 & 2.3
- config.ru is an allowed file for the rubocop check
- Added a
pre-commit new
command to generate a new pre-commit plugin - The pry check now cheks for
binding.remote_pry
andbinding.remote_pry_em
- Add byebug support to the debugger check
- Rubocop check was not filtering file extensions properly. It was ignoring the dot
.
(e.g..foo
). - Users should now be able to commit from subdirectories (e.g.
$ cd subdir
,$ git commit
).
- Whitespace check will not run if there are no staged files.
- The
pre-commit
script now runs properly in GitHub for Mac.
- RuboCop checks more than just .rb files (
.gemspec
,Rakefile
, etc.)
pre-commit run
used to always exit with the same status code. Now it exits with 0 on success, 1 on error
- Read all versions from schema files in the migration check.
- Ignore
no rvm in path
errors if rvm is not present.
- Add the ability to pass command line flags to Rubocop.
rubocop.flags
- Upgrade JSHint to 2.5.4
- The
local
check will look for and preferconfig/pre_commit.rb
in addition toconfig/pre-commit.rb
- Allow committing a large number of files (> 7,000)
- Add a
pre-commit run git
command to runpre-commit
checks on all files tracked by git. - Filenames containing spaces no longer break the Grep check
- Improve version number discovery in schema and migration files so that a blank
schema.rb
(with version0
) does not fail the migration check - Fix
pre-commit run <file-list>
.
- Fix a bug where
pre-commit list
would bomb when you had older versions ofpre-commit
installed - Smarter debugger check allows you to leave
debugger
in comments, quotes, or other intended uses - Add a
pre-commit run
CLI command - Fix intermittent install failures #154
- Account for the
RuboCop
top level namespace case sensitivity change.
- Fix an error that occurred when adding a git submodule
- Adds --force-exclusion option to rubocop CLI
- Add a JSON check -- checks if JSON is parsable.
- Add a YAML check -- checks if YAML is parsable.
- Add an SCSS-Lint check -- scss-lint is a tool to help keep your SCSS files clean and readable.
- The
console.log
check will run on coffe script files as well.
- Add a standard way for checks to find a config file.
check_name.config
- use
get
to read rubocop.config, fix #124
- Add a
Go
check - Fix for bug: "Could not find template default"
- Hashrockets check only runs on Ruby files
- Fix "uninitialized constant" bug when running Rubocop
- Add CSSLint support
- New configuration strategies -- backwards compatible with old configuration
- Add a
before_all
check for RSpecbefore(:all)
blocks. - Add a
coffeelint
check. - Do not load
execjs
unless JavaScript checks are enabled - Load checks with pluginator
- Allow configuration of warnings (log to
stderr
, but do not abort the commit) ingit config pre-commit.warnings
- Use the Apache 2.0 liscense
- The
nb_space
check reads files in utf-8
- Converted the hook template to shell (instead of ruby) keep an eye out for problems, and file an issue if anything comes up https://github.com/jish/pre-commit/issues
- Added a
pre-commit.ruby
git config option. If this option is set, the hook will use that ruby.git config pre-commit.ruby "ruby"
- Drop
Ruby 1.8.7
support
- Enhancement: Migration check will ensure the proper versions are in the schema file
- Does not run the debugger check on
Gemfile
,Gemfile.lock
- adding spec directory to checked dirs of pry and debugger
- Better system ruby suppot on Mac OS.
- Added a check for
binding.pry
- Allowing
mount Application::API => '/api'
syntax in the hashrocket check - Added a check for
:focus
in rspec tests.
- Added a
local
check. Will runconfig/pre-commit.rb
and pass or fail accordingly.
- Properly require
ruby_symbol_hashrockets
.
- Adding a Ruby hashrocket syntax check. If you're into that kind of thing.
- Checking for
rbenv
on boot as well asrvm
- Detecting if the pre-commit gem is no longer installed. This is usually due to a Ruby version upgrade.
- Only running the ConsoleLog check on javascript files.
- Fix for Mountain Lion's grep.
- Adding the merge conflict check to the list of default checks
- Fixing a segmentation fault that was occurring when some people did not have the proper ruby setup in their environment
- Adding the option to overwrite existing pre-commit hooks during installation
- Removing arguments from the shebang line as these are not interpreted the same way on all operating systems
- Upgrading JSHint
- Playing nicely with execjs
- Fixing typos
- Adding a php check
- Detecting leading whitespace before leading tabs in the tabs check.
- The previous release handled some error reporting when using therubyracer vm. This release fixes errors if you're using ExecJS and do not have therubyracer installed.
- Better error reporting when JSHint stops scanning a file for errors half way through
- Adding a JSHint config file. You can put your options in a .jshintrc file
- Adding a ci check. You can run a quick test suite each time you commit.
- Adding a migration sanity check
- Allowing commented out console.log to pass (only single line comment support for now =/)
- Adding JSHint support
- Making JSHint a default check
- Pre commit would fail -- silently :( -- when adding new .js files due to an error in the jslint check.
- On the debugger check, only checking the lines that the committer has added. (thanks to staugaard for pointing this out)
- Adding a reminder that the pre-commit check can be bypassed using
git commit -n
- The tabs check was detecting leading tabs in binary files. The tabs check no longer checks binary files. (thanks to morten for pointing this out)