rails-rfc6570 3.3.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +3 -1
  4. data/lib/rails/rfc6570/formatter.rb +9 -12
  5. data/lib/rails/rfc6570/patches.rb +1 -1
  6. data/lib/rails/rfc6570/version.rb +1 -1
  7. data/lib/rails/rfc6570.rb +10 -29
  8. data/spec/dummy/config/application.rb +5 -1
  9. data/spec/dummy/config/environments/test.rb +1 -1
  10. data/spec/rails/rfc6570/extensions/route_set_spec.rb +29 -0
  11. data/spec/rails/rfc6570/helper_spec.rb +44 -0
  12. data/spec/rails/rfc6570/visitor_spec.rb +12 -0
  13. data/spec/rails/rfc6570_spec.rb +49 -1
  14. data/spec/spec_helper.rb +6 -0
  15. data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-3bcd2110ca87/LICENSE +21 -0
  16. data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-3bcd2110ca87/README.md +23 -0
  17. data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-3bcd2110ca87/rubocop-config.gemspec +31 -0
  18. data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.3/CHANGELOG.md +285 -0
  19. data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.3/MIT-LICENSE +21 -0
  20. data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.3/README.rdoc +57 -0
  21. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.3/CHANGELOG.md +129 -0
  22. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.3/MIT-LICENSE +21 -0
  23. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.3/README.rdoc +40 -0
  24. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.3/CHANGELOG.md +309 -0
  25. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.3/MIT-LICENSE +20 -0
  26. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.3/README.rdoc +40 -0
  27. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/CHANGELOG.md +301 -0
  28. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/LICENSE.txt +202 -0
  29. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/README.md +121 -0
  30. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/addressable.gemspec +28 -0
  31. data/vendor/bundle/ruby/3.4.0/gems/base64-0.3.0/README.md +48 -0
  32. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.1/README.md +138 -0
  33. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.1/benchmark.gemspec +32 -0
  34. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.3/LICENSE +56 -0
  35. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.3/bigdecimal.gemspec +57 -0
  36. data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/MIT-LICENSE +20 -0
  37. data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/README.md +258 -0
  38. data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/builder.gemspec +49 -0
  39. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/CHANGELOG.md +603 -0
  40. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/LICENSE.txt +21 -0
  41. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/README.md +407 -0
  42. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.4/LICENSE +20 -0
  43. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.4/README.md +188 -0
  44. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.4/connection_pool.gemspec +24 -0
  45. data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/LICENSE +18 -0
  46. data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/README.md +192 -0
  47. data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/crass.gemspec +31 -0
  48. data/vendor/bundle/ruby/3.4.0/gems/diff-lcs-1.6.2/CHANGELOG.md +518 -0
  49. data/vendor/bundle/ruby/3.4.0/gems/diff-lcs-1.6.2/README.md +92 -0
  50. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/LICENSE.txt +22 -0
  51. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/drb.gemspec +42 -0
  52. data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/CHANGELOG +111 -0
  53. data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/MIT-LICENSE +21 -0
  54. data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/README.rdoc +151 -0
  55. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.7/MIT-LICENSE +20 -0
  56. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.7/README.md +127 -0
  57. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/README.md +104 -0
  58. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.1/CHANGELOG.md +598 -0
  59. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.1/MIT-LICENSE.txt +23 -0
  60. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.1/README.md +410 -0
  61. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/README.rdoc +842 -0
  62. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/LICENSE-DEPENDENCIES.md +2224 -0
  63. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/LICENSE.md +9 -0
  64. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/README.md +293 -0
  65. data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.2/CHANGELOG.md +498 -0
  66. data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.2/LICENSE.txt +22 -0
  67. data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.2/README.md +222 -0
  68. data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
  69. data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/README.rdoc +60 -0
  70. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.1/CHANGELOG.md +1236 -0
  71. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.1/MIT-LICENSE +20 -0
  72. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.1/README.md +376 -0
  73. data/vendor/bundle/ruby/3.4.0/gems/rack-test-2.2.0/MIT-LICENSE.txt +20 -0
  74. data/vendor/bundle/ruby/3.4.0/gems/rack-test-2.2.0/README.md +139 -0
  75. data/vendor/bundle/ruby/3.4.0/gems/rails-dom-testing-2.3.0/MIT-LICENSE +23 -0
  76. data/vendor/bundle/ruby/3.4.0/gems/rails-dom-testing-2.3.0/README.md +94 -0
  77. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/CHANGELOG.md +255 -0
  78. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/MIT-LICENSE +23 -0
  79. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/README.md +267 -0
  80. data/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/MIT-LICENSE +21 -0
  81. data/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/README.rdoc +155 -0
  82. data/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/rake.gemspec +101 -0
  83. data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/LICENSE +21 -0
  84. data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/README.md +107 -0
  85. data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/rake-release.gemspec +23 -0
  86. data/vendor/bundle/ruby/3.4.0/gems/rspec-3.13.1/LICENSE.md +27 -0
  87. data/vendor/bundle/ruby/3.4.0/gems/rspec-3.13.1/README.md +47 -0
  88. data/vendor/bundle/ruby/3.4.0/gems/rspec-core-3.13.5/LICENSE.md +26 -0
  89. data/vendor/bundle/ruby/3.4.0/gems/rspec-core-3.13.5/README.md +389 -0
  90. data/vendor/bundle/ruby/3.4.0/gems/rspec-expectations-3.13.5/LICENSE.md +25 -0
  91. data/vendor/bundle/ruby/3.4.0/gems/rspec-expectations-3.13.5/README.md +326 -0
  92. data/vendor/bundle/ruby/3.4.0/gems/rspec-mocks-3.13.5/LICENSE.md +25 -0
  93. data/vendor/bundle/ruby/3.4.0/gems/rspec-mocks-3.13.5/README.md +465 -0
  94. data/vendor/bundle/ruby/3.4.0/gems/rspec-support-3.13.6/LICENSE.md +23 -0
  95. data/vendor/bundle/ruby/3.4.0/gems/rspec-support-3.13.6/README.md +40 -0
  96. data/vendor/bundle/ruby/3.4.0/gems/securerandom-0.4.1/README.md +72 -0
  97. data/vendor/bundle/ruby/3.4.0/gems/tzinfo-2.0.6/LICENSE +19 -0
  98. data/vendor/bundle/ruby/3.4.0/gems/tzinfo-2.0.6/README.md +406 -0
  99. data/vendor/bundle/ruby/3.4.0/gems/uri-1.0.3/README.md +55 -0
  100. data/vendor/bundle/ruby/3.4.0/gems/useragent-0.16.11/LICENSE +20 -0
  101. data/vendor/bundle/ruby/3.4.0/gems/useragent-0.16.11/README.md +42 -0
  102. data/vendor/bundle/ruby/3.4.0/specifications/actionpack-8.0.3.gemspec +36 -0
  103. data/vendor/bundle/ruby/3.4.0/specifications/actionview-8.0.3.gemspec +33 -0
  104. data/vendor/bundle/ruby/3.4.0/specifications/activesupport-8.0.3.gemspec +38 -0
  105. data/vendor/bundle/ruby/3.4.0/specifications/addressable-2.8.7.gemspec +30 -0
  106. data/vendor/bundle/ruby/3.4.0/specifications/base64-0.3.0.gemspec +23 -0
  107. data/vendor/bundle/ruby/3.4.0/specifications/benchmark-0.4.1.gemspec +23 -0
  108. data/vendor/bundle/ruby/3.4.0/specifications/bigdecimal-3.2.3.gemspec +25 -0
  109. data/vendor/bundle/ruby/3.4.0/specifications/builder-3.3.0.gemspec +22 -0
  110. data/vendor/bundle/ruby/3.4.0/specifications/concurrent-ruby-1.3.5.gemspec +24 -0
  111. data/vendor/bundle/ruby/3.4.0/specifications/connection_pool-2.5.4.gemspec +28 -0
  112. data/vendor/bundle/ruby/3.4.0/specifications/crass-1.0.6.gemspec +27 -0
  113. data/vendor/bundle/ruby/3.4.0/specifications/diff-lcs-1.6.2.gemspec +35 -0
  114. data/vendor/bundle/ruby/3.4.0/specifications/drb-2.2.3.gemspec +22 -0
  115. data/vendor/bundle/ruby/3.4.0/specifications/erubi-1.13.1.gemspec +29 -0
  116. data/vendor/bundle/ruby/3.4.0/specifications/i18n-1.14.7.gemspec +26 -0
  117. data/vendor/bundle/ruby/3.4.0/specifications/logger-1.7.0.gemspec +22 -0
  118. data/vendor/bundle/ruby/3.4.0/specifications/loofah-2.24.1.gemspec +27 -0
  119. data/vendor/bundle/ruby/3.4.0/specifications/minitest-5.25.5.gemspec +31 -0
  120. data/vendor/bundle/ruby/3.4.0/specifications/nokogiri-1.18.10-x86_64-linux-gnu.gemspec +31 -0
  121. data/vendor/bundle/ruby/3.4.0/specifications/public_suffix-6.0.2.gemspec +24 -0
  122. data/vendor/bundle/ruby/3.4.0/specifications/racc-1.8.1.gemspec +28 -0
  123. data/vendor/bundle/ruby/3.4.0/specifications/rack-3.2.1.gemspec +31 -0
  124. data/vendor/bundle/ruby/3.4.0/specifications/rack-session-2.1.1.gemspec +30 -0
  125. data/vendor/bundle/ruby/3.4.0/specifications/rack-test-2.2.0.gemspec +29 -0
  126. data/vendor/bundle/ruby/3.4.0/specifications/rails-dom-testing-2.3.0.gemspec +28 -0
  127. data/vendor/bundle/ruby/3.4.0/specifications/rails-html-sanitizer-1.6.2.gemspec +27 -0
  128. data/vendor/bundle/ruby/3.4.0/specifications/rake-13.3.0.gemspec +26 -0
  129. data/vendor/bundle/ruby/3.4.0/specifications/rake-release-1.3.0.gemspec +26 -0
  130. data/vendor/bundle/ruby/3.4.0/specifications/rspec-3.13.1.gemspec +31 -0
  131. data/vendor/bundle/ruby/3.4.0/specifications/rspec-core-3.13.5.gemspec +31 -0
  132. data/vendor/bundle/ruby/3.4.0/specifications/rspec-expectations-3.13.5.gemspec +29 -0
  133. data/vendor/bundle/ruby/3.4.0/specifications/rspec-mocks-3.13.5.gemspec +29 -0
  134. data/vendor/bundle/ruby/3.4.0/specifications/rspec-support-3.13.6.gemspec +29 -0
  135. data/vendor/bundle/ruby/3.4.0/specifications/securerandom-0.4.1.gemspec +23 -0
  136. data/vendor/bundle/ruby/3.4.0/specifications/tzinfo-2.0.6.gemspec +30 -0
  137. data/vendor/bundle/ruby/3.4.0/specifications/uri-1.0.3.gemspec +23 -0
  138. data/vendor/bundle/ruby/3.4.0/specifications/useragent-0.16.11.gemspec +25 -0
  139. metadata +129 -8
  140. data/spec/dummy/log/test.log +0 -432
