activestorage 7.0.4.3 → 7.0.6
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of activestorage might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -2
- data/README.md +1 -1
- data/app/models/active_storage/attachment.rb +1 -1
- data/app/models/active_storage/blob.rb +1 -1
- data/lib/active_storage/analyzer/video_analyzer.rb +11 -4
- data/lib/active_storage/fixture_set.rb +5 -8
- data/lib/active_storage/gem_version.rb +2 -2
- metadata +17 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e1f03d34e4a15967b60c668e71894d42539fbf0fb02279e66c78b7fcdec1a32
|
4
|
+
data.tar.gz: '080f412cdd6a8b2f71492b9b3f37a0b0c5ca684ab1b33f1e3042e4493a4fe3ae'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90ceefcc3bed54ef29409ae64ea023eed36190ad986633b990614541945d8a045ba6e724451f5376fa3018d612ab3f0e205a8991aeb9852b258bef1df426db58
|
7
|
+
data.tar.gz: 759f5bf6704a4a94abec338564447b6cc39d7a9e8018f154c31f7c01a56a59c86d44f99a146c2dae570eb000dcc0fe35cdcdd93ff27faa540934dae3c4ee9438
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
## Rails 7.0.6 (June 29, 2023) ##
|
2
|
+
|
3
|
+
* Fix retrieving rotation value from FFmpeg on version 5.0+.
|
4
|
+
|
5
|
+
In FFmpeg version 5.0+ the rotation value has been removed from tags.
|
6
|
+
Instead the value can be found in side_data_list. Along with
|
7
|
+
this update it's possible to have values of -90, -270 to denote the video
|
8
|
+
has been rotated.
|
9
|
+
|
10
|
+
*Haroon Ahmed*
|
11
|
+
|
12
|
+
|
13
|
+
## Rails 7.0.5.1 (June 26, 2023) ##
|
14
|
+
|
15
|
+
* No changes.
|
16
|
+
|
17
|
+
|
18
|
+
## Rails 7.0.5 (May 24, 2023) ##
|
19
|
+
|
20
|
+
* No changes.
|
21
|
+
|
22
|
+
|
1
23
|
## Rails 7.0.4.3 (March 13, 2023) ##
|
2
24
|
|
3
25
|
* No changes.
|
@@ -52,10 +74,10 @@
|
|
52
74
|
## Rails 7.0.2.3 (March 08, 2022) ##
|
53
75
|
|
54
76
|
* Added image transformation validation via configurable allow-list.
|
55
|
-
|
77
|
+
|
56
78
|
Variant now offers a configurable allow-list for
|
57
79
|
transformation methods in addition to a configurable deny-list for arguments.
|
58
|
-
|
80
|
+
|
59
81
|
[CVE-2022-21831]
|
60
82
|
|
61
83
|
|
data/README.md
CHANGED
@@ -6,7 +6,7 @@ require "active_support/core_ext/module/delegation"
|
|
6
6
|
# but it is possible to associate many different records with the same blob. A foreign-key constraint
|
7
7
|
# on the attachments table prevents blobs from being purged if they’re still attached to any records.
|
8
8
|
#
|
9
|
-
# Attachments also have access to all methods from
|
9
|
+
# Attachments also have access to all methods from ActiveStorage::Blob.
|
10
10
|
#
|
11
11
|
# If you wish to preload attachments or blobs, you can use these scopes:
|
12
12
|
#
|
@@ -120,7 +120,7 @@ class ActiveStorage::Blob < ActiveStorage::Record
|
|
120
120
|
# To prevent problems with case-insensitive filesystems, especially in combination
|
121
121
|
# with databases which treat indices as case-sensitive, all blob keys generated are going
|
122
122
|
# to only contain the base-36 character alphabet and will therefore be lowercase. To maintain
|
123
|
-
# the same or higher amount of entropy as in the base-58 encoding used by
|
123
|
+
# the same or higher amount of entropy as in the base-58 encoding used by +has_secure_token+
|
124
124
|
# the number of bytes used is increased to 28 from the standard 24
|
125
125
|
def generate_unique_secure_token(length: MINIMUM_TOKEN_LENGTH)
|
126
126
|
SecureRandom.base36(length)
|
@@ -16,7 +16,7 @@ module ActiveStorage
|
|
16
16
|
# ActiveStorage::Analyzer::VideoAnalyzer.new(blob).metadata
|
17
17
|
# # => { width: 640.0, height: 480.0, duration: 5.0, angle: 0, display_aspect_ratio: [4, 3], audio: true, video: true }
|
18
18
|
#
|
19
|
-
# When a video's angle is 90 or 270 degrees, its width and height are automatically swapped for convenience.
|
19
|
+
# When a video's angle is 90, -90, 270 or -270 degrees, its width and height are automatically swapped for convenience.
|
20
20
|
#
|
21
21
|
# This analyzer requires the {FFmpeg}[https://www.ffmpeg.org] system library, which is not provided by Rails.
|
22
22
|
class Analyzer::VideoAnalyzer < Analyzer
|
@@ -51,7 +51,11 @@ module ActiveStorage
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def angle
|
54
|
-
|
54
|
+
if tags["rotate"]
|
55
|
+
Integer(tags["rotate"])
|
56
|
+
elsif side_data && side_data[0] && side_data[0]["rotation"]
|
57
|
+
Integer(side_data[0]["rotation"])
|
58
|
+
end
|
55
59
|
end
|
56
60
|
|
57
61
|
def display_aspect_ratio
|
@@ -66,7 +70,7 @@ module ActiveStorage
|
|
66
70
|
end
|
67
71
|
|
68
72
|
def rotated?
|
69
|
-
angle == 90 || angle == 270
|
73
|
+
angle == 90 || angle == 270 || angle == -90 || angle == -270
|
70
74
|
end
|
71
75
|
|
72
76
|
def audio?
|
@@ -95,11 +99,14 @@ module ActiveStorage
|
|
95
99
|
@display_height_scale ||= Float(display_aspect_ratio.last) / display_aspect_ratio.first if display_aspect_ratio
|
96
100
|
end
|
97
101
|
|
98
|
-
|
99
102
|
def tags
|
100
103
|
@tags ||= video_stream["tags"] || {}
|
101
104
|
end
|
102
105
|
|
106
|
+
def side_data
|
107
|
+
@side_data ||= video_stream["side_data_list"] || {}
|
108
|
+
end
|
109
|
+
|
103
110
|
def video_stream
|
104
111
|
@video_stream ||= streams.detect { |stream| stream["codec_type"] == "video" } || {}
|
105
112
|
end
|
@@ -7,16 +7,13 @@ module ActiveStorage
|
|
7
7
|
# Fixtures are a way of organizing data that you want to test against; in
|
8
8
|
# short, sample data.
|
9
9
|
#
|
10
|
-
# To learn more about fixtures, read the
|
11
|
-
# {ActiveRecord::FixtureSet}[rdoc-ref:ActiveRecord::FixtureSet] documentation.
|
10
|
+
# To learn more about fixtures, read the ActiveRecord::FixtureSet documentation.
|
12
11
|
#
|
13
12
|
# === YAML
|
14
13
|
#
|
15
|
-
# Like other Active Record-backed models,
|
16
|
-
#
|
17
|
-
#
|
18
|
-
# {ActiveRecord::Base}[rdoc-ref:ActiveRecord::Base] instances and therefore
|
19
|
-
# can be populated by fixtures.
|
14
|
+
# Like other Active Record-backed models, ActiveStorage::Attachment and
|
15
|
+
# ActiveStorage::Blob records inherit from ActiveRecord::Base instances and
|
16
|
+
# therefore can be populated by fixtures.
|
20
17
|
#
|
21
18
|
# Consider a hypothetical <tt>Article</tt> model class, its related
|
22
19
|
# fixture data, as well as fixture data for related ActiveStorage::Attachment
|
@@ -44,7 +41,7 @@ module ActiveStorage
|
|
44
41
|
|
45
42
|
# Generate a YAML-encoded representation of an ActiveStorage::Blob
|
46
43
|
# instance's attributes, resolve the file relative to the directory mentioned
|
47
|
-
# by
|
44
|
+
# by ActiveSupport::Testing::FileFixtures.file_fixture, and upload
|
48
45
|
# the file to the Service
|
49
46
|
#
|
50
47
|
# === Examples
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activestorage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.0.
|
4
|
+
version: 7.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,56 +16,56 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 7.0.
|
19
|
+
version: 7.0.6
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 7.0.
|
26
|
+
version: 7.0.6
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: actionpack
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 7.0.
|
33
|
+
version: 7.0.6
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 7.0.
|
40
|
+
version: 7.0.6
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: activejob
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 7.0.
|
47
|
+
version: 7.0.6
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 7.0.
|
54
|
+
version: 7.0.6
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: activerecord
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 7.0.
|
61
|
+
version: 7.0.6
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 7.0.
|
68
|
+
version: 7.0.6
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: marcel
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -198,12 +198,12 @@ licenses:
|
|
198
198
|
- MIT
|
199
199
|
metadata:
|
200
200
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
201
|
-
changelog_uri: https://github.com/rails/rails/blob/v7.0.
|
202
|
-
documentation_uri: https://api.rubyonrails.org/v7.0.
|
201
|
+
changelog_uri: https://github.com/rails/rails/blob/v7.0.6/activestorage/CHANGELOG.md
|
202
|
+
documentation_uri: https://api.rubyonrails.org/v7.0.6/
|
203
203
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
204
|
-
source_code_uri: https://github.com/rails/rails/tree/v7.0.
|
204
|
+
source_code_uri: https://github.com/rails/rails/tree/v7.0.6/activestorage
|
205
205
|
rubygems_mfa_required: 'true'
|
206
|
-
post_install_message:
|
206
|
+
post_install_message:
|
207
207
|
rdoc_options: []
|
208
208
|
require_paths:
|
209
209
|
- lib
|
@@ -218,8 +218,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
218
218
|
- !ruby/object:Gem::Version
|
219
219
|
version: '0'
|
220
220
|
requirements: []
|
221
|
-
rubygems_version: 3.4.
|
222
|
-
signing_key:
|
221
|
+
rubygems_version: 3.4.13
|
222
|
+
signing_key:
|
223
223
|
specification_version: 4
|
224
224
|
summary: Local and cloud file storage framework.
|
225
225
|
test_files: []
|