Riak-Client/Ripple Release Notes
0.7.1 Patch Release – 2010-06-08
This release has no new features but includes bug fixes and some internal refactoring of the Ripple::Document hierarchy.
- The Net::HTTP backend should handle streamed keys better (although
still not perfectly).
- The Riak::MapReduce#timeout method now returns self, allowing
- The Ripple::Document and Ripple::EmbeddedDocument are less coupled
from one another so numerous internal confusions about calling order
- When using Riak::RObject#to_link, a blank tag is no longer allowed.
0.7.0 Feature Release – 2010-05-06
This release includes a number of new features. The largest change is that the library is now split into two gems, ‘riak-client’ and ‘ripple’. ‘riak-client’ supports ActiveSupport 2.3.5, ‘ripple’ only supports 3.0.0.beta3.
A big kudos goes to Adam Hunter who contributed the majority of the new associations code.
In addition, these changes were made:
- Keys should stream properly now from Bucket#keys (the “stream” option was left off).
- Deletes can be issued directly from a Bucket without instantiating an RObject.
- Added a ActiveSupport 3.0-compatible Cache Store. [Shay Frendt]
- Added Bucket#exists?
- A provisionally complete implementation of embedded document associations. [Adam Hunter]
- Ripple::Document passes ActiveModel::Lint tests.
- Updated Rails 3 dependencies to beta3 and RSpec to 2.0.0.beta6
- Ripple::Document handles nil keys better. [John Lynch]
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
- Time-related properties properly convert to string formats in JSON that
they will work in the context of MapReduce jobs.
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
- Added timestamps! method for easily adding created_at/updated_at to documents.
- 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).
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
- Adjusted gem specification to accommodate edge Rails. [Preston Marshall]
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.
- A robust basic client,
- 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)
- Simple finders – all documents, by key