rails-rfc6570 3.4.0 → 3.5.1

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 (109) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -4
  3. data/README.md +3 -3
  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 +2 -2
  7. data/lib/rails/rfc6570.rb +3 -3
  8. data/spec/rails/rfc6570_spec.rb +64 -1
  9. data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-3bcd2110ca87/README.md +23 -0
  10. data/vendor/bundle/ruby/3.4.0/bundler/gems/{rubocop-config-67802c9d1826 → rubocop-config-3bcd2110ca87}/rubocop-config.gemspec +11 -11
  11. data/vendor/bundle/ruby/3.4.0/gems/{actionpack-8.0.1 → actionpack-8.0.3}/CHANGELOG.md +80 -0
  12. data/vendor/bundle/ruby/3.4.0/gems/{actionpack-8.0.1 → actionpack-8.0.3}/README.rdoc +1 -1
  13. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.3/CHANGELOG.md +129 -0
  14. data/vendor/bundle/ruby/3.4.0/gems/{actionview-8.0.1 → actionview-8.0.3}/README.rdoc +1 -1
  15. data/vendor/bundle/ruby/3.4.0/gems/{activesupport-8.0.1 → activesupport-8.0.3}/CHANGELOG.md +152 -0
  16. data/vendor/bundle/ruby/3.4.0/gems/{activesupport-8.0.1 → activesupport-8.0.3}/README.rdoc +1 -1
  17. data/vendor/bundle/ruby/3.4.0/gems/{benchmark-0.4.0 → benchmark-0.4.1}/README.md +1 -1
  18. data/vendor/bundle/ruby/3.4.0/gems/{connection_pool-2.5.0 → connection_pool-2.5.4}/README.md +21 -0
  19. data/vendor/bundle/ruby/3.4.0/gems/diff-lcs-1.6.2/CHANGELOG.md +518 -0
  20. data/vendor/bundle/ruby/3.4.0/gems/diff-lcs-1.6.2/README.md +92 -0
  21. data/vendor/bundle/ruby/3.4.0/gems/{drb-2.2.1 → drb-2.2.3}/drb.gemspec +2 -1
  22. data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.0 → loofah-2.24.1}/CHANGELOG.md +7 -0
  23. data/vendor/bundle/ruby/3.4.0/gems/{minitest-5.25.4 → minitest-5.25.5}/README.rdoc +16 -9
  24. data/vendor/bundle/ruby/3.4.0/gems/{public_suffix-6.0.1 → public_suffix-6.0.2}/CHANGELOG.md +7 -0
  25. data/vendor/bundle/ruby/3.4.0/gems/{public_suffix-6.0.1 → public_suffix-6.0.2}/LICENSE.txt +1 -1
  26. data/vendor/bundle/ruby/3.4.0/gems/{public_suffix-6.0.1 → public_suffix-6.0.2}/README.md +1 -1
  27. data/vendor/bundle/ruby/3.4.0/gems/{rack-3.1.9 → rack-3.2.1}/CHANGELOG.md +232 -2
  28. data/vendor/bundle/ruby/3.4.0/gems/{rack-3.1.9 → rack-3.2.1}/README.md +68 -20
  29. data/vendor/bundle/ruby/3.4.0/gems/{rails-dom-testing-2.2.0 → rails-dom-testing-2.3.0}/README.md +3 -0
  30. data/vendor/bundle/ruby/3.4.0/gems/{rake-13.2.1 → rake-13.3.0}/README.rdoc +5 -5
  31. data/vendor/bundle/ruby/3.4.0/gems/{rake-13.2.1 → rake-13.3.0}/rake.gemspec +2 -2
  32. data/vendor/bundle/ruby/3.4.0/gems/{uri-1.0.2 → uri-1.0.3}/README.md +1 -1
  33. data/vendor/bundle/ruby/3.4.0/specifications/{actionpack-8.0.1.gemspec → actionpack-8.0.3.gemspec} +9 -9
  34. data/vendor/bundle/ruby/3.4.0/specifications/{actionview-8.0.1.gemspec → actionview-8.0.3.gemspec} +9 -9
  35. data/vendor/bundle/ruby/3.4.0/specifications/{activesupport-8.0.1.gemspec → activesupport-8.0.3.gemspec} +6 -6
  36. data/vendor/bundle/ruby/3.4.0/specifications/addressable-2.8.7.gemspec +1 -1
  37. data/vendor/bundle/ruby/3.4.0/specifications/{base64-0.2.0.gemspec → base64-0.3.0.gemspec} +6 -6
  38. data/vendor/bundle/ruby/3.4.0/specifications/{benchmark-0.4.0.gemspec → benchmark-0.4.1.gemspec} +4 -4
  39. data/vendor/bundle/ruby/3.4.0/specifications/{bigdecimal-3.1.9.gemspec → bigdecimal-3.2.3.gemspec} +5 -5
  40. data/vendor/bundle/ruby/3.4.0/specifications/builder-3.3.0.gemspec +1 -1
  41. data/vendor/bundle/ruby/3.4.0/specifications/concurrent-ruby-1.3.5.gemspec +1 -1
  42. data/vendor/bundle/ruby/3.4.0/specifications/{connection_pool-2.5.0.gemspec → connection_pool-2.5.4.gemspec} +5 -5
  43. data/vendor/bundle/ruby/3.4.0/specifications/crass-1.0.6.gemspec +1 -1
  44. data/vendor/bundle/ruby/3.4.0/specifications/diff-lcs-1.6.2.gemspec +35 -0
  45. data/vendor/bundle/ruby/3.4.0/specifications/{drb-2.2.1.gemspec → drb-2.2.3.gemspec} +6 -6
  46. data/vendor/bundle/ruby/3.4.0/specifications/erubi-1.13.1.gemspec +1 -1
  47. data/vendor/bundle/ruby/3.4.0/specifications/i18n-1.14.7.gemspec +1 -1
  48. data/vendor/bundle/ruby/3.4.0/specifications/{logger-1.6.5.gemspec → logger-1.7.0.gemspec} +4 -4
  49. data/vendor/bundle/ruby/3.4.0/specifications/{loofah-2.24.0.gemspec → loofah-2.24.1.gemspec} +5 -5
  50. data/vendor/bundle/ruby/3.4.0/specifications/{minitest-5.25.4.gemspec → minitest-5.25.5.gemspec} +7 -7
  51. data/vendor/bundle/ruby/3.4.0/specifications/{nokogiri-1.18.2-x86_64-linux-gnu.gemspec → nokogiri-1.18.10-x86_64-linux-gnu.gemspec} +4 -4
  52. data/vendor/bundle/ruby/3.4.0/specifications/{public_suffix-6.0.1.gemspec → public_suffix-6.0.2.gemspec} +6 -6
  53. data/vendor/bundle/ruby/3.4.0/specifications/racc-1.8.1.gemspec +1 -1
  54. data/vendor/bundle/ruby/3.4.0/specifications/{rack-3.1.9.gemspec → rack-3.2.1.gemspec} +7 -7
  55. data/vendor/bundle/ruby/3.4.0/specifications/{rack-session-2.1.0.gemspec → rack-session-2.1.1.gemspec} +4 -4
  56. data/vendor/bundle/ruby/3.4.0/specifications/rack-test-2.2.0.gemspec +1 -1
  57. data/vendor/bundle/ruby/3.4.0/specifications/{rails-dom-testing-2.2.0.gemspec → rails-dom-testing-2.3.0.gemspec} +5 -5
  58. data/vendor/bundle/ruby/3.4.0/specifications/rails-html-sanitizer-1.6.2.gemspec +1 -1
  59. data/vendor/bundle/ruby/3.4.0/specifications/{rake-13.2.1.gemspec → rake-13.3.0.gemspec} +6 -6
  60. data/vendor/bundle/ruby/3.4.0/specifications/rake-release-1.3.0.gemspec +1 -1
  61. data/vendor/bundle/ruby/3.4.0/specifications/{rspec-3.13.0.gemspec → rspec-3.13.1.gemspec} +9 -9
  62. data/vendor/bundle/ruby/3.4.0/specifications/rspec-core-3.13.5.gemspec +31 -0
  63. data/vendor/bundle/ruby/3.4.0/specifications/rspec-expectations-3.13.5.gemspec +29 -0
  64. data/vendor/bundle/ruby/3.4.0/specifications/rspec-mocks-3.13.5.gemspec +29 -0
  65. data/vendor/bundle/ruby/3.4.0/specifications/{rspec-support-3.13.2.gemspec → rspec-support-3.13.6.gemspec} +9 -9
  66. data/vendor/bundle/ruby/3.4.0/specifications/securerandom-0.4.1.gemspec +1 -1
  67. data/vendor/bundle/ruby/3.4.0/specifications/tzinfo-2.0.6.gemspec +1 -1
  68. data/vendor/bundle/ruby/3.4.0/specifications/{uri-1.0.2.gemspec → uri-1.0.3.gemspec} +4 -4
  69. data/vendor/bundle/ruby/3.4.0/specifications/useragent-0.16.11.gemspec +1 -1
  70. metadata +81 -82
  71. data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-67802c9d1826/README.md +0 -23
  72. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/CHANGELOG.md +0 -67
  73. data/vendor/bundle/ruby/3.4.0/gems/diff-lcs-1.5.1/README.rdoc +0 -84
  74. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.1/LICENSE.txt +0 -22
  75. data/vendor/bundle/ruby/3.4.0/gems/logger-1.6.5/logger.gemspec +0 -28
  76. data/vendor/bundle/ruby/3.4.0/specifications/diff-lcs-1.5.1.gemspec +0 -37
  77. data/vendor/bundle/ruby/3.4.0/specifications/rspec-core-3.13.2.gemspec +0 -39
  78. data/vendor/bundle/ruby/3.4.0/specifications/rspec-expectations-3.13.3.gemspec +0 -33
  79. data/vendor/bundle/ruby/3.4.0/specifications/rspec-mocks-3.13.2.gemspec +0 -33
  80. /data/vendor/bundle/ruby/3.4.0/bundler/gems/{rubocop-config-67802c9d1826 → rubocop-config-3bcd2110ca87}/LICENSE +0 -0
  81. /data/vendor/bundle/ruby/3.4.0/gems/{actionpack-8.0.1 → actionpack-8.0.3}/MIT-LICENSE +0 -0
  82. /data/vendor/bundle/ruby/3.4.0/gems/{actionview-8.0.1 → actionview-8.0.3}/MIT-LICENSE +0 -0
  83. /data/vendor/bundle/ruby/3.4.0/gems/{activesupport-8.0.1 → activesupport-8.0.3}/MIT-LICENSE +0 -0
  84. /data/vendor/bundle/ruby/3.4.0/gems/{base64-0.2.0 → base64-0.3.0}/README.md +0 -0
  85. /data/vendor/bundle/ruby/3.4.0/gems/{benchmark-0.4.0 → benchmark-0.4.1}/benchmark.gemspec +0 -0
  86. /data/vendor/bundle/ruby/3.4.0/gems/{bigdecimal-3.1.9 → bigdecimal-3.2.3}/LICENSE +0 -0
  87. /data/vendor/bundle/ruby/3.4.0/gems/{bigdecimal-3.1.9 → bigdecimal-3.2.3}/bigdecimal.gemspec +0 -0
  88. /data/vendor/bundle/ruby/3.4.0/gems/{connection_pool-2.5.0 → connection_pool-2.5.4}/LICENSE +0 -0
  89. /data/vendor/bundle/ruby/3.4.0/gems/{connection_pool-2.5.0 → connection_pool-2.5.4}/connection_pool.gemspec +0 -0
  90. /data/vendor/bundle/ruby/3.4.0/gems/{base64-0.2.0 → drb-2.2.3}/LICENSE.txt +0 -0
  91. /data/vendor/bundle/ruby/3.4.0/gems/{logger-1.6.5 → logger-1.7.0}/README.md +0 -0
  92. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.0 → loofah-2.24.1}/MIT-LICENSE.txt +0 -0
  93. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.0 → loofah-2.24.1}/README.md +0 -0
  94. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.2-x86_64-linux-gnu → nokogiri-1.18.10-x86_64-linux-gnu}/LICENSE-DEPENDENCIES.md +0 -0
  95. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.2-x86_64-linux-gnu → nokogiri-1.18.10-x86_64-linux-gnu}/LICENSE.md +0 -0
  96. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.2-x86_64-linux-gnu → nokogiri-1.18.10-x86_64-linux-gnu}/README.md +0 -0
  97. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.1.9 → rack-3.2.1}/MIT-LICENSE +0 -0
  98. /data/vendor/bundle/ruby/3.4.0/gems/{rails-dom-testing-2.2.0 → rails-dom-testing-2.3.0}/MIT-LICENSE +0 -0
  99. /data/vendor/bundle/ruby/3.4.0/gems/{rake-13.2.1 → rake-13.3.0}/MIT-LICENSE +0 -0
  100. /data/vendor/bundle/ruby/3.4.0/gems/{rspec-3.13.0 → rspec-3.13.1}/LICENSE.md +0 -0
  101. /data/vendor/bundle/ruby/3.4.0/gems/{rspec-3.13.0 → rspec-3.13.1}/README.md +0 -0
  102. /data/vendor/bundle/ruby/3.4.0/gems/{rspec-core-3.13.2 → rspec-core-3.13.5}/LICENSE.md +0 -0
  103. /data/vendor/bundle/ruby/3.4.0/gems/{rspec-core-3.13.2 → rspec-core-3.13.5}/README.md +0 -0
  104. /data/vendor/bundle/ruby/3.4.0/gems/{rspec-expectations-3.13.3 → rspec-expectations-3.13.5}/LICENSE.md +0 -0
  105. /data/vendor/bundle/ruby/3.4.0/gems/{rspec-expectations-3.13.3 → rspec-expectations-3.13.5}/README.md +0 -0
  106. /data/vendor/bundle/ruby/3.4.0/gems/{rspec-mocks-3.13.2 → rspec-mocks-3.13.5}/LICENSE.md +0 -0
  107. /data/vendor/bundle/ruby/3.4.0/gems/{rspec-mocks-3.13.2 → rspec-mocks-3.13.5}/README.md +0 -0
  108. /data/vendor/bundle/ruby/3.4.0/gems/{rspec-support-3.13.2 → rspec-support-3.13.6}/LICENSE.md +0 -0
  109. /data/vendor/bundle/ruby/3.4.0/gems/{rspec-support-3.13.2 → rspec-support-3.13.6}/README.md +0 -0
