hashie 3.5.7 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +281 -195
- data/CONTRIBUTING.md +13 -6
- data/LICENSE +1 -1
- data/README.md +320 -60
- data/Rakefile +2 -2
- data/UPGRADING.md +121 -7
- data/hashie.gemspec +13 -7
- data/lib/hashie/clash.rb +12 -1
- data/lib/hashie/dash.rb +56 -35
- data/lib/hashie/extensions/active_support/core_ext/hash.rb +14 -0
- data/lib/hashie/extensions/coercion.rb +26 -19
- data/lib/hashie/extensions/dash/indifferent_access.rb +29 -1
- data/lib/hashie/extensions/dash/predefined_values.rb +88 -0
- data/lib/hashie/extensions/dash/property_translation.rb +59 -28
- data/lib/hashie/extensions/deep_fetch.rb +5 -3
- data/lib/hashie/extensions/deep_find.rb +14 -5
- data/lib/hashie/extensions/deep_locate.rb +22 -8
- data/lib/hashie/extensions/deep_merge.rb +26 -10
- data/lib/hashie/extensions/ignore_undeclared.rb +4 -5
- data/lib/hashie/extensions/indifferent_access.rb +43 -10
- data/lib/hashie/extensions/key_conflict_warning.rb +55 -0
- data/lib/hashie/extensions/mash/define_accessors.rb +90 -0
- data/lib/hashie/extensions/mash/keep_original_keys.rb +4 -5
- data/lib/hashie/extensions/mash/permissive_respond_to.rb +61 -0
- data/lib/hashie/extensions/mash/safe_assignment.rb +3 -1
- data/lib/hashie/extensions/mash/symbolize_keys.rb +6 -6
- data/lib/hashie/extensions/method_access.rb +47 -14
- data/lib/hashie/extensions/parsers/yaml_erb_parser.rb +28 -4
- data/lib/hashie/extensions/ruby_version_check.rb +5 -1
- data/lib/hashie/extensions/strict_key_access.rb +16 -13
- data/lib/hashie/extensions/stringify_keys.rb +1 -1
- data/lib/hashie/extensions/symbolize_keys.rb +13 -2
- data/lib/hashie/hash.rb +18 -11
- data/lib/hashie/mash.rb +147 -81
- data/lib/hashie/railtie.rb +7 -0
- data/lib/hashie/rash.rb +6 -6
- data/lib/hashie/utils.rb +28 -0
- data/lib/hashie/version.rb +1 -1
- data/lib/hashie.rb +22 -19
- metadata +23 -131
- data/spec/hashie/array_spec.rb +0 -29
- data/spec/hashie/clash_spec.rb +0 -70
- data/spec/hashie/dash_spec.rb +0 -573
- data/spec/hashie/extensions/autoload_spec.rb +0 -24
- data/spec/hashie/extensions/coercion_spec.rb +0 -631
- data/spec/hashie/extensions/dash/coercion_spec.rb +0 -13
- data/spec/hashie/extensions/dash/indifferent_access_spec.rb +0 -84
- data/spec/hashie/extensions/deep_fetch_spec.rb +0 -97
- data/spec/hashie/extensions/deep_find_spec.rb +0 -138
- data/spec/hashie/extensions/deep_locate_spec.rb +0 -137
- data/spec/hashie/extensions/deep_merge_spec.rb +0 -70
- data/spec/hashie/extensions/ignore_undeclared_spec.rb +0 -47
- data/spec/hashie/extensions/indifferent_access_spec.rb +0 -282
- data/spec/hashie/extensions/indifferent_access_with_rails_hwia_spec.rb +0 -208
- data/spec/hashie/extensions/key_conversion_spec.rb +0 -12
- data/spec/hashie/extensions/mash/keep_original_keys_spec.rb +0 -46
- data/spec/hashie/extensions/mash/safe_assignment_spec.rb +0 -50
- data/spec/hashie/extensions/mash/symbolize_keys_spec.rb +0 -39
- data/spec/hashie/extensions/merge_initializer_spec.rb +0 -23
- data/spec/hashie/extensions/method_access_spec.rb +0 -188
- data/spec/hashie/extensions/strict_key_access_spec.rb +0 -110
- data/spec/hashie/extensions/stringify_keys_spec.rb +0 -124
- data/spec/hashie/extensions/symbolize_keys_spec.rb +0 -129
- data/spec/hashie/hash_spec.rb +0 -84
- data/spec/hashie/mash_spec.rb +0 -763
- data/spec/hashie/parsers/yaml_erb_parser_spec.rb +0 -46
- data/spec/hashie/rash_spec.rb +0 -83
- data/spec/hashie/trash_spec.rb +0 -268
- data/spec/hashie/utils_spec.rb +0 -25
- data/spec/hashie/version_spec.rb +0 -7
- data/spec/hashie_spec.rb +0 -13
- data/spec/integration/omniauth/app.rb +0 -11
- data/spec/integration/omniauth/integration_spec.rb +0 -38
- data/spec/integration/omniauth-oauth2/app.rb +0 -53
- data/spec/integration/omniauth-oauth2/integration_spec.rb +0 -26
- data/spec/integration/omniauth-oauth2/some_site.rb +0 -38
- data/spec/integration/rails/app.rb +0 -48
- data/spec/integration/rails/integration_spec.rb +0 -26
- data/spec/integration/rails-without-dependency/integration_spec.rb +0 -15
- data/spec/spec_helper.rb +0 -23
- data/spec/support/integration_specs.rb +0 -36
- data/spec/support/logger.rb +0 -24
- data/spec/support/module_context.rb +0 -11
- data/spec/support/ruby_version_check.rb +0 -6
data/CHANGELOG.md
CHANGED
@@ -1,455 +1,541 @@
|
|
1
|
-
#
|
1
|
+
# Changelog
|
2
2
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
4
|
-
project adheres to [Semantic Versioning 2.0.0][semver]. Any violations of this
|
5
|
-
scheme are considered to be bugs.
|
3
|
+
All notable changes to this project will be documented in this file.
|
6
4
|
|
7
|
-
[
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
|
+
Any violations of this scheme are considered to be bugs.
|
8
|
+
|
9
|
+
## [5.0.0] - 2021-11-08
|
10
|
+
|
11
|
+
[5.0.0]: https://github.com/hashie/hashie/compare/v4.1.0...v5.0.0
|
12
|
+
|
13
|
+
### Added
|
14
|
+
|
15
|
+
* [#523](https://github.com/hashie/hashie/pull/523): Added TOC, ensure a keep-a-changelog formatted CHANGELOG - [@dblock](https://github.com/dblock).
|
16
|
+
* [#522](https://github.com/hashie/hashie/pull/522): Added eierlegende Wollmilchsau mascot graphic - [@carolineartz](https://github.com/carolineartz).
|
17
|
+
* [#530](https://github.com/hashie/hashie/pull/530): Added Hashie::Extensions::Dash::PredefinedValues - [@caalberts](https://github.com/caalberts).
|
18
|
+
* [#536](https://github.com/hashie/hashie/pull/536): Added exporting a normal Hash from an indifferent one through the `#to_hash` method - [@michaelherold](https://github.com/michaelherold).
|
19
|
+
* [#539](https://github.com/hashie/hashie/pull/539): Run 2.7 tests once - [@anakinj](https://github.com/anakinj).
|
20
|
+
|
21
|
+
### Changed
|
22
|
+
|
23
|
+
* [#521](https://github.com/hashie/hashie/pull/499): Do not convert keys that cannot be represented as symbols to `String` in `Mash` initialization - [@carolineartz](https://github.com/carolineartz).
|
24
|
+
* [#524](https://github.com/hashie/hashie/pull/524): Test with Ruby 2.7 - [@aried3r](https://github.com/aried3r).
|
25
|
+
* [#525](https://github.com/hashie/hashie/pull/525): Use `indifferent_writer` in `IndifferentAccess#convert!` - [@yogeshjain999](https://github.com/yogeshjain999).
|
26
|
+
* [#527](https://github.com/hashie/hashie/pull/527): Updated Copyright to (c) 2009-2020 Intridea, Inc., and Contributors - [@dblock](https://github.com/dblock).
|
27
|
+
* [#555](https://github.com/hashie/hashie/pull/555): Test with Ruby 3.0 - [@dblock](https://github.com/dblock).
|
28
|
+
|
29
|
+
### Removed
|
30
|
+
|
31
|
+
* [#538](https://github.com/hashie/hashie/pull/538): Dropped testing for JRuby 9.0, though not support - [@michaelherold](https://github.com/michaelherold).
|
32
|
+
|
33
|
+
### Fixed
|
34
|
+
|
35
|
+
* [#516](https://github.com/hashie/hashie/issues/516): Fixed `NoMethodError` raised when including `Hashie::Extensions::Mash::SymbolizeKeys` and `Hashie::Extensions::SymbolizeKeys` in mashes/hashes with non string or symbol keys - [@carolineartz](https://github.com/carolineartz).
|
36
|
+
* [#531](https://github.com/hashie/hashie/pull/531): Fixed [slice doesn't work using symbols](https://github.com/hashie/hashie/issues/529) using hash with `IndifferentAccess` extension - [@gnomex](https://github.com/gnomex).
|
37
|
+
* [#533](https://github.com/hashie/hashie/pull/533): Fixed `NoMethodError: undefined method 'to_json'` at `hashie/dash_spec` - [@gnomex](https://github.com/gnomex).
|
38
|
+
* [#535](https://github.com/hashie/hashie/pull/535): Restored the exporting of all properties as part of `Dash#to_h` and `Dash#to_hash` - [@michaelherold](https://github.com/michaelherold).
|
39
|
+
* [#537](https://github.com/hashie/hashie/pull/537): Fixed inconsistencies with handling defaults in `Dash` with and without `IgnoreUnclared` mixed in - [@michaelherold](https://github.com/michaelherold).
|
40
|
+
* [#547](https://github.com/hashie/hashie/pull/547): Fixed issue where a source hash key can be used in translating multiple properties - [@danwa5](https://github.com/danwa5).
|
41
|
+
|
42
|
+
## [4.1.0] - 2020-02-01
|
43
|
+
|
44
|
+
[4.1.0]: https://github.com/hashie/hashie/compare/v4.0.0...v4.1.0
|
45
|
+
|
46
|
+
### Added
|
47
|
+
|
48
|
+
* [#545](https://github.com/hashie/hashie/pull/545): Add `Hashie::Mash#except` and `Hashie::Extensions::IndifferentAccess#except` when running under Ruby 3 to match newly added Ruby stdlib method - [@jackjennings](https://github.com/jackjennings).
|
49
|
+
* [#499](https://github.com/hashie/hashie/pull/499): Add `Hashie::Extensions::Mash::PermissiveRespondTo` to make specific subclasses of Mash fully respond to messages for use with `SimpleDelegator` - [@michaelherold](https://github.com/michaelherold).
|
50
|
+
|
51
|
+
### Changed
|
52
|
+
|
53
|
+
* [#498](https://github.com/hashie/hashie/pull/498): Exclude tests from the gem release to reduce installation size and improve installation speed - [@michaelherold](https://github.com/michaelherold).
|
54
|
+
|
55
|
+
### Fixed
|
56
|
+
|
57
|
+
* [#467](https://github.com/intridea/hashie/pull/467): Fixed `DeepMerge#deep_merge` mutating nested values within the receiver - [@michaelherold](https://github.com/michaelherold).
|
58
|
+
* [#505](https://github.com/hashie/hashie/pull/505): Ensure that `Hashie::Array`s are not deconverted within `Hashie::Mash`es to make `Mash#dig` work properly - [@michaelherold](https://github.com/michaelherold).
|
59
|
+
* [#507](https://github.com/hashie/hashie/pull/507): Suppress `Psych.safe_load` arg warn when using Psych 3.1.0+ - [@koic](https://github.com/koic).
|
60
|
+
* [#508](https://github.com/hashie/hashie/pull/508): Fixed `Mash.load` no longer uses Rails-only `#except` - [@bobbymcwho](https://github.com/bobbymcwho).
|
61
|
+
* [#508](https://github.com/hashie/hashie/pull/508): Fixed `Hashie::Extensions::DeepMerge` `#deep_merge` not correctly dup'ing sub-hashes if active_support hash extensions were not present - [@bobbymcwho](https://github.com/bobbymcwho).
|
62
|
+
* [#500](https://github.com/hashie/hashie/pull/500): Do not warn when setting Mash keys that look like underbang, bang, and query methods - [@michaelherold](https://github.com/michaelherold).
|
63
|
+
* [#510](https://github.com/hashie/hashie/pull/510): Ensure that `Hashie::Mash#compact` is only defined on Ruby version >= 2.4.0 - [@bobbymcwho](https://github.com/bobbymcwho).
|
64
|
+
* [#511](https://github.com/hashie/hashie/pull/511): Suppress keyword arguments warning for Ruby 2.7.0 - [@koic](https://github.com/koic).
|
65
|
+
* [#512](https://github.com/hashie/hashie/pull/512): Suppress an integer unification warning for using Ruby 2.4.0+ - [@koic](https://github.com/koic).
|
66
|
+
* [#513](https://github.com/hashie/hashie/pull/513): Suppress a Ruby's warning when using Ruby 2.6.0+ - [@koic](https://github.com/koic).
|
67
|
+
|
68
|
+
## [4.0.0] - 2019-10-30
|
69
|
+
|
70
|
+
[4.0.0]: https://github.com/hashie/hashie/compare/v3.6.0...v4.0.0
|
71
|
+
|
72
|
+
### Added
|
73
|
+
|
74
|
+
* [#323](https://github.com/hashie/hashie/pull/323): Added `Hashie::Extensions::Mash::DefineAccessors` - [@marshall-lee](https://github.com/marshall-lee).
|
75
|
+
* [#474](https://github.com/hashie/hashie/pull/474): Expose `YAML#safe_load` options in `Mash#load` - [@riouruma](https://github.com/riouruma), [@dblock](https://github.com/dblock).
|
76
|
+
* [#478](https://github.com/hashie/hashie/pull/478): Added optional array parameter to `Hashie::Mash.disable_warnings` - [@bobbymcwho](https://github.com/bobbymcwho).
|
77
|
+
* [#481](https://github.com/hashie/hashie/pull/481): Ruby 2.6 - Support `Hash#merge` and `#merge!` called with multiple Hashes/Mashes - [@bobbymcwho](https://github.com/bobbymcwho).
|
78
|
+
* [#488](https://github.com/hashie/hashie/pull/488): Added ability to create an anonymous `Hashie::Mash` subclass with key conflict errors silenced using `Hashie::Mash.quiet.new` - [@bobbymcwho](https://github.com/bobbymcwho).
|
79
|
+
|
80
|
+
### Changed
|
81
|
+
|
82
|
+
* [#481](https://github.com/hashie/hashie/pull/481): Implement non-destructive standard Hash methods - [@bobbymcwho](https://github.com/bobbymcwho).
|
83
|
+
* [#482](https://github.com/hashie/hashie/pull/482): Update Travis configs to make jruby builds run on trusty dist - [@BobbyMcWho](https://github.com/BobbyMcWho).
|
84
|
+
|
85
|
+
### Fixed
|
86
|
+
|
87
|
+
* [#459](https://github.com/hashie/hashie/pull/459): Fixed a regression in `Mash.load` that disallowed aliases - [@arekt](https://github.com/arekt) and [@michaelherold](https://github.com/michaelherold).
|
88
|
+
* [#465](https://github.com/hashie/hashie/pull/465): Fixed `deep_update` to call any readers when a key exists - [@laertispappas](https://github.com/laertispappas).
|
89
|
+
* [#479](https://github.com/hashie/hashie/pull/479): Fixed an issue with `Hash#except` not returning a `Mash` in Rails 6 - [@bobbymcwho](https://github.com/bobbymcwho).
|
90
|
+
* [#489](https://github.com/hashie/hashie/pull/489): Updated the documentation to exlain the behavior of `Mash` and keyword arguments - [@Bhacaz](https://github.com/Bhacaz).
|
91
|
+
* [#465](https://github.com/hashie/hashie/pull/465): Clean up our RuboCop configuration and fix the outstanding line length violations. This involved some minor refactoring on `Hashie::Extensions::Coercion`, `Hashie::Extensions::Dash::IndifferentAccess`, `Hashie::Extensions::DeepLocate`, `Hashie::Extensions::Mash::SafeAssignment`, and `Hashie::Hash`, but none that were detectable via the test suite - [@michaelherold](https://github.com/michaelherold).
|
92
|
+
|
93
|
+
## [3.6.0] - 2018-08-13
|
94
|
+
|
95
|
+
[3.6.0]: https://github.com/hashie/hashie/compare/v3.5.7...v3.6.0
|
96
|
+
|
97
|
+
### Added
|
98
|
+
|
99
|
+
* [#455](https://github.com/hashie/hashie/pull/455): Allow overriding methods when passing in a hash - [@lnestor](https://github.com/lnestor).
|
100
|
+
* [#434](https://github.com/hashie/hashie/pull/434): Add documentation around Mash sub-Hashes - [@michaelherold](https://github.com/michaelherold).
|
101
|
+
* [#439](https://github.com/hashie/hashie/pull/439): Add an integration spec for Elasticsearch - [@michaelherold](https://github.com/michaelherold).
|
102
|
+
|
103
|
+
### Changed
|
104
|
+
|
105
|
+
* [#433](https://github.com/hashie/hashie/pull/433): Update Rubocop to the most recent version - [@michaelherold](https://github.com/michaelherold).
|
106
|
+
|
107
|
+
### Fixed
|
108
|
+
|
109
|
+
* [#435](https://github.com/hashie/hashie/pull/435): Mash `default_proc`s are now propagated down to nested sub-Hashes - [@michaelherold](https://github.com/michaelherold).
|
110
|
+
* [#436](https://github.com/hashie/hashie/pull/436): Ensure that `Hashie::Extensions::IndifferentAccess` injects itself after a non-destructive merge - [@michaelherold](https://github.com/michaelherold).
|
111
|
+
* [#437](https://github.com/hashie/hashie/pull/437): Allow codependent properties to be set on Dash - [@michaelherold](https://github.com/michaelherold).
|
112
|
+
* [#438](https://github.com/hashie/hashie/pull/438): Fix: `NameError (uninitialized constant Hashie::Extensions::Parsers::YamlErbParser::Pathname)` in `Hashie::Mash.load` - [@onk](https://github.com/onk).
|
113
|
+
* [#457](https://github.com/hashie/hashie/pull/457): Fix `Trash` to allow it to copy properties from other properties - [@michaelherold](https://github.com/michaelherold).
|
8
114
|
|
9
115
|
## [3.5.7] - 2017-12-19
|
10
116
|
|
11
|
-
[3.5.7]: https://github.com/
|
117
|
+
[3.5.7]: https://github.com/hashie/hashie/compare/v3.5.6...v3.5.7
|
12
118
|
|
13
119
|
### Fixed
|
14
120
|
|
15
|
-
[#430](https://github.com/
|
121
|
+
* [#430](https://github.com/hashie/hashie/pull/430): Fix Hashie::Rash randomly losing items - [@Antti](https://github.com/Antti).
|
16
122
|
|
17
|
-
###
|
123
|
+
### Changed
|
18
124
|
|
19
|
-
* [#425](https://github.com/
|
125
|
+
* [#425](https://github.com/hashie/hashie/pull/425): Update rubies in CI - [@kachick](https://github.com/kachick).
|
20
126
|
|
21
127
|
## [3.5.6] - 2017-07-12
|
22
128
|
|
23
|
-
[3.5.6]: https://github.com/
|
129
|
+
[3.5.6]: https://github.com/hashie/hashie/compare/v3.5.5...v3.5.6
|
24
130
|
|
25
|
-
###
|
131
|
+
### Fixed
|
26
132
|
|
27
|
-
* [#416](https://github.com/
|
133
|
+
* [#416](https://github.com/hashie/hashie/pull/416): Fix `warning: instance variable @disable_warnings not initialized` - [@axfcampos](https://github.com/axfcampos).
|
28
134
|
|
29
135
|
## [3.5.5] - 2017-02-24
|
30
136
|
|
31
|
-
[3.5.5]: https://github.com/
|
137
|
+
[3.5.5]: https://github.com/hashie/hashie/compare/v3.5.4...v3.5.5
|
32
138
|
|
33
139
|
### Added
|
34
140
|
|
35
|
-
* [#326](https://github.com/
|
141
|
+
* [#326](https://github.com/hashie/hashie/pull/326): Added `Hashie::Extensions::Mash::KeepOriginalKeys` to give Mashes the ability to keep the original structure given to it - [@michaelherold](https://github.com/michaelherold).
|
36
142
|
|
37
143
|
### Fixed
|
38
144
|
|
39
|
-
* [#415](https://github.com/
|
145
|
+
* [#415](https://github.com/hashie/hashie/pull/415): Fixed Mash logging keys multiple times which lead to a bad user experience or, in some cases, errors - [@michaelherold](https://github.com/michaelherold).
|
40
146
|
|
41
147
|
## [3.5.4] - 2017-02-22
|
42
148
|
|
43
|
-
[3.5.4]: https://github.com/
|
149
|
+
[3.5.4]: https://github.com/hashie/hashie/compare/v3.5.3...v3.5.4
|
44
150
|
|
45
151
|
### Added
|
46
152
|
|
47
|
-
* [#412](https://github.com/
|
153
|
+
* [#412](https://github.com/hashie/hashie/pull/412): Added a Hashie::Extensions::Mash::SymbolizeKeys extension that overrides the default stringification behavior for keys - [@michaelherold](https://github.com/michaelherold).
|
48
154
|
|
49
155
|
### Fixed
|
50
156
|
|
51
|
-
* [#409](https://github.com/
|
52
|
-
* [#411](https://github.com/
|
157
|
+
* [#409](https://github.com/hashie/hashie/pull/409): Fixed Railtie detection for projects where Rails is defined but Railties are not availble - [@CallumD](https://github.com/callumd).
|
158
|
+
* [#411](https://github.com/hashie/hashie/pull/411): Fixed a performance regression from 3.4.3 that caused a 10x slowdown in OmniAuth - [@michaelherold](https://github.com/michaelherold).
|
53
159
|
|
54
160
|
## [3.5.3] - 2017-02-11
|
55
161
|
|
56
|
-
[3.5.3]: https://github.com/
|
162
|
+
[3.5.3]: https://github.com/hashie/hashie/compare/v3.5.2...v3.5.3
|
57
163
|
|
58
164
|
### Fixed
|
59
165
|
|
60
|
-
* [#402](https://github.com/
|
61
|
-
* [#406](https://github.com/
|
166
|
+
* [#402](https://github.com/hashie/hashie/pull/402): Use a Railtie to set Hashie.logger on rails boot - [@matthewrudy](https://github.com/matthewrudy).
|
167
|
+
* [#406](https://github.com/hashie/hashie/pull/406): Ensure that subclasses that disable warnings propagate that setting to grandchild classes - [@michaelherold](https://github.com/michaelherold).
|
62
168
|
* Your contribution here.
|
63
169
|
|
64
170
|
## [3.5.2] - 2017-02-10
|
65
171
|
|
66
|
-
[3.5.2]: https://github.com/
|
172
|
+
[3.5.2]: https://github.com/hashie/hashie/compare/v3.5.1...v3.5.2
|
67
173
|
|
68
174
|
### Added
|
69
175
|
|
70
|
-
* [#395](https://github.com/
|
71
|
-
* [#400](https://github.com/
|
176
|
+
* [#395](https://github.com/hashie/hashie/pull/395): Add the ability to disable warnings in Mash subclasses - [@michaelherold](https://github.com/michaelherold).
|
177
|
+
* [#400](https://github.com/hashie/hashie/pull/400): Fix Hashie.logger load and set the Hashie logger to the Rails logger in a Rails environment - [@michaelherold](https://github.com/michaelherold).
|
178
|
+
* [#397](https://github.com/hashie/hashie/pull/397): Add the integration specs harness into the main test tasks - [@michaelherold](https://github.com/michaelherold).
|
72
179
|
|
73
180
|
### Fixed
|
74
181
|
|
75
|
-
* [#396](https://github.com/
|
76
|
-
* [#399](https://github.com/
|
77
|
-
|
78
|
-
### Miscellanous
|
79
|
-
|
80
|
-
* [#397](https://github.com/intridea/hashie/pull/397): Add the integration specs harness into the main test tasks - [@michaelherold](https://github.com/michaelherold).
|
182
|
+
* [#396](https://github.com/hashie/hashie/pull/396): Fix for specs in #381: Incorrect use of shared context meant example was not being run - [@biinari](https://github.com/biinari).
|
183
|
+
* [#399](https://github.com/hashie/hashie/pull/399): Fix passing Pathname object to Hashie::Mesh.load() - [@albb0920](https://github.com/albb0920).
|
81
184
|
|
82
185
|
## [3.5.1] - 2017-01-31
|
83
186
|
|
84
|
-
* [#392](https://github.com/
|
187
|
+
* [#392](https://github.com/hashie/hashie/pull/392): Fix for #391: Require all dependencies of Hashie::Mash - [@dblock](https://github.com/dblock).
|
85
188
|
|
86
|
-
[3.5.1]: https://github.com/
|
189
|
+
[3.5.1]: https://github.com/hashie/hashie/compare/v3.5.0...v3.5.1
|
87
190
|
|
88
191
|
## [3.5.0] - 2017-01-31
|
89
192
|
|
90
|
-
* [#386](https://github.com/
|
91
|
-
* [#389](https://github.com/
|
193
|
+
* [#386](https://github.com/hashie/hashie/pull/386): Fix for #385: Make `deep_merge` always `deep_dup` nested hashes before merging them in so that there are no shared references between the two hashes being merged. - [@mltsy](https://github.com/mltsy).
|
194
|
+
* [#389](https://github.com/hashie/hashie/pull/389): Support Ruby 2.4.0 - [@camelmasa](https://github.com/camelmasa).
|
92
195
|
|
93
|
-
[3.5.0]: https://github.com/
|
196
|
+
[3.5.0]: https://github.com/hashie/hashie/compare/v3.4.6...v3.5.0
|
94
197
|
|
95
198
|
### Added
|
96
199
|
|
97
|
-
* [#381](https://github.com/
|
200
|
+
* [#381](https://github.com/hashie/hashie/pull/381): Add a logging layer that lets us report potential issues to our users. As the first logged issue, report when a `Hashie::Mash` is attempting to overwrite a built-in method, since that is one of our number one questions - [@michaelherold](https://github.com/michaelherold).
|
98
201
|
|
99
202
|
### Changed
|
100
203
|
|
101
|
-
* [#384](https://github.com/
|
204
|
+
* [#384](https://github.com/hashie/hashie/pull/384): Updated to CodeClimate 1.x - [@boffbowsh](https://github.com/boffbowsh).
|
102
205
|
|
103
206
|
### Fixed
|
104
207
|
|
105
|
-
* [#369](https://github.com/
|
106
|
-
* [#376](https://github.com/
|
107
|
-
* [#377](https://github.com/
|
108
|
-
* [#378](https://github.com/
|
109
|
-
* [#380](https://github.com/
|
110
|
-
|
111
|
-
### Miscellanous
|
112
|
-
|
113
|
-
* [#387](https://github.com/intridea/hashie/pull/387): Fix builds failing due to Rake 11 having a breaking change - [@michaelherold](https://github.com/michaelherold).
|
208
|
+
* [#369](https://github.com/hashie/hashie/pull/369): If a translation for a property exists when using IndifferentAccess and IgnoreUndeclared, use the translation to find the property - [@whitethunder](https://github.com/whitethunder).
|
209
|
+
* [#376](https://github.com/hashie/hashie/pull/376): Leave string index unchanged if it can't be converted to integer for Array#dig - [@sazor](https://github.com/sazor).
|
210
|
+
* [#377](https://github.com/hashie/hashie/pull/377): Dont use Rubygems to check ruby version - [@sazor](https://github.com/sazor).
|
211
|
+
* [#378](https://github.com/hashie/hashie/pull/378): Deep find all searches inside all nested hashes - [@sazor](https://github.com/sazor).
|
212
|
+
* [#380](https://github.com/hashie/hashie/pull/380): Evaluate procs default values of Dash in object initialization - [@sazor](https://github.com/sazor).
|
213
|
+
* [#387](https://github.com/hashie/hashie/pull/387): Fixed builds failing due to Rake 11 having a breaking change - [@michaelherold](https://github.com/michaelherold).
|
114
214
|
|
115
215
|
## [3.4.6] - 2016-09-16
|
116
216
|
|
117
|
-
[3.4.6]: https://github.com/
|
217
|
+
[3.4.6]: https://github.com/hashie/hashie/compare/v3.4.5...v3.4.6
|
118
218
|
|
119
219
|
### Fixed
|
120
220
|
|
121
|
-
* [#368](https://github.com/
|
221
|
+
* [#368](https://github.com/hashie/hashie/pull/368): Since `hashie/mash` can be required alone, require its dependencies - [@jrafanie](https://github.com/jrafanie).
|
122
222
|
|
123
223
|
## [3.4.5] - 2016-09-16
|
124
224
|
|
125
|
-
[3.4.5]: https://github.com/
|
225
|
+
[3.4.5]: https://github.com/hashie/hashie/compare/v3.4.4...v3.4.5
|
126
226
|
|
127
227
|
### Added
|
128
228
|
|
129
|
-
* [#337](https://github.com/
|
229
|
+
* [#337](https://github.com/hashie/hashie/pull/337), [#331](https://github.com/hashie/hashie/issues/331): `Hashie::Mash#load` accepts a `Pathname` object - [@gipcompany](https://github.com/gipcompany).
|
230
|
+
* [#366](https://github.com/hashie/hashie/pull/366): Added Danger, PR linter - [@dblock](https://github.com/dblock).
|
130
231
|
|
131
232
|
### Deprecated
|
132
233
|
|
133
|
-
* [#366](https://github.com/
|
234
|
+
* [#366](https://github.com/hashie/hashie/pull/366): Hashie is no longer tested on Ruby < 2 - [@dblock](https://github.com/dblock).
|
134
235
|
|
135
236
|
### Fixed
|
136
237
|
|
137
|
-
* [#358](https://github.com/
|
138
|
-
* [#365](https://github.com/
|
139
|
-
|
140
|
-
### Miscellanous
|
141
|
-
|
142
|
-
* [#366](https://github.com/intridea/hashie/pull/366): Added Danger, PR linter - [@dblock](https://github.com/dblock).
|
238
|
+
* [#358](https://github.com/hashie/hashie/pull/358): Fixed support for Array#dig - [@modosc](https://github.com/modosc).
|
239
|
+
* [#365](https://github.com/hashie/hashie/pull/365): Ensured ActiveSupport::HashWithIndifferentAccess is defined before use in #deep_locate - [@mikejarema](https://github.com/mikejarema).
|
143
240
|
|
144
241
|
## [3.4.4] - 2016-04-29
|
145
242
|
|
146
|
-
[3.4.4]: https://github.com/
|
243
|
+
[3.4.4]: https://github.com/hashie/hashie/compare/v3.4.3...v3.4.4
|
147
244
|
|
148
245
|
### Added
|
149
246
|
|
150
|
-
* [#349](https://github.com/
|
247
|
+
* [#349](https://github.com/hashie/hashie/pull/349): Convert `Hashie::Mash#dig` arguments for Ruby 2.3.0 - [@k0kubun](https://github.com/k0kubun).
|
151
248
|
|
152
249
|
### Fixed
|
153
250
|
|
154
|
-
* [#240](https://github.com/
|
155
|
-
* [#317](https://github.com/
|
156
|
-
* [#319](https://github.com/
|
157
|
-
* [#322](https://github.com/
|
158
|
-
* [#346](https://github.com/
|
159
|
-
* [#350](https://github.com/
|
251
|
+
* [#240](https://github.com/hashie/hashie/pull/240): Fixed nesting twice with Clash keys - [@bartoszkopinski](https://github.com/bartoszkopinski).
|
252
|
+
* [#317](https://github.com/hashie/hashie/pull/317): Ensured `Hashie::Extensions::MethodQuery` methods return boolean values - [@michaelherold](https://github.com/michaelherold).
|
253
|
+
* [#319](https://github.com/hashie/hashie/pull/319): Fixed a regression from 3.4.1 where `Hashie::Extensions::DeepFind` is no longer indifference-aware - [@michaelherold](https://github.com/michaelherold).
|
254
|
+
* [#322](https://github.com/hashie/hashie/pull/322): Fixed `reverse_merge` issue with `Mash` subclasses - [@marshall-lee](https://github.com/marshall-lee).
|
255
|
+
* [#346](https://github.com/hashie/hashie/pull/346): Fixed `merge` breaking indifferent access - [@docwhat](https://github.com/docwhat), [@michaelherold](https://github.com/michaelherold).
|
256
|
+
* [#350](https://github.com/hashie/hashie/pull/350): Fixed from string translations used with `IgnoreUndeclared` - [@marshall-lee](https://github.com/marshall-lee).
|
160
257
|
|
161
258
|
## [3.4.3] - 2015-10-25
|
162
259
|
|
163
|
-
[3.4.3]: https://github.com/
|
260
|
+
[3.4.3]: https://github.com/hashie/hashie/compare/v3.4.2...v3.4.3
|
164
261
|
|
165
262
|
### Added
|
166
263
|
|
167
|
-
* [#306](https://github.com/
|
168
|
-
* [#314](https://github.com/
|
264
|
+
* [#306](https://github.com/hashie/hashie/pull/306): Added `Hashie::Extensions::Dash::Coercion` - [@marshall-lee](https://github.com/marshall-lee).
|
265
|
+
* [#314](https://github.com/hashie/hashie/pull/314): Added a `StrictKeyAccess` extension that will raise an error whenever a key is accessed that does not exist in the hash - [@pboling](https://github.com/pboling).
|
169
266
|
|
170
267
|
### Fixed
|
171
268
|
|
172
|
-
* [#304](https://github.com/
|
173
|
-
* [#310](https://github.com/
|
269
|
+
* [#304](https://github.com/hashie/hashie/pull/304): Ensured compatibility of `Hash` extensions with singleton objects - [@regexident](https://github.com/regexident).
|
270
|
+
* [#310](https://github.com/hashie/hashie/pull/310): Fixed `Hashie::Extensions::SafeAssignment` bug with private methods - [@marshall-lee](https://github.com/marshall-lee).
|
174
271
|
|
175
|
-
###
|
272
|
+
### Changed
|
176
273
|
|
177
|
-
* [#313](https://github.com/
|
178
|
-
* [#315](https://github.com/
|
274
|
+
* [#313](https://github.com/hashie/hashie/pull/313): Restrict pending spec to only Ruby versions 2.2.0-2.2.2 - [@pboling](https://github.com/pboling).
|
275
|
+
* [#315](https://github.com/hashie/hashie/pull/315): Default `bin/` scripts: `console` and `setup` - [@pboling](https://github.com/pboling).
|
179
276
|
|
180
277
|
## [3.4.2] - 2015-06-02
|
181
278
|
|
182
|
-
[3.4.2]: https://github.com/
|
279
|
+
[3.4.2]: https://github.com/hashie/hashie/compare/v3.4.1...v3.4.2
|
183
280
|
|
184
281
|
### Added
|
185
282
|
|
186
|
-
* [#297](https://github.com/
|
283
|
+
* [#297](https://github.com/hashie/hashie/pull/297): Extracted `Trash`'s behavior into a new `Dash::PropertyTranslation` extension - [@michaelherold](https://github.com/michaelherold).
|
187
284
|
|
188
285
|
### Removed
|
189
286
|
|
190
|
-
* [#292](https://github.com/
|
287
|
+
* [#292](https://github.com/hashie/hashie/pull/292): Removed `Mash#id` and `Mash#type` - [@jrochkind](https://github.com/jrochkind).
|
191
288
|
|
192
289
|
## [3.4.1] - 2015-03-31
|
193
290
|
|
194
|
-
[3.4.1]: https://github.com/
|
291
|
+
[3.4.1]: https://github.com/hashie/hashie/compare/v3.4.0...v3.4.1
|
195
292
|
|
196
293
|
### Added
|
197
294
|
|
198
|
-
* [#269](https://github.com/
|
199
|
-
* [#281](https://github.com/
|
295
|
+
* [#269](https://github.com/hashie/hashie/pull/272): Added Hashie::Extensions::DeepLocate - [@msievers](https://github.com/msievers).
|
296
|
+
* [#281](https://github.com/hashie/hashie/pull/281): Added #reverse_merge to Mash to override ActiveSupport's version - [@mgold](https://github.com/mgold).
|
200
297
|
|
201
298
|
### Fixed
|
202
299
|
|
203
|
-
* [#270](https://github.com/
|
204
|
-
* [#282](https://github.com/
|
300
|
+
* [#270](https://github.com/hashie/hashie/pull/277): Fixed ArgumentError raised when using IndifferentAccess and HashWithIndifferentAccess - [@gardenofwine](https://github.com/gardenofwine).
|
301
|
+
* [#282](https://github.com/hashie/hashie/pull/282): Fixed coercions in a subclass accumulating in the superclass - [@maxlinc](https://github.com/maxlinc), [@martinstreicher](https://github.com/martinstreicher).
|
205
302
|
|
206
303
|
## [3.4.0] - 2015-02-02
|
207
304
|
|
208
|
-
[3.4.0]: https://github.com/
|
305
|
+
[3.4.0]: https://github.com/hashie/hashie/compare/v3.3.2...v3.4.0
|
209
306
|
|
210
307
|
### Added
|
211
308
|
|
212
|
-
* [#251](https://github.com/
|
213
|
-
* [#252](https://github.com/
|
214
|
-
* [#254](https://github.com/
|
215
|
-
* [#260](https://github.com/
|
216
|
-
* [#271](https://github.com/
|
309
|
+
* [#251](https://github.com/hashie/hashie/pull/251): Added block support to indifferent access #fetch - [@jgraichen](https://github.com/jgraichen).
|
310
|
+
* [#252](https://github.com/hashie/hashie/pull/252): Added support for conditionally required Hashie::Dash attributes - [@ccashwell](https://github.com/ccashwell).
|
311
|
+
* [#254](https://github.com/hashie/hashie/pull/254): Added public utility methods for stringify and symbolize keys - [@maxlinc](https://github.com/maxlinc).
|
312
|
+
* [#260](https://github.com/hashie/hashie/pull/260): Added block support to Extensions::DeepMerge - [@galathius](https://github.com/galathius).
|
313
|
+
* [#271](https://github.com/hashie/hashie/pull/271): Added ability to define defaults based on current hash - [@gregory](https://github.com/gregory).
|
217
314
|
|
218
315
|
### Changed
|
219
316
|
|
220
|
-
* [#249](https://github.com/
|
221
|
-
* [#264](https://github.com/
|
317
|
+
* [#249](https://github.com/hashie/hashie/pull/249): SafeAssignment will now also protect hash-style assignments - [@jrochkind](https://github.com/jrochkind).
|
318
|
+
* [#264](https://github.com/hashie/hashie/pull/264): Methods such as abc? return true/false with Hashie::Extensions::MethodReader - [@Zloy](https://github.com/Zloy).
|
222
319
|
|
223
320
|
### Fixed
|
224
321
|
|
225
|
-
* [#247](https://github.com/
|
226
|
-
* [#256](https://github.com/
|
227
|
-
* [#259](https://github.com/
|
228
|
-
* [#261](https://github.com/
|
229
|
-
* [#269](https://github.com/
|
322
|
+
* [#247](https://github.com/hashie/hashie/pull/247): Fixed #stringify_keys and #symbolize_keys collision with ActiveSupport - [@bartoszkopinski](https://github.com/bartoszkopinski).
|
323
|
+
* [#256](https://github.com/hashie/hashie/pull/256): Inherited key coercions - [@Erol](https://github.com/Erol).
|
324
|
+
* [#259](https://github.com/hashie/hashie/pull/259): Fixed handling of default proc values in Mash - [@Erol](https://github.com/Erol).
|
325
|
+
* [#261](https://github.com/hashie/hashie/pull/261): Fixed bug where Dash.property modifies argument object - [@d-tw](https://github.com/d-tw).
|
326
|
+
* [#269](https://github.com/hashie/hashie/pull/269): Added #extractable_options? so ActiveSupport Array#extract_options! can extract it - [@ridiculous](https://github.com/ridiculous).
|
230
327
|
|
231
328
|
## [3.3.2] - 2014-11-26
|
232
329
|
|
233
|
-
[3.3.2]: https://github.com/
|
330
|
+
[3.3.2]: https://github.com/hashie/hashie/compare/v3.3.1...v3.3.2
|
234
331
|
|
235
332
|
### Added
|
236
333
|
|
237
|
-
* [#231](https://github.com/
|
238
|
-
* [#233](https://github.com/
|
239
|
-
* [#245](https://github.com/
|
334
|
+
* [#231](https://github.com/hashie/hashie/pull/231): Added support for coercion on class type that inherit from Hash - [@gregory](https://github.com/gregory).
|
335
|
+
* [#233](https://github.com/hashie/hashie/pull/233): Custom error messages for required properties in Hashie::Dash subclasses - [@joss](https://github.com/joss).
|
336
|
+
* [#245](https://github.com/hashie/hashie/pull/245): Added Hashie::Extensions::MethodAccessWithOverride to autoloads - [@Fritzinger](https://github.com/Fritzinger).
|
240
337
|
|
241
338
|
### Fixed
|
242
339
|
|
243
|
-
* [#221](https://github.com/
|
244
|
-
* [#224](https://github.com/
|
245
|
-
* [#228](https://github.com/
|
340
|
+
* [#221](https://github.com/hashie/hashie/pull/221): Reduced amount of allocated objects on calls with suffixes in Hashie::Mash - [@kubum](https://github.com/kubum).
|
341
|
+
* [#224](https://github.com/hashie/hashie/pull/224): Merging Hashie::Mash now correctly only calls the block on duplicate values - [@amysutedja](https://github.com/amysutedja).
|
342
|
+
* [#228](https://github.com/hashie/hashie/pull/228): Made Hashie::Extensions::Parsers::YamlErbParser pass template filename to ERB - [@jperville](https://github.com/jperville).
|
246
343
|
|
247
344
|
## [3.3.1] - 2014-08-26
|
248
345
|
|
249
|
-
[3.3.1]: https://github.com/
|
346
|
+
[3.3.1]: https://github.com/hashie/hashie/compare/v3.3.0...v3.3.1
|
250
347
|
|
251
348
|
### Added
|
252
349
|
|
253
|
-
* [#183](https://github.com/
|
254
|
-
* [#189](https://github.com/
|
255
|
-
* [#204](https://github.com/
|
256
|
-
* [#205](https://github.com/
|
257
|
-
* [#209](https://github.com/
|
350
|
+
* [#183](https://github.com/hashie/hashie/pull/183): Added Mash#load with YAML file support - [@gregory](https://github.com/gregory).
|
351
|
+
* [#189](https://github.com/hashie/hashie/pull/189): Added Rash#fetch - [@medcat](https://github.com/medcat).
|
352
|
+
* [#204](https://github.com/hashie/hashie/pull/204): Added Hashie::Extensions::MethodOverridingWriter and MethodAccessWithOverride - [@michaelherold](https://github.com/michaelherold).
|
353
|
+
* [#205](https://github.com/hashie/hashie/pull/205): Added Hashie::Extensions::Mash::SafeAssignment - [@michaelherold](https://github.com/michaelherold).
|
354
|
+
* [#209](https://github.com/hashie/hashie/pull/209): Added Hashie::Extensions::DeepFind - [@michaelherold](https://github.com/michaelherold).
|
258
355
|
|
259
356
|
### Fixed
|
260
357
|
|
261
|
-
* [#69](https://github.com/
|
262
|
-
* [#195](https://github.com/
|
263
|
-
* [#201](https://github.com/
|
264
|
-
* [#200](https://github.com/
|
265
|
-
* [#206](https://github.com/
|
266
|
-
* [#207](https://github.com/
|
358
|
+
* [#69](https://github.com/hashie/hashie/pull/69): Fixed regression in assigning multiple properties in Hashie::Trash - [@michaelherold](https://github.com/michaelherold), [@einzige](https://github.com/einzige), [@dblock](https://github.com/dblock).
|
359
|
+
* [#195](https://github.com/hashie/hashie/pull/195): Ensured that the same object is returned after injecting IndifferentAccess - [@michaelherold](https://github.com/michaelherold).
|
360
|
+
* [#201](https://github.com/hashie/hashie/pull/201): Hashie::Trash transforms can be inherited - [@fobocaster](https://github.com/fobocaster).
|
361
|
+
* [#200](https://github.com/hashie/hashie/pull/200): Improved coercion: primitives and error handling - [@maxlinc](https://github.com/maxlinc).
|
362
|
+
* [#206](https://github.com/hashie/hashie/pull/206): Fixed stack overflow from repetitively including coercion in subclasses - [@michaelherold](https://github.com/michaelherold).
|
363
|
+
* [#207](https://github.com/hashie/hashie/pull/207): Fixed inheritance of transformations in Trash - [@fobocaster](https://github.com/fobocaster).
|
267
364
|
|
268
365
|
## [3.2.0] - 2014-07-10
|
269
366
|
|
270
|
-
[3.2.0]: https://github.com/
|
367
|
+
[3.2.0]: https://github.com/hashie/hashie/compare/v3.1.0...v3.2.0
|
271
368
|
|
272
369
|
### Added
|
273
370
|
|
274
|
-
* [#177](https://github.com/
|
371
|
+
* [#177](https://github.com/hashie/hashie/pull/177): Added support for coercing enumerables and collections - [@gregory](https://github.com/gregory).
|
275
372
|
|
276
373
|
### Changed
|
277
374
|
|
278
|
-
* [#179](https://github.com/
|
279
|
-
* [#184](https://github.com/
|
375
|
+
* [#179](https://github.com/hashie/hashie/pull/179): Mash#values_at will convert each key before doing the lookup - [@nahiluhmot](https://github.com/nahiluhmot).
|
376
|
+
* [#184](https://github.com/hashie/hashie/pull/184): Allow ranges on Rash to match all Numeric types - [@medcat](https://github.com/medcat).
|
280
377
|
|
281
378
|
### Fixed
|
282
379
|
|
283
|
-
* [#164](https://github.com/
|
284
|
-
* [#187](https://github.com/
|
285
|
-
* [#190](https://github.com/
|
286
|
-
* [#192](https://github.com/
|
380
|
+
* [#164](https://github.com/hashie/hashie/pull/164), [#165](https://github.com/hashie/hashie/pull/165), [#166](https://github.com/hashie/hashie/pull/166): Fixed stack overflow when coercing mashes that contain ActiveSupport::HashWithIndifferentAccess values - [@numinit](https://github.com/numinit), [@kgrz](https://github.com/kgrz).
|
381
|
+
* [#187](https://github.com/hashie/hashie/pull/187): Automatically require version - [@medcat](https://github.com/medcat).
|
382
|
+
* [#190](https://github.com/hashie/hashie/issues/190): Fixed `coerce_key` with `from` Trash feature and Coercion extension - [@gregory](https://github.com/gregory).
|
383
|
+
* [#192](https://github.com/hashie/hashie/pull/192): Fixed StringifyKeys#stringify_keys! to recursively stringify keys of embedded ::Hash types - [@dblock](https://github.com/dblock).
|
287
384
|
|
288
385
|
## [3.1.0] - 2014-06-25
|
289
386
|
|
290
|
-
[3.1.0]: https://github.com/
|
387
|
+
[3.1.0]: https://github.com/hashie/hashie/compare/v3.0.0...v3.1.0
|
291
388
|
|
292
389
|
### Added
|
293
390
|
|
294
|
-
* [#172](https://github.com/
|
391
|
+
* [#172](https://github.com/hashie/hashie/pull/172): Added Dash and Trash#update_attributes! - [@gregory](https://github.com/gregory).
|
295
392
|
|
296
393
|
### Changed
|
297
394
|
|
298
|
-
* [#169](https://github.com/
|
299
|
-
* [#173](https://github.com/
|
395
|
+
* [#169](https://github.com/hashie/hashie/pull/169): Hash#to_hash will also convert nested objects that implement to_hash - [@gregory](https://github.com/gregory).
|
396
|
+
* [#173](https://github.com/hashie/hashie/pull/173): Auto include Dash::IndifferentAccess when IndifferentAccess is included in Dash - [@gregory](https://github.com/gregory).
|
300
397
|
|
301
398
|
### Fixed
|
302
399
|
|
303
|
-
* [#171](https://github.com/
|
304
|
-
* [#174](https://github.com/
|
400
|
+
* [#171](https://github.com/hashie/hashie/pull/171): Include Trash and Dash class name when raising `NoMethodError` - [@gregory](https://github.com/gregory).
|
401
|
+
* [#174](https://github.com/hashie/hashie/pull/174): Fixed `from` and `transform_with` Trash features when IndifferentAccess is included - [@gregory](https://github.com/gregory).
|
305
402
|
|
306
403
|
## [3.0.0] - 2014-06-03
|
307
404
|
|
308
|
-
[3.0.0]: https://github.com/
|
309
|
-
|
310
|
-
Note: This version introduces several backward incompatible API changes. See [UPGRADING](UPGRADING.md) for details.
|
405
|
+
[3.0.0]: https://github.com/hashie/hashie/compare/v2.1.2...v3.0.0
|
311
406
|
|
312
407
|
### Added
|
313
408
|
|
314
|
-
* [#149](https://github.com/
|
409
|
+
* [#149](https://github.com/hashie/hashie/issues/149): Allow IgnoreUndeclared and DeepMerge to be used with undeclared properties - [@jhaesus](https://github.com/jhaesus).
|
315
410
|
|
316
411
|
### Changed
|
317
412
|
|
318
|
-
* [#152](https://github.com/
|
319
|
-
* [#152](https://github.com/
|
413
|
+
* [#152](https://github.com/hashie/hashie/pull/152): Do not convert keys to String in Hashie::Dash and Hashie::Trash, use Hashie::Extensions::Dash::IndifferentAccess to achieve backward compatible behavior - [@dblock](https://github.com/dblock).
|
414
|
+
* [#152](https://github.com/hashie/hashie/pull/152): Do not automatically stringify keys in Hashie::Hash#to_hash, pass `:stringify_keys` to achieve backward compatible behavior - [@dblock](https://github.com/dblock).
|
320
415
|
|
321
416
|
### Fixed
|
322
417
|
|
323
|
-
* [#146](https://github.com/
|
324
|
-
* [#148](https://github.com/
|
325
|
-
* [#159](https://github.com/
|
418
|
+
* [#146](https://github.com/hashie/hashie/issues/146): Mash#respond_to? inconsistent with #method_missing and does not respond to #permitted? - [@dblock](https://github.com/dblock).
|
419
|
+
* [#148](https://github.com/hashie/hashie/pull/148): Consolidated Hashie::Hash#stringify_keys implementation - [@dblock](https://github.com/dblock).
|
420
|
+
* [#159](https://github.com/hashie/hashie/pull/159): Handle nil intermediate object on deep fetch - [@stephenaument](https://github.com/stephenaument).
|
326
421
|
|
327
422
|
## [2.1.2] - 2014-05-12
|
328
423
|
|
329
|
-
[2.1.2]: https://github.com/
|
424
|
+
[2.1.2]: https://github.com/hashie/hashie/compare/v2.1.1...v2.1.2
|
330
425
|
|
331
426
|
### Changed
|
332
427
|
|
333
|
-
* [#169](https://github.com/
|
428
|
+
* [#169](https://github.com/hashie/hashie/pull/169): Hash#to_hash will also convert nested objects that implement `to_hash` - [@gregory](https://github.com/gregory).
|
334
429
|
|
335
430
|
## [2.1.1] - 2014-04-12
|
336
431
|
|
337
|
-
[2.1.1]: https://github.com/
|
432
|
+
[2.1.1]: https://github.com/hashie/hashie/compare/v2.1.0...v2.1.1
|
338
433
|
|
339
434
|
### Fixed
|
340
435
|
|
341
|
-
* [#131](https://github.com/
|
342
|
-
* [#138](https://github.com/
|
343
|
-
* [#144](https://github.com/
|
436
|
+
* [#131](https://github.com/hashie/hashie/pull/131): Added IgnoreUndeclared, an extension to silently ignore undeclared properties at intialization - [@righi](https://github.com/righi).
|
437
|
+
* [#138](https://github.com/hashie/hashie/pull/138): Added Hashie::Rash, a hash whose keys can be regular expressions or ranges - [@epitron](https://github.com/epitron).
|
438
|
+
* [#144](https://github.com/hashie/hashie/issues/144): Fixed regression invoking `to_hash` with no parameters - [@mbleigh](https://github.com/mbleigh).
|
344
439
|
|
345
440
|
## [2.1.0] - 2014-04-06
|
346
441
|
|
347
|
-
[2.1.0]: https://github.com/
|
442
|
+
[2.1.0]: https://github.com/hashie/hashie/compare/v2.0.5...v2.1.0
|
348
443
|
|
349
444
|
### Added
|
350
445
|
|
351
|
-
* [#134](https://github.com/
|
446
|
+
* [#134](https://github.com/hashie/hashie/pull/134): Added deep_fetch extension for nested access - [@tylerdooling](https://github.com/tylerdooling).
|
352
447
|
|
353
448
|
### Changed
|
354
449
|
|
355
|
-
* [#89](https://github.com/
|
450
|
+
* [#89](https://github.com/hashie/hashie/issues/89): Do not respond to every method with suffix in Hashie::Mash, fixes Rails strong_parameters - [@Maxim-Filimonov](https://github.com/Maxim-Filimonov).
|
451
|
+
* Ruby style now enforced with Rubocop - [@dblock](https://github.com/dblock).
|
356
452
|
|
357
453
|
### Removed
|
358
454
|
|
359
455
|
* Removed support for Ruby 1.8.7 - [@dblock](https://github.com/dblock).
|
360
|
-
* [#136](https://github.com/
|
456
|
+
* [#136](https://github.com/hashie/hashie/issues/136): Removed Hashie::Extensions::Structure - [@markiz](https://github.com/markiz).
|
361
457
|
|
362
458
|
### Fixed
|
363
459
|
|
364
|
-
* [#69](https://github.com/
|
365
|
-
* [#99](https://github.com/
|
366
|
-
* [#100](https://github.com/
|
367
|
-
* [#103](https://github.com/
|
368
|
-
* [#107](https://github.com/
|
369
|
-
* [#110](https://github.com/
|
370
|
-
* [#111](https://github.com/
|
371
|
-
* [#113](https://github.com/
|
372
|
-
* [#120](https://github.com/
|
373
|
-
* [#129](https://github.com/
|
374
|
-
* [#130](https://github.com/
|
375
|
-
* [#133](https://github.com/
|
376
|
-
|
377
|
-
### Miscellaneous
|
378
|
-
|
379
|
-
* Ruby style now enforced with Rubocop - [@dblock](https://github.com/dblock).
|
460
|
+
* [#69](https://github.com/hashie/hashie/issues/69): Fixed assigning multiple properties in Hashie::Trash - [@einzige](https://github.com/einzige).
|
461
|
+
* [#99](https://github.com/hashie/hashie/issues/99): Hash#deep_merge raises errors when it encounters integers - [@defsprite](https://github.com/defsprite).
|
462
|
+
* [#100](https://github.com/hashie/hashie/pull/100): IndifferentAccess#store will respect indifference - [@jrochkind](https://github.com/jrochkind).
|
463
|
+
* [#103](https://github.com/hashie/hashie/pull/103): Fixed support for Hashie::Dash properties that end in bang - [@thedavemarshall](https://github.com/thedavemarshall).
|
464
|
+
* [#107](https://github.com/hashie/hashie/pull/107): Fixed excessive value conversions, poor performance of deep merge in Hashie::Mash - [@davemitchell](https://github.com/dblock), [@dblock](https://github.com/dblock).
|
465
|
+
* [#110](https://github.com/hashie/hashie/pull/110): Correctly use Hash#default from Mash#method_missing - [@ryansouza](https://github.com/ryansouza).
|
466
|
+
* [#111](https://github.com/hashie/hashie/issues/111): Trash#translations correctly maps original to translated names - [@artm](https://github.com/artm).
|
467
|
+
* [#113](https://github.com/hashie/hashie/issues/113): Fixed Hash#merge with Hashie::Dash - [@spencer1248](https://github.com/spencer1248).
|
468
|
+
* [#120](https://github.com/hashie/hashie/pull/120): Pass options to recursive to_hash calls - [@pwillett](https://github.com/pwillett).
|
469
|
+
* [#129](https://github.com/hashie/hashie/pull/129): Added Trash#permitted_input_keys and inverse_translations - [@artm](https://github.com/artm).
|
470
|
+
* [#130](https://github.com/hashie/hashie/pull/130): IndifferentAccess now works without MergeInitializer - [@npj](https://github.com/npj).
|
471
|
+
* [#133](https://github.com/hashie/hashie/pull/133): Fixed Hash##to_hash with symbolize_keys - [@mhuggins](https://github.com/mhuggins).
|
380
472
|
|
381
473
|
## [2.0.5] - 2013-05-10
|
382
474
|
|
383
|
-
[2.0.5]: https://github.com/
|
475
|
+
[2.0.5]: https://github.com/hashie/hashie/compare/v2.0.4...v2.0.5
|
384
476
|
|
385
477
|
### Fixed
|
386
478
|
|
387
|
-
* [#96](https://github.com/
|
479
|
+
* [#96](https://github.com/hashie/hashie/pull/96): Made coercion work better with non-symbol keys in Hashie::Mash - [@wapcaplet](https://github.com/wapcaplet).
|
388
480
|
|
389
481
|
## [2.0.4] - 2013-04-24
|
390
482
|
|
391
|
-
[2.0.4]: https://github.com/
|
483
|
+
[2.0.4]: https://github.com/hashie/hashie/compare/v2.0.3...v2.0.4
|
392
484
|
|
393
485
|
### Fixed
|
394
486
|
|
395
|
-
* [#94](https://github.com/
|
487
|
+
* [#94](https://github.com/hashie/hashie/pull/94): Made #fetch method consistent with normal Hash - [@markiz](https://github.com/markiz).
|
396
488
|
|
397
|
-
###
|
489
|
+
### Changed
|
398
490
|
|
399
|
-
* [#90](https://github.com/
|
491
|
+
* [#90](https://github.com/hashie/hashie/pull/90): Various doc tweaks - [@craiglittle](https://github.com/craiglittle).
|
400
492
|
|
401
493
|
## [2.0.3] - 2013-03-18
|
402
494
|
|
403
|
-
[2.0.3]: https://github.com/
|
495
|
+
[2.0.3]: https://github.com/hashie/hashie/compare/v2.0.2...v2.0.3
|
404
496
|
|
405
497
|
### Fixed
|
406
498
|
|
407
|
-
* [#68](https://github.com/
|
408
|
-
* [#88](https://github.com/
|
499
|
+
* [#68](https://github.com/hashie/hashie/pull/68): Fixed #replace - [@jimeh](https://github.com/jimeh).
|
500
|
+
* [#88](https://github.com/hashie/hashie/pull/88): Hashie::Mash.new(abc: true).respond_to?(:abc?) works - [@7even](https://github.com/7even).
|
409
501
|
|
410
502
|
## [2.0.2] - 2013-02-26
|
411
503
|
|
412
|
-
[2.0.2]: https://github.com/
|
504
|
+
[2.0.2]: https://github.com/hashie/hashie/compare/v2.0.1...v2.0.2
|
413
505
|
|
414
506
|
### Fixed
|
415
507
|
|
416
|
-
* [#85](https://github.com/
|
508
|
+
* [#85](https://github.com/hashie/hashie/pull/85): Added symbolize_keys back to to_hash - [@cromulus](https://github.com/cromulus).
|
417
509
|
|
418
510
|
## [2.0.1] - 2013-02-26
|
419
511
|
|
420
|
-
[2.0.1]: https://github.com/
|
512
|
+
[2.0.1]: https://github.com/hashie/hashie/compare/v2.0.0...v2.0.1
|
421
513
|
|
422
514
|
### Removed
|
423
515
|
|
424
|
-
* [#81](https://github.com/
|
425
|
-
|
426
|
-
### Miscellaneous
|
427
|
-
|
428
|
-
* Gem cleanup: removed VERSION, Gemfile.lock - [@jch](https://github.com/jch), [@mbleigh](https://github.com/mbleigh).
|
516
|
+
* [#81](https://github.com/hashie/hashie/pull/81): Removed Mash#object_id override - [@matschaffer](https://github.com/matschaffer).
|
517
|
+
* Removed VERSION and Gemfile.lock - [@jch](https://github.com/jch), [@mbleigh](https://github.com/mbleigh).
|
429
518
|
|
430
519
|
## [2.0.0] - 2013-02-16
|
431
520
|
|
432
|
-
[2.0.0]: https://github.com/
|
521
|
+
[2.0.0]: https://github.com/hashie/hashie/compare/v1.2.0...v2.0.0
|
433
522
|
|
434
523
|
### Added
|
435
524
|
|
436
|
-
* [#41](https://github.com/
|
437
|
-
* [#78](https://github.com/
|
525
|
+
* [#41](https://github.com/hashie/hashie/pull/41): DeepMerge extension - [@nashby](https://github.com/nashby).
|
526
|
+
* [#78](https://github.com/hashie/hashie/pull/78): Merge and update accepts a block - [@jch](https://github.com/jch).
|
527
|
+
* [#72](https://github.com/hashie/hashie/pull/72): Updated gemspec with license info - [@jordimassaguerpla](https://github.com/jordimassaguerpla).
|
438
528
|
|
439
529
|
### Changed
|
440
530
|
|
441
|
-
* [#28](https://github.com/
|
442
|
-
* [#77](https://github.com/
|
531
|
+
* [#28](https://github.com/hashie/hashie/pull/28): Hashie::Extensions::Coercion coerce_keys takes arguments - [@mattfawcett](https://github.com/mattfawcett).
|
532
|
+
* [#77](https://github.com/hashie/hashie/pull/77): Removed id, type, and object_id as special allowable keys - [@jch](https://github.com/jch).
|
443
533
|
|
444
534
|
### Fixed
|
445
535
|
|
446
|
-
* [#27](https://github.com/
|
447
|
-
* [#39](https://github.com/
|
448
|
-
* [#49](https://github.com/
|
449
|
-
* [#62](https://github.com/
|
450
|
-
* [#63](https://github.com/
|
451
|
-
* [#66](https://github.com/
|
452
|
-
|
453
|
-
### Miscellaneous
|
454
|
-
|
455
|
-
* [#72](https://github.com/intridea/hashie/pull/72): Updated gemspec with license info - [@jordimassaguerpla](https://github.com/jordimassaguerpla).
|
536
|
+
* [#27](https://github.com/hashie/hashie/pull/27): Initialize with merge coerces values - [@mattfawcett](https://github.com/mattfawcett).
|
537
|
+
* [#39](https://github.com/hashie/hashie/pull/39): Trash removes translated values on initialization - [@sleverbor](https://github.com/sleverbor).
|
538
|
+
* [#49](https://github.com/hashie/hashie/pull/49): Hashie::Hash inherits from ::Hash to avoid ambiguity - [@meh](https://github.com/meh), [@orend](https://github.com/orend).
|
539
|
+
* [#62](https://github.com/hashie/hashie/pull/62): Updated respond_to? method signature to match ruby core definition - [@dlupu](https://github.com/dlupu).
|
540
|
+
* [#63](https://github.com/hashie/hashie/pull/63): Dash defaults are dup'ed before assigned - [@ohrite](https://github.com/ohrite).
|
541
|
+
* [#66](https://github.com/hashie/hashie/pull/66): Mash#fetch works with symbol or string keys - [@arthwood](https://github.com/arthwood).
|