rmagick 5.1.0 → 5.2.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rmagick might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b776ce3e793e02f14844cce0300aaef504783bdb1c190247cdc00b20e1fbc041
4
- data.tar.gz: 312ff6d1311a59ac2f90b3cf44742698fcacadc39c2d39ec4c5bfedc7ece3103
3
+ metadata.gz: 63297d93ba6355721cf93286469d8f1d278d553ca80b1c85fa5cefbc50f4217f
4
+ data.tar.gz: 7d416384fa378aa68c2f16c980e41c63d932a805e488c7cb2bc987c974262736
5
5
  SHA512:
6
- metadata.gz: 6f826ecaf2f6cc471285dab84981d8513c79a18381d08c5e8e0f09a023da3eedce5cf223f495c3aa73efbc82828fd2b915c5b401548e041d8440b204288045d1
7
- data.tar.gz: 5758a2256f5cad91968046be67d220dce46de3d9644f925275e2b33fcb37b486a44d5ec06bef0e2644d0108798398798b05cb605b7514af004536cd02edba635
6
+ metadata.gz: 2f03de2614b1b8321b6a26a01e47cbf625455c4bfc5e88c9ae3354bf933d66a63fee9b9205c8a7d72893672e15bb8933bcb2cb8915074e702d74876c4c1c742f
7
+ data.tar.gz: f9fa937f718148d007962a0b6e2f6588cc157d9a4998fccd942a5c8ac3066ca04bf8e60b79067abe5ee0c2402621cdb571287dca72ecdc6bc45625303ec71dfc
@@ -4,7 +4,7 @@
4
4
  "dockerfile": "Dockerfile",
5
5
  "args": {
6
6
  "RUBY_VERSION": "3.1.2",
7
- "IMAGEMAGICK_VERSION": "7.1.0-44"
7
+ "IMAGEMAGICK_VERSION": "7.1.0-55"
8
8
  }
9
9
  },
10
10
  "onCreateCommand": "/setup/setup-repo.sh"
@@ -30,12 +30,13 @@ jobs:
30
30
  timeout-minutes: 20
31
31
  strategy:
32
32
  matrix:
33
- ruby-version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1']
33
+ ruby-version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2']
34
34
  imagemagick-version:
35
35
  - { full: 6.7.7-10, major-minor: '6.7' }
36
36
  - { full: 6.8.9-10, major-minor: '6.8' }
37
- - { full: 6.9.12-59, major-minor: '6.9' }
38
- - { full: 7.1.0-44, major-minor: '7.0' }
37
+ - { full: 6.9.12-70, major-minor: '6.9' }
38
+ - { full: 7.0.11-14, major-minor: '7.0' }
39
+ - { full: 7.1.0-55, major-minor: '7.1' }
39
40
 
40
41
  name: Linux, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
41
42
  steps:
@@ -58,10 +59,11 @@ jobs:
58
59
  timeout-minutes: 20
59
60
  strategy:
60
61
  matrix:
61
- ruby-version: ['2.6', '2.7', '3.0', '3.1']
62
+ ruby-version: ['2.6', '2.7', '3.0', '3.1', '3.2']
62
63
  imagemagick-version:
63
- - { full: 6.9.12-59, major-minor: '6.9' }
64
- - { full: 7.1.0-44, major-minor: '7.0' }
64
+ - { full: 6.9.12-70, major-minor: '6.9' }
65
+ - { full: 7.0.11-14, major-minor: '7.0' }
66
+ - { full: 7.1.0-55, major-minor: '7.1' }
65
67
 
66
68
  name: macOS, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
67
69
  steps:
