summaryrefslogtreecommitdiffstats
path: root/NEWS.pre-2-10
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:30:19 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:30:19 +0000
commit5c1676dfe6d2f3c837a5e074117b45613fd29a72 (patch)
treecbffb45144febf451e54061db2b21395faf94bfe /NEWS.pre-2-10
parentInitial commit. (diff)
downloadgimp-5c1676dfe6d2f3c837a5e074117b45613fd29a72.tar.xz
gimp-5c1676dfe6d2f3c837a5e074117b45613fd29a72.zip
Adding upstream version 2.10.34.upstream/2.10.34upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'NEWS.pre-2-10')
-rw-r--r--NEWS.pre-2-101184
1 files changed, 1184 insertions, 0 deletions
diff --git a/NEWS.pre-2-10 b/NEWS.pre-2-10
new file mode 100644
index 0000000..72a5815
--- /dev/null
+++ b/NEWS.pre-2-10
@@ -0,0 +1,1184 @@
+ ------------------------------
+ GNU Image Manipulation Program
+ 2.10 Development Branch
+ ------------------------------
+
+This used to be the development branch that lead to GIMP 2.10.
+
+
+Overview of Changes from GIMP 2.10.0 RC2 to GIMP 2.10.0
+=======================================================
+
+Core:
+
+ - CLI option --show-playground visible in --help.
+ - Sample point dockable now works with more than 4 sample points.
+ - Various warnings removed, multi-threading officially not
+ "experimental" anymore…
+ - Various fill and fade operations now use the current paint composite
+ mode, allowing for instance filling to paint over transparent areas.
+ - Default layer and paint modes are now Normal (instead of Legacy).
+ - Be smarter about layer modes for new layers.
+ - Get rid of the remaining places that were using the NORMAL_LEGACY
+ mode by default (painting, some more).
+ - Improve painting speed even more by even more evil C++.
+ - Flipping drawables is much faster because it's now working
+ tile-by-tile.
+ - Gradient rendering is now much faster, using a cache.
+
+Plug-ins:
+
+ - Ripple plugin removed, compat PDB-API "plug-in-ripple" added
+ instead.
+
+PDB:
+
+ - New procedure: gimp-item-transform-translate.
+ - Make gimp-item-transform-* transform linked items too.
+ - Deprecate gimp-color-balance and gimp-layer-translate.
+
+Assets / Resources:
+
+ - New "Fun" category for brushes (moving the "Pepper" there, which
+ also gets improved resolution), and adding Wilber and GEGL brushes.
+ - "Structure" brush obsoleted.
+ - 5 new and more serious brushes.
+
+Translations:
+
+ - 6 translations were updated: Catalan, Danish, Finnish, Korean,
+ Polish, Swedish.
+
+
+Overview of Changes from GIMP 2.10.0 RC1 to GIMP 2.10.0 RC2
+===========================================================
+
+Core:
+
+ - Symmetries are now preserved in XCF files (saved as image parasites).
+ - New runtime option --show-debug-menu in order to make the File >
+ Debug menu visible.
+ - Do not show invisible actions in search dialog.
+ - Do not dither image mask and channels for imported images.
+ - Various optimizations for painting and display (WIP), including
+ parallelized painting code.
+ - New "Misc" group to the Dashboard dock, with currently only a
+ "Mipmapped" field showing the total size of processed mipmapped
+ data.
+ - Plug-ins debugging on crashes through --stack-trace-mode CLI option
+ improved to handle more case.
+ - Fix selection -> channel -> selection roundtrips by never doing
+ any gamma conversion when converting between an image's selection,
+ channels, masks. Also, make all channels linear in all images with
+ >8bit.
+
+Libgimp:
+
+ - New group "drawable_edit" which contains all functions from "edit"
+ that are not cut/copy/paste. The new functions have much less
+ arguments and take them from the context instead. The respective
+ functions in "edit" have been deprecated.
+ - New functions in "context" to configure aspects of gradient
+ drawing, and to set the built-in gradients (the new gradient
+ function in "drawable_edit" doesn't have a parameter for the
+ gradient type any longer).
+
+User interface:
+
+ - Lighter and Darker themes removed for now, Light and Dark themes
+ rewritten from scratch to get rid of various usability issues and
+ glitches. Only Gray theme from previous set kept as-is.
+ - New GimpToolGyroscope on-canvas control, currently used for
+ the Panorama Projection filter. The widget provides on-canvas
+ interaction for 3D rotation (yaw, pitch, roll).
+
+Configurability:
+
+ - In Preferences > Dialog Defaults, new section "Filter Dialogs"
+ created to customize various common features of filters, such as
+ recent settings and advanced color options.
+ - Do not default to last used filter settings, but allow this behavior
+ in Preferences > Dialog Defaults, with checkbox "Default to the last
+ used settings".
+
+Tools:
+
+ - Color used in the Smudge tool is now added to the color history.
+ - "Blend" tool renamed to much more consistent "Gradient" tool.
+ Also it can now work in linear RGB matching capabilities CSS/SVG
+ specification without gamma-errors in color blending and CIE Lab
+ which in addition keeps a perceptual graylevel.
+
+Assets / Resources:
+
+ - Adding 4K UHD in document templates (and fixing 4K DCI).
+
+Building:
+
+ - New --enable-bundled-mypaint-brushes option in configure to decide
+ whether to use the configure-time installation path of MyPaint
+ brushes, or use a path relative to GIMP installation prefix
+ (typically for bundled binaries, such as on Windows or macOS).
+ - Detect freetype2 using pkg-config (`freetype-config` is on its way
+ out in various distributions apparently).
+ - Appdata now installed to $PREFIX/share/metainfo/
+
+Translations:
+
+ - 8 translations were updated: Arabic, Catalan, Chinese, French, Italian,
+ Polish, Russian, Swedish.
+
+
+Overview of Changes from GIMP 2.9.8 to GIMP 2.10.0 RC1
+======================================================
+
+Core:
+
+ - New dashboard dockable: shows the current GEGL cache and swap sizes
+ and CPU usage and active time, and their recent history. It has
+ options to control the update rate and history duration of the data,
+ and an option to warn (by raising/blinking the dialog) when the swap
+ size approaches its limit.
+ - Make the selection boundary detection the same as 2.8.
+ - The environment variable GIMP_DEBUG can now be set to "list-all" to
+ display available debug domains. Non-recognized flags will also
+ trigger the debug flag list output.
+ - Improve migration from 2.8 to 2.10 by recursively migrating
+ configuration files (up to 5 levels, to protect from recursive
+ symbolic links).
+ - Mark legacy plug-ins and scripts in menus.
+ - Enable "save-tool-options" and "save-device-status" by default,
+ it's the expected behavior these days.
+ - GIMP doesn't warn any more for unknown darktable XMP metadata. We now
+ register the corresponding namespace.
+ - Adding settings for metadata export handling in "Image Import &
+ Export" page of Preferences. By default, the settings are checked,
+ but you can uncheck them (in particular since metadata can often
+ contain a lot of sensitive information).
+ - Splash image now scaled down to maximum 1/2 of the screen area. This
+ will allow to ship a big splash image which will be visible on all
+ type of screens, whichever low or high resolution. Vector splash
+ images are scaled both up or down to have them always at ideal size.
+ - Brightness-Contrast, Curves, Levels and Threshold are now available
+ in "Repeat last" history.
+ - Improve action history to not show newly excluded actions (which
+ were already in our history from before the exclusion).
+ - Use GEGL for transform-tools preview, allowing faster and more
+ accurate previews.
+ - Re-arrange color models in the Color dock (WIP).
+ - New debug tool and infrastructure to handle WARNING and CRITICAL
+ errors, as well as fatal errors (crashes), raising a pop-up with all
+ version information on GIMP and its main dependencies, as well as
+ the error message and backtraces, and encouraging people to make bug
+ reports.
+ - Support layer masks on layer groups.
+ - GIMP now attempts to backup unsaved images when it crashes. Then at
+ next startup, it will suggest to recover the salvaged images. Image
+ recovery is not 100% guaranteed.
+ - New gimp_spawn_async() function uses vfork() to help avoid hanging
+ during a fork process, currently used for plug-ins.
+ - Dock color picker is now color-managed on macOS.
+
+Libgimp:
+
+ - New gimp_export_exif(), gimp_export_xmp() and gimp_export_iptc()
+ functions returning the creator choice regarding default handling
+ for metadata export (as set in the Preferences).
+ - GIMP Protocol version incremented.
+ - New gimp_get_pdb_status() to return the status of the last PDB
+ call. This is needed for plug-ins which depend on other plug-ins'
+ procedures. If for instance, a second-level plug-in is interrupted
+ interactively, we don't want to process this as an error but as a
+ cancellation.
+ - New gimp_stack_trace_available(), gimp_stack_trace_print() and
+ gimp_stack_trace_query() for debugging.
+ - Use gegl:distance-transform in gimp_edit_blend() implementation
+ making it much faster for all GRADIENT_SHAPEBURST_* gradient types.
+ Legacy gimp:shapeburst operation has been deleted.
+ - New gimp_context_get_distance_metric() and
+ gimp_context_set_distance_metric() for distance metric used in
+ gimp_edit_blend() (and future usage).
+
+GUI and Usability:
+
+ - New icons: "gimp-attach", "gimp-color-space-linear",
+ "gimp-color-space-perceptual", "gimp-color-temperature",
+ "gimp-dashboard", "gimp-detach", "gimp-tool-desaturate",
+ "gimp-tool-exposure", "gimp-tool-shadows-highlights".
+ - Switching between linear and perceptual (gamma-corrected) spaces
+ in the Histogram dialog is easier now: two buttons instead of one
+ two-way button where current state was difficult to understand.
+ - Shorten color channel labels in the color frame (color picker tool,
+ sample point editor…) with conventional 1 or 2-letter abbreviations,
+ and split coordinates on 2 lines.
+ - We now switch to "Huge" icons by default when the display pixel
+ density is over 250 PPI (used to be 300 PPI).
+ - Improve action history sorting: items climb up the list faster,
+ while top items retain their relative position longer.
+ - Extend action search "initialism": Extend initialism-based search
+ (e.g.: "gb" for "Gaussian Blur"), by matching arbitrarily-long
+ initialisms, and by allowing partial matches (with lesser priority).
+ - Values in the GimpNumberPairEntry widgets can now be cleared by clicking
+ an icon.
+ - Transform Grid controller is now available for custom UIs of GEGL
+ operations (currently used for Recursive Transform op).
+ - New GimpHighlightableButton widget is used to draw attention to buttons
+ in certain cases. Currently used for anchoring and removing floating
+ selections.
+ - Composite modes were renamed to be more descriptive, as follows:
+ Source Over => Union
+ Source Atop => Clip to Backdrop
+ Destination Atop => Clip to Layer
+ Source In => Intersection
+
+Configurability:
+
+ - Wilber logo in the toolbox can now be disabled via Preferences
+ (the Toolbox page).
+
+Tools:
+
+ - "Link brush size with canvas zoom" paint option becomes "Lock brush
+ to view" to make a brush invariant in display space whichever
+ scaling, rotation, and reflection.
+ - Blend tool now displays the line length (in current shell unit and
+ with ideal digit accuracy) and angle in the status bar.
+ - Constrain line angles in display space: all tools which have a line
+ constraint feature (for instance blend tool, paint tools in line
+ mode, etc.) will now do so relatively to the display, allowing you
+ to rotate the canvas in order to constrain to any arbitrary angle.
+ - Levels and Curves can now work on linear light data, the toggles are
+ at the top of respective dialogs, right next to linear/log toggles
+ for the histogram.
+ - Blend tool now has a distance metric option to determine how
+ distances are computed (Euclidean, Manhattan or Chebyshev
+ distances).
+
+Filters:
+
+ - New GEGL-based Shadows-Highlights filter now available in the Colors
+ menu. The implementation is based on the code from darktable.
+
+Plug-ins:
+
+ - Screenshot with the generic Freedesktop API has been implemented. It
+ is meant to replace all desktop environment specific APIs eventually
+ but needs to get reasonable features first. Therefore currently
+ GNOME/KDE and X11 implementations still have priority.
+ - qbist ported to GEGL and float.
+ - Colors for the standard output and standard error texts in the
+ Python console are now themeable, mapping respectively to normal
+ text and insensitive text colors for the "python-fu-console" widget.
+ We updated the default colors a bit for our themes. If this is not
+ good enough (for instance, if one has a specific type of color
+ blindness), at least it is now possible to create a custom theme
+ adapted to one's needs.
+ - PSD export now happens with progress bar update for feedback.
+ - Win32 Screenshot improved to handle hardware-rendered software and
+ multi-monitor displays.
+
+File formats:
+
+ - Fix various vulnerabilities in file plug-ins: GBR (CVE-2017-17784),
+ PSP (CVE-2017-17787 and CVE-2017-17789), TGA (CVE-2017-17786) and
+ FLI (CVE-2017-17785).
+ - Fix WebP export under Windows.
+ - No more max dimension limitation for X cursors. We still warn when
+ cursor size is over a max limit for X bitmap cursors, but we don't
+ clamp anymore on export.
+ - JPEG, PNG, TIFF and WebP export plug-ins updated to honor creator's
+ default choice regarding metadata handling.
+ - Fix GIH brushes using different-sized layers.
+ - RGBE (Radiance HDR) format files can now be imported and exported.
+ - JPEG2000 loading now done via OpenJPEG library and supports any bit
+ depth (over 32-bit per channel will be clamped to 32-bit and
+ non-multiple of 8-bit will be promoted, for instance 12-bit will end
+ up as 16-bit per channel in GIMP). JPEG 2000 codestream also
+ supported and displays a dialog asking for the color space (whereas
+ JPEG 2000 image color space are auto-detected).
+ JPEG 2000 images or codestream in YCbCr, xvYCC and CMYK color spaces
+ are converted to sRGB images upon loading.
+
+Building:
+
+ - poppler and poppler-data now hard dependencies. PDF import is
+ considered a granted feature nowadays and fallbacking to the
+ Postscript plug-in was bad experience.
+ - move PDB generation and sources to toplevel/pdb.
+ - New configure option `--enable-windows-installer` to generate the
+ necessary files for the installer translations during the build.
+ - Improve POTFILES generation for po-*/ directories.
+ - Require glib >= 2.54.2.
+ - New dependency to mypaint-brushes-1.0 for stable MyPaint brushes
+ available at installation.
+ - AppStream ID renamed from gimp.desktop to org.gimp.GIMP following
+ current convention.
+ - Require fontconfig >= 2.12.4. Lower versions are particularly a
+ problem on Win32, where many cache update failure were reported to
+ us, resulting in very slow startup and close-up (and not only the
+ first time, but every time).
+
+Translations:
+
+ - Windows installer now localized with gettext.
+ - String freeze has started and GIMP received updates from:
+ Basque, Brazilian Portuguese, Catalan, Chinese (Taiwan), Danish,
+ Esperanto, French, German, Greek, Hungarian, Icelandic, Italian,
+ Japanese, Latvian, Polish, Russian, Serbian, Slovenian, Spanish,
+ Swedish, Turkish.
+
+
+Overview of Changes from GIMP 2.9.6 to GIMP 2.9.8
+=================================================
+
+Core:
+
+ - The default brush is now "Hardness 050".
+ - Verbose version (command line: gimp -v) now displays C compiler
+ information.
+ - Transform tools don't commit identity transformation anymore.
+ - Manual language can now be selected amongst all installed manuals,
+ which is particularly interesting when no GIMP manuals are available
+ in your GUI language. This will be proposed by default when a manual
+ is not installed for the GUI language (alongside the possibility to
+ read online) and the choice can be edited in preferences.
+ - The statusbar now blinks on warnings and errors.
+ - Paste in Place, available for regular clipboard and named buffers,
+ allows pasting contents of either the clipboard a named buffer at the
+ exact coordinates it was copied from.
+ - Color Picker should now work on KDE/Wayland.
+ - Color Picker now reads values under cursor in local windows making
+ it work at least inside GIMP Windows on Wayland platforms with no
+ color-picking capabilities (for instance GNOME/Wayland) yet.
+ - OpenCL is now disabled by default. Depending on graphics cards and
+ drivers, OpenCL acceleration is often slower than multi-threaded
+ implementation, and can also sometimes be "glitchy".
+ - Now possible to open a locally-installed manual different from the
+ GUI localization. The manual language choice can be customized
+ through preferences when several manuals are installed. If no manual
+ language has been selected already and no manual for current GUI
+ localization is available, choice of help language will be proposed
+ at first call to the manual.
+
+Configurability:
+
+ - Keybindings now possible for previous/next/top/bottom channel.
+
+Usability:
+
+ - The spinscale widget now highlights vertical parts of the slider
+ section differently to hint that position of cursor above the widget
+ matters. When changing values in the lower step section, the pointer
+ will be wrapped around the screen so that you could continue adjusting
+ the value without interruptions.
+ - Canvas rotation and flip information is now visible in the status
+ bar (as angle value and flip icon). Clicking on these canvas status
+ will respectively raise the "Select Rotation Angle" dialog or unflip
+ the canvas.
+ - Use abbreviated versions for long layer mode names. In particular,
+ replace the "(legacy)" suffixes with "(l)" in the abbreviated
+ versions, still showing the unabbreviated names in the full list.
+
+Tools:
+
+ - Blend tool now features on-canvas gradient editing: adding, shifting,
+ removing color stops, shifting midpoints and converting them to color
+ stops, assignging colors to color stops, changing blending type
+ for midpoints. Additional options: 'Instant mode' (active before you
+ start blending) to support the old workflow where you can't edit color
+ stops before applying the gradient fill, and 'Modify active gradient'
+ which allows changing user-writable gradients directly rather than
+ creating copies of them. Moreover, custom gradient is now saved
+ and restored across sessions.
+ - All transform tools: it makes no difference now whether a modifier is
+ pressed before of after mouse button press/release.
+ - Free Select tool selection can now be committed with double click as
+ well (only through Enter key before). This allows smoother workflows
+ on some setups, and in particular when no keyboard is available
+ (e.g. tablet-like computers).
+ - Layer group children now inherit the color tags of the parent by
+ default, unless specific color tags are assigned. Inherited color
+ tags show in a less saturated color than assigned ones.
+
+Painting:
+
+ - When copying a generated brush, GIMP now copies its 'Spacing' property.
+ - Rename "Wheel" dynamics labels as "Wheel/Rotation". It turns out
+ that Wacom Art Pen and Airbrush pen use the same axis for barrel rotation
+ and wheel scrolling respectively. Therefore they already work in GIMP.
+ "Unhide" the feature with more obvious labels.
+
+Color management:
+
+ - Use babl to convert between profiles if possible.
+
+Display filters:
+
+ - New 'Clip Warning' display filter to show underexposed and overexposed
+ values. Target values below 0 and above 1.0, hence it only works on
+ 16/32 bit per channel float images (such as EXR and TIFF).
+ - Display filters now operate in unbounded sRGB rather than in monitor
+ color space.
+
+Plug-ins:
+
+ - Fix finding raw loaders on Windows/macOS.
+ - Screenshot for KDE/Wayland has been implemented (full-screen and
+ window screenshots only; rectangular area screenshots need
+ implementation on the KDE side).
+ - Screenshot can now add a delay between window pick/rectangular
+ area selection and the actual shot, but only in platforms supporting
+ the feature.
+
+File formats:
+
+ - PSD:
+ - Fix mask position when opening/exporting.
+ - Fix active layer selection during loading.
+ - Fix potential group-layer naming conflict during loading.
+ - Fix missing some attributes loading empty layers.
+ - Fix reading files with deeply nested layer groups.
+ - Load and save layer group expanded state.
+ - Improve layer opacity loading/saving.
+ - PDF: password-protected files can now be imported.
+ - HGT: Digital Elevation Model data from NASA/NIMA can now be loaded,
+ both SRTM-1 (1 arc-second) and SRTM-3 (3 arc-seconds).
+
+Filters:
+
+ - Update GEGL-based filter Wavelet Decompose:
+ - Add an option to keep the decomposition in a layer group.
+ - Add an option to add layer mask to each scales layers.
+ - Do not use 'New from visible' because it produces unexpected
+ results; replaced by succession of layer copy and merge down.
+
+PDB:
+
+ - Add file-pdf-load2 API to load password-protected and/or multi-page
+ PDF files.
+ - Add file-hgt-load to load HGT files, with an argument to select between
+ SRTM-1 and SRTM-3 types.
+
+Translations:
+
+ - Updated: Catalan, Croatian, Galician, German, Greek, Hungarian,
+ Icelandic, Indonesian, Italian, Polish, Russian, Spanish.
+
+Building:
+
+ - Require LittleCMS >= 2.8.
+ - Initial docker-based build environment for GIMP now available.
+ - Warn against use of GCC 7.2 which has a bug breaking GIMP.
+ - An official flatpak stable package is now available on flathub.
+
+Contributors:
+
+Mario Blättermann, Hanno Boeck, Joao S O Bueno, Marco Ciampa,
+Fran Dieguez, Piotr Drąg, Tobias Ellinghaus, Ell, Sveinn í Felli,
+gogo, Luis Angel Gonzo, Anders Jonsson, Christian Kirbach,
+Øyvind Kolås, Thomas Manni, Jordi Mas, Balázs Meskó, Lionel N,
+Michael Natterer, Jehan Pagès, Juan Palacios, Alexandre Prokoudine,
+Christopher Rogers, Michael Schumacher, shark0r, Dimitris Spingos,
+Tobias Stoeckmann, Andika Triwidada, Massimo Valentini.
+
+
+Overview of Changes from GIMP 2.9.4 to GIMP 2.9.6
+=================================================
+
+Core:
+
+ - Make it possible to use multithreading in GEGL and raise max amount
+ of threads to 64. Given how unstable this feature is, any value
+ above 1 should be currently treated as a step inside an industrial
+ microwave oven with the on/off switch on the outside.
+ - New clipboard implementation allows copying/pasting layers and
+ layer groups.
+ - Color tags simplify managing large projects with a lot of layers
+ and layer groups.
+ - The Mouse Pointer dialog and colors applied to images are now
+ color-managed.
+ - Gamma and precision selectors for newly created images.
+ - Never dither when converting to a higher bit depth, or to anything
+ more than 16 bits; don't offer dithering options in these cases.
+ - Default to linear TRC when converting to 16-bit float.
+ - Pre-initialize some babl-based pixel format conversion routines
+ at start-up to decrease the initial lazy initialization cost for
+ some interactions.
+ - Remove max size limitation of 4GB for XCF files.
+ - Support clipboard images in the clipboard brush and pattern.
+ - libgimp calls are now thread-safe.
+
+Layers and compositing:
+
+ - Layer modes' code is now refactored to separate gamma-corrected
+ variations from the linear light ones, legacy modes have been
+ preserved to support older XCF files. UI to switch between the two
+ is experimental and should be treated as a temporary design.
+ - Blending and compositing of layers are configurable separately for
+ more flexibility now, compositing can be linear TRC, perceptual TRC
+ or CIE LAB.
+ - Layer blending color space and compositing color space are
+ configurable now.
+ - Layers created from the GUI and from plug-ins now default to
+ normal mode (not normal-legacy), unless all the existing layers
+ in the image are also in legacy mode.
+ - New layer modes: linear burn, vivid light, linear light, pin light,
+ hard mix, exclusion, merge, split, luminance (rgb), pass-through
+ (for layer groups only).
+ - Make erase mode an ordinary layer/paint mode.
+ - Better performance of HSV-based layer modes.
+ - Rename "Color (HSV)" mode to "Color (HSL)" to indicate the actual
+ color space being used.
+
+On-canvas interaction changes:
+
+ - Refactor on-canvas interaction code out of some of the tools and
+ make it reusable.
+ - Update tools accordingly.
+ - Make on-canvas interaction accessible to GEGL-based filters and
+ use it in the Spiral and Supernova filters as a test case.
+
+GUI and usability:
+
+ - Easily add or remove layer masks by clicking either the layer
+ preview or a new button in the Layers dialog.
+ - Enhance the Layer Attributes dialog to provide the single UI for
+ setting layer's name, blending mode, opacity, and offset,
+ toggling visibility, link status, various locks, color tags.
+ - Add a Save As button to the “Quit GIMP” dialog and raise images
+ on click for easy checks.
+ - Allow to choose fill color when resizing layers and images.
+ - Quick Mask and Channel Attributes dialogs use the new spinscale
+ widget for the mask opacity slider.
+ - Enable grid views of dynamics and tool presets.
+ - Allow to zoom with middle mouse button + control + drag up/down.
+ - For all paint tools, when switching to the color picker mode,
+ don't rely on the exact modifier being pressed or released. Instead,
+ check if only the right modifier is pressed after *each* modifier
+ change, and switch to color picking if it is.
+ - On startup, GIMP checks for duplicate accelerators in menus, and
+ removes duplicates.
+ - Standard (Freedesktop) and GTK+ icons can now be set by the icon
+ theme for a fully consistent style.
+ - Many new icons.
+ - Toolbox buttons do not grab focus anymore, which used to break
+ usage of the Tab key and other canvas-related shortcuts after
+ changing tools with a pointing device click.
+ - Delete Layer/Channel/Path are consistently the last option in
+ respective dialogs now.
+ - Extend the text along the tangent of the last path stroke, when
+ the length of the path is shorter than the width of the text to be
+ warped.
+ - Allow to toggle the histogram dialog between gamma and linear.
+ - New 'Colors -> Linear Invert' command to provide radiometrically
+ correct color inversion.
+ - Quit dialog now exits when all the images in the list have been
+ saved.
+ - The built-in error dialog now displays errors outputted by GEGL.
+ - Shift-clicking the visibility icon of a layer in a layer group now
+ toggles its exclusive visibility within this layer group.
+
+Color selection and management:
+
+ - Add the profile import policy to Preferences -> Import.
+ - Color management for GEGL-based filters is expensive, so it's off
+ by default for now, and options are hidden by default too.
+ - Add LCH color selector, with support for gamut checking.
+ - Default to magenta for out-of-gamut color.
+ - Make all script-fu color buttons color-managed.
+
+Configurability:
+
+ - Remember settings of many dialogs across sessions.
+ - New Interface / Dialog Defaults page in the Preferences dialog to
+ control defaults values of various dialogs.
+ - Settings on some individual pages of the Preferences dialog can be
+ reset separately now.
+ - Vertical scrollbar added to keep the height of the Preferences
+ dialog fitting small displays.
+ - Allow mouse to optionally configure tablet devices
+ - Allow creating shortcuts containing the Cmd key + mouse wheel events.
+ - Default to 300ppi and 1920x1080px for new documents.
+ - Default to 62px font size.
+ - Do not allow Alt+[0-9] shortcuts, they are typically reserved for
+ display switching.
+ - Icons size is now a configurable option, not a theme feature.
+ The icon size is also auto-guessed from monitor resolution now.
+ - It is now possible to have keybindings for previous/next/top/bottom
+ vectors.
+
+Tools:
+
+ - Complete the Handle Transform tool and make it available by default.
+ - Add Hue-Chroma operation/tool that operates in CIE LCH color space.
+ - Replace Color Balance, Colorize and Hue-Saturation with GEGL-based
+ filters with a custom user interface to ease future transition to
+ non-destructive editing planned for v3.2. Remove the "Image ->
+ Tools -> Color Tools" submenu.
+ - The Move tool now shows relative coordinates when moving guides
+ and sample points.
+ - The Measure tool has better digit precision now (before that, at
+ 4000 PPI, up to 7 pixels would show up as 0 mm, then at 0.1 mm from
+ the 8th pixel etc.).
+ - All paint tools now display the angle (relatively to the horizontal
+ line, centered on previously drawn position) alongside distance in
+ status bar when straight line constraining (holding shift when
+ painting).
+ - Performance of the Fuzzy Select and the Bucket Fill tool has been
+ improved.
+ - The Fuzzy Select and the Bucket Fill tool now can select colors by
+ CIE L, C, and H.
+ - Unclutter transform tools: default to "no grid", hide the original
+ layer during the interactive transform (except for the Flip tool).
+ - Make the Warp Transform tool faster, add more options, use
+ the linear sampler to ensure crisp lines after an erase.
+ - Select by Color and Color Picker tools work now correctly in color
+ spaces other than sRGB.
+ - Free Select tool now waits for Enter being pressed to confirm
+ selection, which enables you to tweak positions of polygonal selection.
+ - Color Picker doesn't snap to anything when picking colors anymore,
+ always draws the outline of the averaged region (not only while the
+ mouse is being pressed), and supports arbitrary range of values
+ regardless of the actual image color precision.
+ - Color Picker now displays pick position (also visible in the
+ Sample Points dialog now), as well as values in CIE LAB and CIE LCH.
+ - Uncommitted selection by the Intelligent Scissors tool is not
+ discarded on tool change anymore.
+ - For Intelligent Scissors, GIMP now checks whether the first and the
+ last isegments are distinct before closing the curve.
+ - Flip tool: add Clipping option to the flip tool. Add support for
+ reflecting across guides: when clicking on a guide while using the
+ Flip tool, reflect the active item across the guide, rather than
+ around its center.
+
+Painting:
+
+ - The Smudge tool now has a Flow control that allows mixing in both
+ constant and gradient color while smudging. There's another new
+ option to never decrease alpha of existing pixels while smudging
+ in the tools options now as well.
+ - Rulers, scrollbars, and the Navigation dialog follow canvas
+ rotation now.
+ - Canvas rotation is now snappier in certain cases.
+ - For bitmap brushes, GIMP now caches hardness and disables dynamic
+ change of hardness to improve painting performance. Bitmap brushes
+ also don't get clipped anymore, when hardness is less than 100.
+ - Allow painting on transparent layers with modes other than normal.
+ - Add a specialized convolution algorithm for the hardness blur
+ to make it faster.
+ - Make the Force option insensitive for the Pencil tool.
+ - Add new "Pressure Size" dynamics.
+
+File Formats:
+
+ - Make the default raw (DSLR) image importer configurable.
+ - Add RawTherapee plug-in to pre-process various raw (DSLR) images,
+ RawTherapee v5.2 is the minimum requirement.
+ - Add new file-raw-placeholder plug-in that registers itself for
+ loading all raw formats from file-raw/file-formats.h, but does
+ nothing except returning an error message pointing to darktable
+ and RawTherapee.
+ - Add native WebP loader/exporter with support for ICC profiles,
+ animation, metadata.
+ - The TIFF loader will not generate warnings about private tags
+ anymore.
+ - Handle linear gamma PNG files correctly, provide a combo box for
+ specifying PNG bit depth / variant at exporting time.
+ - Add support for linear burn, linear light, vivid light, pin light,
+ and hard mix layer modes in PSD (importing and exporting).
+ - Load PSD files with layers which contain additional information
+ with a length that is not divisible by 4.
+ - Add support to import/export layer color tags from/to PSD files.
+ - Optionally convert all imported (not XCF) images to 32-bit linear
+ floating point, and optionally add a little noise in order to
+ distribute the colors minimally.
+ - Optionally add alpha channel to layers of imported images
+ (configurable in Preferences > Import).
+ - Support writing PNM files with 16-bit image precision.
+ - Improve support for PCX files:
+ * saving 1bpp and 4bpp images (according to palette size).
+ * loading 2bpp, 2 planes/1bpp, 3 planes/1bpp and 4bpp images.
+ * non-Black&White monochrome PCX files (any 2 colors according to
+ the palette).
+ - Add support for exporting multi-page PDF from image layers, with
+ optional reversed order.
+ - Add RLE support for RGB565 in file-csource.
+
+Metadata:
+
+ - Add new metadata viewer that uses Exiv2 to display Exif, XMP, IPTC,
+ and DICOM metadata (the latter is displayed on the XMP tab).
+ - Add metadata editor that supports adding/editing writing XMP, IPTC,
+ DICOM, and GPS/Exif metadata, as well as loading/exporting metadata
+ from/to XMP files.
+
+Printing:
+
+ - Print resolution can now be reset to defaults, new values for the
+ same image is actually used now without reloading the image.
+
+Plug-ins:
+
+ - The Screenshot plug-in now assigns either monitors profile or
+ converts to sRGB.
+ - The Screenshot plug-in can now take screenshots of a single window
+ and include the mouse pointer in the same time (if the desktop/OS
+ allows it).
+ - Port smooth-palette to GEGL.
+ - Enhance the raw (not the digital negative) files plugin:
+ introduce exporting settings and remember them across sessions,
+ make the plugin invokable non-interactively, and more.
+ - Plug-ins can now be installed into first level directories of a
+ plug-ins/ folder. This is in particular to avoid the "DLL hell"
+ with shared libraries installed by a plug-in, interfering with other
+ unrelated plug-ins. The entry point file has to be named the same as
+ the directory (minus extension).
+
+Filters:
+
+ - Add GEGL-based filters: Neon (Edge detection), Wavelet Decompose,
+ Image Gradient, Symmetric Nearest Neighbor, Extract Component,
+ RGB Clip, Simple Linear Iterative Clustering, Waterpixels, Spiral.
+ - Add rotate/flip buttons to the Convolution Matrix filter's GUI
+ to rotate/flip the matrix.
+ - For GEGL-based filters, use a new metadata language to dynamically
+ control UI attributes based on context (e.g. auto-disable
+ unapplicable options).
+ - Allow filter actions to have hardcoded default operation settings
+ by encoding them directly in the string attached to all filter
+ actions.
+
+Color Palettes:
+
+ - Merge Palettes command is available for multiple selected color
+ palettes now.
+
+Assets / Resources:
+
+ - Some basic presets are available for the Crop tool now: 2x3,
+ 3x4, 16:10, 16x9, and square.
+ - Documents templates have been updated and now feature popular,
+ contemporary document presets for both print and digital media.
+
+PDB:
+
+ - Rename *-paste-as-new to *-paste-as-new-image.
+ - Add PDB API for layer blend space, compositing space, and
+ compositing mode.
+
+Build:
+
+ - Depend on LCMS2.7+ now, because earlier LCMS2 releases caused
+ problems with certain GIMP blend modes.
+ - Depend on libpng 1.6.25+ to avoid warnings about known incorrect
+ sRGB profiles, also avoid various vulnerabilities.
+ - Depend on glib-networking now for HTTPS support.
+ - Depend on librsvg 2.40.6 which fixes rendering bugs.
+ - Add a flatpak-builder manifest.
+
+OS-specific changes:
+
+ - Help browser launches on macOS now.
+
+Bugs:
+
+ - Overall 204 bugs have been fixed or partially addressed since
+ GIMP 2.9.4.
+
+Translations:
+
+ - Updated: Catalan, Chinese (Taiwan), Croatian, Czech, Danish,
+ Finnish, French, German, Greek, Hungarian, Icelandic, Italian,
+ Kazakh, Occitan, Polish, Portuguese, Russian, Scottish Gaelic,
+ Serbian, Slovak, Slovenian, Spanish, Swedish.
+
+
+Overview of Changes from GIMP 2.9.2 to GIMP 2.9.4
+=================================================
+
+Core:
+
+ Color Management:
+ - add new GimpColorTransform object to create abstraction from LittleCMS
+ - now color-managed:
+ - layer/image/color palette/gradient/pattern previews
+ - Color Picker tool
+ - color buttons of GimpColorHistory
+ - GimpFgBgEditor, as used e.g. in the toolbox
+ - color selectors
+ - DND widget
+ - painting tools
+ - copying layers/paste buffer between images
+ - Colors applied to images
+ - GimpColorPanel and its color dialog (color widgets in dialogs)
+ - color areas created from menu actions
+ - color management for grayscale images, including setting preferred
+ ICC profile
+ - add fast switching between color managed display and soft-proofing
+ - add a per-image "is color managed" switch and show the image's
+ "is color managed" state in the window title string
+ - add basic support for creating images with color profiles
+ - add "Optimize" options for display and soft-proofing to optionally
+ speed-up rendering at the cost of color fidelity
+ - add Image -> Color Management -> Save Color Profile to File...
+ - improve the naming of generated ICC profiles
+ - add a shortcut to the profile chooser dialog on OS X too
+ - don't let display color management settings affect file import
+ - enable color management when a profile is assigned to the image
+ - enable color management when the image is converted from/to grayscale
+ - pass the right color profile around in gimp_selection_float()
+ - hardcode the CMYK selector's conversion parameters, as well as NTSC
+ parameters in babl/GEGL/GIMP
+ - have all previews track the monitor they are on
+
+ Core:
+ - add "Select -> Flood" select action
+ - add "Select -> Remove Holes" action
+ - add "Border style" combo to the "Select -> Border..." dialog
+ - do not request xcf compat mode when compat_toggle not sensitive
+ - initialize fontconfig in the background to be able to show a pulsing
+ progress bar when rebuilding the list of fonts (typically, the first
+ time GIMP runs)
+ - fix the Behind blending mode
+ - make Burn mode output match Gimp 2.8 (partial revert of bug 744265)
+ - improve file magic matching
+ - add a custom guide concept
+ - improve updating the statusbar messages and icons
+
+
+GUI:
+
+ Menus:
+ - move the image-duplicate action next to image-new
+ - add Image -> Color Management -> Color Management Enabled
+ - change "Select _Custom Color..." to "_Custom Color..."
+ - change "Export" to "Export..." in the File menu
+
+ Dialogs:
+ - include recently used colors in the Dockable Colors dialog
+ - add RGB-based Luminance channel to the Histogram dialog
+ - fix remembering the order of dockable dialogs
+
+ Preferences:
+ - reorder the prefs categories tree and rename some pages
+ - move "Snap Distance" to the prefs dialog's "Snapping" page
+ - add configuration for undo preview size
+ - clean-up Preferences -> Color Management
+ - add "Shortcut [some modifier] + Mousewheel" for changing pen size
+
+ Themes:
+ - rename theme "Default" into "System"
+ - add new GUI themes: Lighter, Light, Gray, Dark, Darker
+
+ Icons:
+ - add icon theme selection and make the icon theme path configurable in prefs
+ - preserve 2.8 pixel-perfect icon theme under the name "Legacy"
+ - add new symbolic icon theme for GIMP
+ - add a scalable icon theme and a configure option --enable-vector-icons
+
+ Widgets:
+ - add new GimpBufferSourceBox widget and use it in GimpOperationTool
+
+ View/Display:
+ - fix various bugs related to rotated canvas
+ - make GIMP not ignore 'Maximized' hints on startup in Windows
+ - enable a pulsing progress bar in the splash
+ - make new images jump around much less
+ - fix image position when entering/leaving fullscreen mode
+ - make layer boundary re-drawn correctly on scrolling
+ - make images not appear completely black when images dockable is visible
+ - have all previews track the monitor they are on
+
+
+Tools:
+
+ Fuzzy Select:
+ - add "Diagonal neighbors" option
+
+ Foreground Select:
+ - fix ghost brush outline
+
+ Bucket Fill:
+ - add "Diagonal neighbors" option
+
+ Posterize:
+ - turn the posterize tool into an ordinary GEGL filter
+ - remove posterize from Tools -> Colors
+
+ Desaturate:
+ - turn the Desaturate tool into a normal GEGL filter
+ - move "Desaturate" to Colors -> Desaturate
+
+ Align:
+ - add vertical offset to distribution options
+
+ Paths:
+ - improve performance
+
+ Flip:
+ - rename options to "Transform" and "Direction"
+
+ Cage Transform:
+ - fix a few performance issue
+
+ Unified Transform:
+ - make the tool not fail when currently selected layer is hidden
+
+ Text:
+ - fix text input methods to work in-place (not in an overlayed box)
+ - add background colors setting, only exposed for advanced input methods
+
+ Blend:
+ - use gegl:distance-transform in the blend tool, it has a progress now
+ - make shapeburst work with the new interactive gradient code
+
+ All Painting Tools:
+ - add mirror symmetry
+ - remove artifacts from painting tools in Burn blending mode
+ - add shortcut actions for changing spacing, hardness, and force
+
+ MyPaint:
+ - dramatically improve performance of the tool and enable it by default
+ - add Colorize mode
+ - add a toggle to change between erase & paint mode
+ - add a brush selector to the MyPaint brush options
+ - add a dockable dialog to choose a brush, with tagging
+ - read tags from MyPaint brushes
+ - improve blend math
+ - allow plug-ins to register procedures in the <MyPaintBrushes> menu
+
+ Smudge:
+ - fix the clipping of out-of-gamut channel values
+ - fix the handling of layers with alpha channels
+
+ Ink:
+ - the range of angle is now [-PI..PI]
+
+
+Plug-ins/GEGL Filters:
+
+ Preview:
+ - add a "split preview" feature to GEGL ops
+ - allow to switch the split preview between horizontal and vertical
+ - allow to swap the before/after position
+
+ Filters:
+ - update the "Recently used" menu with GEGL filters
+ - replace Selective Gaussian Blur with the GEGL version
+ - add gegl:saturation as Colors -> Saturation
+ - add gegl:high-pass as Filters > Enhance > High Pass
+ - add new gegl:gegl filter that executes a custom processing chain
+ - port Tile and Pagecurl plug-ins to GEGL
+ - refactor the screenshot plug-in into backend and front-ends, one
+ per X.org, Wayland, Windows, OS X
+ - add Monochrome option to the GEGL version of Channel Mixer
+ - bring dialog titles and help IDs to GEGL filter dialogs
+
+ File Plug-Ins:
+ - add darktable plug-in to pre-process various raw images
+ - port file-gif-save and file-tiff to GIO
+ - TIFF support:
+ - make libtiff a hard dependency
+ - merge the file-tiff-load and file-tiff-save plug-ins
+ - fix various tiff exporting bugs
+ - EXR support:
+ - read comment, Exif, and XMP data from EXR files
+ - use GIMP's internal profile when loading EXR
+ - PSD support:
+ - fix the loading of files with adjustment or fill layers
+ - fix the reading of layer group structure
+ - fix the raw image loader
+ - fix the layer groups support in OpenRaster
+ - code cleanup in file-bmp
+ - fix the exporting of KISS - CELL (*.cel) images
+ - resurrect the email plugin
+ - use GIO to figure if a file is hidden
+
+ PyGimp:
+ - update pyconsole code
+ - add binding for GimpImageType
+ - add GimpColorConfig object
+ - add type definition for GimpColorManaged
+ - make GimpParasite type known to the code generator
+ - require Pycairo in configure, link gimpui against pycairo
+ - fix the application of paintbrush size in Python scripts
+
+ Script-Fu:
+ - make regex matching return character indexes
+ - fix the hanging of Script-fu on machines with 64-bit longs
+ - update tinyscheme code from upstream
+
+
+PDB:
+
+ - Bug 759104 - Allow coordinates of sample points to be accessed from scripts
+
+
+Build:
+
+ build/win:
+ - Start building libmypaint.
+ - Add pcre and upgrade glib2 to 2.48.1
+ - Upgrade exiv2 to 0.25
+ - Clear DISPLAY before building
+ - Disable webkitgtk
+
+
+OS-specific changes:
+
+ Windows:
+ - Add support for generating crash backtraces using Dr. MingW
+
+
+Overview of Changes from GIMP 2.8.0 to GIMP 2.9.2
+=================================================
+
+
+Core:
+
+ The core got completely ported to GEGL, listing all changes involved
+ would be too much, therefore we summarize the changes in app/ per
+ source subdirectory:
+
+ base
+ composite
+ paint-funcs:
+ - Remove these directories, they contained the old pixel
+ manipulation functions
+
+ config:
+ - Remove GimpBaseConfig, add GimpGeglConfig
+ - Add config options for new features
+
+ core:
+ - Add some things that used to live in base/, like the temp-buf,
+ boundary and histogram code
+ - Port all functions to GEGL and higher bit depths
+ - Keep the image around as GEGL graph, all other compositing is gone
+ - Add non-destructive drawable filters, but use them only for previews
+ - Implement the floating selection as drawable filter
+ - Implement GimpImageMap using drawable filters
+ - Move batch processing to gimp-batch.[ch]
+ - Run batch commands in an already running GIMP instance
+ - Ported almost everything from filenames/FILE/fd to GFile/GIO
+ - Be smarter about migrating old user config files
+ - Move many object struct members to private structs
+
+ file:
+ - Support GIO-ported file load/save procs, handle remote files generically
+
+ - Add content locking to items to prevent them from being edited
+ - Add position locking to items to prevent them from being translated
+ - Implement all color management in the core
+ - Add an automatic palette of recently used colors
+ - Implement metadata handling in the core
+
+ gegl:
+ - Now contains utility functions and abstractions to work with
+ GEGL more easily
+ - Move all operations to the new operations/ directory
+
+ operations:
+ - New directory containing all GIMP-internal GEGL operations
+ and their config objects (if any)
+ - Add a correct version of the overlay layer mode
+ - Add LCH layer modes
+
+ paint:
+ - Port all paint cores to Gegl
+ - Add MyPaint brush paint core
+
+ pdb:
+ - Add compat procedures that work like the removed plug-ins
+ - Use the new GimpValueArray, GValueArray got deprecated
+
+ plug-in:
+ - Allow plug-ins to access image data at full bit depth
+ - Add a compat mode so unported plug-ins always get 8-bit data
+
+ text:
+ - Port text rendering to GEGL
+ - Use HarfBuzz to inspect fonts for creating an example string
+
+ xcf:
+ - Add zlib compression to XCF loading/saving
+
+
+GUI:
+
+ - Add GUI to handle the new high bit depths and conversion between them
+ - Add new action group "filters" which can run arbitrary GEGL ops
+ - Add lots of actions invoking GEGL ops that replace removed plug-ins
+ - Preview all GEGL ops live on the canvas, using drawable filters
+ - Mostly switch from using stock-ids to icon-names
+ - Turn all stock icons into named icons and add an icon theme
+ - Allow selecting colors from an image's colormap
+ - Add "Show in file manager" to everything that has a filename
+ - Add an action search dialog to find actions by keyword and execute them
+ - Split the save dialog into subclasses for load, save and export
+ - Implement various color management dialogs that were in the lcms plug-in
+ - Make sure windows appear on the correct monitor
+ - Simplify and reduce the actions that modify paint tool behavior
+ - Add canvas rotation and flipping
+ - Allow zooming to the selection
+ - Make the image tab position configurable in single window mode
+ - Add separate snapping settings for fullscreen mode
+ - Remove bitmaps cursors and only support RGBA cursors
+ - Color manage drawable and image thumbnails
+ - Add more format string options for the image title
+ - Use the external gtkosxapplication package instead of included code
+ - Add a generic GimpPopup class and use it instead of duplicating code
+ - Make the generated GUI of GEGL ops much better
+ - Allow to implement custom GUI for gegl ops, and do that in some cases
+ - Add GimpDial, GimpPolar and GimpCircle to be used for angle and hue picking
+
+
+Tools:
+
+ - Add an "experimental playground" for unfinished tools
+ - (experimental) Add a tool that paints with MyPaint brushes
+ - (experimental) Add an n-point deformation tool
+ - (experimental) Add a transform tool with a variable # of handles
+ - (experimental) Add a seamless clone tool
+ - Add a unified transform tool that allows rotating, scaling, perspective
+ - Add a warp tool as replacement for the IWarp plug-in
+ - Allow tool dialogs to be embedded on the canvas generically
+ - Add much more options to painting, like the ability to lock
+ tool options to brush defaults, and to zoom the brush with the canvas
+ - Make the blend tool work interactively in realtime
+ - Add undo/redo to many tools (using the normal shortcuts)
+
+
+Libgimp:
+
+ - Deprecate the entire old pixel manipulation API
+ - Add API to get a drawable's buffer, the rest can be done with GEGL
+ - Add high bit depth support when using the new buffer API
+ - Make many enum value names sane and deprecate the old names
+ - Many core enums moved here instead of proxying them via PDB generation
+ - Add API to stroke vector outlines, with all core properties
+ - Add more context API that affects other procedures
+ - Deprecate API with weird names, and add new API with less arguments
+ - Add metadata and color management API, utility functions and widgets
+ - Split GimpPickButton into per-platform backends and fix it on OS X
+
+
+Plug-ins:
+
+ - Remove lots of plug-ins that are now implemented as GEGL ops
+ - Remove the lcms plug-in, this is now done in the core/libgimp
+ - Remove the metadata plug-ins, this is now done in the core/libgimp
+ - Remove the file-uri plug-in, this is now done in the core using GIO
+ - Port many file plug-ins to GIO
+ - Port many plug-ins that are not strictly filters to GEGL
+
+
+Source and build system:
+
+ - Don't use INCLUDES in Makefile.am, use AM_CPPFLAGS instead
+
+
+General:
+
+ - Lots and lots of bug fixes
+ - Translation updates