Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

145 lines (114 sloc) 6.957 kB

Ripple Release Notes

0.8.1 Patch/Minor Feature Release – 2010-10-11

Release 0.8.1 includes several new features and bugfixes.

Full notes:

  • Riak::TestServer makes it easier and faster to run automated tests that need to store data in Riak. It includes an in-memory Riak backend that quickly clears its contents at the end of a test/example. All included integration tests now use this.
  • Headers are turned into strings before splitting into 8KB chunks. [Nicolas Fouché]
  • Riak::RObject#prevent_stale_writes option allows conditional PUT semantics, matching on ETag. [Lee Jensen]
  • Riak::RObject#raw_data gives access to the object data before deserialization. [Lee Jensen]
  • Boolean properties on Ripple documents now allow a default value of false. [Duff O’Melia]
  • Ripple documents now support accepts_nested_attributes_for. [Brian Kaney]

0.8.0 Feature Release – 2010-08-31

The 0.8.0 release is packed full of new features and bugfixes. Of particular note are:

  • Rails 3 final support
  • Session stores
  • Linked associations
  • Riak 0.12 support

Full notes:

  • Ripple::Document classes can define their desired quorum parameters.
  • ripple and riak-sessions use Rails 3 final. riak-client is still compatible with active_support >= 2.3.5.
  • Keys are not loaded by default when requesting a Riak::Bucket. This matches the default for Riak 0.12.
  • Ripple::Document now supports update_attributes and update_attribute.
  • Inspection output has been improved for Ripple documents.
  • Ripple::Document classes can now have associations that use links.
  • Property-casting patches are now eagerly loaded.
  • Certain responses from MapReduce can be converted into Riak::RObjects. [Misha Gorodnitzky]
  • Key/bucket (un)escaping has been improved. [Nicolas Fouché]
  • Riak::CacheStore sets and uses bucket-default quorums instead of per-request parameters.
  • Riak::Bucket supports new quorum defaults.
  • The default configuration file for Ripple is now config/ripple.yml. [Ashley Woodard]
  • Added a Rails 3 model generator. [Ashley Woodard]
  • Serializing RObject data via Marshal is now simpler, using “application/x-ruby-marshal” content-type.
  • Large HTTP headers (Link tends to be one) are split into 8KB chunks for both backends.
  • Added session stores for Rack and Rails 3.
  • Document#find returns nil when all arguments are blank.
  • CurbBackend now properly handles IO objects as the request body data.
  • Ripple::Document classes that have the same bucket/key are equivalent using ==.
  • Ripple::Document classes can use a property as the key, as long as it’s a String.

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
    are fixed.
  • 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
    (including slashes).
  • 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
    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).

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]

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
Jump to Line
Something went wrong with that request. Please try again.