@@ -0,0 +1,309 @@
1
+ ## Rails 8.0.3 (September 22, 2025) ##
2
+
3
+ * `ActiveSupport::FileUpdateChecker` does not depend on `Time.now` to prevent unnecessary reloads with time travel test helpers
4
+
5
+ *Jan Grodowski*
6
+
7
+ * Fix `ActiveSupport::BroadcastLogger` from executing a block argument for each logger (tagged, info, etc.).
8
+
9
+ *Jared Armstrong*
10
+
11
+ * Make `ActiveSupport::Logger` `#freeze`-friendly.
12
+
13
+ *Joshua Young*
14
+
15
+ * Fix `ActiveSupport::HashWithIndifferentAccess#transform_keys!` removing defaults.
16
+
17
+ *Hartley McGuire*
18
+
19
+ * Fix `ActiveSupport::HashWithIndifferentAccess#tranform_keys!` to handle collisions.
20
+
21
+ If the transformation would result in a key equal to another not yet transformed one,
22
+ it would result in keys being lost.
23
+
24
+ Before:
25
+
26
+ ```ruby
27
+ >> {a: 1, b: 2}.with_indifferent_access.transform_keys!(&:succ)
28
+ => {"c" => 1}
29
+ ```
30
+
31
+ After:
32
+
33
+ ```ruby
34
+ >> {a: 1, b: 2}.with_indifferent_access.transform_keys!(&:succ)
35
+ => {"c" => 1, "d" => 2}
36
+ ```
37
+
38
+ *Jason T Johnson*, *Jean Boussier*
39
+
40
+ * Fix `ActiveSupport::Cache::MemCacheStore#read_multi` to handle network errors.
41
+
42
+ This method specifically wasn't handling network errors like other codepaths.
43
+
44
+ *Alessandro Dal Grande*
45
+
46
+ * Fix configuring `RedisCacheStore` with `raw: true`.
47
+
48
+ *fatkodima*
49
+
50
+ * Fix `Enumerable#sole` for infinite collections.
51
+
52
+ *fatkodima*
53
+
54
+
55
+ ## Rails 8.0.2.1 (August 13, 2025) ##
56
+
57
+ * No changes.
58
+
59
+
60
+ ## Rails 8.0.2 (March 12, 2025) ##
61
+
62
+ * Fix setting `to_time_preserves_timezone` from `new_framework_defaults_8_0.rb`.
63
+
64
+ *fatkodima*
65
+
66
+ * Fix Active Support Cache `fetch_multi` when local store is active.
67
+
68
+ `fetch_multi` now properly yield to the provided block for missing entries
69
+ that have been recorded as such in the local store.
70
+
71
+ *Jean Boussier*
72
+
73
+ * Fix execution wrapping to report all exceptions, including `Exception`.
74
+
75
+ If a more serious error like `SystemStackError` or `NoMemoryError` happens,
76
+ the error reporter should be able to report these kinds of exceptions.
77
+
78
+ *Gannon McGibbon*
79
+
80
+ * Fix `RedisCacheStore` and `MemCacheStore` to also handle connection pool related errors.
81
+
82
+ These errors are rescued and reported to `Rails.error`.
83
+
84
+ *Jean Boussier*
85
+
86
+ * Fix `ActiveSupport::Cache#read_multi` to respect version expiry when using local cache.
87
+
88
+ *zzak*
89
+
90
+ * Fix `ActiveSupport::MessageVerifier` and `ActiveSupport::MessageEncryptor` configuration of `on_rotation` callback.
91
+
92
+ ```ruby
93
+ verifier.rotate(old_secret).on_rotation { ... }
94
+ ```
95
+
96
+ Now both work as documented.
97
+
98
+ *Jean Boussier*
99
+
100
+ * Fix `ActiveSupport::MessageVerifier` to always be able to verify both URL-safe and URL-unsafe payloads.
101
+
102
+ This is to allow transitioning seemlessly from either configuration without immediately invalidating
103
+ all previously generated signed messages.
104
+
105
+ *Jean Boussier*, *Florent Beaurain*, *Ali Sepehri*
106
+
107
+ * Fix `cache.fetch` to honor the provided expiry when `:race_condition_ttl` is used.
108
+
109
+ ```ruby
110
+ cache.fetch("key", expires_in: 1.hour, race_condition_ttl: 5.second) do
111
+ "something"
112
+ end
113
+ ```
114
+
115
+ In the above example, the final cache entry would have a 10 seconds TTL instead
116
+ of the requested 1 hour.
117
+
118
+ *Dhia*
119
+
120
+ * Better handle procs with splat arguments in `set_callback`.
121
+
122
+ *Radamés Roriz*
123
+
124
+ * Fix `String#mb_chars` to not mutate the receiver.
125
+
126
+ Previously it would call `force_encoding` on the receiver,
127
+ now it dups the receiver first.
128
+
129
+ *Jean Boussier*
130
+
131
+ * Improve `ErrorSubscriber` to also mark error causes as reported.
132
+
133
+ This avoid some cases of errors being reported twice, notably in views because of how
134
+ errors are wrapped in `ActionView::Template::Error`.
135
+
136
+ *Jean Boussier*
137
+
138
+ * Fix `Module#module_parent_name` to return the correct name after the module has been named.
139
+
140
+ When called on an anonymous module, the return value wouldn't change after the module was given a name
141
+ later by being assigned to a constant.
142
+
143
+ ```ruby
144
+ mod = Module.new
145
+ mod.module_parent_name # => "Object"
146
+ MyModule::Something = mod
147
+ mod.module_parent_name # => "MyModule"
148
+ ```
149
+
150
+ *Jean Boussier*
151
+
152
+
153
+ ## Rails 8.0.1 (December 13, 2024) ##
154
+
155
+ * Fix a bug in `ERB::Util.tokenize` that causes incorrect tokenization when ERB tags are preceeded by multibyte characters.
156
+
157
+ *Martin Emde*
158
+
159
+ * Restore the ability to decorate methods generated by `class_attribute`.
160
+
161
+ It always has been complicated to use Module#prepend or an alias method chain
162
+ to decorate methods defined by `class_attribute`, but became even harder in 8.0.
163
+
164
+ This capability is now supported for both reader and writer methods.
165
+
166
+ *Jean Boussier*
167
+
168
+
169
+ ## Rails 8.0.0.1 (December 10, 2024) ##
170
+
171
+ * No changes.
172
+
173
+
174
+ ## Rails 8.0.0 (November 07, 2024) ##
175
+
176
+ * No changes.
177
+
178
+
179
+ ## Rails 8.0.0.rc2 (October 30, 2024) ##
180
+
181
+ * No changes.
182
+
183
+
184
+ ## Rails 8.0.0.rc1 (October 19, 2024) ##
185
+
186
+ * Remove deprecated support to passing an array of strings to `ActiveSupport::Deprecation#warn`.
187
+
188
+ *Rafael Mendonça França*
189
+
190
+ * Remove deprecated support to setting `attr_internal_naming_format` with a `@` prefix.
191
+
192
+ *Rafael Mendonça França*
193
+
194
+ * Remove deprecated `ActiveSupport::ProxyObject`.
195
+
196
+ *Rafael Mendonça França*
197
+
198
+ * Don't execute i18n watcher on boot. It shouldn't catch any file changes initially,
199
+ and unnecessarily slows down boot of applications with lots of translations.
200
+
201
+ *Gannon McGibbon*, *David Stosik*
202
+
203
+ * Fix `ActiveSupport::HashWithIndifferentAccess#stringify_keys` to stringify all keys not just symbols.
204
+
205
+ Previously:
206
+
207
+ ```ruby
208
+ { 1 => 2 }.with_indifferent_access.stringify_keys[1] # => 2
209
+ ```
210
+
211
+ After this change:
212
+
213
+ ```ruby
214
+ { 1 => 2 }.with_indifferent_access.stringify_keys["1"] # => 2
215
+ ```
216
+
217
+ This change can be seen as a bug fix, but since it behaved like this for a very long time, we're deciding
218
+ to not backport the fix and to make the change in a major release.
219
+
220
+ *Jean Boussier*
221
+
222
+ ## Rails 8.0.0.beta1 (September 26, 2024) ##
223
+
224
+ * Include options when instrumenting `ActiveSupport::Cache::Store#delete` and `ActiveSupport::Cache::Store#delete_multi`.
225
+
226
+ *Adam Renberg Tamm*
227
+
228
+ * Print test names when running `rails test -v` for parallel tests.
229
+
230
+ *John Hawthorn*, *Abeid Ahmed*
231
+
232
+ * Deprecate `Benchmark.ms` core extension.
233
+
234
+ The `benchmark` gem will become bundled in Ruby 3.5
235
+
236
+ *Earlopain*
237
+
238
+ * `ActiveSupport::TimeWithZone#inspect` now uses ISO 8601 style time like `Time#inspect`
239
+
240
+ *John Hawthorn*
241
+
242
+ * `ActiveSupport::ErrorReporter#report` now assigns a backtrace to unraised exceptions.
243
+
244
+ Previously reporting an un-raised exception would result in an error report without
245
+ a backtrace. Now it automatically generates one.
246
+
247
+ *Jean Boussier*
248
+
249
+ * Add `escape_html_entities` option to `ActiveSupport::JSON.encode`.
250
+
251
+ This allows for overriding the global configuration found at
252
+ `ActiveSupport.escape_html_entities_in_json` for specific calls to `to_json`.
253
+
254
+ This should be usable from controllers in the following manner:
255
+ ```ruby
256
+ class MyController < ApplicationController
257
+ def index
258
+ render json: { hello: "world" }, escape_html_entities: false
259
+ end
260
+ end
261
+ ```
262
+
263
+ *Nigel Baillie*
264
+
265
+ * Raise when using key which can't respond to `#to_sym` in `EncryptedConfiguration`.
266
+
267
+ As is the case when trying to use an Integer or Float as a key, which is unsupported.
268
+
269
+ *zzak*
270
+
271
+ * Deprecate addition and since between two `Time` and `ActiveSupport::TimeWithZone`.
272
+
273
+ Previously adding time instances together such as `10.days.ago + 10.days.ago` or `10.days.ago.since(10.days.ago)` produced a nonsensical future date. This behavior is deprecated and will be removed in Rails 8.1.
274
+
275
+ *Nick Schwaderer*
276
+
277
+ * Support rfc2822 format for Time#to_fs & Date#to_fs.
278
+
279
+ *Akshay Birajdar*
280
+
281
+ * Optimize load time for `Railtie#initialize_i18n`. Filter `I18n.load_path`s passed to the file watcher to only those
282
+ under `Rails.root`. Previously the watcher would grab all available locales, including those in gems
283
+ which do not require a watcher because they won't change.
284
+
285
+ *Nick Schwaderer*
286
+
287
+ * Add a `filter` option to `in_order_of` to prioritize certain values in the sorting without filtering the results
288
+ by these values.
289
+
290
+ *Igor Depolli*
291
+
292
+ * Improve error message when using `assert_difference` or `assert_changes` with a
293
+ proc by printing the proc's source code (MRI only).
294
+
295
+ *Richard Böhme*, *Jean Boussier*
296
+
297
+ * Add a new configuration value `:zone` for `ActiveSupport.to_time_preserves_timezone` and rename the previous `true` value to `:offset`. The new default value is `:zone`.
298
+
299
+ *Jason Kim*, *John Hawthorn*
300
+
301
+ * Align instrumentation `payload[:key]` in ActiveSupport::Cache to follow the same pattern, with namespaced and normalized keys.
302
+
303
+ *Frederik Erbs Spang Thomsen*
304
+
305
+ * Fix `travel_to` to set usec 0 when `with_usec` is `false` and the given argument String or DateTime.
306
+
307
+ *mopp*
308
+
309
+ Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/activesupport/CHANGELOG.md) for previous changes.
@@ -0,0 +1,20 @@
1
+ Copyright (c) David Heinemeier Hansson
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,40 @@
1
+ = Active Support -- Utility classes and Ruby extensions from \Rails
2
+
3
+ Active Support is a collection of utility classes and standard library
4
+ extensions that were found useful for the \Rails framework. These additions
5
+ reside in this package so they can be loaded as needed in Ruby projects
6
+ outside of \Rails.
7
+
8
+ You can read more about the extensions in the {Active Support Core Extensions}[https://guides.rubyonrails.org/active_support_core_extensions.html] guide.
9
+
10
+ == Download and installation
11
+
12
+ The latest version of Active Support can be installed with RubyGems:
13
+
14
+ $ gem install activesupport
15
+
16
+ Source code can be downloaded as part of the \Rails project on GitHub:
17
+
18
+ * https://github.com/rails/rails/tree/main/activesupport
19
+
20
+
21
+ == License
22
+
23
+ Active Support is released under the MIT license:
24
+
25
+ * https://opensource.org/licenses/MIT
26
+
27
+
28
+ == Support
29
+
30
+ API documentation is at:
31
+
32
+ * https://api.rubyonrails.org
33
+
34
+ Bug reports for the Ruby on \Rails project can be filed here:
35
+
36
+ * https://github.com/rails/rails/issues
37
+
38
+ Feature requests should be discussed on the rubyonrails-core forum here:
39
+
40
+ * https://discuss.rubyonrails.org/c/rubyonrails-core
@@ -0,0 +1,301 @@
1
+ # Addressable 2.8.7 <a name="v2.8.7">
2
+ - Allow `public_suffix` 6 ([#535])
3
+
4
+ [#535]: https://github.com/sporkmonger/addressable/pull/535
5
+
6
+ # Addressable 2.8.6 <a name="v2.8.6">
7
+ - Memoize regexps for common character classes ([#524])
8
+
9
+ [#524]: https://github.com/sporkmonger/addressable/pull/524
10
+
11
+ # Addressable 2.8.5 <a name="v2.8.5">
12
+ - Fix thread safety issue with encoding tables ([#515])
13
+ - Define URI::NONE as a module to avoid serialization issues ([#509])
14
+ - Fix YAML serialization ([#508])
15
+
16
+ [#508]: https://github.com/sporkmonger/addressable/pull/508
17
+ [#509]: https://github.com/sporkmonger/addressable/pull/509
18
+ [#515]: https://github.com/sporkmonger/addressable/pull/515
19
+
20
+ # Addressable 2.8.4 <a name="v2.8.4">
21
+ - Restore `Addressable::IDNA.unicode_normalize_kc` as a deprecated method ([#504])
22
+
23
+ [#504]: https://github.com/sporkmonger/addressable/pull/504
24
+
25
+ # Addressable 2.8.3 <a name="v2.8.3">
26
+ - Fix template expand level 2 hash support for non-string objects ([#499], [#498])
27
+
28
+ [#499]: https://github.com/sporkmonger/addressable/pull/499
29
+ [#498]: https://github.com/sporkmonger/addressable/pull/498
30
+
31
+ # Addressable 2.8.2 <a name="v2.8.2">
32
+ - Improve cache hits and JIT friendliness ([#486](https://github.com/sporkmonger/addressable/pull/486))
33
+ - Improve code style and test coverage ([#482](https://github.com/sporkmonger/addressable/pull/482))
34
+ - Ensure reset of deferred validation ([#481](https://github.com/sporkmonger/addressable/pull/481))
35
+ - Resolve normalization differences between `IDNA::Native` and `IDNA::Pure` ([#408](https://github.com/sporkmonger/addressable/issues/408), [#492])
36
+ - Remove redundant colon in `Addressable::URI::CharacterClasses::AUTHORITY` regex ([#438](https://github.com/sporkmonger/addressable/pull/438)) (accidentally reverted by [#449] merge but [added back](https://github.com/sporkmonger/addressable/pull/492#discussion_r1105125280) in [#492])
37
+
38
+ [#492]: https://github.com/sporkmonger/addressable/pull/492
39
+
40
+ # Addressable 2.8.1 <a name="v2.8.1">
41
+ - refactor `Addressable::URI.normalize_path` to address linter offenses ([#430](https://github.com/sporkmonger/addressable/pull/430))
42
+ - update gemspec to reflect supported Ruby versions ([#466], [#464], [#463])
43
+ - compatibility w/ public_suffix 5.x ([#466], [#465], [#460])
44
+ - fixes "invalid byte sequence in UTF-8" exception when unencoding URLs containing non UTF-8 characters ([#459](https://github.com/sporkmonger/addressable/pull/459))
45
+ - `Ractor` compatibility ([#449])
46
+ - use the whole string instead of a single line for template match ([#431](https://github.com/sporkmonger/addressable/pull/431))
47
+ - force UTF-8 encoding only if needed ([#341](https://github.com/sporkmonger/addressable/pull/341))
48
+
49
+ [#449]: https://github.com/sporkmonger/addressable/pull/449
50
+ [#460]: https://github.com/sporkmonger/addressable/pull/460
51
+ [#463]: https://github.com/sporkmonger/addressable/pull/463
52
+ [#464]: https://github.com/sporkmonger/addressable/pull/464
53
+ [#465]: https://github.com/sporkmonger/addressable/pull/465
54
+ [#466]: https://github.com/sporkmonger/addressable/pull/466
55
+
56
+ # Addressable 2.8.0 <a name="v2.8.0">
57
+ - fixes ReDoS vulnerability in Addressable::Template#match
58
+ - no longer replaces `+` with spaces in queries for non-http(s) schemes
59
+ - fixed encoding ipv6 literals
60
+ - the `:compacted` flag for `normalized_query` now dedupes parameters
61
+ - fix broken `escape_component` alias
62
+ - dropping support for Ruby 2.0 and 2.1
63
+ - adding Ruby 3.0 compatibility for development tasks
64
+ - drop support for `rack-mount` and remove Addressable::Template#generate
65
+ - performance improvements
66
+ - switch CI/CD to GitHub Actions
67
+
68
+ # Addressable 2.7.0 <a name="v2.7.0">
69
+ - added `:compacted` flag to `normalized_query`
70
+ - `heuristic_parse` handles `mailto:` more intuitively
71
+ - dropped explicit support for JRuby 9.0.5.0
72
+ - compatibility w/ public_suffix 4.x
73
+ - performance improvements
74
+
75
+ # Addressable 2.6.0 <a name="v2.6.0">
76
+ - added `tld=` method to allow assignment to the public suffix
77
+ - most `heuristic_parse` patterns are now case-insensitive
78
+ - `heuristic_parse` handles more `file://` URI variations
79
+ - fixes bug in `heuristic_parse` when uri starts with digit
80
+ - fixes bug in `request_uri=` with query strings
81
+ - fixes template issues with `nil` and `?` operator
82
+ - `frozen_string_literal` pragmas added
83
+ - minor performance improvements in regexps
84
+ - fixes to eliminate warnings
85
+
86
+ # Addressable 2.5.2 <a name="v2.5.2">
87
+ - better support for frozen string literals
88
+ - fixed bug w/ uppercase characters in scheme
89
+ - IDNA errors w/ emoji URLs
90
+ - compatibility w/ public_suffix 3.x
91
+
92
+ # Addressable 2.5.1 <a name="v2.5.1">
93
+ - allow unicode normalization to be disabled for URI Template expansion
94
+ - removed duplicate test
95
+
96
+ # Addressable 2.5.0 <a name="v2.5.0">
97
+ - dropping support for Ruby 1.9
98
+ - adding support for Ruby 2.4 preview
99
+ - add support for public suffixes and tld; first runtime dependency
100
+ - hostname escaping should match RFC; underscores in hostnames no longer escaped
101
+ - paths beginning with // and missing an authority are now considered invalid
102
+ - validation now also takes place after setting a path
103
+ - handle backslashes in authority more like a browser for `heuristic_parse`
104
+ - unescaped backslashes in host now raise an `InvalidURIError`
105
+ - `merge!`, `join!`, `omit!` and `normalize!` don't disable deferred validation
106
+ - `heuristic_parse` now trims whitespace before parsing
107
+ - host parts longer than 63 bytes will be ignored and not passed to libidn
108
+ - normalized values always encoded as UTF-8
109
+
110
+ # Addressable 2.4.0 <a name="v2.4.0">
111
+ - support for 1.8.x dropped
112
+ - double quotes in a host now raises an error
113
+ - newlines in host will no longer get unescaped during normalization
114
+ - stricter handling of bogus scheme values
115
+ - stricter handling of encoded port values
116
+ - calling `require 'addressable'` will now load both the URI and Template files
117
+ - assigning to the `hostname` component with an `IPAddr` object is now supported
118
+ - assigning to the `origin` component is now supported
119
+ - fixed minor bug where an exception would be thrown for a missing ACE suffix
120
+ - better partial expansion of URI templates
121
+
122
+ # Addressable 2.3.8 <a name="v2.3.8">
123
+ - fix warnings
124
+ - update dependency gems
125
+ - support for 1.8.x officially deprecated
126
+
127
+ # Addressable 2.3.7 <a name="v2.3.7">
128
+ - fix scenario in which invalid URIs don't get an exception until inspected
129
+ - handle hostnames with two adjacent periods correctly
130
+ - upgrade of RSpec
131
+
132
+ # Addressable 2.3.6 <a name="v2.3.6">
133
+ - normalization drops empty query string
134
+ - better handling in template extract for missing values
135
+ - template modifier for `'?'` now treated as optional
136
+ - fixed issue where character class parameters were modified
137
+ - templates can now be tested for equality
138
+ - added `:sorted` option to normalization of query strings
139
+ - fixed issue with normalization of hosts given in `'example.com.'` form
140
+
141
+ # Addressable 2.3.5 <a name="v2.3.5">
142
+ - added Addressable::URI#empty? method
143
+ - Addressable::URI#hostname methods now strip square brackets from IPv6 hosts
144
+ - compatibility with Net::HTTP in Ruby 2.0.0
145
+ - Addressable::URI#route_from should always give relative URIs
146
+
147
+ # Addressable 2.3.4 <a name="v2.3.4">
148
+ - fixed issue with encoding altering its inputs
149
+ - query string normalization now leaves ';' characters alone
150
+ - FakeFS is detected before attempting to load unicode tables
151
+ - additional testing to ensure frozen objects don't cause problems
152
+
153
+ # Addressable 2.3.3 <a name="v2.3.3">
154
+ - fixed issue with converting common primitives during template expansion
155
+ - fixed port encoding issue
156
+ - removed a few warnings
157
+ - normalize should now ignore %2B in query strings
158
+ - the IDNA logic should now be handled by libidn in Ruby 1.9
159
+ - no template match should now result in nil instead of an empty MatchData
160
+ - added license information to gemspec
161
+
162
+ # Addressable 2.3.2 <a name="v2.3.2">
163
+ - added Addressable::URI#default_port method
164
+ - fixed issue with Marshalling Unicode data on Windows
165
+ - improved heuristic parsing to better handle IPv4 addresses
166
+
167
+ # Addressable 2.3.1 <a name="v2.3.1">
168
+ - fixed missing unicode data file
169
+
170
+ # Addressable 2.3.0 <a name="v2.3.0">
171
+ - updated Addressable::Template to use RFC 6570, level 4
172
+ - fixed compatibility problems with some versions of Ruby
173
+ - moved unicode tables into a data file for performance reasons
174
+ - removing support for multiple query value notations
175
+
176
+ # Addressable 2.2.8 <a name="v2.2.8">
177
+ - fixed issues with dot segment removal code
178
+ - form encoding can now handle multiple values per key
179
+ - updated development environment
180
+
181
+ # Addressable 2.2.7 <a name="v2.2.7">
182
+ - fixed issues related to Addressable::URI#query_values=
183
+ - the Addressable::URI.parse method is now polymorphic
184
+
185
+ # Addressable 2.2.6 <a name="v2.2.6">
186
+ - changed the way ambiguous paths are handled
187
+ - fixed bug with frozen URIs
188
+ - https supported in heuristic parsing
189
+
190
+ # Addressable 2.2.5 <a name="v2.2.5">
191
+ - 'parsing' a pre-parsed URI object is now a dup operation
192
+ - introduced conditional support for libidn
193
+ - fixed normalization issue on ampersands in query strings
194
+ - added additional tests around handling of query strings
195
+
196
+ # Addressable 2.2.4 <a name="v2.2.4">
197
+ - added origin support from draft-ietf-websec-origin-00
198
+ - resolved issue with attempting to navigate below root
199
+ - fixed bug with string splitting in query strings
200
+
201
+ # Addressable 2.2.3 <a name="v2.2.3">
202
+ - added :flat_array notation for query strings
203
+
204
+ # Addressable 2.2.2 <a name="v2.2.2">
205
+ - fixed issue with percent escaping of '+' character in query strings
206
+
207
+ # Addressable 2.2.1 <a name="v2.2.1">
208
+ - added support for application/x-www-form-urlencoded.
209
+
210
+ # Addressable 2.2.0 <a name="v2.2.0">
211
+ - added site methods
212
+ - improved documentation
213
+
214
+ # Addressable 2.1.2 <a name="v2.1.2">
215
+ - added HTTP request URI methods
216
+ - better handling of Windows file paths
217
+ - validation_deferred boolean replaced with defer_validation block
218
+ - normalization of percent-encoded paths should now be correct
219
+ - fixed issue with constructing URIs with relative paths
220
+ - fixed warnings
221
+
222
+ # Addressable 2.1.1 <a name="v2.1.1">
223
+ - more type checking changes
224
+ - fixed issue with unicode normalization
225
+ - added method to find template defaults
226
+ - symbolic keys are now allowed in template mappings
227
+ - numeric values and symbolic values are now allowed in template mappings
228
+
229
+ # Addressable 2.1.0 <a name="v2.1.0">
230
+ - refactored URI template support out into its own class
231
+ - removed extract method due to being useless and unreliable
232
+ - removed Addressable::URI.expand_template
233
+ - removed Addressable::URI#extract_mapping
234
+ - added partial template expansion
235
+ - fixed minor bugs in the parse and heuristic_parse methods
236
+ - fixed incompatibility with Ruby 1.9.1
237
+ - fixed bottleneck in Addressable::URI#hash and Addressable::URI#to_s
238
+ - fixed unicode normalization exception
239
+ - updated query_values methods to better handle subscript notation
240
+ - worked around issue with freezing URIs
241
+ - improved specs
242
+
243
+ # Addressable 2.0.2 <a name="v2.0.2">
244
+ - fixed issue with URI template expansion
245
+ - fixed issue with percent escaping characters 0-15
246
+
247
+ # Addressable 2.0.1 <a name="v2.0.1">
248
+ - fixed issue with query string assignment
249
+ - fixed issue with improperly encoded components
250
+
251
+ # Addressable 2.0.0 <a name="v2.0.0">
252
+ - the initialize method now takes an options hash as its only parameter
253
+ - added query_values method to URI class
254
+ - completely replaced IDNA implementation with pure Ruby
255
+ - renamed Addressable::ADDRESSABLE_VERSION to Addressable::VERSION
256
+ - completely reworked the Rakefile
257
+ - changed the behavior of the port method significantly
258
+ - Addressable::URI.encode_segment, Addressable::URI.unencode_segment renamed
259
+ - documentation is now in YARD format
260
+ - more rigorous type checking
261
+ - to_str method implemented, implicit conversion to Strings now allowed
262
+ - Addressable::URI#omit method added, Addressable::URI#merge method replaced
263
+ - updated URI Template code to match v 03 of the draft spec
264
+ - added a bunch of new specifications
265
+
266
+ # Addressable 1.0.4 <a name="v1.0.4">
267
+ - switched to using RSpec's pending system for specs that rely on IDN
268
+ - fixed issue with creating URIs with paths that are not prefixed with '/'
269
+
270
+ # Addressable 1.0.3 <a name="v1.0.3">
271
+ - implemented a hash method
272
+
273
+ # Addressable 1.0.2 <a name="v1.0.2">
274
+ - fixed minor bug with the extract_mapping method
275
+
276
+ # Addressable 1.0.1 <a name="v1.0.1">
277
+ - fixed minor bug with the extract_mapping method
278
+
279
+ # Addressable 1.0.0 <a name="v1.0.0">
280
+ - heuristic parse method added
281
+ - parsing is slightly more strict
282
+ - replaced to_h with to_hash
283
+ - fixed routing methods
284
+ - improved specifications
285
+ - improved heckle rake task
286
+ - no surviving heckle mutations
287
+
288
+ # Addressable 0.1.2 <a name="v0.1.2">
289
+ - improved normalization
290
+ - fixed bug in joining algorithm
291
+ - updated specifications
292
+
293
+ # Addressable 0.1.1 <a name="v0.1.1">
294
+ - updated documentation
295
+ - added URI Template variable extraction
296
+
297
+ # Addressable 0.1.0 <a name="v0.1.0">
298
+ - initial release
299
+ - implementation based on RFC 3986, 3987
300
+ - support for IRIs via libidn
301
+ - support for the URI Template draft spec