README.markdown in zk-0.8.8 vs README.markdown in zk-0.8.9

- old
+ new

@@ -1,11 +1,9 @@ # ZK -ZK is a high-level interface to the Apache [ZooKeeper][] server. It is based on the [zookeeper gem][] which is a multi-Ruby low-level driver. Currently MRI 1.8.7, 1.9.2, and JRuby are supported (rubinius 1.2 is experimental but _should_ work). It is licensed under the [MIT][] license. +ZK is a high-level interface to the Apache [ZooKeeper][] server. It is based on the [zookeeper gem][] which is a multi-Ruby low-level driver. Currently MRI 1.8.7, 1.9.2, 1.9.3, and JRuby are supported (rubinius 1.2 is experimental but _should_ work). It is licensed under the [MIT][] license. -Note: 1.9.3-p0 support is currently under development, there are a few bugs to work out still... - This library is heavily used in a production deployment and is actively developed and maintained. Development is sponsored by [Snapfish][] and has been generously released to the Open Source community by HPDC, L.P. [ZooKeeper]: http://zookeeper.apache.org/ "Apache ZooKeeper" @@ -33,17 +31,17 @@ The [zookeeper gem][] provides a low-level, cross platform library for interfacing with ZooKeeper. While it is full featured, it only handles the basic operations that the driver provides. ZK implements the majority of the [recipes][] in the ZooKeeper documentation, plus a number of other conveniences for a production environment. ZK provides: * a robust lock implementation (both shared and exclusive locks) -* an extension for the [Mongoid][] ORM to provide advisory locks on mongodb records * a leader election implementation with both "leader" and "observer" roles * a higher-level interface to the ZooKeeper callback/watcher mechanism than the [zookeeper gem][] provides * a simple threadpool implementation * a bounded, dynamically-growable (threadsafe) client pool implementation * a recursive Find class (like the Find module in ruby-core) * unix-like rm\_rf and mkdir\_p methods (useful for functional testing) +* an extension for the [Mongoid][] ORM to provide advisory locks on mongodb records In addition to all of that, I would like to think that the public API the ZK::Client provides is more convenient to use for the common (synchronous) case. For use with [EventMachine][] there is [zk-eventmachine][] which provides a convenient API for writing evented code that uses the ZooKeeper server. [recipes]: http://zookeeper.apache.org/doc/current/recipes.html [Mongoid]: http://mongoid.org/ @@ -56,10 +54,10 @@ * _ACLS: HOW DO THEY WORK?!_ ACL support is mainly faith-based now. I have not had a need for ACLs, and the authors of the upstream [twitter/zookeeper][] code also don't seem to have much experience with them/use for them (purely my opinion, no offense intended). If you are using ACLs and you find bugs or have suggestions, I would much appreciate feedback or examples of how they *should* work so that support and tests can be added. * ZK::Client supports asynchronous calls of all basic methods (get, set, delete, etc.) however these versions are kind of inconvenient to use. For a fully evented stack, try [zk-eventmachine][], which is designed to be compatible and convenient to use in event-driven code. -* ZooKeeper "chroot" [connection syntax][chroot] _(search for "chroot" in page)_ is not currently working in the C drivers, and I don't have tests for the Java version. This hasn't been an incredibly high priority item, but support for this feature is intended. +* ZooKeeper "chroot" [connection syntax][chroot] is currently being developed and should work for most cases. Right now we require that the root path exist before the chrooted client is used, but that may change [in the near future](https://github.com/slyphon/zk/issues/7). * I am currently in the process of cleaning up the API documentation and converting it to use [YARD][]. [twitter/zookeeper]: https://github.com/twitter/zookeeper [async-branch]: https://github.com/slyphon/zk/tree/dev%2Fasync-conveniences