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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +25 -0
- data/README.md +3 -1
- data/lib/rails/rfc6570/formatter.rb +9 -12
- data/lib/rails/rfc6570/patches.rb +1 -1
- data/lib/rails/rfc6570/version.rb +1 -1
- data/lib/rails/rfc6570.rb +10 -29
- data/spec/dummy/config/application.rb +5 -1
- data/spec/dummy/config/environments/test.rb +1 -1
- data/spec/rails/rfc6570/extensions/route_set_spec.rb +29 -0
- data/spec/rails/rfc6570/helper_spec.rb +44 -0
- data/spec/rails/rfc6570/visitor_spec.rb +12 -0
- data/spec/rails/rfc6570_spec.rb +49 -1
- data/spec/spec_helper.rb +6 -0
- data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-3bcd2110ca87/LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-3bcd2110ca87/README.md +23 -0
- data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-3bcd2110ca87/rubocop-config.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.3/CHANGELOG.md +285 -0
- data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.3/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.3/README.rdoc +57 -0
- data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.3/CHANGELOG.md +129 -0
- data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.3/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.3/README.rdoc +40 -0
- data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.3/CHANGELOG.md +309 -0
- data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.3/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.3/README.rdoc +40 -0
- data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/CHANGELOG.md +301 -0
- data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/LICENSE.txt +202 -0
- data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/README.md +121 -0
- data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/addressable.gemspec +28 -0
- data/vendor/bundle/ruby/3.4.0/gems/base64-0.3.0/README.md +48 -0
- data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.1/README.md +138 -0
- data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.1/benchmark.gemspec +32 -0
- data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.3/LICENSE +56 -0
- data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.3/bigdecimal.gemspec +57 -0
- data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/README.md +258 -0
- data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/builder.gemspec +49 -0
- data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/CHANGELOG.md +603 -0
- data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/LICENSE.txt +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/README.md +407 -0
- data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.4/LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.4/README.md +188 -0
- data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.4/connection_pool.gemspec +24 -0
- data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/LICENSE +18 -0
- data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/README.md +192 -0
- data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/crass.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/gems/diff-lcs-1.6.2/CHANGELOG.md +518 -0
- data/vendor/bundle/ruby/3.4.0/gems/diff-lcs-1.6.2/README.md +92 -0
- data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/drb.gemspec +42 -0
- data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/CHANGELOG +111 -0
- data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/README.rdoc +151 -0
- data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.7/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.7/README.md +127 -0
- data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/README.md +104 -0
- data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.1/CHANGELOG.md +598 -0
- data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.1/MIT-LICENSE.txt +23 -0
- data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.1/README.md +410 -0
- data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/README.rdoc +842 -0
- data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/LICENSE-DEPENDENCIES.md +2224 -0
- data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/LICENSE.md +9 -0
- data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/README.md +293 -0
- data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.2/CHANGELOG.md +498 -0
- data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.2/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.2/README.md +222 -0
- data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
- data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/README.rdoc +60 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.1/CHANGELOG.md +1236 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.1/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.1/README.md +376 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-test-2.2.0/MIT-LICENSE.txt +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-test-2.2.0/README.md +139 -0
- data/vendor/bundle/ruby/3.4.0/gems/rails-dom-testing-2.3.0/MIT-LICENSE +23 -0
- data/vendor/bundle/ruby/3.4.0/gems/rails-dom-testing-2.3.0/README.md +94 -0
- data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/CHANGELOG.md +255 -0
- data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/MIT-LICENSE +23 -0
- data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/README.md +267 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/README.rdoc +155 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/rake.gemspec +101 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/README.md +107 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/rake-release.gemspec +23 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-3.13.1/LICENSE.md +27 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-3.13.1/README.md +47 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-core-3.13.5/LICENSE.md +26 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-core-3.13.5/README.md +389 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-expectations-3.13.5/LICENSE.md +25 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-expectations-3.13.5/README.md +326 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-mocks-3.13.5/LICENSE.md +25 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-mocks-3.13.5/README.md +465 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-support-3.13.6/LICENSE.md +23 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-support-3.13.6/README.md +40 -0
- data/vendor/bundle/ruby/3.4.0/gems/securerandom-0.4.1/README.md +72 -0
- data/vendor/bundle/ruby/3.4.0/gems/tzinfo-2.0.6/LICENSE +19 -0
- data/vendor/bundle/ruby/3.4.0/gems/tzinfo-2.0.6/README.md +406 -0
- data/vendor/bundle/ruby/3.4.0/gems/uri-1.0.3/README.md +55 -0
- data/vendor/bundle/ruby/3.4.0/gems/useragent-0.16.11/LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/useragent-0.16.11/README.md +42 -0
- data/vendor/bundle/ruby/3.4.0/specifications/actionpack-8.0.3.gemspec +36 -0
- data/vendor/bundle/ruby/3.4.0/specifications/actionview-8.0.3.gemspec +33 -0
- data/vendor/bundle/ruby/3.4.0/specifications/activesupport-8.0.3.gemspec +38 -0
- data/vendor/bundle/ruby/3.4.0/specifications/addressable-2.8.7.gemspec +30 -0
- data/vendor/bundle/ruby/3.4.0/specifications/base64-0.3.0.gemspec +23 -0
- data/vendor/bundle/ruby/3.4.0/specifications/benchmark-0.4.1.gemspec +23 -0
- data/vendor/bundle/ruby/3.4.0/specifications/bigdecimal-3.2.3.gemspec +25 -0
- data/vendor/bundle/ruby/3.4.0/specifications/builder-3.3.0.gemspec +22 -0
- data/vendor/bundle/ruby/3.4.0/specifications/concurrent-ruby-1.3.5.gemspec +24 -0
- data/vendor/bundle/ruby/3.4.0/specifications/connection_pool-2.5.4.gemspec +28 -0
- data/vendor/bundle/ruby/3.4.0/specifications/crass-1.0.6.gemspec +27 -0
- data/vendor/bundle/ruby/3.4.0/specifications/diff-lcs-1.6.2.gemspec +35 -0
- data/vendor/bundle/ruby/3.4.0/specifications/drb-2.2.3.gemspec +22 -0
- data/vendor/bundle/ruby/3.4.0/specifications/erubi-1.13.1.gemspec +29 -0
- data/vendor/bundle/ruby/3.4.0/specifications/i18n-1.14.7.gemspec +26 -0
- data/vendor/bundle/ruby/3.4.0/specifications/logger-1.7.0.gemspec +22 -0
- data/vendor/bundle/ruby/3.4.0/specifications/loofah-2.24.1.gemspec +27 -0
- data/vendor/bundle/ruby/3.4.0/specifications/minitest-5.25.5.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/specifications/nokogiri-1.18.10-x86_64-linux-gnu.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/specifications/public_suffix-6.0.2.gemspec +24 -0
- data/vendor/bundle/ruby/3.4.0/specifications/racc-1.8.1.gemspec +28 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rack-3.2.1.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rack-session-2.1.1.gemspec +30 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rack-test-2.2.0.gemspec +29 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rails-dom-testing-2.3.0.gemspec +28 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rails-html-sanitizer-1.6.2.gemspec +27 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rake-13.3.0.gemspec +26 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rake-release-1.3.0.gemspec +26 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rspec-3.13.1.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rspec-core-3.13.5.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rspec-expectations-3.13.5.gemspec +29 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rspec-mocks-3.13.5.gemspec +29 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rspec-support-3.13.6.gemspec +29 -0
- data/vendor/bundle/ruby/3.4.0/specifications/securerandom-0.4.1.gemspec +23 -0
- data/vendor/bundle/ruby/3.4.0/specifications/tzinfo-2.0.6.gemspec +30 -0
- data/vendor/bundle/ruby/3.4.0/specifications/uri-1.0.3.gemspec +23 -0
- data/vendor/bundle/ruby/3.4.0/specifications/useragent-0.16.11.gemspec +25 -0
- metadata +129 -8
- 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
|