Skip to content

Latest commit

 

History

History
150 lines (114 loc) · 15 KB

CHANGELOG.md

File metadata and controls

150 lines (114 loc) · 15 KB

Next Release

  • Your contribution here.
  • #304: Ensured compatibility of Hash extensions with singleton objects - @regexident.

3.4.2 (6/2/2015)

3.4.1 (3/31/2015)

  • #269: Added Hashie::Extensions::DeepLocate - @msievers.
  • #270: Fixed ArgumentError raised when using IndifferentAccess and HashWithIndifferentAccess - @gardenofwine.
  • #281: Added #reverse_merge to Mash to override ActiveSupport's version - @mgold.
  • #282: Fixed coercions in a subclass accumulating in the superclass - @maxlinc, @martinstreicher.

3.4.0 (2/02/2015)

  • #271: Added ability to define defaults based on current hash - @gregory.
  • #247: Fixed #stringify_keys and #symbolize_keys collision with ActiveSupport - @bartoszkopinski.
  • #249: SafeAssignment will now also protect hash-style assignments - @jrochkind.
  • #251: Added block support to indifferent access #fetch - @jgraichen.
  • #252: Added support for conditionally required Hashie::Dash attributes - @ccashwell.
  • #256: Inherit key coercions - @Erol.
  • #259: Fixed handling of default proc values in Mash - @Erol.
  • #260: Added block support to Extensions::DeepMerge - @galathius.
  • #254: Added public utility methods for stringify and symbolize keys - @maxlinc.
  • #261: Fixed bug where Dash.property modifies argument object - @d-tw.
  • #264: Methods such as abc? return true/false with Hashie::Extensions::MethodReader - @Zloy.
  • #269: Add #extractable_options? so ActiveSupport Array#extract_options! can extract it - @ridiculous.

3.3.2 (11/26/2014)

  • #233: Custom error messages for required properties in Hashie::Dash subclasses - @joss.
  • #231: Added support for coercion on class type that inherit from Hash - @gregory.
  • #228: Made Hashie::Extensions::Parsers::YamlErbParser pass template filename to ERB - @jperville.
  • #224: Merging Hashie::Mash now correctly only calls the block on duplicate values - @amysutedja.
  • #221: Reduce amount of allocated objects on calls with suffixes in Hashie::Mash - @kubum.
  • #245: Added Hashie::Extensions::MethodAccessWithOverride to autoloads - @Fritzinger.

3.3.1 (8/26/2014)

3.2.0 (7/10/2014)

  • #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 with from Trash feature and Coercion extension - @gregory.
  • #192: Fixed StringifyKeys#stringify_keys! to recursively stringify keys of embedded ::Hash types - @dblock.

3.1.0 (6/25/2014)

  • #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 and transform_with Trash features when IndifferentAccess is included - @gregory.

3.0.0 (6/3/2014)

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.

2.1.2 (5/12/2014)

  • #169: Hash#to_hash will also convert nested objects that implement to_hash - @gregory.

2.1.1 (4/12/2014)

  • #144: Fixed regression invoking to_hash with no parameters - @mbleigh.

2.1.0 (4/6/2014)

  • #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.

2.0.5

  • #96: Make coercion work better with non-symbol keys in Hashie::Mash - @wapcaplet.

2.0.4

2.0.3

  • #88: Hashie::Mash.new(abc: true).respond_to?(:abc?) works - @7even.
  • #68: Fix #replace - @jimeh.

2.0.2

2.0.1

2.0.0

  • #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.