rmagick 4.2.6 → 5.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.devcontainer/ImageMagick6/devcontainer.json +1 -1
- data/.devcontainer/{ImageMagick7/devcontainer.json → devcontainer.json} +2 -2
- data/.devcontainer/setup-user.sh +1 -1
- data/.editorconfig +1 -1
- data/.github/workflows/ci.yml +87 -9
- data/.gitignore +4 -0
- data/.rubocop_todo.yml +16 -9
- data/.yardopts +1 -1
- data/CHANGELOG.md +130 -0
- data/Gemfile +20 -0
- data/README.md +10 -17
- data/Rakefile +63 -80
- data/before_install_linux.sh +3 -3
- data/before_install_osx.sh +6 -5
- data/ext/RMagick/extconf.rb +112 -52
- data/ext/RMagick/{rmagick.c → rmagick.cpp} +19 -22
- data/ext/RMagick/rmagick.h +88 -59
- data/ext/RMagick/rmagick_gvl.h +224 -0
- data/ext/RMagick/{rmdraw.c → rmdraw.cpp} +170 -159
- data/ext/RMagick/{rmenum.c → rmenum.cpp} +69 -50
- data/ext/RMagick/{rmfill.c → rmfill.cpp} +85 -24
- data/ext/RMagick/{rmilist.c → rmilist.cpp} +191 -93
- data/ext/RMagick/{rmimage.c → rmimage.cpp} +1543 -989
- data/ext/RMagick/{rminfo.c → rminfo.cpp} +140 -152
- data/ext/RMagick/{rmkinfo.c → rmkinfo.cpp} +46 -34
- data/ext/RMagick/rmmain.cpp +1923 -0
- data/ext/RMagick/{rmmontage.c → rmmontage.cpp} +50 -29
- data/ext/RMagick/{rmpixel.c → rmpixel.cpp} +108 -83
- data/ext/RMagick/{rmstruct.c → rmstruct.cpp} +6 -6
- data/ext/RMagick/{rmutil.c → rmutil.cpp} +62 -161
- data/lib/rmagick/version.rb +3 -1
- data/lib/rmagick.rb +2 -0
- data/lib/rmagick_internal.rb +76 -110
- data/lib/rvg/embellishable.rb +6 -2
- data/lib/rvg/misc.rb +7 -7
- data/lib/rvg/rvg.rb +2 -0
- data/lib/rvg/stretchable.rb +2 -2
- data/lib/rvg/transformable.rb +1 -1
- data/rmagick.gemspec +4 -13
- data/sig/rmagick/_draw_common_methods.rbs +64 -0
- data/sig/rmagick/_image_common_methods.rbs +389 -0
- data/sig/rmagick/draw.rbs +38 -0
- data/sig/rmagick/draw_attribute.rbs +28 -0
- data/sig/rmagick/enum.rbs +814 -0
- data/sig/rmagick/error.rbs +11 -0
- data/sig/rmagick/fill.rbs +21 -0
- data/sig/rmagick/geometry.rbs +14 -0
- data/sig/rmagick/image.rbs +194 -0
- data/sig/rmagick/image_list.rbs +181 -0
- data/sig/rmagick/iptc.rbs +101 -0
- data/sig/rmagick/kernel_info.rbs +12 -0
- data/sig/rmagick/optional_method_arguments.rbs +10 -0
- data/sig/rmagick/pixel.rbs +46 -0
- data/sig/rmagick/struct.rbs +90 -0
- data/sig/rmagick.rbs +43 -0
- data/sig/rvg/clippath.rbs +34 -0
- data/sig/rvg/container.rbs +78 -0
- data/sig/rvg/deep_equal.rbs +48 -0
- data/sig/rvg/describable.rbs +30 -0
- data/sig/rvg/embellishable.rbs +226 -0
- data/sig/rvg/misc.rbs +145 -0
- data/sig/rvg/paint.rbs +55 -0
- data/sig/rvg/pathdata.rbs +77 -0
- data/sig/rvg/rvg.rbs +125 -0
- data/sig/rvg/stretchable.rbs +56 -0
- data/sig/rvg/stylable.rbs +66 -0
- data/sig/rvg/text.rbs +118 -0
- data/sig/rvg/transformable.rbs +59 -0
- data/sig/rvg/units.rbs +33 -0
- metadata +59 -129
- data/.codeclimate.yml +0 -63
- data/deprecated/RMagick.rb +0 -6
- data/ext/RMagick/rmmain.c +0 -1951
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 41d6b9634204858bad669688ff19fc54c14dc3578f011696ade0295b5e4f7e88
|
4
|
+
data.tar.gz: 781493a793ec5ee4b9a60063761484e8b1d44e622963c2593caefac314d7ed8a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e90299bfe4a9b5d9a6291d53707db9ec772fb2247517f4e9ca9e4633320a6a9c2067195dcc90109bc743cd9f0a12882adfd679fb4e06c6995958e8b962125e0e
|
7
|
+
data.tar.gz: 1e2b528111b27b48ec4f3dc8be1e65d3bf181ec8888c5e1562959b98af4762f12dd9285d4d78520eb400ffb16e09f93950e8527b27e552396487c56fd1258b95
|
@@ -1,10 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"name": "ImageMagick 7",
|
3
3
|
"build": {
|
4
|
-
"dockerfile": "
|
4
|
+
"dockerfile": "Dockerfile",
|
5
5
|
"args": {
|
6
6
|
"RUBY_VERSION": "3.1.2",
|
7
|
-
"IMAGEMAGICK_VERSION": "7.1.
|
7
|
+
"IMAGEMAGICK_VERSION": "7.1.1-26"
|
8
8
|
}
|
9
9
|
},
|
10
10
|
"onCreateCommand": "/setup/setup-repo.sh"
|
data/.devcontainer/setup-user.sh
CHANGED
data/.editorconfig
CHANGED
data/.github/workflows/ci.yml
CHANGED
@@ -15,7 +15,7 @@ jobs:
|
|
15
15
|
runs-on: ubuntu-latest
|
16
16
|
timeout-minutes: 20
|
17
17
|
steps:
|
18
|
-
- uses: actions/checkout@
|
18
|
+
- uses: actions/checkout@v4
|
19
19
|
- name: Set up Ruby 2.3
|
20
20
|
uses: ruby/setup-ruby@master
|
21
21
|
with:
|
@@ -25,21 +25,49 @@ jobs:
|
|
25
25
|
bundle install --path=vendor/bundle --jobs 4 --retry 3
|
26
26
|
STYLE_CHECKS=true bundle exec rubocop
|
27
27
|
|
28
|
+
rbs:
|
29
|
+
runs-on: ubuntu-latest
|
30
|
+
name: RBS
|
31
|
+
timeout-minutes: 20
|
32
|
+
steps:
|
33
|
+
- uses: actions/checkout@v4
|
34
|
+
- name: Set up Ruby 3.0
|
35
|
+
uses: ruby/setup-ruby@master
|
36
|
+
with:
|
37
|
+
ruby-version: '3.0'
|
38
|
+
- name: Validate RBS signatures
|
39
|
+
run: |
|
40
|
+
bundle install --path=vendor/bundle --jobs 4 --retry 3
|
41
|
+
bundle exec rake rbs:validate && bundle exec steep check
|
42
|
+
|
28
43
|
test-linux:
|
29
44
|
runs-on: ubuntu-latest
|
30
45
|
timeout-minutes: 20
|
31
46
|
strategy:
|
32
47
|
matrix:
|
33
|
-
ruby-version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1']
|
48
|
+
ruby-version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3']
|
34
49
|
imagemagick-version:
|
35
50
|
- { full: 6.7.7-10, major-minor: '6.7' }
|
36
51
|
- { full: 6.8.9-10, major-minor: '6.8' }
|
37
|
-
- { full: 6.9.
|
38
|
-
- { full: 7.
|
52
|
+
- { full: 6.9.13-4, major-minor: '6.9' }
|
53
|
+
- { full: 7.0.11-14, major-minor: '7.0' }
|
54
|
+
- { full: 7.1.1-26, major-minor: '7.1' }
|
55
|
+
exclude:
|
56
|
+
# Ghostscript 9.55.0 causes error with Ruby 3.3 + ImageMagick 6.7 when run Magick::Draw tests.
|
57
|
+
# It disable running tests with Ruby 3.3 + ImageMagick 6.7 because it might be difficult to support old ImageMagick.
|
58
|
+
- ruby-version: '3.3'
|
59
|
+
imagemagick-version: { major-minor: '6.7' }
|
39
60
|
|
40
61
|
name: Linux, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
|
41
62
|
steps:
|
42
|
-
- uses: actions/checkout@
|
63
|
+
- uses: actions/checkout@v4
|
64
|
+
- name: Cache ImageMagick built objects
|
65
|
+
uses: actions/cache@v4
|
66
|
+
with:
|
67
|
+
path: ./build-ImageMagick
|
68
|
+
key: v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
|
69
|
+
restore-keys: |
|
70
|
+
v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
|
43
71
|
- name: Set up Ruby ${{ matrix.ruby-version }}
|
44
72
|
uses: ruby/setup-ruby@master
|
45
73
|
with:
|
@@ -58,14 +86,21 @@ jobs:
|
|
58
86
|
timeout-minutes: 20
|
59
87
|
strategy:
|
60
88
|
matrix:
|
61
|
-
ruby-version: ['2.6', '2.7', '3.0', '3.1']
|
89
|
+
ruby-version: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3']
|
62
90
|
imagemagick-version:
|
63
|
-
- { full: 6.9.
|
64
|
-
- { full: 7.1.
|
91
|
+
- { full: 6.9.13-4, major-minor: '6.9' }
|
92
|
+
- { full: 7.1.1-26, major-minor: '7.1' }
|
65
93
|
|
66
94
|
name: macOS, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
|
67
95
|
steps:
|
68
|
-
- uses: actions/checkout@
|
96
|
+
- uses: actions/checkout@v4
|
97
|
+
- name: Cache ImageMagick built objects
|
98
|
+
uses: actions/cache@v4
|
99
|
+
with:
|
100
|
+
path: ./build-ImageMagick
|
101
|
+
key: v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
|
102
|
+
restore-keys: |
|
103
|
+
v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
|
69
104
|
- name: Set up Ruby ${{ matrix.ruby-version }}
|
70
105
|
uses: ruby/setup-ruby@master
|
71
106
|
with:
|
@@ -77,3 +112,46 @@ jobs:
|
|
77
112
|
run: |
|
78
113
|
bundle install --path=vendor/bundle --jobs 4 --retry 3
|
79
114
|
bundle exec rake
|
115
|
+
|
116
|
+
test-windows:
|
117
|
+
runs-on: windows-latest
|
118
|
+
timeout-minutes: 20
|
119
|
+
strategy:
|
120
|
+
matrix:
|
121
|
+
ruby-version: ['3.3']
|
122
|
+
imagemagick-version:
|
123
|
+
- { full: 6.9.13-4, major-minor: '6.9' }
|
124
|
+
- { full: 7.1.1-26, major-minor: '7.1' }
|
125
|
+
env:
|
126
|
+
bundled_im_dir: C:\Program Files\ImageMagick-7.1.1-Q16-HDRI
|
127
|
+
install_im_dir: D:\ImageMagick
|
128
|
+
|
129
|
+
name: MSWin, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
|
130
|
+
steps:
|
131
|
+
- uses: actions/checkout@v4
|
132
|
+
- name: Setup environment variable
|
133
|
+
# https://stackoverflow.com/questions/60169752/how-to-update-the-path-in-a-github-action-workflow-file-for-a-windows-latest-hos
|
134
|
+
run: |
|
135
|
+
Add-Content $env:GITHUB_PATH ${{ env.install_im_dir }}
|
136
|
+
- name: Uninstall bundled ImageMagick
|
137
|
+
# Bundled ImageMagick does not have C/C++ library and dll which required by rmagick.
|
138
|
+
run: |
|
139
|
+
Start-Process -FilePath "${{ env.bundled_im_dir }}\unins000.exe" -ArgumentList "/VERYSILENT /NORESTART"
|
140
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
141
|
+
uses: ruby/setup-ruby@master
|
142
|
+
with:
|
143
|
+
ruby-version: ${{ matrix.ruby-version }}
|
144
|
+
- name: Install ghostscript
|
145
|
+
run: |
|
146
|
+
choco install ghostscript
|
147
|
+
- name: Install ImageMagick
|
148
|
+
# https://github.com/rmagick/ImageMagick-binaries
|
149
|
+
run: |
|
150
|
+
$imagemagick_version = "${{ matrix.imagemagick-version.full }}"
|
151
|
+
$installer_name = "ImageMagick-$($imagemagick_version)-Q16-x64-dll.exe"
|
152
|
+
$url = "https://github.com/rmagick/ImageMagick-binaries/raw/main/$($installer_name)"
|
153
|
+
Invoke-WebRequest -Uri $url -OutFile $installer_name
|
154
|
+
Start-Process -FilePath $installer_name -ArgumentList "/DIR=${{ env.install_im_dir }} /VERYSILENT /NORESTART /TASKS=install_Devel"
|
155
|
+
- name: Build and test with Rake
|
156
|
+
run: |
|
157
|
+
cmd.exe /D /S /C "bundle install --path=vendor/bundle --retry 3 & bundle exec rake"
|
data/.gitignore
CHANGED
data/.rubocop_todo.yml
CHANGED
@@ -6,6 +6,21 @@
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
+
# Offense count: 9
|
10
|
+
# Configuration parameters: Include, IgnoredGems.
|
11
|
+
# Include: **/*.gemfile, **/Gemfile, **/gems.rb
|
12
|
+
Bundler/GemComment:
|
13
|
+
Exclude:
|
14
|
+
- 'Gemfile'
|
15
|
+
|
16
|
+
# Offense count: 1
|
17
|
+
# Cop supports --auto-correct.
|
18
|
+
# Configuration parameters: TreatCommentsAsGroupSeparators, Include.
|
19
|
+
# Include: **/*.gemfile, **/Gemfile, **/gems.rb
|
20
|
+
Bundler/OrderedGems:
|
21
|
+
Exclude:
|
22
|
+
- 'Gemfile'
|
23
|
+
|
9
24
|
# Offense count: 1
|
10
25
|
# Cop supports --auto-correct.
|
11
26
|
# Configuration parameters: TreatCommentsAsGroupSeparators, Include.
|
@@ -26,7 +41,6 @@ Layout/ClassStructure:
|
|
26
41
|
- 'lib/rvg/misc.rb'
|
27
42
|
- 'lib/rvg/pathdata.rb'
|
28
43
|
- 'lib/rvg/rvg.rb'
|
29
|
-
- 'lib/rvg/to_c.rb'
|
30
44
|
|
31
45
|
# Offense count: 2312
|
32
46
|
# Cop supports --auto-correct.
|
@@ -79,7 +93,6 @@ Lint/NumberConversion:
|
|
79
93
|
- 'examples/thumbnail.rb'
|
80
94
|
- 'lib/rmagick_internal.rb'
|
81
95
|
- 'lib/rvg/misc.rb'
|
82
|
-
- 'lib/rvg/to_c.rb'
|
83
96
|
- 'spec/magick_spec.rb'
|
84
97
|
- 'spec/rmagick/align_type/class_methods/values_spec.rb'
|
85
98
|
- 'spec/rmagick/enum/bitwise_or_spec.rb'
|
@@ -127,7 +140,7 @@ Metrics/BlockNesting:
|
|
127
140
|
# Offense count: 9
|
128
141
|
# Configuration parameters: CountComments.
|
129
142
|
Metrics/ClassLength:
|
130
|
-
Max:
|
143
|
+
Max: 469
|
131
144
|
|
132
145
|
# Offense count: 21
|
133
146
|
# Configuration parameters: IgnoredMethods.
|
@@ -182,7 +195,6 @@ Naming/ConstantName:
|
|
182
195
|
# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
|
183
196
|
Naming/FileName:
|
184
197
|
Exclude:
|
185
|
-
- 'deprecated/RMagick.rb'
|
186
198
|
- 'doc/ex/InitialCoords.rb'
|
187
199
|
- 'doc/ex/NewCoordSys.rb'
|
188
200
|
- 'doc/ex/OrigCoordSys.rb'
|
@@ -227,11 +239,6 @@ Security/MarshalLoad:
|
|
227
239
|
- 'spec/rmagick/image/marshal_spec.rb'
|
228
240
|
- 'spec/rmagick/image_list/marshal_spec.rb'
|
229
241
|
|
230
|
-
# Offense count: 1
|
231
|
-
Style/AutoResourceCleanup:
|
232
|
-
Exclude:
|
233
|
-
- 'lib/rvg/to_c.rb'
|
234
|
-
|
235
242
|
# Offense count: 7
|
236
243
|
Style/CaseEquality:
|
237
244
|
Exclude:
|
data/.yardopts
CHANGED
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,136 @@
|
|
3
3
|
All notable changes to this project are documented in this file.
|
4
4
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
5
5
|
|
6
|
+
## RMagick 5.5.0
|
7
|
+
|
8
|
+
Improvements
|
9
|
+
|
10
|
+
- Add RBS signatures (#1458)
|
11
|
+
- Remove unnecessary type check in KernelInfo#{unity_add, scale} (#1514)
|
12
|
+
- Remove unnecessary type check in Image#{morphology, morphology_channel} (#1513)
|
13
|
+
- Improve HatchFill.new to accept Pixel object as color (#1512)
|
14
|
+
- Fix GraphicContext#font_weight to accept Numeric object (#1510)
|
15
|
+
- Improve GraphicContext#font_weight to accept Symbol object (#1509)
|
16
|
+
- Improve Stretchable#viewbox to use implicitly conversioned value (#1507)
|
17
|
+
- Improve RVG::Transformable#rotate to convert to Float implicitly (#1506)
|
18
|
+
- Fix Image#modulate in order to accept negative number (#1505)
|
19
|
+
- Improve Image#modulate to accept "NN%" form string (#1504)
|
20
|
+
- Implicit conversion to string with methods that expect a string (#1496)
|
21
|
+
- Coerce to string instead of using #to_s (#1495)
|
22
|
+
- Coerce to string where pass object into string interpolation (#1494)
|
23
|
+
- Fix Draw#{fill_opacity, opacity, stroke_opacity} to correctly handle arguments (#1492)
|
24
|
+
- Fix Draw#{interline_spacing, interword_spacing, kerning} to correctly handle arguments that can be converted to Float (#1491)
|
25
|
+
- Remove unnecessary type check in KernelInfo methods (#1489)
|
26
|
+
- Generate compile_flags.txt for clangd for development (#1488)
|
27
|
+
- Fix Draw#{stroke_dasharray, stroke_miterlimit} to accept object which has #to_f method (#1486)
|
28
|
+
- Fix Image#composite_affine to accept ImageList object (#1484)
|
29
|
+
- Fix Image#add_compose_mask to accept ImageList object (#1483)
|
30
|
+
- Fix incorrect number of required arguments in ArgumentError (#1482)
|
31
|
+
- Fix ImageList#sort! that should return self (#1481)
|
32
|
+
- Fix ImageList#eql? that should not raise exception if can't compare (#1479)
|
33
|
+
- Fix ImageList#<=> that should return nil if can't compare (#1478)
|
34
|
+
- Add DrawAttribute module to simplify Draw, DrawOptions and PolaroidOptions (#1477)
|
35
|
+
- Add missing attribute writer methods in Image::{DrawOptions, PolaroidOptions} (#1476)
|
36
|
+
- Add Image::PolaroidOptions#affine= (#1475)
|
37
|
+
- Add Image::PolaroidOptions#tile= (#1474)
|
38
|
+
- Attribute writer methods should return passed value (#1473)
|
39
|
+
- Return self with ImageList if Image's method return self (#1472)
|
40
|
+
- Fix Image#clut_channel to accept ImageList object (#1471)
|
41
|
+
- Fix Magick::GradientFill#fill and Magick::TextureFill#fill to accept ImageList object (#1467)
|
42
|
+
|
43
|
+
Bug Fixes
|
44
|
+
|
45
|
+
- Fix typo in order to fix NoMethodError (#1515)
|
46
|
+
- Sync compression value in order fix the problem of compression being ignored by ImageMagick 7 (#1503)
|
47
|
+
- Add PKG_CONFIG_PATH for ImageMagick 7 in order to fix installation error on macOS (#1501)
|
48
|
+
|
49
|
+
## RMagick 5.4.4
|
50
|
+
|
51
|
+
Bug Fixes
|
52
|
+
|
53
|
+
- Fix installation error again in some environment at creatint Makefile (#1465)
|
54
|
+
- Fix Pixel#<=> which should accept other class instance (#1463)
|
55
|
+
|
56
|
+
## RMagick 5.4.3
|
57
|
+
|
58
|
+
Bug Fixes
|
59
|
+
|
60
|
+
- Fix installation error in some environment by using x flag to use C++ compiler in order to create Makefile (#1460)
|
61
|
+
|
62
|
+
## RMagick 5.4.2
|
63
|
+
|
64
|
+
Improvements
|
65
|
+
|
66
|
+
- Check C++ compiler exists (#1453)
|
67
|
+
|
68
|
+
## RMagick 5.4.1
|
69
|
+
|
70
|
+
Bug Fixes
|
71
|
+
|
72
|
+
- Fix invalid cast between different size variables (#1448)
|
73
|
+
|
74
|
+
## RMagick 5.4.0
|
75
|
+
|
76
|
+
Improvements
|
77
|
+
|
78
|
+
- Use rb_io_path() if exist because pathv attr was marked as deprecated at Ruby 3.3 (#1409)
|
79
|
+
- Add observer gem as dependency (#1411)
|
80
|
+
- Add aliases of filter type (#1439)
|
81
|
+
- Release GVL in Image#contrast (#1440)
|
82
|
+
|
83
|
+
Bug Fixes
|
84
|
+
|
85
|
+
- Use C++ compiler in order to fix installation error with latest ImageMagick 7 on Windows (#1433)
|
86
|
+
|
87
|
+
## RMagick 5.3.0
|
88
|
+
|
89
|
+
Improvements
|
90
|
+
|
91
|
+
- Support GC compaction (#1388)
|
92
|
+
|
93
|
+
Bug Fixes
|
94
|
+
|
95
|
+
- Fix memory leak in `Magick::Draw` for recentry ImageMagick 6 by removing unnecessary `GetDrawInfo()` calling (#1406)
|
96
|
+
- Fix crash on ImageList#write with animation gif (#1379)
|
97
|
+
- Windows: Fix RubyInstaller::Runtime::DllDirectory::WinApiError (#1381)
|
98
|
+
|
99
|
+
## RMagick 5.2.0
|
100
|
+
|
101
|
+
Improvements
|
102
|
+
|
103
|
+
- Add OnAlphaChannel and OffAlphaChannel to the AlphaChannelOption enumeration. (#1377)
|
104
|
+
- Add Ruby 3.2 support (#1370)
|
105
|
+
|
106
|
+
## RMagick 5.1.0
|
107
|
+
|
108
|
+
Improvements
|
109
|
+
|
110
|
+
- Improve multi-thread performance by releasing GVL (#1352)
|
111
|
+
- Add Ractor support (#1349)
|
112
|
+
- Avoid overriding compilation variables (#1365)
|
113
|
+
- Remove pkg-config command dependency (#1366)
|
114
|
+
|
115
|
+
## RMagick 5.0.0
|
116
|
+
|
117
|
+
Improvements
|
118
|
+
|
119
|
+
- Improve installer in order to avoid SEGV within pkg-config command (#1359)
|
120
|
+
- Clean up the documents and comment in source code referring to something that no longer exist (#1363)
|
121
|
+
- Remove deprecated 'tile' attribute in Draw#marshal_dump (#1364)
|
122
|
+
- Remove deprecated #instance_eval calling when block was given with Magick::ImageList#montage, Magick::Image::Info.new and more (#1362)
|
123
|
+
- Remove deprecated RMagick.rb file (#1361)
|
124
|
+
- Remove deprecated Magick.trace_proc= (#1351)
|
125
|
+
- Remove deprecated Magick::{Image, Image::Info}#monitor= (#1356)
|
126
|
+
|
127
|
+
## RMagick 4.3.0
|
128
|
+
|
129
|
+
Deprecates
|
130
|
+
|
131
|
+
- Mark Magick.trace_proc= as deprecated (#1354)
|
132
|
+
- Mark Magick::{Image, Image::Info}#monitor= as deprecated (#1353)
|
133
|
+
|
134
|
+
These methods will be removed in RMagick 5.0 and no alternative.
|
135
|
+
|
6
136
|
## RMagick 4.2.6
|
7
137
|
|
8
138
|
Improvements
|
data/Gemfile
CHANGED
@@ -2,3 +2,23 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in rmagick.gemspec
|
4
4
|
gemspec
|
5
|
+
|
6
|
+
gem 'pry', '~> 0.14'
|
7
|
+
gem 'rake-compiler', '~> 1.0'
|
8
|
+
gem 'rspec', '~> 3.8'
|
9
|
+
gem 'rspec_junit_formatter', '~> 0.6.0'
|
10
|
+
gem 'simplecov', '~> 0.16.1'
|
11
|
+
gem 'yard', '~> 0.9.24'
|
12
|
+
|
13
|
+
if RUBY_PLATFORM !~ /mswin|mingw/
|
14
|
+
gem 'rubocop', '~> 0.81.0'
|
15
|
+
gem 'rubocop-rspec', '~> 1.38.1'
|
16
|
+
gem 'rubocop-performance', '~> 1.5.2'
|
17
|
+
end
|
18
|
+
|
19
|
+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0')
|
20
|
+
# For CI
|
21
|
+
gem 'rbs', '~> 3.4'
|
22
|
+
|
23
|
+
gem 'steep', '~> 1.6'
|
24
|
+
end
|
data/README.md
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
RMagick
|
2
2
|
=======
|
3
3
|
|
4
|
-
[](https://app.codacy.com/gh/rmagick/rmagick?utm_source=github.com&utm_medium=referral&utm_content=rmagick/rmagick&utm_campaign=Badge_Grade_Settings)
|
5
4
|
[](https://rubygems.org/gems/rmagick)
|
6
5
|

|
7
6
|
|
@@ -39,6 +38,9 @@ These prerequisites are required for the latest version of RMagick.
|
|
39
38
|
- Windows
|
40
39
|
- Other \*nix-like systems
|
41
40
|
|
41
|
+
**C++ compiler**
|
42
|
+
- RMagick 5.4.0 or later requires a C++ compiler.
|
43
|
+
|
42
44
|
**Ruby**
|
43
45
|
- Version 2.3 or later.
|
44
46
|
|
@@ -64,40 +66,40 @@ sudo apt-get install libmagickwand-dev
|
|
64
66
|
On Centos, you can run:
|
65
67
|
|
66
68
|
```sh
|
67
|
-
sudo yum install
|
69
|
+
sudo yum install ImageMagick-devel
|
68
70
|
```
|
69
71
|
|
70
72
|
#### Arch Linux
|
71
73
|
On Arch Linux, you can run:
|
72
74
|
|
73
75
|
```sh
|
74
|
-
pacman -Syy
|
76
|
+
pacman -Syy imagemagick
|
75
77
|
```
|
76
78
|
|
77
79
|
#### Alpine Linux
|
78
80
|
On Alpine Linux, you can run:
|
79
81
|
|
80
82
|
```
|
81
|
-
apk add
|
83
|
+
apk add imagemagick imagemagick-dev imagemagick-libs
|
82
84
|
```
|
83
85
|
|
84
86
|
or you can run if you would like to use ImageMagick 6:
|
85
87
|
|
86
88
|
```
|
87
|
-
apk add
|
89
|
+
apk add imagemagick6 imagemagick6-dev imagemagick6-libs
|
88
90
|
```
|
89
91
|
|
90
92
|
### macOS
|
91
93
|
On macOS, you can run:
|
92
94
|
|
93
95
|
```sh
|
94
|
-
brew install
|
96
|
+
brew install imagemagick
|
95
97
|
```
|
96
98
|
|
97
99
|
or you can run if you would like to use ImageMagick 6:
|
98
100
|
|
99
101
|
```sh
|
100
|
-
brew install
|
102
|
+
brew install imagemagick@6
|
101
103
|
```
|
102
104
|
|
103
105
|
### Windows
|
@@ -105,7 +107,7 @@ brew install pkg-config imagemagick@6
|
|
105
107
|
2. You might need to configure `PATH` environment variable to where the compiler is located.
|
106
108
|
(Ex: `set PATH=C:\Ruby27-x64\msys64\usr\bin;C:\Ruby27-x64\msys64\mingw64\bin;%PATH%`)
|
107
109
|
3. Download `ImageMagick-7.XXXX-Q16-x64-dll.exe` (not, `ImageMagick-7.XXXX-Q16-x64-static.exe`) binary from [Windows Binary Release](https://imagemagick.org/script/download.php#windows), or you can download ImageMagick 6 from [Windows Binary Release](https://legacy.imagemagick.org/script/download.php#windows).
|
108
|
-
4. Install ImageMagick. You need to turn on checkboxes `Add application directory to your system path` and `Install development headers and
|
110
|
+
4. Install ImageMagick. You need to turn on checkboxes `Add application directory to your system path` and `Install development headers and libraries for C and C++` in an installer for RMagick.
|
109
111
|
<img width="50%" src="https://user-images.githubusercontent.com/199156/77183472-b72cbd00-6b11-11ea-8b9a-247bc1f9d8b1.png" />
|
110
112
|
|
111
113
|
Installing RMagick
|
@@ -164,15 +166,6 @@ subdirectory of the installation directory for any error messages. These
|
|
164
166
|
messages typically contain enough additional information for you to be able to
|
165
167
|
diagnose the problem. Also see [this FAQ][libmagick-faq].
|
166
168
|
|
167
|
-
On OS X with Homebrew, try (re)installing pkg-config:
|
168
|
-
|
169
|
-
```sh
|
170
|
-
brew uninstall pkg-config
|
171
|
-
brew install pkg-config
|
172
|
-
brew unlink pkg-config
|
173
|
-
brew link pkg-config
|
174
|
-
```
|
175
|
-
|
176
169
|
### Cannot open shared object file
|
177
170
|
|
178
171
|
If you get a message like this:
|