Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

135 lines (103 sloc) 5.6 KB



  • added CouchPotato::Database.load! (langalex)


  • added CouchPotato::Database#first and #first! methods (langalex)
  • added workaround for BigCouch/Cloudant to not add null reduce functions to views (langalex)
  • don't add _attachments if there are none (langalex)


  • fixed issues with tzinfo gem (Bernd Ahlers)


  • time zone support (Time properties are now converted to current (langalex)
  • lazy property initialization (performance!) (langalex)
  • active_model is now the default validation framework (langalex)


  • ruby 1.9.2 compatibility (langalex)
  • couch potato objects now behave correctly when used as keys in Hashes (langalex)
  • use as_json instead of to_s(:json), which is the rails way
  • use ActiveModel dirty tracking (langalex) - this means no more "deep tracking", e.g. user.tags << 'new_tag'; user.dirty? # false


  • support yielding to blocks on #initialize (martinrehfeld)
  • support for negative numbers in Fixnum/Float properties (langalex)


  • ActiveModel callbacks (kazjote)
  • do not use Rails.env in initializer as it will free Rails.env for all times and in Rails 2.3.x apps it will be called too early thus always beeing development (jweiss)
  • ruby 1.9.2 compatibility (langalex)
  • can configure validation framework in couchdb.yml, process couchdb.yml with erb (langalex)


  • support for lists (langalex)


  • added persisted? and to_key for proper ActiveModel compliance (thilo)
  • id setter (jhohertz-work)
  • load document ids if include_documents is false (jweiss)
  • persist given created_at/updated_at instead of (langalex)


  • Removed requirement for validatable gem. Allows for using more uptodate versions of the library, or doesn't install it when you're using ActiveModel. (mattmatt)
  • fixed callbacks of super classes were not run (langalex)


  • pass in multiple keys when querying a view (langalex)


  • nicer inspect() for models (mattmatt)
  • fixed (re)reduce for property views wasn't working (langalex)


  • fixed reloading nested classes (langalex)
  • fixed constant missing error when loading models with uninitialized classes via views (langalex)
  • added rspec helpers for stubbing out views (langalex)
  • fixed design document names for nested model classes (svenfuchs)


  • workaround for Rails apps using bundler: database name was not initialized from couchdb.yml (langalex)


  • added to_s(:json) to Date and Time to be able to get properly formatted dates/times for searching with dates/times (langalex)
  • all times are now stored as UTC (langalex)
  • added support for Float attributes (arbovm)


  • automatic view updates: when you change the definition of a view couch potato will now update the design document in the database (langalex)
  • support for properties of type Date, better support for Time (langalex)
  • support for default reduce count methods in custom views (jweiss)


  • persistent instances can now be marked as dirty with #is_dirty (langalex)



  • fixed properties with default values returned default when a blank value like '' or [] was set (langalex)


  • automatically set a database instance on results of CouchPotato::Database#view (langalex)
  • improved auto loading of unloaded constants - can now load constants that have never been loaded before (langalex)
  • raise exception on invalid parameters passed to a couchdb view query (langalex)
  • when querying a view: pass in ranges as key instead of startkey/endkey, pass in plain value instead of hash with key (langalex)


  • support for :boolean properties (jweiss)
  • return the total_rows when querying a view (langalex)


  • added conditions to views (langalex)


  • set Fixnum property to nil when given a blank string (langalex)


  • fixed nil attributes were omitted in json (jweiss, mattmatt)
  • support for properties of type Fixnum (langalex)


  • fixed problem with classes being not loaded in rails development mode (langalex)
  • fixed persist boolean false value (bernd)


  • ability to change the name of the attribute that stores the ruby class in the documents by setting JSON.create_id (lennart)
  • fixed double loading issue with bundler (jweiss)
  • fixed an issue with setting attachments (endor)


  • support adding errors in before_validation callbacks (mattmatt)
  • support for inheritance (mattmatt)
  • support for save without validations (mattmatt)
  • improved (de)serialization now supports deserializing nested objects (railsbros, specs by hagenburger)
  • RSpec matchers for testing map/reduce functions (langalex)


  • fixed bug with hardcoded timezone


  • allow to overwrite attribute accessor of properties and use super to call the original accessors
  • allow read access to attributes that are present in the Couchdb document but not defined as properties
  • support default values for properties via the :default parameter
  • support attachments via the _attachments property
  • support for namespaces models
  • removed belongs_to macro for now
  • removed CouchPotato::Config.database_server, just set CouchPotato::Config.database_name to the full url if you are not using localhost:5984
  • Ruby 1.9 was broken and is now working again
Jump to Line
Something went wrong with that request. Please try again.