Version 0.16:
* API change allowing for library users to get the custom allocator
so it may be freed if necessary. This is useful if the allocator
is extended with e.g. a custom pointer needed by the allocator
callbacks.
This is largely a bugfix-only release. Most importantly, it contains
a fix for a use-after-free vulnerability (CVE-2019-7317) affecting
the simplified libpng API, and a fix for a memory leak affecting the
ARM NEON implementation of the palette-to-RGB(A) expansion.
0.8.4
=====
- Add missing field initializers
- Instead of thumbnails, the same icons with a crossed red circle (bug #13419)
- Resolve g_type_class_add_private() deprecation
- Glib-Critical errors to stdout: Source ID X was not found when attempting to
remove it (bug #15268)
- Fix memory leak (bug #12034)
- Show file size in the status bar (bug #14791)
- Fix opening of PPM files (bug #14709)
* Translation updates:
Arabic (ar), Asturian (ast), Belarusian (be), Bulgarian (bg), Catalan (ca),
Czech (cs), Danish (da), German (de), Greek (el), English (United Kingdom)
(en_GB), Spanish (es), Basque (eu), Finnish (fi), French (fr), Galician (gl),
Hebrew (he), Croatian (hr), Hungarian (hu), Indonesian (id), Icelandic (is),
Italian (it), Japanese (ja), Kazakh (kk), Korean (ko), Lithuanian (lt), Malay
(ms), Norwegian Bokmål (nb), Dutch (nl), Occitan (oc), Polish (pl), Portuguese
(pt), Portuguese (Brazil) (pt_BR), Romanian (ro), Russian (ru), Slovak (sk),
Slovenian (sl), Albanian (sq), Serbian (sr), Swedish (sv), Telugu (te), Thai
(th), Turkish (tr), Uighur (ug), Ukrainian (uk), Chinese (China) (zh_CN),
Chinese (Taiwan) (zh_TW)
-dri +osmesa. the dri case wasn't broken and already had expat.
expat is an easy dependency, and the default case will need it (and will
have it for various xorg things), so let's just keep it unconditional
and remove the conditional expat.
### mate-icon-theme 1.22.1
* Translations update
* Display the volume status with a better contrast in panels
* Upgrade svg source files to Inkscape 0.92.4
* Gen png icons from source - Mate theme
* Gen png icons from source. Mate: apps, categories & devices
* Update terminal icons for mate theme
Changelog:
Overview of Changes from GIMP 2.10.8 to GIMP 2.10.10
====================================================
Core:
- Add gimp-scratch allocator, a fast memory allocator (on the order of
magnitude of alloca()), suitable for small (up to a few megabytes),
short-lived (usually, bound to the current stack-frame) allocations.
Unlike alloca(), gimp-scratch doesn't use the stack, and is therefore
safer, and will also serve bigger requests, by falling-back to malloc().
- In gimp_drawable_transform_buffer_affine(), avoid modifying the
clipping mode when transforming layer masks, since this function
is used (among other things) to transform layer masks together with
their layer, in which case they should use the same clipping mode
as the layer. This fixes a regression introduced by commit 2ae823ba,
causing layer masks to be transformed with a mismatched clipping mode
during layer transforms, leading to discrepencies between the
transformed layer and the transformed mask.
- Moved swap/cache and temporary files out the GIMP user config dir and
added new config file substitutions ${gimp_cache_dir} and
${gimp_temp_dir}.
- Pass the GEGL tile-cache size, swap path, and thread-count to plug-ins
as part of their config, and have libgimp set the plug-in's GeglConfig
accordingly upon initialization.
- Layer groups are now rendered in bigger chunks rather than tile-by-tile
(which used to pretty much eliminate multithreading for groups), which
improves the rendering speed.
- Make saving/exporting files more robust to errors. In particular if
an error occurs during the process (be it a bug, a memory error, or
anything else), GIMP won't overwrite anymore any existing file with
incomplete contents, so that you won't end up with no valid files at
all.
- Fix a regression on support of various graphics tablet.
- Remove the "Edit -> Fade..." feature: it makes GIMP use two buffers
instead of one (east into system resources), it's broken in 2.10, and
we can make the UX better for filters.
- New generic canvas modifier 'Alt + middle click' allowing to pick
layers by clicking on pixels. The available layers will be looped
through (starting from the upper one) while Alt key is hold and the
picked layer name will be temporarily displayed in the status bar.
- When clearing a channel, do nothing if the channel is already empty;
otherwise, align the cleared rectangle to the channel buffer's tile
grid, so that all affected tiles are dropped, rather than zeroed.
Furthermore, only update the affected region of the channel.
- Brush and pattern saving logics has been moved to core code (instead
of plug-in).
- Clipboard brushes and pattern can now be duplicated.
- Parametric brushes are now 32-bit float to avoid posterization on
large brushes.
Note: raster brushes are still 8-bit and plug-ins only have access
to 8-bit versions of high-precision brushes/patterns. New API will
be required to handle high-precision data.
- On-canvas preview while editing a color in the colormap of an
indexed image.
User interface:
- Enabled HiDPI/Retina support for the GTK2/OSX build, fixes blurry icons.
- Add a tooltip to the "better compression" checkbox in save dialog to
make it clearer it does not mean that the file size is necessarily
smaller in every cases. In particular some best/worst case are
possible when an algorithm less efficient in general may end up
better on a particular image.
- Add basic support for cursors with a scale factor of 2 for HiDPI
(artwork to be updated).
- Foreground and background color icons, as well as color history will
now display out-of-gamut warning on indexed images for colors
outside of the palette, as well as on grayscale images, for non-gray
colors.
- Pack color picker and hexadecimal entry on same line in Color dock.
- Add an "Open as Image" button to the brushes dialog.
Usability:
- Attempting to transform locked layers or paint on them now results in
blinking around the status bar (where the warning message is displayed)
and around the toolbar where lock toggles are. The same applies to
attempting to move a selection where there is none — GIMP will blink
around the toolbar where the moving target (layer, selection, path)
is chosen.
- GIMP now allows selecting default export file type for new projects.
The choice is limited to PNG, JPEG, WebP, PSD, ORA, TIFF, BMP.
- GimpSpinScale widget now has an optional feature to constrain the
value to integer when dragging with a pointer (even if the scale
allows for fractional numbers), set with new function
gimp_spin_scale_set_constrain_drag().
This is useful for settings where fractional numbers are technically
possible, yet most common use case are with integers (such as pixel
sizes, angles in degrees, etc.) so you want the easy interface to be
constrained. Fractional numbers are still settable, for instance by
keyboard edit; and arrow incrementation won't drop fraction parts.
This is currently only activated for brush options in paint tools.
Tools:
- In scale tool, scale around center even when using numeric input.
- New algorithm in the Bucket Fill tool when selecting the affected
area "Fill by line art detection", based off the G'Mic algorithm for
"smart colorization": https://hal.archives-ouvertes.fr/hal-01891876
In a few words, it identifies painted pixels (either based on
grayscale or opacity values) and tries to close line arts to allow
filling even with not perfectly closed zones; the second step of the
algorithm will flood the colors under line art pixels to prevent
"holes" in the filling.
It is possible to control a max size (in pixels) for the flooding,
as well as max length of closing segments and splines.
- The Bucket Fill tool got new interaction allowing to hold the click
and move the mouse to fill based on several seed zones (for "Fill
by line art detection" as well as "Fill similar colors"). You can
now cancel the fill in progress with right click as in other tools.
- The Bucket Fill tool now allows color picking with ctrl-click, same
as every painting tool. It will pick either the foreground or
background color depending on the selected Fill Type. The ctrl-alt
modifier combination is also possible to pick the non-Fill Type
color.
- In the Bucket Fill tool, the Alt modifier will now switch to
"FG color fill" when "Pattern fill" was set (instead of doing
nothing).
- In the Unified Transform tool, default to preserving aspect ratio
when scaling up or down.
- In the Healing tool, "Sample merged" now also work for the target
pixels, allowing to draw in empty layers.
- Selection by color is now parallelized, hence improving speed of the
Select by Color tool (and any other processing which may share this
piece of code now or in the future).
- Add "Constrain handles" and "Around center" options to the
perspective-transform tool's GUI, which are similar to the
corresponding options of the unified-transform tool.
- Improve color picking on indexed image to always select an indexed
color corresponding to the picked pixel in the colormap.
Plug-ins:
- file-pdf-save GUI now clearly indicates the order the layers will be
used to make multi-page PDFs.
- Add DDS loading/exporting plug-in originally developed by Shawn Kirst
and Arne Reuter.
- Rename the Guillotine plug-in to Slice Using Guides.
- Add a new option saving a color profile when exporting PNG, JPEG, TIFF.
Always save it when exporting to PSD.
- Remove the "Advanced" expanders from the PNG and TIFF export dialogs.
- Full rewrite of the Spyrogimp plug-in with much more options and
better interaction.
- Indexed TIFF with alpha channel now supported.
Filters:
- Add on-canvas GUI (simple lines) for circular, linear, and zoom motion
blur.
Help:
- Link to the bugtracker directly from the Help menu, also link to the
wiki and the roadmap. Remove the link to currently disabled
registry.gimp.org.
Installers:
- Windows: proper fix for libthai to stop GIMP from crashing in the
Thai locale.
Translations:
- Czech, Danish, French, Italian, Japanese, Marathi, Polish, Russian,
Spanish, Swedish, Ukrainian.
Build:
- Bumping GTK+ dependency to the micro update GTK+ 2.24.32 to handle
several bugs on Windows (broken shortcuts on non-latin layouts and
broken vector icons).
Changelog:
GEGL-0.4.14 2019-03-xx
Core
New Scratch allocator for short lived buffers.
Removed unneeded buffer copies in some processing code paths in
GeglNode and GeglProcessor.
Add gegl_babl_variant API for getting variations on an existin
pixel-format/encoding.
Expose gegl_node_is_graph()
GeglBuffer
Compression of tile data.
Handle dynamically changing swap dir.
Improvements to mipmap damage propagation.
Fixes to threading race conditions.
Low-level tile handling more adapted to buffers creating from existing
linear data.
New iterator API is now the default, GEGL_BUFFER_ITERATOR2_API is no
longer needed.
CMYK/grayscale handling for scaled blits, code paths in samplers,
serialization.
New default tile-cache size, 50% of RAM.
Initialize the first OpenCL device with IMAGE support.
Added gegl_parallell_ from gimp_parallell_ API to distribute processing
for multiple cores.
Operations
crop, added aux-pad - if connected the incoming bounding box determines
the crop size.
Input-format specific processing for performance in watershed-transform
and invert ops. CMYK handling in jpg-load/save, tiff-load/save,
gaussian-blur, opacity, most composing and blending operations, text,
vector-stroke, path, and transform operations.
Improved or fixed mipmap preview rendering of emboss, linear-gradient
and radial-gradient.
Better ui strings/range/defaults for: distort/waves and dropshadow,
value-propagate.
gaussian-blur: fix mistake in implementation of IIR Young blur 1d,
which caused non circular halos.
New operation: pdf-load with build dependency on poppler-glib
Added offset properties to pixelize filter.
new ops in workshop: voroni diagram, Grey Color Removal, spyrograph.
Handle mipmap rendering for linear-gradient and radial-gradient.
UI
The existing microraptor-gui (immediate mode touch UI+CSS with cairo)
image viewer that can be built as part of the gegl binary has been
revisted, a graph/property editor has been added, and migration/
extension to lua has begun for parts of the code.
many parts of the UI is of exploratory proof of concept/alpha
Warning quality but released since it is part of the GEGL repository
and useful development tools both for creating and testing new
GEGL operations as well as GEGL itself.
Some screenshots showing some the process towards the state and
capabilties of the UI in this release can be seen at https://
www.patreon.com/posts/24123574
To build with this UI the following dependencies also need to be
satisifed, for now this is not intended to be packaged by distributions
yet.
libluajit-dev
lua-lgi (debian package name) upstream:
mmm https://github.com/hodefoting/mmm
mrg https://github.com/hodefoting/mrg
Features: folder view resolution independent UI touch oriented
navigation GIF / video playback PDF pagination goats that expose
performance and capabilty issues in GEGL efficient (though not
sandboxed) thumbnailing embedded simple commandline graph editor
zoomable automatic, consistent graph layout autogenerated
property-inspector ui visualization of color model/bitdepth through
styling of edges live-extendable with lua code for per-operation canvas
UI
Contributors to this release:
Alan Mortensen, Alexandre Prokoudine, Anders Jonsson, Andre Klapper,
Debarshi Ray, elad, Ell, Jehan, Marco Ciampa, Michael Natterer, Øyvind
Kolås, Piotr Drąg, Richard B. Kreckel, Rodrigo Lledó, sabri ünal,
thetoastcaper, Thomas Manni and woob.
This release depends on the new features of babl-0.1.62 which has the
following change summary for the last release:
Continuous integration with gitlab. Initial CMYK spaces with lcms2
based ICC support, much room for optimization. Improved custom space
support for palette formats. scRGB space, works like sRGB but always
with linear TRCs. Model introspection API permitting low overhead
checks whether a format/model is RGB, CMYK type of alpha and similar.
Changelog:
2019-02-01 babl-0.1.62
Continuous integration with gitlab.
Initial CMYK spaces with lcms2 based ICC support, much room for optimization.
Improved custom space support for palette formats.
scRGB space, works like sRGB but always with linear TRCs.
Model introspection API permitting low overhead checks whether a format/model
is RGB, CMYK type of alpha and similar.
6.0.0:
Python 2.7 support will be removed in Pillow 7.0.0
Add EXIF class
Add ImageOps exif_transpose method
Added warnings to deprecated CMSProfile attributes
Documented reading TIFF multiframe images
Improved speed of opening an MPO file
Update palette in quantize
Improvements to TIFF is_animated and n_frames
Fixed incompatible pointer type warnings
Improvements to PA and LA conversion and palette operations
Consistent DPI rounding
Change size of MPO image to match frame
Read Photoshop resolution data
Ensure image is mutable before saving
Correct remap_palette documentation
Promote P images to PA in putalpha
Allow RGB and RGBA values for new P images
Fixed TIFF bug when seeking backwards and then forwards
Cache EXIF information
Added transparency for all PNG greyscale modes
Fix deprecation warnings in Python 3.8
Fixed GIF bug when rewinding to a non-zero frame
Only close original fp in __del__ and __exit__ if original fp is exclusive
Fix BytesWarning in Tests/test_numpy.py
Add missing MIME types and extensions
Add I;16 PNG save
Add support for BMP RGBA bitfield compression
Added ability to set language for text rendering
Only close exclusive fp on Image __exit__
Changed EPS subprocess stdout from devnull to None
Add reading old-JPEG compressed TIFFs
Add EXIF support for PNG
Add option to set dither param on quantize
Add reading of DDS uncompressed RGB data
Correct length of Tiff BYTE tags
Add DIB saving and loading through Image open
Removed deprecated VERSION
Fix 'BytesWarning: Comparison between bytes and string' in PdfDict
Do not resize in Image.thumbnail if already the destination size
Replace .seek() magic numbers with io.SEEK_* constants
Make ContainerIO.isatty() return a bool, not int
Add support to all transpose operations for I;16 modes
Deprecate support for PyQt4 and PySide
Add TIFF compression codecs: LZMA, Zstd, WebP
Fixed pickling of iTXt class with protocol > 1
_util.isPath returns True for pathlib.Path objects
Remove unnecessary unittest.main() boilerplate from test files
Exif: Seek to IFD offset
Deprecate PIL.*ImagePlugin.__version__ attributes
Docs: Add note about ImageDraw operations that exceed image bounds
Allow for unknown PNG chunks after image data
Changed EPS subprocess stdin from devnull to None
Fix possible integer overflow
Catch BaseException for resource cleanup handlers
Improve pytest configuration to allow specific tests as CLI args
Drop support for Python 3.4
Remove deprecated PIL.OleFileIO
Remove deprecated ImageOps undocumented functions
Depends: Update libwebp to 1.0.2
Detect MIME types
v2.3.1:
v2.2.0 regression for decoding images where TNsot == 0
Int overflow in jp3d
Heap buffer overflow in opj_j2k_update_image_data() triggered with Ghostscript
LINUX install doesn't work when building shared libraries is disabled
OPENJPEG null ptr dereference in openjpeg-2.3.0/src/bin/jp2/convert.c:2243
How to drop certain subbands/layers in DWT
where is the MQ-Coder ouput stream in t2.c?
OpenJPEG 2.3 (and 2.2?) multi component image fails to decode with KDU v7.10
Missing checks for header_info.height and header_info.width in function pnmtoimage in src/bin/jpwl/convert.c, which can lead to heap buffer overflow
Assertion Failure in jp2.c
Division-by-zero vulnerabilities in the function pi_next_pcrl, pi_next_cprl and pi_next_rpcl in src/lib/openjp3d/pi.c
Precinct switch (-c) doesn't right-shift last record to remaining resolution levels
Sample: encode J2K a data using streams???
HIGH THROUGHPUT JPEG 2000 (HTJ2K)
How to build openjpeg for arm linux?
crash
JP2000 returning OPJ_CLRSPC_UNKNOWN color space
Compilation successful but install unsuccessful: Calling executables throws libraries missing error
fprintf format string requires 1 parameter but only 0 are given
fprintf format string requires 1 parameter but only 0 are given
sprintf buffer overflow
sprintf buffer overflow
Infinite loop when reading jp2
missing format string parameter
Excessive Iteration in opj_t1_encode_cblks (src/lib/openjp2/t1.c)
Out-of-bound left shift in opj_j2k_setup_encoder (src/lib/openjp2/j2k.c)
Encode image on Unsplash
Integer overflow in opj_t1_encode_cblks (src/lib/openjp2/t1.c)
Signed Integer Overflow - 68065512
Similar vulnerable functions related to CVE-2017-14041
[ERROR] COD marker already read. No more than one COD marker per tile.
failing to install latest version of openjpeg from source
Trouble compressing large raw image
Download and installed code from 2.3 archive. Installing 2.2?
missing fclose
NULL Pointer Access in function imagetopnm of convert.c(jp2):1289
NULL Pointer Access in function imagetopnm of convert.c:2226(jp2)
Heap Buffer Overflow in function imagetotga of convert.c(jp2):942
Merged pull requests:
abi-check.sh: fix broken download URL
opj_t1_encode_cblks: fix UBSAN signed integer overflow
convertbmp: detect invalid file dimensions early (CVE-2018-6616)
color_apply_icc_profile: avoid potential heap buffer overflow
Fix multiple potential vulnerabilities and bugs
Fix several memory and resource leaks
Fix some potential overflow issues
jp3d/jpwl convert: fix write stack buffer overflow
Int overflow fixed
Update knownfailures- files given current configurations
CVE-2018-5785: fix issues with zero bitmasks
openjp2/jp2: Fix two format strings
Changes in pnmtoimage if image data are missing
Relative path to header files is hardcoded in OpenJPEGConfig.cmake.in file
Cast on uint ceildiv
Add -DBUILD_PKGCONFIG_FILES to install instructions
Fix some typos in code comments and documentation
Fix regression in reading files with TNsot == 0 (refs
Use local type declaration for POSIX standard type only for MS compiler
Fix Mac builds
jp3d: Replace sprintf() by snprintf() in volumetobin()
opj_mj2_extract: Rename output_location to output_prefix
mj2: Add missing variable to format string in fprintf() invocation in meta_out.c
Convert files to UTF-8 encoding
fix unchecked integer multiplication overflow
Fixed typos
Note that seek uses SEEK_SET behavior.
Some Doxygen tags are removed
Fix resource leak (CID 179466)
Changed cmake version test to allow for cmake 2.8.11.x
Add missing fclose() statement in error condition.
FreeType 2.10.0
This release brings one notable feature, namely support for color-layered outline glyphs (for example, scalable emoji glyphs). Additionally, the API reference has been completely overhauled and modernized, as already announced.
1.78.0:
* Various improvements in handling boxa sequences and transforms.
* New regression tests: boxa4_reg, string_reg
* New function for copying a pix, filtered by a boxa.
* Modify histogram method for image comparison.
* More careful attention to invalid boxes in box geometry functions.
* Better string and array functions for search and replace.
* Convenience functions for generating simple masks.
* Allow pdf writing of jp2k images, in full generality.
* Allow writing compressed ps images for printing.
* Modified enum comments to include a suggested enum name.
* New program: imagetops
Upstream changes:
== Ruby-GNOME2 3.3.6: 2019-03-21
This is a follow-up release of 3.3.5.
=== Changes
==== Ruby/GIO2
* Improvements
* (({Gio::File#read})): Added support for block.
* (({Gio::File.open})): Added support for (({Pathname})).
* (({Gio::InputStream.open})): Added support for block.
==== Ruby/CairoGObject
* Fixes
* Fixed a bug that old cairo may be used.
==== Ruby/GObjectIntrospection
* Fixes
* Fixed a bug that 64bit integer conversion may be failed for
large integer.
* Fixed typos.
Upstream changes:
== Ruby-GNOME2 3.3.5: 2019-03-10
This is a follow-up release of 3.3.4.
=== Changes
==== Ruby/GObjectIntrospection
* Improvements
* Ignored no (({GType})) interface.
Upstream changes:
== Ruby-GNOME2 3.3.4: 2019-03-09
This is a real release to support GLib 2.60.
=== Changes
==== Ruby/GObjectIntrospection
* Improvements
* Ignored no (({GType})) interface.
== Ruby-GNOME2 3.3.3: 2019-03-09
This is a release to support GLib 2.60.
=== Changes
==== Ruby/GLib2
* Improvements
* Made tests more robust.
[GitHub#1272][Reported by Jeremy Bicha]
* Required pkg-config 1.3.5 or later.
* Added support for GLib 2.60.
* Windows: Removed support for static compilation.
* Fixes
* (({GLib::PollFD#fd=})): Fixed wrong conversion.
==== Ruby/GObjectIntrospection
* Improvements
* Improved auto (({#==}))/(({#!=})) implementations.
They returns (({true}))/(({false})) for invalid argument instead
of raising an error.
==== Ruby/GTK2
* Improvements
* Made tests more robust.
[GitHub#1275][Reported by Jeremy Bicha]
==== Ruby/RSVG2
* Improvements
* Made tests more robust.
[GitHub#1273][Reported by Mamoru TASAKA]
==== Ruby/Poppler
* Improvements
* (({Poppler::Document.new(data:)})):
Added support for (({Encoding.default_internal})).
* (({Poppler::Document.new})):
Added support for (({#to_path})) objects as path.
=== Thanks
* Jeremy Bicha
* Mamoru TASAKA
jbig2enc is a encoder for the JBIG2 image compression format. JBIG2 is
designed for lossy and lossless encoding of monochrome images at
moderately high resolutions. For scanned paper documents, compression
ratios on the order of 100:1 are often seen.