*Rails 3.1.0 (unreleased)* * Add support for proc or lambda as an option for InclusionValidator, ExclusionValidator, and FormatValidator [Prem Sichanugrist] You can now supply Proc, lambda, or anything that respond to #call in those validations, and it will be called with current record as an argument. That given proc or lambda must returns an object which respond to #include? for InclusionValidator and ExclusionValidator, and returns a regular expression object for FormatValidator. * Added ActiveModel::SecurePassword to encapsulate dead-simple password usage with BCrypt encryption and salting [DHH] * ActiveModel::AttributeMethods allows attributes to be defined on demand [Alexander Uvarov] *Rails 3.0.2 (unreleased)* * No changes *Rails 3.0.1 (October 15, 2010)* * No Changes, just a version bump. *Rails 3.0.0 (August 29, 2010)* * Added ActiveModel::MassAssignmentSecurity [Eric Chapweske, Josh Kalderimis] * JSON supports a custom root option: to_json(:root => 'custom') #4515 [Jatinder Singh] * #new_record? and #destroyed? were removed from ActiveModel::Lint. Use persisted? instead. A model is persisted if it's not a new_record? and it was not destroyed? [MG] * Added validations reflection in ActiveModel::Validations [JV] Model.validators Model.validators_on(:field) * #to_key was added to ActiveModel::Lint so we can generate DOM IDs for AMo objects with composite keys [MG] * ActiveModel::Observer#add_observer! It has a custom hook to define after_find that should really be in a ActiveRecord::Observer subclass: def add_observer!(klass) klass.add_observer(self) klass.class_eval 'def after_find() end' unless klass.respond_to?(:after_find) end * Change the ActiveModel::Base.include_root_in_json default to true for Rails 3 [DHH] * Add validates_format_of :without => /regexp/ option. #430 [Elliot Winkler, Peer Allan] Example : validates_format_of :subdomain, :without => /www|admin|mail/ * Introduce validates_with to encapsulate attribute validations in a class. #2630 [Jeff Dean] * Extracted from Active Record and Active Resource.