ActiveAttr 0.16.0 (October 30, 2023)
- ActiveAttr now supports Ruby 3.1
- ActiveAttr now supports Ruby 3.2
- ActiveAttr now supports Rails 7.1 (thanks @mathieujobin)
ActiveAttr 0.15.4 (December 16, 2021)
- ActiveAttr now supports Rails 7.0 (Steve Hoeksema)
ActiveAttr 0.15.3 (April 12, 2021)
- #185 Fixed ReDoS vulnerability in BooleanTypecaster#call (ねず)
ActiveAttr 0.15.2 (February 17, 2021)
- ActiveAttr now supports Ruby 3.0
- Allow unreleased versions of Rails 7.0
ActiveAttr 0.15.1 (December 11, 2020)
- ActiveAttr now supports Ruby 2.7
- ActiveAttr now supports Rails 6.1
- Drop support for Ruby versions below 2.1
ActiveAttr 0.15.0 (June 12, 2019)
- Add missing ActiveSupport require for Attributes
- Change numeric typecasters to cast nil and empty strings to nil
ActiveAttr 0.14.0 (June 10, 2019)
- Drop support for Ruby versions below 1.9.2
- #139 Changed Typecasting::BooleanTypecaster to cast nil and empty
strings to false (Corin Langosch)
- Attributes#inspect is now filtered based on filtered_attributes,
which defaults to
Rails.application.config.filter_parameters
in
Rails apps.
- #143 Changed Attributes to allocate less objects (Chris Grigg)
- #153 Changed HaveAttributeMatcher#with_default_value_of to support
Procs (Yoshiyuki Hirano)
- #145 Add ActiveModel::Validations::Callbacks to ActiveAttr::Model
(Kazuki BABA)
ActiveAttr 0.13.1 (April 25, 2019)
- ActiveAttr now supports Rails 6.0
ActiveAttr 0.13.0 (April 6, 2019)
- ActiveAttr now supports Ruby 2.6
ActiveAttr 0.12.0 (August 6, 2018)
- #167 Changed Typecasting::BooleanTypecaster to cast strings starting
with a zero character to cast to true (Artin Boghosian)
- Changed Typecasting::BooleanTypecaster to cast more numeric strings
to true
ActiveAttr 0.11.0 (May 29, 2018)
- #166 Changed Typecasting::DateTimeTypecaster to not raise on invalid
Strings (Omoto Kenji)
ActiveAttr 0.10.3 (February 16, 2018)
- ActiveAttr now supports Rails 5.2
ActiveAttr 0.10.2 (July 21, 2017)
- Add the license to the gemspec (Koichi ITO)
ActiveAttr 0.10.1 (May 4, 2017)
- Documentation and test updates for Ruby 2.4 deprecating Fixnum
- ActiveAttr now supports Rails 5.1
ActiveAttr 0.10.0 (February 7, 2017)
- ActiveAttr now supports Ruby 2.4.0
ActiveAttr 0.9.0 (January 27, 2016)
- ActiveAttr now supports Rails 5.0.0
- Following the lead of Rails 5, Serialization no longer includes XML
serialization by default. Include the ActiveModel::Serializers::Xml
module to get this functionality. With Rails 5. You'll need to
install the activemodel-serializers-xml gem, which is not yet
published on RubyGems.org
ActiveAttr 0.8.5 (December 22, 2014)
- ActiveAttr now supports Rails 4.2.0 (Jesse B. Hannah)
ActiveAttr 0.8.4 (July 11, 2014)
- ActiveAttr now supports RSpec 3.0.0 (Aaron Mc Adam)
ActiveAttr 0.8.3 (April 8, 2014)
- ActiveAttr now supports Rails 4.1.0
ActiveAttr 0.8.2 (June 16, 2013)
- #108 Fix grammar in HaveAttributeMatcher#description (Matt Hodan)
- #110 #116 Improve performance of typecasting (Roman Heinrich)
ActiveAttr 0.8.1 (June 9, 2013)
- #121 Fix compatibility with ActiveModel Serializers gem by dropping support
for Rails 3.2 edge prior to RC1
ActiveAttr 0.8.0 (May 2, 2013)
- ActiveAttr now supports Rails 4.0.0
- ActiveAttr now supports Ruby 2.0.0
- HaveAttributeMatcher failure messages now use an expected/got format
- Removed MassAssignmentSecurity, sanitizer support has been merged into
MassAssignment. Include the ActiveModel::MassAssignmentSecurity module or
ActiveModel::ForbiddenAttributesProtection depending on your Rails version
ActiveAttr 0.7.0 (December 15, 2012)
- Added Serialization
- Changed Typecasting::DateTypecaster to not raise on invalid Strings
- #114 Fixed NoMethodError in TypecastedAttributes#attribute_before_type_cast
ActiveAttr 0.6.0 (June 27, 2012)
- Added AttributeDefinition#inspect
- Added Attributes.attribute!
- Added Attributes.dangerous_attribute?
- Added missing autoload for BlockInitialization
- Added Typecasting#typecaster_for
- Added Typecasting::UnknownTypecasterError
- Changed Typecasting#typecast_attribute to take a typecaster, not a type
- Removed Typecasting#typecast_value
- TypecastedAttributes now supports a :typecaster option on attribute
definitions which can be any object that responds to #call
ActiveAttr 0.5.1 (March 16, 2012)
- ActiveAttr now supports Rails 3.0.2+ (Egor Baranov)
ActiveAttr 0.5.0 (March 11, 2012)
- ActiveAttr is now Ruby warning free
- Added AttributeDefaults
- Added AttributeDefinition#[]
- Added Attributes.attribute_names
- Added Matchers::HaveAttributeMatcher#of_type
- Added Matchers::HaveAttributeMatcher#with_default_value_of
- Added TypecastedAttributes
- Added Typecasting
- Added Typecasting::BigDecimalTypecaster
- Added Typecasting::Boolean
- Added Typecasting::BooleanTypecaster
- Added Typecasting::DateTimeTypecaster
- Added Typecasting::DateTypecaster
- Added Typecasting::FloatTypecaster
- Added Typecasting::IntegerTypecaster
- Added Typecasting::ObjectTypecaster
- Added Typecasting::StringTypecaster
- Changed Attributes.attributes return value from an Array to a Hash
- Changed HaveAttributeMatcher to return spec failures when the model is
missing ActiveAttr modules
- Changed redefining an attribute to actually redefine the attribute
- Removed StrictMassAssignment, instead use MassAssignmentSecurity with
ActiveModel v3.2 which allows assigning mass_assignment_sanitizer to
:strict on the class
ActiveAttr 0.4.1 (November 27, 2011)
- Implemented ActiveModel serialization in Model
ActiveAttr 0.4.0 (November 26, 2011)
- Added Model
- Support for ActiveModel 3.2
ActiveAttr 0.3.0 (November 26, 2011)
- Added BlockInitialization
- Added DangerousAttributeError
- Added Logger
- Added MassAssignmentSecurity
- Added QueryAttributes
- Added UnknownAttributeError
- Attributes now honors getters/setters when calling #read_attribute,
#write_attribute, #[], and #[]=
- Attributes now raises DangerousAttributeError when defining an attribute
whose methods would conflict with an existing method
- Attributes now raises UnknownAttributeError when getting/setting any
undefined attributes
ActiveAttr 0.2.2 (November 2, 2011)
- Fixed all instances of modules' #initialize not invoking its superclass
- Fixed redefining an attribute appending a new AttributeDefinition
- Subclassing a model using Attributes will now copy the parent's attribute
definitions to the subclass
ActiveAttr 0.2.1 (October 19, 2011)
- Added AttributeDefinition#<=>
- Added AttributeDefinition#to_sym
- Added Attributes#[]
- Added Attributes#[]=
- Attributes#attributes now returns the results of overridden getters
- Attributes.inspect and Attributes#inspect are now in alphabetical order
- Overridden attribute getters and setters can now call super
ActiveAttr 0.2.0 (October 3, 2011)
- ActiveAttr now autoloads nested classes and modules
- Added AttributeDefinition
- Added Attributes
- Added BasicModel
- Added Error
- Added Matchers::HaveAttributeMatcher
- Added StrictMassAssignment
- Added UnknownAttributesError
- Documented everything
ActiveAttr 0.1.0 (September 30, 2011)
- Added MassAssignment#assign_attributes
- Added MassAssignment#attributes=
- Added MassAssignment#initialize