Skip to content

Commit b0a09d8

Browse files
committed
🔖 Prepare release v2.0.4
1 parent d8aaf97 commit b0a09d8

53 files changed

Lines changed: 2987 additions & 1256 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.rubocop_gradual.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"spec/config/debug.rb:1604258937": [
3+
[3, 1, 41, "RSpec/Output: Do not write to stdout in specs.", 3485259047]
4+
]
5+
}

CHANGELOG.md

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,31 @@
11
# Changelog
2+
23
All notable changes to this project will be documented in this file.
34

45
The format (since v2) is based on [Keep a Changelog v1](https://keepachangelog.com/en/1.0.0/),
56
and this project adheres to [Semantic Versioning v2](https://semver.org/spec/v2.0.0.html).
67

78
## [Unreleased]
9+
10+
### Added
11+
12+
### Changed
13+
14+
### Deprecated
15+
16+
### Removed
17+
18+
### Fixed
19+
20+
### Security
21+
22+
## [2.0.4] - 2026-05-16
23+
24+
- TAG: [v2.0.4][2.0.4t]
25+
- COVERAGE: 100.00% -- 133/133 lines in 7 files
26+
- BRANCH COVERAGE: 100.00% -- 38/38 branches in 7 files
27+
- 100.00% documented
28+
829
### Added
930

1031
- Incident Response Plan in IRP.md
@@ -15,38 +36,42 @@ and this project adheres to [Semantic Versioning v2](https://semver.org/spec/v2.
1536

1637
- Contributor Conenant updated to version 2.1
1738

18-
### Deprecated
19-
### Removed
2039
### Fixed
2140

2241
- Specs
2342

24-
### Security
25-
2643
## [2.0.3] - 2025-05-23
44+
2745
- TAG: [v2.0.3][2.0.3t]
2846
- COVERAGE: 100.00% -- 132/132 lines in 7 files
2947
- BRANCH COVERAGE: 100.00% -- 38/38 branches in 7 files
3048
- 100.00% documented
49+
3150
### Added
51+
3252
- `#dump` instance method injected by `extend SnakyHash::Serializer` (@pboling)
3353
- `dump_hash_extensions` - new feature, analogous to `load_hash_extensions` (@pboling)
3454
- `dump_value_extensions` - alternate name for `dump_extensions` (@pboling)
3555
- `load_value_extensions` - alternate name for `load_extensions` (@pboling)
3656
- Clarifying documentation (@pboling)
57+
3758
### Fixed
59+
3860
- [gh4](https://github.com/oauth-xx/snaky_hash/pull/4) - Serializer extensions dump and load empty values properly (@pboling)
3961
- Fixed `dump_extensions`, `load_extensions`, `load_hash_extensions`
4062
- Intended usage is primarily JSON, and oauth2 gem
4163
- OAuth2 spec can have legitimately empty values (e.g. scopes could be empty)
4264
- Previous logic was inherited from design decisions made by `serialized_hashie` gem; doesn't apply here
4365

4466
## [2.0.2] - 2025-05-21
67+
4568
- TAG: [v2.0.2][2.0.2t]
4669
- COVERAGE: 100.00% -- 119/119 lines in 7 files
4770
- BRANCH COVERAGE: 100.00% -- 35/35 branches in 7 files
4871
- 100.00% documented
72+
4973
### Added
74+
5075
- Gem is signed by 20-year cert (@pboling)
5176
- Expires 2045-04-29
5277
- Gemspec metadata updates (@pboling)
@@ -59,42 +84,62 @@ and this project adheres to [Semantic Versioning v2](https://semver.org/spec/v2.
5984
- 100% documented! (@pboling)
6085

6186
## [2.0.1] - 2022-09-23
87+
6288
- TAG: [v2.0.1][2.0.1t]
89+
6390
### Added
91+
6492
- Certificate for signing gem releases (@pboling)
6593
- Gemspec metadata (@pboling)
6694
- funding_uri
6795
- mailing_list_uri
6896
- Checksums for released gems (@pboling)
97+
6998
### Changed
99+
70100
- Gem releases are now cryptographically signed (@pboling)
71101

72102
## [2.0.0] - 2022-08-29
103+
73104
- TAG: [v2.0.0][2.0.0t]
105+
74106
### Changed
107+
75108
- **BREAKING**: `SnakeHash::Snake` is now a mixin, now with support for symbol or string keys
76109
```ruby
77110
class MySnakedHash < Hashie::Mash
78111
include SnakyHash::Snake.new(key_type: :string) # or :symbol
79112
end
80113
```
114+
81115
### Added
116+
82117
- `SnakyHash::StringKeyed`: a Hashie::Mash class with snake-cased String keys
83118
- `SnakyHash::SymbolKeyed`: a Hashie::Mash class with snake-cased Symbol keys
84119

85120
## [1.0.1] - 2022-08-26
121+
86122
- TAG: [v1.0.1][1.0.1t]
123+
87124
### Added
125+
88126
- Missing LICENSE.txt file to release
127+
89128
### Removed
129+
90130
- Accidentally added bundler dependency (vestige of transpec process) is now removed
91131

92132
## [1.0.0] - 2022-08-26
133+
93134
- TAG: [v1.0.0][1.0.0t]
135+
94136
### Added
137+
95138
- Initial release
96139

97-
[Unreleased]: https://gitlab.com/oauth-xx/snaky_hash/-/compare/v2.0.3...main
140+
[Unreleased]: https://github.com/ruby-oauth/snaky_hash/compare/v2.0.4...HEAD
141+
[2.0.4]: https://github.com/ruby-oauth/snaky_hash/compare/v2.0.3...v2.0.4
142+
[2.0.4t]: https://github.com/ruby-oauth/snaky_hash/releases/tag/v2.0.4
98143
[2.0.3]: https://gitlab.com/oauth-xx/snaky_hash/-/compare/v2.0.2...v2.0.3
99144
[2.0.3t]: https://gitlab.com/oauth-xx/snaky_hash/-/releases/tag/v2.0.3
100145
[2.0.2]: https://gitlab.com/oauth-xx/snaky_hash/-/compare/v2.0.1...v2.0.2

LICENSE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2022, 2025 Peter Boling
3+
Copyright (c) 2022, 2025-2026 Peter Boling
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright
415415

416416
<ul>
417417
<li>
418-
2022, 2025 Peter H. Boling, of
418+
2022, 2025-2026 Peter H. Boling, of
419419
<a href="https://railsbling.com">
420420
RailsBling.com
421421
<picture>

doc/SnakyHash.html

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
<title>
77
Module: SnakyHash
88

9-
&mdash; Documentation by YARD 0.9.37
9+
&mdash; Documentation by YARD 0.9.43
1010

1111
</title>
1212

13-
<link rel="stylesheet" href="css/style.css" type="text/css" />
13+
<link rel="stylesheet" href="css/style.css" type="text/css">
1414

15-
<link rel="stylesheet" href="css/common.css" type="text/css" />
15+
<link rel="stylesheet" href="css/common.css" type="text/css">
1616

1717
<script type="text/javascript">
1818
pathId = "SnakyHash";
@@ -27,6 +27,8 @@
2727

2828
</head>
2929
<body>
30+
<div id="main_progress" aria-hidden="true"></div>
31+
3032
<div class="nav_wrap">
3133
<iframe id="nav" src="class_list.html?1"></iframe>
3234
<div id="resizer"></div>
@@ -78,8 +80,9 @@
7880

7981
<dl>
8082
<dt>Defined in:</dt>
81-
<dd>lib/snaky_hash.rb<span class="defines">,<br />
82-
lib/snaky_hash/snake.rb,<br /> lib/snaky_hash/version.rb,<br /> lib/snaky_hash/extensions.rb,<br /> lib/snaky_hash/serializer.rb,<br /> lib/snaky_hash/string_keyed.rb,<br /> lib/snaky_hash/symbol_keyed.rb</span>
83+
<dd>lib/snaky_hash.rb<span class="defines">,<br>
84+
lib/snaky_hash/snake.rb,<br> lib/snaky_hash/version.rb,<br> lib/snaky_hash/extensions.rb,<br> lib/snaky_hash/serializer.rb,<br> lib/snaky_hash/string_keyed.rb,<br> lib/snaky_hash/symbol_keyed.rb</span>
85+
8386
</dd>
8487
</dl>
8588

@@ -136,6 +139,32 @@ <h5 class="example_title"><div class='inline'><p>Usage with symbol keys and seri
136139

137140
</p>
138141

142+
143+
<h2>
144+
Constant Summary
145+
<small><a href="#" class="constants_summary_toggle">collapse</a></small>
146+
</h2>
147+
148+
<dl class="constants">
149+
150+
<dt id="VERSION-constant" class="">VERSION =
151+
<div class="docstring">
152+
<div class="discussion">
153+
<p>Traditional Constant Location</p>
154+
155+
156+
</div>
157+
</div>
158+
<div class="tags">
159+
160+
161+
</div>
162+
</dt>
163+
<dd><pre class="code"><span class='const'><span class='object_link'><a href="SnakyHash/Version.html" title="SnakyHash::Version (module)">Version</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="SnakyHash/Version.html#VERSION-constant" title="SnakyHash::Version::VERSION (constant)">VERSION</a></span></span></pre></dd>
164+
165+
</dl>
166+
167+
139168

140169

141170

@@ -147,11 +176,11 @@ <h5 class="example_title"><div class='inline'><p>Usage with symbol keys and seri
147176
</div>
148177

149178
<div id="footer">
150-
Generated on Sat Jun 21 09:01:30 2025 by
179+
Generated on Sat May 16 19:44:51 2026 by
151180
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
152-
0.9.37 (ruby-3.4.3).
181+
0.9.43 (ruby-4.0.4).
153182
</div>
154183

155184
</div>
156185
</body>
157-
</html>
186+
</html>

doc/SnakyHash/Error.html

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
<title>
77
Exception: SnakyHash::Error
88

9-
&mdash; Documentation by YARD 0.9.37
9+
&mdash; Documentation by YARD 0.9.43
1010

1111
</title>
1212

13-
<link rel="stylesheet" href="../css/style.css" type="text/css" />
13+
<link rel="stylesheet" href="../css/style.css" type="text/css">
1414

15-
<link rel="stylesheet" href="../css/common.css" type="text/css" />
15+
<link rel="stylesheet" href="../css/common.css" type="text/css">
1616

1717
<script type="text/javascript">
1818
pathId = "SnakyHash::Error";
@@ -27,6 +27,8 @@
2727

2828
</head>
2929
<body>
30+
<div id="main_progress" aria-hidden="true"></div>
31+
3032
<div class="nav_wrap">
3133
<iframe id="nav" src="../class_list.html?1"></iframe>
3234
<div id="resizer"></div>
@@ -96,7 +98,8 @@
9698

9799
<dl>
98100
<dt>Defined in:</dt>
99-
<dd>lib/snaky_hash.rb</dd>
101+
<dd>lib/snaky_hash.rb
102+
</dd>
100103
</dl>
101104

102105
</div>
@@ -124,11 +127,11 @@ <h2>Overview</h2><div class="docstring">
124127
</div>
125128

126129
<div id="footer">
127-
Generated on Sat Jun 21 09:01:30 2025 by
130+
Generated on Sat May 16 19:44:52 2026 by
128131
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
129-
0.9.37 (ruby-3.4.3).
132+
0.9.43 (ruby-4.0.4).
130133
</div>
131134

132135
</div>
133136
</body>
134-
</html>
137+
</html>

doc/SnakyHash/Extensions.html

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
<title>
77
Class: SnakyHash::Extensions
88

9-
&mdash; Documentation by YARD 0.9.37
9+
&mdash; Documentation by YARD 0.9.43
1010

1111
</title>
1212

13-
<link rel="stylesheet" href="../css/style.css" type="text/css" />
13+
<link rel="stylesheet" href="../css/style.css" type="text/css">
1414

15-
<link rel="stylesheet" href="../css/common.css" type="text/css" />
15+
<link rel="stylesheet" href="../css/common.css" type="text/css">
1616

1717
<script type="text/javascript">
1818
pathId = "SnakyHash::Extensions";
@@ -27,6 +27,8 @@
2727

2828
</head>
2929
<body>
30+
<div id="main_progress" aria-hidden="true"></div>
31+
3032
<div class="nav_wrap">
3133
<iframe id="nav" src="../class_list.html?1"></iframe>
3234
<div id="resizer"></div>
@@ -94,7 +96,8 @@
9496

9597
<dl>
9698
<dt>Defined in:</dt>
97-
<dd>lib/snaky_hash/extensions.rb</dd>
99+
<dd>lib/snaky_hash/extensions.rb
100+
</dd>
98101
</dl>
99102

100103
</div>
@@ -255,6 +258,7 @@ <h2>
255258

256259

257260
</ul>
261+
258262

259263

260264
<div id="constructor_details" class="method_details_list">
@@ -645,11 +649,11 @@ <h3 class="signature " id="run-instance_method">
645649
</div>
646650

647651
<div id="footer">
648-
Generated on Sat Jun 21 09:01:30 2025 by
652+
Generated on Sat May 16 19:44:52 2026 by
649653
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
650-
0.9.37 (ruby-3.4.3).
654+
0.9.43 (ruby-4.0.4).
651655
</div>
652656

653657
</div>
654658
</body>
655-
</html>
659+
</html>

0 commit comments

Comments
 (0)