acfs 2.1.0 → 2.2.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 (330) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +1 -1
  4. data/acfs.gemspec +1 -1
  5. data/lib/acfs/location.rb +2 -2
  6. data/lib/acfs/middleware/json.rb +3 -3
  7. data/lib/acfs/request.rb +1 -0
  8. data/lib/acfs/resource/attributes.rb +1 -1
  9. data/lib/acfs/stub.rb +1 -1
  10. data/lib/acfs/version.rb +2 -2
  11. data/lib/acfs.rb +3 -4
  12. data/spec/acfs/collection_spec.rb +16 -10
  13. data/spec/acfs/global_spec.rb +2 -2
  14. data/spec/acfs/middleware/json_spec.rb +16 -0
  15. data/spec/acfs/operation_spec.rb +2 -2
  16. data/spec/acfs/request/callbacks_spec.rb +2 -2
  17. data/spec/acfs/resource/locatable_spec.rb +5 -11
  18. data/spec/acfs/resource/query_methods_spec.rb +1 -1
  19. data/spec/acfs/resource/validation_spec.rb +3 -4
  20. data/spec/acfs/runner_spec.rb +6 -6
  21. data/spec/acfs/stub_spec.rb +6 -4
  22. data/spec/acfs_spec.rb +4 -4
  23. data/vendor/bundle/ruby/4.0.0/bundler/gems/rubocop-config-2b861962124a/README.md +23 -0
  24. data/vendor/bundle/ruby/{3.4.0/bundler/gems/rubocop-config-67802c9d1826 → 4.0.0/bundler/gems/rubocop-config-2b861962124a}/rubocop-config.gemspec +11 -11
  25. data/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.3/CHANGELOG.md +514 -0
  26. data/vendor/bundle/ruby/{3.4.0/gems/actionpack-8.0.1 → 4.0.0/gems/actionpack-8.1.3}/README.rdoc +1 -1
  27. data/vendor/bundle/ruby/4.0.0/gems/actionview-8.1.3/CHANGELOG.md +191 -0
  28. data/vendor/bundle/ruby/{3.4.0/gems/actionview-8.0.1 → 4.0.0/gems/actionview-8.1.3}/README.rdoc +1 -1
  29. data/vendor/bundle/ruby/4.0.0/gems/activemodel-8.1.3/CHANGELOG.md +68 -0
  30. data/vendor/bundle/ruby/{3.4.0/gems/activemodel-8.0.1 → 4.0.0/gems/activemodel-8.1.3}/README.rdoc +1 -1
  31. data/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.3/CHANGELOG.md +561 -0
  32. data/vendor/bundle/ruby/{3.4.0/gems/activesupport-8.0.1 → 4.0.0/gems/activesupport-8.1.3}/README.rdoc +1 -1
  33. data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/CHANGELOG.md +71 -46
  34. data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/README.md +6 -6
  35. data/vendor/bundle/ruby/4.0.0/gems/ast-2.4.3/LICENSE.MIT +20 -0
  36. data/vendor/bundle/ruby/4.0.0/gems/ast-2.4.3/README.YARD.md +12 -0
  37. data/vendor/bundle/ruby/{3.4.0/gems/bigdecimal-3.1.9 → 4.0.0/gems/bigdecimal-4.1.2}/bigdecimal.gemspec +6 -1
  38. data/vendor/bundle/ruby/{3.4.0/gems/concurrent-ruby-1.3.5 → 4.0.0/gems/concurrent-ruby-1.3.7}/CHANGELOG.md +12 -0
  39. data/vendor/bundle/ruby/{3.4.0/gems/concurrent-ruby-1.3.5 → 4.0.0/gems/concurrent-ruby-1.3.7}/README.md +4 -2
  40. data/vendor/bundle/ruby/{3.4.0/gems/connection_pool-2.5.0 → 4.0.0/gems/connection_pool-3.0.2}/README.md +49 -34
  41. data/vendor/bundle/ruby/4.0.0/gems/connection_pool-3.0.2/connection_pool.gemspec +35 -0
  42. data/vendor/bundle/ruby/{3.4.0/gems/diff-lcs-1.6.0 → 4.0.0/gems/diff-lcs-1.6.2}/CHANGELOG.md +27 -0
  43. data/vendor/bundle/ruby/{3.4.0/gems/diff-lcs-1.6.0 → 4.0.0/gems/diff-lcs-1.6.2}/README.md +1 -1
  44. data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/LICENSE +21 -0
  45. data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/README.md +409 -0
  46. data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/docile.gemspec +36 -0
  47. data/vendor/bundle/ruby/{3.4.0/gems/drb-2.2.1 → 4.0.0/gems/drb-2.2.3}/drb.gemspec +2 -1
  48. data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/CHANGELOG.md +43 -1
  49. data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/README.md +1 -1
  50. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/ethon.gemspec +37 -0
  51. data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/CHANGELOG.md +42 -0
  52. data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/README.md +1 -0
  53. data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/ffi.gemspec +7 -6
  54. data/vendor/bundle/ruby/{3.4.0/gems/hashdiff-1.1.2 → 4.0.0/gems/hashdiff-1.2.1}/README.md +26 -1
  55. data/vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/changelog.md +127 -0
  56. data/vendor/bundle/ruby/{3.4.0/gems/i18n-1.14.7 → 4.0.0/gems/i18n-1.15.2}/README.md +13 -1
  57. data/vendor/bundle/ruby/{3.4.0/gems/json-2.10.1 → 4.0.0/gems/json-2.19.9}/README.md +43 -1
  58. data/vendor/bundle/ruby/{3.4.0/gems/json-2.10.1 → 4.0.0/gems/json-2.19.9}/json.gemspec +2 -3
  59. data/vendor/bundle/ruby/4.0.0/gems/language_server-protocol-3.17.0.5/LICENSE.txt +21 -0
  60. data/vendor/bundle/ruby/4.0.0/gems/language_server-protocol-3.17.0.5/README.md +88 -0
  61. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/CHANGELOG.md +15 -0
  62. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/LICENSE.txt +21 -0
  63. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/README.md +173 -0
  64. data/vendor/bundle/ruby/{3.4.0/gems/loofah-2.24.0 → 4.0.0/gems/loofah-2.25.1}/CHANGELOG.md +17 -0
  65. data/vendor/bundle/ruby/{3.4.0/gems/minitest-5.25.4 → 4.0.0/gems/minitest-6.0.6}/README.rdoc +33 -105
  66. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/ChangeLog +383 -0
  67. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/LICENSE +177 -0
  68. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/README.md +302 -0
  69. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/msgpack.gemspec +41 -0
  70. data/vendor/bundle/ruby/4.0.0/gems/multi_json-1.21.1/LICENSE.md +20 -0
  71. data/vendor/bundle/ruby/4.0.0/gems/multi_json-1.21.1/README.md +281 -0
  72. data/vendor/bundle/ruby/{3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu → 4.0.0/gems/nokogiri-1.19.4-x86_64-linux-gnu}/LICENSE-DEPENDENCIES.md +187 -0
  73. data/vendor/bundle/ruby/{3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu → 4.0.0/gems/nokogiri-1.19.4-x86_64-linux-gnu}/README.md +18 -3
  74. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-api-1.10.0/CHANGELOG.md +219 -0
  75. data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-api-1.4.0 → 4.0.0/gems/opentelemetry-api-1.10.0}/README.md +1 -2
  76. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-common-0.25.0/CHANGELOG.md +110 -0
  77. data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-common-0.21.0 → 4.0.0/gems/opentelemetry-common-0.25.0}/README.md +1 -1
  78. data/vendor/bundle/ruby/4.0.0/gems/parallel-2.1.0/MIT-LICENSE.txt +20 -0
  79. data/vendor/bundle/ruby/{3.4.0/gems/rspec-collection_matchers-1.2.1 → 4.0.0/gems/parser-3.3.11.1}/LICENSE.txt +4 -5
  80. data/vendor/bundle/ruby/4.0.0/gems/parser-3.3.11.1/parser.gemspec +43 -0
  81. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/CHANGELOG.md +786 -0
  82. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/LICENSE.md +7 -0
  83. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/README.md +143 -0
  84. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/prism.gemspec +172 -0
  85. data/vendor/bundle/ruby/4.0.0/gems/public_suffix-7.0.5/CHANGELOG.md +649 -0
  86. data/vendor/bundle/ruby/{3.4.0/gems/public_suffix-6.0.1 → 4.0.0/gems/public_suffix-7.0.5}/LICENSE.txt +1 -1
  87. data/vendor/bundle/ruby/{3.4.0/gems/public_suffix-6.0.1 → 4.0.0/gems/public_suffix-7.0.5}/README.md +38 -29
  88. data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.10 → 4.0.0/gems/rack-3.2.6}/CHANGELOG.md +338 -4
  89. data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.10 → 4.0.0/gems/rack-3.2.6}/README.md +76 -20
  90. data/vendor/bundle/ruby/{3.4.0/gems/rails-dom-testing-2.2.0 → 4.0.0/gems/rails-dom-testing-2.3.0}/README.md +3 -0
  91. data/vendor/bundle/ruby/{3.4.0/gems/rails-html-sanitizer-1.6.2 → 4.0.0/gems/rails-html-sanitizer-1.7.0}/CHANGELOG.md +10 -0
  92. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/Changelog.md +101 -0
  93. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/LICENSE +20 -0
  94. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/README.markdown +227 -0
  95. data/vendor/bundle/ruby/{3.4.0/gems/rake-13.2.1 → 4.0.0/gems/rake-13.4.2}/README.rdoc +5 -5
  96. data/vendor/bundle/ruby/{3.4.0/gems/rake-13.2.1 → 4.0.0/gems/rake-13.4.2}/rake.gemspec +3 -2
  97. data/vendor/bundle/ruby/{3.4.0/gems/rake-release-1.3.0 → 4.0.0/gems/rake-release-1.4.0}/rake-release.gemspec +4 -4
  98. data/vendor/bundle/ruby/4.0.0/gems/regexp_parser-2.12.0/LICENSE +22 -0
  99. data/vendor/bundle/ruby/4.0.0/gems/regexp_parser-2.12.0/regexp_parser.gemspec +36 -0
  100. data/vendor/bundle/ruby/{3.4.0/gems/rspec-core-3.13.3 → 4.0.0/gems/rspec-core-3.13.6}/Changelog.md +24 -2
  101. data/vendor/bundle/ruby/{3.4.0/gems/rspec-expectations-3.13.3 → 4.0.0/gems/rspec-expectations-3.13.5}/Changelog.md +154 -140
  102. data/vendor/bundle/ruby/{3.4.0/gems/rspec-mocks-3.13.2 → 4.0.0/gems/rspec-mocks-3.13.8}/Changelog.md +181 -129
  103. data/vendor/bundle/ruby/{3.4.0/gems/rspec-support-3.13.2 → 4.0.0/gems/rspec-support-3.13.7}/Changelog.md +101 -65
  104. data/vendor/bundle/ruby/4.0.0/gems/rubocop-1.88.0/LICENSE.txt +20 -0
  105. data/vendor/bundle/ruby/4.0.0/gems/rubocop-1.88.0/README.md +255 -0
  106. data/vendor/bundle/ruby/4.0.0/gems/rubocop-ast-1.49.1/LICENSE.txt +20 -0
  107. data/vendor/bundle/ruby/4.0.0/gems/rubocop-ast-1.49.1/README.md +54 -0
  108. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/CHANGELOG.md +116 -0
  109. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/MIT-LICENSE.md +21 -0
  110. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/README.md +91 -0
  111. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/CHANGELOG.md +135 -0
  112. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/MIT-LICENSE.md +21 -0
  113. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/README.md +91 -0
  114. data/vendor/bundle/ruby/4.0.0/gems/rubocop-performance-1.26.1/LICENSE.txt +20 -0
  115. data/vendor/bundle/ruby/4.0.0/gems/rubocop-performance-1.26.1/README.md +100 -0
  116. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/CHANGELOG.md +1136 -0
  117. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/MIT-LICENSE.md +21 -0
  118. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/README.md +112 -0
  119. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/CHANGELOG.md +98 -0
  120. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/MIT-LICENSE.md +21 -0
  121. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/README.md +93 -0
  122. data/vendor/bundle/ruby/4.0.0/gems/ruby-progressbar-1.13.0/LICENSE.txt +19 -0
  123. data/vendor/bundle/ruby/4.0.0/gems/ruby-progressbar-1.13.0/README.md +131 -0
  124. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/CHANGELOG.md +191 -0
  125. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/LICENSE +20 -0
  126. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/README.md +974 -0
  127. data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/LICENSE +202 -0
  128. data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/README.md +65 -0
  129. data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/simplecov-cobertura.gemspec +29 -0
  130. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/CHANGELOG.md +114 -0
  131. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/LICENSE +20 -0
  132. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/README.md +30 -0
  133. data/vendor/bundle/ruby/4.0.0/gems/simplecov_json_formatter-0.1.4/CHANGELOG.md +13 -0
  134. data/vendor/bundle/ruby/4.0.0/gems/simplecov_json_formatter-0.1.4/README.md +29 -0
  135. data/vendor/bundle/ruby/{3.4.0/gems/thor-1.3.2 → 4.0.0/gems/thor-1.5.0}/README.md +1 -2
  136. data/vendor/bundle/ruby/{3.4.0/gems/thor-1.3.2 → 4.0.0/gems/thor-1.5.0}/thor.gemspec +3 -3
  137. data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/CHANGELOG.md +56 -1
  138. data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/README.md +2 -2
  139. data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/typhoeus.gemspec +14 -4
  140. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/CHANGELOG.md +299 -0
  141. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/MIT-LICENSE.txt +22 -0
  142. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/README.md +194 -0
  143. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/CHANGELOG.md +202 -0
  144. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/MIT-LICENSE.txt +20 -0
  145. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/README.md +205 -0
  146. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/unicode-emoji.gemspec +22 -0
  147. data/vendor/bundle/ruby/{3.4.0/gems/uri-1.0.2 → 4.0.0/gems/uri-1.1.1}/README.md +1 -1
  148. data/vendor/bundle/ruby/{3.4.0/gems/webmock-3.25.0 → 4.0.0/gems/webmock-3.26.2}/CHANGELOG.md +38 -0
  149. data/vendor/bundle/ruby/{3.4.0/gems/webmock-3.25.0 → 4.0.0/gems/webmock-3.26.2}/README.md +6 -0
  150. data/vendor/bundle/ruby/{3.4.0/specifications/actionpack-8.0.1.gemspec → 4.0.0/specifications/actionpack-8.1.3.gemspec} +9 -9
  151. data/vendor/bundle/ruby/{3.4.0/specifications/actionview-8.0.1.gemspec → 4.0.0/specifications/actionview-8.1.3.gemspec} +9 -9
  152. data/vendor/bundle/ruby/{3.4.0/specifications/activemodel-8.0.1.gemspec → 4.0.0/specifications/activemodel-8.1.3.gemspec} +7 -7
  153. data/vendor/bundle/ruby/{3.4.0/specifications/activesupport-8.0.1.gemspec → 4.0.0/specifications/activesupport-8.1.3.gemspec} +7 -7
  154. data/vendor/bundle/ruby/{3.4.0/specifications/addressable-2.8.7.gemspec → 4.0.0/specifications/addressable-2.9.0.gemspec} +7 -8
  155. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/appraisal-2.5.0.gemspec +1 -1
  156. data/vendor/bundle/ruby/4.0.0/specifications/ast-2.4.3.gemspec +29 -0
  157. data/vendor/bundle/ruby/{3.4.0/specifications/base64-0.2.0.gemspec → 4.0.0/specifications/base64-0.3.0.gemspec} +6 -6
  158. data/vendor/bundle/ruby/{3.4.0/specifications/bigdecimal-3.1.9.gemspec → 4.0.0/specifications/bigdecimal-4.1.2.gemspec} +6 -6
  159. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/builder-3.3.0.gemspec +1 -1
  160. data/vendor/bundle/ruby/{3.4.0/specifications/concurrent-ruby-1.3.5.gemspec → 4.0.0/specifications/concurrent-ruby-1.3.7.gemspec} +6 -6
  161. data/vendor/bundle/ruby/{3.4.0/specifications/connection_pool-2.5.0.gemspec → 4.0.0/specifications/connection_pool-3.0.2.gemspec} +8 -8
  162. data/vendor/bundle/ruby/{3.4.0/specifications/crack-1.0.0.gemspec → 4.0.0/specifications/crack-1.0.1.gemspec} +4 -4
  163. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/crass-1.0.6.gemspec +1 -1
  164. data/vendor/bundle/ruby/{3.4.0/specifications/diff-lcs-1.6.0.gemspec → 4.0.0/specifications/diff-lcs-1.6.2.gemspec} +11 -14
  165. data/vendor/bundle/ruby/4.0.0/specifications/docile-1.4.1.gemspec +22 -0
  166. data/vendor/bundle/ruby/{3.4.0/specifications/drb-2.2.1.gemspec → 4.0.0/specifications/drb-2.2.3.gemspec} +6 -6
  167. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/erubi-1.13.1.gemspec +1 -1
  168. data/vendor/bundle/ruby/4.0.0/specifications/ethon-0.18.0.gemspec +27 -0
  169. data/vendor/bundle/ruby/{3.4.0/specifications/ffi-1.17.1-x86_64-linux-gnu.gemspec → 4.0.0/specifications/ffi-1.17.4-x86_64-linux-gnu.gemspec} +7 -14
  170. data/vendor/bundle/ruby/{3.4.0/specifications/hashdiff-1.1.2.gemspec → 4.0.0/specifications/hashdiff-1.2.1.gemspec} +4 -4
  171. data/vendor/bundle/ruby/{3.4.0/specifications/i18n-1.14.7.gemspec → 4.0.0/specifications/i18n-1.15.2.gemspec} +6 -6
  172. data/vendor/bundle/ruby/{3.4.0/specifications/json-2.10.1.gemspec → 4.0.0/specifications/json-2.19.9.gemspec} +0 -0
  173. data/vendor/bundle/ruby/4.0.0/specifications/language_server-protocol-3.17.0.5.gemspec +31 -0
  174. data/vendor/bundle/ruby/4.0.0/specifications/lint_roller-1.1.0.gemspec +22 -0
  175. data/vendor/bundle/ruby/{3.4.0/specifications/logger-1.6.6.gemspec → 4.0.0/specifications/logger-1.7.0.gemspec} +4 -4
  176. data/vendor/bundle/ruby/{3.4.0/specifications/loofah-2.24.0.gemspec → 4.0.0/specifications/loofah-2.25.1.gemspec} +5 -5
  177. data/vendor/bundle/ruby/4.0.0/specifications/minitest-6.0.6.gemspec +35 -0
  178. data/vendor/bundle/ruby/4.0.0/specifications/msgpack-1.8.3.gemspec +36 -0
  179. data/vendor/bundle/ruby/4.0.0/specifications/multi_json-1.21.1.gemspec +22 -0
  180. data/vendor/bundle/ruby/{3.4.0/specifications/nokogiri-1.18.2-x86_64-linux-gnu.gemspec → 4.0.0/specifications/nokogiri-1.19.4-x86_64-linux-gnu.gemspec} +7 -7
  181. data/vendor/bundle/ruby/{3.4.0/specifications/opentelemetry-api-1.4.0.gemspec → 4.0.0/specifications/opentelemetry-api-1.10.0.gemspec} +11 -11
  182. data/vendor/bundle/ruby/{3.4.0/specifications/opentelemetry-common-0.21.0.gemspec → 4.0.0/specifications/opentelemetry-common-0.25.0.gemspec} +9 -10
  183. data/vendor/bundle/ruby/4.0.0/specifications/parallel-2.1.0.gemspec +21 -0
  184. data/vendor/bundle/ruby/4.0.0/specifications/parser-3.3.11.1.gemspec +37 -0
  185. data/vendor/bundle/ruby/4.0.0/specifications/prism-1.9.0.gemspec +24 -0
  186. data/vendor/bundle/ruby/{3.4.0/specifications/public_suffix-6.0.1.gemspec → 4.0.0/specifications/public_suffix-7.0.5.gemspec} +7 -7
  187. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/racc-1.8.1.gemspec +1 -1
  188. data/vendor/bundle/ruby/{3.4.0/specifications/rack-3.1.10.gemspec → 4.0.0/specifications/rack-3.2.6.gemspec} +7 -7
  189. data/vendor/bundle/ruby/{3.4.0/specifications/rack-session-2.1.0.gemspec → 4.0.0/specifications/rack-session-2.1.2.gemspec} +5 -5
  190. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/rack-test-2.2.0.gemspec +1 -1
  191. data/vendor/bundle/ruby/{3.4.0/specifications/rails-dom-testing-2.2.0.gemspec → 4.0.0/specifications/rails-dom-testing-2.3.0.gemspec} +5 -5
  192. data/vendor/bundle/ruby/{3.4.0/specifications/rails-html-sanitizer-1.6.2.gemspec → 4.0.0/specifications/rails-html-sanitizer-1.7.0.gemspec} +7 -7
  193. data/vendor/bundle/ruby/4.0.0/specifications/rainbow-3.1.1.gemspec +25 -0
  194. data/vendor/bundle/ruby/{3.4.0/specifications/rake-13.2.1.gemspec → 4.0.0/specifications/rake-13.4.2.gemspec} +6 -6
  195. data/vendor/bundle/ruby/{3.4.0/specifications/rake-release-1.3.0.gemspec → 4.0.0/specifications/rake-release-1.4.0.gemspec} +7 -7
  196. data/vendor/bundle/ruby/4.0.0/specifications/regexp_parser-2.12.0.gemspec +22 -0
  197. data/vendor/bundle/ruby/{3.4.0/specifications/rexml-3.4.0.gemspec → 4.0.0/specifications/rexml-3.4.4.gemspec} +6 -6
  198. data/vendor/bundle/ruby/{3.4.0/specifications/rspec-3.13.0.gemspec → 4.0.0/specifications/rspec-3.13.2.gemspec} +9 -9
  199. data/vendor/bundle/ruby/{3.4.0/specifications/rspec-core-3.13.3.gemspec → 4.0.0/specifications/rspec-core-3.13.6.gemspec} +8 -8
  200. data/vendor/bundle/ruby/4.0.0/specifications/rspec-expectations-3.13.5.gemspec +29 -0
  201. data/vendor/bundle/ruby/4.0.0/specifications/rspec-mocks-3.13.8.gemspec +29 -0
  202. data/vendor/bundle/ruby/{3.4.0/specifications/rspec-support-3.13.2.gemspec → 4.0.0/specifications/rspec-support-3.13.7.gemspec} +9 -9
  203. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-1.88.0.gemspec +39 -0
  204. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-ast-1.49.1.gemspec +29 -0
  205. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-capybara-2.23.0.gemspec +28 -0
  206. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-factory_bot-2.28.0.gemspec +28 -0
  207. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-performance-1.26.1.gemspec +30 -0
  208. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-rspec-3.10.2.gemspec +30 -0
  209. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-rspec_rails-2.32.0.gemspec +29 -0
  210. data/vendor/bundle/ruby/4.0.0/specifications/ruby-progressbar-1.13.0.gemspec +29 -0
  211. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/securerandom-0.4.1.gemspec +1 -1
  212. data/vendor/bundle/ruby/4.0.0/specifications/simplecov-0.22.0.gemspec +28 -0
  213. data/vendor/bundle/ruby/4.0.0/specifications/simplecov-cobertura-3.2.0.gemspec +29 -0
  214. data/vendor/bundle/ruby/4.0.0/specifications/simplecov-html-0.13.2.gemspec +22 -0
  215. data/vendor/bundle/ruby/4.0.0/specifications/simplecov_json_formatter-0.1.4.gemspec +21 -0
  216. data/vendor/bundle/ruby/{3.4.0/specifications/thor-1.3.2.gemspec → 4.0.0/specifications/thor-1.5.0.gemspec} +8 -8
  217. data/vendor/bundle/ruby/4.0.0/specifications/typhoeus-1.6.0.gemspec +26 -0
  218. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/tzinfo-2.0.6.gemspec +1 -1
  219. data/vendor/bundle/ruby/4.0.0/specifications/unicode-display_width-3.2.0.gemspec +30 -0
  220. data/vendor/bundle/ruby/4.0.0/specifications/unicode-emoji-4.2.0.gemspec +22 -0
  221. data/vendor/bundle/ruby/{3.4.0/specifications/uri-1.0.2.gemspec → 4.0.0/specifications/uri-1.1.1.gemspec} +5 -5
  222. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/useragent-0.16.11.gemspec +1 -1
  223. data/vendor/bundle/ruby/{3.4.0/specifications/webmock-3.25.0.gemspec → 4.0.0/specifications/webmock-3.26.2.gemspec} +7 -8
  224. metadata +277 -206
  225. data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-67802c9d1826/README.md +0 -23
  226. data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.1/CHANGELOG.md +0 -205
  227. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/CHANGELOG.md +0 -67
  228. data/vendor/bundle/ruby/3.4.0/gems/activemodel-8.0.1/CHANGELOG.md +0 -110
  229. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/CHANGELOG.md +0 -157
  230. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/addressable.gemspec +0 -28
  231. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/README.md +0 -138
  232. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/benchmark.gemspec +0 -32
  233. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.0/connection_pool.gemspec +0 -24
  234. data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/ethon.gemspec +0 -26
  235. data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/changelog.md +0 -119
  236. data/vendor/bundle/ruby/3.4.0/gems/logger-1.6.6/logger.gemspec +0 -28
  237. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/CHANGELOG.md +0 -275
  238. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/LICENSE.md +0 -20
  239. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/README.md +0 -121
  240. data/vendor/bundle/ruby/3.4.0/gems/opentelemetry-api-1.4.0/CHANGELOG.md +0 -188
  241. data/vendor/bundle/ruby/3.4.0/gems/opentelemetry-common-0.21.0/CHANGELOG.md +0 -94
  242. data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.1/CHANGELOG.md +0 -491
  243. data/vendor/bundle/ruby/3.4.0/gems/rexml-3.4.0/LICENSE.txt +0 -22
  244. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/Changelog.md +0 -68
  245. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/README.md +0 -76
  246. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/rspec-collection_matchers.gemspec +0 -33
  247. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/Changelog.md +0 -73
  248. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/LICENSE.txt +0 -27
  249. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/README.md +0 -104
  250. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/rspec-its.gemspec +0 -31
  251. data/vendor/bundle/ruby/3.4.0/specifications/benchmark-0.4.0.gemspec +0 -23
  252. data/vendor/bundle/ruby/3.4.0/specifications/ethon-0.16.0.gemspec +0 -24
  253. data/vendor/bundle/ruby/3.4.0/specifications/minitest-5.25.4.gemspec +0 -31
  254. data/vendor/bundle/ruby/3.4.0/specifications/multi_json-1.15.0.gemspec +0 -26
  255. data/vendor/bundle/ruby/3.4.0/specifications/rspec-collection_matchers-1.2.1.gemspec +0 -27
  256. data/vendor/bundle/ruby/3.4.0/specifications/rspec-expectations-3.13.3.gemspec +0 -33
  257. data/vendor/bundle/ruby/3.4.0/specifications/rspec-its-2.0.0.gemspec +0 -27
  258. data/vendor/bundle/ruby/3.4.0/specifications/rspec-mocks-3.13.2.gemspec +0 -33
  259. data/vendor/bundle/ruby/3.4.0/specifications/typhoeus-1.4.1.gemspec +0 -24
  260. /data/vendor/bundle/ruby/{3.4.0/bundler/gems/rubocop-config-67802c9d1826 → 4.0.0/bundler/gems/rubocop-config-2b861962124a}/LICENSE +0 -0
  261. /data/vendor/bundle/ruby/{3.4.0/gems/actionpack-8.0.1 → 4.0.0/gems/actionpack-8.1.3}/MIT-LICENSE +0 -0
  262. /data/vendor/bundle/ruby/{3.4.0/gems/actionview-8.0.1 → 4.0.0/gems/actionview-8.1.3}/MIT-LICENSE +0 -0
  263. /data/vendor/bundle/ruby/{3.4.0/gems/activemodel-8.0.1 → 4.0.0/gems/activemodel-8.1.3}/MIT-LICENSE +0 -0
  264. /data/vendor/bundle/ruby/{3.4.0/gems/activesupport-8.0.1 → 4.0.0/gems/activesupport-8.1.3}/MIT-LICENSE +0 -0
  265. /data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/LICENSE.txt +0 -0
  266. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/appraisal-2.5.0/MIT-LICENSE +0 -0
  267. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/appraisal-2.5.0/README.md +0 -0
  268. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/appraisal-2.5.0/appraisal.gemspec +0 -0
  269. /data/vendor/bundle/ruby/{3.4.0/gems/base64-0.2.0 → 4.0.0/gems/base64-0.3.0}/README.md +0 -0
  270. /data/vendor/bundle/ruby/{3.4.0/gems/bigdecimal-3.1.9 → 4.0.0/gems/bigdecimal-4.1.2}/LICENSE +0 -0
  271. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/builder-3.3.0/MIT-LICENSE +0 -0
  272. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/builder-3.3.0/README.md +0 -0
  273. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/builder-3.3.0/builder.gemspec +0 -0
  274. /data/vendor/bundle/ruby/{3.4.0/gems/concurrent-ruby-1.3.5 → 4.0.0/gems/concurrent-ruby-1.3.7}/LICENSE.txt +0 -0
  275. /data/vendor/bundle/ruby/{3.4.0/gems/connection_pool-2.5.0 → 4.0.0/gems/connection_pool-3.0.2}/LICENSE +0 -0
  276. /data/vendor/bundle/ruby/{3.4.0/gems/crack-1.0.0 → 4.0.0/gems/crack-1.0.1}/LICENSE +0 -0
  277. /data/vendor/bundle/ruby/{3.4.0/gems/crack-1.0.0 → 4.0.0/gems/crack-1.0.1}/README.md +0 -0
  278. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/crass-1.0.6/LICENSE +0 -0
  279. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/crass-1.0.6/README.md +0 -0
  280. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/crass-1.0.6/crass.gemspec +0 -0
  281. /data/vendor/bundle/ruby/{3.4.0/gems/base64-0.2.0 → 4.0.0/gems/drb-2.2.3}/LICENSE.txt +0 -0
  282. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/erubi-1.13.1/CHANGELOG +0 -0
  283. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/erubi-1.13.1/MIT-LICENSE +0 -0
  284. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/erubi-1.13.1/README.rdoc +0 -0
  285. /data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/LICENSE +0 -0
  286. /data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/LICENSE +0 -0
  287. /data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/LICENSE.SPECS +0 -0
  288. /data/vendor/bundle/ruby/{3.4.0/gems/hashdiff-1.1.2 → 4.0.0/gems/hashdiff-1.2.1}/LICENSE +0 -0
  289. /data/vendor/bundle/ruby/{3.4.0/gems/hashdiff-1.1.2 → 4.0.0/gems/hashdiff-1.2.1}/hashdiff.gemspec +0 -0
  290. /data/vendor/bundle/ruby/{3.4.0/gems/i18n-1.14.7 → 4.0.0/gems/i18n-1.15.2}/MIT-LICENSE +0 -0
  291. /data/vendor/bundle/ruby/{3.4.0/gems/logger-1.6.6 → 4.0.0/gems/logger-1.7.0}/README.md +0 -0
  292. /data/vendor/bundle/ruby/{3.4.0/gems/loofah-2.24.0 → 4.0.0/gems/loofah-2.25.1}/MIT-LICENSE.txt +0 -0
  293. /data/vendor/bundle/ruby/{3.4.0/gems/loofah-2.24.0 → 4.0.0/gems/loofah-2.25.1}/README.md +0 -0
  294. /data/vendor/bundle/ruby/{3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu → 4.0.0/gems/nokogiri-1.19.4-x86_64-linux-gnu}/LICENSE.md +0 -0
  295. /data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-api-1.4.0 → 4.0.0/gems/opentelemetry-api-1.10.0}/LICENSE +0 -0
  296. /data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-common-0.21.0 → 4.0.0/gems/opentelemetry-common-0.25.0}/LICENSE +0 -0
  297. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/racc-1.8.1/ChangeLog +0 -0
  298. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/racc-1.8.1/README.ja.rdoc +0 -0
  299. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/racc-1.8.1/README.rdoc +0 -0
  300. /data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.10 → 4.0.0/gems/rack-3.2.6}/MIT-LICENSE +0 -0
  301. /data/vendor/bundle/ruby/{3.4.0/gems/rack-session-2.1.0 → 4.0.0/gems/rack-session-2.1.2}/license.md +0 -0
  302. /data/vendor/bundle/ruby/{3.4.0/gems/rack-session-2.1.0 → 4.0.0/gems/rack-session-2.1.2}/readme.md +0 -0
  303. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/rack-test-2.2.0/MIT-LICENSE.txt +0 -0
  304. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/rack-test-2.2.0/README.md +0 -0
  305. /data/vendor/bundle/ruby/{3.4.0/gems/rails-dom-testing-2.2.0 → 4.0.0/gems/rails-dom-testing-2.3.0}/MIT-LICENSE +0 -0
  306. /data/vendor/bundle/ruby/{3.4.0/gems/rails-html-sanitizer-1.6.2 → 4.0.0/gems/rails-html-sanitizer-1.7.0}/MIT-LICENSE +0 -0
  307. /data/vendor/bundle/ruby/{3.4.0/gems/rails-html-sanitizer-1.6.2 → 4.0.0/gems/rails-html-sanitizer-1.7.0}/README.md +0 -0
  308. /data/vendor/bundle/ruby/{3.4.0/gems/rake-13.2.1 → 4.0.0/gems/rake-13.4.2}/MIT-LICENSE +0 -0
  309. /data/vendor/bundle/ruby/{3.4.0/gems/rake-release-1.3.0 → 4.0.0/gems/rake-release-1.4.0}/LICENSE +0 -0
  310. /data/vendor/bundle/ruby/{3.4.0/gems/rake-release-1.3.0 → 4.0.0/gems/rake-release-1.4.0}/README.md +0 -0
  311. /data/vendor/bundle/ruby/{3.4.0/gems/drb-2.2.1 → 4.0.0/gems/rexml-3.4.4}/LICENSE.txt +0 -0
  312. /data/vendor/bundle/ruby/{3.4.0/gems/rexml-3.4.0 → 4.0.0/gems/rexml-3.4.4}/README.md +0 -0
  313. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-3.13.0 → 4.0.0/gems/rspec-3.13.2}/LICENSE.md +0 -0
  314. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-3.13.0 → 4.0.0/gems/rspec-3.13.2}/README.md +0 -0
  315. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-core-3.13.3 → 4.0.0/gems/rspec-core-3.13.6}/LICENSE.md +0 -0
  316. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-core-3.13.3 → 4.0.0/gems/rspec-core-3.13.6}/README.md +0 -0
  317. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-expectations-3.13.3 → 4.0.0/gems/rspec-expectations-3.13.5}/LICENSE.md +0 -0
  318. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-expectations-3.13.3 → 4.0.0/gems/rspec-expectations-3.13.5}/README.md +0 -0
  319. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-mocks-3.13.2 → 4.0.0/gems/rspec-mocks-3.13.8}/LICENSE.md +0 -0
  320. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-mocks-3.13.2 → 4.0.0/gems/rspec-mocks-3.13.8}/README.md +0 -0
  321. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-support-3.13.2 → 4.0.0/gems/rspec-support-3.13.7}/LICENSE.md +0 -0
  322. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-support-3.13.2 → 4.0.0/gems/rspec-support-3.13.7}/README.md +0 -0
  323. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/securerandom-0.4.1/README.md +0 -0
  324. /data/vendor/bundle/ruby/{3.4.0/gems/thor-1.3.2 → 4.0.0/gems/thor-1.5.0}/LICENSE.md +0 -0
  325. /data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/LICENSE +0 -0
  326. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/tzinfo-2.0.6/LICENSE +0 -0
  327. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/tzinfo-2.0.6/README.md +0 -0
  328. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/useragent-0.16.11/LICENSE +0 -0
  329. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/useragent-0.16.11/README.md +0 -0
  330. /data/vendor/bundle/ruby/{3.4.0/gems/webmock-3.25.0 → 4.0.0/gems/webmock-3.26.2}/LICENSE +0 -0
