0.93 Release Candidate 1 released!
I’m pleased to announce jpathwatch 0.93-rc1. jpathwatch has come a long way since 0.92a, and as often with these things it took a little longer than I had hoped.
Considering the little hickups that came with the release of 0.92 (which was quickly followed by 0.92a), I thought it’s more advisible to publish a release candidate first, which people can test and report problems in case there are any.
The plan is to ‘promote’ rc1 (or a subsequent release candidate) to a full release a couple of weeks after it’s been released and no problems have been discovered.
If you find any issues, please report them on the forum.
So what has changed since 0.92? Here’s the list:
- jpathwatch now uses Java’s Logger class for logging, which makes it easy to turn it off if necessary. However, jpathwatch should not blurb out randomly to the Logger any more; it will only do so if it thinks something is seriously wrong, and that instance should be reported as a bug.
- The manifest in the JAR file is now fixed so that it is stripped of bogus library references, which should fix problems with tools like Apache ANT. It now also contains metainfo such as the version number.
- Added KEY_INVALID extended event which is reported when a given WatchKey has become invalid. This is useful for instance when a directory on a removable drive is monitored and that drive is disconnected, which invalidates the WatchKey.
- Windows: Half rewrote WindowsPathWatchService. Because of asynchronous I/O limitations on this platform which caused some headache when jpathwatch was called from multiple threads, the Windows WatchService implementation now runs its own monitor thread per WatchService instance. This should make file watching on Windows rock solid even in multithreaded environments under heavy load.
- Linux: Added 64 bit support.
- Linux: Fixed a threading issue in a scenario where two threads concurrently call poll() and/or take(). In this case it was possible that the first thread would ‘steal’ events from the second thread (it would read more than one event at once).
- Mac OS X/FreeBSD and all platforms without native support: Fixed bug which prevented MODIFY to be correctly reported. The file size is now also used to detect MODIFY events (previously only the mtime was used)
On another note, you might also have noticed the ‘Donate’ button that’s now on the webpage.
Maintaining and developing jpathwatch costs a lot of my time, and yet it is provided free of charge (and without warranty ;). However, if you find it useful (or you even use it commercially) you might consider a small donation, it would help to buy much needed hardware to keep this project going (for instance, I have to borrow Macs from other people to make builds and test jpathwatch on these platforms; that’s what delayed the release 0.93-rc1 for over a week).
Last but not least I’d like to thank everyone who contributed by submitting bug reports on jpathwatch. It certainly wouldn’t be what it is today without the community support it got over the last few months.