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.