rmagick 6.0.0 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer/ImageMagick6/devcontainer.json +2 -2
  3. data/.devcontainer/devcontainer.json +2 -2
  4. data/.editorconfig +2 -2
  5. data/.github/workflows/ci.yml +46 -13
  6. data/.rubocop.yml +7 -0
  7. data/.rubocop_todo.yml +53 -91
  8. data/CHANGELOG.md +22 -0
  9. data/Gemfile +4 -0
  10. data/README.md +14 -9
  11. data/Rakefile +36 -13
  12. data/before_install_linux.sh +3 -1
  13. data/before_install_osx.sh +8 -4
  14. data/ext/RMagick/extconf.rb +15 -98
  15. data/ext/RMagick/rmagick.h +3 -3
  16. data/ext/RMagick/rmilist.cpp +1 -1
  17. data/ext/RMagick/rmimage.cpp +2 -0
  18. data/lib/rmagick/version.rb +1 -1
  19. data/lib/rmagick_internal.rb +6 -9
  20. data/lib/rvg/clippath.rb +2 -0
  21. data/lib/rvg/container.rb +2 -0
  22. data/lib/rvg/deep_equal.rb +2 -0
  23. data/lib/rvg/describable.rb +2 -0
  24. data/lib/rvg/embellishable.rb +2 -0
  25. data/lib/rvg/misc.rb +2 -0
  26. data/lib/rvg/paint.rb +2 -0
  27. data/lib/rvg/pathdata.rb +2 -0
  28. data/lib/rvg/rvg.rb +2 -0
  29. data/lib/rvg/stretchable.rb +2 -0
  30. data/lib/rvg/stylable.rb +2 -0
  31. data/lib/rvg/text.rb +2 -0
  32. data/lib/rvg/transformable.rb +2 -0
  33. data/lib/rvg/units.rb +2 -0
  34. data/rmagick.gemspec +9 -3
  35. data/sig/rmagick/_draw_common_methods.rbs +2 -0
  36. data/sig/rmagick/_image_common_methods.rbs +4 -2
  37. data/sig/rmagick/draw.rbs +2 -0
  38. data/sig/rmagick/draw_attribute.rbs +2 -0
  39. data/sig/rmagick/enum.rbs +6 -4
  40. data/sig/rmagick/error.rbs +2 -0
  41. data/sig/rmagick/fill.rbs +2 -0
  42. data/sig/rmagick/geometry.rbs +3 -1
  43. data/sig/rmagick/image.rbs +5 -3
  44. data/sig/rmagick/image_list.rbs +23 -21
  45. data/sig/rmagick/iptc.rbs +2 -0
  46. data/sig/rmagick/kernel_info.rbs +2 -0
  47. data/sig/rmagick/optional_method_arguments.rbs +2 -0
  48. data/sig/rmagick/pixel.rbs +2 -0
  49. data/sig/rmagick/struct.rbs +2 -0
  50. data/sig/rvg/embellishable.rbs +1 -1
  51. data/sig/rvg/pathdata.rbs +1 -1
  52. data/sig/rvg/rvg.rbs +1 -1
  53. data/sig/rvg/stylable.rbs +1 -1
  54. data/sig/rvg/text.rbs +1 -1
  55. data/sig/rvg/transformable.rbs +1 -1
  56. metadata +8 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4002a5d6c97fb78a5f1a75b4b192cf5151a43570702da719262b34ea08f19c28
4
- data.tar.gz: 61a03fd6de17ec92ddbf4650a03076072dfda17a6a6c9bcb5db7bb90089c5c84
3
+ metadata.gz: ddc973bb97e260ec61a7407c9c64fed8d0c6bca941bd385f742c8588891e3a25
4
+ data.tar.gz: 188883dc8d411a58201c93a416745d4d86fe9a8f0fa5690c9b6d7fe70d8cf476
5
5
  SHA512:
