actionview 8.0.4 → 8.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +38 -0
- data/lib/action_view/gem_version.rb +1 -1
- data/lib/action_view/helpers/tag_helper.rb +5 -2
- data/lib/action_view/helpers/tags/file_field.rb +3 -0
- data/lib/action_view/renderer/partial_renderer/collection_caching.rb +5 -1
- data/lib/action_view/template.rb +8 -2
- metadata +11 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 37987aa62646838570a7a8167d4f913d4b8019e7c03a756c34d6fb394f76ab5f
|
|
4
|
+
data.tar.gz: 22d8090b406f2bca0b4049b85df4d66740ef778a2d58f699d205154247fd7b03
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c140a8cf5c4ceed7879f29df22dbfb90adde9b111f3bf34c85f447e60b05841e819ceb0c7c699683505079368013570e336a7318cf6cca4174e1851606d1c542
|
|
7
|
+
data.tar.gz: 63ccdfbe1489d624b520aaf070f1b16c17b4f3a8c85b1f1f76dec9f0d51c74e7cb9868c6792fbebd9629251da14a7defd128f9754d6b849b262fc1a5d7174531
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,41 @@
|
|
|
1
|
+
## Rails 8.0.5 (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
|
+
* Fix `file_field` to join mime types with a comma when provided as Array
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
file_field(:article, :image, accept: ['image/png', 'image/gif', 'image/jpeg'])
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Now behaves likes:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
file_field(:article, :image, accept: 'image/png,image/gif,image/jpeg')
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
*Bogdan Gusiev*
|
|
24
|
+
|
|
25
|
+
* Fix strict locals parsing to handle multiline definitions.
|
|
26
|
+
|
|
27
|
+
*Said Kaldybaev*
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## Rails 8.0.4.1 (March 23, 2026) ##
|
|
31
|
+
|
|
32
|
+
* Skip blank attribute names in tag helpers to avoid generating invalid HTML.
|
|
33
|
+
|
|
34
|
+
[CVE-2026-33168]
|
|
35
|
+
|
|
36
|
+
*Mike Dalessio*
|
|
37
|
+
|
|
38
|
+
|
|
1
39
|
## Rails 8.0.4 (October 28, 2025) ##
|
|
2
40
|
|
|
3
41
|
* Restore `add_default_name_and_id` method.
|
|
@@ -250,16 +250,19 @@ module ActionView
|
|
|
250
250
|
output = +""
|
|
251
251
|
sep = " "
|
|
252
252
|
options.each_pair do |key, value|
|
|
253
|
+
next if key.blank?
|
|
254
|
+
|
|
253
255
|
type = TAG_TYPES[key]
|
|
254
256
|
if type == :data && value.is_a?(Hash)
|
|
255
257
|
value.each_pair do |k, v|
|
|
256
|
-
next if v.nil?
|
|
258
|
+
next if k.blank? || v.nil?
|
|
259
|
+
|
|
257
260
|
output << sep
|
|
258
261
|
output << prefix_tag_option(key, k, v, escape)
|
|
259
262
|
end
|
|
260
263
|
elsif type == :aria && value.is_a?(Hash)
|
|
261
264
|
value.each_pair do |k, v|
|
|
262
|
-
next if v.nil?
|
|
265
|
+
next if k.blank? || v.nil?
|
|
263
266
|
|
|
264
267
|
case v
|
|
265
268
|
when Array, Hash
|
|
@@ -6,6 +6,9 @@ module ActionView
|
|
|
6
6
|
class FileField < TextField # :nodoc:
|
|
7
7
|
def render
|
|
8
8
|
include_hidden = @options.delete(:include_hidden)
|
|
9
|
+
if @options[:accept].is_a?(Array)
|
|
10
|
+
@options[:accept] = @options[:accept].join(",")
|
|
11
|
+
end
|
|
9
12
|
options = @options.stringify_keys
|
|
10
13
|
add_default_name_and_field(options)
|
|
11
14
|
|
|
@@ -111,7 +111,11 @@ module ActionView
|
|
|
111
111
|
end
|
|
112
112
|
|
|
113
113
|
unless entries_to_write.empty?
|
|
114
|
-
|
|
114
|
+
if @options[:cached].is_a?(Hash) && @options[:cached].key?(:expires_in)
|
|
115
|
+
collection_cache.write_multi(entries_to_write, expires_in: @options[:cached][:expires_in])
|
|
116
|
+
else
|
|
117
|
+
collection_cache.write_multi(entries_to_write)
|
|
118
|
+
end
|
|
115
119
|
end
|
|
116
120
|
|
|
117
121
|
keyed_partials
|
data/lib/action_view/template.rb
CHANGED
|
@@ -7,7 +7,7 @@ module ActionView
|
|
|
7
7
|
class Template
|
|
8
8
|
extend ActiveSupport::Autoload
|
|
9
9
|
|
|
10
|
-
STRICT_LOCALS_REGEX = /\#\s+locals:\s+\((
|
|
10
|
+
STRICT_LOCALS_REGEX = /\#\s+locals:\s+\((.*?)\)(?=\s*-?%>|\s*$)/m
|
|
11
11
|
|
|
12
12
|
# === Encodings in ActionView::Template
|
|
13
13
|
#
|
|
@@ -366,10 +366,16 @@ module ActionView
|
|
|
366
366
|
def strict_locals!
|
|
367
367
|
if @strict_locals == NONE
|
|
368
368
|
self.source.sub!(STRICT_LOCALS_REGEX, "")
|
|
369
|
-
@strict_locals = $1
|
|
369
|
+
@strict_locals = $1&.rstrip
|
|
370
370
|
|
|
371
371
|
return if @strict_locals.nil? # Magic comment not found
|
|
372
372
|
|
|
373
|
+
# Tag with the assumed encoding before encode! runs, same as
|
|
374
|
+
# encode! does for the source itself (see above).
|
|
375
|
+
if @strict_locals.encoding == Encoding::BINARY
|
|
376
|
+
@strict_locals.force_encoding(Encoding.default_external)
|
|
377
|
+
end
|
|
378
|
+
|
|
373
379
|
@strict_locals = "**nil" if @strict_locals.blank?
|
|
374
380
|
end
|
|
375
381
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: actionview
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 8.0.
|
|
4
|
+
version: 8.0.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Heinemeier Hansson
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - '='
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 8.0.
|
|
18
|
+
version: 8.0.5
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - '='
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 8.0.
|
|
25
|
+
version: 8.0.5
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: builder
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -85,28 +85,28 @@ dependencies:
|
|
|
85
85
|
requirements:
|
|
86
86
|
- - '='
|
|
87
87
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: 8.0.
|
|
88
|
+
version: 8.0.5
|
|
89
89
|
type: :development
|
|
90
90
|
prerelease: false
|
|
91
91
|
version_requirements: !ruby/object:Gem::Requirement
|
|
92
92
|
requirements:
|
|
93
93
|
- - '='
|
|
94
94
|
- !ruby/object:Gem::Version
|
|
95
|
-
version: 8.0.
|
|
95
|
+
version: 8.0.5
|
|
96
96
|
- !ruby/object:Gem::Dependency
|
|
97
97
|
name: activemodel
|
|
98
98
|
requirement: !ruby/object:Gem::Requirement
|
|
99
99
|
requirements:
|
|
100
100
|
- - '='
|
|
101
101
|
- !ruby/object:Gem::Version
|
|
102
|
-
version: 8.0.
|
|
102
|
+
version: 8.0.5
|
|
103
103
|
type: :development
|
|
104
104
|
prerelease: false
|
|
105
105
|
version_requirements: !ruby/object:Gem::Requirement
|
|
106
106
|
requirements:
|
|
107
107
|
- - '='
|
|
108
108
|
- !ruby/object:Gem::Version
|
|
109
|
-
version: 8.0.
|
|
109
|
+
version: 8.0.5
|
|
110
110
|
description: Simple, battle-tested conventions and helpers for building web pages.
|
|
111
111
|
email: david@loudthinking.com
|
|
112
112
|
executables: []
|
|
@@ -246,10 +246,10 @@ licenses:
|
|
|
246
246
|
- MIT
|
|
247
247
|
metadata:
|
|
248
248
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
|
249
|
-
changelog_uri: https://github.com/rails/rails/blob/v8.0.
|
|
250
|
-
documentation_uri: https://api.rubyonrails.org/v8.0.
|
|
249
|
+
changelog_uri: https://github.com/rails/rails/blob/v8.0.5/actionview/CHANGELOG.md
|
|
250
|
+
documentation_uri: https://api.rubyonrails.org/v8.0.5/
|
|
251
251
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
|
252
|
-
source_code_uri: https://github.com/rails/rails/tree/v8.0.
|
|
252
|
+
source_code_uri: https://github.com/rails/rails/tree/v8.0.5/actionview
|
|
253
253
|
rubygems_mfa_required: 'true'
|
|
254
254
|
rdoc_options: []
|
|
255
255
|
require_paths:
|
|
@@ -266,7 +266,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
266
266
|
version: '0'
|
|
267
267
|
requirements:
|
|
268
268
|
- none
|
|
269
|
-
rubygems_version:
|
|
269
|
+
rubygems_version: 4.0.6
|
|
270
270
|
specification_version: 4
|
|
271
271
|
summary: Rendering framework putting the V in MVC (part of Rails).
|
|
272
272
|
test_files: []
|