@@ -0,0 +1,514 @@
1
+ ## Rails 8.1.3 (March 24, 2026) ##
2
+
3
+ * No changes.
4
+
5
+
6
+ ## Rails 8.1.2.1 (March 23, 2026) ##
7
+
8
+ * No changes.
9
+
10
+
11
+ ## Rails 8.1.2 (January 08, 2026) ##
12
+
13
+ * Add `config.action_controller.live_streaming_excluded_keys` to control execution state sharing in ActionController::Live.
14
+
15
+ When using ActionController::Live, actions are executed in a separate thread that shares
16
+ state from the parent thread. This new configuration allows applications to opt-out specific
17
+ state keys that should not be shared.
18
+
19
+ This is useful when streaming inside a `connected_to` block, where you may want
20
+ the streaming thread to use its own database connection context.
21
+
22
+ ```ruby
23
+ # config/application.rb
24
+ config.action_controller.live_streaming_excluded_keys = [:active_record_connected_to_stack]
25
+ ```
26
+
27
+ By default, all keys are shared.
28
+
29
+ *Eileen M. Uchitelle*
30
+
31
+ * Fix `IpSpoofAttackError` message to include `Forwarded` header content.
32
+
33
+ Without it, the error message may be misleading.
34
+
35
+ *zzak*
36
+
37
+
38
+ ## Rails 8.1.1 (October 28, 2025) ##
39
+
40
+ * Allow methods starting with underscore to be action methods.
41
+
42
+ Disallowing methods starting with an underscore from being action methods
43
+ was an unintended side effect of the performance optimization in
44
+ 207a254.
45
+
46
+ Fixes #55985.
47
+
48
+ *Rafael Mendonça França*
49
+
50
+
51
+ ## Rails 8.1.0 (October 22, 2025) ##
52
+
53
+ * Submit test requests using `as: :html` with `Content-Type: x-www-form-urlencoded`
54
+
55
+ *Sean Doyle*
56
+
57
+ * Add link-local IP ranges to `ActionDispatch::RemoteIp` default proxies.
58
+
59
+ Link-local addresses (`169.254.0.0/16` for IPv4 and `fe80::/10` for IPv6)
60
+ are now included in the default trusted proxy list, similar to private IP ranges.
61
+
62
+ *Adam Daniels*
63
+
64
+ * `remote_ip` will no longer ignore IPs in X-Forwarded-For headers if they
65
+ are accompanied by port information.
66
+
67
+ *Duncan Brown*, *Prevenios Marinos*, *Masafumi Koba*, *Adam Daniels*
68
+
69
+ * Add `action_dispatch.verbose_redirect_logs` setting that logs where redirects were called from.
70
+
71
+ Similar to `active_record.verbose_query_logs` and `active_job.verbose_enqueue_logs`, this adds a line in your logs that shows where a redirect was called from.
72
+
73
+ Example:
74
+
75
+ ```
76
+ Redirected to http://localhost:3000/posts/1
77
+ ↳ app/controllers/posts_controller.rb:32:in `block (2 levels) in create'
78
+ ```
79
+
80
+ *Dennis Paagman*
81
+
82
+ * Add engine route filtering and better formatting in `bin/rails routes`.
83
+
84
+ Allow engine routes to be filterable in the routing inspector, and
85
+ improve formatting of engine routing output.
86
+
87
+ Before:
88
+ ```
89
+ > bin/rails routes -e engine_only
90
+ No routes were found for this grep pattern.
91
+ For more information about routes, see the Rails guide: https://guides.rubyonrails.org/routing.html.
92
+ ```
93
+
94
+ After:
95
+ ```
96
+ > bin/rails routes -e engine_only
97
+ Routes for application:
98
+ No routes were found for this grep pattern.
99
+ For more information about routes, see the Rails guide: https://guides.rubyonrails.org/routing.html.
100
+
101
+ Routes for Test::Engine:
102
+ Prefix Verb URI Pattern Controller#Action
103
+ engine GET /engine_only(.:format) a#b
104
+ ```
105
+
106
+ *Dennis Paagman*, *Gannon McGibbon*
107
+
108
+ * Add structured events for Action Pack and Action Dispatch:
109
+ - `action_dispatch.redirect`
110
+ - `action_controller.request_started`
111
+ - `action_controller.request_completed`
112
+ - `action_controller.callback_halted`
113
+ - `action_controller.rescue_from_handled`
114
+ - `action_controller.file_sent`
115
+ - `action_controller.redirected`
116
+ - `action_controller.data_sent`
117
+ - `action_controller.unpermitted_parameters`
118
+ - `action_controller.fragment_cache`
119
+
120
+ *Adrianna Chang*
121
+
122
+ * URL helpers for engines mounted at the application root handle `SCRIPT_NAME` correctly.
123
+
124
+ Fixed an issue where `SCRIPT_NAME` is not applied to paths generated for routes in an engine
125
+ mounted at "/".
126
+
127
+ *Mike Dalessio*
128
+
129
+ * Update `ActionController::Metal::RateLimiting` to support passing method names to `:by` and `:with`
130
+
131
+ ```ruby
132
+ class SignupsController < ApplicationController
133
+ rate_limit to: 10, within: 1.minute, with: :redirect_with_flash
134
+
135
+ private
136
+ def redirect_with_flash
137
+ redirect_to root_url, alert: "Too many requests!"
138
+ end
139
+ end
140
+ ```
141
+
142
+ *Sean Doyle*
143
+
144
+ * Optimize `ActionDispatch::Http::URL.build_host_url` when protocol is included in host.
145
+
146
+ When using URL helpers with a host that includes the protocol (e.g., `{ host: "https://example.com" }`),
147
+ skip unnecessary protocol normalization and string duplication since the extracted protocol is already
148
+ in the correct format. This eliminates 2 string allocations per URL generation and provides a ~10%
149
+ performance improvement for this case.
150
+
151
+ *Joshua Young*, *Hartley McGuire*
152
+
153
+ * Allow `action_controller.logger` to be disabled by setting it to `nil` or `false` instead of always defaulting to `Rails.logger`.
154
+
155
+ *Roberto Miranda*
156
+
157
+ * Remove deprecated support to a route to multiple paths.
158
+
159
+ *Rafael Mendonça França*
160
+
161
+ * Remove deprecated support for using semicolons as a query string separator.
162
+
163
+ Before:
164
+
165
+ ```ruby
166
+ ActionDispatch::QueryParser.each_pair("foo=bar;baz=quux").to_a
167
+ # => [["foo", "bar"], ["baz", "quux"]]
168
+ ```
169
+
170
+ After:
171
+
172
+ ```ruby
173
+ ActionDispatch::QueryParser.each_pair("foo=bar;baz=quux").to_a
174
+ # => [["foo", "bar;baz=quux"]]
175
+ ```
176
+
177
+ *Rafael Mendonça França*
178
+
179
+ * Remove deprecated support to skipping over leading brackets in parameter names in the parameter parser.
180
+
181
+ Before:
182
+
183
+ ```ruby
184
+ ActionDispatch::ParamBuilder.from_query_string("[foo]=bar") # => { "foo" => "bar" }
185
+ ActionDispatch::ParamBuilder.from_query_string("[foo][bar]=baz") # => { "foo" => { "bar" => "baz" } }
186
+ ```
187
+
188
+ After:
189
+
190
+ ```ruby
191
+ ActionDispatch::ParamBuilder.from_query_string("[foo]=bar") # => { "[foo]" => "bar" }
192
+ ActionDispatch::ParamBuilder.from_query_string("[foo][bar]=baz") # => { "[foo]" => { "bar" => "baz" } }
193
+ ```
194
+
195
+ *Rafael Mendonça França*
196
+
197
+ * Deprecate `Rails.application.config.action_dispatch.ignore_leading_brackets`.
198
+
199
+ *Rafael Mendonça França*
200
+
201
+ * Raise `ActionController::TooManyRequests` error from `ActionController::RateLimiting`
202
+
203
+ Requests that exceed the rate limit raise an `ActionController::TooManyRequests` error.
204
+ By default, Action Dispatch rescues the error and responds with a `429 Too Many Requests` status.
205
+
206
+ *Sean Doyle*
207
+
208
+ * Add .md/.markdown as Markdown extensions and add a default `markdown:` renderer:
209
+
210
+ ```ruby
211
+ class Page
212
+ def to_markdown
213
+ body
214
+ end
215
+ end
216
+
217
+ class PagesController < ActionController::Base
218
+ def show
219
+ @page = Page.find(params[:id])
220
+
221
+ respond_to do |format|
222
+ format.html
223
+ format.md { render markdown: @page }
224
+ end
225
+ end
226
+ end
227
+ ```
228
+
229
+ *DHH*
230
+
231
+ * Add headers to engine routes inspection command
232
+
233
+ *Petrik de Heus*
234
+
235
+ * Add "Copy as text" button to error pages
236
+
237
+ *Mikkel Malmberg*
238
+
239
+ * Add `scope:` option to `rate_limit` method.
240
+
241
+ Previously, it was not possible to share a rate limit count between several controllers, since the count was by
242
+ default separate for each controller.
243
+
244
+ Now, the `scope:` option solves this problem.
245
+
246
+ ```ruby
247
+ class APIController < ActionController::API
248
+ rate_limit to: 2, within: 2.seconds, scope: "api"
249
+ end
250
+
251
+ class API::PostsController < APIController
252
+ # ...
253
+ end
254
+
255
+ class API::UsersController < APIController
256
+ # ...
257
+ end
258
+ ```
259
+
260
+ *ArthurPV*, *Kamil Hanus*
261
+
262
+ * Add support for `rack.response_finished` callbacks in ActionDispatch::Executor.
263
+
264
+ The executor middleware now supports deferring completion callbacks to later
265
+ in the request lifecycle by utilizing Rack's `rack.response_finished` mechanism,
266
+ when available. This enables applications to define `rack.response_finished` callbacks
267
+ that may rely on state that would be cleaned up by the executor's completion callbacks.
268
+
269
+ *Adrianna Chang*, *Hartley McGuire*
270
+
271
+ * Produce a log when `rescue_from` is invoked.
272
+
273
+ *Steven Webb*, *Jean Boussier*
274
+
275
+ * Allow hosts redirects from `hosts` Rails configuration
276
+
277
+ ```ruby
278
+ config.action_controller.allowed_redirect_hosts << "example.com"
279
+ ```
280
+
281
+ *Kevin Robatel*
282
+
283
+ * `rate_limit.action_controller` notification has additional payload
284
+
285
+ additional values: count, to, within, by, name, cache_key
286
+
287
+ *Jonathan Rochkind*
288
+
289
+ * Add JSON support to the built-in health controller.
290
+
291
+ The health controller now responds to JSON requests with a structured response
292
+ containing status and timestamp information. This makes it easier for monitoring
293
+ tools and load balancers to consume health check data programmatically.
294
+
295
+ ```ruby
296
+ # /up.json
297
+ {
298
+ "status": "up",
299
+ "timestamp": "2025-09-19T12:00:00Z"
300
+ }
301
+ ```
302
+
303
+ *Francesco Loreti*, *Juan Vásquez*
304
+
305
+ * Allow to open source file with a crash from the browser.
306
+
307
+ *Igor Kasyanchuk*
308
+
309
+ * Always check query string keys for valid encoding just like values are checked.
310
+
311
+ *Casper Smits*
312
+
313
+ * Always return empty body for HEAD requests in `PublicExceptions` and
314
+ `DebugExceptions`.
315
+
316
+ This is required by `Rack::Lint` (per RFC9110).
317
+
318
+ *Hartley McGuire*
319
+
320
+ * Add comprehensive support for HTTP Cache-Control request directives according to RFC 9111.
321
+
322
+ Provides a `request.cache_control_directives` object that gives access to request cache directives:
323
+
324
+ ```ruby
325
+ # Boolean directives
326
+ request.cache_control_directives.only_if_cached? # => true/false
327
+ request.cache_control_directives.no_cache? # => true/false
328
+ request.cache_control_directives.no_store? # => true/false
329
+ request.cache_control_directives.no_transform? # => true/false
330
+
331
+ # Value directives
332
+ request.cache_control_directives.max_age # => integer or nil
333
+ request.cache_control_directives.max_stale # => integer or nil (or true for valueless max-stale)
334
+ request.cache_control_directives.min_fresh # => integer or nil
335
+ request.cache_control_directives.stale_if_error # => integer or nil
336
+
337
+ # Special helpers for max-stale
338
+ request.cache_control_directives.max_stale? # => true if max-stale present (with or without value)
339
+ request.cache_control_directives.max_stale_unlimited? # => true only for valueless max-stale
340
+ ```
341
+
342
+ Example usage:
343
+
344
+ ```ruby
345
+ def show
346
+ if request.cache_control_directives.only_if_cached?
347
+ @article = Article.find_cached(params[:id])
348
+ return head(:gateway_timeout) if @article.nil?
349
+ else
350
+ @article = Article.find(params[:id])
351
+ end
352
+
353
+ render :show
354
+ end
355
+ ```
356
+
357
+ *egg528*
358
+
359
+ * Add assert_in_body/assert_not_in_body as the simplest way to check if a piece of text is in the response body.
360
+
361
+ *DHH*
362
+
363
+ * Include cookie name when calculating maximum allowed size.
364
+
365
+ *Hartley McGuire*
366
+
367
+ * Implement `must-understand` directive according to RFC 9111.
368
+
369
+ The `must-understand` directive indicates that a cache must understand the semantics of the response status code, or discard the response. This directive is enforced to be used only with `no-store` to ensure proper cache behavior.
370
+
371
+ ```ruby
372
+ class ArticlesController < ApplicationController
373
+ def show
374
+ @article = Article.find(params[:id])
375
+
376
+ if @article.special_format?
377
+ must_understand
378
+ render status: 203 # Non-Authoritative Information
379
+ else
380
+ fresh_when @article
381
+ end
382
+ end
383
+ end
384
+ ```
385
+
386
+ *heka1024*
387
+
388
+ * The JSON renderer doesn't escape HTML entities or Unicode line separators anymore.
389
+
390
+ Using `render json:` will no longer escape `<`, `>`, `&`, `U+2028` and `U+2029` characters that can cause errors
391
+ when the resulting JSON is embedded in JavaScript, or vulnerabilities when the resulting JSON is embedded in HTML.
392
+
393
+ Since the renderer is used to return a JSON document as `application/json`, it's typically not necessary to escape
394
+ those characters, and it improves performance.
395
+
396
+ Escaping will still occur when the `:callback` option is set, since the JSON is used as JavaScript code in this
397
+ situation (JSONP).
398
+
399
+ You can use the `:escape` option or set `config.action_controller.escape_json_responses` to `true` to restore the
400
+ escaping behavior.
401
+
402
+ ```ruby
403
+ class PostsController < ApplicationController
404
+ def index
405
+ render json: Post.last(30), escape: true
406
+ end
407
+ end
408
+ ```
409
+
410
+ *Étienne Barrié*, *Jean Boussier*
411
+
412
+ * Load lazy route sets before inserting test routes
413
+
414
+ Without loading lazy route sets early, we miss `after_routes_loaded` callbacks, or risk
415
+ invoking them with the test routes instead of the real ones if another load is triggered by an engine.
416
+
417
+ *Gannon McGibbon*
418
+
419
+ * Raise `AbstractController::DoubleRenderError` if `head` is called after rendering.
420
+
421
+ After this change, invoking `head` will lead to an error if response body is already set:
422
+
423
+ ```ruby
424
+ class PostController < ApplicationController
425
+ def index
426
+ render locals: {}
427
+ head :ok
428
+ end
429
+ end
430
+ ```
431
+
432
+ *Iaroslav Kurbatov*
433
+
434
+ * The Cookie Serializer can now serialize an Active Support SafeBuffer when using message pack.
435
+
436
+ Such code would previously produce an error if an application was using messagepack as its cookie serializer.
437
+
438
+ ```ruby
439
+ class PostController < ApplicationController
440
+ def index
441
+ flash.notice = t(:hello_html) # This would try to serialize a SafeBuffer, which was not possible.
442
+ end
443
+ end
444
+ ```
445
+
446
+ *Edouard Chin*
447
+
448
+ * Fix `Rails.application.reload_routes!` from clearing almost all routes.
449
+
450
+ When calling `Rails.application.reload_routes!` inside a middleware of
451
+ a Rake task, it was possible under certain conditions that all routes would be cleared.
452
+ If ran inside a middleware, this would result in getting a 404 on most page you visit.
453
+ This issue was only happening in development.
454
+
455
+ *Edouard Chin*
456
+
457
+ * Add resource name to the `ArgumentError` that's raised when invalid `:only` or `:except` options are given to `#resource` or `#resources`
458
+
459
+ This makes it easier to locate the source of the problem, especially for routes drawn by gems.
460
+
461
+ Before:
462
+ ```
463
+ :only and :except must include only [:index, :create, :new, :show, :update, :destroy, :edit], but also included [:foo, :bar]
464
+ ```
465
+
466
+ After:
467
+ ```
468
+ Route `resources :products` - :only and :except must include only [:index, :create, :new, :show, :update, :destroy, :edit], but also included [:foo, :bar]
469
+ ```
470
+
471
+ *Jeremy Green*
472
+
473
+ * A route pointing to a non-existing controller now returns a 500 instead of a 404.
474
+
475
+ A controller not existing isn't a routing error that should result
476
+ in a 404, but a programming error that should result in a 500 and
477
+ be reported.
478
+
479
+ Until recently, this was hard to untangle because of the support
480
+ for dynamic `:controller` segment in routes, but since this is
481
+ deprecated and will be removed in Rails 8.1, we can now easily
482
+ not consider missing controllers as routing errors.
483
+
484
+ *Jean Boussier*
485
+
486
+ * Add `check_collisions` option to `ActionDispatch::Session::CacheStore`.
487
+
488
+ Newly generated session ids use 128 bits of randomness, which is more than
489
+ enough to ensure collisions can't happen, but if you need to harden sessions
490
+ even more, you can enable this option to check in the session store that the id
491
+ is indeed free you can enable that option. This however incurs an extra write
492
+ on session creation.
493
+
494
+ *Shia*
495
+
496
+ * In ExceptionWrapper, match backtrace lines with built templates more often,
497
+ allowing improved highlighting of errors within do-end blocks in templates.
498
+ Fix for Ruby 3.4 to match new method labels in backtrace.
499
+
500
+ *Martin Emde*
501
+
502
+ * Allow setting content type with a symbol of the Mime type.
503
+
504
+ ```ruby
505
+ # Before
506
+ response.content_type = "text/html"
507
+
508
+ # After
509
+ response.content_type = :html
510
+ ```
511
+
512
+ *Petrik de Heus*
513
+
514
+ Please check [8-0-stable](https://github.com/rails/rails/blob/8-0-stable/actionpack/CHANGELOG.md) for previous changes.
@@ -52,6 +52,6 @@ Bug reports for the Ruby on \Rails project can be filed here:
52
52
 
53
53
  * https://github.com/rails/rails/issues
54
54
 
55
- Feature requests should be discussed on the rails-core mailing list here:
55
+ Feature requests should be discussed on the rubyonrails-core forum here:
56
56
 
57
57
  * https://discuss.rubyonrails.org/c/rubyonrails-core
@@ -0,0 +1,191 @@
1
+ ## Rails 8.1.3 (March 24, 2026) ##
2
+
3
+ * Fix encoding errors for string locals containing non-ASCII characters.
4
+
5
+ *Kataoka Katsuki*
6
+
7
+ * Fix collection caching to only forward `expires_in` argument if explicitly set.
8
+
9
+ *Pieter Visser*
10
+
11
+ ## Rails 8.1.2.1 (March 23, 2026) ##
12
+
13
+ * Fix possible XSS in DebugExceptions middleware
14
+
15
+ [CVE-2026-33167]
16
+
17
+ *John Hawthorn*
18
+
19
+ * Skip blank attribute names in tag helpers to avoid generating invalid HTML.
20
+
21
+ [CVE-2026-33168]
22
+
23
+ *Mike Dalessio*
24
+
25
+
26
+ ## Rails 8.1.2 (January 08, 2026) ##
27
+
28
+ * Fix `file_field` to join mime types with a comma when provided as Array
29
+
30
+ ```ruby
31
+ file_field(:article, :image, accept: ['image/png', 'image/gif', 'image/jpeg'])
32
+ ```
33
+
34
+ Now behaves likes:
35
+
36
+ ```
37
+ file_field(:article, :image, accept: 'image/png,image/gif,image/jpeg')
38
+ ```
39
+
40
+ *Bogdan Gusiev*
41
+
42
+ * Fix strict locals parsing to handle multiline definitions.
43
+
44
+ *Said Kaldybaev*
45
+
46
+ * Fix `content_security_policy_nonce` error in mailers when using `content_security_policy_nonce_auto` setting.
47
+
48
+ The `content_security_policy_nonce helper` is provided by `ActionController::ContentSecurityPolicy`, and it relies on `request.content_security_policy_nonc`e. Mailers lack both the module and the request object.
49
+
50
+ *Jarrett Lusso*
51
+
52
+
53
+ ## Rails 8.1.1 (October 28, 2025) ##
54
+
55
+ * Respect `remove_hidden_field_autocomplete` config in form builder `hidden_field`.
56
+
57
+ *Rafael Mendonça França*
58
+
59
+
60
+ ## Rails 8.1.0 (October 22, 2025) ##
61
+
62
+ * The BEGIN template annotation/comment was previously printed on the same line as the following element. We now insert a newline inside the comment so it spans two lines without adding visible whitespace to the HTML output to enhance readability.
63
+
64
+ Before:
65
+ ```
66
+ <!-- BEGIN /Users/siaw23/Desktop/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb --><p>This is grand!</p>
67
+ ```
68
+
69
+ After:
70
+ ```
71
+ <!-- BEGIN /Users/siaw23/Desktop/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb
72
+ --><p>This is grand!</p>
73
+ ```
74
+ *Emmanuel Hayford*
75
+
76
+ * Add structured events for Action View:
77
+ - `action_view.render_template`
78
+ - `action_view.render_partial`
79
+ - `action_view.render_layout`
80
+ - `action_view.render_collection`
81
+ - `action_view.render_start`
82
+
83
+ *Gannon McGibbon*
84
+
85
+ * Fix label with `for` option not getting prefixed by form `namespace` value
86
+
87
+ *Abeid Ahmed*, *Hartley McGuire*
88
+
89
+ * Add `fetchpriority` to Link headers to match HTML generated by `preload_link_tag`.
90
+
91
+ *Guillermo Iguaran*
92
+
93
+ * Add CSP `nonce` to Link headers generated by `preload_link_tag`.
94
+
95
+ *Alexander Gitter*
96
+
97
+ * Allow `current_page?` to match against specific HTTP method(s) with a `method:` option.
98
+
99
+ *Ben Sheldon*
100
+
101
+ * Remove `autocomplete="off"` on hidden inputs generated by the following
102
+ tags:
103
+
104
+ * `form_tag`, `token_tag`, `method_tag`
105
+
106
+ As well as the hidden parameter fields included in `button_to`,
107
+ `check_box`, `select` (with `multiple`) and `file_field` forms.
108
+
109
+ *nkulway*
110
+
111
+ * Enable configuring the strategy for tracking dependencies between Action
112
+ View templates.
113
+
114
+ The existing `:regex` strategy is kept as the default, but with
115
+ `load_defaults 8.1` the strategy will be `:ruby` (using a real Ruby parser).
116
+
117
+ *Hartley McGuire*
118
+
119
+ * Introduce `relative_time_in_words` helper
120
+
121
+ ```ruby
122
+ relative_time_in_words(3.minutes.from_now) # => "in 3 minutes"
123
+ relative_time_in_words(3.minutes.ago) # => "3 minutes ago"
124
+ relative_time_in_words(10.seconds.ago, include_seconds: true) # => "less than 10 seconds ago"
125
+ ```
126
+
127
+ *Matheus Richard*
128
+
129
+ * Make `nonce: false` remove the nonce attribute from `javascript_tag`, `javascript_include_tag`, and `stylesheet_link_tag`.
130
+
131
+ *francktrouillez*
132
+
133
+ * Add `dom_target` helper to create `dom_id`-like strings from an unlimited
134
+ number of objects.
135
+
136
+ *Ben Sheldon*
137
+
138
+ * Respect `html_options[:form]` when `collection_checkboxes` generates the
139
+ hidden `<input>`.
140
+
141
+ *Riccardo Odone*
142
+
143
+ * Layouts have access to local variables passed to `render`.
144
+
145
+ This fixes #31680 which was a regression in Rails 5.1.
146
+
147
+ *Mike Dalessio*
148
+
149
+ * Argument errors related to strict locals in templates now raise an
150
+ `ActionView::StrictLocalsError`, and all other argument errors are reraised as-is.
151
+
152
+ Previously, any `ArgumentError` raised during template rendering was swallowed during strict
153
+ local error handling, so that an `ArgumentError` unrelated to strict locals (e.g., a helper
154
+ method invoked with incorrect arguments) would be replaced by a similar `ArgumentError` with an
155
+ unrelated backtrace, making it difficult to debug templates.
156
+
157
+ Now, any `ArgumentError` unrelated to strict locals is reraised, preserving the original
158
+ backtrace for developers.
159
+
160
+ Also note that `ActionView::StrictLocalsError` is a subclass of `ArgumentError`, so any existing
161
+ code that rescues `ArgumentError` will continue to work.
162
+
163
+ Fixes #52227.
164
+
165
+ *Mike Dalessio*
166
+
167
+ * Improve error highlighting of multi-line methods in ERB templates or
168
+ templates where the error occurs within a do-end block.
169
+
170
+ *Martin Emde*
171
+
172
+ * Fix a crash in ERB template error highlighting when the error occurs on a
173
+ line in the compiled template that is past the end of the source template.
174
+
175
+ *Martin Emde*
176
+
177
+ * Improve reliability of ERB template error highlighting.
178
+ Fix infinite loops and crashes in highlighting and
179
+ improve tolerance for alternate ERB handlers.
180
+
181
+ *Martin Emde*
182
+
183
+ * Allow `hidden_field` and `hidden_field_tag` to accept a custom autocomplete value.
184
+
185
+ *brendon*
186
+
187
+ * Add a new configuration `content_security_policy_nonce_auto` for automatically adding a nonce to the tags affected by the directives specified by the `content_security_policy_nonce_directives` configuration option.
188
+
189
+ *francktrouillez*
190
+
191
+ Please check [8-0-stable](https://github.com/rails/rails/blob/8-0-stable/actionview/CHANGELOG.md) for previous changes.