Log message:
graphics/gimp-devel: Update to 3.0.0rc3
Changelog:
Overview of Changes from GIMP 3.0.0-RC2 to GIMP 3.0.0-RC3
=========================================================
Core:
- Filters:
* Apply noninteractive filters direct to drawable.
* Gamma hack removed.
* Filter names are not stored in XCF anymore unless it was
explicitly set.
* Major image graph update so that we don't cast back to storage
pixel format in-between filters making non-destructive filters a
lot more powerful. We now only cast during preview of filters when
"Merge filter" checkbox is checked.
* More image graph update: we only crop before the first effect on a
filter stack for a given drawable. Further pre-crops are now no-op
nodes.
- More robust program loading even on systems with no fonts at all.
- Various missing help-ids added.
- The debugging infrastructure was not getting backtraces for all
threads (only the main thread) since 2.99.10 because of a hanging
bug in gdb. This is now reverted as a test.
- Reworking of projection flushing to make it thread-safe (e.g. when
projection updates are requested from the "paint" thread).
- Improved support for cloud providers' file loading.
- Dashboard: performance log filenames now contain the timestamp in
ISO-8601 basic format.
Graphical User Interface:
- Show icons in Tips Dialog on Windows.
- Add Help buttons to About/Tips/Welcome dialogs.
- macOS: open files from Finder on macOS 15 (Sonoma) and higher with
new implementation.
- Various theming tweaks improving usability.
- Don't show Release Notes in Welcome dialog when none exist.
- Various icons now have RTL variants (by inverting the opposite
icons, e.g. go-next/go-previous).
- Various usability improvements.
Plug-ins:
- DDS:
* Various improvements to BGR8 and other formats.
* New support for importing DDS BC7 compression.
- BMP: various import improvements and code cleanup.
- EXR: more robust EXR file import, especially regarding invalid files
(e.g. fuzzed ones).
- Script-Fu:
* new named argument syntax for non-core (i.e. plug-in
created) PDB procedures allowing arguments to be set in any order
and more semantically.
* The new named argument syntax can also be used for arguments of
filters (though string still works as there is no confusion
possible with another syntax).
* SF-FILENAME and SF-DIRNAME args now create a GimpParamSpecFile
argument with the proper action type.
* Script-Fu third-party scripts using the standalone interpreter can
now be localized properly with the same default logic as other
plug-ins.
- PSD:
* Metadata export now supported.
* 16-bit per channel LAB PSD are now supported at import.
* PSD compatibility messages are now selectable for easy copy-paste.
* Store proper merged image when exporting CMYK PSD files.
- All plug-ins with a GFile argument now use a GimpParamSpecFile spec.
- JPEG-XL: export options were simplified:
* CMYK is always saved as lossless: lossy CMYK is discouraged by
libjxl developers and results in visible artifacts.
* "Save original profile" option is removed. We now simply follow
the profile settings of the image.
- ICNS:
* ipc4, ipc5, and ipc6 type ICNS icons do not render well when
included in an app as part of a bundle. We now use older is32,
il32, and ih32 24-bit RGB formats (with 8 bit masks) instead of
the newer PNG formats for those sized icons.
* Support loading ARGB ICNS icons.
* Support loading pre-OSX ICNS with no masks.
API:
- Changes in libgimpbase:
* Creation time metadata are added (for various tags in IPTC, XMP
and Exif) when first creating a new image.
* New functions:
+ gimp_metadata_set_creation_date() allowing to set a custom creation date.
+ gimp_param_spec_file_get_action()
+ gimp_param_spec_file_set_action()
+ gimp_param_spec_file_none_allowed()
+ gimp_param_spec_unit_percent_allowed()
+ gimp_param_spec_unit_pixel_allowed()
+ gimp_param_spec_core_object_array_get_object_type()
+ gimp_param_spec_value_array_get_element_spec()
+ gimp_param_spec_choice_get_choice()
+ gimp_param_spec_choice_get_default()
* New GimpFileChooserAction enum type.
* New GimpParamSpecFile param spec type.
- Changes in libgimp:
* New functions:
+ gimp_procedure_is_core()
+ gimp_param_spec_resource_defaults_to_context()
+ gimp_param_spec_resource_none_allowed()
+ gimp_param_spec_display_none_allowed()
+ gimp_param_spec_drawable_filter_none_allowed()
+ gimp_param_spec_image_none_allowed()
+ gimp_param_spec_item_none_allowed()
* gimp_pdb_query() doesn't return private PDB procedures anymore.
* The various "save-*" PDB procedure arguments for export plug-ins
were renamed to "include-*" and made public.
* gimp_file_save_thumbnail() renamed gimp_file_create_thumbnail()
and now supporting when the file is the export or import image.
* GFile arguments are now stored as URI rather than path in config
files.
* gimp_procedure_dialog_get_widget() now supports GimpParamSpecUnit
arguments.
* Filters based off GIMP-made GEGL operations with a custom
configuration object are now configurable through the PDB/libgimp,
like any other filters.
* Filters created by libgimp are always set as "unclipped".
Functions to control this settings will likely happen after 3.0.0
release.
* Compat PDB-only procedure plug-in-autocrop is now transformed to
proper gimp-image-autocrop procedure with corresponding libgimp
function gimp_image_autocrop().
* Compat PDB-only procedure plug-in-autocrop-layer is now
transformed to proper gimp-image-autocrop-selected-layers
procedure with corresponding libgimp function
gimp_image_autocrop_selected_layers().
* Both the new autocrop procedures now allow a NULL input drawable
and will use the image for determining cropping extents in this
case.
- Changes in libgimpwidgets:
* New GimpFileChooser widget.
* New functions:
+ gimp_file_chooser_get_action()
+ gimp_file_chooser_get_file()
+ gimp_file_chooser_get_label()
+ gimp_file_chooser_get_label_widget()
+ gimp_file_chooser_get_title()
+ gimp_file_chooser_get_type()
+ gimp_file_chooser_new()
+ gimp_file_chooser_set_action()
+ gimp_file_chooser_set_file()
+ gimp_file_chooser_set_label()
+ gimp_file_chooser_set_title()
+ gimp_prop_file_chooser_new()
- Changes in libgimpui:
* GimpProcedureDialog now create automatically a GimpFileChooser
with UI adapted to the requested action for the argument (through
gimp_procedure_dialog_get_widget()), such as opening/creating a
file/folder.
* Removed functions:
+ gimp_procedure_dialog_get_file_chooser()
Translations:
- New Swedish language support for the Windows installer.
Build:
- Massive cleanup of useless dependencies and adding back some missing
runtime dependencies in CI and packages.
- In-build GIMP process is now run through gdb (when available) to
help debug crashes of GIMP during the build.
- API docs now use the development logo.
- New CMYK PAM tests (for test-file-plug-ins testing infrastructure).
- Improve shared Docker Debian versioning in the CI and make it branch
aware.
- Crossbuild jobs are back in CI and with UCRT.
- Meson option -Dg-ir-doc was removed.
- No build attempt to use build caching in CI. It was just making
problems with no clear gain.
- AppImage packages (x86_64 and AArch64) are now official packages.
- MS Store version is now automatically uploaded through the CI.
- Minimum dependency requirement update: GEGL 0.4.54.
|
Log message:
gimp-devel: update to 3.0.0rc2.
Overview of Changes from GIMP 3.0.0-RC1 to GIMP 3.0.0-RC2
=======================================================
Core:
- Histogram now takes into account the image color space for more
correct results.
- Unsupported fonts stderr message is not shown anymore on stable
builds as it is confusing to people (who see often huge numbers,
because there are indeed a lot of font types, especially the legacy
bitmap fonts whose support got broked by Pango, which are not
supported by GIMP, at least for now).
- Drag'n drop color fills now forbidden when "Allow editing on
non-visible layers" is OFF and the target layer is set invisible.
- Improved font matching heuristic for old XCF files, to find the
closest font candidate.
- The "RGB (perceptual)" blend/composite space got renamed "RGB \
(from
color space)" and a new/real "RGB (perceptual)" blend/composite
space was added.
- The following layer modes' default blend space was changed to the
new "RGB (perceptual)" space: Overlay, Screen, Difference, Dodge,
Burn, Hard light, Soft light, Grain extract, Grain merge, Vivid
light, Pin light, Linear light, Hard mix, Exclusion and Linear burn.
It doesn't break existing XCF files since the actual blend space
used is stored in the file (even when left to "Auto", the XCF format
knows what "Auto" meant at save time).
Graphical User Interface:
- "Check for Updates" button is not shown in About dialog anymore when
"check-release" build option is FALSE.
- Stable (or stable-like such as RCs) builds should not open the debug
console on Windows.
- Some "Default" icon theme icons are used within the \
"Legacy" icon
theme when missing there, as a temporary workaround to avoid missing
icons ugliness.
- "Layer Name" field in the Layer dialogue is now explicitly focused
on dialog creation (this was the case in 2.10, but there it was
probably "by chance", now it's "by design") because \
layer names is
often the most common thing people want to change in this dialog.
So it allows quick workflow of opening the dialog, typing a layer
name and hitting Enter.
- GimpSpinScale CSS styling improved for better readability.
- Color Profile labels in the GimpColorSelect widget are now
ellipsized to prevent over-wide container widgets/dockables when an
image has a profile with a long name.
- GimpStatusBar is now aware of icon size changes (soft-proofing
buttons and current tool icons are resized when relevant).
- GimpHandleBar now uses the system's foreground color for its
outline.
- New RC2 splash screen by Sevenix.
Plug-ins:
- Python Console:
* PageUp/Down usable as alternate of Up/Down to scroll history.
* Ctrl-R and Ctrl-S are now usable for searching respectively
backward and forward through the console command history, with
nice prompt-updating visual feedback.
- BMP import overhaul (for more details, see informative commit
messages in !1932 since this MR got mistakenly squashed into a
single commit):
* 8/16/32 bit-per-channel, int or float, are now imported lossessly
into the corresponding precision.
* New support for 2-bit indexed and ALPHABITFIELDS files.
* More lenient with regards to file header specs.
* Correctly identify OS/2 Huffman encoding.
* Add RLE24 support (RLE24 is a OS/2 variant of bmp compression).
* Add Huffman compression support (another compression variant for
OS/2 bmps). The source code contains a human readable version of
the Huffman code tables (generate-huffman.h). During build, the
actual header huffman.h is generated which includes a digested
form of these tables.
* Load bmp chunk-wise instead of whole image: loads image
tile-height lines at a time to reduce memory allocation for
temporary image buffer.
* Unify RLE24 with RLE4/8 decoding.
* RLE: add alpha channel for undefined pixels: RLE-bmps can have
undefined pixels. Load those bmps with an alpha channel
(GIMP_INDEXEDA_IMAGE) and make undefined pixels transparent.
* Convert gamma/endpoint values in V4 headers to floating point.
* Various fixes and code reorganization.
- Metadata viewer now correctly shows various custom brand markernote
tags as interpreted strings (instead of opaque bytes).
- CMYK PAM files can now be imported.
- Windows shortcut (.link): new plug-in file-lnk (Windows-only) to
support loading shortcuts. This is mostly a wrapper plug-in like the
file-compressor one which redirects to the correct plug-in for the
specific image type.
- Script-fu:
* Do not warn anymore on not exact argument count for
PDB-marshalled procedures (it becomes an info message).
* Script-fu dialogs are now properly activated on macOS through
platform-specific code.
* On macOS, a script-fu dock icon is now only shown when a script
has a dialog.
* GimpDrawableFilter's IDs are now usable to take full advantage of
the various new PDB procedures working on filters.
* Adding a few custom wrappers to libgimp (non-PDB) functions:
- gimp-drawable-merge-new-filter: variable argument procedure
working like libgimp gimp_drawable_merge_new_filter().
- gimp-drawable-append-new-filter: variable argument procedure
working like libgimp gimp_drawable_append_new_filter().
- gimp-drawable-filter-configure: wrapping getting a
GimpDrawableFilterConfig and setting its properties as a
variable arg script-fu procedure.
- gimp-drawable-merge-filter: wrapping
gimp_drawable_merge_filter().
- gimp-drawable-append-filter: wrapping
gimp_drawable_append_filter().
- gimp-drawable-filter-set-aux-input: wrapping
gimp_drawable_filter_set_aux_input().
- PSD: legacy Color Overlay layer styles (legacy 'sofi' data) are now
loaded by GIMP as Color Overlay layer filters.
API:
- Changes in libgimp:
* gimp_drawable_offset() signature changed, with an added GeglColor
argument used when the fill_type is GIMP_OFFSET_COLOR.
* New GimpDrawableFilter and GimpDrawableFilterConfig classes. These
come with ability to create/destroy a filter and various methods
to configure filters, then either append them to the list of
non-destructive filters of a layer, or merge them on any drawable.
* Auxiliary input pads are also supported for GimpDrawableFilter,
though filters with aux input can only be merged (same as in the
GUI), not applied non-destructively for the time being.
* New methods:
- gimp_drawable_get_filters()
- gimp_drawable_append_filter()
- gimp_drawable_merge_filter()
- gimp_drawable_append_new_filter()
- gimp_drawable_merge_new_filter()
* GIMP_LAYER_MODE_REPLACE is now visible/usable in libgimp and PDB
as part of the GimpLayerMode enum type.
- Changes in libgimpbase:
* GimpOffsetType changed: GIMP_OFFSET_BACKGROUND value replaced with
GIMP_OFFSET_COLOR.
* Exif.SonyMisc3c tags are now excluded at export because they cause
a failure of Exiv2 which was having all metadata export fail (see
issue #2670 on Exiv2 tracker).
- Changes in PDB:
* All compat PDB procedures which were special-casing specific GEGL
operations have now been removed. Any usage of these in various
scripts and plug-ins has been replaced by the new
GimpDrawableFilter generic API.
* GeglParamSeed can now be passed through the PDB so that filters
with a seed argument work as expected.
* Compat PDB procedures plug-in-rotate deleted and its usage in
scripts replaced with gimp-image-rotate or
gimp-item-transform-rotate-simple.
Build:
- So many build and packaging improvements that we can't list them
all. :-D
- Our AppImage now supports much more distributions, though we still
consider it experimental.
- AppImage build is now a weekly scheduled job.
- Several unit tests improved with better UI-testing API.
- Pango >= 1.55.0 is now recommended on macOS because of fix pango!745
which fixes a major GUI issue on this platform.
- CI job logs now have collapsed sections for better readability.
- The Windows Installer will not check for SSE anymore since SSE2
instructions are required already for any supported Windows
versions.
- The app-ID of our nightly flatpak (on gnome-nightly repository) is
now "org.gimp.GIMP.Nightly". This will allow the nightly flatpak to
be side-by-side visible next to the stable or dev flatpak without
needed CLI commands.
- AppImage also have its own app-ID too: "org.gimp.GIMP.Continuous"
- Windows installer now defaults to user-mode installs, which is the
recommended defaults by Microsoft since Windows 7. It is obviously
still possible to install system-wide, but won't be the defaults
anymore.
|