Version 2.48.1
- #129 - Fix baseline-shift for simple subscripts/superscripts and
absolute offsets. This should fix a lot of Wikimedia images with
formulas.
- #548 - Support images with data: URLs that don't have a MIME-type.
This fixes some Open Clip Art images generated by old versions
of Adobe Illustrator.
- Fix build of the test suite on Windows (Chun-wei Fan).
- Support running the rsvg_internals tests on Windows (Chun-wei Fan).
Changes:
Make dark variant even darker
Don't change button text color on focus, hover, active
gtk: Rewrite ripple implementation
gtk: Change checked raised button style
gtk: Lighten up switch slider color on dark variant
gtk: Use primary color for spinner
gtk: Use primary color for caret-color (experimentally)
gtk: Add various improvements of Budgie styling
gnome-shell: Add support for version 3.36
gnome-shell: Drop support for versions 3.18 - 3.24
gnome-shell: Drop support for legacy Ubuntu-specific sessions
gnome-shell: Land massive Sass rewrite
Other various improvements, fixes, refactors, and cleanups
Andreas Lang (1):
added bugfix for monochrome output
Anthony Loiseau (1):
Fixes dmtxDecodeMatrixRegion returning a freed pointer
Mike Laughton (6):
Removed unnecessary directories
Fixed Data Mosaic encoding bug
Added explicit cast for strlen
Simon Wood (1):
Add support for GS-1 encoding via the FCN1 character
Tim Zaman (2):
Split out a function and added some more utilities
Allows people to input their own array for decoding
Vadim A. Misbakh-Soloviov (13):
dmtxdecode.c: fixed implicit declaration of function ‘snprintf’
Headers update + whitespace stripping
makefile: migrating ANSI C -> C99
Fixed warnings
Add reader-programming codeword (234). Not yet in use in code.
DecodeSchemeASCII: unused codewords detection; fixes#5
dmtxregion: possible use of unitialized "sign" variable
EDIFACT: char-31 is forbidden too; fixes#9
## Version 1.92 – 18.Apr.2019
* Add `--lossy` option from Kornel Lipiński.
* Remove an assertion failure possible with `--conserve-memory` + `--colors` +
`--careful`.
0.51:
* Fixed --font-file relative path handling.
* Fixed a bug in resolving the repository root directory from a relative path.
0.50:
* Right mouse button rotation now pivots around the camera.
* Added --font-file option.
* Added --enable-font-file option to configure.
* Added --no-time-travel option (Lars Schmertmann).
* Added --dir-name-position option (Lars Schmertmann).
* Added --file-extension-fallback option (Lars Schmertmann).
* Added --user-show-filter option (Victor Lopez).
* Added --disable-input option (Joey Parrish).
* Added --loop-delay-seconds option (Joey Parrish).
* Added --font-scale option.
* Added filename, dirname and user font size options (Carl Colena).
* Added workaround for FFMpeg error parsing Gource PPM video output.
* Fixed a bug in the Mercurial log parser that caused changes to be missed.
* Fixed file removal being cancelled by an action with an earlier timestamp.
* Fixed a bug in the log file format detection that could result in the wrong
first entry being displayed for a custom log.
* Fixed a bug where automatically cycling through a config with multiple
repositories reset settings to their defaults.
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.
pkgsrc change: make DESCR pkglint clean.
3.4.4 (2019-05-02)
- The 3.4.4 release is intended to be the last release (other than small
bug fixes) that will support either PHP 5.x, or ImageMagick 6.x. The
next planned release will be PHP > 7.0 and ImageMagick > 7.0 at least,
if not higher.
- Added:
* function Imagick::optimizeImageTransparency()
* METRIC_STRUCTURAL_SIMILARITY_ERROR
* METRIC_STRUCTURAL_DISSIMILARITY_ERROR
* COMPRESSION_ZSTD - https://github.com/facebook/zstd
* COMPRESSION_WEBP
* CHANNEL_COMPOSITE_MASK
* FILTER_CUBIC_SPLINE - "Define the lobes with the -define
filter:lobes={2,3,4} (reference
https://imagemagick.org/discourse-server/viewtopic.php?f=2&t=32506)."
* Imagick now explicitly conflicts with the Gmagick extension.
- Fixes:
* Correct version check to make RemoveAlphaChannel and
FlattenAlphaChannel be available when using Imagick with ImageMagick
version 6.7.8-x
* Bug 77128 - Imagick::setImageInterpolateMethod() not available on Windows
* Prevent memory leak when ImagickPixel::__construct called after object
instantiation.
* Prevent segfault when ImagickPixel internal constructor not called.
* Imagick::setResourceLimit support for values larger than 2GB (2^31) on
32bit platforms.
* Corrected memory overwrite in Imagick::colorDecisionListImage()
* Bug 77791 - ImagickKernel::fromMatrix() out of bounds write.
- Deprecated:
* The following functions have been deprecated:
ImagickDraw, matte
Imagick::averageimages
Imagick::colorfloodfillimage
Imagick::filter
Imagick::flattenimages
Imagick::getimageattribute
Imagick::getimagechannelextrema
Imagick::getimageclipmask
Imagick::getimageextrema
Imagick::getimageindex
Imagick::getimagematte
Imagick::getimagemattecolor
Imagick::getimagesize
Imagick::mapimage
Imagick::mattefloodfillimage
Imagick::medianfilterimage
Imagick::mosaicimages
Imagick::orderedposterizeimage
Imagick::paintfloodfillimage
Imagick::paintopaqueimage
Imagick::painttransparentimage
Imagick::radialblurimage
Imagick::recolorimage
Imagick::reducenoiseimage
Imagick::roundcornersimage
Imagick::roundcorners
Imagick::setimageattribute
Imagick::setimagebias
Imagick::setimageclipmask
Imagick::setimageindex
Imagick::setimagemattecolor
Imagick::setimagebiasquantum
Imagick::setimageopacity
Imagick::transformimage
2.3.0:
Security
Potential double-free in gdImage*Ptr(). (CVE-2019-6978)
gdImageColorMatch() out of bounds write on heap. (CVE-2019-6977)
Uninitialized read in gdImageCreateFromXbm(). (CVE-2019-11038)
Double-free in gdImageBmp. (CVE-2018-1000222)
Potential NULL pointer dereference in gdImageClone(). (CVE-2018-14553)
Potential infinite loop in gdImageCreateFromGifCtx(). (CVE-2018-5711)
Fixed
Fix: add codecov support
Fix: gdTransformAffineCopy run error
Fix: Install dependencies move to .travis.yml
Fix: gdTransformAffineCopy() segfaults on palette images
Fix: gdTransformAffineCopy() changes interpolation method
Fix: gdImageSetInterpolationMethod(im, GD_DEFAULT) inconsistent
Fix: gdTransformAffineCopy() may use unitialized values
Fix: Remove cmake modules
Fix: Add RAQM support for cmake
Fix: gdImageGifAnimAddPtr: heap corruption with 2 identical images
Fix: gdImageCropAuto(…, GD_CROP_SIDES) crops left but not right
Fix: auto cropping has insufficient precision
Fix: Provide a suitable malloc function to liq
Fix: libtiff link returns 404 HTTP code
Fix: Failed to open 1 bit per pixel bitmap
Fix: new_width & new_height exception handling
Fix: gdImageCrop neglecting transparency
Fix: Potential infinite loop in gdImageCreateFromGifCtx
Fix: gd_gd.c format documentation appears to be incorrect
Fix: Fix new_a init error in gdImageConvolution()
Fix: gdImageFilledArc() doesn't properly draw pies
Fix: Fatal and normal libjpeg/libpng errors not distinguishable
Fix: Update var type to hold bigger w&h for ellipse
Fix: update doc files install directory in CMakeLists.txt
Correct some test depend errors
Update cmake min version to 3.7
Delete libimagequant source code download action in CMakeLists.txt
Improve msys support
Fix some logic error in CMakeLists.txt
Remove the following macro: HAVE_STDLIB_H, HAVE_STRING_H, HAVE_STDDEF_H, HAVE_LIMITS_H, HAVE_ERRNO_H, AC_C_CONST
Added
test cases for following API: gdImageCopyResized(), gdImageWebpEx(), gdImageCreateFromGd2PartPtr(), gdImageCloneMatch(), gdImageColorClosestHWB(), gdImageColorMatch(), gdImageStringUp(), gdImageStringUp16(), gdImageString(), gdImageString16(), gdImageCopyMergeGray(), gdImageCopyMerge()
2020-03-15 7.0.10-1 Cristy <quetzlzacatenango@image...>
* Release ImageMagick version 7.0.10-1, GIT revision 17065:130e52e:20200315.
2020-03-14 7.0.10-1 Cristy <quetzlzacatenango@image...>
* Add support for returning the convex hull of an image with the
%[canvas-hull] property.
2020-03-09 7.0.10-1 Dirk Lemstra <dirk@lem.....org>
* Added option to specify the preferred version when writing a PDF file with
-define pdf:version=version (e.g. 1.7).
2020-03-07 7.0.10-1 Cristy <quetzlzacatenango@image...>
* Do not throw exception on empty draw path (reference
https://github.com/ImageMagick/ImageMagick/issues/974).
* Fix possible buffer overflow in ComplexImages().
* SVG to MVG requires transforms to appear before clipping paths (reference
https://github.com/ImageMagick/ImageMagick/issues/1860).
Bug fixes
* RPCS3 / Persona 5 - Performance regression [RADV / Navi]
* [CTS] dEQP-VK.descriptor_indexing.* fails on RADV/LLVM
* [RadeonSI][gfx10/navi] Kerbal Space Program crash: si_draw_vbo:
Assertion `0' failed
* src/compiler/glsl/glcpp/glcpp-parse.y:1297: _token_print: Assertion
`!"Error: Don't know how to print token."' failed.
* Budget Cuts hits VK_AMD_shader_fragment_mask assert
Changes
Andreas Baierl (1):
* gitlab-ci: Add add a set of lima flakes
Bas Nieuwenhuizen (2):
* amd/llvm: Fix divergent descriptor indexing. (v3)
* amd/llvm: Fix divergent descriptor regressions with radeonsi.
Danylo Piliaiev (2):
* glsl: do not crash if string literal is used outside of #include/#line
* st/mesa: Fix signed integer overflow when using
util_throttle_memory_usage
Dave Airlie (1):
* gallium: fix build with latest meson and gcc10
Dylan Baker (8):
* docs: Add sha256sums for 20.0.1
* .pick_status.json: Update to 07f1ef5656e0721282d01a8421eaca056348137d
* .pick_status.json: Update to 70341d7746c177a4cd7377ef633e9f85afd11d54
* .pick_status.json: Update to 625d8705f02e211e2733c3fe12845505725c37d4
* .pick_status.json: Mark b83c9aca4a5fd02d920c90c1799137fed52dc1d9 as
backported
* .pick_status.json: Update to ee9e0d1ecae307fa48200d2604d3114070253299
* .pick_status.json: Update to 3dd0d12aa5fefa94123269a541c94cdf57599e34
* .pick_status.json: Update to 94e37859a96cc56cf0c5418a5af00a3e9f5a1bf5
Eric Anholt (1):
* glsl/tests: Fix waiting for disk_cache_put() to finish.
Eric Engestrom (7):
* bin/gen_release_notes.py: fix commit list command
* .pick_status.json: Update to 24db276d11976905b2e8a44965c684bb48c3d49f
* gen_release_notes: fix vulkan version reported
* docs/relnotes/20.0: fix vulkan version reported
* .pick_status.json: Update to ba03e308b66b0b88f60b99d9d47851a5e1522e6e
* vulkan/wsi: fix cleanup when dup() fails
* gen_release_notes: fix version in "you should wait" message
Francisco Jerez (1):
* intel/fs: Fix workaround for VxH indirect addressing bug under control
flow.
Jason Ekstrand (9):
* isl: Set 3DSTATE_DEPTH_BUFFER::Depth correctly for 3D surfaces
* iris: Don't skip fast depth clears if the color changed
* anv: Parse VkPhysicalDeviceFeatures2 in CreateDevice
* vulkan/wsi: Don't leak the FD when GetImageDrmFormatModifierProperties
fails
* vulkan/wsi: Return an error if dup() fails
* anv: Use the PIPE_CONTROL instead of bits for the CS stall W/A
* anv: Use a proper end-of-pipe sync instead of just CS stall
* anv: Do end-of-pipe sync around MCS/CCS ops instead of CS stall
* anv: Do an end-of-pipe sync before updating AUX table entries
José Fonseca (1):
* meson: Avoid duplicate symbols.
Kristian Høgsberg (2):
* Revert "glsl: Use a simpler formula for tanh"
* Revert "spirv: Use a simpler and more correct implementaiton of
tanh()"
Marek Olšák (4):
* Revert "mesa: check for z=0 in _mesa_Vertex3dv()"
* radeonsi: add a bug workaround for NGG - LATE_ALLOC_GS
* ac: add a bug workaround for the 100% NGG culling case
* gallium/cso_context: remove cso_delete_xxx_shader helpers to fix the
live cache
Martin Fuzzey (3):
* freedreno: android: fix build failure on android due to python version
* freedreno: android: add a6xx-pack.xml.h generation to android build
* freedreno: android: fix build of perfcounters.
Michel Dänzer (1):
* llvmpipe: Use uintptr_t for pointer values
Rafael Antognolli (3):
* anv: Wait for the GPU to be idle before invalidating the aux table.
* iris: Split aux map initialization from invalidation.
* iris: Wait for the GPU to be idle before invalidating the aux table.
Rob Clark (1):
* freedreno: fix FD_MESA_DEBUG=inorder
Samuel Pitoiset (5):
* aco: fix image load/store with lod and 1D images
* nir/lower_input_attachments: remove bogus assert in
try_lower_input_texop()
* ac/llvm: add missing optimization barrier for 64-bit readlanes
* radv: only inject implicit subpass dependencies if necessary
* radv: fix random depth range unrestricted failures due to a cache
issue
Timur Kristóf (2):
* nir: Add ability to lower non-const quad broadcasts to const ones.
* radv: Enable lowering dynamic quad broadcasts.
Vinson Lee (1):
* st/nine: Fix incompatible-pointer-types-discards-qualifiers errors.
Packaged in wip by Thomas Orgis.
The FITS "World Coordinate System" (WCS) standard defines keywords
and usage that provide for the description of astronomical coordinate
systems in a FITS image header. SLIB is implemented in C, with support
for FORTRAN via a set of wrapper functions.
This is a primarily a bug fix release. It improves Vulkan support on macOS with VK_EXT_metal_surface support and better run-time loading, and adds fixes for issues on Windows, macOS and X11.
ChangeLog:
libansilove 1.2.1 (2020-03-17)
- Call memset() to set all fontData struct fields to zero
- Use the ternary operator to simplify character attributes assignments
Before, this used mk/wxGTK.mk, but that amounted to a dependency on
wxGTK28. We have no reports of anyone using the variables to control
this.
It remains to change to wxGTK30 and test.
0.8.1 (2019-11-17)
---------------------
- Forgot to update Changelog for 0.8.0
0.8.0 (2019-11-17)
---------------------
- Add support for Python 3 by encukou
- Add support for Tox, Pyflakes, Coverage and Buildbucket pipelines
- Remove support for Buildout
GooCanvas 2.0.4 (Oct 10 2017)
===============
o Support latest gtk-doc and add an index #788436.
GooCanvas 2.0.3 (Aug 30 2017)
===============
o Fixed stuck pointer grab bug #711709.
o Fixed several introspection problems.
o Removed use of a lot of deprecated GTK+ API.
GooCanvas 2.0.2 (Nov 3 2013)
===============
o Fixed the drawing code to work with GTK+ 3.10.
o Added/fixed a few introspection flags. GooCanvasLineDash should now be
usable via introspection.
Version 2.48.0
- The following is a summary of changes between 2.46.x and 2.48.0.
For full details, please see the 2.47.x release notes below.
- This release requires at least Rust 1.39.
- #379 - New API, rsvg_handle_set_stylesheet(), to set a CSS
stylesheet independent of the SVG document.
- #510 - support opacity in patterns.
- Librsvg's XML parser now supports namespaces (xmlns), and is
stricter than before about it. Files may fail to parse if there are
attributes or elements with namespace prefixes (e.g. foo:bar instead
of plain bar), but without a corresponding namespace declaration
(e.g. xmlns:foo="http://example.com/foo").
This may happen especially with incorrectly-written SVGs that use
xlink:href or xi:include attributes without the corresponding
namespace declarations. If you run into this, just add the
following to your toplevel SVG element:
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude">
^^^^^^^^^ these ones
- Librsvg no longer depends on libcroco, and now does all CSS
processing using Rust crates from Mozilla Servo. As a result,
librsvg can now handle much more complex CSS selectors than before.
- Link-time optimization (LTO) is disabled by default on release
builds, as this increased build time too much. Downstream
distributors may want to turn it back on in the toplevel Cargo.toml.
- #515 (CVE-2019-20446) - Librsvg now has limits on the number of
loaded XML elements, and the number of referenced elements within an
SVG document. This is to mitigate malicious SVGs which try to
consume all memory, and those which try to consume an exponential
amount of CPU time.
- Many bugfixes; please see the 2.47.x release notes below.
Version 2.47.4
- (#240) - Fix rsvg-convert's multipage PDF output when the zoom
option is used (Sven Neumann).
- (#547) - Do not stop rendering if an <image> element references a
nonexistent file. This fixes a number of Open Clipart cases.
- (#558) - Compute the font-size cascade correctly when there are "em"
#and "ex" units involved.
- Updated the man page for rsvg-convert (Sven Neumann).
Version 2.47.3
- #379 - New API, rsvg_handle_set_stylesheet(), to set a CSS
stylesheet independent of the SVG document.
- #510 - support opacity in patterns (Sven Neumann).
- Move away from the Cairo transform type to our own (Paolo Borelli).
- Update the gtk-rs version.
Version 2.47.2
- Handling of the "result", "in", "in2" attributes in filter
primitives is slightly stricter now, and spec compliant. Their
arguments must be of type CSS custom-ident, so "default", "inherit",
"initial", and "unset" are disallowed. Most SVGs should still work
fine.
- #542 - Fix infinite loop when processing CSS sibling combinators.
- #408 - feImage filters no longer clip their output to integer
coordinates.
- #504 - Documentation for the Rust crate (available at
https://gnome.pages.gitlab.gnome.org/librsvg/doc/librsvg/) now has
API usage examples.
- Debug logs from RSVG_LOG=1 should now be more legible and contain
better information on invalid CSS.
- Remove link-time workarounds for Rust pre-1.35 (Kleis Auke Wolthuizen).
- Unify internal error types to share the CSS code with gnome-shell.
- Made handling of XML namespaces more spec-compliant.
- Lots of refactoring to start moving away from Cairo internals
(Paolo Borelli).
Version 2.47.1
- Librsvg no longer depends on libcroco! It now does all CSS
processing using Rust crates from Mozilla Servo; these are also the
crates that are in use in recent versions of Firefox. As a result,
librsvg can now handle much more complex CSS selectors than before.
Fixes#79, #167, #237, #283, #336, #428, #441, #466, #525, #525
(Paolo Borelli, Federico Mena). Thanks to Evgeniy Reizner
for fixing https://github.com/servo/servo/issues/22972, which made
it possible to use Servo's selectors crate.
- #524 - Panic when reading an invalid stylesheet URL in an XML
processing instruction (Paolo Borelli)
- Lots of little improvements to the documentation.
- Link-time optimization (LTO) is disabled by default on release
builds, as this increased build time too much. Downstream
distributors may want to turn it back on in the toplevel Cargo.toml.
- We now have the start of documentation on the library's internals at
https://gnome.pages.gitlab.gnome.org/librsvg/doc/rsvg_internals/index.html
This should be interest of newcomers to librsvg's source code.
Version 2.47.0
- Librsvg's XML parser now supports namespaces (xmlns), and is
stricter than before about it. Files may fail to parse if there are
attributes or elements with namespace prefixes (e.g. foo:bar instead
of plain bar), but without a corresponding namespace declaration
(e.g. xmlns:foo="http://example.com/foo").
This may happen especially with incorrectly-written SVGs that use
xlink:href or xi:include attributes without the corresponding
namespace declarations. If you run into this, just add the
following to your toplevel SVG element:
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude">
^^^^^^^^^ these ones
- Patterns and gradients reused across more than one element will only
get resolved once now; this should make things marginally faster for
patterns or gradients with fallbacks.
- #515 (CVE-2019-20446) - Librsvg now has limits on the number of
loaded XML elements, and the number of referenced elements within an
SVG document. This is to mitigate malicious SVGs which try to
consume all memory, and those which try to consume an exponential
amount of CPU time.
- #521 - Compute geometries correctly if there is a viewBox attribute.
- #308 - Fix stack exhaustion with circular references in <use> elements.
- Consistently use the LGPL 2.1 wherever it is mentioned.
- Patterns and gradients reused across more than one element will only
get resolved once now; this should make things marginally faster for
patterns or gradients with fallbacks.
- #506 - Fix empty patterns which reference a fallback pattern with
children.
Update ruby-mini-magick to 4.10.1.
4.10.1 (2020-01-06)
* Still pick up ImageMagick over GraphicsMagick if both are installed
4.10.0 (2020-01-06)
* Prioritize discovery of ImageMagick 7 over 6 if both are installed (@drnic)
* Add MiniMagick::Image#landscape? and #portrait? methods for checking
orientiation (@theomarkkuspaul)
* Fix Ruby 2.7 warnings (@kamipo)
4.9.5 (2019-07-18)
* Fixed MiniMagick::Image.open not working with non-ASCII filenames anymore
after previous version (thanks to @meganemura)
4.9.4 (2019-07-11)
* Fixed a remote shell execution vulnerability when using
MiniMagick::Image.open with URL coming from unsanitized user input (thanks
to @rootxharsh)
* Fixed some Ruby warnings (thanks to @koic)
4.9.3 (2019-04-08)
* make MiniMagick::Tool not respond to everything
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)
New features in mesa 20:
OpenGL 4.6 on radeonsi.
GL_ARB_gl_spirv on radeonsi.
GL_ARB_spirv_extensions on radeonsi.
GL_EXT_direct_state_access for compatibility profile.
VK_AMD_device_coherent_memory on RADV.
VK_AMD_mixed_attachment_samples on RADV.
VK_AMD_shader_explicit_vertex_parameter on RADV.
VK_AMD_shader_image_load_store_lod on RADV.
VK_AMD_shader_fragment_mask on RADV.
VK_EXT_subgroup_size_control on RADV/LLVM.
VK_KHR_separate_depth_stencil_layouts on Intel, RADV.
VK_KHR_shader_subgroup_extended_types on RADV.
VK_KHR_swapchain_mutable_format on RADV.
VK_KHR_shader_float_controls on RADV/ACO.
GFX6 (Southern Islands) and GFX7 (Sea Islands) support on RADV/ACO.
Wave32 support for GFX10 (Navi) on RADV/ACO.
Compilation of Geometry Shaders on RADV/ACO.
Vulkan 1.2 on Intel, RADV.
GL_INTEL_shader_integer_functions2 and VK_INTEL_shader_integer_functions2 on Intel.
As usual many bugfixes also.
Graphics drawing primitives and other support functions wrapped up in an
add-on, C-based library for the Simple Direct Media (SDL) cross-platform
API layer.
MyPaint v2.0.0 (2020-02-15)
After a bit of a lull in development, MyPaint 2.0 has arrived at
last! Many have already tried out the new features in the new
automated continuous appimage releases, but for those who prefer
to use stable releases, this is the time to pester your distro's
package maintainers (or better yet, package and take a maintainer
role yourself).
Why is this 2.0 and not 1.3?
MyPaint 2.0 adds a new layer mode and uses a different compositing
method than before (by default, this is configurable), which means
that you can create files in 2.0 that will not look the same when
opened in earlier versions. Additionally, changes to the brush
parameters means that you can create stroke data in 2.0 that cannot
be safely used in earlier versions.
Major New Features
Linear compositing and spectral blending (pigment). Layer
views. Brush strokes dependent on view rotation and view zoom.
Additional symmetry modes: vertical, vertical+horizontal,
rotational, snowflake. Expanded flood fill functionality:
offset, feather, gap detection and more. New brush settings:
offsets, gridmap, additional smudge settings, posterize, pigment.
New brush inputs: barrel rotation, base radius, zoom level,
gridmap x/y, direction 360, attack angle.
No semantic changes to the brushes, only reductions to the file
sizes of the preview icons. The v2.0.x brushes (in general) require
libmypaint >= 1.5 to work correctly / not crash.
1.5.1
Bugfix/localization release
Code changes
mypaint-brush.c:count_dabs_to calculation changed to be consistent with v1.3.0 / 1.4.0 when called via the old stroke interface, and generally fixed so that there's no need for an additional initial mypaint_brush_stroke_to call to produce a visible stroke.
mypaint-brush.c: estimation of dabs per pixel reverted to the old calculation when called via the old stroke interface.
Build system fixes
Fixes incorrect versions for the requirements in the libmypaint-gegl pkg-config file (for both gegl and libmypaint)
The openmp flags are now actually used when building with --enable-openmp
Localization
New translations for:
Croatian
German
Greek
Indonesian
Korean
Misc.
Minimal example program adjusted to account for the code changes.
1.5.0
The 1.5.0 release includes the following:
Backported functionality
Features from the dev branch are backported in an API-compatible way, under the new MyPaintSurface2 interface (and the MyPaintTiledSurface2 implementation).
view zoom & view rotation
spectral color blending (pigment mode)
new smudge settings: length multiplier, buckets, transparency
new symmetry modes: vertical, vertical+horizontal, rotational, snowflake
adjustable angle for symmetry modes
optional multiple output rectangles (only relevant w. new symmetry modes)
(new symmetry modes only available for MyPaintTiledSurface2)
Changes from 1.4.0
Directional offsets are clamped to a maximum distance of 3 * 1080 pixels.
Some string updates and a lot translated strings.
Gegl build and examples fixed (note that neither MyPaint nor GIMP require or use the gegl-compatible interface or GObject introspection provided by libmypaint).
Compatibility note
For those who mess around with their library installs, note that the 1.5.0 release is ABI-compatible with 1.3.0, but not 1.4.0 (due to a enum reordering).
2020-02-29 7.0.9-27 Cristy <quetzlzacatenango@image...>
* Release ImageMagick version 7.0.9-27, GIT revision 17006:49d81b672:20200229
2020-02-24 7.0.9-27 Cristy <quetzlzacatenango@image...>
* Make sure we can grok this Fx expression: 1- -2.
* Do not advance when substituting a NULL string.
* Correct alpha for named colors in the Q32 non-HDRI build.
* Write Group4 compressed image as a single strip.
2020-02-23 7.0.9-26 Cristy <quetzlzacatenango@image...>
* Release ImageMagick version 7.0.9-26, GIT revision 16972:49f1e4de2:20200223
2020-02-22 7.0.9-26 Cristy <quetzlzacatenango@image...>
* No percent sign in lab() color.
* Introducing the -color-threshold command-line option.
* Handle out of range HDRI values for -statistic option (reference
https://imagemagick.org/discourse-server/viewtopic.php?f=3&t=37589).
* Fix improper casting when computing image signature (reference
https://imagemagick.org/discourse-server/viewtopic.php?f=1&t=37594).
2020-02-21 7.0.9-25 Cristy <quetzlzacatenango@image...>
* Release ImageMagick version 7.0.9-25, GIT revision 16931:2a56db8:20200221
2020-02-18 7.0.9-25 Cristy <quetzlzacatenango@image...>
* Adapt to a change in command-line options in the SVG inkscape delegate.
2020-02-17 7.0.9-24 Cristy <quetzlzacatenango@image...>
* Release ImageMagick version 7.0.9-24, GIT revision 16919:41efef9de:20200217
2020-02-15 7.0.9-24 Cristy <quetzlzacatenango@image...>
* Support connected-components:eccentricity-threshold,
connected-components:major-axis-threshold,
connected-components:minor-axis-threshold,
connected-components:angle-threshold.
* Set the alpha channel if the write mask is not enabled.
* Corrected ellipse orientation when computing image moments.
2020-02-14 7.0.9-23 Cristy <quetzlzacatenango@image...>
* Release ImageMagick version 7.0.9-23, GIT revision 16884:acb56cd:20200214
2020-02-08 7.0.9-23 Cristy <quetzlzacatenango@image...>
* Report gray(127.5) as gray(50%).
* Support -define connected-components:perimeter-threshold=min-max
Overview of Changes from GIMP 2.10.16 to GIMP 2.10.18
=====================================================
Core:
- In gimp:replace, when compositing the same content over itself,
i.e., when the input and aux buffers share the same storage and
same tile alignment, pass the input buffer directly as output,
instead of doing actual processing. In particular, this happens
when processing a pass-through group outside of its actual bounds.
User interface:
- Add new Symbolic-High-Contrast and Symbolic-Inverted-High-Contrast
themes, which are automatically-generated high-contrast variants
of the (original) Symbolic theme. The contrast factor is settable
in the makefile, and is currently at 1.5 for both themes.
- Rename tools/invert-svg to tools/svg-contrast, which now takes a
contrast-factor argument, and adjusts the input SVG contrast,
instead of just inverting it. Note that we can still use the tool
to invert icons, using a contrast of -1.
- Allow horizontal scrollbars in all the Preferences dialog tree-
views, so that they don't limit the minimal width of the dialog
(in particular, the UI- and icon-theme tree-views may contain
arbitrarily-long paths).
- Draw a border around the color FG/BG color areas as a pair of
black and white rectangles instead of letting GTK do this. This
imporoves the legibility of borders, especially in dark themes.
Tools:
- In GimpPaintTool, when not snapping brush outline to stroke, make
sure to properly snap the cursor position to 15-degree angle
multiples in line mode, not only when painting the line, but also
during motion.
Plug-ins:
- Add naive support for CMYK 8-bit PSD files
Updated translations:
- Basque, Catalan, Danish, Polish, Spanish, Swedish, Ukrainian
Bug fixes:
- #4643, #4634
Developers:
- Ell, Massimo Valentini
Translators:
- Alan Mortensen, Anders Jonsson, Asier Sarasua Garmendia, Daniel
Korostil, Jordi Mas, Piotr Drąg, Rodrigo Lledó Milanca
Overview of Changes from GIMP 2.10.14 to GIMP 2.10.16
=====================================================
Core:
- In gimp_gegl_apply_cached_operation(), use gint64 for storing the
total and processed pixel counts used for reporting progress, to
avoid overflowing when applying an operation to a large image.
- In GimpFilterTool and gimp_drawable_apply_operation(), use
gimp_drawable_filter_set_add_alpha() to add an alpha channel when
applying an operation that specifies "needs-alpha" to a drawable
that can have alpha.
- In GimpFilterTool, move all the drawable-filter option setup to a
new gimp_filter_tool_update_filter() function, and call it
whenever the drawable-filter's options need to be updated. This
avoids duplicating logic in various places.
- Improve the efficiency of decoding RLE data when loading ABR
brushes, by reading entire scanlines into a buffer all-at-once,
instead of reading the stream byte-by-byte.
- GIMP now optionally phones home to find out if there's a new
version available and then tells the user if there is one
indeed. It also keeps track of the installer revision and then
warns if there's a newer installer available. This can be disabled
in Preferences. In that case, users still have the option to
manually check for an update via the About dialog. The feature can
be disabled entirely with the '--disable-check-update' configure
switch.
Tools:
- New 3D Transform tool where you can set vanishing point, camera's
focal length, and the move and rotate layer, selection, path, or
image in 2.5 space. With the "Unified interaction" option enabled,
all three interaction modes of the grid (camera, move, and rotate)
are available simultaneously. In this mode, the inner and outer
regions of the item are used for moving and rotation, respectively,
and the vanishing point is controlled through through a handle.
- Transform tools now respect the Clip option and update the canvas
preview accordingly.
- New "Composited preview" option allows respecting layer's blending
mode and position in the layer stack rather than rendering it as
an overlay on top of the overall layer stack. This simplifies
creating complex layer compositions greatly. The option requires
mipmaps to be used and thus is disabled by default. It also comes
with an experimental "Synchronous preview" suboption to render the
composited preview synchronously. This reduces the lag for
painting the preview, but can harm responsiveness for bigger
images, where rendering the preview is slow.
- Add a new "Preview linked items" option to the transform-grid
tools. When this option is enabled, together with composited
previews, the transform preview includes all linked layers and
channels when transforming a layer/channel. Paths are currently
unsupported.
- New widget called GimpPivotSelector, a 3x3 grid of toggle buttons,
is now used for selecting a natural pivot position (e.g. for a
transform) relative to an item: its center, its corners, and the
midpoints of its edges. Currently used in Rotate and 3D Transform
tools.
- Add "Show all" support to the Bucket Fill tool in line-art mode
- Color picker and sample points now support displaying vlaues in
Yu'v' (CIE 1976 UCS) color space.
- The Symmetry Painting dock now has an "Enable reflection" option
that allows painting patterns resembling a kaleidoscope.
- Transform clipping is temporarily disabled for layer groups. No
preview other than 'Adjust' works anyway. This will be fixed later
on.
- Construct a box-filtered mipmap hierarchy for the original brush
on-demand, and the closest mipmap is used as the resampling source
for downscaled brushes, significantly improving the output
quality.
- Now that painting is done in a separate thread, the display update
rate has a far smaller impact on it. Increase the GimpDisplay
update rate, which handles image updates, to 60 FPS, and the
GimpDrawTool update rate to 120 FPS. In particular, the latter
change makes the brush outline motion much smoother.
- In the Airbrush tool, increase the maximal stamp FPS from 15 to
60, and change the corresponding maximal Rate value from 150 to
100. This technically affects tool presets, but we'll live.
- Add a new "Snap brush outline to stroke" toggle to the "Image
Windows" preferences page. When enabled, the brush outline in
paint tools snaps to the individual dabs while painting, which is
how it worked before version 2.10.16. Disable the option by
default. This seems to be what most other programs are doing, and
it does give paitning a smoother feel.
- The Warp Transform tool now respects settings for painting tools:
showing the brush outline, snapping to dabs, and showing the paint
tool cursor.
UI:
- Tools are now logically grouped in the toolbox by default. Users
can customize the groups to their liking or disable this feature
altogether in the Preferences dialog (Interface / Toolbox page).
- New opt-out compact style for sliders with revamped interaction.
The widget uses a narrower layout, and the different
upper/lower-half behavior is gone. Instead, the behavior depends
on the mouse button and modifier used:
- left-click is used for absolute adjustment,
- Shift + left-click + drag changes value in small increments,
- Ctrl + left-click + drag changes value in large increments,
- middle-click enables numeric input mode;
- right-click enables numeric input mode and selects the value.
- The "You can drop dockable dialogs here" message is gone from the
toolbox for good. Instead, highlight dockable areas when a user
starts dragging a dockable dialog, and intensify the highlight as
the dialog goes over a dockable area.
- Consolidate UI for merging down and anchoring layers:
As they are both mutually exclusive and serve an almost identical
purpose, the "Merge down" and "Anchor Layer" are given mutually
exclusive visibility in menus, and the anchor button is replaced
with a merge down button in the Layers dockable whenever there is
no active floating selection. Modifier keys are available:
- Shift: merge layer group
- Ctrl: merge visible layers
- Ctrl + Shift: merge visible layers from last used values
Plugins:
- In plug_in_compat.pdb, when wrapping an op node inside a graph,
set the op node as the graph node's underlying operation. This
allows gimp_gegl_apply_operation() to perform certain
optimizations.
- The Spyrogimp plugin now features a Visual tab where the inner
mechanics of a spirograph is abstracted away, and you operate on
amount of petals etc. The plugin now also allows saving a pattern
as a path rather than rendering it to a layer as a bitmap.
- Improve the loading speed for PSD files, mostly by eliminating
excessive copies.
Filters:
- Don't disable gegl:color-to-alpha (which has "needs-alpha")
when the drawable doesn't have an alpha channel, if one can be
added.
- Don't disable color-to-alpha for grayscale drawable, since the
operation is applicable to grayscale images (in particular, it
doesn't add color where there was none), and since GIMP no longer
distinguishes between layers and channels according to the
drawable format when updating the filters actions.
Windows:
- Installer: unofficial languages, ghostscript 9.50.
- Installer: skip .debug files when they don't exist.
- Installer: properly remove old icons on 32-bit installs and
per-user installs.
macOS:
- Set required variables if it is running from Apple application
bundle.
- The macOS build now ships with the dashboard dock for displaying
perfomance graphs.
Updated translations:
- British English, Catalan, Danish, French, German, Hungarian,
Icelandic, Italian, Japanese, Polish, Russian, Spanish, Swedish,
Turkish, Ukrainian.
Bugfixes:
- #4172, #4194, #4205, #4218, #2543, #4185, #4246, #2794, #4209,
#4278, #4372, #4187, #4392, #2674, #4338, #2862, #4203, #4204,
#4354, #1266, #4584, #4174, #4285, #4366, #1975, #4605
Developers:
- Alex Samorukov, Cyril Richard, Elad Shahar, Ell, Elle Stone,
Jehan, Jernej Simončič, lillolollo, Massimo Valentini, Michael
Natterer, Pascal Terjan, woob.
Translators:
- Alan Mortensen, Alexandre Prokoudine, Anders Jonsson, Balázs
Meskó, Balázs Úr, Bruce Cowan, Daniel Korostil, Jordi Mas, Julien
Hardelin, Marco Ciampa, Piotr Drąg, Rodrigo Lledó Milanca, Ryuta
Fujii, Sabri Ünal, sicklylife, Sveinn í Felli, Tim Sabsch, Zander
Brown.
On Darwin, gegl v0.4.22 links against Apple's OpenCL (see gegl/meson.build).
Presumably the hacks in hacks.mk are no longer necessary. In any case,
the package builds and can be used by gimp without it.
pkgsrc changes:
- Remove patches/patch-test-driver: applied upstream
Changes:
2.40.21
-------
- CVE-2019-20446 - Backport the following fixes from 2.46.x:
- #515 - Librsvg now has limits on the number of loaded XML elements,
and the number of referenced elements within an SVG document. This
is to mitigate malicious SVGs which try to consume all memory, and
those which try to consume an exponential amount of CPU time.
- #308 - Fix stack exhaustion with circular references in <use> elements.
- #323 - Fix a denial-of-service condition from exponential explosion
of rendered elements, through nested use of SVG "use" elements in
malicious SVGs. This is similar to the XML "billion laughs attack"
but for SVG instancing.
gegl v0.4.22 now uses .dylib as the extension for modules on Darwin.
Consequently, it is no longer necessary to rename the files post-install.
It is, however, necessary to use different extensions for more of PLIST.
Babl v0.1.74 now uses .dylib as the extension for modules on Darwin.
Consequently, it is no longer necessary to rename the files post-install,
but it is necessary to use different extensions for more of PLIST.