728 lines
33 KiB
Plaintext
728 lines
33 KiB
Plaintext
------------------------------
|
|
GNU Image Manipulation Program
|
|
2.10 Stable Branch
|
|
------------------------------
|
|
|
|
This is the stable branch of GIMP. Unlike earlier stable branches,
|
|
we do allow some new features here, if they are not too invasive.
|
|
Otherwise, this branch is only for bug-fixes.
|
|
|
|
Overview of Changes from GIMP 2.10.12 to GIMP 2.10.14
|
|
=====================================================
|
|
|
|
Core:
|
|
|
|
- New "Selected areas continue outside the image" toggle option to the
|
|
"Feather Selection" dialog.
|
|
- New "Allow editing on non-visible layers" setting in Preferences to allow
|
|
painting, transforming, and selecting on layers with toggled off visibility.
|
|
- XCF loading a bit more resilient to corruption: it doesn't stop
|
|
anymore at the first layer or channel error; instead it tries to
|
|
load more layers/channels to salvage as much data as possible from a
|
|
corrupted XCF file.
|
|
- In gimp:gradient, fix dithering to correspond to how we actually round float
|
|
values to 8-bit. In particular, this avoids introducing noise when a
|
|
component is fixed at 0 or 1 along a segment.
|
|
|
|
Tools:
|
|
|
|
- Free Select tool: fast copy|cut-paste modifiers (Alt + Ctrl|Shift)
|
|
are now working even when the selection is not committed. Starting a
|
|
fast copy|cut-paste will automatically close the polygon and commit
|
|
the selection, accelerating fast usage of free selections.
|
|
- Foreground Select tool: new "Grayscale" Preview Mode. Also, a color selector
|
|
for "Color" preview (original preview mode) now available, to select any
|
|
color and opacity for the preview.
|
|
|
|
Plug-ins:
|
|
|
|
- Simple 8-bit port of filters to GEGL: nl-filter, film, fractal-explorer,
|
|
flame, blinds, jigsaw, gradient-flare, checkerboard, tile-small,
|
|
curve-bend, sample-colorize, map-object, lighting, grid, despeckle,
|
|
sphere-designer, contrast-retinex, hot, sparkle, cml-explorer, destripe,
|
|
twain, animation-optimize, depth-merge, warp, imagemap, gimpressionist
|
|
- Port of filters to GEGL with floats support: van-gogh-lic.
|
|
- Add color profile support for HEIF (only when libheif 1.4.0 is
|
|
available).
|
|
- TIFF import will now ask (in interactive mode) how to process
|
|
unspecified TIFF channels: non-premultiplied (used to be the
|
|
default) alpha, premultiplied alpha, or just import as generic
|
|
channel.
|
|
- HEIF export now improved with same profile logics as JPEG or WebP
|
|
(it can actually export higher bit-depth data, so profile logics
|
|
should be the one as in PNG, but we only support 8 bpc HEIF for the
|
|
time being).
|
|
- HEIF export dialog now has a "Save color profile" checkbox allowing
|
|
to not export with a profile when needed (needs libheif 1.4.0 or
|
|
higher).
|
|
- PDF exporting: text layers in layer groups are now exported as proper text.
|
|
- Cleaned up the file-dds GUI, removed the "Advanced" expander.
|
|
|
|
Performance:
|
|
|
|
- Adde an active-thread variable to the dashboard's misc group, showing the
|
|
number of active worker threads.
|
|
- Reduce time complexity of layer-group translation. When translating a layer
|
|
group, avoid separately updating the original area of the child layers
|
|
before translating them (as per the fix to issue #3484), as this results in
|
|
quadratic time complexity w.r.t. to the maximal subgroup nesting level.
|
|
Instead, simply defer the updating of the group's offset until *after*
|
|
translating the child layers, so that their original area isn't clipped by
|
|
the parent, while their new area is still properly updated even if the
|
|
parent's size changes.
|
|
|
|
User interface:
|
|
|
|
- Replace old filters with GEGL operation counterparts: edge-neon
|
|
(gegl:edge-neon), contrast-normalize (gegl:stretch-contrast), oilify
|
|
(gegl:oilify)
|
|
- Add gegl:bayer-matrix and gegl:linear-sinusoid to Filters -> Render ->
|
|
Pattern.
|
|
- Add gegl:newsprint to Filters -> Distorts.
|
|
- Add gegl:mean-curvature-blur to Filters -> Blur.
|
|
|
|
Devel docs:
|
|
|
|
- Update the libgimpconfig and libgimpbase docs.
|
|
- Update docs with missing symbols and types.
|
|
- New docs for structs and enums.
|
|
|
|
Installers:
|
|
|
|
- Install 64-bit Python on 64-bit Windows (until now, the installer
|
|
used to install 32-bit Python for all architectures).
|
|
- Windows installer now supports per-user install.
|
|
|
|
Translations:
|
|
|
|
- British English, Croatian, Dutch, French, Greek, Polish, Spanish, Turkish.
|
|
|
|
Bugfixes:
|
|
|
|
- #3630, #3226, #3610, #1725, #3093, #3599, #3597, #3082, #3553, #3435,
|
|
#3503, #3532, #3164, #3560, #3500, #3493, #3514, #3512, #2685, #3641,
|
|
#1002, #360, #2651.
|
|
|
|
Overview of Changes from GIMP 2.10.10 to GIMP 2.10.12
|
|
=====================================================
|
|
|
|
Core:
|
|
|
|
- Add an "Incremental" option to the Dodge/Burn tool, which,
|
|
similarly to the Paintbrush, Pencil, and Eraser tools, applies the
|
|
effect incrementally as the pointer moves.
|
|
- Curves now have a concept of smooth vs corner points: smooth
|
|
points produce a smooth curve, while corner points produce a sharp
|
|
curve (previously, all points were smooth).
|
|
- Search the user font directory path on Windows (since Windows 10,
|
|
non-admin users have the ability to install fonts). This is only a
|
|
temporary hack until fontconfig adds proper upstream support:
|
|
https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/144
|
|
- In gimp_brush_core_get_paint_buffer(), when allocating a new paint
|
|
buffer, clear the old buffer *before* allocating the new one, to
|
|
reduce the amount of simultaneously allocated memory.
|
|
- In GimpPaintbrush, avoid refilling the paint buffer at each dab if
|
|
the paint color/pixmap hasn't changed, hence allowing faster
|
|
painting in some specific cases.
|
|
- Add hygon cpu detection and enable MMX/SSE support.
|
|
- Add a GimpSymmetry::get_transform() virtual function and a
|
|
corresponding gimp_symmetry_get_transform() function which return
|
|
the brush transform corresponding to a given symmetry stroke in
|
|
terms of the rotation angle and reflection flag (in contrast to
|
|
gimp_symmetry_get_operation() which returns the same transforation
|
|
in terms of a GeglNode). This allows us to simplify, fix (artifact
|
|
bugs, etc.), and improve the painting-code performance for several
|
|
symmetry painting cases.
|
|
- New gimp-brush-pipe-spacing parasite set by core code to preserve
|
|
GIH brush's spacing across reloads.
|
|
- Add a new Offset filter tool, as a front-end to gimp:offset. The
|
|
tool replaces, and provides the same interface as the drawable-
|
|
offset dialog while also providing live preview and on-canvas
|
|
interaction.
|
|
|
|
Plug-ins:
|
|
|
|
- Exported profile and data format strategy updated in several file
|
|
plug-ins.
|
|
|
|
* When not saving a profile, we always export as sRGB data, as most
|
|
viewers would not display the image properly otherwise.
|
|
* When saving a profile:
|
|
* If a profile was manually assigned, we always export to the
|
|
assigned format, hence pixel data is converted accordingly,
|
|
whatever the work format.
|
|
* If no profile was assigned:
|
|
* If the export format support high-bit depth, we export the
|
|
work format as-is.
|
|
* If the export format is 8-bit max, we convert the work
|
|
format to sRGB, except if the work format is 8-bit linear.
|
|
|
|
The following plug-ins were updated: JPEG, PNG, TIFF and WebP.
|
|
|
|
- TIFF plug-in now supports layer export.
|
|
- Add accelerator on "Save color _profile" item in JPEG export so
|
|
that all items in the dialog have keyboard accelerators.
|
|
- Add a "Save color profile" checkbox in WebP export and remove the
|
|
"Advanced Options" expander (all metadata and profile writing
|
|
options are now directly visible).
|
|
- Process cases of non-conformant TIFF file with extra channels
|
|
while ExtraSamples is not set by assuming the first extra channel
|
|
is a non-premultiplied alpha channel and outputting a warning. In
|
|
the future, this should be updated further by a dialog asking what
|
|
to do with the non-defined dialog (consider as premultiplied or
|
|
non-premultiplied alpha channel, or just save as extra channels).
|
|
|
|
Tools:
|
|
|
|
- Add input/output spin-buttons to the Curves tool, which allow
|
|
setting the selected point's coordinates numerically. When the image
|
|
precision is greater than 8-bpc, use a 0.00-100.00 range for the
|
|
point-coordinate spin-buttons instead of a 0-255 range.
|
|
- In the Curves tool, allow changing the curve's point types (cf. new
|
|
curve corner points in Core section). Corner points are displayed
|
|
with a diamond shape instead of a circle.
|
|
- Free Select tool now creates a selection as soon as the polygon is
|
|
closed. This selection is updated when the polygon, or the relevant
|
|
tool-options, change, similarly to GimpRectangleSelectTool.
|
|
- Derive GimpEraser from GimpPaintbrush, instead of directly from
|
|
GimpBrushCore.
|
|
This allows GimpEraser to reuse the paint-buffer content across
|
|
dabs, improving performance.
|
|
- Allow moving an intersecting pair of guides with the Move tool.
|
|
|
|
User interface:
|
|
|
|
- In GimpCurveView, when dragging an existing curve point, don't
|
|
immediately move the point to the cursor position upon button
|
|
press, but rather move it relative to its current position as the
|
|
cursor moves. This allows selecting a point without moving it, and
|
|
adjusting its position more easily.
|
|
- when the cursor hovers above a point in GimpCurveView, or when
|
|
dragging a point, have the coordinate indicator show the point's
|
|
position, rather than the cursor's.
|
|
- In GimpCurveView, when holding down Ctrl while adding/dragging a
|
|
point, snap the y-coordinate to the original curve (at the start
|
|
of the drag). This is particularly useful for adding points along
|
|
the curve.
|
|
- In GimpDashboard, don't show legend for groups with no meter.
|
|
- Add a tile-alloc-total variable to the dashboard's memory and misc
|
|
groups, showing the total amount of memory used by the tile
|
|
allocator.
|
|
- Add a "Save Keyboard Shortcuts Now" button to the Configure
|
|
Keyboard Shortcuts dialog.
|
|
|
|
Installers:
|
|
|
|
- Windows: enable InnoSetup "unofficial" translations. Otherwise we
|
|
had a bunch of wasted work from our translators of several
|
|
languages whose translations were never used in the installer.
|
|
|
|
Translations:
|
|
|
|
- 12 translations were updated: Catalan, Chinese, French, German,
|
|
Hungarian, Indonesian, Italian, Polish, Russian, Spanish, Swedish
|
|
and Turkish.
|
|
|
|
Overview of Changes from GIMP 2.10.8 to GIMP 2.10.10
|
|
====================================================
|
|
|
|
Core:
|
|
|
|
- Add gimp-scratch allocator, a fast memory allocator (on the order of
|
|
magnitude of alloca()), suitable for small (up to a few megabytes),
|
|
short-lived (usually, bound to the current stack-frame) allocations.
|
|
Unlike alloca(), gimp-scratch doesn't use the stack, and is therefore
|
|
safer, and will also serve bigger requests, by falling-back to malloc().
|
|
- In gimp_drawable_transform_buffer_affine(), avoid modifying the
|
|
clipping mode when transforming layer masks, since this function
|
|
is used (among other things) to transform layer masks together with
|
|
their layer, in which case they should use the same clipping mode
|
|
as the layer. This fixes a regression introduced by commit 2ae823ba,
|
|
causing layer masks to be transformed with a mismatched clipping mode
|
|
during layer transforms, leading to discrepencies between the
|
|
transformed layer and the transformed mask.
|
|
- Moved swap/cache and temporary files out the GIMP user config dir and
|
|
added new config file substitutions ${gimp_cache_dir} and
|
|
${gimp_temp_dir}.
|
|
- Pass the GEGL tile-cache size, swap path, and thread-count to plug-ins
|
|
as part of their config, and have libgimp set the plug-in's GeglConfig
|
|
accordingly upon initialization.
|
|
- Layer groups are now rendered in bigger chunks rather than tile-by-tile
|
|
(which used to pretty much eliminate multithreading for groups), which
|
|
improves the rendering speed.
|
|
- Make saving/exporting files more robust to errors. In particular if
|
|
an error occurs during the process (be it a bug, a memory error, or
|
|
anything else), GIMP won't overwrite anymore any existing file with
|
|
incomplete contents, so that you won't end up with no valid files at
|
|
all.
|
|
- Fix a regression on support of various graphics tablet.
|
|
- Remove the "Edit -> Fade..." feature: it makes GIMP use two buffers
|
|
instead of one (east into system resources), it's broken in 2.10, and
|
|
we can make the UX better for filters.
|
|
- New generic canvas modifier 'Alt + middle click' allowing to pick
|
|
layers by clicking on pixels. The available layers will be looped
|
|
through (starting from the upper one) while Alt key is hold and the
|
|
picked layer name will be temporarily displayed in the status bar.
|
|
- When clearing a channel, do nothing if the channel is already empty;
|
|
otherwise, align the cleared rectangle to the channel buffer's tile
|
|
grid, so that all affected tiles are dropped, rather than zeroed.
|
|
Furthermore, only update the affected region of the channel.
|
|
- Brush and pattern saving logics has been moved to core code (instead
|
|
of plug-in).
|
|
- Clipboard brushes and pattern can now be duplicated.
|
|
- Parametric brushes are now 32-bit float to avoid posterization on
|
|
large brushes.
|
|
Note: raster brushes are still 8-bit and plug-ins only have access
|
|
to 8-bit versions of high-precision brushes/patterns. New API will
|
|
be required to handle high-precision data.
|
|
- On-canvas preview while editing a color in the colormap of an
|
|
indexed image.
|
|
|
|
User interface:
|
|
|
|
- Enabled HiDPI/Retina support for the GTK2/OSX build, fixes blurry icons.
|
|
- Add a tooltip to the "better compression" checkbox in save dialog to
|
|
make it clearer it does not mean that the file size is necessarily
|
|
smaller in every cases. In particular some best/worst case are
|
|
possible when an algorithm less efficient in general may end up
|
|
better on a particular image.
|
|
- Add basic support for cursors with a scale factor of 2 for HiDPI
|
|
(artwork to be updated).
|
|
- Foreground and background color icons, as well as color history will
|
|
now display out-of-gamut warning on indexed images for colors
|
|
outside of the palette, as well as on grayscale images, for non-gray
|
|
colors.
|
|
- Pack color picker and hexadecimal entry on same line in Color dock.
|
|
- Add an "Open as Image" button to the brushes dialog.
|
|
|
|
Usability:
|
|
|
|
- Attempting to transform locked layers or paint on them now results in
|
|
blinking around the status bar (where the warning message is displayed)
|
|
and around the toolbar where lock toggles are. The same applies to
|
|
attempting to move a selection where there is none — GIMP will blink
|
|
around the toolbar where the moving target (layer, selection, path)
|
|
is chosen.
|
|
- GIMP now allows selecting default export file type for new projects.
|
|
The choice is limited to PNG, JPEG, WebP, PSD, ORA, TIFF, BMP.
|
|
- GimpSpinScale widget now has an optional feature to constrain the
|
|
value to integer when dragging with a pointer (even if the scale
|
|
allows for fractional numbers), set with new function
|
|
gimp_spin_scale_set_constrain_drag().
|
|
This is useful for settings where fractional numbers are technically
|
|
possible, yet most common use case are with integers (such as pixel
|
|
sizes, angles in degrees, etc.) so you want the easy interface to be
|
|
constrained. Fractional numbers are still settable, for instance by
|
|
keyboard edit; and arrow incrementation won't drop fraction parts.
|
|
This is currently only activated for brush options in paint tools.
|
|
|
|
Tools:
|
|
|
|
- In scale tool, scale around center even when using numeric input.
|
|
- New algorithm in the Bucket Fill tool when selecting the affected
|
|
area "Fill by line art detection", based off the G'Mic algorithm for
|
|
"smart colorization": https://hal.archives-ouvertes.fr/hal-01891876
|
|
In a few words, it identifies painted pixels (either based on
|
|
grayscale or opacity values) and tries to close line arts to allow
|
|
filling even with not perfectly closed zones; the second step of the
|
|
algorithm will flood the colors under line art pixels to prevent
|
|
"holes" in the filling.
|
|
It is possible to control a max size (in pixels) for the flooding,
|
|
as well as max length of closing segments and splines.
|
|
- The Bucket Fill tool got new interaction allowing to hold the click
|
|
and move the mouse to fill based on several seed zones (for "Fill
|
|
by line art detection" as well as "Fill similar colors"). You can
|
|
now cancel the fill in progress with right click as in other tools.
|
|
- The Bucket Fill tool now allows color picking with ctrl-click, same
|
|
as every painting tool. It will pick either the foreground or
|
|
background color depending on the selected Fill Type. The ctrl-alt
|
|
modifier combination is also possible to pick the non-Fill Type
|
|
color.
|
|
- In the Bucket Fill tool, the Alt modifier will now switch to
|
|
"FG color fill" when "Pattern fill" was set (instead of doing
|
|
nothing).
|
|
- In the Unified Transform tool, default to preserving aspect ratio
|
|
when scaling up or down.
|
|
- In the Healing tool, "Sample merged" now also work for the target
|
|
pixels, allowing to draw in empty layers.
|
|
- Selection by color is now parallelized, hence improving speed of the
|
|
Select by Color tool (and any other processing which may share this
|
|
piece of code now or in the future).
|
|
- Add "Constrain handles" and "Around center" options to the
|
|
perspective-transform tool's GUI, which are similar to the
|
|
corresponding options of the unified-transform tool.
|
|
- Improve color picking on indexed image to always select an indexed
|
|
color corresponding to the picked pixel in the colormap.
|
|
|
|
Plug-ins:
|
|
|
|
- file-pdf-save GUI now clearly indicates the order the layers will be
|
|
used to make multi-page PDFs.
|
|
- Add DDS loading/exporting plug-in originally developed by Shawn Kirst
|
|
and Arne Reuter.
|
|
- Rename the Guillotine plug-in to Slice Using Guides.
|
|
- Add a new option saving a color profile when exporting PNG, JPEG, TIFF.
|
|
Always save it when exporting to PSD.
|
|
- Remove the "Advanced" expanders from the PNG and TIFF export dialogs.
|
|
- Full rewrite of the Spyrogimp plug-in with much more options and
|
|
better interaction.
|
|
- Indexed TIFF with alpha channel now supported.
|
|
|
|
Filters:
|
|
|
|
- Add on-canvas GUI (simple lines) for circular, linear, and zoom motion
|
|
blur.
|
|
|
|
Help:
|
|
|
|
- Link to the bugtracker directly from the Help menu, also link to the
|
|
wiki and the roadmap. Remove the link to currently disabled
|
|
registry.gimp.org.
|
|
|
|
Installers:
|
|
|
|
- Windows: proper fix for libthai to stop GIMP from crashing in the
|
|
Thai locale.
|
|
|
|
Translations:
|
|
|
|
- Czech, Danish, French, Italian, Japanese, Marathi, Polish, Russian,
|
|
Spanish, Swedish, Ukrainian.
|
|
|
|
Build:
|
|
|
|
- Bumping GTK+ dependency to the micro update GTK+ 2.24.32 to handle
|
|
several bugs on Windows (broken shortcuts on non-latin layouts and
|
|
broken vector icons).
|
|
|
|
|
|
Overview of Changes from GIMP 2.10.6 to GIMP 2.10.8
|
|
===================================================
|
|
|
|
Core:
|
|
|
|
- Use adaptive chunk size in GimpProjection when rendering the
|
|
projection asynchronously, rather than using a fixed chunk size.
|
|
This provides a better trade-off between throughput and
|
|
responsiveness dynamically, based on how fast the processing is.
|
|
- Add xyY color space to the color spaces for sampling colors.
|
|
|
|
Tools:
|
|
|
|
- In all selection tools, show error on attempt to
|
|
subtract-from/intersect-with empty selection.
|
|
- Fix text along path not working with vertical text.
|
|
- Fix Text tool's frame position when undoing a move operation.
|
|
- Streamline Text tool's drawing blocking/unblocking logic.
|
|
- When moving a text layer using the text tool (through alt+drag),
|
|
don't change the layer's box mode to "fixed", which is unnecessary,
|
|
since the layer's size isn't affected.
|
|
- Transform and deformation operations now maintain color for fully
|
|
transparent pixels, making unerase and curves manipulation of alpha
|
|
channel more reliable.
|
|
- All transform tools now apply changes when you save or export/overwrite
|
|
an image without pressing Enter first to confirm changes.
|
|
- Heal, Dodge/Burn, Smudge, and Convolve tools now adjust the processed
|
|
buffer and mask_buffer regions according to the changes made to the
|
|
application region, as calculated by intersecting it with the
|
|
drawable and mask extents. This fixes wrong application position
|
|
when painting on a drawable whose origin is above/to the left of the
|
|
image's origin, and there's a selection active.
|
|
- New type of gradient interpolation called 'Step' for making multi-color
|
|
hard-edge gradient fills.
|
|
|
|
Plug-ins:
|
|
|
|
- Port all plug-ins to the new iterator API in GEGL.
|
|
- Improve automatic detection of HEIC/HEIF files.
|
|
- Improve RawTherapee discovery by looking up registry key (should
|
|
become useful with RawTherapee 5.5 and more).
|
|
|
|
Usability and UI:
|
|
|
|
- Compatibility information in the Save dialog is now more understandable.
|
|
The minimum GIMP version for the XCF file is always written down when it
|
|
is GIMP 2.8 or over. The list of features warranting the minimum version
|
|
is now listed in an expander container rather than as tooltip, which
|
|
makes it more discoverable. The warning on compression is now displayed
|
|
as its own text under the checkbox and not as additional text to the
|
|
minimum GIMP version label.
|
|
- In all themes, fix the color of selected text, while editing a tree-view's
|
|
item text (such as when renaming a layer), by overriding tree-view
|
|
specific styling with the global text-entry style, for nested text entries
|
|
inside tree-views. The text would previously use the same color as the
|
|
selection background, making it unreadable.
|
|
- Add option in the Windows menu to hide the image tab bar.
|
|
|
|
CLI:
|
|
|
|
- New self-explanatory --enable-win32-debug-console CLI option
|
|
|
|
Debugging:
|
|
|
|
- New GimpBacktrace API provides an interface for creating and
|
|
traversing multi-threaded backtraces, as well as querying symbol
|
|
information. Backends are available for Linux and Windows.
|
|
- Performance log recording now available in the Dashboard dock.
|
|
The log contains a series of samples of the dashboard variables,
|
|
as well as the full program backtrace, when available. As such,
|
|
it essentially acts as a built-in profiler, which allows us to
|
|
correlate program execution with the information available
|
|
through the Dashboard.
|
|
- New performance-log-expand.py tool decodes a delta-encoded
|
|
performance log by expanding the deltas, producing a log where
|
|
each sample (and other relevant elements) contain complete
|
|
information. The structure of expanded logs is identical to that
|
|
of delta-encoded logs, the expanded log simply has no deltas.
|
|
- New performance-log-resolve.py tool resolves symbol information
|
|
in backtraces. The logs produced by GIMP only specify the program
|
|
counter at each stack frame, providing an address-map to map
|
|
program-counter addresses to actual symbols separately. This tool
|
|
looks up each program-counter address in the address map,
|
|
incorporating the relevant symbol information directly into the
|
|
backtrace.
|
|
- New performance-log-deduce.py tool that statistically deduces the
|
|
correct thread states based on backtrace address frequency, fixing
|
|
local inaccuracies.
|
|
- New performance-log-viewer.py tool that is a viewer for GIMP
|
|
performance logs, with a sample-selection area at the top and an
|
|
information area at the bottom. The sample-selection area visualizes
|
|
the sampled variables and markers using a simultaneous set of plots,
|
|
and displays the currently selected samples. The information area
|
|
shows global information stored in the log, as well as information
|
|
specific to the currently selected samples, including variable listing
|
|
and statistics, full backtrace, and profile/call-graph information.
|
|
|
|
Translations:
|
|
|
|
- Updated translations: Danish, Dutch, Finnish, German, Hungarian,
|
|
Italian, Marathi, Polish, Portuguese (Brazil), Russian, Spanish,
|
|
Swedish, Ukrainian.
|
|
|
|
|
|
Overview of Changes from GIMP 2.10.4 to GIMP 2.10.6
|
|
===================================================
|
|
|
|
Core:
|
|
|
|
- Render drawable previews asynchronously.
|
|
- Merge the file view filter and file format lists in GimpFileDialog.
|
|
The presence of 2 lists was very confusing.
|
|
- DLL search priority is now updated before running a plug-in on
|
|
Windows, depending on the executable bitness. This gets rid of one
|
|
of the last remnant of DLL hell in GIMP, which was when running
|
|
32-bit plug-ins from a 64-bit build of GIMP.
|
|
|
|
Filters:
|
|
|
|
- New "Little Planet" (gegl:stereographic-projection) filter.
|
|
- New "Long Shadow" (gegl:long-shadow) filter.
|
|
|
|
Tools:
|
|
|
|
- Halt the Measure tool after straightening.
|
|
- Add an "orientation" option to the measure tool, corresponding to
|
|
the "orientation" property of GimpToolCompass (i.e., it controls the
|
|
orientation against which the angle is measured, when not in 3-
|
|
point mode.) The orientation is "auto" by default, so that the
|
|
angle is always <= 45 deg. Note that the "orientation" option
|
|
affects the tool's "straighten" function, so that the layer is
|
|
rotated toward the current orientation.
|
|
- Text layers can now represent vertical texts, with 4 variants:
|
|
left-to-right and right-to-left lines, and forcing all characters to
|
|
be upright or following Unicode's vertical orientation property.
|
|
See also:
|
|
* https://www.unicode.org/reports/tr50/
|
|
* http://www.unicode.org/Public/UCD/latest/ucd/VerticalOrientation.txt
|
|
|
|
User Interface:
|
|
|
|
- The Dashboard dockable dialog now has an "async" field to the
|
|
dashboard's "misc" group, showing the number of async operations
|
|
currently in the "running" state.
|
|
- New Preferences option to enable/disable layer-group previews, since
|
|
these can get quite time-expensive.
|
|
|
|
Translations:
|
|
|
|
- New language: Marathi
|
|
- 12 translations were updated: Brazilian Portuguese, Dutch, French,
|
|
German, Greek, Italian, Latvian, Polish, Romanian, Slovenian,
|
|
Spanish, Swedish.
|
|
|
|
Build:
|
|
|
|
- Add --with-win32-32bit-dll-folder configuration option to override
|
|
the folder where 32-bit versions of DLL will be installed (default:
|
|
32/bin/).
|
|
- Install all plug-ins in their own directories. Unlike on master,
|
|
this is not mandatory to do so, but it would protect our core
|
|
plug-ins against any DLL installed directly under plug-ins/ by
|
|
third-party plug-ins (cf. Windows DLL hell).
|
|
|
|
Overview of Changes from GIMP 2.10.2 to GIMP 2.10.4
|
|
===================================================
|
|
|
|
Core:
|
|
|
|
- Remove gimp_display_shell_draw_background() and all clipping hacks
|
|
for drawing the canvas background. This optimizes away one entire
|
|
step of drawing of image size, for each expose.
|
|
- Font loading does not block startup anymore. Only consequence is
|
|
that the Text tool may not be usable immediately if fonts are not
|
|
fully loaded yet (and will output an appropriate error if you do
|
|
so). All non-text related activities can be performed right away.
|
|
- Change of the URL from bugzilla to gitlab where appropriate.
|
|
- New tool option manager to better keep track of user context and
|
|
paint options in a consistent manner.
|
|
|
|
User Interface:
|
|
|
|
- The Dashboard dockable dialog now has a 'Memory' group that shows
|
|
memory-usage information: the currently used memory size, the
|
|
available physical memory size, and the total physical memory
|
|
size. It can also show the tile-cache size, for comparison
|
|
against the other memory stats. Note that the upper-bound of the
|
|
meter is the physical memory size, so the memory usage may be over
|
|
100% when GIMP uses the swap.
|
|
- The Dashboard dockable dialog now has "read" and "written" fields in
|
|
the dashboard swap group, which report the total amount of data
|
|
read-from/written-to the tile swap, respetively. Additionally, the
|
|
swap busy indicator (used as the meter's LED) has been improved,
|
|
so that it's active whenever data has been read-from/written-to
|
|
the swap during the last sampling interval, rather than at the
|
|
point of sampling.
|
|
- Fonts can now be tagged. The user interface is the same as for
|
|
brushes, patterns etc.
|
|
- Some icons fixed: larger spacing between broken chains and
|
|
gimp-tool-ellipse-select made symmetrical.
|
|
|
|
Usability:
|
|
|
|
- When a plug-in cannot be applied to an image because of mismatch
|
|
in image types (e.g. layer has no alpha or image is greyscale),
|
|
GIMP now displays a message listing supported image types for this
|
|
plug-in.
|
|
|
|
Tools:
|
|
|
|
- The Measurement tool now has an "Auto straighten" option allowing
|
|
to rotate the active drawable (layer, channel…) so that the
|
|
measurement line is used as horizon. As other transform tools, the
|
|
feature will work on linked drawables as well.
|
|
- The Smudge tool now paints correctly on images with a color
|
|
profile other than the GIMP's built-in one.
|
|
|
|
Build:
|
|
|
|
- Installer: set compatibility options to run Python plugins in
|
|
HiDPI-aware mode.
|
|
- Put back compatibility DLLs for really old plugins.
|
|
- Install binary tool `gimp-test-clipboard` on the system to allow
|
|
people to help us debug clipboard bugs.
|
|
- --enable-bundled-mypaint-brushes renamed
|
|
--enable-relocatable-bundle and also make WMF fonts looked up on
|
|
the runtime prefix of GIMP (instead of the build-time path) when
|
|
this build option was set.
|
|
|
|
Plug-ins:
|
|
|
|
- gimptool-2.0 binary now accepts source files with non-standard
|
|
extensions if it can try to guess appropriate language from the
|
|
compiler being used. It will also properly quote arguments for
|
|
shell usage.
|
|
- Run explicitly Python 2 as Python plug-in interpreter to prevent
|
|
breakage on systems where Python 3 is the default.
|
|
- raw_input()'s argument in Python console is now optional, and
|
|
input() support has been added.
|
|
|
|
File Formats:
|
|
|
|
- The PSD loader now provides an option to load "merged",
|
|
pre-composited version of the images that becomes available when a
|
|
PSD file was saved with "Maximize Compatibility" option enabled in
|
|
Photoshop. This is useful when loading PSD files that use features
|
|
that GIMP doesn't currently support, and therefore can't render
|
|
correctly, such as adjustment layers. When loading the merged
|
|
image version, we avoid loading certain additional data from the
|
|
file, such as channels, paths, and guides, while still loading
|
|
metadata. This option is currently exposed as an additional file
|
|
type ("Photoshop image (merged)"), which has to be explicitly
|
|
selected from the file-type list when opening the image.
|
|
- Embedding GIMP's built-in sRGB color profile to exported files is
|
|
now optional. The default choice can be set in the Preferences
|
|
dialog.
|
|
|
|
Translations:
|
|
|
|
- Updated translations: Catalan, Czech, Danish, Dutch, Finnish,
|
|
Greek, Hungarian, Italian, Latvian, Polish, Romanian, Russian,
|
|
Spanish, Swedish, Ukrainian.
|
|
|
|
|
|
Overview of Changes from GIMP 2.10.0 to GIMP 2.10.2
|
|
===================================================
|
|
|
|
Core:
|
|
|
|
- Discard fonts which fail to load and popup an info dialog to allow
|
|
people debug their fonts.
|
|
- New API to suppress updates in UI until plug-ins are done
|
|
introducing changes.
|
|
- New API to calculate histograms in separate threads, with possible further
|
|
extension to handle similar cases elsewhere in GIMP.
|
|
- Tool options are now properly saved and reloaded per-device at
|
|
startup.
|
|
|
|
Plug-ins:
|
|
|
|
- New plug-in for importing and exporting HEIF images.
|
|
- Enable visibility of rasterized vector layer from PSD.
|
|
- Single-window screenshots in Windows fixed to correctly snap a
|
|
window even when it is partly off-screen or covered by another
|
|
window or when display scaling is not set to 100%.
|
|
|
|
Filters:
|
|
|
|
- New Spherize filter to wrap an image around a spherical cap
|
|
- New Recursive Transform filter to create Droste effect.
|
|
|
|
Usability:
|
|
|
|
- Warn users, when alpha-only painting has no effect. E.g. when target
|
|
drawable doesn't have an alpha channel, or the alpha channel is locked.
|
|
- Make the splash texts dynamic, so they are larger on larger splashes.
|
|
- Mention pressing Enter to complete Foreground selection in the status bar.
|
|
- Make sure that clicking outside any selection prevents Rectangle Select
|
|
and Ellipse Select tools from creating empty selections.
|
|
- Improve mouse wheel zooming behavior to keep the same point
|
|
centered under the pointer even if the image is completely visible
|
|
in the canvas.
|
|
- Add "View -> Center Image in Window" (Shift+J) as a quick way to
|
|
center the image at any zoom level.
|
|
|
|
Translations:
|
|
|
|
- Updated translations: Catalan, Danish, Dutch, French, German, Greek,
|
|
Hungarian, Icelandic, Italian, Latvian, Polish, Russian, Spanish,
|
|
Swedish, Ukrainian.
|
|
- New translation of Windows installer: Chinese (Taiwan)
|
|
|
|
Build:
|
|
|
|
- Add a --with-bug-report-url configure option allowing packagers to
|
|
set the address of their own bug tracker. This address will be the
|
|
one opened by the debug dialog for reporting bugs.
|
|
- Add a flatpak manifest for the gtk3-port branch.
|
|
- Remove the possibility to disable script-fu.
|
|
- Add a --with-icc-directory configure option to customize the color
|
|
profile directory. By default, it is set to the common path
|
|
/usr/share/color/icc.
|
|
|
|
Documentation:
|
|
|
|
- Updating the description of the XCF format "devel-docs/xcf.txt", for
|
|
third-party readers wishing to support GIMP 2.10 XCF files.
|
|
- Add documentation skeletons for all enums in libgimpbase/, there is
|
|
much room for improvement.
|