6
- metadata.gz: dd88b3a404b7dedd24bd18a71cd5245af2b4cc38df32c377b9a3e8dbcb99b1790e9bd349e6c9abc9e45a0f64c6d75fdd5b92333e4febd1e3884cd04e8a07c23a
7
- data.tar.gz: aa9ac858769d7332a334cfa154f361028650eeb2947fb0f28dc254d71d72932e0e39a04726586847230f53ee658bb2d169fab385c6992d20e3bac2e8343c707a
6
+ metadata.gz: f88a245f163102c30c3499ee0f002ab725f5c8d1dba4c622597a5e73cf2551e66a587bca14b2388b1889a56228aee7894329671be2be168d8d4edd49ec7fad4e
7
+ data.tar.gz: fd34f82a3d1baf9acb3b733aef09d17e4b1e42eb4c32b3e192091c7785d2205c632f5d743d6c80f77c023f467af445ad81d85eb56665354a4c1f2f7f0dac0cf1
@@ -3,8 +3,8 @@
3
3
  "build": {
4
4
  "dockerfile": "../Dockerfile",
5
5
  "args": {
6
- "RUBY_VERSION": "3.1.2",
7
- "IMAGEMAGICK_VERSION": "6.9.13-7"
6
+ "RUBY_VERSION": "3.3.3",
7
+ "IMAGEMAGICK_VERSION": "6.9.13-17"
8
8
  }
9
9
  },
10
10
  "onCreateCommand": "/setup/setup-repo.sh"
@@ -3,8 +3,8 @@
3
3
  "build": {
4
4
  "dockerfile": "Dockerfile",
5
5
  "args": {
6
- "RUBY_VERSION": "3.1.2",
7
- "IMAGEMAGICK_VERSION": "7.1.1-29"
6
+ "RUBY_VERSION": "3.3.3",
7
+ "IMAGEMAGICK_VERSION": "7.1.1-39"
8
8
  }
9
9
  },
10
10
  "onCreateCommand": "/setup/setup-repo.sh"
data/.editorconfig CHANGED
@@ -7,10 +7,10 @@ end_of_line = lf
7
7
  charset = utf-8
8
8
  trim_trailing_whitespace = true
9
9
  insert_final_newline = true
10
- indent_style = spaces
10
+ indent_style = space
11
11
  tab_width = 2
12
12
 
