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