- #183: Added Mash#load with YAML file support - @gregory.
- #195: Ensure that the same object is returned after injecting IndifferentAccess - @michaelherold.
- #197: Dont convert keys to string on initalization of mash - @gregory.
- #201: Hashie::Trash transforms can be inherited - @fobocaster.
- #189: Added Rash#fetch - @medcat.
- #200: Improved coercion: primitives and error handling - @maxlinc.
- #204: Added Hashie::Extensions::MethodOverridingWriter and Hashie::Extensions::MethodAccessWithOverride - @michaelherold.
- #205: Added Hashie::Extensions::Mash::SafeAssignment - @michaelherold.
- #206: Fixed stack overflow from repetitively including coercion in subclasses - @michaelherold.
- Your contribution here.
- #164, #165, #166: Fixed stack overflow when coercing mashes that contain ActiveSupport::HashWithIndifferentAccess values - @numinit, @kgrz.
- #177: Added support for coercing enumerables and collections - @gregory.
- #179: Mash#values_at will convert each key before doing the lookup - @nahiluhmot.
- #184: Allow ranges on Rash to match all Numeric types - @medcat.
- #187: Automatically require version - @medcat.
- #190: Fixed
coerce_key
withfrom
Trash feature and Coercion extension - @gregory. - #192: Fixed StringifyKeys#stringify_keys! to recursively stringify keys of embedded ::Hash types - @dblock.
- #169: Hash#to_hash will also convert nested objects that implement to_hash - @gregory.
- #171: Include Trash and Dash class name when raising
NoMethodError
- @gregory. - #172: Added Dash and Trash#update_attributes! - @gregory.
- #173: Auto include Dash::IndifferentAccess when IndiferentAccess is included in Dash - @gregory.
- #174: Fixed
from
andtransform_with
Trash features when IndifferentAccess is included - @gregory.
Note: This version introduces several backward incompatible API changes. See UPGRADING for details.
- #150: Handle nil intermediate object on deep fetch - @stephenaument.
- #146: Mash#respond_to? inconsistent with #method_missing and does not respond to #permitted? - @dblock.
- #152: Do not convert keys to String in Hashie::Dash and Hashie::Trash, use Hashie::Extensions::Dash::IndifferentAccess to achieve backward compatible behavior - @dblock.
- #152: Do not automatically stringify keys in Hashie::Hash#to_hash, pass
:stringify_keys
to achieve backward compatible behavior - @dblock. - #148: Consolidated Hashie::Hash#stringify_keys implementation - @dblock.
- #149: Allow IgnoreUndeclared and DeepMerge to be used with undeclared properties - @jhaesus.
- #134: Add deep_fetch extension for nested access - @tylerdooling.
- Removed support for Ruby 1.8.7 - @dblock.
- Ruby style now enforced with Rubocop - @dblock.
- #138: Added Hashie#Rash, a hash whose keys can be regular expressions or ranges - @epitron.
- #131: Added IgnoreUndeclared, an extension to silently ignore undeclared properties at intialization - @righi.
- #136: Removed Hashie::Extensions::Structure - @markiz.
- #107: Fixed excessive value conversions, poor performance of deep merge in Hashie::Mash - @davemitchell, @dblock.
- #69: Fixed assigning multiple properties in Hashie::Trash - @einzige.
- #100: IndifferentAccess#store will respect indifference - @jrochkind.
- #103: Fixed support for Hashie::Dash properties that end in bang - @thedavemarshall.
- 89: Do not respond to every method with suffix in Hashie::Mash, fixes Rails strong_parameters - @Maxim-Filimonov.
- #110: Correctly use Hash#default from Mash#method_missing - @ryansouza.
- #120: Pass options to recursive to_hash calls - @pwillett.
- #113: Fixed Hash#merge with Hashie::Dash - @spencer1248.
- #99: Hash#deep_merge raises errors when it encounters integers - @defsprite.
- #133: Fixed Hash##to_hash with symbolize_keys - @mhuggins.
- #130: IndifferentAccess now works without MergeInitializer - @npj.
- #111: Trash#translations correctly maps original to translated names - @artm.
- #129: Added Trash#permitted_input_keys and inverse_translations - @artm.
- #96: Make coercion work better with non-symbol keys in Hashie::Mash - @wapcaplet.
- #04: Make #fetch method consistent with normal Hash - @markiz.
- #90: Various doc tweaks - @craiglittle.
- #81: remove Mash#object_id override - @matschaffer.
- Gem cleanup: removed VERSION, Gemfile.lock @jch, @mbleigh.
- #72: Updated gemspec with license info - @jordimassaguerpla.
- #27: Initialized with merge coerces values - @mattfawcett.
- #28: Hashie::Extensions::Coercion coerce_keys takes arguments - @mattfawcett.
- #39: Trash removes translated values on initialization - @sleverbor.
- #66: Mash#fetch works with symbol or string keys - @arthwood.
- #49: Hashie::Hash inherits from ::Hash to avoid ambiguity - @meh, @orend.
- #62: update respond_to? method signature to match ruby core definition - @dlupu.
- #41: DeepMerge extension - @nashby.
- #63: Dash defaults are dup'ed before assigned - @ohrite.
- #77: Remove id, type, and object_id as special allowable keys @jch.
- #78: Merge and update accepts a block - @jch.