RMagick 4.2.2 (2021-02-24)
Bug Fixes:
* Remove deprecation warning about block syntax (#1272)
You are still recommended to use the block parameter instead of self. but
we're silencing the deprecation warning until we can get RMagick's code up
to that standard.
RMagick 4.2.1 (2021-02-08)
Bug Fixes:
* Fix compilation with optimization on glibc (#1263)
RMagick 4.2.0 (2021-02-05)
Improvements:
* Updated error messages if runtime ImageMagick version was not matched
with when installed rmagick (#1213)
* Improve Image#resize performance with ImageMagick 7 (#1240)
* Added new colorspaces (#1252)
Bug Fixes:
* Fix assertion failed in Magick::TextureFill.new with with unexpected
argument (#1216)
* Call with yield when there is a block arguments (#701)
* Avoid crash with monitor feature on Ruby 3.0 (#1253)
Update ruby-RMagick to 4.1.2.
## RMagick 4.1.2
Bug Fixes:
- Fix build error on Freebsd (#1199)
- Add workaround for FreeBSD that it isn't able to process PDF (#1203)
## RMagick 4.1.1
Bug Fixes:
- Fix bug of signal handling internally (#1189)
Update ruby-RMagick to 4.1.0.
pkgsrc change: depends on ImageMagick istead of ImageMagick6.
RMagick 4.1.0 (2020-03-22)
Improvements:
* reduce package size by more than 1.5mb (#849)
* improve memory usage (#836)
* add support for Ruby 2.7 (#853)
* many documentation fixes and cleanups
* many testing fixes and cleanups
* Support CMYK color in Image#get_pixels (#871)
* Support to get CMYK color in Image#pixel_color (#875)
* Support to set CMYK color in Image#pixel_color (#908)
* Add ImageList#map (#1154)
Bug Fixes:
* fixed memory leaks (#809, #815, #816, #960, #1024)
* eliminate compiler warnings (#855, #864, #878, #917, #969, #981, #996,
#1000, #1044)
* Recognize invert option in Image#opaque_channel with ImageMagick 7 (#882)
* Fix heap-buffer-overflow in Image#wet_floor with ImageMagick 7 (#883)
* Handle channel value with new image in Image#opaque_channel with
ImageMagick 7 (#886)
* Pass caption value into ImageMagick 7 API in Image#polaroid (#898)
* Example: Fix "uninitialized constant Magick::TransparentOpacity" error (#899)
* Example: Fix error of constant usage (#900)
* Example: Fix error in doc/ex/composite.rb (#901)
* Example: Fix error in doc/ex/crop_with_gravity.rb (#902)
* Revert removed RemapImages() calling in ImageList#remap for ImageMagick 6
(#904)
* Example: Fix alpha channel in examples/vignette.rb (#918)
* Example: Fix alpha channel in doc/ex/coalesce.rb (#920)
* Handle alpha value in Pixel#to_color (#922)
* Detect the proper ARCHFLAGS on macOS (#923)
* Handle boolean value as dither option in ImageList#quantize (#926)
* Use strlcpy instead of strncpy to ensure null terminating. (#933)
* Remove memalign() (#939)
* Add safe strlen() to ensure avoiding buffer overrun (#940)
* Use strlcpy() instead of strcpy() to ensure avoiding buffer overflow
(#941)
* Use snprintf() instead of sprintf() to ensure avoiding buffer overflow
(#945)
* Example: Remove unnecessary alpha setting (#950)
* Replace to correct format specifiers for size_t/ssize_t value (#978)
* Use proper format specifiers within MinGW (#997)
* Fix snprintf() format specifiers for unsigned value (#1006)
* Fix warning of "Variable is reassigned a value before the old one has
been use" (#1008)
* Fix warning of "warning: explicitly assigning value of variable of type
'int' to itself" (#1013)
* Fix Image#resample to use blur option properly with ImageMagick 7 (#1023)
* Fix Image#resize to use blur option properly with ImageMagick 7 (#1032)
* Fix that Color#compliance returns nil with undefined bit (#1049)
* Check memory API properly on Windows (#1050)
* Example: Fix "undefined method `opacity'" (#1051)
* Add workaround to pdf problem (#1072)
* Fix exception message because #export_pixels accept 0 argument (#1121)
* Fix default value of fill argument in Image#initialize (#1122)
* Call rm_ensure_result() in creating Image object (#1144)
* Use StringValueCStr() instead of StringValuePtr() (#1156)
* Use RSTRING_PTR() to retrieve a pointer of String object for buffer
(#1157)
* Use StringValueCStr() to get null-terminated C-lang string (#1158)
* Fix SEGV in Magick::Draw#marshal_load (#1162)
* Fix SEGV in rm_check_ary_len() with unexpected argument value (#1168)
* Fix SEGV in Image#marshal_load (#1169)
Breaking Changes:
* remove tainted? logic (#854)
RMagick 4.1.0.rc2 (2019-09-17)
* fix a couple of compilation bugs (#796, #797)
RMagick 4.1.0.rc1 (2019-09-12)
The ImageMagick 7 release is here! This adds beta support for
ImageMagick 7. Much thanks to @Watson1978 for getting the ball rolling
on this and to @dlemstra for the extraordinary amount of work and
patience that went into seeing it through. RMagick should currently
behave the same way under IM7 as it did under IM6, so please open an
issue if you find anything that seems out of the ordinary.
Update ruby-RMagick to 4.0.0.
## RMagick 4.0.0
This release removes a *lot* of deprecated functionality, so first upgrade to
3.2 and handle any deprecation warnings you see there before upgrading to 4.0.
There are a handful of removals that we could not, or forgot to deprecate, so
pay special attention to those below. This clears the road for ImageMagick 7
support in the very near future.
Breaking Changes:
- Removed deprecated Image#matte and Image#matte= (#731)
- Removed deprecated Draw#matte. (#736)
- Removed deprecated ImageList#fx. (#732)
- Removed deprecated Info#group and Info#group=. (#733)
- Removed deprecated KernelInfo#show. (#734)
- Removed deprecated Pixel#opacity and Pixel#opacity=. (#735)
- Removed deprecated KernelInfo#zero_nans. (#741)
- Removed deprecated ImageList#map (#740)
- Removed deprecated Pixel#from_HSL. (#742)
- Removed deprecated Image#alpha=. (#739)
- Removed deprecated Pixel#to_HSL. (#745)
- Removed deprecated Image#blur and Image#blur=. (#746)
- Removed deprecated Image#sync_profiles. (#754)
- Removed deprecated Image#opacity=. (#753)
- Removed deprecated Image#combine. (#752)
- Removed deprecated Image#map. (#751)
- Removed deprecated Image#mask=. (#750)
- Removed deprecated opacity arguments. (#757)
- Removed deprecated `OpaqueOpacity` and `TransparentOpacity`. (#765)
- Removed obsolete enumerations. (#766)
The following changes *did not have deprecation warnings* in 3.2, so you'll
want to double check that you update your code if you were relying on the
existing behavior:
- Changed Color#to_s to return an string that contains alpha instead of opacity. (#760)
- Changed Pixel#to_s to return a string that contains alpha instead of opacity. (#762)
- Changed Pixel#hash to use alpha instead of opacity. (#763)
- Changed Pixel#<=> to use alpha instead of opacity. (#764)
- Removed `BicubicInterpolatePixel` (use `CatromInterpolatePixel` instead) (#768)
- Removed `FilterInterpolatePixel` (no replacement) (#768)
- Renamed `NearestNeighborInterpolatePixel` to `NearestInterpolatePixel` (#768)
Enhancements:
- Add SetQuantumOperator (#755)
Bug Fixes:
- Fix SEGV in Image#each_profile (#737)
Update to ruby-RMagick to 3.2.0, latest 3.2 release.
## RMagick 3.2.0
This is expected to be the final deprecation release before RMagick 4.0. We
have added loads of deprecation warnings to clear the pathway for ImageMagick 7
support. Once you've fixed all of them you should be fine to upgrade to version
4.0 without any pain. There are a small handful of edge cases which we could
not cleanly deprecate, though they should be extremely rare. These will be
documented in the 4.0 release. Thanks to @dlemstra for the hard work making
this release possible.
The biggest change in moving towards RMagick 4.0 will be the fact that
`opacity` is deprecated in favor of `alpha`.
**NOTE: `opacity` is the opposite of `alpha`!!!**
If you are currently passing opacity into methods, you will need to invert the
value and use the new `alpha:` keyword argument. If you are passing an integer,
`alpha = 255 - opacity`. An integer `opacity` of 0 is an `alpha` of 255.
Also, **major kudos to @Watson1978** for enabling Ruby's memory management in
(#697). This should go a long way towards improving RMagick's reputation for
memory usage.
Deprecations: (To be removed in RMagick 4.0)
- `Info#group` (#578) (no replacement)
- `Image#blur` (#579) (no replacement)
- Renamed `AlphaChannelType` to `AlphaChannelOption` (#596)
- Renamed `DistortImageMethod` to `DistortMethod` (#605)
- Renamed `FilterTypes` to `FilterType` (#611)
- Renamed `InterpolatePixelMethod` to `PixelInterpolateMethod` (#613)
- Renamed `ImageLayerMethod` to `LayerMethod` (#618)
- Deprecate the `opacity` property of the Pixel class. (use `alpha` instead) (#619)
- Deprecate old enum names. (use IM7 names instead) (#627)
- `StaticGravity` (use `CenterGravity` instead) (#638)
- `Image#sync_profiles` (no replacement) (#640)
- Deprecate old metric type values (use IM7 names instead) (#647)
- Deprecate `ResetAlphaChannel` (no replacement) (#644)
- Deprecate `FlattenAlphaChannel` (no replacement) (#645)
- Deprecate `MatteChannel` (no replacement) (#646)
- Deprecate `ConstantVirtualPixelMethod` (no replacement) (#649)
- Deprecate `IntegerPixel` (no replacement) (#650)
- Deprecate `Image.combine` (use `ImageList#combine` instead) (#690)
- Deprecate `Image#opacity` (use `Image#alpha` instead) (#669)
- Deprecate unnamed argument for opacity in `Image#transparent` (use keyword `alpha:` instead) (#695)
- Deprecate unnamed argument for opacity in `Image#black_threshold` and `Image#white_threshold.` (use keyword `alpha:` instead) (#709)
- Deprecate unnamed argument for opacity in `Image#matte_flood_fill` (use keyword `alpha:` instead) (#711)
- Deprecate unnamed argument for opacity in `Image#paint_transparent` (use keyword `alpha:` instead) (#717)
- Deprecate unnamed argument for opacity in `Image#transparent_chroma.` (use keyword `alpha:` instead) (#722)
- Deprecate `Draw#matte` (use `Draw#alpha` instead) (#724)
Enhancements:
- Many internal adjustments to prepare for ImageMagick 7 support.
- Added alpha property to the pixel class. (#617)
- Add combine to the ImageList class. (#589)
- Add new alpha constants (#651)
- Add `Image#mask=` (#660)
- Add `Draw#alpha` to replace `Draw#matte` (#726)
- Add Draw#image (#720)
- Add ArchLinux support (#727)
Bug Fixes:
- Fix `Font#to_s` to not raise error (#569)
- Fix a SEGV in `Image#reduce_noise` (#576)
- Fix infinite loop in `Image#compose` (#587)
- Fix enumeration memory leaks (#592) (#594) (#606) (#610) (#626)
- Don't allow `Image#class_type` to be set to undefined (#599)
- Fixed setting the name of the clip path. (#608)
- Fix memory leak in `Info#view=` (#642)
- Fix memory leak in `Image.constitute` (#665)
- Raise error on invalid arguments in `Draw#bezier` (#674)
- Fix memory leak in `Image#sparse_color` (#683)
- Prevent negative values for `Image#convolve` (#679)
- Several cleanups and fixes in the examples
- Raise error on invalid arguments in `Draw#color` (#691)
- Raise error on invalid arguments in `Draw#opacity` (#692)
- Raise error on invalid arguments in `Draw#fill_opacity` (#693)
- Raise error on invalid arguments in `Draw#stroke_opacity` (#694)
- Raise error on invalid arguments in `Draw#font_weight` (#696)
- Raise error on invalid arguments in `Draw#pattern` (#702)
- Raise error on invalid arguments in `Draw#point` (#703)
- Raise error on invalid arguments in `Draw#font_size` (#704)
- Raise error on invalid arguments in `Draw#polygon` (#705)
- Raise error on invalid arguments in `Draw#polyline` (#706)
- Raise error on invalid arguments in `Draw#rotate` (#707)
- Raise error on invalid arguments in `Draw#scale` (#708)
- Raise error on invalid arguments in `Draw#stroke_dashoffset` (#710)
- Raise error on invalid arguments in `Draw#translate` (#713)
- Raise error on invalid arguments in `Draw#text` (#714)
- Raise error on invalid arguments in `Draw#stroke` (#715)
- Raise error on invalid arguments in `Draw#matte` (#716)
- Raise error on invalid arguments in `Draw#skewx`, `Draw#skewy` (#719)
- Fix `Image#thumbnail` to keep image aspect ratio like ImageMagick (#718)
- Fix bug where `ImageList#montage` doesn't apply `border_color` & `matte_color` (#601)
- Fix stack-buffer-overflow in `Draw#annotate` (#725)
- Enable managed memory feature (#697)
Code Quality:
- Many tests written
- Several fixes to reduce compiler warnings.
## RMagick 3.0.0
Breaking Changes:
- Drop support for Ruby < 2.3.
- Drop support for ImageMagick < 6.8.
- Raise error when `nil` or empty string are passed to `Image.read`. (#351)
- Monitor feature disabled on Windows. (#344)
- Note: ruby versions > 2.4 and ImageMagick versions > 6.8 are not *explicitly*
supported, yet, but if you are using them already, they should continue to
work in the same fashion.
Enhancements:
- Add feature `Image#channel_entropy` (#300)
- Many quality of life improvements in the codebase.
Bug Fixes:
- Many memory leaks fixed!
- Fix `LoadError` on Windows. (#315)
- fix argument count in `Image#morphology_channel` (#306)
Problems found with existing digests:
Package fotoxx distfile fotoxx-14.03.1.tar.gz
ac2033f87de2c23941261f7c50160cddf872c110 [recorded]
118e98a8cc0414676b3c4d37b8df407c28a1407c [calculated]
Package ploticus-examples distfile ploticus-2.00/plnode200.tar.gz
34274a03d0c41fae5690633663e3d4114b9d7a6d [recorded]
da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]
Problems found locating distfiles:
Package AfterShotPro: missing distfile AfterShotPro-1.1.0.30/AfterShotPro_i386.deb
Package pgraf: missing distfile pgraf-20010131.tar.gz
Package qvplay: missing distfile qvplay-0.95.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
## RMagick 2.15.4
- Improved C extension building process - @u338steven
## RMagick 2.15.3
- Fixed ImageMagick version detection on Windows - @maisumakun
## RMagick 2.15.2
- GitHub repository moved back to github.com/rmagick/rmagick - @wurde, @vassilevsky
## RMagick 2.15.1
- Fix loop in linked list in `ImageList` methods => they no longer hang - @u338steven
RMagick 2.15.0
o Ability to remove alpha channel - @ollie
o C local variables guarded against GC to avoid segfaults - @u338steven
o trace_proc protected with a mutex to avoid segfaults - @u338steven
RMagick 2.14.0
o RMagick.rb moved to deprecated directory - @mockdeep
o Better ImageMagick feature detection - @bf4
o Prevent compilation failures if prefix is an empty string - @voxik
o SplineInterpolatePixel preprocessor check removed - @joshk
o Make error format a string literal - @mtasaka
o Automatically set ARCHFLAGS on OS X - @u338steven
o Fixed 'rmagick/version' require failure - @u338steven
o Fixed escaping of '%' in Draw#get_type_metrics - @mkluczny
o Silence warnings on Ruby 2.2 when comparing Enums - @meanphil
o Multiple test suite improvements - @mockdeep, @bf4
o Ruby source code formatting with RuboCop - @vassilevsky
RMagick 2.13.4
#129 from @theschoolmaster
proof of concept for using pkg-config in place of Magick-config on debian based systems
#127 from @u338steven
Changed Image#resample to calling ResampleImage (related #29, #45)
#124 from @u338steven
Fixed#122: lib/RMagick.rb is overwritten by lib/rmagick.rb on case-insensitive systems
#123 from @prijutme4ty
New class SolidFill in order to fill image with monochromatic background
#121 from @markotom
Quotes for correct path of font file
#120 from @chulkilee
Allow MagickCore6 from Magick-config
#112 from @u338steven/
Fixed: build error with ImageMagick 6.8.9 (when deprecated functions are excluded)
#102 from @u338steven
Fixed: related x_resolution, y_resolution
from @u338steven
Lots of test fixes
#95 from @ioquatix
Fix pixel hash test
#94 from @u338steven
Fixed: build error on Windows Ruby x64 (with ImageMagick 6.8.0-10 or Ima...
#91 from @vassilevsky
Do not test machine and OS-specific integers
Fix initial memory limit test
RMagick 2.13.3
#90 from @bricef
Fix installation error on systems with HRDI enabled RMagick
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
RMagick 2.13.2
o Fixed issues preventing RMagick from working with version 6.8 or higher
o Fixed issues preventing RMagick from working with ruby 1.9.3