h1. Ripple Release Notes h2. 0.6.1 Patch Release - 2010-03-17 This is a minor release with fixes for a few issues: * Riak::Link objects will now be unique when added to RObject#links Set. [John Lynch] * Attributes on Ripple::Document classes are no longer clone, which had prevented non-scalar properties from being modified directly (e.g. Array). * Buckets, keys, and walk specs are properly escaped in URLs (including slashes). * Time-related properties properly convert to string formats in JSON that they will work in the context of MapReduce jobs. h2. 0.6.0 Feature Release - 2010-03-05 This release contains enhancements and bugfixes in preparation for the Riak 0.9 release. * The CurbBackend now uses fibers to prevent curl-handle corruption when a block is given to streaming operations. * The default prefix is now "/riak/" to match the latest version of Riak. * The client configuration for Ripple is now used. * Added Bucket#new and Bucket#get_or_new for easily creating new objects. * Added Bucket#allow_mult and Bucket#n_value accessors for more easily setting bucket properties. * Added timestamps! method for easily adding created_at/updated_at to documents. [Adam Hunter] * The 'links' collection on RObject is now a Set instead of an Array. * All literal messages are now stored in YAML localization files. * Object siblings (caused by concurrent updates when allow_mult is true) can now be accessed directly. * Map-reduce jobs now have timeouts (in parity with Riak). h2. 0.5.1 Patch Release - 2010-02-22 This is a minor release with fixes for Ruby 1.9, bundler/edge Rails, and a minor feature addition. Changes: * Qualify namespaces for Ruby 1.9. * Decoupled a few specs that gave the appearance of failure. * Added "bucket" and "key" properties on Riak::Link objects. [John Lynch] * Fully-qualify the @JSON@ constant, using @ActiveSupport::JSON@ instead. * Adjusted gem specification to accommodate edge Rails. [Preston Marshall] h2. 0.5 Initial Release - 2010-02-10 This is the first release of Ripple, which would not have been possible without the generous support of Sonian and Basho Technologies. Many thanks. It includes: * A robust basic client, @Riak@, with: ** multiple HTTP backends (curb, net/http) ** sensible client defaults (local, default port) ** bucket access and manipulation, including key-streaming ** object reading, storing, deleting and reloading ** automatic de-serialization of JSON, YAML, and Marshal (when given the right content type) ** streaming POST/PUT bodies (when given an IO) ** method-chained map-reduce job construction * A document-style modeling library, Ripple, with: ** ActiveModel 3.0 compatibility ** Property/attribute definition with automatic type-casting ** Bucket selection based on class name, with single-bucket inheritance (configurable) ** Validations ** Dirty-tracking ** Simple finders - all documents, by key ** Reloading