13
- [{*.{rb,yml,sh,md}]
13
+ [*.{rb,yml,sh,md}]
14
14
  indent_size = 2
15
15
 
16
16
  [*.cpp]
@@ -16,10 +16,10 @@ jobs:
16
16
  timeout-minutes: 20
17
17
  steps:
18
18
  - uses: actions/checkout@v4
19
- - name: Set up Ruby 3.0
19
+ - name: Set up Ruby 3.3
20
20
  uses: ruby/setup-ruby@master
21
21
  with:
22
- ruby-version: '3.0'
22
+ ruby-version: '3.3'
23
23
  bundler-cache: true
24
24
  - name: Build and test with Rake
25
25
  run: |
@@ -40,17 +40,50 @@ jobs:
40
40
  run: |
41
41
  bundle exec rake rbs:validate && bundle exec steep check
42
42
 
43
- test-linux:
44
- runs-on: ubuntu-latest
43
+ # Seems that old imagemagick depend on ghostscript 9.x for handling fonts.
44
+ # However, ubuntu 24.04 has ghostscript 10.x, which is too new for old imagemagick.
45
+ test-linux-for-old-imagemagick:
46
+ runs-on: ubuntu-22.04
45
47
  timeout-minutes: 20
46
48
  strategy:
47
49
  matrix:
48
- ruby-version: ['3.0', '3.1', '3.2', '3.3']
50
+ ruby-version: ['3.0']
49
51
  imagemagick-version:
50
52
  - { full: 6.8.9-10, major-minor: '6.8' }
51
- - { full: 6.9.13-9, major-minor: '6.9' }
52
53
  - { full: 7.0.11-14, major-minor: '7.0' }
53
- - { full: 7.1.1-31, major-minor: '7.1' }
54
+
55
+ name: Linux, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
56
+ steps:
57
+ - uses: actions/checkout@v4
58
+ - name: Cache ImageMagick built objects
59
+ uses: actions/cache@v4
60
+ with:
61
+ path: ./build-ImageMagick
62
+ key: v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
63
+ restore-keys: |
64
+ v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
65
+ - name: Update/Install packages
66
+ run: |
67
+ export IMAGEMAGICK_VERSION=${{ matrix.imagemagick-version.full }}
68
+ ./before_install_linux.sh
69
+ - name: Set up Ruby ${{ matrix.ruby-version }}
70
+ uses: ruby/setup-ruby@master
71
+ with:
72
+ ruby-version: ${{ matrix.ruby-version }}
73
+ bundler-cache: true
74
+ - name: Build and test with Rake
75
+ run: |
76
+ bundle exec rake
77
+
78
+ test-linux:
79
+ runs-on: ubuntu-latest
80
+ timeout-minutes: 20
81
+ strategy:
82
+ matrix:
83
+ ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4']
84
+ imagemagick-version:
85
+ - { full: 6.9.13-17, major-minor: '6.9' }
86
+ - { full: 7.1.1-39, major-minor: '7.1' }
54
87
 
55
88
  name: Linux, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
56
89
  steps:
@@ -80,10 +113,10 @@ jobs:
80
113
  timeout-minutes: 20
81
114
  strategy:
82
115
  matrix:
83
- ruby-version: ['3.0', '3.1', '3.2', '3.3']
116
+ ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4']
84
117
  imagemagick-version:
85
- - { full: 6.9.13-9, major-minor: '6.9' }
86
- - { full: 7.1.1-31, major-minor: '7.1' }
118
+ - { full: 6.9.13-17, major-minor: '6.9' }
119
+ - { full: 7.1.1-39, major-minor: '7.1' }
87
120
 
88
121
  name: macOS, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
89
122
  steps:
@@ -112,10 +145,10 @@ jobs:
112
145
  timeout-minutes: 20
113
146
  strategy:
114
147
  matrix:
115
- ruby-version: ['3.3']
148
+ ruby-version: ['3.4']
116
149
  imagemagick-version:
117
- - { full: 6.9.13-9, major-minor: '6.9' }
118
- - { full: 7.1.1-31, major-minor: '7.1' }
150
+ - { full: 6.9.13-17, major-minor: '6.9' }
151
+ - { full: 7.1.1-39, major-minor: '7.1' }
119
152
  env:
120
153
  bundled_im_dir: C:\Program Files\ImageMagick-7.1.1-Q16-HDRI
121
154
  install_im_dir: D:\ImageMagick
data/.rubocop.yml CHANGED
@@ -4,6 +4,7 @@ inherit_from:
4
4
  require:
5
5
  - rubocop-rspec
6
6
  - rubocop-performance
7
+ - rubocop-on-rbs
7
8
 
8
9
  AllCops:
9
10
  DefaultFormatter: fuubar
@@ -62,3 +63,9 @@ RSpec/AlignRightLetBrace:
62
63
 
63
64
  Style/Copyright:
64
65
  Enabled: false
66
+
67
+ Style/DisableCopsWithinSourceCodeDirective:
68
+ Enabled: false
69
+
70
+ Style/AccessorGrouping:
71
+ Enabled: false
data/.rubocop_todo.yml CHANGED
@@ -1,26 +1,18 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2024-04-18 19:59:34 UTC using RuboCop version 1.63.2.
3
+ # on 2024-11-04 02:41:41 UTC using RuboCop version 1.68.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
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: 11
9
+ # Offense count: 12
10
10
  # Configuration parameters: Include, IgnoredGems, OnlyFor.
11
11
  # Include: **/*.gemfile, **/Gemfile, **/gems.rb
12
12
  Bundler/GemComment:
13
13
  Exclude:
14
14
  - 'Gemfile'
15
15
 
16
- # Offense count: 1
17
- # This cop supports safe autocorrection (--autocorrect).
18
- # Configuration parameters: Severity, Include.
19
- # Include: **/*.gemspec
20
- Gemspec/RequireMFA:
21
- Exclude:
22
- - 'rmagick.gemspec'
23
-
24
16
  # Offense count: 1
25
17
  # Configuration parameters: Severity, Include.
26
18
  # Include: **/*.gemspec
@@ -43,7 +35,7 @@ Layout/ClassStructure:
43
35
 
44
36
  # Offense count: 6
45
37
  # This cop supports safe autocorrection (--autocorrect).
46
- # Configuration parameters: AllowMultilineFinalElement.
38
+ # Configuration parameters: AllowMultilineFinalElement, AllowedMethods.
47
39
  Layout/FirstMethodArgumentLineBreak:
48
40
  Exclude:
49
41
  - 'doc/ex/arcpath.rb'
@@ -81,13 +73,13 @@ Layout/MultilineMethodArgumentLineBreaks:
81
73
  - 'examples/vignette.rb'
82
74
  - 'lib/rmagick_internal.rb'
83
75
 
84
- # Offense count: 66
76
+ # Offense count: 83
85
77
  # This cop supports safe autocorrection (--autocorrect).
86
78
  # Configuration parameters: InspectBlocks.
87
79
  Layout/RedundantLineBreak:
88
80
  Enabled: false
89
81
 
90
- # Offense count: 1905
82
+ # Offense count: 1911
91
83
  # This cop supports safe autocorrection (--autocorrect).
92
84
  Layout/SingleLineBlockChain:
93
85
  Enabled: false
@@ -101,12 +93,6 @@ Layout/SpaceAroundOperators:
101
93
  Exclude:
102
94
  - 'lib/rvg/misc.rb'
103
95
 
104
- # Offense count: 1
105
- # This cop supports safe autocorrection (--autocorrect).
106
- Layout/SpaceBeforeBrackets:
107
- Exclude:
108
- - 'lib/rmagick_internal.rb'
109
-
110
96
  # Offense count: 39
111
97
  # This cop supports safe autocorrection (--autocorrect).
112
98
  Lint/AmbiguousOperatorPrecedence:
@@ -134,13 +120,13 @@ Lint/ConstantDefinitionInBlock:
134
120
  Exclude:
135
121
  - 'Rakefile'
136
122
 
137
- # Offense count: 5517
123
+ # Offense count: 5522
138
124
  # Configuration parameters: Only, Ignore.
139
125
  Lint/ConstantResolution:
140
126
  Enabled: false
141
127
 
142
128
  # Offense count: 3
143
- # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches.
129
+ # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch.
144
130
  Lint/DuplicateBranch:
145
131
  Exclude:
146
132
  - 'lib/rvg/embellishable.rb'
@@ -171,12 +157,6 @@ Lint/FloatComparison:
171
157
  Exclude:
172
158
  - 'lib/rvg/stretchable.rb'
173
159
 
174
- # Offense count: 1
175
- # This cop supports safe autocorrection (--autocorrect).
176
- Lint/IdentityComparison:
177
- Exclude:
178
- - 'lib/rmagick_internal.rb'
179
-
180
160
  # Offense count: 91
181
161
  # This cop supports unsafe autocorrection (--autocorrect-all).
182
162
  # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredClasses.
@@ -199,13 +179,7 @@ Lint/RescueException:
199
179
  Exclude:
200
180
  - 'lib/rmagick_internal.rb'
201
181
 
202
- # Offense count: 1
203
- # Configuration parameters: AllowComments, AllowNil.
204
- Lint/SuppressedException:
205
- Exclude:
206
- - 'lib/rmagick_internal.rb'
207
-
208
- # Offense count: 39
182
+ # Offense count: 36
209
183
  # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
210
184
  Metrics/AbcSize:
211
185
  Max: 537
@@ -217,14 +191,14 @@ Metrics/BlockLength:
217
191
  Max: 155
218
192
 
219
193
  # Offense count: 1
220
- # Configuration parameters: CountBlocks.
194
+ # Configuration parameters: CountBlocks, CountModifierForms.
221
195
  Metrics/BlockNesting:
222
196
  Max: 4
223
197
 
224
198
  # Offense count: 9
225
199
  # Configuration parameters: CountComments, CountAsOne.
226
200
  Metrics/ClassLength:
227
- Max: 500
201
+ Max: 467
228
202
 
229
203
  # Offense count: 1
230
204
  # Configuration parameters: LengthThreshold.
@@ -232,12 +206,12 @@ Metrics/CollectionLiteralLength:
232
206
  Exclude:
233
207
  - 'doc/ex/smile.rb'
234
208
 
235
- # Offense count: 17
209
+ # Offense count: 15
236
210
  # Configuration parameters: AllowedMethods, AllowedPatterns.
237
211
  Metrics/CyclomaticComplexity:
238
212
  Max: 44
239
213
 
240
- # Offense count: 58
214
+ # Offense count: 57
241
215
  # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
242
216
  Metrics/MethodLength:
243
217
  Max: 146
@@ -248,7 +222,7 @@ Metrics/ParameterLists:
248
222
  MaxOptionalParameters: 5
249
223
  Max: 8
250
224
 
251
- # Offense count: 13
225
+ # Offense count: 12
252
226
  # Configuration parameters: AllowedMethods, AllowedPatterns.
253
227
  Metrics/PerceivedComplexity:
254
228
  Max: 42
@@ -295,12 +269,12 @@ Naming/MethodParameterName:
295
269
  - 'lib/rvg/transformable.rb'
296
270
  - 'lib/rvg/units.rb'
297
271
 
298
- # Offense count: 428
272
+ # Offense count: 432
299
273
  # Configuration parameters: CountAsOne.
300
274
  RSpec/ExampleLength:
301
275
  Max: 126
302
276
 
303
- # Offense count: 538
277
+ # Offense count: 540
304
278
  # This cop supports safe autocorrection (--autocorrect).
305
279
  # Configuration parameters: CustomTransform, IgnoredWords, DisallowedExamples.
306
280
  # DisallowedExamples: works
@@ -319,7 +293,7 @@ RSpec/IdenticalEqualityAssertion:
319
293
  Exclude:
320
294
  - 'spec/rmagick/image/spaceship_spec.rb'
321
295
 
322
- # Offense count: 543
296
+ # Offense count: 544
323
297
  RSpec/MultipleExpectations:
324
298
  Max: 72
325
299
 
@@ -357,6 +331,12 @@ Style/ArgumentsForwarding:
357
331
  Style/ArrayFirstLast:
358
332
  Enabled: false
359
333
 
334
+ # Offense count: 1
335
+ # This cop supports unsafe autocorrection (--autocorrect-all).
336
+ Style/BitwisePredicate:
337
+ Exclude:
338
+ - 'spec/rmagick/image_list/partition_spec.rb'
339
+
360
340
  # Offense count: 7
361
341
  # This cop supports safe autocorrection (--autocorrect).
362
342
  # Configuration parameters: AllowOnConstant, AllowOnSelfClass.
@@ -389,13 +369,7 @@ Style/ClassMethodsDefinitions:
389
369
  Style/CommentedKeyword:
390
370
  Enabled: false
391
371
 
392
- # Offense count: 2
393
- # This cop supports unsafe autocorrection (--autocorrect-all).
394
- Style/ConcatArrayLiterals:
395
- Exclude:
396
- - 'spec/rmagick/image_list/concat_spec.rb'
397
-
398
- # Offense count: 129
372
+ # Offense count: 128
399
373
  # Configuration parameters: IgnoreModules.
400
374
  Style/ConstantVisibility:
401
375
  Exclude:
@@ -408,29 +382,18 @@ Style/ConstantVisibility:
408
382
  - 'lib/rvg/stylable.rb'
409
383
  - 'spec/support/helpers.rb'
410
384
 
411
- # Offense count: 9
412
- # This cop supports safe autocorrection (--autocorrect).
413
- # Configuration parameters: AllowedCops.
414
- Style/DisableCopsWithinSourceCodeDirective:
415
- Exclude:
416
- - 'lib/rmagick_internal.rb'
417
- - 'spec/magick_spec.rb'
418
- - 'spec/rmagick/image_list/collect_spec.rb'
419
- - 'spec/rmagick/image_list/find_all_spec.rb'
420
- - 'spec/rmagick/image_list_spec.rb'
421
-
422
385
  # Offense count: 3
423
386
  Style/DocumentDynamicEvalDefinition:
424
387
  Exclude:
425
388
  - 'lib/rmagick_internal.rb'
426
389
 
427
- # Offense count: 36
390
+ # Offense count: 37
428
391
  # Configuration parameters: AllowedConstants.
429
392
  Style/Documentation:
430
393
  Enabled: false
431
394
 
432
- # Offense count: 163
433
- # Configuration parameters: RequireForNonPublicMethods.
395
+ # Offense count: 164
396
+ # Configuration parameters: AllowedMethods, RequireForNonPublicMethods.
434
397
  Style/DocumentationMethod:
435
398
  Enabled: false
436
399
 
@@ -448,20 +411,7 @@ Style/FetchEnvVar:
448
411
  Style/FormatStringToken:
449
412
  EnforcedStyle: unannotated
450
413
 
451
- # Offense count: 802
452
- # This cop supports unsafe autocorrection (--autocorrect-all).
453
- # Configuration parameters: EnforcedStyle.
454
- # SupportedStyles: always, always_true, never
455
- Style/FrozenStringLiteralComment:
456
- Enabled: false
457
-
458
- # Offense count: 1
459
- # This cop supports unsafe autocorrection (--autocorrect-all).
460
- Style/GlobalStdStream:
461
- Exclude:
462
- - 'Rakefile'
463
-
464
- # Offense count: 46
414
+ # Offense count: 40
465
415
  # Configuration parameters: AllowedVariables.
466
416
  Style/GlobalVars:
467
417
  Exclude:
@@ -486,29 +436,28 @@ Style/HashEachMethods:
486
436
  - 'spec/rmagick/image/info/orientation_spec.rb'
487
437
  - 'spec/rmagick/image/info/units_spec.rb'
488
438
 
489
- # Offense count: 4
439
+ # Offense count: 2
490
440
  # This cop supports safe autocorrection (--autocorrect).
491
441
  Style/IfUnlessModifier:
492
442
  Exclude:
493
443
  - 'ext/RMagick/extconf.rb'
494
444
 
495
- # Offense count: 146
445
+ # Offense count: 145
496
446
  Style/InlineComment:
497
447
  Enabled: false
498
448
 
499
- # Offense count: 10
449
+ # Offense count: 8
500
450
  # This cop supports unsafe autocorrection (--autocorrect-all).
501
451
  # Configuration parameters: InverseMethods.
502
452
  Style/InvertibleUnlessCondition:
503
453
  Exclude:
504
454
  - 'doc/ex/get_type_metrics.rb'
505
455
  - 'examples/identify.rb'
506
- - 'ext/RMagick/extconf.rb'
507
456
  - 'lib/rmagick_internal.rb'
508
457
  - 'lib/rvg/embellishable.rb'
509
458
  - 'lib/rvg/stretchable.rb'
510
459
 
511
- # Offense count: 4509
460
+ # Offense count: 4514
512
461
  # This cop supports safe autocorrection (--autocorrect).
513
462
  # Configuration parameters: IgnoreMacros, AllowedMethods, AllowedPatterns, IncludedMacros, AllowParenthesesInMultilineCall, AllowParenthesesInChaining, AllowParenthesesInCamelCaseMethod, AllowParenthesesInStringInterpolation, EnforcedStyle.
514
463
  # SupportedStyles: require_parentheses, omit_parentheses
@@ -528,12 +477,26 @@ Style/MissingRespondToMissing:
528
477
  - 'lib/rmagick_internal.rb'
529
478
  - 'lib/rvg/misc.rb'
530
479
 
531
- # Offense count: 59
480
+ # Offense count: 46
532
481
  # This cop supports unsafe autocorrection (--autocorrect-all).
533
482
  # Configuration parameters: EnforcedStyle.
534
483
  # SupportedStyles: literals, strict
535
484
  Style/MutableConstant:
536
- Enabled: false
485
+ Exclude:
486
+ - 'doc/ex/add_noise.rb'
487
+ - 'doc/ex/arcs02.rb'
488
+ - 'doc/ex/cubic01.rb'
489
+ - 'doc/ex/cubic02.rb'
490
+ - 'doc/ex/rvg_linecap.rb'
491
+ - 'doc/ex/rvg_linejoin.rb'
492
+ - 'doc/ex/rvg_opacity.rb'
493
+ - 'doc/ex/smile.rb'
494
+ - 'doc/ex/tref01.rb'
495
+ - 'doc/ex/writing_mode01.rb'
496
+ - 'doc/ex/writing_mode02.rb'
497
+ - 'lib/rvg/misc.rb'
498
+ - 'lib/rvg/stylable.rb'
499
+ - 'spec/support/helpers.rb'
537
500
 
538
501
  # Offense count: 32
539
502
  # This cop supports unsafe autocorrection (--autocorrect-all).
@@ -541,9 +504,9 @@ Style/MutableConstant:
541
504
  # SupportedStyles: predicate, comparison
542
505
  Style/NumericPredicate:
543
506
  Exclude:
544
- - 'spec/**/*'
545
507
  - 'lib/rmagick_internal.rb'
546
508
  - 'lib/rvg/embellishable.rb'
509
+ - 'spec/rmagick/image/destroy_spec.rb'
547
510
 
548
511
  # Offense count: 4
549
512
  # Configuration parameters: AllowedMethods.
@@ -554,7 +517,7 @@ Style/OptionalBooleanParameter:
554
517
  - 'lib/rmagick_internal.rb'
555
518
  - 'lib/rvg/pathdata.rb'
556
519
 
557
- # Offense count: 16
520
+ # Offense count: 94
558
521
  # This cop supports safe autocorrection (--autocorrect).
559
522
  # Configuration parameters: .
560
523
  # SupportedStyles: same_as_string_literals, single_quotes, double_quotes
@@ -573,7 +536,6 @@ Style/RequireOrder:
573
536
  Exclude:
574
537
  - 'Rakefile'
575
538
  - 'doc/ex/polaroid.rb'
576
- - 'ext/RMagick/extconf.rb'
577
539
  - 'lib/rmagick_internal.rb'
578
540
  - 'lib/rvg/rvg.rb'
579
541
  - 'rmagick.gemspec'
@@ -585,7 +547,7 @@ Style/StaticClass:
585
547
  Exclude:
586
548
  - 'spec/rmagick/draw/class_methods/_dummy_img__spec.rb'
587
549
 
588
- # Offense count: 185
550
+ # Offense count: 186
589
551
  # This cop supports unsafe autocorrection (--autocorrect-all).
590
552
  # Configuration parameters: Mode.
591
553
  Style/StringConcatenation:
@@ -600,7 +562,7 @@ Style/StringHashKeys:
600
562
  - 'lib/rvg/misc.rb'
601
563
  - 'spec/rmagick/image/properties_spec.rb'
602
564
 
603
- # Offense count: 233
565
+ # Offense count: 308
604
566
  # This cop supports safe autocorrection (--autocorrect).
605
567
  # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
606
568
  # SupportedStyles: single_quotes, double_quotes
@@ -615,14 +577,14 @@ Style/YodaCondition:
615
577
  Exclude:
616
578
  - 'spec/rmagick/image/destroy_spec.rb'
617
579
 
618
- # Offense count: 110
580
+ # Offense count: 113
619
581
  # This cop supports unsafe autocorrection (--autocorrect-all).
620
582
  # Configuration parameters: .
621
583
  # SupportedOperators: *, +, &, |, ^
622
584
  Style/YodaExpression:
623
585
  Enabled: false
624
586
 
625
- # Offense count: 135
587
+ # Offense count: 134
626
588
  # This cop supports safe autocorrection (--autocorrect).
627
589
  # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
628
590
  # URISchemes: http, https
data/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
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 6.1.0
7
+
8
+ Bug Fixes
9
+
10
+ - Fix SEGV if read incorrect PDF file (#1671)
11
+
12
+ Improvements
13
+
14
+ - Remove multiple imagemagick version checks (#1650)
15
+ - Suppress exception at installation if ImageMagick is not installed (#1647)
16
+ - Remove unnecessary `require` (#1639)
17
+ - Remove unnecessary minimum ruby version check (#1637)
18
+ - Remove universal build configuration for system bundled ruby in macOS (#1633)
19
+ - Add `frozen_string_literal: true` magic comment (#1631)
20
+
21
+ ## RMagick 6.0.1
22
+
23
+ Bug Fixes
24
+
25
+ - Fix build error on FreeBSD (#1618)
26
+ - Fix build error with GCC 14 on Windows (#1616)
27
+
6
28
  ## RMagick 6.0.0
7
29
 
8
30
  Improvements
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in rmagick.gemspec
@@ -14,5 +16,7 @@ gem 'rubocop', '~> 1.63'
14
16
  gem 'rubocop-performance', '~> 1.21'
15
17
  gem 'rubocop-rspec', '~> 2.29'
16
18
 
19
+ gem 'rubocop-on-rbs', '~> 0.5' if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.1')
20
+
17
21
  gem 'rbs', '~> 3.4'
18
22
  gem 'steep', '~> 1.6'
data/README.md CHANGED
@@ -105,10 +105,16 @@ brew install imagemagick@6
105
105
  ### Windows
106
106
  1. Install latest Ruby+Devkit package which you can get from [RubyInstaller for Windows](https://rubyinstaller.org).
107
107
  2. You might need to configure `PATH` environment variable to where the compiler is located.
108
- (Ex: `set PATH=C:\Ruby27-x64\msys64\usr\bin;C:\Ruby27-x64\msys64\mingw64\bin;%PATH%`)
108
+ (Ex: `set PATH=C:\Ruby33-x64\bin;C:\Ruby33-x64\msys64\ucrt64\bin;%PATH%`)
109
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).
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.
111
- <img width="50%" src="https://user-images.githubusercontent.com/199156/77183472-b72cbd00-6b11-11ea-8b9a-247bc1f9d8b1.png" />
110
+ 4. Install ImageMagick. You need to turn on checkboxes `Add application directory to your system path` and `Install development headers for C and C++` in an installer for RMagick.
111
+ <img width="75%" src="https://github.com/rmagick/rmagick/assets/199156/494e7963-cca5-4cb5-b28a-6c4d76adce5d" />
112
+
113
+ If you want to install ImageMagick using [winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/), run the following command:
114
+
115
+ ```sh
116
+ winget install ImageMagick.ImageMagick --custom /TASKS=modifypath,install_Devel
117
+ ```
112
118
 
113
119
  Installing RMagick
114
120
  ------------------
@@ -158,7 +164,7 @@ Things that can go wrong
158
164
  The [RMagick installation FAQ][faq] has answers to the most commonly reported
159
165
  problems, though may be out of date.
160
166
 
161
- ### Can't install RMagick. Can't find libMagick or one of the dependent libraries. Check the mkmf.log file for more detailed information
167
+ ### Can't install RMagick. Can't find libMagickCore-XXXX.so or one of the dependent libraries. Check the mkmf.log file for more detailed information
162
168
 
163
169
  Typically this message means that one or more of the libraries that ImageMagick
164
170
  depends on hasn't been installed. Examine the mkmf.log file in the ext/RMagick
@@ -171,15 +177,14 @@ diagnose the problem. Also see [this FAQ][libmagick-faq].
171
177
  If you get a message like this:
172
178
 
173
179
  ```sh
174
- $DIR/RMagick.rb:11:in `require': libMagick.so.0:
175
- cannot open shared object file: No such file or directory -
176
- $DIR/RMagick2.so (LoadError)
180
+ ... /core_ext/kernel_require.rb>:136:in `require': cannot load such file -- RMagick2.so (LoadError)
181
+ (snip)
177
182
  ```
178
183
 
179
184
  you probably do not have the directory in which the ImageMagick library
180
185
  is installed in your load path. An easy way to fix this is to define
181
186
  the directory in the `LD_LIBRARY_PATH` environment variable. For
182
- example, suppose you installed the ImageMagick library `libMagick.so` in
187
+ example, suppose you installed the ImageMagick library `libMagickCore-XXXX.so` in
183
188
  `/usr/local/lib`. (By default this is where it is installed.) Create the
184
189
  `LD_LIBRARY_PATH` variable like this:
185
190
 
@@ -211,7 +216,7 @@ release of RMagick over an earlier release.
211
216
  More samples
212
217
  ------------
213
218
 
214
- You can find more sample RMagick programs in the `/examples` directory. These
219
+ You can find more sample RMagick programs in the [/examples](https://github.com/rmagick/rmagick/tree/main/examples) and [/doc/ex](https://github.com/rmagick/rmagick/tree/main/doc/ex) directories. These
215
220
  programs are not installed in the RMagick documentation tree.
216
221
 
217
222
  Reporting bugs