From 5c1676dfe6d2f3c837a5e074117b45613fd29a72 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 20:30:19 +0200 Subject: Adding upstream version 2.10.34. Signed-off-by: Daniel Baumann --- NEWS.pre-2-10 | 1184 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1184 insertions(+) create mode 100644 NEWS.pre-2-10 (limited to 'NEWS.pre-2-10') 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 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 -- cgit v1.2.3