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,285 @@
1
+ ## Rails 8.0.3 (September 22, 2025) ##
2
+
3
+ * URL helpers for engines mounted at the application root handle `SCRIPT_NAME` correctly.
4
+
5
+ Fixed an issue where `SCRIPT_NAME` is not applied to paths generated for routes in an engine
6
+ mounted at "/".
7
+
8
+ *Mike Dalessio*
9
+
10
+ * Fix `Rails.application.reload_routes!` from clearing almost all routes.
11
+
12
+ When calling `Rails.application.reload_routes!` inside a middleware of
13
+ a Rake task, it was possible under certain conditions that all routes would be cleared.
14
+ If ran inside a middleware, this would result in getting a 404 on most page you visit.
15
+ This issue was only happening in development.
16
+
17
+ *Edouard Chin*
18
+
19
+ * Address `rack 3.2` deprecations warnings.
20
+
21
+ ```
22
+ warning: Status code :unprocessable_entity is deprecated and will be removed in a future version of Rack.
23
+ Please use :unprocessable_content instead.
24
+ ```
25
+
26
+ Rails API will transparently convert one into the other for the foreseeable future.
27
+
28
+ *Earlopain*, *Jean Boussier*
29
+
30
+ * Support hash-source in Content Security Policy.
31
+
32
+ *madogiwa*
33
+
34
+ * Always return empty body for HEAD requests in `PublicExceptions` and
35
+ `DebugExceptions`.
36
+
37
+ This is required by `Rack::Lint` (per RFC9110).
38
+
39
+ *Hartley McGuire*
40
+
41
+
42
+ ## Rails 8.0.2.1 (August 13, 2025) ##
43
+
44
+ * No changes.
45
+
46
+ ## Rails 8.0.2 (March 12, 2025) ##
47
+
48
+ * Improve `with_routing` test helper to not rebuild the middleware stack.
49
+
50
+ Otherwise some middleware configuration could be lost.
51
+
52
+ *Édouard Chin*
53
+
54
+ * Add resource name to the `ArgumentError` that's raised when invalid `:only` or `:except` options are given to `#resource` or `#resources`
55
+
56
+ This makes it easier to locate the source of the problem, especially for routes drawn by gems.
57
+
58
+ Before:
59
+ ```
60
+ :only and :except must include only [:index, :create, :new, :show, :update, :destroy, :edit], but also included [:foo, :bar]
61
+ ```
62
+
63
+ After:
64
+ ```
65
+ Route `resources :products` - :only and :except must include only [:index, :create, :new, :show, :update, :destroy, :edit], but also included [:foo, :bar]
66
+ ```
67
+
68
+ *Jeremy Green*
69
+
70
+ * Fix `url_for` to handle `:path_params` gracefully when it's not a `Hash`.
71
+
72
+ Prevents various security scanners from causing exceptions.
73
+
74
+ *Martin Emde*
75
+
76
+ * Fix `ActionDispatch::Executor` to unwrap exceptions like other error reporting middlewares.
77
+
78
+ *Jean Boussier*
79
+
80
+
81
+ ## Rails 8.0.1 (December 13, 2024) ##
82
+
83
+ * Add `ActionDispatch::Request::Session#store` method to conform Rack spec.
84
+
85
+ *Yaroslav*
86
+
87
+
88
+ ## Rails 8.0.0.1 (December 10, 2024) ##
89
+
90
+ * Add validation to content security policies to disallow spaces and semicolons.
91
+ Developers should use multiple arguments, and different directive methods instead.
92
+
93
+ [CVE-2024-54133]
94
+
95
+ *Gannon McGibbon*
96
+
97
+
98
+ ## Rails 8.0.0 (November 07, 2024) ##
99
+
100
+ * No changes.
101
+
102
+
103
+ ## Rails 8.0.0.rc2 (October 30, 2024) ##
104
+
105
+ * Fix routes with `::` in the path.
106
+
107
+ *Rafael Mendonça França*
108
+
109
+ * Maintain Rack 2 parameter parsing behaviour.
110
+
111
+ *Matthew Draper*
112
+
113
+
114
+ ## Rails 8.0.0.rc1 (October 19, 2024) ##
115
+
116
+ * Remove `Rails.application.config.action_controller.allow_deprecated_parameters_hash_equality`.
117
+
118
+ *Rafael Mendonça França*
119
+
120
+ * Improve `ActionController::TestCase` to expose a binary encoded `request.body`.
121
+
122
+ The rack spec clearly states:
123
+
124
+ > The input stream is an IO-like object which contains the raw HTTP POST data.
125
+ > When applicable, its external encoding must be “ASCII-8BIT” and it must be opened in binary mode.
126
+
127
+ Until now its encoding was generally UTF-8, which doesn't accurately reflect production
128
+ behavior.
129
+
130
+ *Jean Boussier*
131
+
132
+ * Update `ActionController::AllowBrowser` to support passing method names to `:block`
133
+
134
+ ```ruby
135
+ class ApplicationController < ActionController::Base
136
+ allow_browser versions: :modern, block: :handle_outdated_browser
137
+
138
+ private
139
+ def handle_outdated_browser
140
+ render file: Rails.root.join("public/custom-error.html"), status: :not_acceptable
141
+ end
142
+ end
143
+ ```
144
+
145
+ *Sean Doyle*
146
+
147
+ * Raise an `ArgumentError` when invalid `:only` or `:except` options are passed into `#resource` and `#resources`.
148
+
149
+ *Joshua Young*
150
+
151
+ ## Rails 8.0.0.beta1 (September 26, 2024) ##
152
+
153
+ * Fix non-GET requests not updating cookies in `ActionController::TestCase`.
154
+
155
+ *Jon Moss*, *Hartley McGuire*
156
+
157
+ * Update `ActionController::Live` to use a thread-pool to reuse threads across requests.
158
+
159
+ *Adam Renberg Tamm*
160
+
161
+ * Introduce safer, more explicit params handling method with `params#expect` such that
162
+ `params.expect(table: [ :attr ])` replaces `params.require(:table).permit(:attr)`
163
+
164
+ Ensures params are filtered with consideration for the expected
165
+ types of values, improving handling of params and avoiding ignorable
166
+ errors caused by params tampering.
167
+
168
+ ```ruby
169
+ # If the url is altered to ?person=hacked
170
+ # Before
171
+ params.require(:person).permit(:name, :age, pets: [:name])
172
+ # raises NoMethodError, causing a 500 and potential error reporting
173
+
174
+ # After
175
+ params.expect(person: [ :name, :age, pets: [[:name]] ])
176
+ # raises ActionController::ParameterMissing, correctly returning a 400 error
177
+ ```
178
+
179
+ You may also notice the new double array `[[:name]]`. In order to
180
+ declare when a param is expected to be an array of parameter hashes,
181
+ this new double array syntax is used to explicitly declare an array.
182
+ `expect` requires you to declare expected arrays in this way, and will
183
+ ignore arrays that are passed when, for example, `pet: [:name]` is used.
184
+
185
+ In order to preserve compatibility, `permit` does not adopt the new
186
+ double array syntax and is therefore more permissive about unexpected
187
+ types. Using `expect` everywhere is recommended.
188
+
189
+ We suggest replacing `params.require(:person).permit(:name, :age)`
190
+ with the direct replacement `params.expect(person: [:name, :age])`
191
+ to prevent external users from manipulating params to trigger 500
192
+ errors. A 400 error will be returned instead, using public/400.html
193
+
194
+ Usage of `params.require(:id)` should likewise be replaced with
195
+ `params.expect(:id)` which is designed to ensure that `params[:id]`
196
+ is a scalar and not an array or hash, also requiring the param.
197
+
198
+ ```ruby
199
+ # Before
200
+ User.find(params.require(:id)) # allows an array, altering behavior
201
+
202
+ # After
203
+ User.find(params.expect(:id)) # expect only returns non-blank permitted scalars (excludes Hash, Array, nil, "", etc)
204
+ ```
205
+
206
+ *Martin Emde*
207
+
208
+ * System Testing: Disable Chrome's search engine choice by default in system tests.
209
+
210
+ *glaszig*
211
+
212
+ * Fix `Request#raw_post` raising `NoMethodError` when `rack.input` is `nil`.
213
+
214
+ *Hartley McGuire*
215
+
216
+ * Remove `racc` dependency by manually writing `ActionDispatch::Journey::Scanner`.
217
+
218
+ *Gannon McGibbon*
219
+
220
+ * Speed up `ActionDispatch::Routing::Mapper::Scope#[]` by merging frame hashes.
221
+
222
+ *Gannon McGibbon*
223
+
224
+ * Allow bots to ignore `allow_browser`.
225
+
226
+ *Matthew Nguyen*
227
+
228
+ * Deprecate drawing routes with multiple paths to make routing faster.
229
+ You may use `with_options` or a loop to make drawing multiple paths easier.
230
+
231
+ ```ruby
232
+ # Before
233
+ get "/users", "/other_path", to: "users#index"
234
+
235
+ # After
236
+ get "/users", to: "users#index"
237
+ get "/other_path", to: "users#index"
238
+ ```
239
+
240
+ *Gannon McGibbon*
241
+
242
+ * Make `http_cache_forever` use `immutable: true`
243
+
244
+ *Nate Matykiewicz*
245
+
246
+ * Add `config.action_dispatch.strict_freshness`.
247
+
248
+ When set to `true`, the `ETag` header takes precedence over the `Last-Modified` header when both are present,
249
+ as specified by RFC 7232, Section 6.
250
+
251
+ Defaults to `false` to maintain compatibility with previous versions of Rails, but is enabled as part of
252
+ Rails 8.0 defaults.
253
+
254
+ *heka1024*
255
+
256
+ * Support `immutable` directive in Cache-Control
257
+
258
+ ```ruby
259
+ expires_in 1.minute, public: true, immutable: true
260
+ # Cache-Control: public, max-age=60, immutable
261
+ ```
262
+
263
+ *heka1024*
264
+
265
+ * Add `:wasm_unsafe_eval` mapping for `content_security_policy`
266
+
267
+ ```ruby
268
+ # Before
269
+ policy.script_src "'wasm-unsafe-eval'"
270
+
271
+ # After
272
+ policy.script_src :wasm_unsafe_eval
273
+ ```
274
+
275
+ *Joe Haig*
276
+
277
+ * Add `display_capture` and `keyboard_map` in `permissions_policy`
278
+
279
+ *Cyril Blaecke*
280
+
281
+ * Add `connect` route helper.
282
+
283
+ *Samuel Williams*
284
+
285
+ Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/actionpack/CHANGELOG.md) for previous changes.
@@ -0,0 +1,21 @@
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.
21
+
@@ -0,0 +1,57 @@
1
+ = Action Pack -- From request to response
2
+
3
+ Action Pack is a framework for handling and responding to web requests. It
4
+ provides mechanisms for *routing* (mapping request URLs to actions), defining
5
+ *controllers* that implement actions, and generating responses. In short, Action Pack
6
+ provides the controller layer in the MVC paradigm.
7
+
8
+ It consists of several modules:
9
+
10
+ * Action Dispatch, which parses information about the web request, handles
11
+ routing as defined by the user, and does advanced processing related to HTTP
12
+ such as MIME-type negotiation, decoding parameters in POST, PATCH, or PUT bodies,
13
+ handling HTTP caching logic, cookies and sessions.
14
+
15
+ * Action Controller, which provides a base controller class that can be
16
+ subclassed to implement filters and actions to handle requests. The result
17
+ of an action is typically content generated from views.
18
+
19
+ With the Ruby on \Rails framework, users only directly interface with the
20
+ Action Controller module. Necessary Action Dispatch functionality is activated
21
+ by default and Action View rendering is implicitly triggered by Action
22
+ Controller. However, these modules are designed to function on their own and
23
+ can be used outside of \Rails.
24
+
25
+ You can read more about Action Pack in the {Action Controller Overview}[https://guides.rubyonrails.org/action_controller_overview.html] guide.
26
+
27
+ == Download and installation
28
+
29
+ The latest version of Action Pack can be installed with RubyGems:
30
+
31
+ $ gem install actionpack
32
+
33
+ Source code can be downloaded as part of the \Rails project on GitHub:
34
+
35
+ * https://github.com/rails/rails/tree/main/actionpack
36
+
37
+
38
+ == License
39
+
40
+ Action Pack is released under the MIT license:
41
+
42
+ * https://opensource.org/licenses/MIT
43
+
44
+
45
+ == Support
46
+
47
+ API documentation is at:
48
+
49
+ * https://api.rubyonrails.org
50
+
51
+ Bug reports for the Ruby on \Rails project can be filed here:
52
+
53
+ * https://github.com/rails/rails/issues
54
+
55
+ Feature requests should be discussed on the rubyonrails-core forum here:
56
+
57
+ * https://discuss.rubyonrails.org/c/rubyonrails-core
@@ -0,0 +1,129 @@
1
+ ## Rails 8.0.3 (September 22, 2025) ##
2
+
3
+ * Fix label with `for` option not getting prefixed by form `namespace` value
4
+
5
+ *Abeid Ahmed*, *Hartley McGuire*
6
+
7
+ * Fix `javascript_include_tag` `type` option to accept either strings and symbols.
8
+
9
+ ```ruby
10
+ javascript_include_tag "application", type: :module
11
+ javascript_include_tag "application", type: "module"
12
+ ```
13
+
14
+ Previously, only the string value was recognized.
15
+
16
+ *Jean Boussier*
17
+
18
+ * Fix `excerpt` helper with non-whitespace separator.
19
+
20
+ *Jonathan Hefner*
21
+
22
+
23
+ ## Rails 8.0.2.1 (August 13, 2025) ##
24
+
25
+ * No changes.
26
+
27
+
28
+ ## Rails 8.0.2 (March 12, 2025) ##
29
+
30
+ * Respect `html_options[:form]` when `collection_checkboxes` generates the
31
+ hidden `<input>`.
32
+
33
+ *Riccardo Odone*
34
+
35
+ * Layouts have access to local variables passed to `render`.
36
+
37
+ This fixes #31680 which was a regression in Rails 5.1.
38
+
39
+ *Mike Dalessio*
40
+
41
+ * Argument errors related to strict locals in templates now raise an
42
+ `ActionView::StrictLocalsError`, and all other argument errors are reraised as-is.
43
+
44
+ Previously, any `ArgumentError` raised during template rendering was swallowed during strict
45
+ local error handling, so that an `ArgumentError` unrelated to strict locals (e.g., a helper
46
+ method invoked with incorrect arguments) would be replaced by a similar `ArgumentError` with an
47
+ unrelated backtrace, making it difficult to debug templates.
48
+
49
+ Now, any `ArgumentError` unrelated to strict locals is reraised, preserving the original
50
+ backtrace for developers.
51
+
52
+ Also note that `ActionView::StrictLocalsError` is a subclass of `ArgumentError`, so any existing
53
+ code that rescues `ArgumentError` will continue to work.
54
+
55
+ Fixes #52227.
56
+
57
+ *Mike Dalessio*
58
+
59
+ * Fix stack overflow error in dependency tracker when dealing with circular dependencies
60
+
61
+ *Jean Boussier*
62
+
63
+ ## Rails 8.0.1 (December 13, 2024) ##
64
+
65
+ * Fix a crash in ERB template error highlighting when the error occurs on a
66
+ line in the compiled template that is past the end of the source template.
67
+
68
+ *Martin Emde*
69
+
70
+ * Improve reliability of ERB template error highlighting.
71
+ Fix infinite loops and crashes in highlighting and
72
+ improve tolerance for alternate ERB handlers.
73
+
74
+ *Martin Emde*
75
+
76
+
77
+ ## Rails 8.0.0.1 (December 10, 2024) ##
78
+
79
+ * No changes.
80
+
81
+
82
+ ## Rails 8.0.0 (November 07, 2024) ##
83
+
84
+ * No changes.
85
+
86
+
87
+ ## Rails 8.0.0.rc2 (October 30, 2024) ##
88
+
89
+ * No changes.
90
+
91
+
92
+ ## Rails 8.0.0.rc1 (October 19, 2024) ##
93
+
94
+ * Remove deprecated support to passing a content to void tag elements on the `tag` builder.
95
+
96
+ *Rafael Mendonça França*
97
+
98
+ * Remove deprecated support to passing `nil` to the `model:` argument of `form_with`.
99
+
100
+ *Rafael Mendonça França*
101
+
102
+
103
+ ## Rails 8.0.0.beta1 (September 26, 2024) ##
104
+
105
+ * Enable DependencyTracker to evaluate renders with trailing interpolation.
106
+
107
+ ```erb
108
+ <%= render "maintenance_tasks/runs/info/#{run.status}" %>
109
+ ```
110
+
111
+ Previously, the DependencyTracker would ignore this render, but now it will
112
+ mark all partials in the "maintenance_tasks/runs/info" folder as
113
+ dependencies.
114
+
115
+ *Hartley McGuire*
116
+
117
+ * Rename `text_area` methods into `textarea`
118
+
119
+ Old names are still available as aliases.
120
+
121
+ *Sean Doyle*
122
+
123
+ * Rename `check_box*` methods into `checkbox*`.
124
+
125
+ Old names are still available as aliases.
126
+
127
+ *Jean Boussier*
128
+
129
+ Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/actionview/CHANGELOG.md) for previous changes.
@@ -0,0 +1,21 @@
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.
21
+
@@ -0,0 +1,40 @@
1
+ = Action View
2
+
3
+ Action View is a framework for handling view template lookup and rendering, and provides
4
+ view helpers that assist when building HTML forms, Atom feeds and more.
5
+ Template formats that Action View handles are ERB (embedded Ruby, typically
6
+ used to inline short Ruby snippets inside HTML), and XML Builder.
7
+
8
+ You can read more about Action View in the {Action View Overview}[https://guides.rubyonrails.org/action_view_overview.html] guide.
9
+
10
+ == Download and installation
11
+
12
+ The latest version of Action View can be installed with RubyGems:
13
+
14
+ $ gem install actionview
15
+
16
+ Source code can be downloaded as part of the \Rails project on GitHub:
17
+
18
+ * https://github.com/rails/rails/tree/main/actionview
19
+
20
+
21
+ == License
22
+
23
+ Action View 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