summaryrefslogtreecommitdiffstats
path: root/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS1328
1 files changed, 1328 insertions, 0 deletions
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..81e713b
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,1328 @@
+ ------------------------------
+ GNU Image Manipulation Program
+ 2.10 Stable Branch
+ ------------------------------
+
+This is the stable branch of GIMP. Unlike earlier stable branches,
+we do allow some new features here, if they are not too invasive.
+Otherwise, this branch is only for bug-fixes.
+
+
+Overview of Changes from GIMP 2.10.20 to GIMP 2.10.22
+=====================================================
+
+Core:
+
+ - Verbose version information (`gimp-2.10 -v` on command line, or
+ debug output) now displays Flatpak related information when
+ available. This is especially useful for debugging (such as the
+ exact Flatpak build hash, the runtime version, the installed
+ Flatpak extensions, permissions, etc.).
+ - OpenCL settings has now been moved to the Playground tab in
+ Preferences.
+ - On stable builds, "Playground" tab is now visible in Preferences if
+ any of the experimental features has been enabled, even without the
+ CLI option `--show-playground`.
+
+Tools:
+
+ - "gegl:matting-levin" now the default engine of Foreground Select
+ tool (when present, as it is an optional feature) as it performs a
+ lot better.
+ - GEGL operations now display a "Sample merged" checkbox in Tool
+ Options. This will be used when the operation allows to pick a color
+ (hence one can pick from the edited layer or from visible data).
+ - "Sample merged" now defaults to being activated in Color Picker and
+ GEGL tools as it seems the less confusing for beginners who don't
+ know of the option yet (according to a small poll we ran).
+
+User interface:
+
+ - In GimpSpinButton, don't propagate Enter key-press events if
+ updating the spin-button's value in response changes the entered
+ text. This prevents confirming dialogs when hitting Enter after
+ entering a math expression in size entries, updating their value
+ instead.
+ Likewise, don't propagate Escape key-press events if a new value was
+ entered, and restore the original value instead.
+ - GimpMemSizeEntry improved to show appropriate binary prefixes
+ (kibibyte, mebibyte and gibibyte) instead of decimal ones, to round
+ properly when using higher units, and to not lose accuracy when
+ possible when displaying in higher units.
+ - Several of the biggest pages of the Preferences dialog are now
+ scrollable, allowing the dialog to fit on smaller displays.
+
+Plug-ins:
+
+ - Add a new GIMP_EXPORT_NEEDS_CROP export capability, which causes
+ gimp_export_image() to crop the exported image content to the image
+ bounds; this is useful for formats that support layers, but have no
+ concept of global image bounds, hence cropping is the only way to
+ enforce the image bounds.
+ When showing the export dialog, give an option to either crop the
+ layers to the image bounds, or to resize the image to fit the
+ layers.
+ - Content type `image/webp` is now recognized (and not only
+ `image/x-webp` as both seem to be in used and this format is
+ unfortunately not yet listed in IANA media types (so various content
+ types are in use, no clear standard apparently).
+ - DDS import is now a bit more permissive, allowing to load some files
+ with invalid header flags regarding compression, while we are able
+ to know the right compression from other flags. This allows to
+ recover invalid DDS files exported by other software.
+ - JPEG detection improved to be more generic and reliable.
+ - HEIF support improvements:
+ - AVIF importing and exporting added (requires libheif 1.8.0+)
+ - 10/12-bit importing and exporting now available for HEIC/AVIF
+ - NCLX color profile import (link with LittleCMS)
+ - Metadata support when importing
+ - "Lossless" option is now called "Nearly lossless (YUV420 format)"
+ because this is actually what it is, hence previous naming was
+ misleading.
+ - TIFF support improvements:
+ - Add an option to crop the layers to the image bounds when exporting
+ individual layers (using GIMP_EXPORT_NEEDS_CROP), since TIFF has no
+ concept of global image bounds otherwise. Cropping is enabled
+ by default.
+ - TIFF export will not override "DocumentName" metadata tag anymore.
+ - Stop writing file paths into TIFF DocumentNames as file paths can
+ contain confidential information such as usernames and directory
+ structures, making the previous behaviour a potential privacy and
+ security risk.
+ - Fix a file descriptor leak case which may have prevented a file
+ from being opened on Windows.
+ - Multiple improvements in the PSP import plug-in:
+ - support reading raster layers of PSP version > 6,
+ - support reading 16-bit integer PSP files,
+ - support reading grayscale and indexed PSP files,
+ - support PSP images with zero-length layer names,
+ - fix wrong layer offset of layers,
+ - fix reading layer names with high bit ASCII characters,
+ - fix incorrect loading of PSP images with uncompressed channel data,
+ - fix reading of creator block data of PSP images,
+ - better error messages describing yet unsupported features,
+ - improve reader stability by always using the block/chunk length.
+ - Spyrogimp now works on Grayscale images and clutters less the undo
+ history.
+ - "Orientation" metadata is now reset whether you accepted to rotate
+ the image or not when importing an image.
+ - XPM does not export a "None" (transparent) color when unused.
+ - BMP always include color masks when exporting BMP with color space
+ info, as mandated by BITMAPV5HEADER specification.
+
+Debugging:
+
+ - Add progressive performance logs: progressive logs contain complete
+ information after each recorded sample, by writing partial address
+ maps at each sample, containing all new addresses introduced by the
+ sample.
+ This allows recording complete logs even in cases where they can't
+ be properly terminated, such as when GIMP crashes or freezes in the
+ middle of the log.
+ Progressive logs are disabled by default, since they potentially
+ increase the sampling cost. They can be enabled through a toggle
+ in the log file-dialog, or through GIMP_PERFORMANCE_LOG_PROGRESSIVE
+ environment variable.
+ Performance log viewer can now process progressive performance logs
+ too.
+ - Allow controlling performance-log parameters through the UI.
+
+Build:
+
+ - new `distcheck` step in Continuous Integration.
+
+Bug fixes:
+
+ #2275, #2668, #2874, #3481, #3868, #4061, #4155, #4328, #4505, #4536,
+ #4560, #4816, #5043, #5069, #5208, #5219, #5226, #5232, #5274, #5275,
+ #5357, #5358, #5472, #5530, #5584, #5592, #5623, #5630, #5651
+
+Translation updates:
+
+ - Basque, Catalan, Chinese (China), Croatian, Danish, French, German,
+ Italian, Japanese, Kazakh, Polish, Russian, Spanish, Swedish, Turkish,
+ Ukrainian
+
+Developers/contributors:
+
+ - Daniel a Simona Novomeská, David A. Russo, Elad Shahar, Ell, Jacob Boerema,
+ Jehan Pages, Liam Quin, lillolollo, luz.paz, Michael Natterer, Michael
+ Schumacher, Øyvind Kolås, Peter Oliver, Simon McVittie
+
+Translators:
+
+ - Alan01, Alexandre Prokoudine, Anders Jonsson, Asier Sarasua Garmendia,
+ Baurzhan Muftakhidinov, Boyuan Yang, Christian Kirbach, Daniel Mustieles
+ García, Jordi Mas, Julien Hardelin, Marco Ciampa, milotype, Rodrigo Lledó
+ Milanca, Piotr Drąg, Sabri Ünal, sicklylife, Stephan Woidowski, Tim Sabsch,
+ Yuri Chornoivan
+
+Overview of Changes from GIMP 2.10.18 to GIMP 2.10.20
+=====================================================
+
+Tools:
+
+ - Crop tool now has a "Delete cropped pixels" option active only in
+ image crop mode, allowing to choose whether to crop layers or only
+ the canvas (cropped pixels will be made invisible as out-of-canvas
+ but would still be present). The option is unchecked by default,
+ as it is the non-destructive behavior, which also means the
+ default behavior is changed.
+ - Crop tool in image crop mode will not crop layers with "Lock
+ pixels" on, anymore, even if "Delete cropped pixels" is checked.
+ - Painting tools can now restore opacity and blend mode from
+ presets.
+
+User interface:
+
+ - Image / Precision renamed to Image > Encoding
+ - Tool groups can now display their tool list on hover rather than
+ on click. This can be set in Preferences, in the Toolbox tab.
+ - Improved update notification GUI in About dialog, and now also
+ showing an update comment when one was set in gimp_versions.json.
+ - Palette Editor dockable: the color index in the current palette is
+ now shown in front of the color name.
+
+Plugins:
+
+ - In file-psd, make the data_start and data_len fields of the
+ PSDimageres and PSDlayerres structs unsigned, to avoid potential
+ overflow/sign-extension
+ - file-raw: Canon CR3 files are now properly recognized by GIMP and
+ sent to your raw developer software of choice.
+ - PNG and TIFF export: "Save color values from transparent pixels"
+ defaults now to not saving color values (i.e. channels set to 0)
+ when alpha channel is present and 0 itself.
+ - PDF import: multi-pages are now imported in bottom-first order,
+ similar to animated formats, and also similar to defaults for PDF
+ export. This brings consistency but break existing behavior, hence
+ needs to be noted.
+ - Added support for exporting 16-bit PSDs, read and write channels
+ from/to PSd in the right order
+
+Filters:
+
+ - The 'Vignette' filter now has on-canvas controls
+ - New 'Filters -> Blur -> Focus Blur' filter with on-canvas controls
+ to emulate out-of-focus blurring
+ - New 'Filters -> Blur -> Variable Blur' filter that uses an aux
+ mask input to blur an image with variable intensity
+ - New 'Filters -> Light and Shadow -> Bloom' filter
+
+Updated translations:
+
+ - British English, Catalan, Chinese (Taiwan), Dutch, Finnish,
+ German, Greek, Italian, Korean, Polish, Romanian, Russian,
+ Spanish, Swedish, Turkish, Ukrainian
+
+Icons:
+
+ - Replace fileicon.ico with version contain 24x24, 64x64, 128x128,
+ and 256x256 sizes for Windows icon
+ - Replace wilber.ico with version containing 128x128 size of Windows
+ icon
+
+Bug fixes:
+
+ - #189, #354, #872, #1439, #3405, #3533, #3558, #3777, #3841, #4094,
+ #4328, #4363, #4487, #4618, #4641, #4663, #4696, #4734, #4745,
+ ##4793, 4827, #4846, #4858, #4871, #4895, #4904, #4919, #4967,
+ ##4968, #4992, 4996, #5009, #5010, #5033
+
+Developers:
+
+ - Ell, Jehan, lillolollo, Marco Ciampa, Michael Natterer, Øyvind
+ Kolås, pesder, Salamandar, Sergio Jiménez Herena, Simon Budig, T
+ Collins, woob
+
+Contributors:
+
+ - Nikc, Sabri Ünal, Michael Schumacher, Jernej Simončič, luz.paz
+
+Translators:
+
+ - Alexandre Prokoudine, Anders Jonsson, Bruce Cowan, Cristian
+ Secară, Daniel Korostil, Daniel Șerbănescu, Dimitris Spingos, Jiri
+ Grönroos, Jordi Mas, Nathan Follens, Piotr Drąg, Rodrigo Lledó
+ Milanca, Sabri Ünal, Seong-ho Cho, Tim Sabsch, Yuri Chornoivan,
+ Георгий Тимофеевский
+
+
+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 values 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
+ performance 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.
+
+
+Overview of Changes from GIMP 2.10.12 to GIMP 2.10.14
+=====================================================
+
+Core:
+
+ - New "Selected areas continue outside the image" toggle option to
+ the "Feather Selection" dialog.
+ - New "Allow editing on non-visible layers" setting in Preferences
+ to allow painting, transforming, and selecting on layers with
+ toggled off visibility.
+ - XCF loading a bit more resilient to corruption: it doesn't stop
+ any more at the first layer or channel error; instead it tries to
+ load more layers/channels to salvage as much data as possible from
+ a corrupted XCF file.
+ - In gimp:gradient, fix dithering to correspond to how we actually
+ round float values to 8-bit. In particular, this avoids
+ introducing noise when a component is fixed at 0 or 1 along a
+ segment.
+ - New "Show All" view mode allowing to show pixels outside the
+ canvas boundary.
+ - New "Show Canvas Boundary" option to render a dotted line around
+ the canvas boundary.
+ - New "Keep Padding in "Show All" Mode" option, also available as a
+ default option via Preferences, to preserve the padding color
+ instead of displaying the checkerboard.
+ - Several features updated to react as expected when run
+ out-of-canvas: color-picking, canvas grid, transform tools, bucket
+ fill, and more.
+ - Loaded images' pixel density will now default to 72 PPI when no
+ explicit resolution information was stored in the imported file.
+ Newly created images' default pixel density will continue to be
+ based on the default image template (with value 300 PPI if it has
+ not be changed), yet not loaded images anymore. 72 PPI is the
+ common default in most software (and in standards such as Exif) so
+ it makes sense we stick to it, only for loaded images.
+
+Tools:
+
+ - Free Select tool: fast copy|cut-paste modifiers (Alt + Ctrl|Shift)
+ are now working even when the selection is not committed. Starting
+ a fast copy|cut-paste will automatically close the polygon and
+ commit the selection, accelerating fast usage of free selections.
+ - Foreground Select tool: new "Grayscale" Preview Mode. Also, a
+ color selector for "Color" preview (original preview mode) now
+ available, to select any color and opacity for the preview.
+ - Add a new "Image" transform type to the transform tools, in
+ addition to the existing "Layer", "Selection", and "Path"
+ transform types. The "Image" mode transforms the entire image,
+ rather than a single item. In tools with a preview, the preview
+ shows the transformed image projection. The clipping mode
+ controls how the canvas is clipped during the transform; in
+ particular, the ADJUST clipping mode resizes the canvas to fit its
+ transformed size.
+ - In GimpFilterTool, add a new "clipping" option, which can be
+ either Adjust or Clip. This option is controllable for layers,
+ when there's no selection mask.
+ When set to Adjust, which is used by default, the filter's output
+ may extent past the drawable's boundary, and the drawable will be
+ resized to match the output when committed.
+ - Gradient tool: offset support in shaped gradients
+
+Plug-ins:
+
+ - Simple 8-bit port of filters to GEGL: nl-filter, film,
+ fractal-explorer, flame, blinds, jigsaw, gradient-flare,
+ checkerboard, tile-small, curve-bend, sample-colorize, map-object,
+ lighting, grid, despeckle, sphere-designer, contrast-retinex, hot,
+ sparkle, cml-explorer, destripe, twain, animation-optimize,
+ depth-merge, warp, imagemap, gimpressionist
+ - Port of filters to GEGL with float support: van-gogh-lic.
+ - Add color profile support for HEIF (only when libheif 1.4.0 is
+ available).
+ - TIFF import will now ask (in interactive mode) how to process
+ unspecified TIFF channels: non-premultiplied (used to be the
+ default) alpha, premultiplied alpha, or just import as generic
+ channel.
+ - HEIF export now improved with same profile logics as JPEG or WebP
+ (it can actually export higher bit-depth data, so profile logics
+ should be the one as in PNG, but we only support 8 bpc HEIF for
+ the time being).
+ - HEIF export dialog now has a "Save color profile" checkbox
+ allowing to not export with a profile when needed (needs libheif
+ 1.4.0 or higher).
+ - PDF exporting: text layers in layer groups are now exported as
+ proper text.
+ - Cleaned up the file-dds GUI, removed the "Advanced" expander.
+ - gimptool external tool now install plug-ins into subfolders (this
+ is not mandatory in GIMP 2.10 yet, unlike future GIMP 3, but is
+ already the recommended folder structure for plug-ins).
+ - 3 procedures ("color-decode-ycocg", "color-decode-ycocg-scaled"
+ and "color-decode-alpha-exp") removed from file-dds plug-in
+ because they are hacks which should stay internal to the plug-in
+ and are semantically wrong because colors in drawables are never
+ in such formats.
+
+Filters:
+
+ - New "Normal Map" filter to generate normal maps from height maps
+ in the Generic section.
+ - Replace old filters with GEGL operation counterparts: edge-neon
+ (gegl:edge-neon), contrast-normalize (gegl:stretch-contrast),
+ oilify (gegl:oilify)
+ - Add gegl:bayer-matrix and gegl:linear-sinusoid to Filters ->
+ Render -> Pattern.
+ - Add gegl:newsprint to Filters -> Distorts.
+ - Add gegl:mean-curvature-blur to Filters -> Blur.
+
+Performance:
+
+ - Add an active-thread variable to the dashboard's misc group,
+ showing the number of active worker threads.
+ - Reduce time complexity of layer-group translation. When
+ translating a layer group, avoid separately updating the original
+ area of the child layers before translating them (as per the fix
+ to issue #3484), as this results in quadratic time complexity
+ w.r.t. to the maximal subgroup nesting level. Instead, simply
+ defer the updating of the group's offset until *after* translating
+ the child layers, so that their original area isn't clipped by the
+ parent, while their new area is still properly updated even if the
+ parent's size changes.
+
+User interface:
+
+ - Many mnemonics added in various dialogs.
+ - Add a gimp-rotate-image-arbitrary action, and a corresponding
+ "Image -> Transform -> Arbitrary Rotation..." menu entry, which
+ activates the rotate tool in image mode (similarly to the
+ corresponding action for layers).
+ - On Windows, minimized GIMP window is now deiconified when GIMP is
+ run again (clicking its shortcut or otherwise).
+
+Preferences:
+
+ - New "Swap compression" option: explicit control over the tile-swap
+ compression algorithm in GEGL. "Best performance" is used by
+ default, "Balanced", "Best compression", and "None" (disables
+ compression) are available.
+
+Devel docs:
+
+ - Update the libgimpconfig and libgimpbase docs.
+ - Update docs with missing symbols and types.
+ - New docs for structs and enums.
+
+Installers:
+
+ - Install 64-bit Python on 64-bit Windows (until now, the installer
+ used to install 32-bit Python for all architectures).
+ - Windows installer now supports per-user install.
+
+Debugging:
+
+ - New mnemonic-clashes tool to help looking for mnemonic clashes.
+
+Translations:
+
+ - Basque, Brazilian Portuguese, British English, Catalan, Chinese
+ (Taiwan), Croatian, Danish, Dutch, French, German, Greek,
+ Hungarian, Icelandic, Indonesian, Italian, Latvian, Polish,
+ Russian, Slovenian, Spanish, Swedish, Turkish.
+
+Bugfixes:
+
+ - #3630, #3226, #3610, #1725, #3093, #3599, #3597, #3082, #3553, #3435,
+ #3503, #3532, #3164, #3560, #3500, #3493, #3514, #3512, #2685, #3641,
+ #1002, #360, #3263, #2221, #3893, #2708, #3100, #2873, #3655, #2206,
+ #3341, #3718, #3763, #3112, #3723, #4049, #4068, #3663, #4119, #4008,
+ #2837, #3994, #3990, #1283, #2561
+
+Code contributors:
+
+ Alexandre Prokoudine, Ell, Federico Mena Quintero, Jehan, Jernej
+ Simončič, Lionel, Massimo Valentini, Michael Natterer, Michael
+ Schumacher, Oleksii Samorukov, Sabri Ünal, Sergio Jiménez Herena,
+ Thomas Manni, lillolollo, sarah, woob, Øyvind Kolås.
+
+Translators:
+
+ Alan Mortensen, Alexandre Prokoudine, Anders Jonsson, Andika
+ Triwidada, Asier Sarasua Garmendia, Balázs Meskó, Balázs Úr, Bruce
+ Cowan, Claude Paroz, Daniel Mustieles García, Dimitris Spingos,
+ Emin Tufan Çetin, Hannie Dumoleyn, Jordi Mas, Julia Dronova, Julien
+ Hardelin, Marco Ciampa, Martin Srebotnjak, Milo Ivir, pesder, Piotr
+ Drąg, Rafael Fontenelle, Rodrigo Lledó Milanca, Rūdolfs Mazurs,
+ Sabri Ünal, Sveinn í Felli, Tim Sabsch, Zander Brown.
+
+
+Overview of Changes from GIMP 2.10.10 to GIMP 2.10.12
+=====================================================
+
+Core:
+
+ - Add an "Incremental" option to the Dodge/Burn tool, which,
+ similarly to the Paintbrush, Pencil, and Eraser tools, applies the
+ effect incrementally as the pointer moves.
+ - Curves now have a concept of smooth vs corner points: smooth
+ points produce a smooth curve, while corner points produce a sharp
+ curve (previously, all points were smooth).
+ - Search the user font directory path on Windows (since Windows 10,
+ non-admin users have the ability to install fonts). This is only a
+ temporary hack until fontconfig adds proper upstream support:
+ https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/144
+ - In gimp_brush_core_get_paint_buffer(), when allocating a new paint
+ buffer, clear the old buffer *before* allocating the new one, to
+ reduce the amount of simultaneously allocated memory.
+ - In GimpPaintbrush, avoid refilling the paint buffer at each dab if
+ the paint color/pixmap hasn't changed, hence allowing faster
+ painting in some specific cases.
+ - Add hygon cpu detection and enable MMX/SSE support.
+ - Add a GimpSymmetry::get_transform() virtual function and a
+ corresponding gimp_symmetry_get_transform() function which return
+ the brush transform corresponding to a given symmetry stroke in
+ terms of the rotation angle and reflection flag (in contrast to
+ gimp_symmetry_get_operation() which returns the same transforation
+ in terms of a GeglNode). This allows us to simplify, fix (artifact
+ bugs, etc.), and improve the painting-code performance for several
+ symmetry painting cases.
+ - New gimp-brush-pipe-spacing parasite set by core code to preserve
+ GIH brush's spacing across reloads.
+ - Add a new Offset filter tool, as a front-end to gimp:offset. The
+ tool replaces, and provides the same interface as the drawable-
+ offset dialog while also providing live preview and on-canvas
+ interaction.
+
+Plug-ins:
+
+ - Exported profile and data format strategy updated in several file
+ plug-ins.
+
+ * When not saving a profile, we always export as sRGB data, as most
+ viewers would not display the image properly otherwise.
+ * When saving a profile:
+ * If a profile was manually assigned, we always export to the
+ assigned format, hence pixel data is converted accordingly,
+ whatever the work format.
+ * If no profile was assigned:
+ * If the export format support high-bit depth, we export the
+ work format as-is.
+ * If the export format is 8-bit max, we convert the work
+ format to sRGB, except if the work format is 8-bit linear.
+
+ The following plug-ins were updated: JPEG, PNG, TIFF and WebP.
+
+ - TIFF plug-in now supports layer export.
+ - Add accelerator on "Save color _profile" item in JPEG export so
+ that all items in the dialog have keyboard accelerators.
+ - Add a "Save color profile" checkbox in WebP export and remove the
+ "Advanced Options" expander (all metadata and profile writing
+ options are now directly visible).
+ - Process cases of non-conformant TIFF file with extra channels
+ while ExtraSamples is not set by assuming the first extra channel
+ is a non-premultiplied alpha channel and outputting a warning. In
+ the future, this should be updated further by a dialog asking what
+ to do with the non-defined dialog (consider as premultiplied or
+ non-premultiplied alpha channel, or just save as extra channels).
+
+Tools:
+
+ - Add input/output spin-buttons to the Curves tool, which allow
+ setting the selected point's coordinates numerically. When the image
+ precision is greater than 8-bpc, use a 0.00-100.00 range for the
+ point-coordinate spin-buttons instead of a 0-255 range.
+ - In the Curves tool, allow changing the curve's point types (cf. new
+ curve corner points in Core section). Corner points are displayed
+ with a diamond shape instead of a circle.
+ - Free Select tool now creates a selection as soon as the polygon is
+ closed. This selection is updated when the polygon, or the relevant
+ tool-options, change, similarly to GimpRectangleSelectTool.
+ - Derive GimpEraser from GimpPaintbrush, instead of directly from
+ GimpBrushCore.
+ This allows GimpEraser to reuse the paint-buffer content across
+ dabs, improving performance.
+ - Allow moving an intersecting pair of guides with the Move tool.
+
+User interface:
+
+ - In GimpCurveView, when dragging an existing curve point, don't
+ immediately move the point to the cursor position upon button
+ press, but rather move it relative to its current position as the
+ cursor moves. This allows selecting a point without moving it, and
+ adjusting its position more easily.
+ - when the cursor hovers above a point in GimpCurveView, or when
+ dragging a point, have the coordinate indicator show the point's
+ position, rather than the cursor's.
+ - In GimpCurveView, when holding down Ctrl while adding/dragging a
+ point, snap the y-coordinate to the original curve (at the start
+ of the drag). This is particularly useful for adding points along
+ the curve.
+ - In GimpDashboard, don't show legend for groups with no meter.
+ - Add a tile-alloc-total variable to the dashboard's memory and misc
+ groups, showing the total amount of memory used by the tile
+ allocator.
+ - Add a "Save Keyboard Shortcuts Now" button to the Configure
+ Keyboard Shortcuts dialog.
+
+Installers:
+
+ - Windows: enable InnoSetup "unofficial" translations. Otherwise we
+ had a bunch of wasted work from our translators of several
+ languages whose translations were never used in the installer.
+
+Translations:
+
+ - 12 translations were updated: Catalan, Chinese, French, German,
+ Hungarian, Indonesian, Italian, Polish, Russian, Spanish, Swedish
+ and Turkish.
+
+
+Overview of Changes from GIMP 2.10.8 to GIMP 2.10.10
+====================================================
+
+Core:
+
+ - Add gimp-scratch allocator, a fast memory allocator (on the order of
+ magnitude of alloca()), suitable for small (up to a few megabytes),
+ short-lived (usually, bound to the current stack-frame) allocations.
+ Unlike alloca(), gimp-scratch doesn't use the stack, and is therefore
+ safer, and will also serve bigger requests, by falling-back to malloc().
+ - In gimp_drawable_transform_buffer_affine(), avoid modifying the
+ clipping mode when transforming layer masks, since this function
+ is used (among other things) to transform layer masks together with
+ their layer, in which case they should use the same clipping mode
+ as the layer. This fixes a regression introduced by commit 2ae823ba,
+ causing layer masks to be transformed with a mismatched clipping mode
+ during layer transforms, leading to discrepancies between the
+ transformed layer and the transformed mask.
+ - Moved swap/cache and temporary files out the GIMP user config dir and
+ added new config file substitutions ${gimp_cache_dir} and
+ ${gimp_temp_dir}.
+ - Pass the GEGL tile-cache size, swap path, and thread-count to plug-ins
+ as part of their config, and have libgimp set the plug-in's GeglConfig
+ accordingly upon initialization.
+ - Layer groups are now rendered in bigger chunks rather than tile-by-tile
+ (which used to pretty much eliminate multithreading for groups), which
+ improves the rendering speed.
+ - Make saving/exporting files more robust to errors. In particular if
+ an error occurs during the process (be it a bug, a memory error, or
+ anything else), GIMP won't overwrite anymore any existing file with
+ incomplete contents, so that you won't end up with no valid files at
+ all.
+ - Fix a regression on support of various graphics tablet.
+ - Remove the "Edit -> Fade..." feature: it makes GIMP use two buffers
+ instead of one (east into system resources), it's broken in 2.10, and
+ we can make the UX better for filters.
+ - New generic canvas modifier 'Alt + middle click' allowing to pick
+ layers by clicking on pixels. The available layers will be looped
+ through (starting from the upper one) while Alt key is hold and the
+ picked layer name will be temporarily displayed in the status bar.
+ - When clearing a channel, do nothing if the channel is already empty;
+ otherwise, align the cleared rectangle to the channel buffer's tile
+ grid, so that all affected tiles are dropped, rather than zeroed.
+ Furthermore, only update the affected region of the channel.
+ - Brush and pattern saving logics has been moved to core code (instead
+ of plug-in).
+ - Clipboard brushes and pattern can now be duplicated.
+ - Parametric brushes are now 32-bit float to avoid posterization on
+ large brushes.
+ Note: raster brushes are still 8-bit and plug-ins only have access
+ to 8-bit versions of high-precision brushes/patterns. New API will
+ be required to handle high-precision data.
+ - On-canvas preview while editing a color in the colormap of an
+ indexed image.
+
+User interface:
+
+ - Enabled HiDPI/Retina support for the GTK2/OSX build, fixes blurry icons.
+ - Add a tooltip to the "better compression" checkbox in save dialog to
+ make it clearer it does not mean that the file size is necessarily
+ smaller in every cases. In particular some best/worst case are
+ possible when an algorithm less efficient in general may end up
+ better on a particular image.
+ - Add basic support for cursors with a scale factor of 2 for HiDPI
+ (artwork to be updated).
+ - Foreground and background color icons, as well as color history will
+ now display out-of-gamut warning on indexed images for colors
+ outside of the palette, as well as on grayscale images, for non-gray
+ colors.
+ - Pack color picker and hexadecimal entry on same line in Color dock.
+ - Add an "Open as Image" button to the brushes dialog.
+
+Usability:
+
+ - Attempting to transform locked layers or paint on them now results in
+ blinking around the status bar (where the warning message is displayed)
+ and around the toolbar where lock toggles are. The same applies to
+ attempting to move a selection where there is none — GIMP will blink
+ around the toolbar where the moving target (layer, selection, path)
+ is chosen.
+ - GIMP now allows selecting default export file type for new projects.
+ The choice is limited to PNG, JPEG, WebP, PSD, ORA, TIFF, BMP.
+ - GimpSpinScale widget now has an optional feature to constrain the
+ value to integer when dragging with a pointer (even if the scale
+ allows for fractional numbers), set with new function
+ gimp_spin_scale_set_constrain_drag().
+ This is useful for settings where fractional numbers are technically
+ possible, yet most common use case are with integers (such as pixel
+ sizes, angles in degrees, etc.) so you want the easy interface to be
+ constrained. Fractional numbers are still settable, for instance by
+ keyboard edit; and arrow incrementation won't drop fraction parts.
+ This is currently only activated for brush options in paint tools.
+
+Tools:
+
+ - In scale tool, scale around center even when using numeric input.
+ - New algorithm in the Bucket Fill tool when selecting the affected
+ area "Fill by line art detection", based off the G'Mic algorithm for
+ "smart colorization": https://hal.archives-ouvertes.fr/hal-01891876
+ In a few words, it identifies painted pixels (either based on
+ grayscale or opacity values) and tries to close line arts to allow
+ filling even with not perfectly closed zones; the second step of the
+ algorithm will flood the colors under line art pixels to prevent
+ "holes" in the filling.
+ It is possible to control a max size (in pixels) for the flooding,
+ as well as max length of closing segments and splines.
+ - The Bucket Fill tool got new interaction allowing to hold the click
+ and move the mouse to fill based on several seed zones (for "Fill
+ by line art detection" as well as "Fill similar colors"). You can
+ now cancel the fill in progress with right click as in other tools.
+ - The Bucket Fill tool now allows color picking with ctrl-click, same
+ as every painting tool. It will pick either the foreground or
+ background color depending on the selected Fill Type. The ctrl-alt
+ modifier combination is also possible to pick the non-Fill Type
+ color.
+ - In the Bucket Fill tool, the Alt modifier will now switch to
+ "FG color fill" when "Pattern fill" was set (instead of doing
+ nothing).
+ - In the Unified Transform tool, default to preserving aspect ratio
+ when scaling up or down.
+ - In the Healing tool, "Sample merged" now also work for the target
+ pixels, allowing to draw in empty layers.
+ - Selection by color is now parallelized, hence improving speed of the
+ Select by Color tool (and any other processing which may share this
+ piece of code now or in the future).
+ - Add "Constrain handles" and "Around center" options to the
+ perspective-transform tool's GUI, which are similar to the
+ corresponding options of the unified-transform tool.
+ - Improve color picking on indexed image to always select an indexed
+ color corresponding to the picked pixel in the colormap.
+
+Plug-ins:
+
+ - file-pdf-save GUI now clearly indicates the order the layers will be
+ used to make multi-page PDFs.
+ - Add DDS loading/exporting plug-in originally developed by Shawn Kirst
+ and Arne Reuter.
+ - Rename the Guillotine plug-in to Slice Using Guides.
+ - Add a new option saving a color profile when exporting PNG, JPEG, TIFF.
+ Always save it when exporting to PSD.
+ - Remove the "Advanced" expanders from the PNG and TIFF export dialogs.
+ - Full rewrite of the Spyrogimp plug-in with much more options and
+ better interaction.
+ - Indexed TIFF with alpha channel now supported.
+
+Filters:
+
+ - Add on-canvas GUI (simple lines) for circular, linear, and zoom motion
+ blur.
+
+Help:
+
+ - Link to the bugtracker directly from the Help menu, also link to the
+ wiki and the roadmap. Remove the link to currently disabled
+ registry.gimp.org.
+
+Installers:
+
+ - Windows: proper fix for libthai to stop GIMP from crashing in the
+ Thai locale.
+
+Translations:
+
+ - Czech, Danish, French, Italian, Japanese, Marathi, Polish, Russian,
+ Spanish, Swedish, Ukrainian.
+
+Build:
+
+ - Bumping GTK+ dependency to the micro update GTK+ 2.24.32 to handle
+ several bugs on Windows (broken shortcuts on non-latin layouts and
+ broken vector icons).
+
+
+Overview of Changes from GIMP 2.10.6 to GIMP 2.10.8
+===================================================
+
+Core:
+
+ - Use adaptive chunk size in GimpProjection when rendering the
+ projection asynchronously, rather than using a fixed chunk size.
+ This provides a better trade-off between throughput and
+ responsiveness dynamically, based on how fast the processing is.
+ - Add xyY color space to the color spaces for sampling colors.
+
+Tools:
+
+ - In all selection tools, show error on attempt to
+ subtract-from/intersect-with empty selection.
+ - Fix text along path not working with vertical text.
+ - Fix Text tool's frame position when undoing a move operation.
+ - Streamline Text tool's drawing blocking/unblocking logic.
+ - When moving a text layer using the text tool (through alt+drag),
+ don't change the layer's box mode to "fixed", which is unnecessary,
+ since the layer's size isn't affected.
+ - Transform and deformation operations now maintain color for fully
+ transparent pixels, making unerase and curves manipulation of alpha
+ channel more reliable.
+ - All transform tools now apply changes when you save or export/overwrite
+ an image without pressing Enter first to confirm changes.
+ - Heal, Dodge/Burn, Smudge, and Convolve tools now adjust the processed
+ buffer and mask_buffer regions according to the changes made to the
+ application region, as calculated by intersecting it with the
+ drawable and mask extents. This fixes wrong application position
+ when painting on a drawable whose origin is above/to the left of the
+ image's origin, and there's a selection active.
+ - New type of gradient interpolation called 'Step' for making multi-color
+ hard-edge gradient fills.
+
+Plug-ins:
+
+ - Port all plug-ins to the new iterator API in GEGL.
+ - Improve automatic detection of HEIC/HEIF files.
+ - Improve RawTherapee discovery by looking up registry key (should
+ become useful with RawTherapee 5.5 and more).
+
+Usability and UI:
+
+ - Compatibility information in the Save dialog is now more understandable.
+ The minimum GIMP version for the XCF file is always written down when it
+ is GIMP 2.8 or over. The list of features warranting the minimum version
+ is now listed in an expander container rather than as tooltip, which
+ makes it more discoverable. The warning on compression is now displayed
+ as its own text under the checkbox and not as additional text to the
+ minimum GIMP version label.
+ - In all themes, fix the color of selected text, while editing a tree-view's
+ item text (such as when renaming a layer), by overriding tree-view
+ specific styling with the global text-entry style, for nested text entries
+ inside tree-views. The text would previously use the same color as the
+ selection background, making it unreadable.
+ - Add option in the Windows menu to hide the image tab bar.
+
+CLI:
+
+ - New self-explanatory --enable-win32-debug-console CLI option
+
+Debugging:
+
+ - New GimpBacktrace API provides an interface for creating and
+ traversing multi-threaded backtraces, as well as querying symbol
+ information. Backends are available for Linux and Windows.
+ - Performance log recording now available in the Dashboard dock.
+ The log contains a series of samples of the dashboard variables,
+ as well as the full program backtrace, when available. As such,
+ it essentially acts as a built-in profiler, which allows us to
+ correlate program execution with the information available
+ through the Dashboard.
+ - New performance-log-expand.py tool decodes a delta-encoded
+ performance log by expanding the deltas, producing a log where
+ each sample (and other relevant elements) contain complete
+ information. The structure of expanded logs is identical to that
+ of delta-encoded logs, the expanded log simply has no deltas.
+ - New performance-log-resolve.py tool resolves symbol information
+ in backtraces. The logs produced by GIMP only specify the program
+ counter at each stack frame, providing an address-map to map
+ program-counter addresses to actual symbols separately. This tool
+ looks up each program-counter address in the address map,
+ incorporating the relevant symbol information directly into the
+ backtrace.
+ - New performance-log-deduce.py tool that statistically deduces the
+ correct thread states based on backtrace address frequency, fixing
+ local inaccuracies.
+ - New performance-log-viewer.py tool that is a viewer for GIMP
+ performance logs, with a sample-selection area at the top and an
+ information area at the bottom. The sample-selection area visualizes
+ the sampled variables and markers using a simultaneous set of plots,
+ and displays the currently selected samples. The information area
+ shows global information stored in the log, as well as information
+ specific to the currently selected samples, including variable listing
+ and statistics, full backtrace, and profile/call-graph information.
+
+Translations:
+
+ - Updated translations: Danish, Dutch, Finnish, German, Hungarian,
+ Italian, Marathi, Polish, Portuguese (Brazil), Russian, Spanish,
+ Swedish, Ukrainian.
+
+
+Overview of Changes from GIMP 2.10.4 to GIMP 2.10.6
+===================================================
+
+Core:
+
+ - Render drawable previews asynchronously.
+ - Merge the file view filter and file format lists in GimpFileDialog.
+ The presence of 2 lists was very confusing.
+ - DLL search priority is now updated before running a plug-in on
+ Windows, depending on the executable bitness. This gets rid of one
+ of the last remnant of DLL hell in GIMP, which was when running
+ 32-bit plug-ins from a 64-bit build of GIMP.
+
+Filters:
+
+ - New "Little Planet" (gegl:stereographic-projection) filter.
+ - New "Long Shadow" (gegl:long-shadow) filter.
+
+Tools:
+
+ - Halt the Measure tool after straightening.
+ - Add an "orientation" option to the measure tool, corresponding to
+ the "orientation" property of GimpToolCompass (i.e., it controls the
+ orientation against which the angle is measured, when not in 3-
+ point mode.) The orientation is "auto" by default, so that the
+ angle is always <= 45 deg. Note that the "orientation" option
+ affects the tool's "straighten" function, so that the layer is
+ rotated toward the current orientation.
+ - Text layers can now represent vertical texts, with 4 variants:
+ left-to-right and right-to-left lines, and forcing all characters to
+ be upright or following Unicode's vertical orientation property.
+ See also:
+ * https://www.unicode.org/reports/tr50/
+ * http://www.unicode.org/Public/UCD/latest/ucd/VerticalOrientation.txt
+
+User Interface:
+
+ - The Dashboard dockable dialog now has an "async" field to the
+ dashboard's "misc" group, showing the number of async operations
+ currently in the "running" state.
+ - New Preferences option to enable/disable layer-group previews, since
+ these can get quite time-expensive.
+
+Translations:
+
+ - New language: Marathi
+ - 12 translations were updated: Brazilian Portuguese, Dutch, French,
+ German, Greek, Italian, Latvian, Polish, Romanian, Slovenian,
+ Spanish, Swedish.
+
+Build:
+
+ - Add --with-win32-32bit-dll-folder configuration option to override
+ the folder where 32-bit versions of DLL will be installed (default:
+ 32/bin/).
+ - Install all plug-ins in their own directories. Unlike on master,
+ this is not mandatory to do so, but it would protect our core
+ plug-ins against any DLL installed directly under plug-ins/ by
+ third-party plug-ins (cf. Windows DLL hell).
+
+
+Overview of Changes from GIMP 2.10.2 to GIMP 2.10.4
+===================================================
+
+Core:
+
+ - Remove gimp_display_shell_draw_background() and all clipping hacks
+ for drawing the canvas background. This optimizes away one entire
+ step of drawing of image size, for each expose.
+ - Font loading does not block startup anymore. Only consequence is
+ that the Text tool may not be usable immediately if fonts are not
+ fully loaded yet (and will output an appropriate error if you do
+ so). All non-text related activities can be performed right away.
+ - Change of the URL from bugzilla to gitlab where appropriate.
+ - New tool option manager to better keep track of user context and
+ paint options in a consistent manner.
+
+User Interface:
+
+ - The Dashboard dockable dialog now has a 'Memory' group that shows
+ memory-usage information: the currently used memory size, the
+ available physical memory size, and the total physical memory
+ size. It can also show the tile-cache size, for comparison
+ against the other memory stats. Note that the upper-bound of the
+ meter is the physical memory size, so the memory usage may be over
+ 100% when GIMP uses the swap.
+ - The Dashboard dockable dialog now has "read" and "written" fields in
+ the dashboard swap group, which report the total amount of data
+ read-from/written-to the tile swap, respetively. Additionally, the
+ swap busy indicator (used as the meter's LED) has been improved,
+ so that it's active whenever data has been read-from/written-to
+ the swap during the last sampling interval, rather than at the
+ point of sampling.
+ - Fonts can now be tagged. The user interface is the same as for
+ brushes, patterns etc.
+ - Some icons fixed: larger spacing between broken chains and
+ gimp-tool-ellipse-select made symmetrical.
+
+Usability:
+
+ - When a plug-in cannot be applied to an image because of mismatch
+ in image types (e.g. layer has no alpha or image is greyscale),
+ GIMP now displays a message listing supported image types for this
+ plug-in.
+
+Tools:
+
+ - The Measurement tool now has an "Auto straighten" option allowing
+ to rotate the active drawable (layer, channel…) so that the
+ measurement line is used as horizon. As other transform tools, the
+ feature will work on linked drawables as well.
+ - The Smudge tool now paints correctly on images with a color
+ profile other than the GIMP's built-in one.
+
+Build:
+
+ - Installer: set compatibility options to run Python plugins in
+ HiDPI-aware mode.
+ - Put back compatibility DLLs for really old plugins.
+ - Install binary tool `gimp-test-clipboard` on the system to allow
+ people to help us debug clipboard bugs.
+ - --enable-bundled-mypaint-brushes renamed
+ --enable-relocatable-bundle and also make WMF fonts looked up on
+ the runtime prefix of GIMP (instead of the build-time path) when
+ this build option was set.
+
+Plug-ins:
+
+ - gimptool-2.0 binary now accepts source files with non-standard
+ extensions if it can try to guess appropriate language from the
+ compiler being used. It will also properly quote arguments for
+ shell usage.
+ - Run explicitly Python 2 as Python plug-in interpreter to prevent
+ breakage on systems where Python 3 is the default.
+ - raw_input()'s argument in Python console is now optional, and
+ input() support has been added.
+
+File Formats:
+
+ - The PSD loader now provides an option to load "merged",
+ pre-composited version of the images that becomes available when a
+ PSD file was saved with "Maximize Compatibility" option enabled in
+ Photoshop. This is useful when loading PSD files that use features
+ that GIMP doesn't currently support, and therefore can't render
+ correctly, such as adjustment layers. When loading the merged
+ image version, we avoid loading certain additional data from the
+ file, such as channels, paths, and guides, while still loading
+ metadata. This option is currently exposed as an additional file
+ type ("Photoshop image (merged)"), which has to be explicitly
+ selected from the file-type list when opening the image.
+ - Embedding GIMP's built-in sRGB color profile to exported files is
+ now optional. The default choice can be set in the Preferences
+ dialog.
+
+Translations:
+
+ - Updated translations: Catalan, Czech, Danish, Dutch, Finnish,
+ Greek, Hungarian, Italian, Latvian, Polish, Romanian, Russian,
+ Spanish, Swedish, Ukrainian.
+
+
+Overview of Changes from GIMP 2.10.0 to GIMP 2.10.2
+===================================================
+
+Core:
+
+ - Discard fonts which fail to load and popup an info dialog to allow
+ people debug their fonts.
+ - New API to suppress updates in UI until plug-ins are done
+ introducing changes.
+ - New API to calculate histograms in separate threads, with possible further
+ extension to handle similar cases elsewhere in GIMP.
+ - Tool options are now properly saved and reloaded per-device at
+ startup.
+
+Plug-ins:
+
+ - New plug-in for importing and exporting HEIF images.
+ - Enable visibility of rasterized vector layer from PSD.
+ - Single-window screenshots in Windows fixed to correctly snap a
+ window even when it is partly off-screen or covered by another
+ window or when display scaling is not set to 100%.
+
+Filters:
+
+ - New Spherize filter to wrap an image around a spherical cap
+ - New Recursive Transform filter to create Droste effect.
+
+Usability:
+
+ - Warn users, when alpha-only painting has no effect. E.g. when target
+ drawable doesn't have an alpha channel, or the alpha channel is locked.
+ - Make the splash texts dynamic, so they are larger on larger splashes.
+ - Mention pressing Enter to complete Foreground selection in the status bar.
+ - Make sure that clicking outside any selection prevents Rectangle Select
+ and Ellipse Select tools from creating empty selections.
+ - Improve mouse wheel zooming behavior to keep the same point
+ centered under the pointer even if the image is completely visible
+ in the canvas.
+ - Add "View -> Center Image in Window" (Shift+J) as a quick way to
+ center the image at any zoom level.
+
+Translations:
+
+ - Updated translations: Catalan, Danish, Dutch, French, German, Greek,
+ Hungarian, Icelandic, Italian, Latvian, Polish, Russian, Spanish,
+ Swedish, Ukrainian.
+ - New translation of Windows installer: Chinese (Taiwan)
+
+Build:
+
+ - Add a --with-bug-report-url configure option allowing packagers to
+ set the address of their own bug tracker. This address will be the
+ one opened by the debug dialog for reporting bugs.
+ - Add a flatpak manifest for the gtk3-port branch.
+ - Remove the possibility to disable script-fu.
+ - Add a --with-icc-directory configure option to customize the color
+ profile directory. By default, it is set to the common path
+ /usr/share/color/icc.
+
+Documentation:
+
+ - Updating the description of the XCF format "devel-docs/xcf.txt", for
+ third-party readers wishing to support GIMP 2.10 XCF files.
+ - Add documentation skeletons for all enums in libgimpbase/, there is
+ much room for improvement.