guard / rb-fsevent

FSEvents API with signals handled (without RubyCocoa)

Home Page:https://rubygems.org/gems/rb-fsevent

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

release 0.10.0

ttilley opened this issue · comments

Ping @thibaudgg - enough changes have been made in master to make a release and bump the minor version number (rather than patch).

I'm slightly worried about the change to communications format between subprocess and ruby, but I'm a natural worrier and it seems to work pretty damn well locally. It fixes several bugs related to some file names breaking the watcher if they contain colons and newlines. From now on the communication format, rather than relying on delimiters, specifies quite explicitly how many characters are in each message.

An as-of-yet undocumented change is that the callback now accepts multiple parameters... The first still containing just a list of paths, with the second containing very detailed metadata on each individual change in the list. For example, if you enable file events, the metadata will now tell you whether the path is a directory, file, symbolic link, or hard link without you having to poke at the filesystem to get that info. Also, it will specify if the change is just metadata (permissions, etc) and can be safely ignored by Listen.

...It's undocumented because I'm not sure we honestly give a fuck right now when lisiten-fsevents will provide the same info without any backwards compatibility parameter, and will also allow you to ignore events originating from the current process (which will drop cpu/power requirements of Listen on MacOS significantly). It will also be able to watch the directory itself by file handle (so if you start watching /foo/bar and it's renamed to /foo/baz, it will continue to work).

The binary in master was built against the 10.8 SDK thanks to xcodelegacy making it easier to build against older SDKs using a current xcode.

I'm leaving it to you to do a release or not. I'm unsure whether it's worth waiting for a post install message. There's a lot that's fixed in master and will potentially make lives easier. At this point, I'm leaning towards just doing a release.

Hey @ttilley, just doing a 0.10.0 release sounds good. 👍
Could you please edit this release notes draft and I can take care of the releasing 0.10.0.