Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Overview of Changes from GIMP 2.99.12 to GIMP 2.99.14 ===================================================== Core: - The download button in About dialog when a new version is available will now show the development download page when running unstable branch code. - The update check on macOS now uses native HTTPS-able API, so that we don't have to wait for GIO to have HTTPS modules for macOS. - The main process is now run as a GimpApp which is a new class derived from GtkApplication. The main process of `gimp-console` on the other hand is a `GimpConsoleApp` which is derived from GApplication. Both new classes share a same GimpCoreApp interface. This is a main step for the GTK+3 port. - Various improvements on awareness of multi-item selection across core features. A notable fix is the preview when transforming multiple layers at once (with various transform tools). Various actions are now multi-drawable aware as well. - New "Vectors Structure" in the XCF format: XCF files (format bumped to version 18) can now store and load all the usual and common properties of other items. In other words, it makes XCF now able to store locks, color tags and several selected paths. - XCF saving with RLE and zlib encoding are now multi-threaded and therefore much faster in most cases. - Pasting an image now creates a new layer by default (not a Floating Layer anymore). The only 3 cases where we still have floating items are: * when pasting into a layer mask; * when doing quick copy/cut paste on-canvas with the Alt modifiers; * when floating layers explicitly with the "Float" action. - Copy-paste code was deeply reviewed and re-specified in the light of multi-item selection; it's still a WIP: * When pasting several drawables, we currently paste them over the top selected layer (visually in Layers dockable). * Pasted data position was rewritten, based on existing logic, but taking into account the multiple selected items. * Pasting a selected area from multiple layers still creates multiple layers, not merged pixel contents as a single layer. * New layers created when copying from a selection are consistently the offset and dimensions of the bounding box of the dimension. * When a layer and one of its group layer parent are selected, it is equivalent to have only the child layer selected. - 2 new actions were added: "Paste as Single Layer" and "Paste as Single Layer in Place" under the "Paste as" submenu of Edit menu. These paste the copied layers as a single merged layer, instead of as several layers (as "Paste" and "Paste in Place" do). Graphical User Interface: - New "Gray" theme based on a 18.42% luminance middle-gray background, which should be a good neutral environment for color work. - The foreground/background editor in the toolbox will now take into account the toolbox icon size and resize itself accordingly (live, as you change theme). This allows to have really narrow toolbox when you use small icons. - Theme-override icon size selection in Preferences > Themes: this allows to override theme-set icon sizes, with a global concept of small, medium, large and huge. The following widgets are so far modified: toolbox icons, fg/bg editor in toolbox, fg/bg editor in Colors dockable, dockables tab icons, bottom buttons (in the button box) of dockables, header eye and lock icons above item trees, and eye and lock icon switches in item tree cells. - Symmetry dockable contents is now shown, yet deactivated, when no images are opened, improving discoverability. - Reworked the "Convert to * Working Space?" dialog into a "Keep the Embedded Working Space?" one. Keeping an image working space is now the recommended and default action. "Convert" became an explicit action requiring to click (neither mapped to Enter nor Escape keys). - "Floating Selection" renamed to "Floating Layer" or "Floating Mask" depending on the type of item it applies to. - "Floating Masks" are now drawn above the layer mask in the Layers dockable, making the fact that they would anchor to the below layer mask (not the layer) much more obvious. - "Paste into Selection" and "Paste into Selection in Place" were moved under the "Paste as" submenu of Edit menu. Tools: - Text tool: new "Outlined" and "Outlined and filled" options, with various sub-options to choose the outline style, color, pattern, width, cap and join styles, miter limit, anti-aliasing and dash pattern. - Align tool: * now multi-item aware, it is much more usable than it used to be when we had to click on canvas to select items. * On-canvas clicks are now only needed to select guides (Alt or Alt-Shift click and selected guide colors change) or for the reference object (normal click). * Also the reference object gets on-canvas handles and the name is written in the dockable, making it obvious if you selected the right reference or not. * Moreover the selected reference will now loop when layers are stacked on each other, which allow to select a bottom layer, even if there are layers above it everywhere. * New option "Use extents of layer contents" to Align tool: this is similar to first run "Crop to Content" on every layer to align or distribute (without actually cropping the layers). * Fine-grained align/distribute button sensitivity to make it more obvious when an action would not make any change anyway. * New anchor point setting (pivot widget) to choose which part of the target items will be aligned or distributed. * Get rid of various broken distribution actions. * Distribution actions don't move the 2 extreme (top/bottom or left/right depending on distribution direction) targets, but distribute all other targets within their range. It is more consistent with how it works in other software. * Adding 2 "Distribute with evenly (horizontal|vertical) gaps" actions, which distribute by keeping a common gap between objects instead of between anchor points. * Offset settings have been removed. - Transform tools are now auto-activated on selection (and when switching images or item selection). Plug-ins: - PDF: * Export code was ported to GimpProcedureDialog. * New "root-layers-only" argument to "file-pdf-save", which comes with a checkbox in the export dialog to allow exporting as pages the root layers only. The main usage is to organize your pages' contents in layer groups. - AVIF: * RGB AVIF compatibility with Safari on iOS 16.0: Some AVIF images are rendered differently in Apple's implementation compared to implementations of Google and Mozilla. See: AOMediaCodec/av1-avif#195 This changes requires libheif 1.10.0 though the plug-in can still build with older libheif. - PSD: * export of CMYK(A) files added, with 8 or 16-bit precision per channel, using a CMYK soft-proof profile for conversion. * Paths are now exported with PSD files. - JPEG-XL: * Metadata import/export now supported (requires libjxl 0.7.0). - Python-Console: * sys.stdout.flush() implemented as a no-op inside the console, to be able to easily copy-paste code, or using libraries which flush the output. - ICNS: * Initial support for loading and exporting. - TIFF: * New toggle to optionally load reduced pages. We keep a heuristic to try and guess whether these are thumbnails (single reduced image in the second position), but it's only used to decide whether the option is checked by default or not. It is now up to anyone to decide or not whether they want to load these reduced images. API: - Changes in libgimp: * Abstract method get_window() of GimpProgressVtable had its signature changed. The window ID is now a guint64. * New functions: + gimp_text_layer_set_markup() + gimp_image_get_selected_channels() + gimp_image_get_selected_vectors() + gimp_image_list_selected_channels() + gimp_image_list_selected_vectors() + gimp_image_set_selected_channels() + gimp_image_set_selected_vectors() + gimp_image_take_selected_channels() + gimp_image_take_selected_vectors() + gimp_image_list_selected_drawables() * Updated functions: + gimp_vectors_stroke_translate() now uses offsets in double type. * New classes: + GimpTextLayer: child class of GimpLayer. - Changes in libgimpwidgets: * Updated widgets: + GimpPickButton now has a specific implementation for Windows. In particular it improves color picking with multi-monitor and scales different than 100%. Build: - meson requirement bump to meson 0.56.0. - Many fixes to the meson build scripts, making it closer to be our official build for GIMP 3.0. - The CI now generates a tarball containing the GIMP references, generated by gi-docgen and g-ir-doc. - Improved Clang 15.0.0 support. - "win*-nightly" jobs were added back and are now more efficient with the --output-dll-list option. - babl requirement bumped to babl 0.1.98. - GEGL requirement bumped to GEGL 0.4.40. - GIMP macOS builds (gimp-macos-build repository) was moved to using MacPorts in order to take advantage of a bigger community to maintain our dependencies. - GIMP now has an Apple Silicon build.
- Loading branch information