Hashie v5.0.0 Release Notes

Release Date: 2021-11-08 // over 2 years ago
  • โž• Added

    • #523: Added TOC, ensure a keep-a-changelog formatted CHANGELOG - @dblock.
    • #522: Added eierlegende Wollmilchsau mascot graphic - @carolineartz.
    • #530: Added Hashie::Extensions::Dash::PredefinedValues - @caalberts.
    • #536: Added exporting a normal Hash from an indifferent one through the #to_hash method - @michaelherold.
    • โœ… #539: Run 2.7 tests once - @anakinj.

    ๐Ÿ”„ Changed

    • #521: Do not convert keys that cannot be represented as symbols to String in Mash initialization - @carolineartz.
    • โœ… #524: Test with Ruby 2.7 - @aried3r.
    • #525: Use indifferent_writer in IndifferentAccess#convert! - @yogeshjain999.
    • โšก๏ธ #527: Updated Copyright to (c) 2009-2020 Intridea, Inc., and Contributors - @dblock.
    • โœ… #555: Test with Ruby 3.0 - @dblock.

    โœ‚ Removed

    ๐Ÿ›  Fixed

    • ๐Ÿ›  #516: Fixed NoMethodError raised when including Hashie::Extensions::Mash::SymbolizeKeys and Hashie::Extensions::SymbolizeKeys in mashes/hashes with non string or symbol keys - @carolineartz.
    • ๐Ÿ›  #531: Fixed slice doesn't work using symbols using hash with IndifferentAccess extension - @gnomex.
    • #533: Fixed NoMethodError: undefined method 'to_json' at hashie/dash_spec - @gnomex.
    • #535: Restored the exporting of all properties as part of Dash#to_h and Dash#to_hash - @michaelherold.
    • 0๏ธโƒฃ #537: Fixed inconsistencies with handling defaults in Dash with and without IgnoreUnclared mixed in - @michaelherold.
    • ๐Ÿ›  #547: Fixed issue where a source hash key can be used in translating multiple properties - @danwa5.

Previous changes from v4.1.0

  • โž• Added

    • ๐Ÿ’Ž #545: Add Hashie::Mash#except and Hashie::Extensions::IndifferentAccess#except when running under Ruby 3 to match newly added Ruby stdlib method - @jackjennings.
    • #499: Add Hashie::Extensions::Mash::PermissiveRespondTo to make specific subclasses of Mash fully respond to messages for use with SimpleDelegator - @michaelherold.

    ๐Ÿ”„ Changed

    • ๐Ÿš€ #498: Exclude tests from the gem release to reduce installation size and improve installation speed - @michaelherold.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  #467: Fixed DeepMerge#deep_merge mutating nested values within the receiver - @michaelherold.
    • #505: Ensure that Hashie::Arrays are not deconverted within Hashie::Mashes to make Mash#dig work properly - @michaelherold.
    • #507: Suppress Psych.safe_load arg warn when using Psych 3.1.0+ - @koic.
    • ๐Ÿš… #508: Fixed Mash.load no longer uses Rails-only #except - @bobbymcwho.
    • ๐Ÿ”€ #508: Fixed Hashie::Extensions::DeepMerge #deep_merge not correctly dup'ing sub-hashes if active_support hash extensions were not present - @bobbymcwho.
    • #500: Do not warn when setting Mash keys that look like underbang, bang, and query methods - @michaelherold.
    • ๐Ÿ’Ž #510: Ensure that Hashie::Mash#compact is only defined on Ruby version >= 2.4.0 - @bobbymcwho.
    • โš  #511: Suppress keyword arguments warning for Ruby 2.7.0 - @koic.
    • โš  #512: Suppress an integer unification warning for using Ruby 2.4.0+ - @koic.
    • โš  #513: Suppress a Ruby's warning when using Ruby 2.6.0+ - @koic.