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.
1.3.35 (February 23, 2020)
==========================
Special Issues:
* It has been discovered that the 'ICU' library (a perhaps 30MB C++
library) which is now often a libxml2 dependendency causes huge
process initialization overhead. This is noticed as unexpected
slowness when GraphicsMagick utilities are used to process small to
medium sized files. The time to initialize the 'ICU' library is
often longer than the time that GraphicsMagick would otherwise
require to read the input file, process the image, and write the
output file. If the 'ICU' dependency can not be avoided, then make
sure to use the modules build so there is only impact for file
formats which require libxml2. Please lobby the 'ICU' library
developers to change their implementation to avoid long start-up
times due to merely linking with the library.
Security Fixes:
* GraphicsMagick is now participating in Google's oss-fuzz project due
to the contributions and assistance of Alex Gaynor. Since February 4
2018, 398 issues have been opened by oss-fuzz (some of which were
benign build issues) and 11 issues remain open.
The issues list is available at
https://bugs.chromium.org/p/oss-fuzz/issues/list under search term
"graphicsmagick". Issues are available for anyone to view and
duplicate if they have been in "Verified" status for 30 days, or if
they have been in "New" status for 90 days. There are too many
fixes to list here. Please consult the GraphicsMagick ChangeLog
file, Mercurial repository commit log, and the oss-fuzz issues list
for details.
Bug fixes:
* Fix broken definition of ResourceInfinity which resulted in that
GetMagickResource() would return -1 rather than the maximum range
value for the return type as documented. (problem added by the
1.3.32 release).
* ModifyCache(): Re-open the pixel cache if the cache rows/columns do
not match the owning image rows/columns.
* Fix DisplayImages() return status. The return status was inverted.
* HISTOGRAM: Histogram once again includes the histogram as a text
comment. This became broken by previous security fixes.
* PICT: Fixed heap buffer overuns reported multiple sources.
* JNG: Detect when JPEG encoder has failed and throw an exception.
* MVG/DrawImage(): Performs even more parsing validations.
* Clang static analyzer fixes: A great many fixes were made based on
problem reports by the Clang static analyzer.
* Visual Studio static analyzer fixes: A great many fixes were made
based on problem reports by the Visual Studio 2019 static analyzer.
Many of these may improve the robustness of 64-bit code.
New Features:
* GRADIENT/GradientImage(): Improved accuracy of gradient levels as
well as dramaticaly improving performance. Output PseudoClass
images if we can. Add support for using the image 'gravity'
attribute as well as the "gradient:direction" definition to produce
gradient vector directions corresponding to SouthGravity (the
previously-existing default), NorthGravity, WestGravity,
EastGravity, NorthWestGravity, NorthEastGravity, SouthWestGravity,
and SouthEastGravity.
API Updates:
* InitializeMagickEx(): New function which may be used in place of
InitializeMagick() to initialize GraphicsMagick. This
initialization function returns an error status value, may update a
passed ExceptionInfo structure with error information, and provides
an options parameter which supports simple bit-flags to tailor
initialization. The signal handler registrations are skipped if the
MAGICK_OPT_NO_SIGNAL_HANDER flag is set in the options.
Feature improvements:
* Replace use of non-reentrant legacy POSIX functions with reentrant
equivalents.
* Timing of image reads should now be very accurate. The timer was
sometimes not stopped as soon as it should be.
* PICT: The PICT reader is working pretty good now. It handles all
the PICT image files I have available to me.
Windows Delegate Updates/Additions:
* None
Build Changes:
* Visual Studio Build: Configure program now provides a checkbox to
enable common optimizations for better performance.
Behavior Changes:
* POSIX Signals: Use the normal termination signal handler for SIGXCPU
and SIGXFSZ so that ulimit or setrlimit(2) may be used to apply CPU
(RLIMIT_CPU) and output file size (RLIMIT_FSIZE) limits with the
normal cleanup, and without dumping core. Note that any output files
currently being written may be truncated and files being written by
external programs (e.g. Ghostscript) might be left behind unless
they are to a temporary file assigned by GraphicsMagick.
* Some private string and integer constants were removed from the
apparent library ABI. Some private functions were marked static and
removed from the apparent library ABI. This is mentioned because
someone is sure to notice and be concerned about it.
* The remaining private content in installed header files was moved
into -private.h header files which are not installed. This should
not be cause for concern but is mentiond because someone is sure to
notice and be concerned about it.
GEGL-0.4.22 2020-02-18
----------------------
Build
~~~~~
Updates to python gobject introspection tests, and made them able to look up
babl typelib.
Build pdf:load again; missing since meson migration.
Fix OpenCL include file generation to work in non-utf8 locales.
Operations
~~~~~~~~~~
matting-{global,levin}: fix crash when bounding boxes of input and aux differ.
Contributors to this release
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Anders Jonsson, band-a-prend, Ell, Félix Piédallu and Øyvind Kolås.
Apparently the installed location for gimp-debug-tool differs for Darwin
versus other platforms. The Makefile included logic to define the location,
but was not used in PLIST. This just adds the appropriate substitution
into PLIST.
Darwin uses a different extension (.dylib) than other Unixes (.so) for
shared libraries that applications must link against. However, Gnome
applications expect plugins to use the same extension (.so) on all platforms,
including Darwin. Consequently, on Darwin some shared libraries must be
renamed, both on the filesystem and internally, and others must use the
correct extension in PLIST. This is partially mentioned in PR #54824, but
that missed the need for internal renaming of the libraries. It also
introduced a dependency on the Apple OpenCL framework, which does not seem
to be necessary.
Finally, all the references to Apple-specific OpenCL code must be removed;
previously only some of them were.
The previous patch removed use of --version-script on Darwin and converted
the shared library extensions to the Darwin standard of .dylib. The former
is necessary, but the latter was not quite correct. A distinction must be
made between shared libraries provided by the package for linking of
applications and shared libraries provided by the package for dynamic loading
by Gnome applications. Gnome applications expect that plugins will use the
.so extension on all Unix platforms, including Darwin. Thus, a subset of the
shared libraries must be renamed, both on the filesystem and internally.
This is partly mentioned in PR #54824, although that is for graphics/gegl
not tnis package.
- must use march=i586 on i386 for 64-bit atomic CAS
- call through @plt from position independent code
- put back the stock STUB_ASM_CODE for non-NetBSD
Image viewer and screenshot tool for the LXQt desktop
Packaged in pkgsrc-wip by pin, as part of a broader effort toward
providing all of LXQt and associated utility applications.
During the build, newly compiled applications are run and require libraries also
within the build area. At least on Darwin, these must be accessed via
LD_LIBRARY_PATH, which must be added to the meson build files to be included in
the appropriate commands.
- workaround for toolchain/50277 had bitrotted after meson switch
- make tls dispatch stub template behave correct (with input from joerg@)
- double alignment of stubs to accommodate slightly larger code size
Fixes among other things Xorg crash in glamor_egl_init().
2.0.0:
* Fix a bug
- Fix '_io.BufferedRandom' object has no attribute 'buffer'
2.0.0:
* Drop python2 and python3.4 support
* Fix a bug
- Fix blockdiag does not work with recent pillow
REL: v3.1.3
This is the final planned release of the 3.1.x series.
This release contains several critical bug-fixes:
- suppress a warning with Pandas 1.0
- support pillow >= 7
- support dateutils >= 2.8.1
- prevent an infinite recursion
- do not clobber non-python registered signal handler
- fix path intersection computation with 0 length segments
- fix performance regression in draw_idle
- several minor bugs
ChangeLog:
AnsiLove/C 4.1.0 (2020-02-17)
- Add a new '-t' flag (type), allowing to specify input file type and
override file type detection
- Various documentation tweaks and improvements
ChangeLog:
libansilove 1.2.0 (2020-02-17)
- Correct section number in manual page.
- Add initial manual pages for all library functions and file formats renders
- Stop calculating columnMax in the PCBoard loader, it's unused
- Add support for user-specified columns in the PCBoard loader
Upstream changes (from NEWS):
Release 1.16.5 (2020-02-03) Sutou Kouhei <kou@cozmixng.org>
============================================================
Improvements
------------
* Added Cairo::Context#raw_address for integration with other
libraries.
[GitHub#59][Reported by kojix2]
Fixes
-----
* Changed to use only ASCII for color name.
[GitHub#57][Reported by spoolkitamura]
* Fixed the number of arguments of the following methods:
* Cairo::Surface#copy_page
* Cairo::Surface#show_page
Thanks
------
* spoolkitamura
* kojix2
Summary:
Various fixes for memory leaks and invalid memory accesses
Various fixes for integer overflow with large images.
Various cmake fixes for build/install of python modules.
ImfMisc.h is no longer installed, since it's a private header.
Version 0.5.9
Fixed dither parameter in Image.quantize() method for ImageMagick-7.
Added Image.combine() method. [Thanks Fred!]
Check __fspath__ attribute for filename parameter when calling Image.save().
Fixed typo in ProfileDict documentation.
Fixed typo in Resource.c_is_resource documentation.
Updated broken sentence in Image.thumbnail() method.
Check for linux_distribution() as method was removed in Python 3.8.
Added Image.delay property. Previously only available with SingleImage class.
This package is causing a lot of problems in bulk builds. There's no reason
all the SVGs can't be pregenerated, but instead it needs to do a few hours
of parallel conversions with inkscape.
it's now unmaintained upstream so there's little chance of it getting
distributed in a more sensible way in the future, and as maintainer, I
no longer care about this package
build with qt5 5.14
All frameworks
Port from QRegExp to QRegularExpression
Port from qrand to QRandomGenerator
Fix compilation with Qt 5.15 (e.g. endl is now Qt::endl,
QHash insertMulti now requires using QMultiHash...)
Attica
Don't use a verified nullptr as a data source
Support multiple children elements in comment elements
Set a proper agent string for Attica requests
Baloo
Correctly report if baloo_file is unavailable
Check cursor_open return value
Initialise QML monitor values
Move URL parsing methods from kioslave to query object
Breeze Icons
Change XHTML icon to be a purple HTML icon
Merge headphones and zigzag in the center
Add application/x-audacity-project icon
Add 32px preferences-system
Add application/vnd.apple.pkpass icon
icon for ktimetracker using the PNG in the app repo, to be replaced
with real breeze SVG
add kipi icon, needs redone as a breeze theme svg [or just kill off kipi]
Extra CMake Modules
[android] Fix apk install target
Support PyQt5 compiled with SIP 5
Framework Integration
Remove ColorSchemeFilter from KStyle
KDE Doxygen Tools
Display fully qualified class/namespace name as page header
KCalendarCore
Improve README.md to have an Introduction section
Make incidence geographic coordinate also accessible as a property
Fix RRULE generation for timezones
KCMUtils
Deprecate KCModuleContainer
KCodecs
Fix invalid cast to enum by changing the type to int rather than enum
KCompletion
Deprecate KPixmapProvider
[KHistoryComboBox] Add method to set an icon provider
KConfig
kconfig EBN transport protocol cleanup
Expose getter to KConfigWatcher's config
Fix writeFlags with KConfigCompilerSignallingItem
Add a comment pointing to the history of Cut and Delete sharing a shortcut
KConfigWidgets
Rename "Configure Shortcuts" to "Configure Keyboard Shortcuts"
KContacts
Align ECM and Qt setup with Frameworks conventions
Specify ECM dependency version as in any other framework
KCoreAddons
Add KPluginMetaData::supportsMimeType
[KAutoSaveFile] Use QUrl::path() instead of toLocalFile()
Unbreak build w/ PROCSTAT: add missing impl. of KProcessList::processInfo
[KProcessList] Optimize KProcessList::processInfo
[KAutoSaveFile] Improve the comment in tempFileName()
Fix KAutoSaveFile broken on long path
KDeclarative
[KeySequenceHelper] Grab actual window when embedded
Add optional subtitle to grid delegate
[QImageItem/QPixmapItem] Don't lose precision during calculation
KFileMetaData
Partial fix for accentuated characters in file name on Windows
Remove unrequired private declarations for taglibextractor
Partial solution to accept accentuated characters on windows
xattr: fix crash on dangling symlinks
KIconThemes
Set breeze as default theme when reading from configuration file
Deprecate the top-level IconSize() function
Fix centering scaled icons on high dpi pixmaps
KImageFormats
pic: Fix Invalid-enum-value undefined behaviour
KIO
[KFilePlacesModel] Fix supported scheme check for devices
Embed protocol data also for Windows version of trash ioslave
Adding support for mounting KIOFuse URLs for applications that don't use KIO
Add truncation support to FileJob
Deprecate KUrlPixmapProvider
Deprecate KFileWidget::toolBar
[KUrlNavigator] Add RPM support to krarc:
KFilePlaceEditDialog: fix crash when editing the Trash place
Add button to open the folder in filelight to view more details
Show more details in warning dialog shown before starting a
privileged operation
KDirOperator: Use a fixed line height for scroll speed
Additional fields such as deletion time and original path are now
shown in the file properties dialog
KFilePlacesModel: properly parent tagsLister to avoid memleak.
HTTP ioslave: call correct base class in virtual_hook(). The
base of HTTP ioslave is TCPSlaveBase, not SlaveBase
Ftp ioslave: fix 4 character time interpreted as year
Re-add KDirOperator::keyPressEvent to preserve BC
Use QStyle for determining icon sizes
Kirigami
ActionToolBar: Only show the overflow button if there are visible
items in the menu
Don't build and install app templates on android
Don't hardcode the margin of the CardsListView
Add support for custom display components to Action
Let the other components grow if there's more things on the header
Remove dynamic item creation in DefaultListItemBackground
reintroduce the collapse button
Show application window icon on AboutPage
KItemModels
Add KColumnHeadersModel
KJS
Added tests for Math.exp()
Added tests for various assignment operators
Test special cases of multiplicate operators (*, / and %)
KNewStuff
Ensure the dialog title is correct with an uninitialised engine
Don't show the info icon on the big preview delegate
Support archive installs with adoption commands
Send along the config name with requests
KPeople
Expose enum to the metaobject compiler
KQuickCharts
Also correct the shader header files
Correct license headers for shaders
KService
Deprecate KServiceTypeProfile
KTextEditor
Add "line-count" property to the ConfigInterface
Avoid unwanted horizontal scrolling
KWayland
[plasmashell] Update docs for panelTakesFocus to make it generic
[plasmashell] Add signal for panelTakesFocus changing
KXMLGUI
KActionCollection: provide a changed() signal as a replacement for removed()
Adjust keyboard shortcut configuration window's title
NetworkManagerQt
Manager: add support for AddAndActivateConnection2
cmake: Consider NM headers as system includes
Sync Utils::securityIsValid with NetworkManager
Plasma Framework
[ToolTip] Round position
Enable wheel events on Slider {}
Sync QWindow flag WindowDoesNotAcceptFocus to wayland plasmashell interface
[calendar] Check out of bounds array access in QLocale lookup
[Plasma Dialog] Use QXcbWindowFunctions for setting window types Qt
WindowFlags doesn't know
[PC3] Complete plasma progress bar animation
[PC3] Only show progress bar indicator when the ends won't overlap
[RFC] Fix Display Configuration icon margins
[ColorScope] Work with plain QObjects again
[Breeze Desktop Theme] Add monochrome user-desktop icon
Remove default width from PlasmaComponents3.Button
[PC3 ToolButton] Have the label take into account complementary color schemes
Added background colors to active and inactive icon view
QQC2StyleBridge
[ToolTip] Round position
Update size hint when font changes
Solid
Display first / in mounted storage access description
Ensure mounted nfs filesystems matches their fstab declared counterpart
Sonnet
The signal done is deprecated in favour of spellCheckDone, now correctly emitted
Syntax Highlighting
LaTeX: fix brackets in some commands
TypeScript: add "bigint" primitive type
Python: improve numbers, add octals, binaries and "breakpoint" keyword
SELinux: add "glblub" keyword and update permissions list
Several enhancements to gitolite syntax definition
pkglint -r --network --only "migrate"
As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
ChangeLog:
libansilove 1.1.9 (2020-01-20)
- Remove unneeded gdImageColorAllocate calls in the ADF and IDF loaders
- Reset background24 to 0 when encountering blink attribute in an SGR
sequence, fixing the remaining rendering bugs for 24-bit ANSI artworks
Changelog:
Version 9d 12-Jan-2020
-----------------------
Optimize the optimal Huffman code table generation to produce
slightly smaller files. Thank to John Korejwa for suggestion.
Note: Requires rebuild of testimgp.jpg.
Decoding Huffman: Use default tables if tables are not defined.
Thank to Simone Azzalin for report (Motion JPEG),
and to Martin Strunz for hint.
Add sanity check in optimal Huffman code table generation.
Thank to Adam Farley for suggestion.
rdtarga.c: use read_byte(), with EOF check, instead of getc()
in read_*_pixel().
Thank to Chijin Zhou for cjpeg potential vulnerability report.
jmemnobs.c: respect the max_memory_to_use setting in
jpeg_mem_available() computation. Thank to Sheng Shu and
Dongdong She for djpeg potential vulnerability report.
jdarith.c, jdhuff.c: avoid left shift of negative value
compiler warning in decode_mcu_AC_refine().
Thank to Indu Bhagat for suggestion.
Add x64 (64-bit) platform support, avoid compiler warnings.
Thank to Jonathan Potter, Feiyun Wang, and Sheng Shu for suggestion.
Adjust libjpeg version specification for pkg-config file.
Thank to Chen Chen for suggestion.
Restore GIF read and write support from libjpeg version 6a.
Thank to Wolfgang Werner (W.W.) Heinz for suggestion.
Improve consistency in raw (downsampled) image data processing mode.
Thank to Zhongyuan Zhou for hint.
Avoid out of bounds array read (AC derived table pointers)
in start pass in jdhuff.c. Thank to Peng Li for report.
Improve code sanity (jdhuff.c).
Thank to Reza Mirzazade farkhani for reports.
Add jpegtran -drop option; add options to the crop extension and wipe
to fill the extra area with content from the source image region,
instead of gray out.
Build fix for older compilers with c89 default...
../babl/base/formats.c: In function 'babl_formats_init':
../babl/base/formats.c:38:3: error: 'for' loop initial declarations are only allowed in C99 mode
ChangeLog:
AnsiLove/C 4.0.7 (2020-01-18)
- Use OpenBSD style(9) for function prototypes and declarations
- Replace EXIT_SUCCESS by zero in all SAUCE functions
- Do not use typedef for the sauce struct
- Set icecolors to true if defined in SAUCE record ANSiFlags
- Add test cases for most supported formats, missing an IDF file for now
- Sync the description of Retina output capabilities with reality
ChangeLog:
libansilove 1.1.8 (2020-01-18)
- Use OpenBSD style(9) for function prototypes and declarations
- Properly reset pcboard buffer when CLS is encountered
- Use memcmp() instead of testing each character one by one in the PCB loader
- Do not use background and foreground variables to handle 24-bit ANSI colors
- Various improvements in the IDF loader
I am under the impression we use _THING to mean "defined by the
implementation", which would be similar to the C meaning of __ prefix,
rather than "private to this file".
Update distfile for libfpx, difference from the old one:
our patches are applied in it and it is available at the mastersite.
Fix build on illumos and perhaps other platforms by using autoconf
to look for the endian headers instead of using __sun
(solaris.h is not available on illumos).
bump pkgrevision.
pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
pkgsrc changes:
---------------
* Undefine ALIGN symbol as close as possible to the ALIGN function since
it is defined in machine/param.h on FreeBSD.
* Add test to verify there is at least one needed gallium driver for VA.
On FreeBSD, nouveau is disabled and r600 and radeonsi are enabled only
if llvm option is activated.
2020-01-04 7.0.9-14 Cristy <quetzlzacatenango@image...>
* Release ImageMagick version 7.0.9-14, GIT revision 16654:89ef7ea:20200104.
2020-01-01 7.0.9-14 Cristy <quetzlzacatenango@image...>
* Support extended Fx assignment operators (e.g. *=, /=, ++, --, etc.)
* Support Fx for() iterator.
* Optimize Fx performance.
* Ensure circle.rb renders the same for IMv6 and IMv7 (reference
https://github.com/rmagick/rmagick/issues/905).
6.2.2:
- This is the last Pillow release to support Python 2.7
- Overflow checks for realloc for tiff decoding. CVE TBD
- Catch SGI buffer overrun. CVE TBD
- Catch PCX P mode buffer overrun. CVE TBD
- Catch FLI buffer overrun. CVE TBD
- Raise an error for an invalid number of bands in FPX image. CVE-2019-19911
imv is a command line image viewer intended for use with tiling
window managers.
Features
--------
* Native Wayland and X11 support
* Support for dozens of image formats including:
* PNG
* JPEG
* Animated GIFs
* SVG
* TIFF
* Various RAW formats
* Photoshop PSD files
* Configurable key bindings and behaviour
* Highly scriptable with IPC via imv-msg
Release 3.18.0 is a maintenance release that mainly brings updates of its third party libraries.
The library has been updated with the new ZLib (1.2.11), LibJPEG (9c), LibPNG (1.6.35), LibTIFF (4.0.9), LibRaw (0.19.0), LibWebP (1.0.0), OpenEXR (2.2.1).
Other significant improvements concern better support for JPEG saving (when using 32-bit CMYK images) and PSD saving.
Lastly, the library contains many bug fixes provided by our users (will concern especially plugins PCX, TIFF, XPM, GIF, TARGA, PSD, BMP, DDS, PNG, HDR).
As usual, check the changes log for full details (especially for bug fixes) and check also the updated FreeImage documentation.
I originally imported this thinking it'd be useful. Turns out it's only
useful when you need proprietary nvidia drivers and Mesa to coeexist, and
this isn't supported in pkgsrc anyway.
1.3.34 (December 24, 2019)
==========================
Special Issues:
* It has been discovered that the 'ICU' library (a perhaps 30MB C++
library) which is now often a libxml2 dependendency causes huge
process initialization overhead. This is noticed as unexpected
slowness when GraphicsMagick utilities are used to process small to
medium sized files. The time to initialize the 'ICU' library is
often longer than the time that GraphicsMagick would otherwise
require to read the input file, process the image, and write the
output file. If the 'ICU' dependency can not be avoided, then make
sure to use the modules build so there is only impact for file
formats which require libxml2. Please lobby the 'ICU' library
developers to change their implementation to avoid long start-up
times due to merely linking with the library.
Security Fixes:
* GraphicsMagick is now participating in Google's oss-fuzz project due
to the contributions and assistance of Alex Gaynor. Since February 4
2018, 386 issues have been opened by oss-fuzz (some of which were
benign build issues) and 376 of those issues have been resolved.
The issues list is available at
https://bugs.chromium.org/p/oss-fuzz/issues/list under search term
"graphicsmagick". Issues are available for anyone to view and
duplicate if they have been in "Verified" status for 30 days, or if
they have been in "New" status for 90 days. There are too many
fixes to list here. Please consult the GraphicsMagick ChangeLog
file, Mercurial repository commit log, and the oss-fuzz issues list
for details.
Bug fixes:
* DPS: Eliminate a memory leak.
* Debug Trace: Only output text to terminate an XML format log file if
XML format is active.
* EXIF Parser: Detect non-terminal parsing and report an error.
* EXIF Parser: Eliminate heap buffer overflows.
* HuffmanDecodeImage(): Fix heap overflow in 32-bit applications.
* MAT: Implement subimage/subrange support.
* MVG: Address non-terminal loops, excessive run-time, thrown
assertions, divide-by-zero, heap overflow, and memory leaks.
* OpenModule(): Now properly case-insensitive, as it used to be.
* PCX: Verify that pixel region is not negative. Assure that opacity
channel is initialized to opaqueOpacity. Update DirectClass
representation while PseudoClass representation is updated. Improve
read performance with uncompressed PCX.
* PICT: Fix heap overflow in PICT writer.
* PNG: Fix validation of raw profile length.
* PNG: Skip coalescing layers if there is only one layer.
* PNM: Fix denial of service opportunity by limiting the length of PNM
comment text.
* WPG: Avoid Avoid dereferencing a null pointer.
* WPG: Implement subimage/subrange support.
* WPG: Improve performance when reading an embedded image.
* Wand library: In MagickClearException(), destroy any existing
exception info before re-initializing the exception info or else
there will be a memory leak.
* XPM: Rquire that image properties appear in the first 512 bytes of
the XPM file header.
New Features:
* Visual Studio build supports JBIG and WebP compression in TIFF format.
API Updates:
* None
Feature improvements:
* Compliles clean using GCC 9.
Windows Delegate Updates/Additions:
* bzlib: bzip is updated to 1.0.8 release.
* jbig: jbigkit is updated to 2.1 release.
* lcms: lcms2 is updated to 2.9 release.
* libxml: libxml2 is updated to 2.9.10 release.
* png: libpng is updated to 1.6.37 release.
* tiff: libtiff is updated to 4.1.0 release.
* webp: libwebp is updated to the 1.0.3 release.
* zlib: zlib is updated to 1.2.11 release.
* TIFF: Now also supports reading JBIG-compressed TIFF, and
reading/writing WebP-compressed TIFF. A number of libtiff feature
options which are now commonly enabled were disabled and are now
enabled by default.
Build Changes:
* MinGW: Static and shared library builds were not working. Only the
modules build was actually working!
* Python scripts related to the build (enabled by
--enable-maintainer-mode) are now compatible with Python 3.
* Now supports using Google gperftools tcmalloc library for the memory
allocator. This improves performance for certain repetitive
work-loads and heavily-threaded algorithms.
* Configure now reports the status of zstd (FaceBook Zstandard)
compression in its configuration summary.
* TclMagick: Address many issues mentioned by SourceForge issue #420
"TclMagick issues and patch".
Behavior Changes:
* PNG: Post-processing to convert the image type in the PNG reader
based on a specified magick prefix string is now disabled. This can
(and should) be done after the image has been returned.
* Trace Logging: The compiled-in logging default is always to stderr,
which may be over-ridden using log.mgk as soon as it is loaded.
* Windows Build: Search registry key HKEY_CURRENT_USER as well as
HKEY_LOCAL_MACHINE when searching for Ghostscript. By following the
procedure documented in SourceForge bug 615 "GhostScript
installation check", this allows for local user installations
without "administrator" privileges.
* Release v3.3
* New option --class allows setting the X11 class hint per feh instance
(patch by Olof-Joachim Frahm)
* Improve handling of NULL returns from Imlib2 calls (patch by Ben Boeckel)
* Fix compilation with libcurl < v7.32
* Use clang and OpenMP because GCC Graphite is not universal
(at least NetBSD 9.99.31 has no Graphite support).
Changelog:
## The Big Ones
- A full rework of the GUI. The whole GUI is now fully
controlled by [GTK+ CSS rules](https://developer.gnome.org/gtk3/stable/chap-css-overview.html). There is
no more size, color, position in Gtk C code, which makes the whole GUI themable. This version comes
with several themes:
- darktable : the default theme
- darktable-icons : the default theme with icons
- darktable-elegant-darker : more condensed fonts
best experience with Roboto font installed
- darktable-icons-darker : as elegant, with module icons
best experience with Roboto font installed
- darktable-elegant-dark : lighter version
- darktable-elegant-grey : even lighter version
- darktable-icons-dark : lighter version. with module icons
- darktable-icons-grey : even lighter version, with module icons
New shortcuts have been introduced to quickly collapse borders, sidebars, histogram and
navigation modules, allowing a new borderless editing experience.
Note that the new GUI requires Gtk+ 3.22 or higher to work properly.
- It's now possible to associate dynamic key shortcuts to sliders, then
use them with the mouse wheel or arrow keys to move the value up and down.
For example, associating the <kbd>E</kbd> key to the exposure slider, you can press
it and scroll to increase the exposure without having to open the module.
You get fast heads-up access to all your favorite settings, as if you
were using a dedicated multimedia console.
- The color picker on the 'tone curve', 'color zones' and 'fill light' modules,
as well as the parametric mask controls, now allows you to select an
area when enabled by using <kbd>Ctrl+click</kbd> on the button.
- Added undo/redo support in lighttable for tags, color labels, ratings,
metadata, deleted history stack, pasted history stack and applied
styles.
IMPORTANT:
The 'preview' and 'preview with focus detection' actions
(previously <kbd>Z</kbd> and <kbd>Ctrl+Z</kbd> respectively) are now assigned to
<kbd>W</kbd> and <kbd>Ctrl+W</kbd> in order to follow the convention of
using <kbd>Ctrl+Z</kbd> for the "undo" function (<kbd>Ctrl+Y</kbd> for redo).
- A new timeline view has been introduced in the lighttable.
- A new 'culling' mode has been added to the lightable view. It
displays a fixed number of consecutive images starting from the first
selected, and allows you to pan & zoom them. The number of displayed images
can be set by the user, and they can be navigated with the mouse wheel
and keyboard.
- A quite extensive rewrite of the lighttable view (including the filmstrip in darkroom view)
has been made to greatly improve the overall performance. The lighttable is now
usable on 4K and 5K monitors.
- Added support for the new 'raster mask', a copy of a parametric mask
which is stable during the whole pixel-pipe.
- The processing order of the pixel-pipe can now be changed by using
<kbd>Ctrl+Shift+drag</kbd> on the module headers to arrange them relative
to each other. It is VERY IMPORTANT to understand that this feature is NOT
for creating a more convenient GUI layout, but for changing the actual
processing of the image. DO NOT USE THIS FEATURE unless you understand the
reason behind the default ordering, and have a specific reason for changing it.
The default order is still the correct order for most purposes. Also note that
styles will always apply the default ordering; creating a style based on modules
which have had their order changed will NOT recreate this changed order when
applied, and therefore may not give the expected result.
- The history stack will now always show mandatory modules which were previously
hidden. They are always active as necessary for processing images, and are not
removed by compressing history or by selecting one as a stating point for editing.
These seven modules (some are RAW-only) have a specific icon to identify them easily:
- raw black/white point
- white balance
- highlight reconstruction
- demosaic
- input color profile
- output color profile
- gamma
- The 'color zones' module now shows a histogram based on the chosen ‘select
by’ channel, and if the color picker is in 'select area' mode, the range within
the selected area will also be shown. By default, the spline adjustment is
now similar to the curve controls, allowing you to add and delete nodes, but
these nodes can still be moved with the old-style size control by selecting
the 'edit by area' checkbox. There is also a new 'strong' processing option,
and a new color picker which creates a curve based on selected image area.
- A new module 'filmic RGB' which, like the previous 'filmic', is designed
to replace 'base curve', 'shadows and highlights' and other global tone-mapping modules.
This new version replaces the one introduced in 2.6.2; it should be easier to use,
and it will reduce color casts. The old 'filmic' module is now deprecated and
is only available on images where it was already used for editing.
- A new module 'tone equalizer' is designed to merge the features of 'zone system',
'shadows and highlights', and (local) 'tone mapping' modules in a scene-referred
RGB space. It brings an easy and safe way to remap tones locally, performing a quick
zone-based dodging and burning using Ansel Adam's zone system logic.
The module provides an interface similar to audio graphic equalizers,
with 9 bands (available as fixed sliders or nodes on a spline view),
allowing you to selectively push or pull the exposure for each band in the
range from blacks to specular highlights. It also features an interactive
cursor that allows to push or pull the exposure gains directly from
the image preview by simply hovering over an area and scrolling. It uses a guided filter
internally to refine the dodging and burning mask, which preserves local contrast
without producing halos along edges.
## New Features And Changes
- A new module for handling 3D RGB Lut transformations (PNG Hald-CLUT and
Cube files are supported).
- Many improvements to the 'denoise (profiled)' module. The degree of shadow
denoising can be controlled, including the correction of color casts
(mainly improves high-ISO images). "Auto" modes which infer some parameters
from the profile are available, allowing users to create presets
which are adaptive to various ISO values. The default values of the sliders
are also adapted dynamically on module activation, giving a good trade-off
between noise smoothing and detail preservation. The non-local means mode
has 2 new options: one to coarse-grain denoising, and one to control the
amount of fine detail to preserve. The controls now have soft boundaries,
which means that users can use the keyboard to enter values outside the
range of the sliders if they need to.
- Along with selecting the 'soft proof' color profile, users can now select an
additional profile for the color space of the histogram, color picker and
overexposed checker. When gamut or softproof checks are active the histogram
and color picker use the softproof profile, otherwise they use the new
histogram profile (which is always used for overexposure checking).
- A new setting for 'working profile' has been added to the input color profile
module. This color space will be used by RGB modules between the input and
output color profile modules.
- A new color picker has been added to the parametric masking controls which
adjusts the range sliders based on the selected area from the image. Click the
picker button to adjust the input image slider, <kbd>Ctrl+click</kbd> the
button to adjust the output image slider.
- The 'picasa' target storage in the export module has been completely rewritten
to support the new Google Photo API, and renamed 'google photos'. It is again
possible to create albums directly from the export module.
- A new single-line image information display can be positioned at the top (left, right,
or center) or bottom (center) of the darkroom view to replace the information previously
overlaid on the histogram. The specific information shown can be configured in preferences.
- The 'tagging' module is faster, and can now display hierarchical tags in a
tree view. Tags can now be designated as 'private' (not exported by default),
'synonym' (to help search engines), and 'category' (not exported, for organizing
the tag library). The metadata exported with images can now be configured in the
'export selected' module, allowing you to choose which main types are exported,
as well as define values for specific tags based on formulas.
- Many code optimizations for CPU and SSE paths. The tone equalizer module
introduces a new optimization paradigm (GCC target clones), aimed toward users
of pre-built Linux packages. The image-processing code will be cloned for several
CPU generations (SSE2, SSE3, SSE4, AVX, AVX2) at compilation time, and the best-suited
version of the code will be chosen by the system at run time. This experiment is
to be generalized to other modules if proven successful, and will allow users of pre-built
packages to get the same performance as if the program was specifically compiled for their
computer. It needs GCC 9 compiler and does not yet work on Windows
due to the lack of support of target clones on the OS side.
- A new preference to expand/collapse a darkroom module when it is
activated/deactivated.
- The 'collect images' module has a new single-click option featuring range selection
for date-time and numeric values.
- The orientation of drawn masks using the 'gradient' shape is now clearly displayed
with an arrow.
- The 'graduated density' module has better accuracy when computing the
rotation to avoid sporadic flipping of the gradient.
- Make sure the OpenCL kernel code is recompiled when the driver
version is updated.
- Add color pickers for 'split toning', 'graduated density' and 'watermark' modules.
- The color picker positions are kept during editing within a module.
- The map view can zoom on the images of the selected collection.
- The slideshow will now start at the selected images if any, and supports
changing the delay between images. It will also now be more responsive when
manually moving backward and forward through the images.
- A new 'basic adjustments' module has been added. It allows to adjust
the black level, exposure, highlight compression, contrast, middle grey,
brightness and saturation. It also has an auto feature based on Rawtherapee's
auto levels that can work on the entire image or a user selected area.
- A new 'rgb curve' module has been added. It has modes for linked and
independent RGB channels. The curves and histogram can be displayed using
the working profile or can be scaled to be 50% grey. A secondary color
picker will add 4 nodes to the curve based on the area selected in the
image: min, average, middle, and max.
- A new 'rgb levels' module has been added. It has linked and
independent channels, preserve colors option and is native RGB.
- A new search box has been added to the module groups in the darkroom
view, with configuration options to show only the module groups, only
the search box, or both. Modules are searched for by (localized) name,
and when displaying only the search box, the active modules are shown
when the box is empty. A shortcut can be set for focusing the box.
- A preview window has been added to the darkroom that displays the edited image
on a separate window.
- A new option 'skip' is added to the 'on conflict' setting on the export module
which skips the exporting to existing destination files.
- Allow to switch between clone/heal and blur/color modes in 'retouch' module
after creating a shape using <kbd>Ctrl+click</kbd> on corresponding mode icon.
- An accels window (<kbd>H</kbd>) has been added to summarize all
available shortcuts and mouse actions available in the current
context.
- A zoom & pan feature has been added to lighttable full preview.
- The base-curve module is now using luminance color preservation by
default. This can give slightly less saturated pictures compared to
the previous version where no color preservation was made. But it
will generally avoid color shift.
## Bug fixes
- The color picker support has been fixed by a complete rewrite. It
should now give correct values in all cases.
- Fix overexposed display.
- Do not disable SSL for storage modules.
- A long standing bug on mask distort in Liquify module has been
fixed. This was visible when a liquify mask was used together with
the perspective correction module activated.
- A bug on mask distort from crop & rotate when using flip and
some angle has been fixed.
- Fix manual crop in perspective correction module when not in default
orientation.
- The modification of date/time is now stored into the XMP. This
ensures that removing the picture and reloading will keep the changes.
- Fix orientation to support all cases as exposed in these examples:
https://github.com/recurser/exif-orientation-examples
- Store the panel states for each lighttable mode.
- Fix crop&rotate and orientation in the lightroom importer.
- Fix ProPhoto RGB profile.
- Fix exif lens metadata parsing containing comma.
## Lua
- The displayed image in darkroom view can now be changed.
- GUI panel visibility can now be queried and changed.
- Lighttable view toolbox (rating filter, rating comparator, sort
field, and sort direction) can now be changed.
- Lighttable layout and zoom level can now be changed.
- All images containing a specific tag can be searched and returned.
## Changed Dependencies
- CMake 3.10 is now required.
- OpenMP 4.0 is now required (optional dependency).
## RawSpeed changes
### Changed Dependencies
- CMake 3.10 is now required.
- Pugixml 1.8 is now required.
- OpenMP 4.0 is now required (optional dependency).
- POSIX threads are no longer required.
- zlib 1.2.11 is now required (optional dependency).
### Changes
- Threading was migrated to OpenMP from POSIX threads.
- Phase One IIQ decompressor fixes (quadrant scaling, bad column).
- Large-scale code cleanup, hardening is ongoing still.
- A CMake infrastructure was added to allow integration of RawSpeed into LLVM LNT / Test-Suite.
- Widespread performance tuning, most affected decompressors:
* Sony ARW2
* Panasonic V5
* Phase One
* Nikon
* Pentax
* Canon
* Samsung V1 (compression = '32772')
* Samsung V2 (compression = '32773')
- Continuation of collaboration with LLVM Compiler Infrastructure Project.
## Camera support, compared to 2.6.0
### Base Support
- Epson R-D1s
- Epson R-D1x
- Fujifilm FinePix F770EXR
- Fujifilm FinePix S7000
- Fujifilm GFX 50R (compressed)
- Fujifilm X-A10
- Fujifilm X-T30 (compressed)
- Fujifilm XF10
- Kodak DCS Pro 14N
- Kodak EasyShare Z981
- Kodak EasyShare Z990
- Leica C (Typ 112) (4:3)
- Leica CL (dng)
- Leica Q (Typ 116) (dng)
- Leica Q2 (dng)
- Leica SL (Typ 601) (dng)
- Leica V-LUX (Typ 114) (3:2, 4:3, 16:9, 1:1)
- Nikon Z 6 (14bit-uncompressed, 12bit-uncompressed)
- Nikon Z 7 (14bit-uncompressed)
- Olympus E-M1X
- Olympus E-M5 Mark III
- Olympus TG-6
- Panasonic DC-G90 (4:3)
- Panasonic DC-G91 (4:3)
- Panasonic DC-G95 (4:3)
- Panasonic DC-G99 (4:3)
- Panasonic DC-ZS200 (3:2)
- Panasonic DMC-TX1 (3:2)
- Phase One P30
- Sony DSC-RX0M2
- Sony DSC-RX100M6
- Sony DSC-RX100M7
- Sony ILCE-6400
- Sony ILCE-6600
- Sony ILCE-7RM4
### White Balance Presets
- Leica Q2
- Nikon D500
- Nikon Z 7
- Olympus E-M5 Mark III
- Panasonic DC-LX100M2
- Sony ILCE-6400
### Noise Profiles
- Leica Q2
- Nikon D3
- Nikon D3500
- Nikon Z 6
- Nikon Z 7
- Olympus E-PL8
- Olympus E-PL9
- Panasonic DC-LX100M2
- Sony DSC-RX100M5A
- Sony ILCE-6400
- Sony SLT-A35
## Translations
- Catalan
- Czech
- Danish
- German
- European Spanish
- French
- Hebrew
- Hungarian
- Italian
- Japanese
- Norwegian Bokmål
- Dutch
- Polish
- Russian
- Slovenian
Changes since 2019.0.0
2019.2.0 is mainly a bug fix release.
Fixes raw import on Mac OS.
Fixes bugs in verdandi/internal blender.
Scripting interface needs now Python3.
Improvements for high dpi displays (Windows, GTK+3).
Fixes for several small bugs...
Upstream changes (from NEWS):
v1.8.5
* Security fix for CVE-2019-20205 (#127), integer overflow problem,
reported by @sleicasper.
* Security fix for CVE-2019-20056 (#126), assertion failure problem,
reported by @sleicasper.
* Security fix for CVE-2019-20094 (#125), heap overflow problem,
reported by @cuanduo.
* Security fix for #124, illegal longjump() call problem,
reported by @cuanduo.
* Serucity fix for #74 and #123, access violation problem,
reported by @HongxuChen and SuhwanSong.
* Security fix for #122, heap overflow problem,
reported by @SuhwanSong.
* Security fix for CVE-2019-20023(#117, #119, #120), memory leaks problem,
reported by @SuhwanSong and @gutiniao.
* Strip first flag check in LZW compression function for issue #118,
reported by @yoichi
1.79.0:
* Clean up auto-generation of files; removed 'register'
* Some fixes for issues identified by fuzzer
* New source files: checkerboard.c
* New programs: replacebytes.c, webpanimio_reg.c, partifytest.c,
rectangle_reg.c, lowsat_reg.c, rotate_it.c, scale_it.c, dewarp_it.c,
pdfio1_reg.c, pdfio2_reg.c, checkerboard_reg.c, underlinetest.c.
* Convert to standard reg test: heap_reg.c, pixa1_reg.c, smallpix_reg.c
* Improve data checking when reading image file headers
(pnm, png, jpeg, tiff)
* Fix some bugs in pnm reading
* Fix inconsistencies with the encoding type flags in pdf writing
* Allow tiff to write images with colormaps
* Fix errors in PS code; made some functions static
* Add code for animated webp (requires webp mux and demux libraries)
* Add "partify" application for separating parts in a musical score
* Enable tif read/write of gray+alpha and rgba; filter out tiff
pixels that are not uint and compression by tile
* Apply consistent formatting of static const variables
* Add programs for scaling, rotation and deskew, named dewkew_it,
rotate_it and scale_it, for useful operations on arbitrary images.
* Convert pdfiotest program to two regression tests: pdfio1_reg
and pdfio2_reg.
* Remove all use of strncat; use stringCat().
* New functions from removing outliers in sequences of boxes.
* Generalize pixAverageInRect(): mask, region and range filters,
and subsampling. New pixAverageInRectRGB().
* Fix int overflow bug in pixMedianCut(); required new heap accessor.
* New pixMultiplyGray() allows pix to be multiplied by an array (or
another pix)
* Better routines for counting color.
* Lossless conversion for RGB to cmap with not more than 256 colors.
* New histo based global thresholding: pixThresholdByHisto().
* Allow most reg tests to run even if external libraries are not
available.
* New one-line gplot functions that return a pix.
* New application to find where corners meet in a checkerboard.
* Add utility functions for painting through mask in cmap pix,
creating a hit-miss sela from a color pix, equality of two pta.
* Proper handling of 1 bpp colormap tiffs: remove when reading,
preserve when writing.
* Deprecate three pixSaveTile*() functions; removed all calls to
these from the library and progs.
* Include auto_config.h explicitly in all src and prog files.
* Improve input data checking for bmp files.
1.5.4:
Don't build GLX tests if X11 support is disabled
Add unit tests for epoxy_gl_version()
Reduce the size of the binary by reusing static strings
Fix build on Solaris
Update the GL registries
Version 2.46.4
- #524 - Panic when reading an invalid stylesheet URL in an XML
processing instruction (Paolo Borelli)
- #525 - Consider specificity when applying CSS selector matches.
- #504 - Provide an usage example in the librsvg crate docs.
Change log:
eom 1.22.2
* Translations update
* remove warning: "HAVE_EXIF" is not defined, evaluates to 0 [-Wundef]
* Allow color correcting images with alpha channel
* EomMetadataReaderPng: Use built-in SRGB profile for matching cHRM/gAMA
* EomMetadataReaderPNG: Only build profile from cHRM if gAMA is present
* Assume sRGB if no display profile is set
* EomImage: Check GdkPixbuf for an ICC profile before falling back to sRGB
* Assume sRGB when image doesn't have an ICC profile attached
* require GLib 2.52
* Restore image types list and add wildcard
* Disconnect callbacks for "Open with" menu items before connecting new ones.
* Unref GtkUIManager so "Open with" menu is freed.
Change log:
mate-icon-theme 1.22.2
* Translations update
* Fix mate/22x22/devices/printer.png
* Upscale 22x22px icons to 24x24px adding 1px to the edges
* Gen png mimetypes icons from paper-sheets.svg - Mate theme
* use folder icon as example
* rename mate logo
jp2a is a small utility that converts JPG images to ASCII.
It is written in C and released under the GPLv2.
import from pkgsrc-wip packaged by esg@sdf.lonestar.org