@@ -3,6 +3,13 @@
3
3
  This project uses [Semantic Versioning 2.0.0](https://semver.org/).
4
4
 
5
5
 
6
+ ## 6.0.2
7
+
8
+ ### Changed
9
+
10
+ - Updated definitions.
11
+
12
+
6
13
  ## 6.0.1
7
14
 
8
15
  ### Changed
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009-2024 Simone Carletti <weppos@weppos.net>
1
+ Copyright (c) 2009-2025 Simone Carletti <weppos@weppos.net>
2
2
 
3
3
  MIT License
4
4
 
@@ -207,7 +207,7 @@ See the [CHANGELOG.md](CHANGELOG.md) file for details.
207
207
 
208
208
  ## License
209
209
 
210
- Copyright (c) 2009-2024 Simone Carletti. This is Free Software distributed under the MIT license.
210
+ Copyright (c) 2009-2025 Simone Carletti. This is Free Software distributed under the MIT license.
211
211
 
212
212
  The [Public Suffix List source](https://publicsuffix.org/list/) is subject to the terms of the Mozilla Public License, v. 2.0.
213
213
 
@@ -2,6 +2,105 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. For info on how to format all future additions to this file please reference [Keep A Changelog](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## Unreleased
6
+
7
+ ## [3.2.1] -- 2025-09-02
8
+
9
+ ### Added
10
+
11
+ - Add support for streaming bodies when using `Rack::Events`. ([#2375](github.com/rack/rack/pull/2375), [@unflxw](https://github.com/unflxw))
12
+
13
+ ### Fixed
14
+
15
+ - Fix an issue where a `NoMethodError` would be raised when using `Rack::Events` with streaming bodies. ([#2375](github.com/rack/rack/pull/2375), [@unflxw](https://github.com/unflxw))
16
+
17
+ ## [3.2.0] - 2025-07-31
18
+
19
+ This release continues Rack's evolution toward a cleaner, more efficient foundation while maintaining backward compatibility for most applications. The breaking changes primarily affect deprecated functionality, so most users should experience a smooth upgrade with improved performance and standards compliance.
20
+
21
+ ### SPEC Changes
22
+
23
+ - Request environment keys must now be strings. ([#2310](https://github.com/rack/rack/issues/2310), [@jeremyevans])
24
+ - Add `nil` as a valid return from a Response `body.to_path` ([#2318](https://github.com/rack/rack/pull/2318), [@MSP-Greg])
25
+ - `Rack::Lint#check_header_value` is relaxed, only disallowing CR/LF/NUL characters. ([#2354](https://github.com/rack/rack/pull/2354), [@ioquatix])
26
+
27
+ ### Added
28
+
29
+ - Introduce `Rack::VERSION` constant. ([#2199](https://github.com/rack/rack/pull/2199), [@ioquatix])
30
+ - `ISO-2022-JP` encoded parts within MIME Multipart sections of an HTTP request body will now be converted to `UTF-8`. ([#2245](https://github.com/rack/rack/pull/2245), [@nappa](https://github.com/nappa))
31
+ - Add `Rack::Request#query_parser=` to allow setting the query parser to use. ([#2349](https://github.com/rack/rack/pull/2349), [@jeremyevans])
32
+ - Add `Rack::Request#form_pairs` to access form data as raw key-value pairs, preserving duplicate keys. ([#2351](https://github.com/rack/rack/pull/2351), [@matthewd])
33
+
34
+ ### Changed
35
+
36
+ - Invalid cookie keys will now raise an error. ([#2193](https://github.com/rack/rack/pull/2193), [@ioquatix])
37
+ - `Rack::MediaType#params` now handles empty strings. ([#2229](https://github.com/rack/rack/pull/2229), [@jeremyevans])
38
+ - Avoid unnecessary calls to the `ip_filter` lambda to evaluate `Request#ip` ([#2287](https://github.com/rack/rack/pull/2287), [@willbryant])
39
+ - Only calculate `Request#ip` once per request ([#2292](https://github.com/rack/rack/pull/2292), [@willbryant])
40
+ - `Rack::Builder` `#use`, `#map`, and `#run` methods now return `nil`. ([#2355](https://github.com/rack/rack/pull/2355), [@ioquatix])
41
+ - Directly close the body in `Rack::ConditionalGet` when the response is `304 Not Modified`. ([#2353](https://github.com/rack/rack/pull/2353), [@ioquatix])
42
+ - Directly close the body in `Rack::Head` when the request method is `HEAD`([#2360](https://github.com/rack/rack/pull/2360), [@skipkayhil](https://github.com/skipkayhil))
43
+
44
+ ### Deprecated
45
+
46
+ - `Rack::Auth::AbstractRequest#request` is deprecated without replacement. ([#2229](https://github.com/rack/rack/pull/2229), [@jeremyevans])
47
+ - `Rack::Request#parse_multipart` (private method designed to be overridden in subclasses) is deprecated without replacement. ([#2229](https://github.com/rack/rack/pull/2229), [@jeremyevans])
48
+
49
+ ### Removed
50
+
51
+ - `Rack::Request#values_at` is removed. ([#2200](https://github.com/rack/rack/pull/2200), [@ioquatix])
52
+ - `Rack::Logger` is removed with no replacement. ([#2196](https://github.com/rack/rack/pull/2196), [@ioquatix])
53
+ - Automatic cache invalidation in `Rack::Request#{GET,POST}` has been removed. ([#2230](https://github.com/rack/rack/pull/2230), [@jeremyevans])
54
+ - Support for `CGI::Cookie` has been removed. ([#2332](https://github.com/rack/rack/pull/2332), [@ioquatix])
55
+
56
+ ### Fixed
57
+
58
+ - `Rack::RewindableInput::Middleware` no longer wraps a nil input. ([#2259](https://github.com/rack/rack/pull/2259), [@tt](https://github.com/tt))
59
+ - Fix `NoMethodError` in `Rack::Request#wrap_ipv6` when `x-forwarded-host` is empty. ([#2270](https://github.com/rack/rack/pull/2270), [@oieioi](https://github.com/oieioi))
60
+ - Fix the specification for `SERVER_PORT` which was incorrectly documented as required to be an `Integer` if present - it must be a `String` containing digits only. ([#2296](https://github.com/rack/rack/pull/2296), [@ioquatix])
61
+ - `SERVER_NAME` and `HTTP_HOST` are now more strictly validated according to the relevant specifications. ([#2298](https://github.com/rack/rack/pull/2298), [@ioquatix])
62
+ - `Rack::Lint` now disallows `PATH_INFO="" SCRIPT_NAME=""`. ([#2298](https://github.com/rack/rack/issues/2307), [@jeremyevans])
63
+
64
+ ## [3.1.16] - 2025-06-04
65
+
66
+ ### Security
67
+
68
+ - [CVE-2025-49007](https://github.com/advisories/GHSA-47m2-26rw-j2jw) Fix ReDoS in multipart request.
69
+
70
+ ## [3.1.15] - 2025-05-18
71
+
72
+ - Optional support for `CGI::Cookie` if not available. ([#2327](https://github.com/rack/rack/pull/2327), [#2333](https://github.com/rack/rack/pull/2333), [@earlopain])
73
+
74
+ ## [3.1.14] - 2025-05-06
75
+
76
+ :warning: **This release includes a security fix that may cause certain routes in previously working applications to fail if query parameters exceed 4,096 in count or 4 MB in total size. See <https://github.com/rack/rack/discussions/2356> for more details.**
77
+
78
+ ### Security
79
+
80
+ - [CVE-2025-46727](https://github.com/rack/rack/security/advisories/GHSA-gjh7-p2fx-99vx) Unbounded parameter parsing in `Rack::QueryParser` can lead to memory exhaustion.
81
+
82
+ ## [3.1.13] - 2025-04-13
83
+
84
+ - Ensure `Rack::ETag` correctly updates response body. ([#2324](https://github.com/rack/rack/pull/2324), [@ioquatix])
85
+
86
+ ## [3.1.12] - 2025-03-11
87
+
88
+ ### Security
89
+
90
+ - [CVE-2025-27610](https://github.com/rack/rack/security/advisories/GHSA-7wqh-767x-r66v) Local file inclusion in `Rack::Static`.
91
+
92
+ ## [3.1.11] - 2025-03-04
93
+
94
+ ### Security
95
+
96
+ - [CVE-2025-27111](https://github.com/rack/rack/security/advisories/GHSA-8cgq-6mh2-7j6v) Possible Log Injection in `Rack::Sendfile`.
97
+
98
+ ## [3.1.10] - 2025-02-12
99
+
100
+ ### Security
101
+
102
+ - [CVE-2025-25184](https://github.com/rack/rack/security/advisories/GHSA-7g2v-jj9q-g3rg) Possible Log Injection in `Rack::CommonLogger`.
103
+
5
104
  ## [3.1.9] - 2025-01-31
6
105
 
7
106
  ### Fixed
@@ -60,7 +159,7 @@ All notable changes to this project will be documented in this file. For info on
60
159
 
61
160
  :warning: **This release includes several breaking changes.** Refer to the **Removed** section below for the list of deprecated methods that have been removed in this release.
62
161
 
63
- Rack v3.1 is primarily a maintenance release that removes features deprecated in Rack v3.0. Alongside these removals, there are several improvements to the Rack SPEC, mainly focused on enhancing input and output handling. These changes aim to make Rack more efficient and align better with the requirements of server implementations and relevant HTTP specifications.
162
+ This release is primarily a maintenance release that removes features deprecated in Rack v3.0. Alongside these removals, there are several improvements to the Rack SPEC, mainly focused on enhancing input and output handling. These changes aim to make Rack more efficient and align better with the requirements of server implementations and relevant HTTP specifications.
64
163
 
65
164
  ### SPEC Changes
66
165
 
@@ -111,6 +210,48 @@ Rack v3.1 is primarily a maintenance release that removes features deprecated in
111
210
 
112
211
  - In `Rack::Files`, ignore the `Range` header if served file is 0 bytes. ([#2159](https://github.com/rack/rack/pull/2159), [@zarqman])
113
212
 
213
+ ## [3.0.18] - 2025-05-22
214
+
215
+ - Fix incorrect backport of optional `CGI::Cookie` support. ([#2335](https://github.com/rack/rack/pull/2335), [@jeremyevans])
216
+
217
+ ## [3.0.17] - 2025-05-18
218
+
219
+ - Optional support for `CGI::Cookie` if not available. ([#2327](https://github.com/rack/rack/pull/2327), [#2333](https://github.com/rack/rack/pull/2333), [@earlopain])
220
+
221
+ ## [3.0.16] - 2025-05-06
222
+
223
+ :warning: **This release includes a security fix that may cause certain routes in previously working applications to fail if query parameters exceed 4,096 in count or 4 MB in total size. See <https://github.com/rack/rack/discussions/2356> for more details.**
224
+
225
+ ### Security
226
+
227
+ - [CVE-2025-46727](https://github.com/rack/rack/security/advisories/GHSA-gjh7-p2fx-99vx) Unbounded parameter parsing in `Rack::QueryParser` can lead to memory exhaustion.
228
+
229
+ ## [3.0.15] - 2025-04-13
230
+
231
+ - Ensure `Rack::ETag` correctly updates response body. ([#2324](https://github.com/rack/rack/pull/2324), [@ioquatix])
232
+
233
+ ## [3.0.14] - 2025-03-11
234
+
235
+ ### Security
236
+
237
+ - [CVE-2025-27610](https://github.com/rack/rack/security/advisories/GHSA-7wqh-767x-r66v) Local file inclusion in `Rack::Static`.
238
+
239
+ ## [3.0.13] - 2025-03-04
240
+
241
+ ### Security
242
+
243
+ - [CVE-2025-27111](https://github.com/rack/rack/security/advisories/GHSA-8cgq-6mh2-7j6v) Possible Log Injection in `Rack::Sendfile`.
244
+
245
+ ### Fixed
246
+
247
+ - Remove autoloads for constants no longer shipped with Rack. ([#2269](https://github.com/rack/rack/pull/2269), [@ccutrer](https://github.com/ccutrer))
248
+
249
+ ## [3.0.12] - 2025-02-12
250
+
251
+ ### Security
252
+
253
+ - [CVE-2025-25184](https://github.com/rack/rack/security/advisories/GHSA-7g2v-jj9q-g3rg) Possible Log Injection in `Rack::CommonLogger`.
254
+
114
255
  ## [3.0.11] - 2024-05-10
115
256
 
116
257
  - Backport #2062 to 3-0-stable: Do not allow `BodyProxy` to respond to `to_str`, make `to_ary` call close . ([#2062](https://github.com/rack/rack/pull/2062), [@jeremyevans](https://github.com/jeremyevans))
@@ -199,6 +340,8 @@ Rack v3.1 is primarily a maintenance release that removes features deprecated in
199
340
 
200
341
  ## [3.0.0] - 2022-09-06
201
342
 
343
+ This release introduces major improvements to Rack, including enhanced support for streaming responses, expanded protocol handling, and stricter compliance with HTTP standards. It refines middleware interfaces, improves multipart and hijack handling, and strengthens security and error reporting. The update also brings performance optimizations, better compatibility with modern Ruby versions, and numerous bug fixes, making Rack more robust and flexible for web application development.
344
+
202
345
  - No changes
203
346
 
204
347
  ## [3.0.0.rc1] - 2022-09-04
@@ -239,7 +382,7 @@ Rack v3.1 is primarily a maintenance release that removes features deprecated in
239
382
  - Remove deprecated Rack::Request::SCHEME_WHITELIST. ([@jeremyevans])
240
383
  - Remove internal cookie deletion using pattern matching, there are very few practical cases where it would be useful and browsers handle it correctly without us doing anything special. ([#1844](https://github.com/rack/rack/pull/1844), [@ioquatix])
241
384
  - Remove `rack.version` as it comes too late to be useful. ([#1938](https://github.com/rack/rack/pull/1938), [@ioquatix])
242
- - Extract `rackup` command, `Rack::Server`, `Rack::Handler`, `Rack::Lobster` and related code into a separate gem. ([#1937](https://github.com/rack/rack/pull/1937), [@ioquatix])
385
+ - Extract `rackup` command, `Rack::Server`, `Rack::Handler` and related code into a separate gem. ([#1937](https://github.com/rack/rack/pull/1937), [@ioquatix])
243
386
 
244
387
  ### Added
245
388
 
@@ -287,6 +430,90 @@ Rack v3.1 is primarily a maintenance release that removes features deprecated in
287
430
  - Fix multipart filename generation for filenames that contain spaces. Encode spaces as "%20" instead of "+" which will be decoded properly by the multipart parser. ([#1736](https://github.com/rack/rack/pull/1645), [@muirdm](https://github.com/muirdm))
288
431
  - `Rack::Request#scheme` returns `ws` or `wss` when one of the `X-Forwarded-Scheme` / `X-Forwarded-Proto` headers is set to `ws` or `wss`, respectively. ([#1730](https://github.com/rack/rack/issues/1730), [@erwanst](https://github.com/erwanst))
289
432
 
433
+ ## [2.2.17] - 2025-06-03
434
+
435
+ - Backport `Rack::MediaType#params` now handles parameters without values. ([#2263](https://github.com/rack/rack/pull/2263), [@AllyMarthaJ](https://github.com/AllyMarthaJ))
436
+
437
+ ## [2.2.16] - 2025-05-22
438
+
439
+ - Fix incorrect backport of optional `CGI::Cookie` support. ([#2335](https://github.com/rack/rack/pull/2335), [@jeremyevans])
440
+
441
+ ## [2.2.15] - 2025-05-18
442
+
443
+ - Optional support for `CGI::Cookie` if not available. ([#2327](https://github.com/rack/rack/pull/2327), [#2333](https://github.com/rack/rack/pull/2333), [@earlopain])
444
+
445
+ ## [2.2.14] - 2025-05-06
446
+
447
+ :warning: **This release includes a security fix that may cause certain routes in previously working applications to fail if query parameters exceed 4,096 in count or 4 MB in total size. See <https://github.com/rack/rack/discussions/2356> for more details.**
448
+
449
+ ### Security
450
+
451
+ - [CVE-2025-46727](https://github.com/rack/rack/security/advisories/GHSA-gjh7-p2fx-99vx) Unbounded parameter parsing in `Rack::QueryParser` can lead to memory exhaustion.
452
+
453
+ ## [2.2.13] - 2025-03-11
454
+
455
+ ### Security
456
+
457
+ - [CVE-2025-27610](https://github.com/rack/rack/security/advisories/GHSA-7wqh-767x-r66v) Local file inclusion in `Rack::Static`.
458
+
459
+ ## [2.2.12] - 2025-03-04
460
+
461
+ ### Security
462
+
463
+ - [CVE-2025-27111](https://github.com/rack/rack/security/advisories/GHSA-8cgq-6mh2-7j6v) Possible Log Injection in `Rack::Sendfile`.
464
+
465
+ ## [2.2.11] - 2025-02-12
466
+
467
+ ### Security
468
+
469
+ - [CVE-2025-25184](https://github.com/rack/rack/security/advisories/GHSA-7g2v-jj9q-g3rg) Possible Log Injection in `Rack::CommonLogger`.
470
+
471
+ ## [2.2.10] - 2024-10-14
472
+
473
+ - Fix compatibility issues with Ruby v3.4.0. ([#2248](https://github.com/rack/rack/pull/2248), [@byroot](https://github.com/byroot))
474
+
475
+ ## [2.2.9] - 2023-03-21
476
+
477
+ - Return empty when parsing a multi-part POST with only one end delimiter. ([#2104](https://github.com/rack/rack/pull/2104), [@alpaca-tc])
478
+
479
+ ## [2.2.8] - 2023-07-31
480
+
481
+ - Regenerate SPEC ([#2102](https://github.com/rack/rack/pull/2102), [@skipkayhil](https://github.com/skipkayhil))
482
+ - Limit file extension length of multipart tempfiles ([#2015](https://github.com/rack/rack/pull/2015), [@dentarg](https://github.com/dentarg))
483
+ - Fix "undefined method DelegateClass for Rack::Session::Cookie:Class" ([#2092](https://github.com/rack/rack/pull/2092), [@onigra](https://github.com/onigra) [@dchandekstark](https://github.com/dchandekstark))
484
+
485
+ ## [2.2.7] - 2023-03-13
486
+
487
+ - Correct the year number in the changelog ([#2015](https://github.com/rack/rack/pull/2015), [@kimulab](https://github.com/kimulab))
488
+ - Support underscore in host names for Rack 2.2 (Fixes [#2070](https://github.com/rack/rack/issues/2070)) ([#2015](https://github.com/rack/rack/pull/2071), [@jeremyevans](https://github.com/jeremyevans))
489
+
490
+ ## [2.2.6.4] - 2023-03-13
491
+
492
+ - [CVE-2023-27539] Avoid ReDoS in header parsing
493
+
494
+ ## [2.2.6.3] - 2023-03-02
495
+
496
+ - [CVE-2023-27530] Introduce multipart_total_part_limit to limit total parts
497
+
498
+ ## [2.2.6.2] - 2023-01-17
499
+
500
+ - [CVE-2022-44570] Fix ReDoS in Rack::Utils.get_byte_ranges
501
+
502
+ ## [2.2.6.1] - 2023-01-17
503
+
504
+ - [CVE-2022-44571] Fix ReDoS vulnerability in multipart parser
505
+ - [CVE-2022-44572] Forbid control characters in attributes (also ReDoS)
506
+
507
+ ## [2.2.6] - 2023-01-17
508
+
509
+ - Extend `Rack::MethodOverride` to handle `QueryParser::ParamsTooDeepError` error. ([#2011](https://github.com/rack/rack/pull/2011), [@byroot](https://github.com/byroot))
510
+
511
+ ## [2.2.5] - 2022-12-27
512
+
513
+ ### Fixed
514
+
515
+ - `Rack::URLMap` uses non-deprecated form of `Regexp.new`. ([#1998](https://github.com/rack/rack/pull/1998), [@weizheheng](https://github.com/weizheheng))
516
+
290
517
  ## [2.2.4] - 2022-06-30
291
518
 
292
519
  - Better support for lower case headers in `Rack::ETag` middleware. ([#1919](https://github.com/rack/rack/pull/1919), [@ioquatix](https://github.com/ioquatix))
@@ -1004,3 +1231,6 @@ Items below this line are from the previously maintained HISTORY.md and NEWS.md
1004
1231
  [@wjordan]: https://github.com/wjordan "Will Jordan"
1005
1232
  [@BlakeWilliams]: https://github.com/BlakeWilliams "Blake Williams"
1006
1233
  [@davidstosik]: https://github.com/davidstosik "David Stosik"
1234
+ [@earlopain]: https://github.com/earlopain "Earlopain"
1235
+ [@wynksaiddestroy]: https://github.com/wynksaiddestroy "Fabian Winkler"
1236
+ [@matthewd]: https://github.com/matthewd "Matthew Draper"
@@ -6,26 +6,43 @@ way possible, it unifies and distills the bridge between web servers, web
6
6
  frameworks, and web application into a single method call.
7
7
 
8
8
  The exact details of this are described in the [Rack Specification], which all
9
- Rack applications should conform to.
9
+ Rack applications should conform to. Browse the [Documentation] for more
10
+ information.
10
11
 
11
12
  ## Version support
12
13
 
13
14
  | Version | Support |
14
15
  |----------|------------------------------------|
15
- | 3.0.x | Bug fixes and security patches. |
16
+ | 3.2.x | Bug fixes and security patches. |
17
+ | 3.1.x | Security patches only. |
18
+ | 3.0.x | End of support. |
16
19
  | 2.2.x | Security patches only. |
17
20
  | <= 2.1.x | End of support. |
18
21
 
22
+ **Rack 2.2.x is in security maintenance mode**. Please upgrade to Rack 3.1+ as soon
23
+ as possible to ensure you are receiving the latest features and security patches.
24
+
19
25
  Please see the [Security Policy] for more information.
20
26
 
21
- ## Rack 3.0
27
+ ## Change log
28
+
29
+ See the [Changelog](CHANGELOG.md) for a detailed list of changes in each version of Rack.
30
+
31
+ ### Rack 3.2 (latest release)
32
+
33
+ This version of rack contains bug fixes and security patches.
34
+
35
+ ### Rack 3.1
36
+
37
+ This version of rack contains bug fixes and security patches.
22
38
 
23
- This is the latest version of Rack. It contains API improvements but also some
24
- breaking changes. Please check the [Upgrade Guide](UPGRADE-GUIDE.md) for more
25
- details about migrating servers, middlewares and applications designed for Rack 2
26
- to Rack 3. For detailed information on specific changes, check the [Change Log](CHANGELOG.md).
39
+ ### Rack 3.0
27
40
 
28
- ## Rack 2.2
41
+ This version of rack contains significant changes which are detailed in the
42
+ [Upgrade Guide](UPGRADE-GUIDE.md). It is recommended to upgrade to Rack 3 as soon
43
+ as possible to receive the latest features and security patches.
44
+
45
+ ### Rack 2.2
29
46
 
30
47
  This version of Rack is receiving security patches only, and effort should be
31
48
  made to move to Rack 3.
@@ -69,6 +86,8 @@ server](#supported-web-servers).
69
86
  ```bash
70
87
  $ gem install rackup
71
88
  $ rackup
89
+
90
+ # In another shell:
72
91
  $ curl http://localhost:9292
73
92
  Hello World
74
93
  ```
@@ -83,6 +102,7 @@ Rack is supported by a wide range of servers, including:
83
102
  * [NGINX Unit](https://unit.nginx.org/)
84
103
  * [Phusion Passenger](https://www.phusionpassenger.com/) (which is mod_rack for
85
104
  Apache and for nginx)
105
+ * [Pitchfork](https://github.com/Shopify/pitchfork)
86
106
  * [Puma](https://puma.io/)
87
107
  * [Thin](https://github.com/macournoyer/thin)
88
108
  * [Unicorn](https://yhbt.net/unicorn/)
@@ -132,11 +152,9 @@ middleware:
132
152
  * `Rack::ETag` for setting `etag` header on bodies that can be buffered.
133
153
  * `Rack::Events` for providing easy hooks when a request is received and when
134
154
  the response is sent.
135
- * `Rack::Files` for serving static files.
136
155
  * `Rack::Head` for returning an empty body for HEAD requests.
137
156
  * `Rack::Lint` for checking conformance to the [Rack Specification].
138
157
  * `Rack::Lock` for serializing requests using a mutex.
139
- * `Rack::Logger` for setting a logger to handle logging errors.
140
158
  * `Rack::MethodOverride` for modifying the request method based on a submitted
141
159
  parameter.
142
160
  * `Rack::Recursive` for including data from other paths in the application, and
@@ -150,7 +168,7 @@ middleware:
150
168
  a nice and helpful way with clickable backtrace.
151
169
  * `Rack::ShowStatus` for using nice error pages for empty client error
152
170
  responses.
153
- * `Rack::Static` for more configurable serving of static files.
171
+ * `Rack::Static` for configurable serving of static files.
154
172
  * `Rack::TempfileReaper` for removing temporary files creating during a request.
155
173
 
156
174
  All these components use the same interface, which is described in detail in the
@@ -172,6 +190,8 @@ quickly and without doing the same web stuff all over:
172
190
  returns a not found or method not supported response.
173
191
  * `Rack::Directory` for serving files under a given directory, with directory
174
192
  indexes.
193
+ * `Rack::Files` for serving files under a given directory, without directory
194
+ indexes.
175
195
  * `Rack::MediaType` for parsing content-type headers.
176
196
  * `Rack::Mime` for determining content-type based on file extension.
177
197
  * `Rack::RewindableInput` for making any IO object rewindable, using a temporary
@@ -183,6 +203,33 @@ quickly and without doing the same web stuff all over:
183
203
  Rack exposes several configuration parameters to control various features of the
184
204
  implementation.
185
205
 
206
+ ### `RACK_QUERY_PARSER_BYTESIZE_LIMIT`
207
+
208
+ This environment variable sets the default for the maximum query string bytesize
209
+ that `Rack::QueryParser` will attempt to parse. Attempts to use a query string
210
+ that exceeds this number of bytes will result in a
211
+ `Rack::QueryParser::QueryLimitError` exception. If this enviroment variable is
212
+ provided, it must be an integer, or `Rack::QueryParser` will raise an exception.
213
+
214
+ The default limit can be overridden on a per-`Rack::QueryParser` basis using
215
+ the `bytesize_limit` keyword argument when creating the `Rack::QueryParser`.
216
+
217
+ ### `RACK_QUERY_PARSER_PARAMS_LIMIT`
218
+
219
+ This environment variable sets the default for the maximum number of query
220
+ parameters that `Rack::QueryParser` will attempt to parse. Attempts to use a
221
+ query string with more than this many query parameters will result in a
222
+ `Rack::QueryParser::QueryLimitError` exception. If this enviroment variable is
223
+ provided, it must be an integer, or `Rack::QueryParser` will raise an exception.
224
+
225
+ The default limit can be overridden on a per-`Rack::QueryParser` basis using
226
+ the `params_limit` keyword argument when creating the `Rack::QueryParser`.
227
+
228
+ This is implemented by counting the number of parameter separators in the
229
+ query string, before attempting parsing, so if the same parameter key is
230
+ used multiple times in the query, each counts as a separate parameter for
231
+ this check.
232
+
186
233
  ### `param_depth_limit`
187
234
 
188
235
  ```ruby
@@ -220,7 +267,6 @@ Can also be set via the `RACK_MULTIPART_FILE_LIMIT` environment variable.
220
267
 
221
268
  (This is also aliased as `multipart_part_limit` and `RACK_MULTIPART_PART_LIMIT` for compatibility)
222
269
 
223
-
224
270
  ### `multipart_total_part_limit`
225
271
 
226
272
  The maximum total number of parts a request can contain of any type, including
@@ -233,18 +279,12 @@ Set to 0 for no limit.
233
279
 
234
280
  Can also be set via the `RACK_MULTIPART_TOTAL_PART_LIMIT` environment variable.
235
281
 
236
-
237
- ## Changelog
238
-
239
- See [CHANGELOG.md](CHANGELOG.md).
240
-
241
282
  ## Contributing
242
283
 
243
284
  See [CONTRIBUTING.md](CONTRIBUTING.md) for specific details about how to make a
244
285
  contribution to Rack.
245
286
 
246
- Please post bugs, suggestions and patches to [GitHub
247
- Issues](https://github.com/rack/rack/issues).
287
+ Please post bugs, suggestions and patches to [GitHub Issues](https://github.com/rack/rack/issues).
248
288
 
249
289
  Please check our [Security Policy](https://github.com/rack/rack/security/policy)
250
290
  for responsible disclosure and security bug reporting process. Due to wide usage
@@ -254,6 +294,13 @@ is greatly appreciated.
254
294
 
255
295
  ## See Also
256
296
 
297
+ ### `rackup`
298
+
299
+ A useful tool for running Rack applications from the command line, including
300
+ `Rackup::Server` (previously `Rack::Server`) for scripting servers.
301
+
302
+ * https://github.com/rack/rackup
303
+
257
304
  ### `rack-contrib`
258
305
 
259
306
  The plethora of useful middleware created the need for a project that collects
@@ -324,5 +371,6 @@ would like to thank:
324
371
 
325
372
  Rack is released under the [MIT License](MIT-LICENSE).
326
373
 
327
- [Rack Specification]: SPEC.rdoc
374
+ [Rack Specification]: https://rack.github.io/rack/main/SPEC_rdoc.html
375
+ [Documentation]: https://rack.github.io/rack/
328
376
  [Security Policy]: SECURITY.md
@@ -24,6 +24,9 @@ css_select '.hello' # => Nokogiri::XML::NodeSet of elements with hello class
24
24
  # select from a supplied node. assert_dom asserts elements exist.
25
25
  assert_dom document_root_element.at('.hello'), '.goodbye'
26
26
 
27
+ # select from a supplied node. assert_not_dom asserts elements do not exist.
28
+ assert_not_dom document_root_element.at('.hello'), '.goodbye'
29
+
27
30
  # elements in CDATA encoded sections can also be selected
28
31
  assert_dom_encoded '#out-of-your-element'
29
32
 
@@ -74,10 +74,10 @@ Type "rake --help" for all available options.
74
74
 
75
75
  === Rake Information
76
76
 
77
- * {Rake command-line}[link:doc/command_line_usage.rdoc]
78
- * {Writing Rakefiles}[link:doc/rakefile.rdoc]
79
- * The original {Rake announcement}[link:doc/rational.rdoc]
80
- * Rake {glossary}[link:doc/glossary.rdoc]
77
+ * {Rake command-line}[rdoc-ref:doc/command_line_usage.rdoc]
78
+ * {Writing Rakefiles}[rdoc-ref:doc/rakefile.rdoc]
79
+ * The original {Rake announcement}[rdoc-ref:doc/rational.rdoc]
80
+ * Rake {glossary}[rdoc-ref:doc/glossary.rdoc]
81
81
 
82
82
  === Presentations and Articles about Rake
83
83
 
@@ -148,7 +148,7 @@ February 2014. This repository was originally hosted at
148
148
  with his passing, has been moved to {ruby/rake}[https://github.com/ruby/rake].
149
149
 
150
150
  You can view Jim's last commit here:
151
- https://github.com/jimweirich/rake/tree/336559f28f55bce418e2ebcc0a57548dcbac4025
151
+ https://github.com/jimweirich/rake/commit/336559f28f55bce418e2ebcc0a57548dcbac4025
152
152
 
153
153
  You can {read more about Jim}[https://en.wikipedia.org/wiki/Jim_Weirich] at Wikipedia.
154
154
 
@@ -25,9 +25,9 @@ Gem::Specification.new do |s|
25
25
 
26
26
  s.metadata = {
27
27
  "bug_tracker_uri" => "https://github.com/ruby/rake/issues",
28
- "changelog_uri" => "https://github.com/ruby/rake/blob/v#{s.version}/History.rdoc",
28
+ "changelog_uri" => "https://github.com/ruby/rake/releases",
29
29
  "documentation_uri" => "https://ruby.github.io/rake",
30
- "source_code_uri" => "https://github.com/ruby/rake/tree/v#{s.version}"
30
+ "source_code_uri" => "#{s.homepage}/releases/v#{s.version}"
31
31
  }
32
32
 
33
33
  s.files = [
@@ -3,7 +3,7 @@
3
3
  [![CI](https://github.com/ruby/uri/actions/workflows/test.yml/badge.svg)](https://github.com/ruby/uri/actions/workflows/test.yml)
4
4
  [![Yard Docs](https://img.shields.io/badge/docs-exist-blue.svg)](https://ruby.github.io/uri/)
5
5
 
6
- URI is a module providing classes to handle Uniform Resource Identifiers [RFC2396](http://tools.ietf.org/html/rfc2396).
6
+ URI is a module providing classes to handle Uniform Resource Identifiers [RFC3986](http://tools.ietf.org/html/rfc3986).
7
7
 
8
8
  ## Features
9
9
 
@@ -1,29 +1,29 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: actionpack 8.0.1 ruby lib
2
+ # stub: actionpack 8.0.3 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "actionpack".freeze
6
- s.version = "8.0.1".freeze
6
+ s.version = "8.0.3".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
- s.metadata = { "bug_tracker_uri" => "https://github.com/rails/rails/issues", "changelog_uri" => "https://github.com/rails/rails/blob/v8.0.1/actionpack/CHANGELOG.md", "documentation_uri" => "https://api.rubyonrails.org/v8.0.1/", "mailing_list_uri" => "https://discuss.rubyonrails.org/c/rubyonrails-talk", "rubygems_mfa_required" => "true", "source_code_uri" => "https://github.com/rails/rails/tree/v8.0.1/actionpack" } if s.respond_to? :metadata=
9
+ s.metadata = { "bug_tracker_uri" => "https://github.com/rails/rails/issues", "changelog_uri" => "https://github.com/rails/rails/blob/v8.0.3/actionpack/CHANGELOG.md", "documentation_uri" => "https://api.rubyonrails.org/v8.0.3/", "mailing_list_uri" => "https://discuss.rubyonrails.org/c/rubyonrails-talk", "rubygems_mfa_required" => "true", "source_code_uri" => "https://github.com/rails/rails/tree/v8.0.3/actionpack" } if s.respond_to? :metadata=
10
10
  s.require_paths = ["lib".freeze]
11
11
  s.authors = ["David Heinemeier Hansson".freeze]
12
- s.date = "2024-12-13"
12
+ s.date = "1980-01-02"
13
13
  s.description = "Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.".freeze
14
14
  s.email = "david@loudthinking.com".freeze
15
15
  s.homepage = "https://rubyonrails.org".freeze
16
16
  s.licenses = ["MIT".freeze]
17
17
  s.required_ruby_version = Gem::Requirement.new(">= 3.2.0".freeze)
18
18
  s.requirements = ["none".freeze]
19
- s.rubygems_version = "3.5.22".freeze
19
+ s.rubygems_version = "3.6.9".freeze
20
20
  s.summary = "Web-flow and rendering framework putting the VC in MVC (part of Rails).".freeze
21
21
 
22
- s.installed_by_version = "3.6.2".freeze
22
+ s.installed_by_version = "3.6.9".freeze
23
23
 
24
24
  s.specification_version = 4
25
25
 
26
- s.add_runtime_dependency(%q<activesupport>.freeze, ["= 8.0.1".freeze])
26
+ s.add_runtime_dependency(%q<activesupport>.freeze, ["= 8.0.3".freeze])
27
27
  s.add_runtime_dependency(%q<nokogiri>.freeze, [">= 1.8.5".freeze])
28
28
  s.add_runtime_dependency(%q<rack>.freeze, [">= 2.2.4".freeze])
29
29
  s.add_runtime_dependency(%q<rack-session>.freeze, [">= 1.0.1".freeze])
@@ -31,6 +31,6 @@ Gem::Specification.new do |s|
31
31
  s.add_runtime_dependency(%q<rails-html-sanitizer>.freeze, ["~> 1.6".freeze])
32
32
  s.add_runtime_dependency(%q<rails-dom-testing>.freeze, ["~> 2.2".freeze])
33
33
  s.add_runtime_dependency(%q<useragent>.freeze, ["~> 0.16".freeze])
34
- s.add_runtime_dependency(%q<actionview>.freeze, ["= 8.0.1".freeze])
35
- s.add_development_dependency(%q<activemodel>.freeze, ["= 8.0.1".freeze])
34
+ s.add_runtime_dependency(%q<actionview>.freeze, ["= 8.0.3".freeze])
35
+ s.add_development_dependency(%q<activemodel>.freeze, ["= 8.0.3".freeze])
36
36
  end
@@ -1,33 +1,33 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: actionview 8.0.1 ruby lib
2
+ # stub: actionview 8.0.3 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "actionview".freeze
6
- s.version = "8.0.1".freeze
6
+ s.version = "8.0.3".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
- s.metadata = { "bug_tracker_uri" => "https://github.com/rails/rails/issues", "changelog_uri" => "https://github.com/rails/rails/blob/v8.0.1/actionview/CHANGELOG.md", "documentation_uri" => "https://api.rubyonrails.org/v8.0.1/", "mailing_list_uri" => "https://discuss.rubyonrails.org/c/rubyonrails-talk", "rubygems_mfa_required" => "true", "source_code_uri" => "https://github.com/rails/rails/tree/v8.0.1/actionview" } if s.respond_to? :metadata=
9
+ s.metadata = { "bug_tracker_uri" => "https://github.com/rails/rails/issues", "changelog_uri" => "https://github.com/rails/rails/blob/v8.0.3/actionview/CHANGELOG.md", "documentation_uri" => "https://api.rubyonrails.org/v8.0.3/", "mailing_list_uri" => "https://discuss.rubyonrails.org/c/rubyonrails-talk", "rubygems_mfa_required" => "true", "source_code_uri" => "https://github.com/rails/rails/tree/v8.0.3/actionview" } if s.respond_to? :metadata=
10
10
  s.require_paths = ["lib".freeze]
11
11
  s.authors = ["David Heinemeier Hansson".freeze]
12
- s.date = "2024-12-13"
12
+ s.date = "1980-01-02"
13
13
  s.description = "Simple, battle-tested conventions and helpers for building web pages.".freeze
14
14
  s.email = "david@loudthinking.com".freeze
15
15
  s.homepage = "https://rubyonrails.org".freeze
16
16
  s.licenses = ["MIT".freeze]
17
17
  s.required_ruby_version = Gem::Requirement.new(">= 3.2.0".freeze)
18
18
  s.requirements = ["none".freeze]
19
- s.rubygems_version = "3.5.22".freeze
19
+ s.rubygems_version = "3.6.9".freeze
20
20
  s.summary = "Rendering framework putting the V in MVC (part of Rails).".freeze
21
21
 
22
- s.installed_by_version = "3.6.2".freeze
22
+ s.installed_by_version = "3.6.9".freeze
23
23
 
24
24
  s.specification_version = 4
25
25
 
26
- s.add_runtime_dependency(%q<activesupport>.freeze, ["= 8.0.1".freeze])
26
+ s.add_runtime_dependency(%q<activesupport>.freeze, ["= 8.0.3".freeze])
27
27
  s.add_runtime_dependency(%q<builder>.freeze, ["~> 3.1".freeze])
28
28
  s.add_runtime_dependency(%q<erubi>.freeze, ["~> 1.11".freeze])
29
29
  s.add_runtime_dependency(%q<rails-html-sanitizer>.freeze, ["~> 1.6".freeze])
30
30
  s.add_runtime_dependency(%q<rails-dom-testing>.freeze, ["~> 2.2".freeze])
31
- s.add_development_dependency(%q<actionpack>.freeze, ["= 8.0.1".freeze])
32
- s.add_development_dependency(%q<activemodel>.freeze, ["= 8.0.1".freeze])
31
+ s.add_development_dependency(%q<actionpack>.freeze, ["= 8.0.3".freeze])
32
+ s.add_development_dependency(%q<activemodel>.freeze, ["= 8.0.3".freeze])
33
33
  end