Master
1.2.1 - 20 June, 2012
Bug fix
- Work around a Listen issue where the stop task isn't executed. (@netzpirat)
1.2.0 - 20 June, 2012
Improvements
- Add a Coolline based interactor (Ruby 1.9.3 only). (@netzpirat)
- More flexible command parser for all interactors. (@netzpirat)
- Add 'show' command to describe all plugins in the interactor. (@netzpirat)
- Add 'change' command to trigger a file change event in the interactor. (@netzpirat)
1.1.1 - 3 June, 2012
Bug fix
- #283 Fix
guard init
. (reported by @ashleyconnor, fixed by @rymai)
1.1.0 - 2 June, 2012
Improvements
- Listening is now handled by the Listen gem.
- Replace the
--verbose
option with the--debug
option. - New
--latency
/-l
option to overwrite Listen's default latency. - New
--force-polling
/-p
option to force usage of the Listen polling listener. --watch-all-modifications
/-A
option is removed and is now always on.--no-vendor
/-I
option is removed because the monitoring gems are now part of the Listen gem. You can specify a custom version of any monitoring gem directly in your Gemfile if you want to overwrite Listen's default monitoring gems.- Guards implementations must now implement
run_on_additions
,run_on_modifications
,run_on_removals
and / orrun_on_changes
. Therun_on_change
andrun_on_deletion
methods are deprecated and should be removed as soon as possible. See the Upgrade guide for existing guards to Guard v1.1 for more info.
The Listen integration has been supervised by @thibaudgg and executed by @Maher4Ever, @rymai and @thibaudgg.
1.0.3 - 14 May, 2012
Improvement
- Improve Thor dependency '~> 0.14.6' => '>= 0.14.6'. (@thibaudgg)
1.0.2 - 30 April, 2012
Improvements
- #274 and #275 Make the Bundler warning less scary and more friendly. (@mcmire)
- #270 Make urgency configurable for libnotify/notifysend. (@viking)
- #254 Add the possibility to pause/unpause by sending OS signal. (@steakknife)
- #261 Clarify the usage of the term
guard-name
in the README. (@spadin) - Add a
--no-bundler-warning
option to Guard start. (@netzpirat) - Update vendor/darwin. (@thibaudgg)
Bug fixes
- #260 Don't show Bundler warning when no Gemfile present. (@netzpirat)
- #259 Fix
guard show
on Ruby 1.8.7. (@netzpirat and @rymai)
1.0.1 - 7 March, 2012
Improvements
- #236 Add support for
notifysend
. (@alandipert) - Update vendor/darwin to rb-fsevent 0.9.0. (@thibaudgg)
Bug fixes
- #249 and #250 Fix programmatic examples that didn't work. (@oreoshake)
- #238 Don't try to load the FSEvents listener on older versions of OSX. (@philomory)
- #233
Guard::Listener.select_and_init
requires a hash. (reported by @sunaku, fixed by @thibaudgg) - #227 and #232 Add the ability to initialize all guards at once. (proposed by @rupert654, done by @Maher4Ever)
1.0.0 - 19 January, 2012
Improvements
- Add Gemnasium dependency status image to README. (@laserlemon)
- Update vendor/darwin. (@thibaudgg)
- #223 Warn if Guard isn't launched with
bundle exec
. (proposed by @thibaudgg, done by @netzpirat)
Bug fixes
- #226 Use a direct file descriptor with stty. (@netzpirat)
- #218 Watching directory with
-A
option only reports a deleted file the first time around. (@rymai) - #174 Not creating timestamps for new files with
-A
option. (@rymai) - #216 Fix exit-status codes for Guard. (@Maher4Ever)
- #213 and #214 Fix the "ERROR: No guards found in Guardfile" message wrongly displayed when running
guard list
. (@pirukire)
0.10.0 - 1 January, 2012
Improvements
- Improve Readline constraints. (@netzpirat)
- Stop and start all guards on Guardfile reevaluation. (@thibaudgg)
Bug fix
- Terminal keep-alive causing ERROR: Unknown command. (@waldo)
0.9.4 - December 25, 2011
Improvement
- Add the ability to load user defined templates. (@hawx)
Bug fix
- Fix guard-rspec notifications by using ENV variable to store Notifier.notifications. (@thibaudgg)
0.9.3 - December 23, 2011
Improvement
- Fix terminal status after interrupting the Readline interactor. (@Maher4Ever)
0.9.2 - December 22, 2011
Improvements
- Add
interactor
to DSL to allow switching Guard interaction implementation. (@netzpirat) - Add quit action to the interactor. (@Maher4Ever)
0.9.1 - December 19, 2011
Bug fixes
- Fix wrong
--no-vendor
option. (@netzpirat) - #195 Empty watch directory prohibit Guard from running. (reported by @madtrick, fixed by @netzpirat)
0.9.0 - December 19, 2011
Bug fixes
- #173 Cannot set the watch_all_modifications option. (reported by @sutherland, fixed by @netzpirat)
- Fix
guard init
when a guard name is given. (@rymai)
Improvements
- #165 Allow underscores in Guard name. (@benolee)
- Add readline support to the interactor. (@netzpirat)
- Add support for notification configuration. (@netzpirat)
0.8.8 - October 21, 2011
Bug fix
- Fix
guard init
when a guard name is given. (@rymai)
0.8.7 - October 18, 2011
Bug fix
- #166 Fix silent failure after re-evaluating Guardfile. (reported by @dgutov, fixed by @rymai, special thanks to @dyfrgi for the reproducible test case)
0.8.6 - October 17, 2011
Bug fixes
- #168 Fix
guard init
path to Guardfile template. (reported by @semperos) - #167 Include objects in changed_paths when Guard allows any return from the watchers. (reported by @earlonrails, fixed by @netzpirat)
0.8.5 - October 17, 2011
Improvements
reload
andrun_all
Guard terminal interactions actions can be scoped to only run on a certain guard or group. (@thibaudgg)- Add cli option (
-i
/--no-interactions
) to turn off Guard terminal interactions. (@thibaudgg) - Add support for Growl Notification Transport Protocol. (@netzpirat)
- #157 Allow any return from the Guard watchers. (@earlonrails)
- #156 Log error and diagnostic messages to STDERR. (@sunaku)
- #152 Growl Notify API update for a graceful fail. (@scottdavis)
Bug fix
- #160 Avoid
Guard is not missing constant ...
exceptions. (reported by @earlonrails, fixed by @netzpirat)
0.8.4 - October 3, 2011
Bug fix
- #149 and #150 Fix issue where interactor thread was continuing to capture input from
stdin
while a guard is being executed. (reported by @hardipe, fixed by @f1sherman)
0.8.3 - October 1, 2011
Bug fix
- #145 Fix over-utilization of CPU in Interactor. (@johnbintz)
Improvements
- #146 Use a mutex instead of a lock for more efficient/simple locking. (@f1sherman)
- Make Guard implementation of
:task_has_failed
simple. (@netzpirat)
0.8.2 - September 30, 2011
Bug fix
- Fix guard stop to prevent
run_guard_task(:stop)
from being skipped guard-spork issue 28. (@thibaudgg)
Improvement
- Update docs regarding
:task_has_failed
. (@netzpirat)
0.8.1 - September 29, 2011
Bug fix
- #144 Fix
guard init
. (reported by @fabioyamate, fixed by @rymai)
0.8.0 - September 28, 2011
Bug fixes
- #137 Fix interacting with tools like ruby-debug. (@hron and @netzpirat)
- #138 Fix comments in example scaffold to reference interactions. (@rmm5t and @netzpirat)
New feature
- #136 New CLI
:watch_all_modifications
/-A
option to watch for deleted and moved files too. (@limeyd and @netzpirat) - #97 Guard dependencies. Task execution can now be halted if a Guard throws
:task_has_failed
andGuard::Dsl#group
options include:halt_on_fail => true
. (@rymai) - #121
Guard.guards
andGuard.groups
are now smart accessors. Filters can be passed to find a specific Guard/group or several Guards/groups that match (see YARDoc). (@rymai and @ches) - New
Guard::Group
class to store groups defined in Guardfile (withGuard::Dsl#group
). (@rymai)
Improvements
- Specs refactoring. (@netzpirat)
- Full YARD documentation. (@netzpirat and a little of @rymai)
0.7.0 - September 14, 2011
0.7.0.rc1 - September 5, 2011
Major Changes
- Posix Signals handlers (
Ctrl-C
,Ctrl-\
andCtrl-Z
) are no more supported and replaced by$stdin.gets
. Please refer to the "Interactions" section in the README for more information. (@thibaudgg) - JRuby and Rubinius support (beta). (@thibaudgg and @netzpirat)
New features
- #42 New DSL method:
callback
allows you to execute arbitrary code before or after any of thestart
,stop
,reload
,run_all
andrun_on_change
guards' method. New Wiki page for documenting it. (@monocle and @rymai) - Ability to 'pause' files modification listening. Please refer to the "Interactions" section in the README for more information. (@thibaudgg)
Improvement
- Remove the need to scan the whole directory after guard's
run_on_change
method. (@thibaudgg)
0.6.3 - September 1, 2011
New features
- #130 Add
ignore_paths
method to DSL. (@ianwhite) - #128 Users can add additional settings to
~/.guard.rb
that augment the existing Guardfile. (@tpope)
0.6.2 - August 17, 2011
Bug fixes
- Re-add the possibility to use the
growl
gem since thegrowl_notify
gem this is currently known to not work in conjunction with Spork. (@netzpirat) - Ensure that scoped groups and group name are symbolized before checking for inclusion. (@rymai)
New features
- Groups are now stored in a
groups
instance variable (will be used for future features). (@rymai) - Guards will now receive their group in the options hash at initialization (will be used for future features). (@rymai)
Improvement
- Explain the growl/growl_notify differences in the README. (@netzpirat)
0.6.1 - August 15, 2011
Bug fixes
- #120 Remove
guardfile_contents
when re-evaluating so that the Guardfile gets reloaded correctly. (@mordaroso) - #119
Dsl.evaluate_guardfile
uses all groups if none specified. (@ches)
0.6.0 - August 13, 2011
Bug fixes
- #107 Small spelling fix. (@dnagir)
Dir.glob
now ignores files that don't need to be watched. (@rymai)
New feature
Improvements
- #99 [OS X] Switch from growl gem to growl_notify gem. (@johnbintz)
- #115 [Linux] Add
:transient => true
to default libnotify options. (@zonque) - #95 Output system commands and options to be executed when in debug mode. (@uk-ar and @netzpirat)
Guard::Dsl.revaluate_guardfile
has been renamed toGuard::Dsl.reevaluate_guardfile
. (@rymai)- New CLI options: (@nestegg)
watchdir
/-w
to specify the directory in which Guard should watch for changes,guardfile
/-G
to specify an alternate location for the Guardfile to use.
- #90 Refactoring of color handling in the
Guard::UI
. (@stereobooster)
0.5.1 - July 2, 2011
Bug fix
- Fix
guard show
command. (@bronson and @thibaudgg)
0.5.0 - July 2, 2011
New features
- Guard::Ego is now part of Guard, so Guardfile is automagically re-evaluated when modified. (@thibaudgg)
- #91 Show Guards in Guardfile with the
guard -T
. (@johnbintz)
Improvements
- #98 Multiple calls per watch event on linux with rb-inotify. (@jeffutter and @netzpirat)
- #94 Show backtrace in terminal when a problem with a watch action occurs. (@capotej)
- #88 Write exception trace in the terminal when a supervised task fail. (@mcmire)
- Color in red the "ERROR:" flag when using
UI.error
. (@rymai) - #79 and #82 Improve INotify support on Linux. (@Gazer and @yannlugrin)
- #12 and #86 Eventually exits with SystemStackError. (@stereobooster)
- #84 Use RbConfig instead of obsolete and deprecated Config. (@etehtsea)
- #80 Watching dotfile (hidden files under unix). (reported by @chrisberkhout, fixed by @yannlugrin)
- Clear the terminal on start when the
:clear
option is given. (@rymai) - Rename home directory Guardfile to
.Guardfile
. (@tpope)
0.4.2 - June 7, 2011
Bug fixes
- Fix Guard::Version in ruby 1.8.7 (@thibaudgg)
- Fix (@mislav) link in the CHANGELOG (Note: this is a recursive CHANGELOG item). (@fnichol)
0.4.1 - June 7, 2011
Improvements
- #77 Refactor
get_guard_class
to first try the constant and fallback to require + various tweaks. (@mislav) - Notifier improvement, don't use system notification library if could not be required. (@yannlugrin)
0.4.0 - June 5, 2011
Bug fix
- In Ruby < 1.9,
Symbol#downcase
doesn't exist! (@rymai)
New features
- #73 Allow DSL's
group
method to accept a Symbol as group name. (@johnbintz) - #51 Allow options (like
:priority
) to be passed through to the Notifier. (@indirect and @netzpirat)
Improvement
- #74 Add link definitions to make the CHANGELOG more DRY! That's for sure now, we have the cleanest CHANGELOG ever! (even the link definitions are sorted alphabetically!) (@pcreux)
0.4.0.rc - May 28, 2011
Bug fixes
- #69 Fix typo in README:
Ctr-/
=>Ctr-\
. (@tinogomes) - #66 Support for dashes in guard names. (@johnbintz)
- Require
guard/ui
becauseGuard::Notifier
can be required without full Guard. (@yannlugrin) - Handle quick file (<1s) modification. Avoid to catch modified files without content modification (sha1 checksum). (@thibaudgg and @netzpirat)
- Fix
Guard::Notifier
(when growl/libnotify not present). (@thibaudgg) - Fix Rubygems deprecation messages. (@thibaudgg)
New features
- #67 Allow Guardfile in
$HOME
folder. (@hashrocketeer) - #64 Windows notifications support. (@stereobooster)
- #63 Refactor listeners to work as a library. (@niklas)
- Use
ENV["GUARD_NOTIFY"]
to disable notifications. (@thibaudgg) - Cleaning up all specs. (@netzpirat)
- #60 Add Windows support. (@stereobooster)
- #58 Extract code from signal handlers into methods. (@nicksieger)
- #55 It's now possible to pass
:guardfile
(a Guardfile path) or:guardfile_contents
(the content of a Guardfile) toGuard::Dsl.evaluate_guardfile
. Hence this allows the use ofGuard::Dsl.evaluate_guardfile
in a programmatic manner. (@anithri, improved by @rymai)
0.3.4 - April 24, 2011
Bug fix
- #41 Remove useless Bundler requirement. (@thibaudgg)
New features
- Change CHANGELOG from RDOC to Markdown and cleaned it! Let's celebrate! (@rymai)
- Change README from RDOC to Markdown! Let's celebrate! (@thibaudgg)
- #48 Add support for inline Guard classes rather than requiring a gem. (@jrsacks)
0.3.3 - April 18, 2011
Bug fix
- Fix
new_modified_files
rerun conditions onGuard.run_on_change_for_all_guards
. (@thibaudgg)
0.3.2 - April 17, 2011
Bug fix
- #43 Fix
guard init
command. (@brainopia)
0.3.1 - April 14, 2011
Bug fixes
- Return unique filenames from Linux listener. (Marian Schubert)
Guard.get_guard_class
return wrong class when loaded nested class. (@koshigoe)- #35 Fix open-gem/gem_open dependency problem by using
gem which
to locate guards gem path. (reported by @thierryhenrio, fixed by @thibaudgg) - #38 and #39 Fix an invalid ANSI escape code in
Guard::UI.reset_line
. (@gix)
New feature
- #28 New
-n
command line option to disable notifications (Growl / Libnotify). (@thibaudgg)
0.3.0 - January 19, 2011
Bug fix
- Avoid launching
run_on_change
guards method when no files matched.--clear
guard argument is now usable. (@thibaudgg)
New features
- The whole directory is now watched during
run_on_change
to detect new files modifications. (@thibaudgg) - #26 New DSL method:
group
allows you to group several guards. New CLI option:--group group_name
to specify certain groups of guards to start. (@netzpirat) watch
patterns are now more strict: strings are matched withString#==
,Regexp
are matched withRegexp#match
. (@rymai)- A deprecation warning is displayed if your
Guardfile
containsString
that look likeRegexp
(bad!). (@rymai) - It's now possible to return an
Enumerable
in thewatch
optional blocks in theGuardfile
. (@rymai)
New specs
0.2.2 - October 25, 2010
Bug fix
- #5 Avoid creating new copy of
fsevent_watch
every time a file is changed. (reported by @stouset, fixed by @thibaudgg)
0.2.1 - October 24, 2010
Bug fixes
- #7 Fix for Linux support. (@yannlugrin)
- #6 Locate guard now chomp newline in result path. (@yannlugrin)
0.2.0 - October 21, 2010
Bug fixes
- #3
guard init <guard-name>
no more needGemfile
butopen_gem
is required now. (reported by @wereHamster, fixed by @thibaudgg) - #2 1.8.6 compatibility. (reported by @veged, fixed by @thibaudgg)
- Remove Growl and Libnotify dependencies. (@thibaudgg)
0.2.0.beta.1 - October 17, 2010
New features
- Improve listeners support (
rb-fsevent
andrb-inotify
). (@thibaudgg) - Add polling listening fallback. (@thibaudgg)