3.6.0 (2021-07-21)
New Features
* #452 for FIPS compatibility, use SHA256 instead of MD5 (#541)
@ColinDKelley
3.7.0 (2021-08-19)
* issue #509: raise Listen::Error::INotifyMaxWatchesExceeded rather than
abort (#545) @ColinDKelley
* Plumb Silencer.new and use it #542 spec (#544) @ColinDKelley
* fix: Avoid scanning and building entries for silenced directories (#542)
@ElMassimo
pkgsrc changes: add "USE_LANGUAGES= # none".
3.4.0 (2020-12-31)
* Issue #510: use monotonic tick count (#512) @ColinDKelley
3.3.4 (2020-12-31)
* Don't return incorrect files when there's a file whose name matches a
dir (#526) @ghiculescu
* added correct link to help debug inotify workers error on linux (#527)
@williamkennedy
* issue #473: use sudo sh -c so redirection works (#525) @ColinDKelley
* issue #473: update README for setting fs.inotify.max_user_watches (#522)
@ColinDKelley
* issue #451: change windows install instructions to suggest platforms:
instead of Gem.win_platform? (#523) @ColinDKelley
* put missing wiki content into README (#521) @ColinDKelley
3.3.3 (2020-11-30)
* Add project metadata to the gemspec (#519) @orien
3.3.2 (2020-11-28)
* Issue #504: tune .rubocop.yml and source code to make it pass all cops
(#508) @ColinDKelley
* Fix description typo (#515) @ccouzens
3.3.1 (2020-11-13)
* issue #513: allow stop when not started (#514) @ColinDKelley
3.3.0 (2020-11-10)
New Features
* Use file size to check for modifications (#336) @marawan31
* Ignore mutagen sync temporary files (#469) @nilbus
* Add GitHub Actions for development workflow. (#485) @ioquatix
* Allow Ruby 3 (#490) @yahonda
* Add Truffleruby head to CI (#493, #507) @gogainda
* Add magic # frozen_string_literal: true comment (#494) @ColinDKelley
Bug Fixes
* Fix: Linux driver listens for :modify events again (#450) @ColinDKelley
* Fix: Track removed subdirectories (#460) @bryanlira
* Use one fsevent_watch process per listener instead of one per dir (#471)
@ioquatix
* Wrap Listener instances in WeakRef (#477) @jonathanhefner
* Include macOS Big Sur in Adapter::Darwin#usable? (#479) @christiankn
* Fix hanging race condition (#481, #500) @ColinDKelley
* Remove Listen::Internals::ThreadPool (#483) @jonathanhefner
* Tidy up thread killing. Remove JRuby workaround. (#484) @ioquatix
* Move thread caller stack and rescue+log to a common place (#487)
@ColinDKelley
* Unify logging through Listen.logger; add missing logger_spec (#497)
@ColinDKelley
* Rescue and log application exceptions raised from the Listen.to callback
so listening doesn't break in process (#505) @ColinDKelley
Restrict to ruby22 and ruby23.
v3.1.5
Bugfixes
* #394 prevent crashes when Listen is stopped too soon (e.g. before
being started or initialized)
v3.1.4
Bugfixes
* #393 - relaxed rb-fsevent dependency to allow install on older OSX
releases (thanks to @robmckinnon)
v3.1.3
Bug fixes
* #387 - fix JRuby support both in dependencies (by allowing Ruby 2.2.3)
and behavior (JRuby Dir.entries workaround)
* #387 - prevent JRuby from hanging when stopping on Linux (and Travis)
* #387 - activate JRuby-9.0.5.0 on Travis to declare support for JRuby
(tests are flaky, but that's due to timing issues)
v3.1.2
Security enhancements
* #377 require at least Ruby 2.2.4 to avoid CVE-2015-7551 (see
https://www.ruby-lang.org/en/news/2015/12/16/ruby-2-2-4-released/)
Bugfixes
* #383 allow stopping when not fully initialized (fixesguard/guard#822
(comment))
Improvements
* #378 warn users if their Ruby is buggy or vulnerable (controversial to
some, but very extensively justified)
Development
* #377 use ruby_dep for managing ruby requirements
* #379 make RuboCop pass (thanks to @jvanbaarsen)
* #384 avoid rubygems duplicate dependency error (gem given in both
runtime and development dependencies)
v3.1.1
Bugfixes
* #373 explicitly require forwardable for delegation (fixes#372)
v3.1.0
Bugfixes
* #370 - gracefully fallback to polling on old older unsupported OSX
versions (thanks to @vaz)
Improvements
* #371 - update dependency to Ruby 2.2.x since 2.1 and earlier are EOL
(minor version bumped to 3.1 in case backporting is needed)
Development
* #371 - fix all RuboCop offenses to avoid noise during development
v3.0.7
Backports
* #385 - backport #383 (allow stopping when not fully initialized)
v3.0.8
Bugfixes:
* prevent crash when stopping uninitialized listener 2c78999
* prevent crash when stopping uninitialized adapter 8b06d2c
* #392 - Change rb-fsevent dependency to work on OS X 10.6-10.8
* get JRuby to fail with ENOTDIR like MRI does c3a8cbb
* avoid unkillable thread problem on JRuby e86dccf
* explicitly require forwardable (in case of further backports) 51d7706
v3.0.5
Bugfixes
* #359 - implement Adapter#stop to free resources on Linux
* #358 - rescan directory to avoid crashes when files deleted during scan
* #356 - fix error in exception handling (bad arguments passed when building
message)
v3.0.4
Bugfixes
* fix#351 - where OSX adapter couldn't listen to more than 2 given
directories
Problems found with existing digests:
Package memconf distfile memconf-2.16/memconf.gz
b6f4b736cac388dddc5070670351cf7262aba048 [recorded]
95748686a5ad8144232f4d4abc9bf052721a196f [calculated]
Problems found locating distfiles:
Package dc-tools: missing distfile dc-tools/abs0-dc-burn-netbsd-1.5-0-gae55ec9
Package ipw-firmware: missing distfile ipw2100-fw-1.2.tgz
Package iwi-firmware: missing distfile ipw2200-fw-2.3.tgz
Package nvnet: missing distfile nvnet-netbsd-src-20050620.tgz
Package syslog-ng: missing distfile syslog-ng-3.7.2.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
pkgsrc change: add pkg_alternatives support.
v3.0.3
Improvements
* #330 - fixed warnings on JRuby
v3.0.2
Bugfixes
* fix#328 - add missing require which crashed Listen on OSX (thanks to @noahsw for reporting)
v3.0.1
Bugfixes
* #325, #327 - fix regressions (allow Listen to run correctly without other
deps + properly handle pause())
v3.0.0
KNOWN ISSUES
* #319, #258 - TCP is no longer part of Listen, and there's currently no
alternative except downgrading to Listen 2.x
API CHANGES
* TCP functionality removed (Listen.on, Adapter::TCP,
Adapter::TCP::Broadcaster, etc.)
* Listener#start should be used instead of Listener#unpause
* Listener#directories is no longer available
* Listener#options is no longer available as public API
IMPROVEMENTS
* Major performance improvements (CPU), especially for Polling
* Celluloid is no longer required by Listen (which means: better performance,
less dependencies, less threads used, less version conflicts, easier
debugging, less potential issues/bugs)
* TCP is no longer part of Listen (which means: more maintainable codebase and
possibility to create much better TCP implementation without the tradeoffs)
Development
* major codebase rewrite
* better logging by default
v2.10.1
* #320 - latency option was completely ignored for both OSX and when Polling
* #302 - fix bug related to move_to/move_from breaking TCP functionality
v2.10.0
@e2 e2 released this on 27 Mar, 6 commits to master since this release
Major changes
* #304 - lock to Cellulloid 0.16 (if you need Celluloid 0.15, use Listen 2.9.0 and ask for backports if necessary)
Bugfixes
* #301 - avoid BSD adapter crash when watched file doesn't exist
Improvements
* #303 - allow listen tool to watch multiple directories
accordingly.
(Is there any reason there isn't there a RUBY_VERSIONS_INCOMPATIBLE
variable like we have for python and lua and in other similar
situations?)