data/CHANGELOG.md CHANGED
@@ -3,9 +3,17 @@
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.2.0
7
+
8
+ Improvements
9
+
10
+ - Add OnAlphaChannel and OffAlphaChannel to the AlphaChannelOption enumeration. (#1377)
11
+ - Add Ruby 3.2 support (#1370)
12
+
6
13
  ## RMagick 5.1.0
7
14
 
8
15
  Improvements
16
+
9
17
  - Improve multi-thread performance by releasing GVL (#1352)
10
18
  - Add Ractor support (#1349)
11
19
  - Avoid overriding compilation variables (#1365)
data/Rakefile CHANGED
@@ -63,26 +63,13 @@ end
63
63
  desc 'Release'
64
64
  task release: %i[assert_clean_repo push_and_tag]
65
65
 
66
- desc 'Release and build the legacy way'
67
- task legacy_release: ['legacy:README.html', 'legacy:extconf', 'legacy:doc', 'legacy:manifest', 'release']
66
+ namespace :website do
67
+ PATH_TO_LOCAL_WEBSITE_REPOSITORY = File.expand_path('../rmagick.github.io')
68
68
 
69
- namespace :legacy do
70
- require 'find'
71
-
72
- task :redcloth do
73
- require 'redcloth'
74
- end
75
-
76
- README = 'README.html'
77
- MANIFEST = 'ext/RMagick/MANIFEST'
78
-
79
- # Change the version number placeholders in a file.
80
- # Returns an array of lines from the file.
81
- def reversion(name)
69
+ def replace_reversion(lines)
82
70
  now = Time.new
83
71
  now = now.strftime('%m/%d/%y')
84
72
 
85
- lines = File.readlines name
86
73
  lines.each do |line|
87
74
  line.gsub!(/0\.0\.0/, Magick::VERSION)
88
75
  line.gsub!(%r{YY/MM/DD}, now)
@@ -90,83 +77,68 @@ namespace :legacy do
90
77
  lines
91
78
  end
92
79
 
93
- # Rewrite a file containing embedded version number placeholders.
94
- def reversion_file(name)
95
- lines = reversion(name)
96
- tmp_name = name + '_tmp'
97
- mv name, tmp_name
98
- begin
99
- File.open(name, 'w') { |f| lines.each { |line| f.write line } }
100
- rescue StandardError
101
- mv tmp_name, name
102
- ensure
103
- rm tmp_name
104
- end
105
- end
106
-
107
- desc 'Update version in extconf'
108
- task :extconf do
109
- reversion_file 'ext/RMagick/extconf.rb'
110
- end
111
-
112
- desc 'Build README.txt from README.textile using RedCloth'
113
- task 'README.txt' => [:redcloth] do
114
- reversion_file 'README.textile'
115
- body = File.readlines 'README.textile'
116
- body = RedCloth.new(body.join).to_html + "\n"
117
- File.open('README.txt', 'w') { |f| f.write body }
80
+ def update_html(input_dir, output_dir, file_name)
81
+ lines = File.readlines(File.join(input_dir, file_name))
82
+ lines = replace_reversion(lines)
83
+ File.open(File.join(output_dir, file_name), 'w') { |f| lines.each { |line| f.write line } }
118
84
  end
119
85
 
120
- desc 'Build README.html from README.txt'
121
- task README => 'README.txt' do
122
- puts "writing #{README}"
123
- File.open(README, 'w') do |html|
124
- html.write <<~END_HTML_HEAD
125
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
126
- <html>
86
+ ENTITY = {
87
+ '&' => '&amp;',
88
+ '>' => '&gt;',
89
+ '<' => '&lt;'
90
+ }.freeze
91
+
92
+ def file_to_html(input_dir, input_file_name, output_dir, output_file_name)
93
+ File.open(File.join(input_dir, input_file_name)) do |src|
94
+ File.open(File.join(output_dir, output_file_name), 'w') do |dest|
95
+ dest.puts <<~END_EXHTMLHEAD
96
+ <!DOCTYPE public PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
97
+ <html xmlns="http://www.w3.org/1999/xhtml">
127
98
  <head>
128
- <title>RMagick #{Magick::VERSION} README</title>
129
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
130
- <meta name="GENERATOR" content="RedCloth">
99
+ <meta name="generator" content="ex2html.rb" />
100
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
101
+ <link rel="stylesheet" type="text/css" href="css/popup.css" />
102
+ <title>RMagick example: #{input_file_name}</title>
131
103
  </head>
132
104
  <body>
133
- END_HTML_HEAD
134
- html.write File.readlines('README.txt')
135
- html.write <<~END_HTML_TAIL
105
+ <h1>#{input_file_name}</h1>
106
+ <div class="bodybox">
107
+ <div class="bodyfloat">
108
+ <pre>
109
+ END_EXHTMLHEAD
110
+
111
+ src.each do |line|
112
+ line.gsub!(/[&><]/) { |s| ENTITY[s] }
113
+ dest.puts(line)
114
+ end
115
+
116
+ dest.puts <<~END_EXHTMLTAIL
117
+ </pre>
118
+ </div>
119
+ </div>
120
+ <div id="close"><a href="javascript:window.close();">Close window</a></div>
136
121
  </body>
137
- </html>
138
- END_HTML_TAIL
122
+ </html>
123
+ END_EXHTMLTAIL
124
+ end
139
125
  end
140
126
  end
141
127
 
142
- desc 'Update versions in html files'
143
- task :doc do
144
- Dir.chdir('doc') do
145
- FileList['*.html'].each { |d| reversion_file(d) }
128
+ desc 'Update RMagick website'
129
+ task :update do
130
+ unless File.exist?(PATH_TO_LOCAL_WEBSITE_REPOSITORY)
131
+ puts "Please clone the rmagick.github.io repository to #{PATH_TO_LOCAL_WEBSITE_REPOSITORY}"
132
+ exit 1
146
133
  end
147
- end
148
-
149
- # Remove files we don't want in the tarball.
150
- # Ensure files are not executable. (ref: bug #10080)
151
- desc "Remove files we don't want in the .gem; ensure files are not executable"
152
- task :fix_files do
153
- rm 'README.txt', verbose: true
154
- chmod 0o644, FileList['doc/*.html', 'doc/ex/*.rb', 'doc/ex/images/*', 'examples/*.rb']
155
- end
156
134
 
157
- desc 'Build manifest'
158
- task :manifest do
159
- now = Time.new
160
- now = now.strftime('%H:%M:%S %m/%d/%y')
161
- puts "generating #{MANIFEST}"
162
-
163
- File.open(MANIFEST, 'w') do |f|
164
- f.puts "MANIFEST for #{Magick::VERSION} - #{now}\n\n"
165
- Find.find('.') do |name|
166
- next if File.directory? name
135
+ Dir.glob('doc/*.html') do |file|
136
+ update_html('doc', PATH_TO_LOCAL_WEBSITE_REPOSITORY, File.basename(file))
137
+ end
167
138
 
168
- f.puts name[2..-1] # remove leading "./"
169
- end
139
+ Dir.glob('doc/ex/*.rb') do |file|
140
+ file_name = File.basename(file)
141
+ file_to_html('doc/ex', file_name, PATH_TO_LOCAL_WEBSITE_REPOSITORY, "#{file_name}.html")
170
142
  end
171
143
  end
172
144
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  set -euox pipefail
4
4
 
5
- gem install bundler
5
+ gem install bundler -v 2.3.26 # Bundler 2.4.x has dropped support for Ruby 2.3
6
6
 
7
7
  if [ -v STYLE_CHECKS ]; then
8
8
  set +ux
@@ -2,7 +2,7 @@
2
2
 
3
3
  set -euox pipefail
4
4
 
5
- gem install bundler
5
+ gem install bundler -v 2.3.26 # Bundler 2.4.x has dropped support for Ruby 2.3
6
6
 
7
7
  if [ -v STYLE_CHECKS ]; then
8
8
  set +ux
@@ -43,7 +43,7 @@ build_imagemagick() {
43
43
  fi
44
44
 
45
45
  cd "${build_dir}"
46
- ./configure --prefix=/usr/local "${options}"
46
+ ./configure --prefix=/usr/local "${options}" --without-raw
47
47
  make -j
48
48
  }
49
49
 
data/ext/RMagick/rmmain.c CHANGED
@@ -1056,6 +1056,13 @@ Init_RMagick2(void)
1056
1056
  #if defined(IMAGEMAGICK_GREATER_THAN_EQUAL_6_8_9)
1057
1057
  ENUMERATOR(AssociateAlphaChannel)
1058
1058
  ENUMERATOR(DisassociateAlphaChannel)
1059
+ #endif
1060
+ #if defined(IMAGEMAGICK_7)
1061
+ ENUMERATOR(OnAlphaChannel)
1062
+ ENUMERATOR(OffAlphaChannel)
1063
+ #else
1064
+ ENUMERATORV(OnAlphaChannel, ActivateAlphaChannel)
1065
+ ENUMERATORV(OffAlphaChannel, DeactivateAlphaChannel)
1059
1066
  #endif
1060
1067
  END_ENUM
1061
1068
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Magick
4
- VERSION = '5.1.0'
4
+ VERSION = '5.2.0'
5
5
  MIN_RUBY_VERSION = '2.3.0'
6
6
  MIN_IM_VERSION = '6.7.7'
7
7
  end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rmagick
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.0
4
+ version: 5.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Hunter
8
8
  - Omer Bar-or
9
9
  - Benjamin Thomas
10
10
  - Moncef Maiza
11
- autorequire:
11
+ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2022-11-14 00:00:00.000000000 Z
14
+ date: 2023-03-12 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: pkg-config
@@ -221,7 +221,7 @@ homepage: https://github.com/rmagick/rmagick
221
221
  licenses:
222
222
  - MIT
223
223
  metadata: {}
224
- post_install_message:
224
+ post_install_message:
225
225
  rdoc_options: []
226
226
  require_paths:
227
227
  - lib
@@ -238,8 +238,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
238
238
  version: '0'
239
239
  requirements:
240
240
  - ImageMagick 6.7.7 or later
241
- rubygems_version: 3.2.32
242
- signing_key:
241
+ rubygems_version: 3.4.2
242
+ signing_key:
243
243
  specification_version: 4
244
244
  summary: Ruby binding to ImageMagick
245
245
  test_files: []