[gimp] Created tag GIMP_2_99_2



The signed tag 'GIMP_2_99_2' was created.

Tagger: Michael Natterer <mitch gimp org>
Date: 1603661096 +0100

    Tag the 2.99.2 release

Changes since the last tag 'GIMP_2_10_2':

Adam Ostruszka (1):
      Update Czech translation

Adrian Perez de Castro (3):
      plug-ins: port help-browser to WebKitGTK+ 2
      plug-ins: port web-page to WebKitGTK+ 2
      plug-ins: help-browser Web view does not need a scrolled window

Akkana Peck (1):
      Re-enable Python in the build, but requiring Python >3.6.0 since...

Alan Mortensen (27):
      Updated Danish translation of gimp-script-fu
      Updated Danish translation of gimp-plug-ins
      Updated Danish translation
      Updated Danish translation
      Updated Danish translation of gimp-plug-ins
      Updated Danish translation of gimp-libgimp
      Updated Danish translation
      Updated Danish translation of gimp-plug-ins
      Updated Danish translation of gimp-windows-installer
      Updated Danish translation
      Updated Danish translation
      Updated Danish translation of gimp-libgimp
      Updated Danish translation of gimp-plug-ins
      Updated Danish translation of gimp-script-fu
      Updated Danish translation of gimp-plug-ins
      Updated Danish translation of gimp-libgimp
      Updated Danish translation
      Updated Danish translation of gimp-plug-ins
      Updated Danish translation of gimp-python
      Updated Danish translation
      Updated Danish translation
      Updated Danish translation of gimp-libgimp
      Updated Danish translation of gimp-python
      Updated Danish translation of gimp-script-fu
      Updated Danish translation of gimp-plug-ins
      Updated Danish translation
      Updated Danish translation

Alex Samorukov (8):
      Fix build on osx by adding appkit dependency
      Fix empty lldb backtrace on OSX
      Replace deprecated CGColorSpaceCopyICCProfile with CGColorSpaceCopyICCData
      add  to fix test link on OSX
      app: do not activate OSX menu if tests are running to prevent crash
      Replace finite() with isfinite() by default
      Move comment to match the description
      Add macOS support for the GIMP dashboard

Alexandre Franke (1):
      Update French translation

Alexandre Prokoudine (27):
      Sync USM menu entry to GEGL
      Help menu: various updates
      Improve pixel format choice UI in PNG exporting options
      Unified transform: enable Constraint:Scale by default
      file-dds: add original source code of the DDS plug-in
      file-dds: mark some user-vsible messages for translation, expose them to PO files
      Remap Linear Invert's mnemonic to I to remove a duplicate with Levels
      Tools presets -> Tool Pre_sets. Fixes #3092
      Offset tool: mark forgotten messages for translation
      Update bug.md
      Remove Bugzilla from the desktop file
      Update Russian translation
      Fix make check by replacing metadata-tags.h with metadata.c as spotted by grem
      Update Russian translation
      Update appdata for upcoming 2.10.16 release
      Fix the 2.10.16 release date in appdata
      Fixes and improvements for 2.10.16 appdata
      2.10.18: update appdata
      2.10.18: update appdata to match recent changes
      icons: convert some rectangles to outlines, fixes #4672
      icons: fix the dashboard icon by removing empty rectangle
      icons: redo the gimp-zoom-follow-window icon for it was broken
      icons: clean up the crop tool icon by redoing it
      Add the list of changes in 2.10.20 to the appdata
      Fix non-linear/perceptual symbolic icons
      Update Russian translation
      Update Russain translation again

Anders Jonsson (55):
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation
      Update Swedish translation

Andika Triwidada (1):
      Update Indonesian translation

Andre Klapper (1):
      Fix broken markup in Asturian UI translation

Aron Xu (4):
      Update zh_CN translation of po-windows-installer
      Update zh_CN translation of po-script-fu
      Fix a terminology in zh_CN translation
      Update Chinese (China) translation

Aryeom Han (1):
      data: new splash screen for GIMP 2.99.2.

Asier Sarasua Garmendia (14):
      Update Basque translation
      Update Basque translation
      Update Basque translation
      Update Basque translation
      Update Basque translation
      Update Basque translation
      Update Basque translation
      Update Basque translation
      Update Basque translation
      Update Basque translation
      Update Basque translation
      Update Basque translation
      Update Basque translation
      Update Basque translation

Ask Hjorth Larsen (2):
      revert last commit of Danish translation -- file incomplete
      Revert "Updated Danish translation"

Balázs Meskó (23):
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation

Balázs Úr (9):
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation
      Update Hungarian translation

Baurzhan Muftakhidinov (4):
      Update Kazakh translation
      Update Kazakh translation
      Update Kazakh translation
      Update Kazakh translation

Boyuan Yang (4):
      Update Chinese (China) translation
      Update Chinese (China) translation
      Update Chinese (China) translation
      Update Chinese (China) translation

Brian Popow (1):
      Fix German translation (Teams-Translation-German-de-Issues-#22)

Bruce Cowan (5):
      Update British English translation
      Update British English translation
      Update British English translation
      Update British English translation
      Update British English translation

Bruno Lopes da Silva (7):
      Update Brazilian Portuguese translation
      Update Brazilian Portuguese translation
      Update Brazilian Portuguese translation
      Update Brazilian Portuguese translation
      Update Brazilian Portuguese translation
      Update Brazilian Portuguese translation
      Update Brazilian Portuguese translation

Caio Nascimento (2):
      Update Brazilian Portuguese translation
      Update Brazilian Portuguese translation

Carles Ferrando Garcia (5):
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation

Chao-Hsiung Liao (1):
      Update Chinese (Taiwan) translation

Christian Kirbach (4):
      Update German translation
      Update German translation
      Update German translation
      Update German translation

Claude Paroz (1):
      Updated French translation

Cristian Secară (18):
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation

Cyril Richard (1):
      Issue #4203 - Wavelet decomposition only on RGB images

Daniel Korostil (6):
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation

Daniel Mustieles (27):
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Updated Spanish translation
      Update Spanish translation
      Update Spanish translation
      Updated Spanish translation
      Update Spanish translation
      Update Spanish translation
      Updated Spanish translation
      Revert "Updated Spanish translation"
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Updated Spanish Translation
      Update Spanish translation
      Updated Spanish Translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Updated Spanish translation
      Update Spanish translation

Daniel Novomesky (6):
      Updated HEIF plug-in
      Fix compilation with old libheif 1.3.2
      Make strings translateable in HEIF/AVIF export dialog
      Metadata (Exif, XMP) export in HEIF plug-in
      Improved HEIF plug-in
      HEIF plug-in: runtime detection of supported formats

Daniel Șerbănescu (6):
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Update Romanian translation
      Add Romanian translation
      Update Romanian translation

Danylo Korostil (2):
      Updated uk translation
      Updated po-script-fu uk.po

David Russo (1):
      Stop writing file paths into TIFF DocumentNames

Debarshi Ray (2):
      file-jpeg: Fix the copyright and license notices of jpeg-icc.*
      configure: Simplify libjpeg detection

Dimitris Spingos (7):
      Updated Greek translation
      Updated Greek translation
      Updated Greek translation
      Updated Greek translation
      Updated Greek translation
      Updated Greek translation
      Updated Greek translation

Dimitris Spingos (Δημήτρης Σπίγγος) (7):
      Update Greek translation
      Update Greek translation
      Updated Greek translation
      Updated Greek translation
      Updated Greek translation
      Updated Greek translation
      Updated Greek translation

Dušan Kazik (8):
      Update Slovak translation
      Update Slovak translation
      Add Slovak translation
      Update Slovak translation
      Update Slovak translation
      Update Slovak translation
      Update Slovak translation
      Update Slovak translation

Edward E (2):
      app: finish porting GdkScreen/monitor_number to GdkMonitor
      Issue #1240 - The drive or unc share you selected does not exist...

Elad Shahar (14):
      plug-ins: Spyrogimp plugin rewrite.
      Add i18n support for python spyrogimp plugin
      plug-ins: minor fixes to spyrogimp plugin.
      Port pygimp colorxhtml plugin to python 3
      Issue #4484: Add reflection option for mandala symmetry
      app: Fix Mandala Symmetry Kaleidoscope mode - brush transform and stroke order
      Issue #4326 - Add visual tab to spyrogimp plugin
      Issue #5069: Gfig uses the Stroke color for filling instead of the fill color
      Issue #5043: Spyrogimp 'Live' Preview Pollutes Undo History
      plug-ins: spyrogimp - fix type of new layer to include alpha channel
      plug-ins: Port palette-sort to Python 3
      Port benchmark-foreground-extract.py to python 3.
      plug-ins: Port python-eval.py plugin to python 3.
      Port histogram-export plugin to python 3

Ell (1151):
      app: take window scale-factor into account when rendering image
      app: fix canvas motion compression
      app: fix empty display unstable-version message
      data: add new splash screen
      app: add gimp_gegl_buffer_copy()
      app: use gimp_gegl_buffer_copy() all over the place
      app: in GimpOperationGradient, use sampler for reading the distance buffer
      app: fix progress text when applying shaped gradient through PDB
      Issue #1490 - Crash when flattening an XCF file
      app: update tests for new GDK/GIMP API
      app: add gimp_async_wait_until()
      app: use gimp_parallel_run_async() when loading fonts
      app: add gimp_async_remove_callback()
      app: various GimpAsync improvements
      po-windows-installer: update LINGUAS
      po-windows-installer: technical fix to the Czech and Latvian translations
      build: add Czech translation to the Windows installer
      app: code cleanup in GimpAsync
      app: port all interfaces to G_DEFINE_INTERFACE()
      libgimpcolor: port all interfaces to G_DEFINE_INTERFACE()
      libgimpconfig: align GimpConfig with the rest of the interfaces
      libgimpcolor, libgimpconfig: remove deprecated interface functions
      app: add GimpWaitable interface
      app: add GimpCancelable interface
      app: implement GimpWaitable and GimpCancelable in GimpAsync
      app: abort canceled pending operations in gimp_parallel_run_async()
      app: add "independent" parameter to gimp_parallel_run_async()
      app: fix gimp_parallel_run_async() cancelation
      app: lower thread priority of independent async operations
      app: add GimpWaitable::try_wait() vfunc
      app: implement GimpWaitable::try_wait() in GimpAsync
      app: add GimpUncancelableWaitable
      app: add GimpTriviallyCancelableWaitable
      app: add GimpAsyncSet
      app: fix indentation in core-types.h
      app: use GimpAsyncSet for keeping track of font loading
      app: disallow editing text layers while fonts are loading
      libgimpwidgets: add GimpBusyBox
      app: add gimp_container_editor_bind_to_async_set()
      app: show indication during font loading in text tool and font views
      libgimpbase, libgimp, app: pass icon theme dir to plug-ins through config
      plug-ins: add busy-dialog plug-in
      app: add gimp_wait()
      app: add gimp_fonts_wait()
      app, pdb: wait for fonts to load before dependent operations
      app: use gimp_wait() to wait for histogram in threshold and levels tools
      pdb: change image freeze/thaw procs to "Since: 2.10.2"
      app: fix gui_wait() cleanup
      po: update POTFILES.in
      app: fix linking of test-config
      app: code cleanup in previous commits
      app: more cleanup
      app: restore font list in async callback, not async-set notify handler
      configure.ac: disable devel-docs and pygimp makefile generation
      po: update POTFILES.in
      po-plug-ins: exclude skipped plug-ins from POTFILES.in
      configure.ac, Makefile.am: skip po-python/
      po-plug-ins: add skipped files to POTFILES.skip
      configure.ac: don't generate_po_makefile([po-python])
      app, libgimpwidgets: add generated cursor files to CLEANFILES
      app: hide container-editor busy box when clearing async-set binding
      libgimpwidgets: add exponentiation support to eevl
      plug-ins: increase input precision in guides-new-percent.scm
      app: strengthen gimp_async_set_{wait,cancel}()
      app: add gimp_tool_widget_{set,get}_focus(); "focus-changed" signal
      app: respond to "focus-changed" signal in various tool widgets
      app: in GimpDrawTool, set widget focus when setting widget
      app: add GimpToolWidget::leave_notify() vfunc
      app: implement GimpToolWidget::leave_notify() in various tool widgets
      app: add GimpToolWidget::hit() virtual function
      app: implement GimpToolWidget::hit() in all tool widgets
      app: add gimp_tool_widget_changed()
      app: add GimpToolWidgetGroup
      app: add TRANSFORM_GRIDS propgui controller
      configure.ac: require GEGL >= 0.4.3
      app: add custom GUI for gegl:recursive-transform-plus
      configure.ac: require babl >= 0.1.51
      app: use default new-layer mode for layer groups and text layers
      app: in GimpPaintTool, sync brush-outline coords while painting
      app: add GimpTransformGridTool; derive most transform tools from it
      app: derive GimpMeasureTool from GimpTransformTool
      app: code cleanup in the measure tool
      Issue #1607 - Fatal Crash on ACT Palette File Import
      app: don't allow transforming invisible layers in flip/measure tools
      Bug 759194 - Unified Transform Tool fails when layer is hidden
      Issue #1621 - Alpha incorrectly exported in PSD
      app: make sure image colormaps always have at least one color
      Issue #1602 - Numeric selection size wrong after switching tools
      Issue #1613 - foreground select tool raises a CRITICAL when committing
      Issue #1646 - Transform preview looks wrong with selection
      Issue #1624 - Crashes when using Scissor Select Tool
      app: clean up GimpTransformGridTool; adapt subclasses
      app: fix scaling around center in scale tool; avoid negative width/height
      Issue #1668 - Smudge Tool - Wrong colors when painting on an image ...
      Issue #1668 -- Smudge Tool - Wrong colors when painting on an image ...
      app: merge back gegl:recursive-transform-plus propgui to recursive-transform
      app: fix filename in gimppropgui-recursive-transform.c license notice
      plug-ins: add support for loading merged image data from PSD files
      app: add memory group to the dashboard
      app: make the dashboard scrollable
      app: in the dashboard, fix statm file-descriptor initialization
      app: make sure the color picker tool is halted when closing display
      app: add gimp_data_input_stream_read_line_always()
      app: add gimp_ascii_strtoi() and gimp_ascii_strotod()
      Issue #1682 - Segfault when starting GIMP, due to empty data files
      app: add swap read/write fields to the dashboard
      app: a few fixes to last commit
      app: more fixes to last dashboard commit
      app: properly handle NULL rectangle arguments in gimp-gegl-loops
      app: fix dashboard swap read/write variable order
      app: flush image after selecting colormap color
      app: s/DAta/Data/ in gimpdashboard.c
      app: more Windows-specific fixes in gimpdashboard.c
      app: even more Windows-specific fixes in gimpdashboard.c
      app: allow multiple variables as input to dashboard group-meter LED
      app: a few async font loading fixes
      app: in gimp-parallel, fix async-thread shutdown
      app: add gimp_parallel_run_async_{full,independent}()
      app: add gimp_drawable_get_sub_preview_async()
      app: render drawable previews asynchronously
      app: make dependent options insensitive when "promote imported" is unchecked
      app: add config option to enable/disable layer-group previews
      app: add active async-operations counter to the dashboard
      app: explicitly close output stream when saving internal data
      app: fix drawable-preview offset
      app: add mnemonic to the layer-group previews prefrences option
      app: fix signature of gimp_parallel_run_async() function template
      app: fix GimpMeter history-graph painting when clipped
      configure.ac: require GEGL >= 0.4.5
      app: add gegl:stereographic-projection (little planet) to the menus
      app: fix potential segfault in gimp_action_history_activate_callback()
      Issue #1783 - Xcf file crashing gimp-console-2.10 ...
      Issue #1783 - Xcf file crashing gimp-console-2.10 ...
      libgimpcolor, app: gracefully reject empty ICC profiles
      libgimpconfig: allow writing empty data in gimp_config_writer_data()
      app: avoid CRITICAL when writing 0-length data to XCF
      app: avoid CRITICAL when loading XCF with empty gimp-image-grid parasite
      app: avoid CRITICAL when loading XCF with empty gimp-image-metadata parasite
      libgimpbase: gracefully reject Exif/IPTC/XMP metadata of invalid size
      app: avoid CRITICAL when loading XCF with empty symmetry parasites
      app: avoid CRITICAL when loading XCF with empty gimp-text-layer parasite
      app: log actions upon activation before emitting "selected" signal
      app: properly shut down gimp-parallel in stable versions
      Issue #1792 - Xcf file crashing gimp-console-2.10 ...
      app, pdb: use gimp_babl_is_valid() in more places
      app: disable parallel asynchronous operations when GEGL_THREADS=1
      app: flush async-operations queue when setting async thread count to 0
      app: fix line-angle constraint when xres != yres
      app: add "orientation" property to GimpToolCompass + improvements
      Issue #1851 - Measure tool straighten rotation is always to the horizontal.
      app: bind "orientation" measure-tool option to compass
      Issue #1850 - Undoing the "straighten" operation in the Measure tool ...
      app: keep display-enums.h (sort-of) alphabetically sorted
      app: in GimpToolCompass, add visual distinction between angle lines
      app: update GimpToolCompass when display is scaled/rotated
      app, pdb: add gimp-register-file-handler-priority procedure
      Issue #1825 - PSD files are loaded as merged by default ...
      app: indentation fix in gimppluginmanager-restore.c
      app: fix dynamics editor "fade" curve color
      app: improve file-handler sorting
      Issue #1874 - Critical error after selecting "Edit Text on Canvas" ...
      app: in GimpDial, add "clockwise-angles" property ...
      app: in prop-GUI, use "direction" UI-meta of angle props for dial
      app: fix segafult when halting filter-tool with controller
      */Makefile.am: add *marshal.h files to BUILT_SOURCES
      app: copy the is-color-managed status when duplicating an image
      Issue #1884 - Incorrect font when export to png
      app: in GimpTileHandlerValidate, clear data when allocating tile
      app: add gimp_tile_handler_validate_unassign()
      app: add gimp_tile_handler_validate_buffer_copy()
      app: add GimpProjectable::bounds-changed signal
      app: respond to GimpProjectable::bounds-changed in GimpProjection
      app: add "update" parameter to gimp_drawable_set_buffer_full()
      app: stop idle projection rendering when flushing group layers
      app: use gimp_projectable_bounds_changed() when resizing group layers
      app: avoid re-rendering group layers upon translation
      app: avoid re-rendering group layers upon resizing
      app: fix gimp_projection_projectable_bounds_changed()
      app: short-circuit GimpProjection bounds-changed handler if disjoint
      Issue #1846 - "gitlab::" typo in the Windows installer
      Issue #1125 - Transform tools temporarily disables layer mask
      Issue #1980 - Color picker wrong results when picking from non-sRGB...
      configure.ac: require GEGL >= 0.4.7
      app: keep sanity/blacklist gegl op lists alphabetically sorted
      app: add gegl:long-shadow to the menus
      app: fix projection update-area offset upon buffer allocation/reisizing
      app: fix group layer drawable update during size change
      app: show horizontal scrollbar in dashboard when necessary
      app: add "compression" field to the swap dashboard group
      app: add "queued" field to the dashboard swap group
      app: show swap read/write throughput in the dashboard
      configure.ac: require GEGL >= 0.4.9
      libgimp: disable tile command range check in plug-in tile backend
      libgimp: in GimpTileBackendPlugin, use gegl_tile_backend_command()
      Issue 2052 - Crash when using the flip tool
      app: don't chunk update area when rendering projection synchronously
      app: use adaptive chunk size when rendering projections
      app: add gimp_gtk_container_clear()
      app: explicitly clear GUI when halting a filter tool
      Issue #2095 - Filter wavelet-decompose error with layer Group option active
      app: fix dashboard swap read-throughput desc.; add translator comment
      Issue #2116 - bug: Image guide creation by dragging does not allow ...
      Issue #2120 - Segmentation fault while using Levels to white balance a layer
      app: remove unused function prototype in GimpDashboard
      app: use gimp_gtk_container_clear() in GimpDashboard
      app: add mnemonics to dashboard action labels
      app: add GimpBacktrace
      app, icons, menus: add performance-log recording to the dashboard
      tools: add performance-log-related tools
      po: add dashboard-commands.c to POTFILES.in
      app: fix app/tests linking
      app: show error on attempt to subtract-from/intersect-with empty selection
      app: minor cleanup in GimpBacktrace
      app: remove stray g_printerr() from gimpbacktrace-linux.c
      app: in gimpbacktrace-none.c, fix gimp_backtrace_get_frame_address()
      app: rename gimp_backtrace_get_symbol_info() to ..._get_address_info()
      app: remove unused #define in gimpbacktrace-linux.c
      app: more GimpBacktrace tidying
      app: add source-location information to GimpBacktrace
      app: add Windows backend to GimpBacktrace
      app, tools: add "running" thread attribute to GimpBacktrace/performance-log
      app: more cleanup in GimpBacktrace
      app: fix uninitialized variable warning in gimptexttool.c
      app: streamline text-tool drawing blocking/unblocking logic
      app: fix text tool frame position when undoing move operation
      app: don't change text-layer box mode after moving using text tool
      app: some cleanup in gimppaintcore-loops
      app: in gimpbacktrace-linux, use SA_RESTART for the backtrace signal
      app: add more information to performance logs
      tools: add performance-log-deduce.py
      tools: add performance-log-viewer.py and driver
      tools: in performance-log-viewer.py, fix profile viewer search column
      app, libgimp*, modules: don't use g_type_class_add_private() ...
      app: fix unhandled enumeration value warning in gimptextlayer.c
      app: fix incompatible pointer type warning in gimpviewrendererdrawable.c
      Revert "app: disable parallel asynchronous operations when GEGL_THREADS=1"
      tools: a few improvements in performance-log-viewer.py
      tools: replace performance-log viewer call-graph direction icons
      tools: only show object/source basename in performance-log backtraces
      app: add source location information to the Linux GimpBacktrace backend
      configure.ac: fix libbacktrace test
      tools: in performance-log-viewer.py, defer UI updates util needed
      tools: in performance-log-viewer.py, add thread filter to profile
      tools: in performance-log-viewer.py, set thread filter search column
      tools: in performance-log-viewer.py, right-align backtrace frame number column
      app: indentation fix in gimpdrawable-transform.[ch]
      app: add gimp_drawable_transform_get_effective_clip()
      app: confirm transforms that result in very large items
      app: in GimpToolWidgetGroup, calculate hover widget at button press
      app: in GimpToolWidgetGroup, improve focus behavior when adding/removing widgets
      app: add "perspective correction" option to the measure tool
      app: tweak focus behavior of GimpToolWidgetGroup when removing widget
      app: use gimp_dialog_set_alternative_button_order()
      Revert "app: add "perspective correction" option to the measure tool"
      Issue #2272 - Crash when using the intelligent-scissors tool ...
      plug-ins: in script-fu, don't query PDB procedures' info on startup
      tools: various improvements in gimp-performance-log-viewer.py
      app: construct tool-options GUI lazily
      app: in performance-log-viewer.py, add undo support
      tools: in performance-log-viewer.py, retain call-graph path
      Issue #2222 - Warp Transform doesn't commit changes upon saving ...
      Issue #2287 - Weird things happen with dodge tool ...
      app: avoid applying buffer to drawable if application region is empty
      Issue #1180 - Warp tool aborts changes to layer A when ...
      app: don't commit trivial warp transform
      app: avoid double-initialization of operation tools when changing layers
      tools: in performance-log-viewer.py, handle infinities in sample graph
      tools: in performance-log-viewer.py, allow viewing source files ...
      tools: in performance-log-viewer.py, cache source file lookups
      tools: in performance-log-view.py, don't change call-graph path ...
      tools: in performance-log-viewer.py, add annotated source view
      app: don't depend on GimpData sort order for identifying internal data
      app: add gimp_data_factory_data_cancel()
      app: in gimp-parallel, cancel ongoing async operations upon exit
      Issue #2303 - Please add Constant type of gradient interpolation ...
      app: use "step" blending function in "FG to BG (Hardedge)" gradient
      Issue #2308 - Strange behavior when switching active layer during transform
      app: allow progressive execution of parallel async operations
      Issue #2339 - Error while executing script-fu-ripply-anim
      app: improve description comment of GimpAsync
      app: in GimpBacktrace Windows backend, set main-thread name
      app: in GimpBacktrace Windows backend, avoid bogus symbol addresses
      tools: add performance-log-coalesce.py; use in performance-log-viewer
      app: fix gimp_wait() deadlock
      app: always use libunwind for symbol names in GimpBacktrace Linux backend
      tools: fix performance-log viewer profile thread-filter
      Issue #2237 - export as, select file type (by extention) list problem
      tools: in performance-log-viewer.py, visualize percentage in profile viewer
      tools: in performance-log-viewer.py, fix percentage cell renderer
      tools: in performance-log-viewer.py, allow sorting profile by function name
      Issue #2405 - Rotation center shifts by half a pixel ...
      app: fix tests for new show-tabs option
      devel-docs: add "step" blending function to GGR format spec
      Issue #2436 - Crash after downsizing canvas
      app: simplify drawable preview rendering
      app: include variable descriptions in performance logs
      tools: in performance-log-viewer.py, show variable descriptions
      app: avoid allocating empty tempbuf for drawable previews
      app: don't let image component mask affect channel colors
      app: a few fixes to performance-log backtrace output
      tools: in performance-log-expand.py, preserve threads with empty stacks
      tools: a few improvements in performance-log-viewer.py
      app: a few improvements to the GimpBacktrace Linux backend
      devel-docs: add performance-logs documentation
      .gitlab: add "performance" issue template
      configure.ac: add devel-docs/performance-logs/Makefile
      devel-docs: fix typo in performance-logs/Makefile.am
      devel-docs: fix typo in performance-issue screenshot
      devel-docs: fix typo in performance-logs.md TOC
      devel-docs: another typo fix in performance-logs.md TOC
      tools: add performance-log-coalesce.py to EXTRA_DIST
      app: in performance logs, add new-lines between variable definitions
      tools: in performance-log-viewer.py, fix "function()" predicate ...
      libgimpwidgets: add GimpSpinButton
      Issue #2470 - Spacing between grid lines does not stay at 1px ...
      Issue #2473 - Transforming a layer doesn't properly transform its mask
      configure.ac: escape backslash chars in compiler version string
      configure.ac: require GEGL >= 0.4.13
      app: remove gimp_parallel_distribute(); use gegl_parallel_distribute()
      app: indentation fix in gimp-parallel.cc
      app: more gimp-parallel fixes
      app: in scale tool, scale around center even when using numeric input
      configure.ac: require babl >= 0.1.60
      libgimpwidgets: install gimpspinbutton.h
      app: in the bucket-fill tool, avoid CRITICALs when computing line-art ...
      app: in bucket-fill tool, fix potential leak when computing line-art
      app: add GimpAsync::waiting signal
      app: in gimp-parallel, boost priority of waited-upon asyncs
      app: in bucket-fill tool, cancel async on tool destruction
      app: add gimp_pickable_contiguous_region_prepare_line_art_async() ...
      libgimpbase: don't leak GPConfig::icon_theme_dir
      libgimpbase: add _gimp_wire_{read,write}_int64()
      libgimpbase, libgimp, app: pass misc. GEGL config to plug-ins
      Issue #2553 - Can't Move Imported or Pasted Path
      app: avoid flushing bufferless projections
      app: avoid starting the chunk renderer while finishing drawing a projection
      app: add GimpTileHandlerValidate::{begin,end}_validate() vfuncs
      app: add GimpTileHandlerValidate::validate_buffer() vfunc
      app: add gimp_tile_handler_validate_validate()
      app: use gimp_tile_handler_validate_validate() in GimpProjection
      app: use gimp_tile_handler_validate_validate() in gimp:buffer-source-validate
      app: unref async when removing last callback if idle is pending
      app: add gimp_async_add_callback_for_object()
      app: use gimp_async_add_callback_for_object() in various places
      app: use gimp_async_add_callback_for_object() in the bucket-fill tool
      app: in GimpBacktrace Linux backend, make blacklisted_thread_names const
      app: in GimpBacktrace Linux backend, don't leak backtrace when dropping threads
      app: add gimp-scratch allocator
      app: add scratch-total variable to the dashboard
      app: in Luminance mode, replace VLAs with gimp-scratch
      app: in Luminance mode, cache RGBA -> Y fish
      app: fix definition signature of gimp_scratch_get_total()
      app: #include <string.h> in gimp-scratch.h
      app: fix gimp-scratch linking
      app: fix gimp-scratch linking in tests/
      app: sigh, another gimp-scratch link fix, in config/
      app: a few improvements to gimp-scratch
      app: add gimp_gegl_rectangle_align_to_tile_grid()
      app: use gimp_gegl_rectangle_align_to_tile_grid() in gimp:buffer-source-validate
      app: align drawable undo rectangle to tile grid
      app: in GimpPaintCore, align copied undo rect to tile grid
      app: add gimp_gegl_clear()
      app: add gimp_layer_mode_is_trivial()
      app: add gimp_fill_options_fill_buffer()
      app: optimize simple whole-drawable fill/clear
      app: fix drawable direct-fill criterion
      app: another fix to drawable direct-fill criterion
      app: fix iterated-over area in gimp_gegl_clear()
      app: add "direct" parameter to gimp_projection_flush_now()
      libgimpcolor, app, modules, plug-ins: remove GEGL_ITERATOR2 define
      app: mark REPLACE and PASS_THROUGH modes as trivial
      app: don't use direct-buffer fill when some components are masked
      Issue #2604 - XCF saving bug in xcf_save_buffer()
      app: save images with fractional grid coordinates as version-10 XCFs
      Revert "app: save images with fractional grid coordinates as version-10 XCFs"
      app: in GimpProjection, fix reinit. of current row when chunk height changes
      Issue #2635 - Segfault when using measuring tool
      app: in the selection tools, blink mode box when the current operation is invalid
      app: in the move tool, blink type box when there's no item to move
      app: in the transform tools, blink type box when there's no item to transform
      app: in the paint tools, blink mode box when the current mode is invalid
      app: in gimp_widget_blink(), cancel blinking of parent widgets
      app: add gimp_tools_blink_lock_box()
      app: in all tools, blink lock box when the current item is locked
      app: in gimp_widget_blink_cancel(), avoid redrawing non-blinking widget
      app: s/GEGL_WARP_BEHAVIOR/GIMP_WARP_BEHAVIOR/
      app: in the warp tool, blink stroke frame when no events are selected
      app: in the warp tool, blink behavior combo when the current behavior is invalid
      app: update definition of "{cache,swap}-compressed" dashboard vars
      app: improve gradient color-sampling speed
      app: remove "Edit -> Fade..."
      app: remove gimp_applicator_dup_apply_buffer()
      app: in GimpLineArt, use "invalidate-preview" signal of input viewable
      app: add GimpDrawable::format-changed signal
      app: add gimp_applicator_set_output_format()
      app: in GimpDrawableFilter, use the drawable format as the cache format
      app: use drawable format as floating-sel applicator output format
      app: cache result of floating selections
      Revert "Bug 796090 - (wrong) true-color preview of GEGL filter ops, ..."
      app: in gimp_drawable_merge_filter(), align undo rect to tile grid
      app: in GimpApplicator, allow enabling cache/preview after construction; remove preview cache
      app: use GimpDrawableFilter in gimp_drawable_apply_operation()
      app: in GimpFilterTool, show region combo for non-point ops
      app: in GimpFilterTool, make region combo insensitive when selection is empty
      app: rename gimp_applicator_set_preview() to _set_crop(); add _get_crop()
      app: add gimp_drawable_filter_set_crop()
      app: in GimpDrawableFilter, only update crop/preview area when updating whole drawable
      app: in warp tool, crop filter to stroke bounds
      app: in gimp_gegl_apply_cached_operation(), intersect cached rects with dest rect
      app: in gimp_drawable_edit_fill(), make trivial alpha-only fill a NOP
      app: show error on attempt to clear/cut layer with locked alpha channel
      app: small fix to gimp_drawable_edit_fill()
      app: optimize gimp_gegl_mask_is_empty()
      app: optimize gimp_gegl_mask_bounds()
      app: more optimizations to gimp_gegl_mask_bounds()
      plug-ins: in image-map, fix spin-scale adjustment
      app: show message when attempting to change layers while there is a floating sel.
      app: in GimpTileHandlerValidate, avoid fetching/copying whole tiles
      app: In GimpHistogram, align copied buffer region to tile rect
      app: in GimpHistogramEditor, cancel ongoing async upon update
      app: write floating-point vars using C locale in performance logs
      app: in GimpHistogramEditor, don't block when creating bg histogram
      app: small fix to last commit
      app: remove gimp-scratch; replace with gegl-scratch
      app: in bucket-fill tool, avoid calculating line art when not in line-art mode
      app: in bucket fill tool, don't calculate line art of layer groups
      app: in gimp_display_empty(), clear image of matching contexts
      Issue #1824 - Crash on 2.10.4 using tablet
      app: add GimpChunkIterator
      app: use GimpChunkIterator in GimpProjection
      app: use GimpChunkIterator in gimp_gegl_apply_cached_operation()
      app: in gimp_tile_handler_validate_buffer_copy(), temporarily remove source handler
      app: in the gradient tool, halt gradient editor before committing filter
      Issue #440 - libgimp/gimptilebackendplugin.c provides no pyramid
      app: in gimpchunkiterator.c, #include <stdlib.h>
      app: fix gimp_chunk_iterator_set_priority_rect()
      app: in gimp_projection_chunk_render_start(), don't leak empty region
      app: in gimp_projection_chunk_render_start(), properly invalidate preview
      app: in gimpdrawtool.c, s/rectangle/widget/ in tool-widget signal handlers
      app: add gimp_tool_widget_message[_literal]()
      app: handle GimpToolWidget::message in GimpToolWidgetGroup
      app: handle GimpToolWidget::message in GimpDrawTool
      app: in GimpToolPath, use gimp_tool_message() instead of _set_status() ...
      app: in GimpDrawTool, avoid CRITICAL on widget signal if not active
      app: add gimp_tool_widget_{get,set}_visible()
      app: in filter tools, allow toggling on-canvas controller visibility
      app: clear priority rect when finishing projection rendering
      libgimp: in GimpTileBackendPlugin, don't read tile data upon TILE_SET
      libgimp: in GimpTileBackendPlugin, change default tile multiplier to 1
      tools: in performane-log-viewer.py, change sample-selection icon
      tools: in performance-log-viewer.py, allow inverting selection
      app: convert gimppickable-contiguous-region to C++
      app: parallelize gimp_pickable_contiguous_region_by_color()
      app: update drawable filter upon alpha-lock change
      app: improve gimp_channel_clear()
      app: align mask-undo buffer to tile grid
      app: fix indentation in gimpmaskundo.h
      app: fix rectangle-select tool rounded-corners option
      devel-docs: fix performance-log profile-view function-column description
      tools: in performance-log-viewer.py, some cleanup
      tools: in performance-log-viewer.py, add markers view
      devel-docs: in performance-logs.md, fix markers-page section number
      libgimpcolor: in gimp_adaptive_supersample_area(), use scratch allocator
      app: in gimp:gradient, improve adaptive supersampling
      plug-ins: avoid running pygimp plug-ins derived from gimpplugin.plugin at each startup
      Issue #1119 - Unable to give a layer group as a parameter to a python script
      app: fix cursor precision of various tools
      app: fix cursor precision of source tools
      app: add gimp_paint_tool_set_active()
      app: in perspective-clone tool, fix cursor presicion; hide brush while adjusting
      app: fix CRITICAL when initializing the perspective-clone tool
      plug-ins: in pygimp/plug-ins/Makesfile.am, use tab-width of 8
      plug-ins: in pygimp/plug-ins/Makefile.am, re-copy plug-ins upon change
      plug-ins: in pygimp/plug-ins/Makefile.am, simplify plug-in copy recipe
      app: in GimpTransformGridTool, remove flip-tool hack
      app: in GimpTransformGridTool, fix layer hiding
      app: in gimp_transform_matrix_generic(), apply matrix even if invalid
      app: fix CRITICALs in GimpMeasureTool
      app: add GimpToolCompass::effective-orientation property
      app: improve measure-tool undo description
      app: improve rotate-tool undo description
      app: add GimpTransformToolClass::undo_desc field
      libgimpwidgets: add GimpChainButton::icon-size property
      libgimpwidgets: add GimpChainButton::active property
      app: in GimpTransformGridTool, allow simultaneous forward and backward transforms
      app: in GimpTransformGridTool, allow linking forward/backward transforms
      po-python: add spyro_plus.py copy to POTFILES.skip
      libgimpwidgets: add gimp_chain_button_{get,size}_icon_size() to gimpwidgets.def
      app: in GimpRotateTool, improve fuzzy comparisons
      libgimp: avoid libgimp tile-cache in the plug-in tile backend
      app: add gimp_temp_buf_{lock,unlock}()
      Issue #2372 - Reduced quality of the Parametric brush in 2.10
      app: small fix in gimpbrushcore-kernels.h
      app: avoid unnecessary calls to gimp_temp_buf_data_clear()
      app, pdb: use compat formats for brushes/patterns in plug-ins
      app: fix gimp_babl_compat_u8_mask_format()
      libgimpwidgets: in GimpChainButton, emit "toggled" signal when "active" changes
      app: in gimppaintcore-loops, use dynamic iterator indices
      app: in gimppaintcore-loops, make CanvasBufferIterator self-contained
      app: in gimppaintcore-loops, add finalize[_step]() algorithm functions
      app: in gimppaintcore-loops, allow specifying dependencies to BasicDispatch
      app: in gimppaintcore-loops, name algorithms more consistently
      app: in gimppaintcore-loops, add [Temp]CompMask algorithm helper-classes
      app: in gimppaintcore-loops, add MaskBufferIterator algorithm helper-class
      app: in gimppaintcore-loops, make sure dest_buffer is the primary iterator buffer
      app: in gimppaintcore-loops, add {CANVAS_BUFFER,PAINT_MASK}_TO_COMP_MASK algorithms
      app: implement gimp_paint_core_replace() using gimp_paint_core_loops_process()
      app: in gimp_paint_core_paste(), don't copy paint mask when combining to canvas buffer
      app: in gimp_paint_core_replace(), improve applicator path
      app: in gimppaintcore-loops, fix indentation in DispatchPaintMaskToCompMask
      m4macros: remove binreloc.m4 from EXTRA_DIST
      app: link tests against libappfile-data
      app: in gimpbrushcore-loops, fix memory corruption in clear_edges()
      app: remove gimp_drawable_replace_buffer()
      app: remove gimp_gegl_replace()
      app: change behavior of REPLACE mode for fully-transparent pixels
      app: #include <string.h> in gimpoperationreplace.c
      app: add gimp_gegl_node_is_point_operation()
      app: in gimp_gegl_apply_cached_operation(), don't dup src buffer for point ops
      app: convert gimp:mask-components to C++
      app: improve gimp:mask-components
      app: in gimppaintcore-loops, remove individual-algorithm functions
      app: in gimppaintcore-loops, add {Mandatory,Suppressed}AlgorithmDispatch
      app: in gimppaintcore-loops, mark algorithms as mandatory/suppressed
      app: in gimppaintcore-loops, add [Temp]CompBuffer algorithm helper-classes
      app: in gimppaintcore-loops, add MASK_COMPONENTS algorithm
      app: use MASK_COMPONENTS algorithm in gimp_paint_core_{paste,replace}()
      app: in gimppaintcore-loops, in MaskComponents::finalize_step(), chain up
      app: set/clear component-mask alpha-bit of alpha-less drawables, to make mask uniform
      app: in GimpDrawableFilter, don't mask-out alpha comonent for alpha-less drawables
      app: in gimp:mask-components, handle half-precision float formats
      app: in gimppaintcore-loops, unsuppress COMBINE_PAINT_MASK_TO_CANVAS_BUFFER algorithm
      plug-ins: in file-dds, rename endian.h to endian_rw.h ...
      app, libgimp: communicate dark-theme preference to plug-ins through theme.css
      app: replace use of deprecated dont-cache/no_cache with cache-policy
      app: add temp-buf-total varaible to the dashboard
      Issue #2997 - Error importing PCX
      app: accept a const GimpTempBuf in more temp-buf functions
      app: improve gimp_brush_core_color_area_with_pixmap()
      app: in GimpSmudge, avoid copying brush pixmap when flow = 0
      app: streamline action_data_get_foo() functions
      app: merge layers in chunks, and show progress
      app: in gimp_gegl_create_flatten_node(), explicitly set color node format
      po-windows-installer: technical fix to the Korean translations
      build: add Korean translation to the Windows installer
      Issue #1554 - Select by Color tool does not select pixel(s) or area(s) of pixel(s)
      app: fix transform-grid center point for non-affine transforms; use as pivot
      app: add "Constrain handles", "Around center" options to the perspective tool
      Issue #3037 - Crash in transform tools after transforming an out-of-bounds selection
      app: disable spec. 8-bpp version of gimp:mask-components for non-little-endian platforms
      app: fix toggling-off of alpha channel
      app: small fix to last commit
      app: in gimp:mask-components, don't forward empty aux when mask is fully set
      app: in gimppaintcore-loops, improve CanvasBufferIterator algorithm helper-class
      libgimpwidgets: fix gimp_spin_button_new_with_range()
      app: set warp-tool scroll-lock to TRUE
      app: improve warp-tool invalidated-area calculation
      app: properly implement "spacing" option in the warp tool
      app: add "real-time preview" option to the warp tool
      app: improve warp-tool cropped-area calculation
      Issue #3062 - Picking by hue using "Select by Color" goes awry ...
      app: fix segfault when closing an image with a floating selection
      app: clean up last commit
      app: add gimp_parallel_run_async_independent_full()
      app: use independent async for resolving performance-log symbol information
      app: fix indepndent-async thread priority on Windows
      app: use gimp_gegl_buffer_copy() in various places
      app: allow canceling line-art computation
      app: various fixes to last commit
      app: add gimp_tool_gui_add_button()
      app: add "Readjust" function to transform-grid tools
      app: implement readjust() in various transform tools
      app: fix unused variable warning in gimp_tool_gui_new()
      app: reset overall transformation in transform tools
      app: fix mnemonic of transform-tools "Readjust" button
      app: take transform-grid handle size into account when readjusting
      libgimpwidgets, app, plug-ins: use GimpSpinButton everywhere
      Issue #2557 - Gimp Can't Rotate By More Than 180 Degree
      libgimpwidgets: fix arithmetic-expression supprot in GimpSizeEntry
      app: in gimp_tool_gui_set_response_sensitive(), allow non-existent ID
      app: improve transform-tools readjustment
      app: more "Readjust" improvements
      app: avoid pushing undo while updating colormap entries
      app: add gimp_babl_is_bounded()
      app: add gimp_babl_format_change_{component_type,trc}()
      app: convert gimp-gegl-mask-combine to C++
      app: improve gimp_gegl_mask_combine_rect()
      app: improve gimp_gegl_mask_combine_ellipse[_rect]()
      app: improve gimp_gegl_mask_combine_buffer()
      app: improve gimpchannel-{combine,select}
      Issue #3134 - Deleting last layer of group not updating image
      Issue #3142 - Filters on-canvas preview doesn't work ...
      app: small fix to gimp_gegl_mask_combine_ellipse_rect()
      app: skip cache and format conversion when merging a drawable filter
      app: don't disable filter format conversion if != drawable format
      app: preserve projection priority rect across structure/bounds changes
      app: improve responsiveness of GimpChunkIterator
      app: in gimp_drawable_apply_buffer(), work in chunks
      app: add gimp_gegl_node_is_source_operation()
      app: add gimp_gegl_node_{set,get}_underlying_oepration()
      app: use underlying operation in gimp_gegl_apply_cached_operation()
      app: in GimpDrawableFilter, set underlying operation
      app: use compositing format for fill buffer
      app: improve gimp_drawable_fill_buffer() for patterns
      app: add gimp:fill-source operation
      app: use gimp:fill-source in gimp_drawable_edit_fill()
      app: revert combo-box drop-down changes
      app: include system gimp.css file in theme.css
      app: when freezing a drawable's preview, freeze ancestors' previews
      app: avoid freezing image preview if drawable is not attached
      app: avoid risky alloca() in gimp_brush_save()
      app: don't invalidate viewable preview when thawed unless explicitly requested
      app: more responsiveness improvements to GimpChunkIterator
      Issue #2090 - Crash when using transform tools
      app: in gimp:fill-source, align result to tile grid
      app: small fix to GimpChunkIterator
      app: fix image-window UI-manager update while a projection is being rendered
      app: in GimpChunkIterator, avoid preparing rect before merging
      Issue #3025 - "File/New" doesn't honor "precision" choice ...
      Issue #2665 - Settings changes in Rectangle and Ellipse selection don't "stick"
      app: add incremental mode to the Dodge/Burn tool
      app: in GimpCurveView, use relative motion when dragging point
      app: in GimpCurveView, snap to curve when holding Ctrl
      app: fix gimp_operation_levels_map_input() for negative values
      app: streamline GimpCurve
      app: add "selection-changed" signal to GimpCruveView
      Issue #1528 - Allow precise or numeric input in color curves tool
      app: add smooth/corner curve-point types
      app: fix Curves tool numeric-entry range/precision for > 8-bpc images
      app: fix last commit
      app: fix spin-button width in the Curves tool
      app: don't leak curve in gimp_curves_config_save_cruft()
      Issue #3275 - Crash when opening an image after closing existing image
      Issue #3284 - Wrong layer renamed when switching images
      app: move undo/redo logic for GimpRectangleSelectTool to GimpSelectionTool
      app: remove unused field from GimpPolygonSelectToolPrivate
      app: allow passing NULL pointers to gimp_tool_polygon_get_points()
      app: add gimp_tool_polygon_is_closed()
      app: add GimpToolPolygon::change-complete signal
      app: factor-out common free/fg-select logic into GimpPolygonSelectTool
      Issue #2328 - Free Select tool should create preliminary marching ants selection
      app: fix dirty mask/action in the rectangle- and free-select tools
      app: increase GimpSelectionTools idle priority to avoid flickering
      app: flush image when committing free-select tool
      app: in gimp-gegl-nodes, set underlying operation
      Issue #3304 - Invalid write when halting filter tool with controller
      Issue #3306 - Memory leak using Crop tool
      tools: in performance-log-viewer.py, fix deprecation warnings
      Issue #3353 - Gimp 2.10.10 freezes while changing Background color ...
      configure.ac: require GEGL >= 0.4.16
      app: in GimpDashboard, don't show legend for groups with no meter
      app: add tile-alloc-total variable to the dashboard
      app: in GimpDashboard, improve legend logic
      app: in GimpBrushCore, free old paint buffer before allocating new one
      app: don't modify paint buffer when pasting to canvas
      app: add gimp_brush_core_get_brush_pixmap()
      app: in GimpPaintbrush, reuse existing paint buffer
      app: fix indentation in gimppaintbrush.h
      app: initialize GimpBacktrace earlier on
      configure.ac: improve compiler version string escaping
      app: don't show result-size warning when transforming a selection
      app: disregard composite space in non-union alpha-only layer modes
      app: disregard composite space in source-only trivial layer modes
      app: add gimp_symmetry_get_transform()
      app: use gimp_symmetry_get_transform() in paint code
      app: add symmetry-transform support to the Ink tool
      app: derive GimpEraser from GimpPaintbrush
      app: fix Ink tool symmetry transform
      Issue #886 - Artifacts symmetry painting with big brushes
      app: don't add fg color to history in GimpEraser
      app: add gimp_symmetry_get_matrix()
      app: use gimp_symmetry_get_matrix() in GimpInk
      app: add gimp_gegl_create_transform_node()
      app: implement gimp_symmetry_get_operation() in terms of gimp_symmetry_get_matrix()
      app: fix symmetry transform in Clone/Heal tools when brush is cropped
      app: add support for offset buffers in gimp_gegl_apply_[cached_]operation()
      app: add gimp_list_compare()
      app: allow moving an intersecting pair of guides with the Move tool
      app: fix memory leak in previous commit
      app: s/gimp_list_compare()/gimp_g_list_compare()/
      app: avoid NULL output in layer-mode ops
      Revert "app: avoid NULL output in layer-mode ops"
      app: add "alpha" propertry to gimp:mask-components
      app: avoid unnecessarily updating drawable after merging filter
      app: update drawable when committing Warp tool
      plug-ins: in file-tiff, don't leak image when not saving layers
      app, libgimpbase: add gimp:offset operation
      app: implement gimp_drawable_offset() in terms of gimp:offset
      Issue #40 - Layer offset tool
      app: various fixes/cleanups to last commits
      app: in gimp_filter_tool_get_drawable_area(), don't return empty area
      app: add GimpFilterTool::region_changed() virtual function
      icons: fix symbolic gimp-tool-offset icons
      app: avoid duplicate offset actions
      app: in gimp:offset, fix OFFSET_TRANSPARENT fast-path for chunked input
      app: indentation fix in gimp:offset
      app: add gimp_drawable_update_all()
      Issue #3484 - While moving a nested layer group, some area isn't updated
      app: clean up Luminance blend function
      app: fix gradient dithering
      app: add active-thread variable to the dashboard
      app: reduce time complexity of layer-group translation
      app: add assigned-threads variable to the dashboard
      app: in the gradient tool, set the graph's underlying node
      app: add gimp_gegl_node_is_area_filter_operation()
      app: use longer iteration inteval (= bigger chunks) when applyng an op
      configure.ac: s/GOBJECT_INTROSPECTION_CHECK/GOBJECT_INTROSPECTION_REQUIRE/
      app: remove gimp_gegl_rectangle_align_to_tile_grid()
      app: in gimp_gegl_buffer_copy(), allow tiles outside the abyss to be COWed
      app: add gimp_gegl_buffer_dup()
      app: use gimp_gegl_buffer_dup() everywhere
      app: guarantee fully-COWed copies in more cases in paint code
      app: fix #include in gimpdrawable.c
      app: in GimpDrawable::set_buffer(), take bounds rect instead of offset only
      app: maintain drawable bounding box separately from its logical boundary
      app: implement GimpDrawable::get_bounding_box() for GimpLayer
      app: add support for projectables with an arbitrary bounding box
      app: calculate bounding box of group layers
      app: in gimp:compose-crop, fix x/y properties lower bound
      app: in gimp:mask-components, implement GeglOperation::get_bounding_box()
      app: in gimp:layer-mode, implement GeglOperation::get_bounding_box()
      app: in gimp:replace, implement GeglOperation::get_bounding_box()
      app: in gimp_gegl_apply_cached_operation(), copy cached result *before* rejigging graph
      app: add "clip" parameter to gimp_drawable_merge_filter()
      app: add gimp_drawable_filter_set_clip()
      app: in GimpFilterTool, add "clipping" option
      Issue #3723 - Symmetry Painting with random colour isn't symmetrical
      Issue #3718 - Large colorrc file causes lag when painting with a new color
      app: limit color-history palette size
      app: fix layer-mask offset when applying filter to layer without clipping
      app: add gimp_item_get_clip()
      app, pdb: use gimp_item_get_clip() everywhere
      pdb: fix image-mask transforms
      app: fix sample-point OOB check in gimp_image_resize[_with_layers]()
      app: add gimp_image_flip_full()
      app: add gimp_image_transform()
      app: add gimp_display_shell_show_image()
      app: use a pickable instead of a drawable in GimpCanvasTransformPreview
      app: indentation fixes in the transform tools
      app: add "Image" transform type to transform tools
      app: add gimp_transform_tool_set_type()
      app: use gimp_transform_tool_set_type() in tools-rotate-arbitrary action
      app, menus: add "Image -> Transform -> Arbitrary Rotation..." action
      app: differentiate tooltips of image/layer arbitrary-rotation actions
      Issue #3341 - Add Bevel doesn't work for high thickness values
      app: add gimp_gegl_buffer_set_extent()
      app: add gimp_tile_handler_validate_buffer_set_extent()
      app: update projection-buffer extent when projectable size changes
      app: in gimp_gegl_buffer_set_extent(), clear full OOB region
      app: in GimpProjection, avoid invalidating preview on flush while rendering
      app: notify GimpProjection::buffer when freeing the projection's buffer
      app: add "show all" mode to GimpImage
      app: add gimp_image_invalidate_all()
      app: in GimpImage, ignore "show all" when image used as pickable
      app: in preferences dialog, swap position of default-appearance columns
      app: in preferences dialog, add "show sample points" toggle
      app, menus: add "show all" mode to GimpDisplayShell; "View -> Show All" toggle
      app: add "clip" parameter to gimp_display_shell_untransform_viewport()
      app: improve display scroll/zoom-related behavior in "show all" mode
      app, menus: add "show canvas boundary" display option
      app: defer GimpViewable::size-changed signal emission while frozen
      app: add GimpImageViewable class
      app: handle GimpImageViewable in GimpViewRendererImage
      app: show full image contents in GimpNavigationEditor
      app: in GimpEditSelectionTool, freeze moved items' previews
      app: fix out-of-bounds rendering when alpha channel is invisible
      app: fix gimp_projection_get_pixel_at() for general bounding boxes
      app: add support for color picking in "show all" mode
      app: add gimp_canvas_item_untransform_viewport()
      app: add support for show-all mode in GimpCanvasGrid
      app: add support for show-all mode in GimpCanvasPassePartout
      app: fix transform-tool preview/bounds in show-all mode when transforming entire image
      app: fix a few compilation warnings
      app: various fixes in gimp_display_shell_set_show_all()
      app: make "show canvas boundary" insensitive when "show all" is disabled
      app: update image-projection priority rect when switching displays
      app: fix gimp_gegl_mask_bounds()
      app: in gimp_gegl_mask_bounds(), add support for arbitrary buffer extents
      app: in gimp_pickable_contiguous_region_by_seed(), add support for arbitrary buffer extents
      app: add "show all" support to the bucket-fill tool in "fill similar colors" mode
      app: add gimp_paint_core_{set_show_all,get_image_pickable}()
      app: add "show all" support to the Smudge tool
      app: add "show all" support to the Clone tool
      app: add "show all" support to the Perspective Clone tool
      app: fix empty mask when duplicating a group layer
      pdb: add gimp-image-merge-layer-group procedure
      Issue #3893 - Error message when exporting to to TIF if there is a layer mask on a group
      pdb: add $since info to gimp-image-merge-layer-group
      Issue #3876 - The tool options of some transform tools are vertically centered ...
      app: clear navigation editor when last image is closed
      app: fix CRITICAL in GimpNavigationEditor
      Issue #3781 - Display artifacts on HiDPI when render cache is invalidated
      plug-ins: fix optional common/ plug-ins in meson build
      tools: add mnemonic-clashes tool
      tools: add mnemonic-clashes to EXTRA_DIST
      plug-ins: fix wrong g_free() in jpeg-save
      app, meson.build: fix a bunch of warnings in C++ files
      Issue #3925 - Gimp from git master segfaults when showing preview of exported JPEG file
      app: add option to keep canvas padding in "show all" mode
      app: behave as if "show all" is disabled in scroll/zoom actions when keeping padding
      app: behave as if "show all" is disabled in edit/buffers/DnD actions when keeping padding
      app: behave as if "show all" is disabled in the navigation dockable when keeping padding
      app: behave as if "show all" is disabled in GimpCanvasGrid when keeping padding
      app: behave as if "show all" is disabled in GimpCanvasPassePartout when keeping padding
      app: in Rectangle/Ellipse tools, update selection when clicking inside existing one
      app: add gimp_display_shell_get_canvas_pickable()
      app: handle buffers with arbitrary origin in gimp_layer_new_from_gegl_buffer()
      app: add "show all" support to "Layer -> New from Visible"
      app: add missing NULL in call to gimp_directory_file()
      app: add "Swap compression" option to the preferences
      libgimpbase, libgimp, app: inherit swap-compression in plug-ins
      po: add gimpcompressioncombobox.c to POTFILES.in
      app: add offset support to shaped gradients
      libgimpconfig: relax precondition check in gimp_config_type_register()
      app: fix offset handling in spiral gradients
      app: update image bounding box when moving layer inside/outside of group
      app: avoid updating image bounding box multiple times when reordering layer
      app: add missing change to last commit
      Issue #3994 - Artifacts when committing half-cached filters
      app: add missing SET_SENSITIVE() for new filter actions
      app: add GimpPaintTool::paint_prepare() vfunc
      app: fix use of Clone tool with "sample merged" across images
      app: don't resize layer when applying filter if its position/size are locked
      Issue #2837 - Floating selection is clipped to base layer
      app: fix CRITICAL when translating selected content
      libgimp: fix segfault in gimp_procedure_config_load_default() with NULL error
      app: update drawable bounding box when floating-selection bounding box changes
      app: avoid dropping cached data when committing filters
      app: update drawable bounding box when detaching floating selection
      app: clip floating selection to layers with no alpha channel
      app: don't extend layers with no alpha channel when applying filters
      app: restore behavior of gimp_gegl_apply_operation() with NULL src_buffer
      app: streamline GimpHistogram; avoid spurious channel switch in histogram view
      app: fix gimp_hisotgram_n_components() for empty histograms
      app: avoid spurious channel switch in histogram editor when switching drawbles
      app, menus: add gegl:normal-map to Filters -> Generic
      app: add babl version info to $ gimp -v
      meson: use "debugoptimized" as the default build type
      configure.ac: add AC_MSG_RESULT() for color-profile directory check
      app: don't use the deprecated GTimeVal in gimp-test-session-utils.c
      meson: improve host cpu detection
      meson: fix last commit
      configure.ac: fix escaping of backslashes in compiler version string
      Issue #4172 - Gimp doesn't store negative values between sessions (Text Tool)
      app: add gimp_image_get_preview_format()
      app: rename gimpimageviewable.[ch] to gimpimageproxy.[ch]
      app: rename GimpImageViewable to GimpImageProxy
      app: in GimpImageProxy, implement GimpPickable
      app: in GimpLineArt, add support for arbitrary buffer extents
      app: in GimpLineArt, ref input pickable
      app: (re-)add GimpDisplayShell::show-all property
      app: add "show all" support to the Bucket Fill tool in line-art mode
      Issue #4205 - The histogram dock scale is incorrect when an image is opened
      app: in GimpHistogram, don't initialize n_bins to 256
      Issue #4218 - Color>Invert doesn't work on saved selection channel ...
      libgimpwidgets: fix percentage use in size-entry arithmetic when lower-bound != 0
      app: fix indentation in gimptoolsheargrid.c
      app: in GimpTransformGridTool, avoid unnecessarily flushing image when pushing undo
      app: in GimpTransformGridTool, compress successive undo steps
      app: reduce dialog size of Unified Transform tool and friends
      app, icons: add GimpPivotSelector widget
      app: add a pivot selector to the Rotate tool
      libgimpmath: add various GimpMatrix2 functions
      libgimpmath: add various GimpMatrix4 functions
      app: add gimp-transform-3d-utils.c
      app: in GimpToolTransformGrid, add NONE function
      app: add GimpTransformGridTool::dynamic-handle-size property
      app: add a protected gimp_tool_transform_grid_get_handle() function
      app, cursors: add GimpToolTransform3DGrid tool widget
      app, icons: add 3D Transform tool
      libgimpmath: add new matrix functions to .def file
      app: fix indentation in gimppivotselector.h
      Issue #4204 - "Add Bevel" Has No Effect
      pdb: in plug_in_compat.pdb, set underlying op nodes
      app: fix wrong fix to gimpbacktrace-windows.c
      icons: add pivot icons to meson
      menus: add the 3D Transform tool to the Tools menu
      app: fix integer overflow when reporting operation progress
      libgimpwidgets: control GimpSpinButton scroll increments using modifiers
      app: snap spin scale to page increments when holding Ctrl
      Issue #4354 - When using color to fade dynamics and gradient with transparency ...
      app: improve placement of new tools with existing toolrc
      app: in 3D Transform tool, fix rotation direction when rotating arouns local Z axis
      app: add unified interaction mode to the 3D Transform tool
      app: fix spacing in gimptooltransform3dgrid.c
      app: clip transform-tools preview according to clipping mode
      icons: fix PNG 3D-transform icons in makefile
      libgimpmath: add version annotations to new matrix functions
      app: allow calling gimp_tile_handler_validate_validate() with a NULL rect
      app: add GimpTileHandlerValidate::invalidated signal
      app: handle GimpTileHandlerValidate::invalidated in gimp:buffer-source-validate
      app: implement GimpPickable::flush in GimpGroupLayer
      app: calculate drawable bounding box according to graph by default
      app: add gimp_drawable_filter_set_add_alpha()
      app: add gimp_drawable_filter_set_override_constraints()
      libgimpmath: add gimp_matrix3_equal()
      app: freeze drawable preview in transform tools
      app: add "Composited preview" option to transform tools
      app: in GimpTileHandlerValidate, fix tile-data pointer for negative coords
      app: add "Synchronous preview" option to transform tools
      app: silence warning in gimp_transform_resize_crop()
      app: add GimpDrawable::supports_alpha() vfunc
      app: add gimp_gegl_node_get_key()
      app: in GimpFilterTool, consolidate drawable-filter option setup
      Issue #1975 - Color to alpha now requires an alpha-channel ...
      Issue #4366 - Color-to-alpha unnecessarily grayed out for grayscale images
      pdb: add missing change to last commit
      app: use gimp_gegl_node_get_key() in GimpFilterTool
      app: disable transform clipping for layer groups
      app: suspend tile validation while setting extent of validate-handler buffer
      app: add GimpImage::linked-items-changed signal
      app: add "Preview linked items" option to transform tools
      app: don't emit GimpImage::linked-items-changed for non-attached items
      app: always update full drawable region if it has filters
      app: restrict whole-drawable updates to groups with filters
      icons: replace symbolic gimp-visible icon (aka the eye icon)
      icons: replace gimp-visible symbolic icon again
      app: avoid deleting empty layer groups when downscaling image
      app: add GimpToolItem; derive GimpToolInfo from it
      app: add GimpToolGroup as a subclass of GimpToolItem
      app: update tool-group active tool in response to tool changes
      app: don't merge similarly-named objects during GimpContainer deserialization ...
      app: add support for tool groups in toolrc
      libgimpconfig: allow calling gimp_scanner_new_string (NULL, -1, ...)
      app: add hierarchical dnd support to GimpContainerTreeView
      app: add tool-group support to GimpToolEditor
      app: don't register action for GimpOperationTool
      app: add gimp_tool_info_get_action_name()
      app: add GimpToolButton
      app: use GimpToolButton in GimpToolPalette
      app: in GimpToolPalette, allow single-column layout
      app: reduce toolbox color-area size
      etc: add a default toolrc file, using tool groups to oragnize the tools
      app: various fixes to last commits
      app: move tool-activation upon tool-group active-tool change to GimpToolManager
      app: fix a super secret segfault
      app: use a weak pointer for tool-manager active group
      app: add GimpToolItem::shown property
      app: add gimp_container_search()
      app: add GimpTreeProxy
      app: add a "Use tool groups" option to the toolbox preferences
      app: fix GimpToolEditor visibility-toggle state update
      app: "You can drop dockable dialogs here" no more!
      app, po: don't translate gimppanedbox.c
      app: improve empty-selection check in GimpSelectionTool
      app: reorganize GimpPolygonSelectTool functions
      Issue #4285 - [Free Select Tool] functionality bug with Ctrl/Shift combination
      app: add support for offset buffers in gimp_channel_select_buffer() ...
      app: add support for offset buffers in GimpScanConvert
      app: in GimpCanvasBufferPreview, add support for offset buffers
      app: in GimpCanvasBufferPreview, take strong ref on buffer
      Issue #4174 - Crash when using the Foreground Select tool with an offset drawable
      app: increase GimpDrawTool update rate
      app: don't reject toolrc files due to missing experimental tools
      app: add missing file to last commit
      app: set the default 3D Transform tool mode to rotation
      app: add "Snap brush outline to stroke" option to the preferences
      app: initialize GimpPaintTool::snap_brush field
      app: respect brush-outline preferences in the Warp tool
      app: in polynomial_odd_roots(), fix derivative array size
      app: add gimp_container_remove_handlers_by_{func,data}()
      Issue #4584 - Segfault when closing an image with a layer group ...
      app: improve brush outline position when not snapping to stroke
      app: improve ABR brush loading speed
      app: in abr_rle_decode(), avoid freeing NULL scratch buffers
      Issue #4605 - Invalid abr brush crashes GIMP
      app: fix brush-transform resampling
      app: add gimp_brush_transform_get_scale()
      app: use mipmaps when downscaling raster brushes
      app: reorganize #includes in gimpbrush-{mipmap,transform}.cc
      app: fix gimp_brush_mipmap_get_memsize()
      app: increase the maximal airbrush stamp FPS
      app: fix brush outline position when snapping to stroke
      libgimpmath: fix unsorted line in gimpmath.def
      data: in Makefile.am, make sure to uninstall gimp-release
      devel-docs: add missing functions to libgimpfoo-sections.txt
      plug-ins: in screenshot, keep image dirty; keep history clean
      plug-ins: in file-sgi, convert tabs to spaces
      Issue #4627 - memory corruption when open crafted sgi
      plug-ins: improve PSD loading speed
      Makefile.am, meson.build: require GEGL >= 0.4.23
      app: in gimp:replace, add fast path when compositing a layer over itself
      app: avoid use-after-free when loading an XCF with corrupted layers
      app: fix incorrect drawable format after applying a filter that resizes the drawable
      app: in paint tools, fix cursor position in line mode when snapping to angle
      app: fix compositing of layers with masks, outside the mask bounds
      app: fix layer effective mode for different mask modes
      app: fix layer bounding box for different mask modes
      app: fix layer group effective mode for different mask modes
      Issue #4634 - Pass-through groups bounding-box is not properly updated ...
      app: suspend layer-group size updates while loading XCF
      app: draw border around FG/BG-editor color areas
      app: in the Preferences dialog, allow horizontal scrollbars in all tree-views
      plug-ins: in file-psd, use scratch allocator for temporary CMYK buffers; cleanup
      app: add Finnish translation to the Windows installer
      plug-ins: in file-psd, make offset/size fields unsigned
      Issue #4663 - "Error loading PSD file: No error" while trying to open a PSD
      Issue #4734 - GIMP crashed while using Unified Transformation Tool
      libgimp: fix range of "opacity" parameter in brush-select callback
      icons: in Symbolic theme, fix gimp-curve-point-{corner,smooth} icons
      icons: in Symbolic theme, fix media-record and gimp-marker icons
      icons: in Symbolic theme, fix gimp-curve-point-{corner,smooth} PNGs
      tools: in performance-log-viewer.py, handle markers with > INT_MAX timestamps
      configure.ac, meson: require glib >= 2.56.2
      configure.ac: fix last commit
      app: rename GimpParallelRunAsyncFunc to GimpRunAsyncFunc
      app: add gimp_idle_run_async[_full]()
      Issue #4793 - Layer-group preview-update blocks UI when adding/removing layers
      app: avoid duplication in gimp_drawable_get_sub_preview_async()
      app: white-space fix in gimp-utils.c
      app: allow waiting on idle asyncs
      app: add "chunked" parameter to gimp_tile_handler_validate_validate()
      app: speed up layer-group preview rendering
      app: render layer-group preview in chunks
      Issue #4827 - Modified settings requiring a restart aren't saved
      app: apply spin-scale gamma to input, not output
      app, menus: add gegl:bloom to Filters -> Light and Shadow
      Issue #4858 - Duplicated image shows NULL in warning when closing it
      app: in GimpToolButton, select active tool in menu
      Issue #4846 - Symmetry origin is wrong when painting on offset drawable
      app: add gimp_applicator_set_active()
      app: rename gimp_drawable_filter_set_preview() to _set_preview_split()
      app: add gimp_drawable_filter_set_preview()
      app: don't detroy cached data when disabling filter-tool preview
      app: add missing changes to last commits
      Issue #4895 - Crash when dragging a dockable dialog
      app: add gimp_drawable_filter_get_{drawable,operation,format}()
      app: use gimp_drawable_filter_get_format() in GimpFilterTool
      app: use gimp_drawable_supports_alpha() in GimpDrawableFilter
      app: add gimp_gegl_node_has_key()
      app: add GimpOperationSettings
      app: in GimpFilterTool, store common settings in GimpOperationSettings
      app: apply common operation settings when reapplying a filter
      app: add "Fade" options to filter tools
      app: in filter tools, remember state of the fade and color-options expanders
      app: add gimpoperationsettings.c to meson.build
      libgimpconfig: add GIMP_CONFIG_PARAM_DONT_COMPARE flag
      libgimpconfig: in gimp_config_type_register(), don't override GimpConfig::equal()
      app: exclude GimpSettings::time property from comparison
      app: fix last commits
      app: rename "Fade" section of GimpFilterTool to "Blending Options"
      plug-ins: add support for exporting 16-bit PSDs
      app: apply "trc" setting when repeating curves and levels
      app: when copying GimpCurve, don't overwrite points from samples
      app: reset common settings when resetting Curves tool
      app: maintain common settings when editing Brightness-Contrast/Levels as Levels/Curves
      Issue #4967 - Crash when cancelling filters with aux inputs
      Issue #4968 - Newly opened image not visible in image window ...
      app: make sure to update the display-shell title/statusbar when closing image
      libgimpwidgets: fix logarithmic transform in gimp_scale_entry
      plug-ins: in file-psd, fix u8 channel format
      plug-ins: in file-psd, remove unused member of DisplayInfoNew
      plug-ins: in file-psd, fix indentation in psd-save.c
      Issue #189 - Store channel colors when saving as PSD
      plug-ins: in file-psd, use normal channel order
      app: unlink transform directions on tool halt; make chain button insensitive
      app: add GimpTransformGridTool::apply_info() vfunc
      app: in Unified Transform tool, avoid moving pivot when locked
      Issue #4996 - Wrong propagate_mode parameter handling in plug-in-vpropagate
      Issue #4992 - Modifiers change Free Select tool mode while active
      app: remove ANTI_ERASE from filter mode set
      app: allow arbitrary aux inputs in GimpOperationTool
      app: pause/resume active tool when rotating canvas
      app: in GimpDrawTool, update widget on tool resume
      app: add GimpCanvasLimit canvas item
      app: add gimp_display_shell_constrain_angle()
      app: add gimp_tool_widget_add_group()
      app: add GimpToolFocus tool widget
      app: add FOCUS prop-gui controller
      app: add FOCUS controller to gegl:vignette
      app, menus: add gegl:variable-blur to Filters -> Blur
      app: add gegl:focus-blur to Filters -> Blur
      app: fix signature of gimp_canvas_limit_new()
      app: various fixes in GimpToolFocus
      app: another fix in GimpToolFocus
      app: update display-enums.c
      app: fix CRITICAL when using "show all" by default
      app: in GimpPanedBox, don't accept drag contexts with unsupported targets
      app: don't leak text-tool UI manager
      app: fix alignment of generic pixel buffers
      app: zero-out transparent pixels when converting to indexed
      app: update core-enums.c
      app: implement GimpColorManaged for GimpImageProxy
      app: fix compiler warnings in GimpToolWidget
      app: update tool widgets on display-shell changes more granularly
      app: fix precondition return values in gimp_tool_widget_get_popup()
      app: forward tool get_popup() to widget get_popup() in GimpDrawTool
      app: don't leak UI manager in GimpToolPath
      app: add GimpAccelLabel
      app: list all tool-group tools in tool-button tooltip
      app: in gimp_prop_eval_string(), don't leak result upon trailing tokens
      app: fix parsing of GUM cross-property references
      app: in gimp_accel_label_set_action(), emit notify
      app: add gimp_gtk_adjustment_chain()
      app: add gimp_prop_range_new()
      app: allow setting handle-bar limits explicitly
      app: add gimp_prop_range_set_ui_limits()
      app: use special prop-gui widget for luminance ranges
      app, menus: add gegl:lens-blur to Filters -> Blur
      app: improve gegl:focus-blur prop-gui constructor
      app: in _gimp_prop_gui_new_generic(), use "range-label" pspec key as range label
      app: fix prop-gui static range visibility
      app: misc cleanup in prop-gui range creation
      Issue #4210 - GIMP reports errors on scanning ...
      plug-ins: fix last twain-plug-in commit
      po: add vector-toolpath-actions.c to POTFILES.in
      Issue #4941 - TWAIN 16-bit greyscale/rgb scan always loaded as 8-bit
      plug-ins: fix last commit
      plug-ins: another fix to last commit
      plug-ins: in twain, unify 8- and 16-bit data transfer
      po-windows-installer: fix unsupported chars in Japanese translation
      build: add Japanese translation to the Windows installer
      libgimpbase: avoid double definition of exported variables on Windows
      app: update custom guides when moved past display bounds
      app: use absolute offset for filter-tool split-preview guide position
      app: fix switching filter-tool split-preview orientation
      app: fix reference parsing in boolean GUM expressions
      app: fix error propagation in boolean GUM grouping subexpressions
      Issue #5208 - paint brush is broken when aspect ratio is set to negative
      data: clean up "Acrylic 05" brush
      Issue #5219 - Color>Info>Export histogram counts pixels twice
      themes: remove entry/spin-button min-height
      app, themes: use compact style for GimpSpinScale
      app, themes: improve GimpSpinScale styling
      themes: improve GimpColor{Notebook,Scales} spin-button style
      app, themes: fix display-shell statusbar height
      Issue #5275 - TIFF files with signed-int samples are misinterpreted as unsigned
      plug-ins: fix last commit for PLANARCONFIG == SEPARATE
      Issue #5274 - Exporting as TIFF fails for layers with a negative offset
      libgimp: add GIMP_EXPORT_NEEDS_CROP export capability
      plug-ins: add option to crop layers to image bounds when exporting TIFF
      libgimpwidgets: handle Enter/Esc keys in GimpSpinButton
      Issue #4536 - Seg fault when trying to open image on Google Drive (Gnome 3.34.3)
      Issue #5472 - CRITICAL while using Move tool with arrow keys
      app: in GimpBacktrace Windows backend, return NULL backtrace if not initialized
      app: allow controlling performance-log parameters through the UI
      app: add progressive performance logs
      tools: add performance-log-close-tags.py, use in performance-log-viewer
      tools: add performance-log-progressive-coalesce.py; use in performance-log-viewer
      app: in GimpDashboard, fix progressive-performance-log env-var
      app: improve layout of performance-log file-selection dialog parameters
      devel-docs: update documentation of performance-log parameters
      devel-docs: fix image URL in performance-logs documentation
      devel-docs: remove old performance-logs-parameters section
      devel-docs: use actual em-dashes in performance-logs documentation
      app: return visible widgets from a few more gimp_prop() functions
      app: add gimp_log_{set,remove}_handler()
      app: allow recording GLIB log messages in performance logs
      devel-docs: document new "Messages" performance-log parameter
      app: during splash-screen lookup, don't leak GFileEnumerator
      libgimp: link libgimpui against GEGL

Elle Stone (6):
      Issue #2345 - Add xyY to color sample readouts
      Desaturate to Luminance using AnyRGB
      app: make luminance blend mode depend on space
      Make luma_lighten/darken_only blend modes work in AnyRGB
      Allow full range to Hue-Saturation Lightness slider
      Issue #3588 - Add Yu'v' (CIE 1976 UCS) to GIMP color picker

Emin Tufan Çetin (2):
      Update Turkish translation
      Update Turkish translation

Federico Mena Quintero (2):
      Issue #2561: Fix computation of SVG image sizes
      file-svg: Use rsvg_handle_new_from_gfile_sync() instead of GIOChannel

Felix Yan (1):
      Correct typos in layers-commands.c

Félix Piédallu (22):
      Fix Python files: * Prefer python2 to python that may point on python3 on modern installs. * Fix 
indent/spaces consistency.
      (source modifs) Fix: Rename macros as it conflicts with Mingw headers. * DATADIR -> GIMPDATADIR * 
SYSCONFDIR -> GIMPSYSCONFDIR * DATADIR -> SYSDATADIR (tools/)
      refactoring of the gitlab-ci.yml
      plug-ins: do not #include c autogenerated sources
      [devel-docs] move version file to deduplicate code
      [libgimp,app] add missing includes for windows
      Fix INSTALL.in
      Add meson to gitignore
      Update gitlab-ci
      Meson port.
      Print warnings at the end of configuration
      Add meson_install_subdir script
      disabling Twain plug-in until it's fixed
      Fix Meson some changes not pulled from Autotools
      Fix gitlab-ci : Archlinux fixed the bug upstream.
      Use variables for minvers, partly fixes #4132.
      Add script to install files in the dist tarball. Add a check inside Meson to detect if we're building 
from a git clone or a dist tarball. (in thie later, don't generated INSTALL.in and git-version.h)
      Fix GIMP_UNSTABLE macro. Fixes #5261.
      Try to reenable Print plugin on Windows. Let's see if the CI passes.
      Fix python version check (python's sysconfig.get_python_version() returns only major.minor)
      Fix pygimp.interp generation, add /usr/bin/python3 alias
      Re-enable Twain plugin on Windows for Meson build

Gil Eliyahu (1):
      Issue #1458 - Small border on side of single-window screenshot on...

Gábor Kelemen (2):
      Update Hungarian translation
      Update Hungarian translation

Hannie Dumoleyn (11):
      Update Dutch translation
      Update Dutch translation
      Update Dutch translation
      Update Dutch translation
      Update Dutch translation
      Update Dutch translation
      Update Dutch translation
      Update Dutch translation
      Update Dutch translation
      Update Dutch translation
      Update Dutch translation

Harald H (1):
      Added OARS

Ihor Dvoretskyi (1):
      GIMP registry is deprecated

Jacob Boerema (35):
      plug-ins: fix #5357 Image marked as compressed, but DDSD_LINEARSIZE is not set.
      plug-ins: fix goat-exercise-lua not working after the split between Gimp and GimpUi.
      plug-ins: enable screenshot for non x11 targets in meson build.
      plug-ins: fix reading of creator block data of PSP images. Since string data in PSP images is not zero 
terminated reading creator block data always failed.
      plug-ins: fix incorrect loading of PSP images with uncompressed channel data.
      plug-ins: improve psp image reader stability by always using the block/chunk length.
      plug-ins: fix wrong layer offset of psp layers.
      plug-ins: fix reading layer names with high bit ASCII characters in psp files.
      build: (meson) fix CC_VERSION contains backslashes on Windows.
      plug-ins: Take zero length layer names into account in psp reader.
      plug-ins: refactor reading of raster layer extension info for psp images.
      plug-ins: enable reading of psp images with file versions > 6.
      plug-ins: add support for reading raster layers of newer psp versions.
      plug-ins: fix reading of psp tubes when psp file version >= 4.
      plug-ins: add most likely blend modes for certain psp blend modes.
      plug-ins: replace a few occurrences of g_message with g_set_error in psp reader.
      plug-ins: add defines for psp reader to include  new things up to psp file version 8.
      plug-ins: show descriptive layer type name for psp layers we can't convert.
      plug-ins: add support for 16 bit integer images in psp reader.
      plug-ins: add support for grayscale images in psp reader.
      plug-ins: add support for indexed images in psp reader.
      plug-ins: fix #3854 by porting twain to the new plugin framework.
      plug-ins: silence some warnings in twain plug-in.
      libgimpconfig: fix conversion of negative int values in gimp_scanner_parse_float()
      fix: themes_theme_change_notify: error parsing theme.css on Windows.
      Issue #5735: incorrect condition because of missing parenthesis.
      libgimpbase: fix #2253 saving metadata failed if Pentax PreviewOffset present in exif tags.
      plug-ins: Let the user know if we fail to save image metadata in file-jpeg.
      libgimp: only save metadata after all settings have been updated.
      plug-ins: file-tiff-save looks for the wrong exif tags to delete.
      libgimpbase: fix copy-paste error in documentation comments.
      plug-ins: fix #3757 Exporting invalid tiffs: Missing required "ImageLength" field.
      plug-ins: don't try to read tiff pages with an invalid directory.
      libgimp, libgimpbase: don't use a fixed GIMP 2.10 version number in exif metadata.
      plug-ins: use g_message instead of g_printerr when there is data loss.

Jan Tojnar (2):
      meson: Warn when git is missing in non-dist builds
      meson: relocatable-bundle should not be a feature

Jehan (1172):
      Use GTK+3 gtk_get_locale_direction() function instead of current hack.
      Bug 762279 - "Tip of the day" links opens two links.
      app: allow to select if we prefer a dark variant of the current theme.
      themes: remove Dark, Gray and Light themes.
      app: the "Default" theme had been removed to "System" a long time ago.
      data: remove obsolete brushes.
      themes: uncomment one more deprecated CSS rule.
      app: remove #undef GDK_DISABLE_DEPRECATED
      Revert "Bug 794356 - Rulers always shown for subsequent image views"
      Revert "Bug 784480 - Clicking on-canvas GUI with a tablet stylus crashes..."
      Revert "Bug 794356 - Rulers always shown for subsequent image views"
      Revert "splash: Add 2.10 splash image + svg"
      app: allow setting parent for dialogs created by GimpDialogFactory.
      app: do not run gtk_window_present() in about_dialog_create().
      plug-ins: install plug-ins in subfolder.
      plug-ins: make plug-ins inside common/ to also install in subfolders.
      app: plug-ins must now be installed as subdirectories.
      app: GTK+3 has more GdkAxisUse values.
      app: extended device concept does not seem to exist in GTK+3.
      plug-ins: fix Windows distribution.
      app: gtk_icon_info_free() deprecated since GTK+3.8.
      devel-docs: update devel-docs on how to start GtkInspector.
      configure, desktop: update the bug report URL.
      devel-docs: howto test high density.
      Issue #1509 - GIMP master Git zoom in/out scrolling is reversed.
      Issue #1211: Load fonts in background after startup.
      app: output proper info message while fonts are loading.
      build: update GNOME's git repository URI.
      Update various places with old git repository URIs.
      tools: clean tabs out of gimptool code.
      tools: do not segfault gimptool with source without extension.
      tools: make gimptool memory-managed.
      build: update the flatpak howto.
      build: remove dev flatpak and replace nightly with gtk3 manifest.
      app: fix broken debug output on gitlab.
      gitlab: Adding issue templates.
      themes: prefer symbolic icons when available.
      icons: make "Symbolic" icons seen as such by GTK+ and remove...
      build: the dev flatpak has been removed now.
      app: fix gimp_widget_load_icon() to work with symbolic icons too.
      .gitlab: add package information.
      icons: fix symbolic icons.
      plug-ins: renaming Win32 implementation files to follow namespacing.
      authors: adding Simon Müller who did some nice patches on the Win32...
      configure: remove Symbolic-Inverted's Makefile from configure!
      icons: fixing more icons.
      libgimpwidgets: making GimpCellRenderer symbolic and DPI aware.
      icons: example item for the Symbolic theme is "gimp-wilber-symbolic".
      app: fixing example icons in Preferences.
      icons: fix EXTRA_DIST.
      libgimpwidgets: fix default icon.
      icons: some more rectangle cleanup!
      app: fix application icon compositing with the canvas on display scale.
      app: remove icon sizing preferences.
      configure: fix "webkit_required_version".
      build: do not depend on base module for flatpak.
      .gitlab: make double space for separate lines.
      app: properly "auto straighten" in measure tool.
      app: measure tool's "auto straighten" with progress and link-aware.
      app: do not stop the measurement when straightening.
      build: remove flathub's submodule and update flatpak howto.
      INSTALL: libheif must also be built with libx265.
      build: syncing recent changes from stable flatpak manifest.
      icons: clean the symbolic vector file.
      build: improve and simplify flatpak building script.
      Issue #1612: Symmetry Painting dock needs a design tweak.
      plug-ins: fix individual install targets of common plug-ins.
      plug-ins: add busy-dialog plug-in in plugin-defs.pl.
      desktop: start a <release> tag for 2.10.4.
      tools: gimptool should check gimp*-3.0 pkg-config file.
      configure, tools: actually use GIMP_PKGCONFIG_VERSION and...
      Issue #248: Python console doesn't support input()/raw_input().
      app: actually resolve the interpreter through extension as last resort.
      app: gimp_interpreter_db_add_extension() should check $PATH if needed.
      m4macros, plug-ins: run more accurately the "python2" interpreter.
      plug-ins: recognize "python2" env to launch the python interpreter.
      app: also search interpreters executable in $PATH.
      plug-ins: clearer plug-in-screenshot parameter description.
      icons: make gimp-tool-ellipse-select symmetric.
      icons: fix various icons broken when recoloring with CSS.
      icons: fixing more icons.
      icons: larger spacing between broken chains.
      icons: fix various symbolic icons not properly recolored.
      icons: force colors on some icons.
      icons: fix many icons for proper recoloring.
      icons: update various icons to account for librsvg bugs.
      Issue #1708: g_free() called instead of gdk_device_free_history().
      tools: post-process SVG objects with "color-important" label.
      icons: complete color-scalable SVG.
      icons: work around dimension bug of librsvg for a bunch of color icons.
      Issue #1689: create unique temporary file with g_file_open_tmp().
      Issue #1608: Gimp 2.10.0 and 2.10.2 crash immediately on start.
      app: load "gimp-wilber-eek" as fallback when an icon fails to load.
      app: add a doc-comment to gimp_widget_load_icon().
      app: even for fallback icons, it is better to check lookup success.
      app: gimp_widget_load_icon() should actually always return a result.
      Revert "Issue #1608: Gimp 2.10.0 and 2.10.2 crash immediately on start."
      app: remove check since gimp_widget_load_icon() now always non-NULL.
      Issue #1712: Add translator comment for string "Export Exif...
      libgimpwidgets: do not free the GtkAdjustment when finalizing...
      libgimpbase: fix declaration after statement and reset safecheck...
      app: reorganize a bit gimp_widget_load_icon().
      app: add an assertion test on result of gimp_widget_load_icon().
      app: replace Carbon/Carbon.h by CoreGraphics/CoreGraphics.h.
      desktop: tentative release for 2.10.4 on 2018-07-07.
      .gitlab: adding a MR template.
      configure: replace --enable-bundled-mypaint-brushes with...
      plug-ins: lookup WMF fonts on same prefix when relocatable bundle.
      devel-docs: update macOS support to OSX 10.12 on master.
      build: build flatpak with new --with-icc-directory option.
      Issue #1723: gih file that crashes gimp-2.10.
      libgimpbase: add gimp_pixpipe_params_free().
      libgimpbase: forgot to add gimp_pixpipe_params_free() in gimpbase.def.
      Issue #1731: gbr file that crashes gimp-2.10.
      build: remove obsolete patch.
      Issue #1740: Move tool has two identical options for selection mode.
      INSTALL: add --enable-relocatable-bundle in options list.
      INSTALL: WEBKIT_REQUIRED_VERSION renamed to WEBKITGTK_REQUIRED_VERSION.
      README: update for 2.99 dev version.
      libgimpconfig: new API gimp_config_build_system_path().
      app: add base classes for the extension manager.
      app: extensions can now bundle various data.
      app: adding extension requirement support.
      app: fix parent check for extension files.
      app: extensions can now contain plug-ins.
      libgimpconfig: forgot to update gimpconfig.def AGAIN!
      desktop: 2.10.4 release is today, earlier than planned!
      build: sync nightly flatpak with recent changes on stable one.
      app: use GIMP_VERSION for version comparison.
      app: add some GimpExtension and GimpExtensionManager API.
      app: a skeleton for the extension GUI.
      app: new GimpExtensionList widget.
      app: new GimpExtensionDetails widget.
      icons: fix symbolic icon gtk-select-color.
      icons: toilet paper should always be white!
      po: adding app/dialogs/extensions-dialog.c in POTFILES.in.
      build: add Wayland socket and bump LibRaw.
      libgimpconfig: update some description comments.
      app: serialize and deserialize extensionrc from GimpExtensionManager.
      app: functions to manage running extensions.
      app: set overrided system extensions as unsensitive.
      app: add "running" property to extension.
      app: connect the switch to start/stop the extension.
      INSTALL: add some recommended dependencies to GEGL.
      Issue #788: also install all python plug-ins in their own directory.
      app: do not show close button to extensions dialog.
      build: move fribidi as a module of pango in flatpak manifest.
      Issue #1160: file dialog view filter getting confused with file...
      app: force the extra widget to take as much place as possible.
      Issue #1160: file dialog view filter getting confused with file...
      app: show relevant files only by default.
      icons, app, libgimpwidgets: use Freedesktop standard icons.
      icons: update icons for new top-to-bottom text feature.
      po: fix validation of Desktop file because of Marathi keywords.
      app: add "cairo-ARGB32" to "R'G'B'A u8" in gimp_babl_init_fishes().
      configure: making xgettext recommended version a requirement.
      INSTALL: update gettext requirement.
      app: minor coding-style cleanup.
      app, libgimpbase: update vertical text labels.
      Issue #1974: Memory leak in gimpimage.c.
      Issue #1974: Memory leak in gimpimage.c.
      Issue #1974: another memory leak when saving a file.
      Issue #1974: and again another memory leak.
      desktop: preparing release for GIMP 2.10.6.
      libgimpwidgets, app: change "stock-size" property of...
      app: removing gimp_get_icon_size() now unused.
      app: fix small leak.
      app: work with GIO in splash code.
      app: extensions can now install splashes.
      app: extensions can now install themes.
      app: display extension long description in the details widget.
      app: small code cleaning.
      Issue #1999: Opening the Preferences dialogue triggers Xcode warning.
      tools: fix linking error.
      libgimpthumb: another missing link to libgimpbase.
      configure: GLIB_COMPILE_RESOURCES is wrong when cross-compiling.
      plug-ins: replace s/printf/g_printf/
      app, configure: add a --enable-win32-debug-console build option.
      INSTALL, configure: replace Jasper with OpenJPEG.
      Issue #1809: update DLL directory for 32-bit plug-in run from 64-bit...
      app: open the Windows console a bit earlier.
      app: reorder function definitions/declarations.
      app: allow GUI config property for icon style preference.
      icons: generate PNG symbolic icons with `gtk-encode-symbolic-svg`.
      po-python: skip copied Python files from POTFILES.
      plug-ins: include the right python source in the distribution.
      icons: fix build with vector icons (default).
      desktop: GIMP 2.10.6 is now planned to be released on 2018-08-19.
      app: fix "Bad interpreter" error messaging.
      Issue #1970: Python-fu missing in 2.10.4.
      configure: more explicit error message for gtk-encode-symbolic-svg.
      INSTALL: add appstream-glib in the dependency list.
      configure: reorder the dependency version list.
      devel-docs: document new debugging option --enable-win32-debug-console.
      tools: invert-svg build tool no longer necessary.
      desktop: add missing filter in <release> notes.
      INSTALL: also add gexiv2 dependency in requirement table.
      app: GimpBacktrace Windows backend only available with Dr. Mingw.
      app: conditionnally free new profile in gimp_image_convert_precision().
      libgimpwidgets: do not assume a GimpFrame has a child.
      app: add a reason string for internal zlib compression in GIMP 2.10.
      Issue #2055: make save dialog compatibility information understandable.
      build: assume yes to questions when updating flatpak runtimes.
      Issue #2209: HEIF: Invalid input: No 'ftyp' box.
      build: update the flatpak cron file.
      devel-docs: add the package maintainers in the release-howto.
      Issue #2209: more accurate magic for HEIF files.
      plug-ins: add the "msf1" brand for HEIF files.
      configure: check presence of "gegl:matting-levin" with `gegl --exists`.
      app: don't sanity check for "gegl:matting-levin".
      icons: fix icons!
      libgimpmath: fix typo in various places: s/orthognal/orthogonal/.
      desktop: prepare release of GIMP 2.10.8.
      build: bump some dependencies in nightly flatpak.
      plug-ins: add more generated files in .gitignore.
      INSTALL: update mypaint-brushes repository (finally upstream!).
      libgimpbase: just remove a small typo in a doc comment.
      build: sync the nightly flatpak manifest with the stable one.
      Issue #2160: Exporting to PCX results in a warped file.
      desktop: update release date.
      Issue #2431: After coloring a selection and exporting to PDF, file...
      app, libgimpbase: add GIMP_SELECT_CRITERION_LINE_ART selection type.
      app: implement second step for line art selection/filling.
      app: babl types returned by choose_format() must be float!
      app: use GeglBufferIterator rather than gegl_buffer_sample|set().
      app: use more GeglBufferIterator.
      app: fix stroke labels in gimp_lineart_estimate_stroke_width().
      app: make visited into single-level allocated array.
      app: use simpler allocated variables.
      app: use char array for temporary data (rather than a GEGL buffer).
      app: with recent gegl:watershed-transform, no need for intermediate...
      app: create a simple priority map for line art selection flooding.
      app: directly update the mask buffer with gegl_node_blit_buffer().
      app: better use GeglBufferIterator!
      app: fix line art labellization.
      devel-docs: small update for GEGL buffer leak debugging.
      app: compute line art in advance.
      app: make line art pre-computation in threads.
      app: bucket fill tool with a "paint-style" interaction.
      app: edit the bucket fill tool options with new line art options.
      app: recompute line art if needed after a bucket fill commit.
      Issue #2501: Confusing wording in "Export Image as PDF" dialog.
      app: fix uninitialized variables.
      app: force the image flush after a selection fill.
      app: improve end point detection for smart colorization.
      app: remove now useless erosion size option.
      app: better handle drawable and image update for line art computation.
      app: end point detection uses both the end point rate and clamped value.
      app: priority map now unneeded for gegl:watershed-transform.
      app: fix a line art leak in bucket fill tool.
      app: replace gegl:watershed-transform with custom algorithm.
      app: properly (bucket) fill created splines and segments in line art.
      app: make sure we reset tool modifier state before saving options.
      app: add "line-art-max-grow" property to the bucket fill options.
      app: gdk_test_simulate_key() Win32 replacement code unneeded on master.
      plug-ins: remove now useless code under GTK_CHECK_VERSION(3, 0, 0).
      app: simpler code with gegl_node_blit().
      app: add possibility to antialias line art colorization.
      app: do no overwite XCF when an error occurred at saving time.
      app, libgimpconfig: make various usage of g_file_replace() safer.
      plug-ins: make various usage of g_file_replace() safer.
      app: radius map actually not useful during smart colorization grow step.
      app: flood isolated pixels in smart colorization fill.
      app: make GimpBucketFillTool a GimpColorTool.
      app: some code cleaning in gimplineart.
      app: add the segment and spline max length options for line art.
      Issue #2495: many tablets broken by GIMP 2.10.8.
      app: reorganize the line art code inside a GimpLineArt object.
      app: allow switching fill type with Alt even when Pattern fill selected.
      devel-docs: 0 at end of layer and channel pointer list is a pointer too.
      Issue #2495: different code for Windows and Linux on duplicate devices.
      app: do not make line art bucket fill a GimpSelectCriterion anymore.
      Issue #2664: add a tooltip to "better compression" checkbox.
      app: allow setting line art spline and segment length to 0.
      app: show the layer mode dropdown list properly.
      app: fix type warning.
      build: sync recent flatpak's stable manifest to the nightly one.
      app: rename and merge the spline and segment length properties...
      plug-ins: make file-dds compile.
      plug-ins: make the file-dds plug-in load correctly.
      plug-ins: fix a few more warnings.
      plug-ins: s/Save as DDS/Export as DDS/
      plug-ins: get rid of "Show this dialog" checkbox in file-dds.
      plug-ins: "Export as DDS" is translatable.
      po-python: add the new file-dds plug-in to POTFILES.skip.
      plug-ins: a lot of coding style cleanup in file-dds.
      Issue #2611: Cannot open certain .pdf files in GIMP.
      authors.xml: my name was in duplicate.
      app: allow picking layer in paint tools on alt-click.
      app: alt-click to pick a layer will loop through candidate layers.
      app: make layer picking a generic modifier of the shell.
      app: expect event == NULL in gimp_device_info_get_event_coords().
      build: add "org.freedesktop.FileManager1" bus access to flatpak.
      app: push a temporary status when picking layer with alt-midclick.
      desktop: prepare GIMP 2.10.10 appdata.
      app: add link to Smart Colorization scientific paper.
      Issue #2786: a few string issues.
      Issue #2785: Fill by line art detection produces Segmentation fault...
      app: add the concept of line art source to Bucket Fill tool.
      app: improved fix to commit 036ccc70cf.
      app: fix a crash in bucket fill tool.
      app: brute force the session memorized size when showing a window.
      Issue #2828: Scrolling up with a mouse within a drop-down list.
      Issue #2828: Scrolling up with a mouse within a drop-down list.
      app: allow more motion events with line art bucket fill.
      desktop: add <url> tags to <release>.
      desktop: reenable validity tests for appdata file.
      desktop: check that no remaining TODOs are in appdata file.
      plug-ins: clean the new Spyrogimp, rename it and remove old version...
      desktop: add rewrite of the Spyrogimp in appdata <release> tag.
      Issue #2848: some sentences have no translation.
      libgimpbase: display thread id of the calling thread as hexadecimal...
      app: new gimp_spin_scale_set_constrain_drag() and use it on paint...
      plug-ins: optionally define several float.h macros for MinGW64.
      app: apply constraining to opacity scales as well.
      libgimpbase: add gimp_installation_directory_file().
      app, libgimpbase: --enable-relocatable-bundle replaces --enable-binreloc
      libgimpbase: style cleanup of gimpreloc.c
      configure.ac: remove old outdated code.
      Issue #2920: Dilate and Erode filters' tooltips are untranslatable.
      app: improve line art bucket fill by filling unsignificant areas.
      po: fix the context (msgctx) for 2 strings.
      Issue #2922: Some sentences appear untranslated.
      Issue #2922: Some sentences appear untranslated.
      Issue #2922: fix msgctxt s/view-action/view-zoom-action/ for 5 strings.
      app: error messages should happen on button press, not initialization.
      app: proper signedness for return value of gimp_edgel_region_area().
      app: clarify function to validate line art closure.
      app: s/plug-In/plug-in in a GUI-visible string.
      app: pack color picker and hexadecimal entry on same line in Color dock.
      app: make GimpFgBgEditor a width-for-height widget.
      app: allow GimpColorHistory widgets to be on 1 or 2 rows.
      app: GimpFgBgEditor displays the out-of-gamut color for indexed images.
      app: out-of-gamut for grayscale images too in GimpFgBgEditor.
      app: fix a "Floating point exception" crash.
      Issue #2961: minor coding style fix.
      app: gimp_edgel_region_area() may return < 0 for non-closed zones.
      app: some small improvements in line art code.
      app: reimplement gimp_widget_flush_expose().
      devel-docs: clarify PROP_ITEM_PATH property.
      desktop: update a bit the 2.10.10 appdata.
      app: add a GimpBusyBox near the "Line Art Detection" label in…
      app: avoid useless line art closure recomputation.
      app: fixing the line art GimpBusyBox visibility.
      app: improve line art filling when clicking on a line art closure.
      app, libgimpwidgets: new gimp_color_area_set_out_of_gamut().
      libgimpwidgets: add gimp_color_area_set_out_of_gamut() in def file.
      app: update the GimpFgBgEditor when image colormap is updated.
      app: save the accurate color in the colormap palette when possible.
      app: direct on-canvas color preview when editing a colormap color.
      Issue #3041: Color Picker no longer selects Colormap entry.
      Issue #3041: Color Picker no longer selects Colormap entry.
      Issue #1256: Import damages colormap numbering.
      app: fix a critical on a colormap editor callback.
      Issue #3087: error compiling for Windows.
      app: update fg/bg colors when committing a colormap change.
      Issue #102: TIFF plugin doesn't handle indexed images with alpha...
      plug-ins: tiff exporting can now support INDEXED*.
      plug-ins: try to clarify "save-transp-pixels" argument of tiff saving.
      Issue #2938: Painting on indexed images counter-intuitive.
      app: use the new GimpColormapSelection in GimpColormapEditor.
      app: GimpColorDialog should actually follow the user context...
      app: make the active_image into a weak pointer.
      app: use a GtkStack instead of GtkNotebook in GimpColorDialog.
      app: some cleanup in GimpColormapEditor.
      app: properly disconnect signal handlers.
      app: again properly disconnect signal handlers.
      app: update padding color interactively.
      plug-ins: remove old spyrogimp.
      Issue #3122: gimp_color_dialog_constructed: 'colormap' action group...
      app: make active_image member a weak pointer in GimpColorDialog.
      plug-ins: do not needlessly free/malloc() buffer of same size.
      app: GimpColorDialog follows the user context active image.
      Issue #3129: Split sentence on gimpexport.c.
      app: color widget updated properly when editing colors.
      app: fixes g_object_unref: assertion 'G_IS_OBJECT (object)' failed.
      Issue #3133: Gimp freezes after selecting a filter preset and...
      app: make gimp_prop_gui_chain_toggled() less error-prone.
      app: change antialias feature in fill by line art into Feather Edges.
      Issue #3164: HEIC doesnt have color profile.
      plug-ins: updating deprecated enum names from libheif.
      INSTALL: update info about libmypaint.
      build: remove unreleased <release> when building flatpak nightly.
      build: sync nightly flatpak with recent changes on the stable one.
      build: oups, shared module not included.
      desktop: prepare the GIMP 2.10.10 release.
      .gitlab: improve templates.
      Issue #1070: exporting to jpeg from 32-bit float linear image...
      Issue #3193: Wrong colors after exporting 8bpc RGB png from 32f...
      Issue #3224: Fill by Line Art Detection Bug (Fatal Error with Crash).
      app: allow core file procedure which don't return an image.
      app: new "gex" format (GIMP Extension).
      Issue #3253: exporting to webp from 32-bit float linear image...
      plug-ins: export linear JPEG if and only if the work image was 8-bit...
      plug-ins: export linear WebP if and only if the work image was 8-bit...
      app: null the pointer after destruction.
      build: update various deps in flatpak manifest.
      plug-ins: fix TIFF linear export.
      build: bump nightly flatpak manifest to GNOME 3.32 runtime.
      Issue #3309: Translation of gimp installer for MS Windows.
      build: add Wayland support to nightly flatpak.
      Issue 2949: Newly Installed Fonts not Registering.
      app: add ability to remove an extension.
      app: add extension installation in GimpExtensionManager.
      app: have the extension GUI listen to manager install/remove events.
      app: add undo_remove ability to the extension manager.
      app: allow undoing extension removal in the GUI.
      plug-ins: follow the assigned profile TRC.
      Issue #835: warnings building with Clang.
      Issue 1878: Eyedrop tool doesn't work when screen composing (KWin)...
      app: round curve point position when displaying it as int.
      desktop: prepare an AppData release tag for 2.10.12.
      app, libgimp, pdb: s/procesures/procedures/
      build: sync our nightly flatpak manifest with stable one.
      plug-ins: follow the assigned profile TRC in PNG export.
      app: do not crash when an extension has no description tag.
      app: improve extension list widget.
      app: new gimp_extension_get_screenshot() screenshot.
      app: display the screenshot in the extension details GUI.
      plug-ins: improve decision of exported data format in TIFF export.
      plug-ins: improve decision on exported data format in Webp.
      plug-ins: add a "Save color profile" checkbox in WebP export.
      plug-ins: fix profile writing in save_animation() in WebP export.
      plug-ins: remove the "Advanced Options" expander in WebP export dialog.
      plug-ins: add the 8-bit linear with no assigned profile exception...
      plug-ins: simplify code a bit by removing useless variable.
      plug-ins: PNG export TRC chosen similarly to TIFF.
      Issue #2194: Action search dialog behaves as a full window using a...
      Issue #3493: GIMP changes R-channel, when it should not.
      desktop: give 2.10.12 release date.
      plug-ins: get rid of compilation warning.
      authors.xml: add Oleksii Samorukov and Yoshio Ono.
      app: fix unit test.
      app: sync tests with gimp-2-10.
      Issue #3514: Free Select tool: Alt-Ctrl|Shift not working unless...
      app: commit the free selection before floating it.
      Issue #3493: GIMP changes R-channel, when it should not.
      plug-ins: fix tiff load of grayscale images without alpha.
      plug-ins: avoid converting TIFF channels.
      plug-ins: avoid converting TIFF extra channels for 8-bit non-linear too.
      libgimpwidgets: enable inch/feet/yard binary subdivisions.
      Issue #230: ruler subdivision is wrong for inches.
      libgimpwidgets: fix "warning: excess elements in array initializer".
      Issue #3560: "Screenshot delay: __ seconds" item lacks mnemonic.
      plug-ins: get the export space from the profile.
      plug-ins: plug-ins: get space from the profile in PNG export too.
      libgimp: add GIMP_EXPORT_NEEDS_OPAQUE_LAYERS export capacity.
      Issue #3553: Cannot export TIF as G3/G4 fax compression.
      plug-ins: set "Save layers" toggle unsensitive for single-layer images.
      libgimp, plug-ins: get rid of GIMP_EXPORT_NEEDS_OPAQUE_LAYERS capacity.
      plug-ins: space invasion in WebP export.
      plug-ins: improved space invasion in HEIF export.
      plug-ins: implement our profile export policy for HEIF.
      plug-ins: add a "Save color profile" checkbox in HEIF export.
      plug-ins: improve a bit HEIF export dialog.
      plug-ins: some cleaning in HEIF plug-in.
      Issue #3597: Free selection: CRITICAL when double clicking on a handle.
      Issue #3093: Invalid characters in Open Location dialog crashes GIMP.
      authors: add houz!
      Issue #2685: Crash when distributing layers horizontally.
      Issue #3641: gimp-drawable-offset does no longer work in script-fu...
      app: don't abandon immediately XCF loading at first layer load failure.
      app: salvage loaded group and text layer of dimension 0.
      plug-ins: use profile space for TIFF export.
      build: add missing patch named in flatpak manifest.
      plug-ins: clean up a bit file-pdf-save.
      plug-ins: properly free return values of gimp_image_get_layers()...
      plug-ins: improve a bit the space invasion code.
      Issue #3070: CRITICAL when converting to Indexed image.
      Issue #3070: CRITICAL when converting to Indexed image.
      plug-ins: get rid of babl_format() in file-webp.
      plug-ins: get rid of babl_format() in file-jpeg.
      plug-ins: get rid of babl_format() in file-heif too.
      app: fix wrong default value on gimp-plug-in-emboss compat proc.
      pdb: fix wrong default value on gimp-plug-in-emboss compat proc.
      plug-ins: fix VPATH build.
      app: gdk_threads_(enter|leave)() deprecated since GDK 3.6.
      plug-ins: babl_init|exit() needs to be run for "file-pdf-load-thumb".
      plug-ins: babl_init|exit() for non-interactive "file-pdf-load" too.
      plug-ins: use global gegl_init() in file-pdf-load run() function.
      configure, libgimpbase, m4macros: first steps into API introspection.
      libgimp, libgimpbase: both introspectable under same namespace Gimp.
      libgimp: add correct annotation for gimp_main().
      libgimp: add some comment documentation to Gimp*Proc callback types.
      libgimp: add gimp_plug_in_info_set_callbacks().
      libgimp: update the def.
      libgimp: update annotations for gimp_install_procedure() and...
      app: rename "On color" matting preview mode to "Color".
      desktop: new <release> appdata tag for GIMP 2.10.14.
      libgimp*: make more libgimp* libraries introspected.
      GOI: add more introspected libraries as dependencies to ours.
      libgimpconfig: fix introspection in gimpcolorconfig.c.
      libgimpconfig: fix a few more warnings.
      libgimpbase: more (transfer) and (element-type) warnings fixed.
      libgimp: API to create GimpParam from values.
      app, pdb, libgimp: fix annotations of some PDB functions.
      configure: some Python test cleanup/improvements.
      plug-ins: port Python plug-in palette-to-gradient to introspected API.
      libgimp: update gimp.def.
      libgimpthumb: argh! Copy paste error which broke the build.
      libgimpthumb: do not scan gimpthumb-enums.c for introspection.
      po-python: install again localization for Python plug-ins.
      m4macros: fixing Makefile.
      tools: port defcheck.py to Python 3.
      libgimp: fix gimp.def.
      plug-ins: missing backslash broke EXTRA_DIST.
      plug-ins: one more missing backslash.
      po-python: deactivate pot generation on VPATH builds.
      Makefile: libgimpui also introspected.
      app: when interpreter not found in interpreter DB, leave shebang as-is.
      plug-ins: install the pygimp.interp file.
      libgimpwidgets: introspect libgimpwidgets.
      plug-ins: port python-console to new GObject-introspected API.
      libgimpwidgets: make a proper function out of the macro...
      plug-ins: replace set_alternative_button_order_from_array() by the...
      libgimpwidgets: fix annotations in GimpDialog.
      plug-ins: add button mnemonics.
      libgimp: GValue of type GEnum not possible.
      pdb, libgimp: fix some annotations in gimp.c and gimp_pdb.c.
      pdb, libgimp: append _pdb for gtk-doc SECTION names of pdb files.
      libgimpwidgets: fix annotation.
      libgimp: keep gimplegacy as introspectable, at least temporarily.
      libgimp: add some annotations.
      libgimp: some fixes in GimpPlugin.
      libgimp: fix GimpPlugin virtual method documentation.
      po-plug-ins, po-python: skip/add new python plug-in files.
      pdb, libgimp: fix missing colons at end of annotations.
      pdb: remove some formerly manually added annotations.
      libgimpwidgets: add a bunch of (transfer) values.
      libgimpcolor: some more (transfer) annotations.
      libgimp*: fix various missing (transfer) annotations.
      libgimpwidgets: add many missing (transfer) annotations.
      libgimp, libgimpbase: add some documentation for new functions.
      libgimpwidgets: add a bunch of missing (transfer) annotations.
      libgimp: transfer ownership of @error parameter to...
      libgimpbase: use g_try_new0() when allocating the parameters.
      app: do not assume procedures always have a run mode.
      plug-ins: start porting palette-to-gradient to new GimpPlugIn API.
      libgimp: fix various docs typos or small errors.
      libgimp: fix some annotations.
      libgimpmath: make GimpVector[23] boxed types.
      libgimpwidgets: add documentation for many functions and fix...
      libgimpbase: add documentations on gimpparasite public functions.
      plug-ins: localization calls must happens inside query().
      libgimp, plug-ins: remove n_procedures from (init|query)_procedures().
      libgimp: add gimp_procedure_add_(argument|return_value)_from_property().
      libgimp, app: allow usage of GParamSpecString procedure arguments.
      plug-ins: use new gimp_procedure_add_*_from_property() in Python.
      libgimpwidgets: fix a copy-paste bug in function docs.
      plug-ins: port python-console to new API.
      libgimp: gimplegacy not introspected anymore.
      libgimp: fix gimp_procedure_add_*_from_property().
      plug-ins: forgot to change run() signature to new API in python-console.
      libgimp: fix s/m_float/m_enum/ for GP_PARAM_DEF_TYPE_ENUM.
      libgimp: run the first search of GimpProcBrowserDialog in init().
      plug-ins: GimpProcBrowserDialog with "use-header-bar" in Python-console.
      libgimpbase: add annotations to several functions.
      plug-ins: use GtkSettings values to determine whether to use header bar.
      libgimpbase: fix/improve docs/annotations.
      libgimpbase: fix broken annotation.
      libgimpmath: remove gimpmath.h from introspection.
      libgimp, libgimpmath, libgimpwidgets: update def files.
      Issue #3746: Problem with automake creating directories $(top_srcdir).
      libgimpwidgets: add some annotations.
      INSTALL: add GObject Introspection dependencies.
      Revert "libgimpbase: fix/improve docs/annotations."
      plug-ins: add a "palette" argument to palette-to-gradient.
      plug-ins: port palette-offset to new API.
      plug-ins: port palette-offset to Python 3.
      m4macros: Windows may have a versioned directory for headers.
      plug-ins: add interactive run mode for palette-offset.
      m4macros: fix python3dev.
      configure: fix the Python checks.
      libgimp: add annotations to gimp_pdb_run_procedure_array().
      plug-ins: add .gitignore files.
      plug-ins: move goat-exercise to a goat-exercises/ directory.
      plug-ins: adding a hello-world plug-in in javascript.
      libgimp: read and write channel should be boxed properties.
      plug-ins: goat-exercise improved to show a dialog.
      desktop, plug-ins, tools: update various .gitignore.
      plug-ins: improve Makefile.am of python/ subdir.
      menus, plug-ins: move script development related plug-ins in a...
      plug-ins: nearly-complete goat-exercise in JavaScript.
      libgimp*: move GObject Introspection into libgimp/.
      libgimp: fix the build.
      libgimp: unnecessary (out) annotation on return value.
      libgimp: improve GimpProcedure icon functions.
      plug-ins: use new procedure.set_icon_name() in JavaScript demo.
      libgimp: GObject Introspection now depends on Babl-0.1 introspected lib.
      libgimp: make GimpProcBrowserDialog work both with the old and new API.
      libgimp: add some (nullable) annotation and fix some comments.
      plug-ins: pre-load Babl module in Python console.
      plug-ins: add a goat-exercise-py3.py.
      plug-ins: get rid of getCurrentPath() in goat-exercise-gjs.js.
      plug-ins: rename the C goat exercise to goat-exercise-c.
      configure: also look for pygobject-3.0 runtime dependency.
      gitlab-ci: configure GIMP with --with-python=force.
      m4macros, configure: add and use AM_PYTHON_CHECK_PYGOBJECT() macro.
      configure: add a check for gjs (JavaScript interpreter with GI binding).
      libgimp: add libgimp_built_sources inside libgimp_introspectable.
      gitlab-ci: configure with --with-javascript=force.
      libgimp: fix missing installed headers.
      libgimpwidgets: fix some typos.
      libgimp: gimpdb-private.h was removed.
      libgimp: s/gimpdb-private.h/gimppdb-private.h/
      libgimpbase: update the def file.
      plug-ins: add Python and JavaScript files to the DIST.
      plug-ins: add a Lua goat-exercise.
      plug-ins: Lua goat-exercise now showing its own source too.
      plug-ins: fix and install the Lua goat-exercise.
      gitlab-ci: build with --with-lua=force.
      app: fix a warning.
      libgimpwidgets: fix a warning.
      plug-ins: make mail more robust.
      libgimpbase: return 0 for GIMP_UNIT_PIXEL in gimp_unit_get_factor().
      plug-ins: canonicalize curve-bend.
      plug-ins: fix pagecurl arguments order after GimpImageProcedure port.
      plug-ins: fix various plug-ins ported to GimpImageProcedure.
      plug-ins: some very minor style (alignment) fixes.
      app, pdb, libgimp: add a new GimpImage class for plug-ins.
      libgimp: change all non-generated API to use GimpImage.
      libgimp: create and use gimp_image_new_by_id().
      libgimp: generate functions both for old and new GimpImage APIs.
      pdb: keep both the old and new API alive.
      libgimp: update non-generated API to allow old and new API.
      plug-ins: keep building all plug-ins with old API.
      libgimp: allow object GimpImage as procedure parameter.
      libgimp, pdb: add GimpItem > GimpDrawable > GimpLayer classes.
      libgimp: update non-generated API using GimpItem/GimpDrawable/GimpLayer.
      plug-ins: ported a few plug-ins to new GimpImage/GimpDrawable classes.
      libgimp: allow object GParamSpec for GimpItem and child classes.
      plug-ins: C goat-exercise now ported to new GimpImage/GimpDrawable.
      plug-ins: port JavaScript goat-exercise to new GimpImage API.
      plug-ins: use GimpDrawable class in Python goat-exercise.
      pdb, libgimp: now make all ID types classes of their own.
      libgimp: fix the non-generated API with the new class types.
      libgimp, pdb: no need to create deprecated versions for private API.
      libgimp: nicer API for functions returning a list.
      libgimp: support all GimpItem subclasses as argument and return values.
      libgimp: GimpSaveProcedure() now uses GimpImage/GimpDrawable object...
      libgimp: GimpImageProcedure now uses GimpImage/GimpDrawable too.
      plug-ins: port file-ico to the new GimpImage/GimpDrawable objects.
      plug-ins: port file-pat to GimpImage/GimpDrawable.
      plug-in: port file-gbr to GimpImage/GimpDrawable.
      plug-ins: port file-gih to GimpImage/GimpDrawable.
      plug-ins: port file-desktop-link to GimpImage/GimpDrawable.
      plug-ins: port file-compressor to GimpImage/GimpDrawable.
      plug-ins: port file-raw plug-ins to GimpImage/GimpDrawable.
      plug-ins: improve parameter creation on Python 3 goat-exercise.
      libgimp: s/gimp_image_new_by_id()/gimp_image_get_by_id()/
      libgimp: s/gimp_display_new_by_id/gimp_display_get_by_id/
      libgimp: GimpItem now also belong to libgimp.
      plug-ins: port file-sgi to GimpImage/GimpDrawable.
      plug-ins: port file-exr to GimpImage/GimpDrawable.
      plug-ins: port colormap-remap to GimpImage/GimpDrawable.
      plug-ins: port screenshot to GimpImage/GimpDrawable.
      plug-ins: port file-png to GimpImage/GimpDrawable.
      plug-ins: port mail to GimpImage/GimpDrawable.
      plug-ins: port file-tiff to GimpImage|Drawable|Vectors, etc.
      plug-ins: unit-editor does not need GimpImage porting.
      plug-ins: port fractal-explorer to GimpImage|Drawable.
      plug-ins: port gfig to GimpImage|Drawable.
      plug-ins: port print to GimpImage/GimpDrawable/etc.
      plug-ins: port pagecurl to GimpImage/GimpDrawable.
      plug-ins: port film to GimpImage/GimpDrawable.
      plug-ins: port file-ps to GimpImage/GimpDrawable.
      plug-ins: port file-psd to GimpImage/GimpDrawable.
      libgimp: make sure gimp_item_get_by_id() allocates the right class.
      gitlab-ci: don't use mypaint-brushes from Archlinux.
      plug-ins: fixing automake warnings about source in subdirectories.
      plug-ins: update/fix the 3 non-C goat-exercise.
      plug-ins: port file-wmf to libgimp objects.
      plug-ins: port file-pdf-load to libgimp objects.
      plug-ins: plugin-browser and procedure-browser don't need porting.
      plug-ins: port file-gif-load to new libgimp objects.
      plug-ins: port file-svg to libgimp objects.
      plug-ins: animation-play ported to new GimpImage/Drawable objects.
      Issue #3841: double mnemonics.
      libgimp: update def files.
      Issue #3840: Arch added a mypaint-brushes1 package.
      libgimp, pdb: annotate arguments with none_ok as (nullable).
      plug-ins: port file-openraster to Python 3 + new API.
      pdb: update a bunch of docs where s/-1/%NULL/
      plug-ins: port (hopefully) missing Win32 screenshot code.
      Issue #3263: fix critical error on bucket fill tool.
      libgimp: clean up some warnings when building with MSYS 64bit.
      Issue #3852: Error compilation gimpimagecombobox MSYS2.
      plug-ins: port the core of foggify plug-in.
      plug-ins: port align-layers to new API + libgimp objects.
      plug-ins: port border-average to new API.
      plug-ins: port py-slice to new API.
      plug-ins: port busy-dialog.
      plug-ins: help and help-browser don't need libgimp class porting.
      libgimp: too many arguments to g_error_new().
      libgimp: allow GObject plug-in parameters for known libgimp classes.
      libgimp: fix GIMP_VALUES_(SET|TAKE)_*_ARRAY() macros.
      plug-ins: port guillotine.
      libgimp: API with new object classes are since 3.0.
      plug-ins: port spyro-plus to Python 3 + new API.
      app, pdb: fix gimp_item_id_is_vectors().
      libgimp: add a doc comment to gimp_drawable_get_sub_thumbnail_data().
      pdb, libgimp: remove double API generation from PDB.
      app: gimp-register-magic-load-handler renamed in a previous commit.
      libgimp: fix GimpPlugInClass methods introspection.
      plug-ins: fix warning on JavaScript goat exercise.
      libgimp: have both annotations for GObject Introspection and gtk-docs.
      gitlab-ci: our CI base system (Arch) fixed their libmypaint package.
      tools: fix install-* meson targets.
      configure: fix LUA test.
      plug-ins: fix Python plug-ins installation.
      libgimp: fix introspection of PDB functions in meson build.
      tools: improve the install-* meson targets.
      plug-ins: port gradients-save-as-css to Python 3 + new API.
      tools: clean up patch from merge request !36.
      plug-ins: mask the 3 "Converts *" procedure from file-dds plug-in.
      desktop: update release note in AppData.
      plug-ins: fix warning.
      libgimpconfig: allow gimp_config_type_register() with 0 pspecs.
      desktop: fix the AppData release listing.
      desktop: use better wording by prokoudine in Appdata file.
      app: revert `#pragma once` to macro guards in meson build.
      plug-ins: remove unused variable.
      meson: iso-codes is an optional dependency.
      libgimp: fix typo and libgimpui build.
      meson: fix glib-networking check when cross-compiling.
      meson: fix several checks.
      meson: fix relocatable-bundle feature and mypaint-brushes dependency.
      plug-ins: fix C goat-exercise build/installation in meson.
      app: (meson) fix main executables linking when building for Windows.
      meson: minor formatting fixes.
      plug-ins: fix a type warning.
      libgimpbase, plug-ins: fix all warnings to g_stat() calls.
      app, plug-ins: (Win32) fix calls to ShellExecute().
      plug-ins: fix some more cast of different size warnings.
      app: support smooth scroll events in GimpTagPopup widget.
      libgimp: disable GObject Introspection generation when cross-compiling.
      plug-ins: fix another cast warning.
      Issue #3990: make the status of the XCF docs a bit clearer (hopefully).
      build, gitlab-ci: add a script to cross-build GIMP with Gitlab CI.
      libgimp: fix meson build.
      gitlab-ci: run gdk-pixbuf-query-loaders.
      plug-ins: generated rc files depends on git-version.h.
      devel-docs: update a reference to 32-bit pointers.
      gitlab-ci: fix crossroad and dnf caching.
      gitlab-ci: do not export SHELL env variable before crossroad.
      gitlab-ci: improve artifacts settings.
      gitlab-ci: set GIT_DEPTH to 1.
      gitlab-ci: new build organization.
      app: fix "Result is not floating-point (UNINTENDED_INTEGER_DIVISION)".
      libgimp: fix unused function (Win32).
      libgimp: reduce GObject Introspection warnings.
      libgimp: sync autotools and meson to the same list of introspectable…
      app, libgimp: fix more unused function warning (Win32).
      libgimp: fix a type cast warning (win32).
      libgimp: remove duplicate gimpprocedureconfig.c (meson).
      plug-ins: fix goat-invasion plug-ins installation.
      meson: add a special target `install-libgimp*` for all libgimp*.
      libgimpwidgets: check error return for gtk_icon_theme_load_icon().
      icons: (meson) gimp-frame and gimp-texture were not installed.
      Issue #4049: Colour fill on Line Art Detection misaligned when…
      meson: add an `install-icons` meson target.
      plug-ins: fix usage of gimp_file_save() in py-slice.py.
      Issue #4068: default pixel density should be 72.0 for loaded images.
      meson: add a big fat "experimental" warning at end of meson configure.
      libgimpwidgets: (meson) fix gimpwidgetsenums.c generation.
      app, libgimp*: (meson) fix all the generated `*-enums.c`.
      libgimpwidgets: (meson) a whole list of headers were not introspected.
      libgimp: (meson) set GIMP_DISABLE_DEPRECATED for introspection.
      plug-ins: mktables.c in file-dds is unused.
      Issue #4119: GIMP main window not restored from Taskbar under MS Windows
      meson: wrong pangocairo minimum requirement.
      gitlab-ci: (Win32) add install prefix to artifacts.
      build: mask glib and pango from pre-built Win32 package for the CI.
      build: (Win32 CI) cairo as dependency of GEGL.
      build: add DrMingw in the Windows CI build.
      gitlab-ci: use debugoptimized built type for the Win32 CI build.
      gitlab-ci, build: add a wrapper for GIMP binary to Win32 CI result.
      gitlab-ci: move the prefix to root for simpler paths in artefacts.
      gitlab-ci: no need to specify explicitly -Dbuildtype=debugoptimized.
      build: sync flatpak nightly manifest with stable one.
      devel-docs: update the XCF docs.
      app: reorder alphabetically file list in meson build.
      meson: add -Wformat to common cflags.
      plug-ins: clean out some warnings.
      plug-ins: clean all warnings on metadata plug-in.
      plug-ins: meson change for previous commit.
      Issue #4189: Missing warnings on meson build.
      meson: remove duplicate line.
      Issue #4194: resolution passes from 300ppi to 72ppi after saving.
      po: fix missing semicolon in Basque translation.
      build: update flatpak nightly manifest.
      configure: improve libheif detection and output.
      meson: fix HAVE_LIBHEIF_1_4_0 macro.
      Issue #2543: gimp doesn't open on debian stretch (libmypaint crash).
      meson: add a libmypaint < 1.4.0 warning.
      Issue #4185: Plug-in “file-heif.exe” crashes exporting HEIF/HEIC.
      meson: update the broken libheif test (similarly to autotools).
      configure: fix typo which was breaking the build.
      meson: fix CC_VERSION.
      app, devel-docs: remove dangling DBUS_GLIB_* variables.
      Issue #4251: (meson) dbus-glib-1 not required.
      build: add a patch for OpenBlas on Windows.
      meson: allow non-dist non-git builds but mark them unsupported.
      meson: use explicitly python3 when calling it.
      gitlab-ci: move to Fedora 31 image for the Win32 CI build.
      gitlab-ci: do not wait for all jobs from "dependencies" stage.
      Issue #4209: Animation optimize for GIF moves layers to top left corner.
      plug-ins: (meson) install Python plug-ins with execution permission.
      gitlab-ci: add a Windows 32-bit CI.
      gitlab-ci: job renaming.
      app, configure: add configure option for a build id and revision.
      meson: new build id and revision also in meson configuration.
      app: check last GIMP release from gimp.org/gimp_versions.json.
      meson: add json-glib as dependency in meson files too.
      build: additional patch for OpenBlas (fix startup hang).
      meson, autototools: install colorxhtml ported in previous commit.
      plug-ins: allow "html" extension for colorxhtml.
      Issue #4392: Gimp Segmentation Fault triggered by Glib GParamSpec...
      plug-ins: install Python plug-ins in rwxr-xr-x.
      app: fixes int overflow warning.
      app: make gimp_versions.json parsing easier to test.
      app: show new version availability in About dialog.
      app: add alternative "Check for updates" button in the About dialog.
      app: show the About dialog at startup when a new version is available.
      app: also localize LC_TIME to GUI language.
      app-tools: meson build was not installing gimp-debug-tool.
      app: fix missing const qualifier.
      libgimpbase: same fix as previous commit to other static types.
      Issue #4425: Saving to PDF changes text's font and size.
      plug-ins: forgot to look missing font duplicates recursively.
      plug-ins: also omit hidden layer groups in PDF export.
      devel-docs: update the stats script.
      gitlab-ci: port our main CI to Debian testing.
      app: parse the release date for the last release.
      app: debug dialog will now advise to update when relevant.
      gitlab-ci: test a CLang build.
      plug-ins: return value of gimp_procedure_config_begin_export() freed…
      plug-ins: variable used after being freed.
      app: properly pass the last release version and date to gimp-debug-tool.
      app: fix a segmentation fault crash.
      app: forgot to localize a string.
      gitlab-ci: run unit tests for meson builds.
      icons: install the new icons on meson build too.
      libgimpwidgets, app, plug-ins: fix last GIR warnings.
      libgimp: (meson) build GIR file silently.
      app: update gimp-update to new gimp_versions.json format.
      Issue #4532: tests fail due to app/gimp-update.c not in POTFILES.
      app: better error management.
      app, configure: new --disable-check-update option at configuration.
      meson: same option for meson -Dcheck-update=false as previous commit.
      app: now also process the build revision when checking for updates.
      meson.build: store GIMP_BUILD_REVISION as an int macro.
      app: accept "revision" and "date" fields to be absent on a build...
      app: don't show "Check for updates" button in Preferences when option...
      app: always show the "Check for updates" button in the About dialog.
      app: only show a "Last checked" date when we did at least 1 check.
      app: do not update a finalized dialog.
      app: store the revision number in a data file.
      app-tools: fix the meson file.
      configure, data: create/install the gimp-release file.
      meson, data: create/install gimp-release file with meson too.
      app: use GIMP_BUILD_PLATFORM_FAMILY instead of GIMP_BUILD_PLATFORM.
      Issue #4618: support Canon CR3.
      gitlab-ci: fix recently broken CLang compilation.
      build: fix json-c cross-build for Windows.
      Revert "build: fix json-c cross-build for Windows."
      meson: change option relocatable-bundle = yes|no|platform-default
      Issue #4745: make check test-desktop failed.
      libgimp: fix wrong assert in gimp_procedure_config_set_values().
      gitlab-ci: add missing dependencies.
      app: do not free non-allocated DBus manager.
      gitlab-ci: enabling make check on master CI.
      app: fix minor indentation bugs.
      app-tools, app: gimp-debug-tool crashing with NULL release_date.
      app: print gimp_versions.json parsing error on stderr.
      app: show time of last version update check.
      app: let's display the release comment in update notification…
      app: display revision number in About dialog if > 0.
      app: GUI improvements to the update display in About dialog.
      app: remove deprecated GimpContainerGridView.
      app: no generic comment when no revision comment set.
      Issue #4871: Plug-ins not translated.
      app: make new feature delete-pixels in Crop tool FALSE by default.
      Issue #4904: GIMP startup SLOW due to failed access to…
      Issue #4487: change "Save color values from transparent pixels"…
      plug-ins: do not use strcpy() when src and dest overlap.
      app: fix drag'n drop viewable description.
      build: sync development flatpak manifest with stable one.
      app: make version + revision string translatable.
      Issue #4919: PDF: Order of pages reversed when opening and closing.
      build: build json-c with CMake.
      build: proper libmypaint v1 development branch is now libmypaint-v1.5.x.
      gitlab-ci: libspiro is needed to run `gegl`.
      app, libgimp, pdb: update gimpfile PDB functions' documentation.
      plug-ins: fix some build warning.
      plug-ins: fix abs() on long int.
      plug-ins: fix more abs().
      plug-ins: remove last usage of GTimeVal and g_get_current_time().
      build: fix the Windows CI.
      build: use msys2 packages as source for the Windows CI.
      gitlab-ci: remove useless build dependencies.
      plug-ins: fix signedness warning with different expectation Win/Linux.
      plug-ins: fix various other warnings on the Windows build CI.
      gitlab-ci: porting the Windows cross-build CI to a Debian image.
      build: more dependencies for the Windows builds.
      libgimp, po-python: fix missing header in distribution…
      app: fix cast bug.
      build: removing OpenBlas patches.
      app: gimp_sigfatal_handler() must not be declared on Win32 without…
      app: fixes string format argument types on Windows 32-bit.
      build: build OpenEXR plug-in.
      Issue #3884: missing libgtk-3-dev leads to configure syntax error.
      gitlab-ci: fix Windows CI builds.
      Issue #5002: compare pointer to NULL, not 0.
      gitlab-ci: add an analysis stage with cppcheck code analysis stage.
      libgimp: add gimp_param_spec_get_desc() in gimp.def.
      gitlab-ci: ignore a bunch of directories.
      gitlab-ci: babl requires now vapigen for Vala binding.
      gitlab-ci: cppcheck does not need to wait for previous stages to occur.
      devel-docs: update debugging-tips with GEGL's meson option names.
      app: clear the clipboard after storing its contents, upon quitting.
      build: fix cross-compiled meson builds.
      Issue #5073: just skip all plug-ins/pygimp/ from POTFILES.
      app: fix a few warnings.
      app: add concept of selected items in GimpItemTree.
      app: add concept of multi-selected layers in GimpImage.
      app: adds multi-selection support to "layers-delete" action.
      app: make paint tools multiple-draware aware.
      app: warp tool also only works on single layers.
      app: add a "select-items" signal to GimpContainerView.
      app: do not lose multi item selection when dragging or right-clicking.
      app: do not notify of "active-item" change in GimpItemTree.
      app: actually enable multi-selection.
      app: make drag'n drop multi-drawable selection aware.
      app: fix selection after a drag'n drop move.
      app: button press on a non-selected item changes selection.
      app: show number of dragged layers in dnd box for multi-layer drags.
      app: group undo steps when doing multiple layer drops.
      app: implement multi-selection code for channels and vectors.
      app: s/insert_item_after()/insert_items_after() in GimpContainerView.
      app: new function gimp_item_is_ancestor().
      app: better logics to remove multiple layers.
      app: allow multi-item drop on GimpContainerView buttons.
      app: "active item" concept => "selected items".
      app: fix double-click tree view cell editing.
      app, libgimp, pdb: add PDB function gimp_image_get_selected_layers().
      app: add gimp_image_get_selected_drawables().
      app: fix running procedures with parameter array types in code code…
      app: support saving/exporting with multi-selection.
      app: actually implement XCF multi-layer selection saving/loading.
      devel-docs: update XCF docs with XCF 14 changes.
      app: make "layers-new-last-values" multi-selection aware.
      app: add an info label above GimpItemTreeView item list to indicate…
      app: layers-duplicate now also multi-selection aware.
      app: make layers-mask-add-last-values multi-selection aware.
      app: make layers-mask-apply and layers-mask-delete multi-layer aware.
      app: layers-mask-show and layers-mask-disable multi-layer aware.
      app: make layers-color-tag-* multi-layer aware.
      app: multi-layer awareness for layers' lock-alpha, opacity and mode.
      app: multi-layer aware layers-mask-add and layers-mask-add-button.
      app: fix some GimpContainerTreeView mouse interactions.
      app: multi-layer awareness for layers-new-group and layers-new.
      app: allow shift-click on GimpContainerTreeView expanders.
      app: raise-layers* and lower-layers* actions multi-selection aware.
      app: layers-lock-content and layers-lock-position multi-layer aware.
      app: layers-select-* multi-selection aware.
      app: Move tool multi-layer aware.
      app: selection were not displayed when multi-layers selected.
      app, libgimp, pdb: "edit-copy" multi-layer aware.
      app: various "select-*" were already multi-layer aware.
      pdb: proper conversions for object arrays in PDB.
      app, pdb: layers-merge-layers* and image-merge-layers multi-layer aware.
      app: Crop tool now multi-layer aware.
      app: GimpCanvasLayerBoundary to show all selected layers area.
      app: layer pick through canvas click multi-layer aware.
      app: "Import Palette" multi-layer aware.
      app: Layer Selection Advance (up/down) now multi-layer aware.
      app: test-ui multi-layer aware.
      app: scroll automatically only when none of the selected items…
      app, libgimp, pdb: color picker multi-layer aware.
      libgimp: add new functions to gimp.def.
      app: quick on-canvas copy-paste multi-layer aware.
      app: fix gimp_item_tree_get_insert_pos() with GIMP_IMAGE_ACTIVE_PARENT.
      app: make the text tool multi-layer aware.
      app, libgimp, pdb: fix gimp_selection_float() usage.
      app: do not try to copy a buffer result from a canceled GEGL operation.
      app: gradient tool multi-drawables aware.
      app: make "Alpha to Selection" multi-layer aware.
      app: improve alpha to selection with multiple items.
      app: more accurate undo names.
      app: "layers-mask-selection-*" multi-layers aware.
      app: layers-blend-space-* & layers-composite-space|mode-* multi-layer…
      Issue #5109: "gimp-win64" CI artifact is missing gegl:npd support.
      app: layers-merge-group multi-layer aware.
      app: add gimp_image_equal_selected_drawables().
      app: GimpTool multi-drawable aware.
      app: Alpha to Selection will warn when the resulting selection is empty.
      app: create and use gimp_image_item_list_linked().
      plug-ins: fix python-console after GimpUi instrospection separation.
      plug-ins: more complete naming for Python|Script-Fu consoles.
      NEWS: kick start the NEWS file for GIMP 2.99 development branch.
      NEWS: some more changes.
      app: fix check for XCF 14.
      app, pdb: fix build warning because of discarded 'const' qualifier.
      app: GimpTransformTool multi-layer aware.
      app: CI cache now configured in GNOME gitlab.
      .gitlab: update the merge request template.
      devel-docs: add a tip for testing an older GIMP version with flatpak.
      NEWS: add some "Known issues" section to 2.99.2 notes.
      NEWS: update.
      app: make a tooltip translatable and translate device axis strings.
      Issue #5179: fix "Add layer masks" and improve "Edit layer mask".
      INSTALL: update the plug-in API binding dependencies.
      desktop: fix some news URL in appdata.
      app: "OK", "Cancel" and "Reset" buttons on "Input Devices" dialog.
      app: Input Devices "Reset" button should actually reset to defaults.
      app: remove the "Keys" list in the Input Device editor.
      app: check if display is X11 before gdk_x11_display_get_user_time().
      app: [Wayland] fix invalid preedit range in text tool.
      NEWS: update.
      app, libgimp: protect a bit GDK X Window calls.
      desktop: add a <developer_name> tag.
      app: fix selected layers in duplicated image.
      libgimp: do not assume there are selected layers.
      app, pdb: layers-merge-down action now multi-layer aware.
      app: fix gimp_image_merge_down() when merging multiple neighbour layers.
      app: layers-resize-to-image action multi-layer aware.
      libgimp: fix documentation comment.
      Issue #5349: meson build with -Dpoppler=false has no effect.
      app: make "gegl:matting-levin" default engine of Foreground Select tool.
      app: fix Alpha to Selection for single selected layer.
      app: add contents of /.flatpak-info in the verbose info.
      app: move OpenCL settings into the Playground.
      app: show playground if any of the experimental feature is enabled.
      app: fix a build warning.
      plug-ins: fix argument description.
      meson: add image/webp content type.
      plug-ins: file-dds (read) cleaned up a bit for better error handling.
      app: GimpToolRectangle multi-layer aware.
      app: output errors to stderr when gimp_procedure_execute() fails with…
      app: allow a number of drawables to 0 for "gimp-xcf-save".
      app: fix backup creation on crash.
      app: do not allocate a GFile when crashing.
      devel-docs: add some debugging tricks for Flatpak.
      app: layers-crop-to-selection and layers-crop-to-content multi-layers…
      app: layers-alpha-add|remove multi-layer aware.
      app: edit-clear multi-layers aware.
      app: layers-resize and layers-scale work on one layer at once.
      app: layers-mask-edit only works with a single layer selected.
      app: fix layer double click (Layer Attributes dialog).
      app: edit-fill-fg|bg|pattern multi-layer aware.
      app: get rid of last remnants of single-layer logics in edit-actions.
      app: some fixes/improvements.
      app: Selection fill and "Fill Path" now multi-layer aware.
      app: selection stroke and "Stroke Path" now multi-layer aware.
      app, pdb: fix pdb and generated code.
      app: window title stays single layer for now.
      app: more code in paint and brightness-contrast tool to port.
      app: drop a color or a buffer multi-layer aware.
      app: Fuzzy Select tool multi-layer aware.
      app: Color Select tool multi-layer aware.
      app: drawables translation with arrow keys multi-layer aware.
      app: some more gimp_image_get_active_drawable() removed.
      desktop: prepare 2.10.22 release.
      plug-ins: fix some warnings in Win32 screenshot code.
      gitlab-ci: add a distcheck step on master too.
      libgimp: gimp_vectors_stroke_reverse missing in def file.
      Makefile: update DISTCHECK_CONFIGURE_FLAGS to fix CI distcheck.
      app: action "drawable-visible" now multi-layer aware.
      libgimpwidgets: fix setting GimpMemSizeEntry value with unit change.
      libgimpwidgets: improve/fix more of GimpMemSizeEntry.
      gitlab-ci: rename the CI jobs.
      gitlab-ci: run distcheck with multi-jobs.
      gitlab-ci: add a distribution step.
      Issue #5530: do not fail font loading on broken user/GIMP fonts.conf.
      app: (selection editor) fix clicking on selection mask or dropping color
      app: GimpSelectionEditor multi-drawable aware.
      app: "drawable-linked" multi-drawable aware.
      build: (meson) fix building with -Dwindows-installer=true option.
      icons: install switch-(on|off)-symbolic icons in GIMP's hicolor theme.
      Issue #5584: JPEG magics detection failure.
      icons: rename ID of some icons moved to Freedesktop naming.
      icons: add all missing icons in the main SVG files.
      tools: update the build-only tool compute-svg-viewbox.
      icons: modify dialog-information to work around a librsvg bug.
      plug-ins: fix wrong return type warning.
      INSTALL: update with libheif required dependency for AVIF support.
      Issue #5623: https://gimp.org/gimp_versions.json is redirected…
      autotools, meson: bump GEGL dependency to 0.4.27.
      libgimp: better organization of gimp_image_metadata_*() API.
      libgimp: update def files.
      libgimpwidgets: minor alignment and indentation fixes.
      libgimpwidgets: add a "value" property to GimpIntComboBox…
      plug-ins: default export bit depth for 16 or 32 bpc images should be 12.
      Issue #2275: rotate commands not actually applied to the image.
      plug-ins: fix missing "plug-in-colormap-swap" procedure.
      app: (meson) create_test_env.sh was not run.
      plug-ins: update previous commit to API changes.
      plug-ins: delete Python whirlpinch and clothify without porting them.
      Issue #4368: remove 2 more outdated Python plug-ins.
      plug-ins: get rid of pygimp!
      icons: remove old file move error.
      app: remove unused function.
      app: NULL log domain is not a bug.
      app, libgimp, plug-ins: move Orientation metadata handling into core.
      libgimp, pdb: new functions gimp_image_policy_rotate() and…
      libgimp, po: fix def files and POTFILES.in.
      app: argh metadata-rotation-import-dialog.h missing from Makefile.am.
      app: new profile conversion policy to preferred color profile.
      Issue #4505: Adjust the Preferences size to fit on smaller displays.
      Issue #5630: Sample Merged as defaults in Color Picker tool.
      app: GimpFilterTool displays a "Sample merged" checkbox.
      libgimp: 'gimp_ui' as priority prefix for GimpUi introspected module.
      gitlab: update Container Registry link.
      NEWS: update with some of the master-only changes.
      icons: (meson) gimp-curve-point-* icons were not installed for the…
      etc: smaller default position and size of main image window.
      libgimpwidgets: GtkComboBox "active" property must trigger…
      gitlab, build: Win32 distribution jobs for our CI.
      build: dll_link.py improved to handle both i686 and x86-64 Windows…
      build: (Windows) glib-compile-schemas and gdk-pixbuf-query-loaders in…
      gitlab-ci: "needs" jobs have to be in a prior stage.
      gitlab-ci: name the distribution artifacts and small build-deps.sh fix.
      plug-ins: change export dialog title when exporting as AVIF.
      Issue #5734: fix typos in if() test.
      app: fix file comparison.
      plug-ins, extension: goat-exercises becomes a GIMP extension.
      app: don't show an uninstall button for system extensions.
      app: check extensionrc existence before trying to parse it.
      app: fix wrong extension active state on exit.
      extensions, po-plug-ins: fix localization of extension metadata.
      meson, autotools, CI: simplify plug-in binding build options.
      Issue #4777: "New version available" after update.
      NEWS: HEIF improvements available on master only.
      app, libgimpconfig: "printer-profile" becomes "simulation-profile".
      desktop: sync AppData file with `gimp-2-10` branch.
      desktop: kick start the Appdata for GIMP 2.99.2 release.
      extensions: removing a bunch of useless semicolon on Python script.
      extensions: update the remote URI for the up-to-date source code.
      extensions: Lua and Python 3 goat-exercise procedure name consistency.
      extensions: do not build Vala plug-in without GObject Introspection.
      plug-ins: run gimp_displays_flush() in foggify.
      meson: add a `install-extensions` target to meson/ninja.
      extensions: fix localization of the Python 3 goat exercise.
      po-*: move the Python goat exercise to the gimp30-std-plug-ins domain.
      extensions: flag labels and documentation strings for localization…
      meson: separate line for HEIC and AVIF support.
      autotools: separate line for HEIC and AVIF support.
      Issue #5788: 10/12 bpc in HEIF export does not mean HDR.
      build: improve a bit the dll_link build script.
      app: fix alpha to selection on single layer with offset.
      app: fix gimp-file-save PDB procedure implementation.
      pdb: fix gimp-file-save PDB procedure implementation.
      app, pdb: set string arguments to "" *after* the GFile.
      meson: do not show "profile support: yes" when HEIC support is OFF.
      configure: do not show "profile support: yes" when HEIC support is OFF.
      app: use gimp_viewable_is_ancestor() instead of gimp_item_is_ancestor().
      app: properly free internal strings at finalization and before…
      app: unstable versions will check available development releases.
      extensions: goat-exercise appdata depends on po files.
      gitlab-ci: temporary allow distcheck job failure.
      app: fix AppStream tag localization.
      NEWS: update with new "file-heif-av1-load" procedure.
      plug-ins: fix parameters of Gimp.file_save().
      plug-ins: fix a type warning.
      app: clean tab indentation.
      Issue #4922: install software-update-available from Adwaita on hicolor.
      app: fix some glitches in the splash status text.
      Issue #5322: [Wayland] broken splash size.
      NEWS: update with many of the major API changes.
      NEWS: more API update.
      NEWS: some more news items.

Jeremy Bicha (1):
      Remove extra newline character in zh_HK translation

Jernej Simončič (5):
      Installer: Python fixes
      Installer: fix typos
      Installer: remove .dll files from plug-ins directory
      Installer: set compatibility options to run Python plugins in high-DPI-aware mode
      Installer: put back compatibility DLLs (for really old plugins)

Jiri Grönroos (4):
      Update Finnish translation
      Add Finnish translation
      Update Finnish translation
      Update Finnish translation

Jordi Mas (47):
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Fixes to Catalan transation
      Fixes to Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catatalan translation
      Fixes to Catalan translation
      Update Catalan translation
      Update Catalan translation
      Fixes to Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Fixes to Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Fixes to Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation
      Update Catalan translation

Josef Ridky (1):
      Issue #2087 - Issues discovered by coverity scan

Julia Dronova (1):
      Update Russian translation

Julien Hardelin (2):
      Update French translation
      Update French translation

Jwtiyar Nariman (2):
      Add Central Kurdish translation
      Update Central Kurdish translation

Kalev Lember (1):
      desktop: Update gimp-data-extras.metainfo with gimp's new appstream ID

Kevin Cozens (1):
      Allow building GIMP of without vala.

Kevin Stoffler (1):
      app: add gtk_combo_box_set_wrap_width for scale menu

Kristjan SCHMIDT (3):
      Update Esperanto translation
      Update Esperanto translation
      Update Esperanto translation

Kukuh Syafaat (2):
      Update Indonesian translation
      Update Indonesian translation

Liam Quin (3):
      Issue #1371 - Add title printf-like expando for export-clean and export-dirty
      Issue #4328: Distorted path of an open/imported circle from an svg file.
      plug-ins: The plugin can leak the "tif" file descriptor as written...

Lionel (1):
      Issue #1002: Fix for layer groups in PDF export

Lloyd Konneker (1):
      Issue #5809: missing dependency on libm for libgimpwidgets/test-eevl

Luis Angel Gonzo (1):
      Update Spanish translation

Marco Ciampa (15):
      Updated Italian translation
      Updated Italian translation
      Fixed small typo
      Updated Italian translation
      Some small fixes in Italian installer translation
      Updated Italian translation
      Updated Italian translation
      Updated Italian translation
      Updated Italian translation
      Updated Italian translation
      Updated Italian translation
      Updated Italian translation
      Updated Italian translation
      Updated Italian translation
      Typo fixed.

Marek Cernocky (3):
      Updated Czech translation
      Updated Czech translation
      Czech translation for Win installer

Mario Blättermann (1):
      Update German translation

Martin Srebotnjak (36):
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation
      Updated Slovenian translation

Massimo Valentini (13):
      Bug 526719: add easy way to set rotation angle to straighten an image
      Issue #2454: recent libwmf uses pkg-config.
      file-dds: support for DXT2/DXT4, initial build and GEGL-related fixes
      Issue #1220 - Text tool has color from previous line...
      issue 3082: screenshot plugin crashes when cancelling...
      Issue 2206: Error message when opening "MULTICHANNEL" PSD...
      Issue 2873 - Missing menu text on Image Map filter
      Issue 3100: cage transform tool -> always blurred without any action
      Issue #1283 - Artifacts in filters when aux input depends on filter result
      Issue 4456: CRITICAL **...: g_object_unref: assertion
      Issue #4461 - Spinning Globe fails in gimp-2.99
      Issue #4467 - (pagecurl) CRITICAL **: g_object_unref: assertion...
      Issue 2862 - Error message. Unable to decode abr...

Matej Urbančič (1):
      Added Slovenian translation

Michael Henning (2):
      libgimpwidgets: Draw marker in correct position on ruler.
      libgimpwidgets: Separate ruler text layer from background.

Michael Natterer (1619):
      Switch to version 2.99/3.0 in a lot of places and depend on GTK+ 3.22
      Revert "app: Fix on canvas widgets ignoring clicks from tablets - bug 614441"
      libgimpwidgets: remove deprecated files from the build
      libgimpwidgets: s/GtkObject/GtkAdjustment/ in gimpwidgets.[ch]
      libgimpwidgets: port virtual functions to GTK+ 3.0
      libgimpwidgets: port virtual functions to GTK+ 3.0
      libgimpwidgets: port to GtkWidget::draw()
      libgimpwidgets: port to GtkWidget::draw()
      libgimpwidgets: port to GtkWidget::draw()
      libgimpwidgets: s/GtkObject/GtkAdjustment/
      libgimpwidgets: port to GtkWidget::draw()
      libgimpwidgets: remove deprecated functions and s/GtkObject/GtkAdjustment/
      libgimpwidgets: remove deprecated files completely
      libgimp: remove GdkRGB and GdkColorMap calls, these APIs are gone
      app: port to GtkWidget::draw()
      app: remove GTK_OBJECT() cast
      app: port to GtkWidget::draw()
      app: port to GtkWidget::draw()
      app: port virtual functions to GTK+ 3.0 API
      app: port to GtkWidget::draw()
      app: port to GtkWidget::draw()
      app: port to GtkWidget::draw()
      app: port to GtkWidget::draw() and s/GtkObject/GtkAdjustment/
      app: port to GtkWidget::draw()
      app: s/GtkObject/GtkAdjustment/
      app: port to GtkWidget::draw()
      app: port GimpNavigationView to GtkWidget::draw()
      app: port GimpPaletteView to GtkWidget::draw()
      app: port to GtkWidget::draw()
      app: port to GtkWidget::draw()
      app: no need to alloc colors any longer, GdkColormap is gone
      app: port call to gtk_paint_arrow() to GTK+ 3.0
      app: port device management to GdkDeviceManager
      app: remove obsolete (GtkObject **) casts
      app: use gtk_widget_get_preferred_size() instead of size_request()
      app: port GimpScalComboBox to GTK+ 3.0
      app: use gtk_widget_get_preferred_size() instead of size_request()
      libgimpwidgets: port GimpFrame to GTK+ 3.0
      app: port tools to GTK+ 3.0 (trivial changes only)
      app: s/GtkObject/GtkAdjustment/ in app/dialogs/
      app: pass the cairo_region_t to gdk_window_invalidate_region() directly
      app: use GdkDeviceManager to list devices
      app: port to GtkWidget::draw()
      app: remove calls to colormap functions, they are gone
      libgimpwidgets: get rid of (GtkObject **) casts
      app: port the splash to GTK+ 3.0
      libgimpwidgets: port the ruler to GTK+ 3.0
      libgimpwidgets: port to GtkWidget::draw()
      app: port to GtkWidget::draw()
      app: port the overlay stuff to GTK+ 3.0
      app: use the container icon view, the grid view is not GTK+ 3.0-able
      app: port to GtkWidget::draw() (incompletely)
      app: remove call to gtk_statusbar_set_has_resize_grip()
      app: port the tag entry to GTK+ 3.0
      app: port to GtkWidget::draw() but disable the code inside with #if 0
      app: can't set the scale combo entry's properties in init() any longer
      app: port to GtkWidget::draw()
      libgimpwidgets: port to GtkWidget::draw()
      modules: s/GtkObject/GtkAdjustment/
      app: didn't completely commit the display shell expose() -> draw() change
      app: port to GtkWidget::draw()
      app: passing -1 as width/height to gtk_paint_box() no longer works
      app: port popup arrow drawing to cairo and get rid of the arrow_pixbuf
      app: remove GimpContainerGridView from the build entirely
      modules: port to GtkWidget::draw()
      libgimpwidgets: port to GtkWidget::draw()
      libgimp: port to GtkWidget::draw()
      app: don't translate to allocation.x,y
      app: port to GtkWidget::draw()
      app: forgot to remove a cairo_destroy() in draw()
      app: port to GtkWidget::draw()
      app: GtkEntry turned into a no-window widget
      app: use the new GtkScrollable API instead of deprecated tree view API
      app: cairo_save()/restore() around chaining up in draw()
      app: add ugly workaround to make the icon view adapt to view size changes
      plug-ins: lots of trivial GTK+ 3.0 porting
      plug-ins: port jpeg-save to GTK+ 3.0
      plug-ins: port file-png to GTK+ 3.0
      plug-ins: s/GtkObject/GtkAdjustment/g in plug-ins/common/
      plug-ins: more s/GtkObject/GtkAdjustment/
      plug-ins: port some more plug-ins to GTK+ 3.0
      app: port the colormap editor to GTK+ 3.0
      app: remove GtkWrapBox
      libgimpwidgets: port to the new size request API
      app: port to the new size request API
      plug-ins: port the print preview to the new size request API
      plug-ins: port sphere-designer to GtkWidget::draw()
      plug-ins: port cml-explorer to GtkWidget::draw()
      plug-ins: port lighting to GTK+ 3.0
      plug-ins: port the unit-editor to GtkScrollable
      app: fix GimpOverlayDialog's minimum height
      app: port GimpOverlayBox to GtkWidget::get_preferred_width/height()
      app: don't connect to "size-requst" because that's deprecated
      app: port GimpSpinScale to GTK+ 3.0
      app: skip keyboard devices so the device list becomes reasonable
      app: implement proper height-for-width in GimpToolPalette
      app: use GdkDevice accessors
      app: introduce struct GimpDeviceKey because GdkDeviceKey is gone
      app: put the toolbox' areas into a box until we decided about a wrapping widget
      Use gtk_widget_render_icon_pixbuf() instead of gtk_widget_render_icon()
      app: port the device sort function to GdkDeviceManager
      libgimpwidgets: port to GtkStyleContext and gtk_render_foo()
      app: change the list of available devices to something that makes sense
      libgimpwidgets: port GimpCellRendererToggle to GtkStyleContext
      libgimpwidgets: port GimpChainButton to GtkStyleContext
      libgimpwidgets: port GimpColorArea to GtkStyleContext
      libgimpwidgets: port GimpColorScale to GtkStyleContext
      libgimpwidgets: port GimpOffsetArea to GtkStyleContext
      libgimpwidgets: port GimpRuler to GtkStyleContext
      llibgimpwidgets: port GimpScrolledPreview to GtkStyleContext
      app: port GimpBlobEditor to GtkStyleContext
      app: port setting the canvas padding color to GtkStyleContext
      app: port GimpPanedBox to GtkStyleContext
      app: port GimpContainerIconView to GtkStyleContext
      app: port GimpContainerTreeView to GtkStyleContext
      app: port GimpColormapEditor to GtkStyleContext
      app: port GimpComponentEditor to GtkStyleContext
      app: port GimpFgBgEditor to GtkStyleContext
      app: port GimpFgBgView to GtkStyleContext
      app: port gimp_get_icon_size() to GtkStyleContext
      app: port GimpContainerBox to GtkStyleContext
      app: port GimpDashEditor to GtkStyleContext
      app: remove calls to gtk_widget_get,set_extension_events()
      app: s/gtk_widget_modify_font/gtk_widget_override_font/
      libgimpwidgets: port GimpNumberPairEntry to gtk_widget_override_font()
      app: port the about dialog to GtkStyleContext
      modules: remove call to gtk_widget_set_extension_events()
      libgimpwidgets: implement GtkWidget::state_flags_changed()
      libgimpwidgets: implement GtkWidget::style_updated() instead of style_set()
      libgimpwidgets: use g_object_ref()/unref() for GdkCursors
      app: use gdk_drag_context_get_source_window()
      app: use gdk_drag_context_get_selected_action() instead of conect->action
      app: implement GtkWidget::style_updated() instead of style_set()
      port gtkrc files to CSS (incompletely and stuff commented out)
      Port theme and gtkrc file loading to CSS files using GtkCssProvider
      app: copy gimp.css instead of gtkrc to the user's gimp directory
      app: check whether child widgets exist in GtkWidget::style_updated()
      Replace gdk_cursor_unref() with g_object_unref()
      app: use gtk_menu_shell_get_selected_item()
      app: port GimpOverlayBox to GtkStyleContext
      app: port GimpOverlayFrame to GtkStyleContext
      app: port GimpScaleButton to GtkStyleContext
      libgimpwidgets: move all GimpPickButton members to a private struct
      libgimpwidgets: move all GimpColorArea members to a private struct
      libgimpwidgets: move all GimpOffsetArea members to a private struct
      libgimpwidgets: move padding members from instance to class struct
      libgimpwidgets: move all GimpButton members to a private struct
      libgimpwidgets: move all GimpCellRendererColor members to a private struct
      libgimpwidgets: move all GimpColorButton members to a private struct
      libgimpwidgets: move all GimpCellRendererToggle members to a private struct
      libgimpwidgets: move all GimpChainButton members to a private struct
      libgimpwidgets: move all GimpBrowser members to a private struct
      libgimpwidgets: move all GimpColorDisplay members to a private struct
      libgimpwidgets: move all GimpColorDisplayStack members to a private struct
      libgimpwidgets: move all GimpColorHexEntry members to a private struct
      libgimpwidgets: add padding
      libgimpwidgets: move all GimpColorNotebook members to a private struct.
      libgimpwidgets: move all GimpColorScale members to a private struct
      libgimpwidgets: move GimpColorProfileComboBox::dialog to private
      libgimpwidgets: move all GimpColorSelection members to a private struct
      libgimpwidgets: move all GimpEnumLabel members to a private struct
      app: don't use style->black and style->white
      libgimpwidgets: move all GimpMemsizeEntry members to a private struct
      app: port GimpStrokeEditor to GtkStyleContext
      app: port GimpPaletteView to GtkStyleContext
      plug-ins: don't use style->black and style->white
      libgimpwidgets: move all GimpColorProfileStore members to a private struct
      app: port GimpDockWindow to GtkStyleContext
      app: port GimpToolEditor to GtkStyleContext
      app: use gtk_widget_override_font() instead of modify_font()
      app: port GimpThumbBox to GtkStyleContext
      Implement GtkWidget::style_updated() instead of ::style_set()
      app: port GimpHistogramView to GtkStyleContext
      app: port GimpTagEntry to GtkStyleContext
      app: always ask the master device for its axes or state
      app: when checking for a device change, check the event's source device
      app: remove obsolete device checks from GimpToolbox
      app: port GimpColorFrame away from GtkStyle, using a new style property
      app: remove call to gtk_widget_style_attach() from GimpOverlayBox
      app: port GimpOverlayChild to GtkStyleContext
      Port cell renderers to gtk_cell_renderer_get_state()
      app: port GimpCellRendererDashes to GtkStyleContext
      app: add gimp_get_style_color() to simplify GdkRGBA style property lookup
      app: add style property and default CSS for GimpHistogramView's grid-color
      app: port GimpCurveView to GtkStyleContext
      themes: document the new GimpHistogramView property in the theme CSS
      app: define all GimpHistogramView colors via style properties and CSS
      themes: document the new stlye properties and indent the CSS files properly
      app: port GimpComboTagEntry to GtkStyleContext
      configure.ac: use the new GTK_CHECK_BACKEND() macro
      plug-ins: port map-object to GTK+ 3.x
      app: use GdkRGBA instead of GdkColor in some places
      app: remove gimp_rgb_get,set_gdk_color()
      plug-ins: port filter-pack to GTK+ 3.0, still some warnings left
      app: gimp_print_event(): add the device to the event debug output.
      app: gimp_device_info_get_device_coords(): workaround for XI2 b0rk
      app: make input devices, grabs and therefore generally tools work again
      app: use gdk_device_get_position() inetad of gdk_display_get_pointer()
      app: remove some forgotten #undef GSEAL_ENABLE
      app: let the file dialog expand/collapse with the file type expander
      app: port GimpGradientEditor to GtkSyleContext
      app: port GimpHistogramView to gdk_device_grab()/ungrab()
      app: port GimpNavigationEditor to GtkStyleContext
      app: port GimpTagPopup to GtkStyleContext
      app: GimpDock: port font size modification to GtkCssProvider
      plug-ins: s/GtkObject/GtkAdjustment/
      app: implement GtkContainer::get_path_for_child() in GimpMessageBox
      devel-docs: make the shooter tool at least build again (untested)
      app: don't use "size-request" for the toolbox' wilber, it's gone
      Incomplete notebook and tab theming commit, to be improved
      themes: set an explicit background for rulers
      app: make the statusbar's progress label visible again
      app: don't use the deprecated GDK_EXTENSION_EVENTS_ALL
      app: port wilber drawing to GtkStyleContext
      modules: port GimpColorWheel to GTK+ 3.x
      app: s/GtkObject/GtkAdjustment/ in gimpdisplayhsell-rotate-dialog.c
      app: port GimpCircle and subclasses to GTK+ 3
      app: remove GTK_OBJECT() case in GimpPopup
      app: use gimp_color_display_stack_get_filters() instead of stack->filters
      libgimpwidgets: #if 0 more stuff in gimp3migration
      app: port GimpContainerTreeView from style_set() to style_updated()
      Revert "Bug 762279 - "Tip of the day" links opens two links"
      plug-ins: s/GtkObject/GtkAdjustment/ in file-wepb
      libgimpwidgets, app: use GdkRGBA instead of GdkColor for cell backgrounds
      libgimpwidgets: make GimpColorScale more-or-less work fine
      app: port GimpMeter to GTK+ 3.x
      app: port gimpwidgets-utils.c to GTK+ 3.x
      app: make GimpHighlightableButton build on GTK+ 3.x
      libgimpbase: remove almost all deprecated compat cruft
      libgimpmodule: remove all deprecated cruft
      libgimpconfig: remove all deprecated cruft
      plug-ins: remove color-enhance, there is a GEGL op doing almost the same
      libgimpcolor: remove most deprecated cruft, rest to follow
      libgimp: remove tons of deprecated cruft
      pdb: remove all deprecated procedures
      libgimpwidgets: remove most deprecated cruft
      libgimpmath: remove all deprecated cruft
      libgimp: deprecate more cruft, everything not needed by cruft plug-ins
      libgimpwidgets: derive GimpChainButton from GtkGrid not GtkTable
      libgimpwidgets: remove gimp3migration.[ch]
      libgimpwidgets: add GtkGrid variants of gimp_[color_]scale_entry_new()
      libgimpwidets: port GimpColorScales to GtkGrid
      Get rid of using GtkMisc API globally
      libgimpwidgets: add gimp_grid_attach_aligned()
      libgimp: port GimpProcView to GtkGrid
      configure.ac: don't define GDK/GTK_MULTIHEAD_SAFE, they are gone
      Get rid of the deprecated gtk_icon_size_lookup_for_settings()
      themes: comment out deprecated stuff in the "System" theme
      app: port GimpColorHistory to GtkGrid
      libgimpwidgets: create GimpIntComboBox' cells in constructed() not init()
      Get rid of all GtkAlignments, use GtkWidget align/margin instead
      Port a lot of stuff from GdkScreen/monitor_number to GdkMonitor
      app: get rid of GtkHSeparator and GtkHScale
      libgimpwidgets: GimpBrowser undeprecated: threads and focus-on-click
      app: get rid of GtkArrow in GimpColorDialog
      app: fix border width of GimpOverlayDialog
      app: get rid of some GtkTables in tools/
      app: add missing const to gimp_cell_renderer_button_activate()
      app: undeprecate GimpSpinScale, still looks like shit tho
      libgimpwidgets: honor the gtk-dialogs-use-header setting in GimpDialog
      app, libgimpwidgets, themes: fix some themeing
      app: port some stuff to gdk_seat_grab/ungrab
      Replace lots of deprecated gtk_menu_popup(), only GimpUIManager left
      app: use gtk_menu_popup_at_widget() in GimpIconPicker
      app: use gtk_widget_get_preferred_size() in gimp_tool_gui_canvas_resized()
      app: add gimp_ui_manager_ui_popup_at_widget()
      app: use gimp_ui_menager_up_popup_at_widget() for the quick mask menu
      app: gimp_ui_manager_ui_popup_at_pointer() and use it where appropriate
      app: port GimpDisplayShell to use GtkGrid
      app, themes: move GimpDisplayShell styling to CSS
      app: remove the unused GimpContainerGridView
      app: add utility functions gimp_widget_get,set_image()
      app: port most menu items that want images to gimp_menu_item_set_image()
      app: remove all deprecated threads_enter/leave code
      Revert "app: remove all deprecated threads_enter/leave code"
      app: port GimpCursorView to GtkGrid
      Bug 794132 - Make the plug-in protocol version part of the plug-in command line
      app: set the right "use-header-bar" on all (?) dialogs
      spinscale: remove our own border drawing
      app: make spinscale much more bearable by fixing some coords
      app: put back two lines that got lost in earlier GTK+ 3.0 porting
      libgimp: undeprecate all GimpFooSelectButton classes
      app: honor the use-header-bar setting in GimpToolDialog
      app: fix splash text color
      app: undeprecate everything in propgui/, mostly table -> grid
      app: pack the content vbox expanding in GimpPrefsBox
      libgimpwidgets: set the widgets's hexpand in gimp_grid_attach_aligned()
      libimp*: add private pointers to all instance structs
      app: properly align frame children in GimpGridEditor
      app: fix GimpPrefsBox' page titles to look like selected rows again
      libgimpwidgets: move public GimpIntStore member to private
      libgimpwidgets: move all GimpPreviewArea members to private
      libgimpwidgets: move all GimpScrolledPreview members to private
      libgimpwidgets: move all GimpPreview members to private
      libgimpwidgets: move GimpEnumStore.enum_class to private
      app: port gimp_navigation_editor_popup() to GdkMonitor's workarea
      app: disable motion compression, have to figure how to control GTK+'s
      plug-ins: disable devel-docs and a bunch of plug-ins, they don't build
      app: port gimp_display_shell_set_initial_scale() to the monitor's workarea
      app: kill all except one GtkAlignment, the tag popup one is a bit tricky
      app: gdk_screen_get_monitor_workarea() -> gdk_monitor_get_workarea()
      plug-ins: port ifs-compose to GTK+ 3.x enough to make it build again
      pdb: remove all compat procedures for the old lcms plug-in
      libgimpconfig: move all GimpColorConfig members to private
      libgimpmodule: move all GimpModuleDB members to private
      libgimp: move all GimpProcBrowserDialog members to private
      app: fix themeing of GimpHistogramView and GimpCurveView
      libgimpwidgets: undeprecate gimppickbutton-default.c
      app: the goats are invading again, and are almost undeprecated
      Get rid of gdk_flush() globally, use gdk_display_flush()
      libgimpwidgets: port GimpPreview to GtkGrid
      themes: clean up gimp.css, with some added commented experiments
      app: undeprecate GimpLevelsTool
      app: behold unseen fancy shit in preferences
      app: follow preferences changes/improvements in GimpDeviceEditor
      app: set all GtkPaned widgets to have wide handles
      Use gtk_show_uri_on_window(), gtk_show_uri() is deprecated
      libgimpwidgets: add macros to hide alternative_button_order warnings
      Use the new macros from the last commit in all files
      app: use GTK_ICON_SIZE_MENU for GimpColorEditor's page switching icons
      app: use the passed parent's toplevel in gimp_color_dialog_new()
      app: fix button order in GimpColorDialog
      libgimpwidgets: also move GTK_RESPONSE_CLOSE buttons to the left
      themes: remove deprecated style properties from System/gimp.css
      app: get rid of gdk_keymap_get_default(), use get_for_display() instead
      app: undeprecate about-dialog.c, and clean out a lot of cruft
      plug-ins: undeprecate script-fu-interface.c
      plug-ins: if GIMP_UNSTABLE, install test script-fu and pygimp scripts
      plug-ins: copy gimp_spin_button_new() into the last two plug-ins using it
      libgimpwidgets: remove gimp_spin_button_new()
      libgimpwidgets: set GDK_EVENT_SCROLL on GimpPreview's preview area
      libgimpwidgets: add gimp_scroll_adjustment_values()
      app: use gimp_scroll_adjustment_values() for scrolling the canvas
      app: set GDK_SCROLL_MASK on widgets that need scroll events
      app: use gimp_scroll_adjustment_values() in GimpNavigationEditor
      Enable and fix smooth scrolling and zooming
      app: undeprecate GimpDessionInfo and fix remembering size and position
      app: undeprecate GimpDashEditor
      app: don't use gtk_widget_modify_text() in GimpContainerEntry
      app: add the help button the proper way in GimpFileDialog
      libgimp: remove some more cruft that is not used any longer
      app: undeprecate GimpUIConfigurer, don't use gtk_window_parse_geometry()
      app: undeprecate stroke-dialog.c
      Undeprecate/improve GimpScaleComboBox and GimpUnitComboBox
      app: undeprecate gimp_highlight_widget_draw()
      app: use a cairo recording surface to measure GimpCanvasPath's extents
      app: kill the mess of boxes in GimpDisplayShell, use a grid for everything
      app: derive GimpStatusbar from GtkFrame not GtkStatusbar
      themes: some GimpDhsplayShell and children CSS hackery
      app: remove the option to enable tearoff menus
      app: undeprecate GimpDeviceStatus. don't use gtk_widget_set_state()
      app: port GimpDeviceManager and GimpDeviceInfo to GdkSeat
      libgimpwidgets: left-align gimp_prop_enum_label_new()
      app: add "source", "vendor-id" and "product-id" to GimpDeviceInfo
      app: use GdkDeviceTool properties to GimpDeviceInfo
      app: the last s/GdkDeviceManager/GdkSeat/
      app: add gimp_button_set_suggested,destructive() to gimpwidgets-utils
      app: remove GimpHighlightableButton
      app: add the new distance, rotation and slider axes to GimpCoords
      libgimpwidgets: undeprecate insensitive drawing of GimpColorArea
      libgimpwidgets: undeprecate insensitive drawing of GimpColorSacle
      app: remove GimpScaleButton, it has not been used in ages
      app: the return value of gdk_device_get_has_cursor() has become meaningless
      libgimpwidgets: undeprecate GimpScrolledPreview
      libgimpwidgets: undeprecate GimpNumberPairEntry and style the font with CSS
      app: undeprecate GimpThumbBox
      app: make GimpFgBgView draw within the focus rectangle
      app: remove almost all code from GimpOverlayFrame
      app: fix positioning of the text tool's style overlay
      app: don't use gtk_window_parse_geometry() in GimpImageWindow
      app: use gtk_widget_get_preferred_size() not get_requisition() in GimpView
      app: fix size negotiation of GimpOverlayDialog
      app: undeprecation in GimpOverlayBox
      app: fix GimpMessageBox size negotiation
      app: remove insane sizing hacks and boxes from GimpThumbBox
      app: undeprecate GimpMeter
      app: fishes now explode undeprecated
      app: handle GIMP_ZOOM_SMOOTH in gimp_palette_editor_zoom()
      app: use gdk_seat_ungrab() in gui_ungrab()
      app: fix gimp_highlight_widget() to not draw multiple highlights
      app: get rid of the dnd_window in GimpPanedBox
      app: fix setting a NULL image in gimp_menu_item_set_image()
      app: fix drawing of the canvas padding color
      app: undeprecate gimpdisplayshell-scale.c and fix "unused variable" warning
      app: fix drawing of GimpColorFrame's number
      app: actually set the color frames to "not dirty" after updating them
      libgimpwidgets: move all GimpSizeEntry members to private
      po: update POTFILES.skip
      libgimp: update all .def files
      app: fix gimp_test_utils_create_image_from_dialog()
      app: in testing mode, load plug-ins without subdirectories again
      app: remove the entire dockable tab auto-sizing code
      menus: forgot to remove automatic tab style
      plug-ins: undeprecate print-preview.c
      app: fix synthesizing pointer events in test-tools.c
      plug-ins: gfig was still connecting to an "expose-event" signal
      desktop: update .gitignore
      tools, app-tools: update .gitignore
      docs: update .gitignore
      libgimpwidgets: use G_DEFINE_ABSTRACT_CLASS for preview classes
      Merge request 4 - Generated .c sources are used as headers...
      plug-ins: hopefully make it build after my GdkScreen/GdkMonitor b0rk
      cursors: oops, I optimized generation of resource files away
      app: force gimp-tool-cursors.c to be linked into the binary
      libgimpwidgets: allow NULL adjustments in gimp_scroll_adjustment_values()
      Issue #1521 - First time start: GIMP-Error: Error while parsing templaterc
      app: fix some stuff in tests, down to 3 failing
      m4macros: forgot 2.0 -> 3.0 here
      app: don't set a permanent size request on the canvas
      app: fix setting dock window size from GimpSessionInfo
      app: remove useless "return" in GimpSpinScale
      app: remove all size negotiation/allocation code from GimpDockable
      libgimpwidgets: remove all size negotiation/allocation code from GimpFrame
      app: fix GimpRectangleOptions' packing after the GimpFrame change
      Issue #1520 - GIMP 2.10 Crashes when trying to convert 8bit colour...
      modules: undeprecate GimpColorWheel
      themes: use "large-toolbar" for toolbox buttons, "button" is too small
      plug-ins: undeprecate screenshot-x11.c
      configure.ac: update the logic that doesn't add FOO_DISABLE_DEPRECATED
      Use g_set_object() in a lot of places, and splrinkle some g_clear_object()
      app: make GimpDataFactory properly derivable
      app: change all GimpCoreConfig data paths to GIMP_CONFIG_PARAM_CONFIRM
      app: derive GimpFont from GimpData
      app: add new GimpDataFactory subclass GimpFontFactory
      app: GimpDataFactoryView: don't add buttons for actions which don't exist
      app: add GimpFontFactoryView as replacement for GimpFontView
      app: remove all old font management code, switch to GimpFontFactory[View]
      app: add gimp_data_factory_get_data_path[_writable]()
      app: use gimp_data_factory_get_data_path() in GimpFontFactory
      app: don't let gtk_tree_store_clear() mess with our selected item
      app: move the GimpAsyncSet and the waiting code to GimpDataFactory
      app: don't leak the identifier if gimp_data_make_internal() is called again
      app: make gimp_font_get_standard() return a GimpData
      app: call the standard font "Standard" not "Sans-serif"
      app: handle fonts more correctly in gimp_context_deserialize_property()
      app: we always need to freeze/thaw around gimp_font_factory_data_init()
      Issue #1531 - Zooming with mouse movement should keep track of original point
      app: add "new-func" and "get-standard-func" properties to GimpDataFactory
      app: make gimp_data_factory_data_foreach() public
      Revert "app: make gimp_data_factory_data_foreach() public"
      app: make gimp_data_factory_data_foreach() public
      app: add GimpDataLoaderFactory which loads data from an array of formats
      Issue #1560 - invisible canvas flip/rotation buttons...
      app: undeprecate styling of GimpComboTagEntry and GimpTagPopup
      tools: rename test-keyboard.c and install it as gimp-test-clipboard
      app: remove unused variables in GimpEditor
      app: add missing include in GimpProcedureAction
      app: use a GtkFlowBox for the toolbox' color/foo/image areas
      app, libgimp*: remove the config option to disable tooltips
      Issue #1291 - Non-intrusive warning when saved XCF version...
      app: remove most of our own dockable DND code
      app: remove gimp_dock_temp_add() and _temp_remove()
      app: cleanup, code reordring and cruft removal in GimpDockable
      app: remove more GimpDock and GimpDockbook API in favor of GtkNotebook
      Isse #1595 - Windows gdk_win32_drawable_get_handle is not exported
      Issue #1441 - Copy paste issue, internal clipboard blocks global clipboard
      libgimpwidgets: install gimpbusybox.h as public header
      Issue #1435 - Add tooltips to GimpColorNotebook's tabs
      all: make GimpDataLoaderFactory less static
      app: if --verbose, make GimpDataFactory print each loaded and saved data
      app: GimpToolPreset: s/GimpTransformOptions/GimpTransformGridOptions/
      app: set a CSS name on GimpColorHistory so it can be individually themed
      app: fix styling in GimpEditor, put back GtkWidget::style_updated()
      themes: tweak some more widgets in space-critical places
      app: set CSS names on GimpToolDialog and GimpOverlayDialog
      themes: use the same smaller styling we use for docks for tool dialogs
      app: increase opacity of GimpTextTool's overlay widget, it was unreadable
      themes: make the buttons in tool dialog header bars slightly larger again
      Issue #1627 - Non-existing item ID error when loading multiple-image HEIFs
      plug-ins: undeprecate file-heif but only as much as can be merged to 2.10
      plug-ins: don't use the deprecated gtk_hscale_new_with_range()
      plug-ins: put file-heif's icon view into a scrolled window
      plug-ins: pack the file-heif load dialog's icon view cells manually
      libgimpwidgets: pack the cells in GimpPageSelector's icon view manually
      themes: make tool buttons great again
      libgimpwidgets: improve gimp_scroll_adjustment_values()
      themes: fix the toolbox button selector, remove special style
      Issue #1634 - PNG image opens as a blank one in GIMP
      app: move -u gimp_tool_cursors_get_resource to gimp_LDFLAGS
      Generate icon resources where they are needed, and don't include .c files
      app: undeprecate GimpGradientEditor, fix scrolling and drawing
      Issue #1633 - Palette Editor is much too wide on GIMP 2.99
      app: make GimpCursorView fit narrow docks
      Issue #1450 - Transform tools don't add an alpha channel in 'None' interpolation
      app: add GIMP_CONTEXT_PROP_MASK_TOOL_PRESET to GIMP_CONTEXT_PROP_MASK_ALL
      Issue #1213 - Text Tool Preset does not restore font face/name...
      app: some cleanup in GimpContext
      app: don't g_return_if_fail() in gimp_device_info_set_device()
      app: some g_return_if_fail() were missing or non-standard in GimpContext
      app: show the added tab in gimp_dockbook_page_added()
      Isse #1476 - strange behavior in Layer resize dialog
      app: make sure crash-saving of open images to XCF doesn't call the GUI
      Issue #1611 - plug-in-screenshot does not work in non-interactive run mode
      app: undeprecate GimpTextStyleEditor, and set a CSS name for themeing
      themes: make stuff in GimpTextStyleEditor smaller
      app: cleanup in GimpClipboard
      Issue #701 - Add the ability to embed the GIMP built-in sRGB profile...
      libgimp: remove gimp_gamma()
      plug-ins: clean up pagecurl build, update .gitignore
      app: fix drawing the focus around the selected color in GimpPaletteView
      Issue #1677 - Alpha channel copy / Layer Mask issues
      app: remove gimp_layer_mask_new_from_buffer() and some includes
      Issue #1678 - CWE-120 - Don't use strcpy()
      app, themes: make the color tag button in item properties smaller
      libgimpwidgets: finish GimpColorScale undeprecation, and lots of cleanup
      libgimpwidgets: remove unused variable in GimpColorButton
      Issue #1093 - Color dialog appears in the first monitor...
      app: protect windows-actions.c against adding/removing a GdkDisplay twice
      app: should --amend my commits after I fix something...
      app, menus: add new menu item Debug -> Start GtkInspector
      app: move the palette editor color dialog code to GimpPaletteEditor
      app: move the colormap editor color dialog code to GimpColormapEditor
      app: make gimp_gradient_editor_update() private
      app: move the gradient editor color dialog code to GimpGradientEditor
      app: when a plug-in procedure is not sensitive, show the reason in the tooltip
      app: fix signature of gimp_gegl_procedure_get_sensitive()
      app: argh!
      Issue #1706 - Typo in gimpgradientselect.h include guard
      app: make GimpFgBgEditor and GimpFgBgView honor border and padding
      Issze #1711 - GIMP does not unref all GLocalFileEnumerator it uses
      app, libgimpwidgets: all GimpColorHexEntries should have the same tooltip
      Clean up color selector styling
      app: peek/poke much less in GimpGradientEditor internals
      app: more GimpGradientEditor cleanup
      Remove most GTK_ADJUSTMENT() and (GtkAdjutment *) casts
      Issue #1714 - When GIMP starts, default brush hardness is always at 100
      Issue #1719 - GIMP crashes with an invalid pluginrc
      plug-ins: create the web-page image using webkit_web_view_get_snapshot()
      plug-ins: wait one second before calling webkit_web_view_get_snapshot()
      app: remove gdk_window_process_updates() from gimp_overlay_box_scroll()
      app: don't do any queue_resize() in the canvas' size-allocate callback
      Issue #1340 - Critical when editing input controllers
      app: add gimp-tool-options-manager.[ch]
      app: gimp_container_icon_view_select_item() must only select one item
      app: small fix in gimp-tool-options-manager.c
      app: more stuff in gimp-tool-options-manager.c
      app: make sure the active tool options get saved in devicerc
      app: switch to using gimp-tool-options-manager
      app: indentation in gimp-tools.c
      app: move the improved paint property copying code to GimpPaintOptions
      app: fix logic error in tool_options_manager_paint_options_notify()
      app: some cleanup in tool_manager and gimp-tool-options-manager
      libgimpwidgets: remove calls to gdk_window_process_[all]_updates()
      app: remove all calls to gdk_window_process_updated()
      app: on make check, search menu XML files in both buildir and srcdir
      app: adjust sessionrc-expected-multi-window, no further comment...
      configure.ac: require babl >= 0.1.52
      app: undeprecate gimpdisplayshell-layer-select
      app: prepare gimpdisplayshell-selection for undeprecation
      app: fix width of GimpThumbBox' thumbnail generation progressbar
      app: use GdkRGBA instead of GdkColor for text tags
      app: undeprecate GimpStatusbar
      app: undeprecate GimpDisplayXfer, no more gdk_cairo_create()
      Issue #1719 - GIMP crashes with an invalid pluginrc
      Issue #1748 - Crash when parsing currupt tool preset
      configure.ac: require GEGL >= 0.4.4
      app, plug-ins: clean up gimpbrush-header.h and gimppattern-header.h
      app, plug-ins: move GIMP_BRUSH_MAX_SIZE to gimpbrush-header.h
      Issue #1730 - pat file that crashes gimp-2.10
      app: link tests against APPSTREAM_GLIB_LIBS
      app: switch off overlay scrollbars in tool options
      plug-ins: need to initialize "name" now in file-pat.c
      Issue #1805 - Sample Points keep resetting themselves to "Pixel"
      app: make the rectangle options a bit narrower, still too wide...
      app, libgimp*: make user visible color model labels consistent
      libgimpwidgets: forgot one s/H/h/ in LCh
      app: small improvement to previous GimpPaletteEditor commit
      app: remove the <Toolbox> compat menu path for plug-ins
      po*: change Report-Msgid-Bugs-To URL to gitlab.gnome.org
      More bugzilla -> gitlab in various files
      Change the license URL from http://www.gnu.org/licenses/ to https://
      Forgot two license links...
      Issue #1833 - (gimp-context-get-gradient-repeat-mode) always warns...
      Issue #1834 - (gimp-context-get-gradient) could return a gradient name...
      app: remove duplicate include in gimpcurvesconfig.c
      app: small formatting fix in gimpfiltertool-widgets.c
      app: relax precondition checks in gimp_operation_config_get_type()
      libgimpbase, app: remove the plug-in menu_path compat code
      libgimpwidgets: fix GimpIntComboBox popup-shown appearance
      app: include extensions-dialog.h in dialogs-constructors.c
      app: remove forgotten prototype from gui.c
      Issue #1841 - Export As... mng swaps width and height
      app: undeprecate gimpdisplayshell-selection.c
      libgimpthumb: update the URL of the thumbnail spec
      po-python: apparently I missed one bugzilla URL before
      Change a bazillion URLs to https://
      plug-ins, pdb: remove the unsharp-mask plug-in and add a PDB compat proc
      app: fix GimpControllerWheel for smooth scrolling events
      app: rename enum GimpColorPickMode to GimpColorPickTarget
      app: some cosmetic cleanup in the guide code
      app: turn GimpSamplePoint into a GObject, just like GimpGuide
      app: add GimpAuxItem as base class for GimpGuide and GimpSamplePoint
      app: minor cleanup in gimpguide.c
      app: sort core-enums.h alphabetically
      app: move GimpColorFrameMode to the core and name it GimpColorPickMode
      libgimpmodude: increment GIMP_MODULE_ABI_VERSION
      Issue #1805 - Sample Points keep resetting themselves to "Pixel"
      Issue #1805 - Sample Points keep resetting themselves to "Pixel"
      libgimpcolor: add gimp_color_profile_get_space()
      app: opaque in gimp_layer_new() is 1.0 not 255
      libgimpwidgets, icons: add gimp-color-space-non-linear icon
      Initial space invasion commit in GIMP
      app: make replacing a drawable's format use almost no undo memory
      libgimpwidgets: fix gimp_monitor_get_color_profile()
      Issue 1652 - Empty toolbox has very large minimum height in MWM
      Issue 1917 - GIMP-2.99 uses sRGB instead of the user-selected monitor profile
      libgimpcolor: make gimp_color_transform_process_buffer() thread-safer
      Issue #1954 - GIMP-2.99 color changes when converting between...
      Issue #1980 - Color picker wrong results when picking from non-sRGB...
      Issue #1662 - GIMP crashes while using cage transform when selection is active
      app: add precondition checks to gimp_gegl_convert_color_profile()
      Issue #1953 - Crashes during color profile conversion
      Issue #1997 - Colors not properly converted to image's color space
      Issue ##2000 - Linked and unlinked chain icons look almost identical
      icons: make the gap of the broken chain larger in the Color theme
      app: make GimpDeviceInfo more rubust against broken device listings
      app: s/sprintf/g_snprintf/ in xcf_save_image()
      app: remove the image's "Enable Color Management" toggle
      app: fix tooltips on the toolbox' color and image areas
      Issue #2210 - GIMP crashes on startup if usb mouse is present
      configure.ac: the list of required versions is now alphabetically ordered
      plug-ins: kill deprecated GtkAlignment in file-xmc
      docs, etc: regenerate system gimprc and its manpage
      plug-ins: kill some deprecated GtkAlignments
      plug-ins, pdb: remove the fractal-trace plug-in and add a PDB compat proc
      plug-ins: kill GtkAlignment in cml-explorer
      Issue #2332 - Marching ants from one image displayed on every tab
      plug-ins: don't use gimp_rgb_to_hsv_int() and gimp_hsv_to_rgb_int()
      libgimpcolor: remove gimp_rgb_to_hsv_int() and gimp_hsv_to_rgb_int() cruft
      plug-ins: stop using gimp_rgb_to_hsl_int(), gimp_hsl_to_rgb_int()
      libgimpcolor: remove deprecated integer RGB <-> HSL conversion functions
      plug-ins: kill GtkAlignment in all plug-ins which are currently built
      plug-ins: make curve-bend build again, and undeprecate it a bit
      plug-ins: fix some new strncpy() warnings
      Issue #2388 - CRITICAL: XMP Toolkit error 4: Invalid UTF-8 data byte
      Issue #2386 - Pattern fill with selection is shifted in 2.10
      Issue #2226 - Assigning wrong color profile results in error reporting dialog
      themes: draw a wider border around GimpFgBgColor's active color
      Issue #2235 - Color reset/swap keyboard shortcuts not discoverable...
      Issue #2379 - Crash on saving
      Issue #2224 - Use the "Swap folder" setting for the GEGL cache
      Issue #1025 - Place taken by expanded "Advanced Color Options"...
      Issue #1297 - Unhide the items hidden in the Advanced drop-down file...
      Issue #1297 - Unhide the items hidden in the Advanced drop-down file...
      plug-ins: always save the color profile in file-psd
      Issue #1297 - Unhide the items hidden in the Advanced drop-down file...
      Integrate the logic of profile saving with metadata saving
      libgimp: need to expand config->swap_path in gimp_config()
      libgimp: actually use the path expanded in the previous commit
      plug-ins: port the GIF plug-in's UI file to GTK+ 3.x
      app: clean up size group code in the preferences dialog
      app: fix capitalization of the "Line Art Detection" frame
      app: pass a GdkWindow not GdkDisplay to gimp_cursor_new()
      app: support cursors with a scale factor of 2 for HiDPI
      app: make a HiDPI-aware magenta fallback square in gimp_widget_load_icon()
      app: fix last gimpcursor.c commit: g_printerr() needs a newline
      app: make GimpFgBgEditor and GimpStatusbar HiDPI-aware
      app: make GimpErrorConsole's icons HiDPI-aware
      cursors: add -HiDPI variants of all cursors
      app, libgimpcolor: handle palette formats across babl_format_with_space()
      libgimp: fix gimp_drawable_get_format() to honor the drawable's space
      app: fix the layer formats of indexed images to contain the space
      configure.ac: require babl >= 0.1.61
      libgimp: use G_N_ELEMENTS() in gimp_image_metadata_save_finish()
      Issue #2667 - When copying a text layer, paste should create a new...
      Issue #1788 - Inconsistency between FG color and selected color in...
      plug-ins: in file-png, pass a more correct SAVE_COLOR_PROFILE flag...
      app, libgimpbase: move enum GimpBucketFillArea to the core
      app, libgimp*: move enum GimpBucketFillMode to the core
      app, libgimp: forgot to add /*< pdb-skip >*/ to enum GimpBucketFillMode
      app: wrap some overly long lines in gimpbucketfilltool.c
      app: fix canvas jumping because of the status bar label being too wide
      po-plug-ins, po-script-fu: update for the DDS plug-in
      Issue #2617 - Export to C image artifacts
      Issue #2685 - Crash when distributing layers horizontally
      AUTHORS: regenerated
      tools: fix perl warning about unescaped left brace in gimp-mkenums
      Issue #1538 - Crash when adding file to already opened image and...
      Issue #2540 - block width / height slider of the pixelize filter don't...
      Issue #2136 - On-image UI for adjusting Linear Motion Blur
      app: put the * { -gtk-icon-style: regular|symbolic; } into theme.css
      pdb: remove gimp_get_theme_dir() and gimp_get_icon_theme_dir()
      libgimp: make sure plug-ins follow the core's theme
      Issue #2446 - DPI information is not stored in clipboard
      Issue #2751 - Some Translated sentences appear as Untranslated
      plug-ins: set a minimum height on the unit editor's scrolled window
      Issue #2260 - "Selection to Path Advanced Settings" dialog not scrollable
      Issue #1793 - Move Guillotine tool to a different position in menus...
      Issue #1437 - 2.10 Image Metadata "keywords" corrupt
      Issue #1358 - Increase default size of "extended input device dialog"...
      Issue #1004 - file-pdf-load crashes in lcms when opening PDF with...
      Issue #763 - GTK3 GIT Set Keyboard Shortcut Broken
      libgimpbase: more metadata fixes for tags that can appear multiple times
      app: make all pixbuf rendering in GimpViewRenderer HiDPI-aware
      app: remove a junk signal signature from struct GimpGuiConfigClass
      plug-ins: small formatting fix in selection-to-path-dialog.c
      Issue #266 - Healing Tool - Sample Merged option does not work
      Issue #1942 - Smudge Tool with Sample Merged Option
      Issue #2863 - Improve error reporting for scripts
      app: remove GimpDrawableFilter's own color profile conversion hack
      libgimp: formats with space are only for layers
      plug-ins: add .gitignore file to file-dds
      Issue #1683 - possibly undefined macro: AM_PATH_GTK_3_0
      Issue #2867 - iso-codes location is not relocatable on all platforms
      libgimpbase: add gimp_installation_directory_file() to gimpbase.def
      Issue #2898 - Gegl Operations - Color Wrap does not fit the screen on...
      app: in the prefs dialog, warn that OpenCL support is experimental
      app: fix tool->progress_cancelable assignment in gimp_tool_progress_start()
      app: add all missing festures from file-gbr-load to the core brush loader
      app, plug-ins: start consolidating brush and pattern loading/saving code
      app: move file-pat-load from the file-pat plug-in to the core
      app: add an "Open as Image" button to the brushes dialog
      app: implement pattern saving in the core
      app: remove useless includes from gimppattern-save.c
      app: implement brush saving in the core
      app: don't unref a NULL GimpTempBuf in gimp_pattern_copy()
      app, plug-ins: move pattern saving to the core
      plug-ins: remove stuff that is no longer needed from file-pat
      plug-ins: forward the error message if file-pat-save-internal fails
      app, plug-ins: move brush (gbr) saving to the core
      app: factor file_gbr_brush_to_layer() out of the brush-to-image logic
      app: cosmetic change in file_pat_load_invoker()
      app: some changes to GimpBrushPipe in preparation for .git image loading
      app, plug-ins: move file-gih-load from the file-gih plug-in to the core
      app: use NON_LINEAR not PERCEPTUAL in file-pat-load and file-gbr-load
      app: implement saving of GimpBrushPipes in the core
      app: factor out gimp_brush_pipe_set_params() from gimp_brush_pipe_load()
      app: factor file_gbr_drawable_to_brush() out of file_gbr_image_to_brush()
      app, plug-ins: move brush pipe saving from the file-gih plug-in to the core
      app: optimize gimp_layer_invalidate_boundary()
      app: fix legacy .gpb parsing code in gimp_brush_load_brush()
      app: remove defines GIMP_BRUSH_FILE_VERSION and GIMP_PATTERN_FILE_VERSION
      app: don't dereference NULL image pointer
      app: make sure the labels of our GtkImageMenuItem replacements get updated
      Issue #3251 - Windows menu shows doc's old name not new
      plug-ins: big formatting and indentation cleanup in file-dds
      Issue #3343 - Some translated tooltips are appearing untranslated
      Issue #3364 - make check fails with a linker error
      Issue #3124 - layer mask pastes as a greyscale layer/grayscale layer...
      app: minor formatting fixes in gimpdrawable-bucket-fill.c
      app: add gimp_dialog_factory_position_dialog()
      app: forgot to remove comment in color_area_color_clicked()
      Issue #3398 - colour map picker isn't positioned on the correct...
      Issue #3067 - "Make New from Visible" produces wrong results
      app: use g_clear_pointer() in more places
      app, plug-ins: make sure a GIH brush's spacing is preserved
      libgimpcolor: space invade gimp_color_profile_get_lcms_format()
      Issue #2794 - Gimp crash just on File Open and Edit Preferences
      Issue #3132 - Missing accelerator on "Export Image as JPEG" dialog
      libgimpcolor: better error messages in GimpColorProfile and GimpColorTransform
      Issue #263 - Add a "Save Keyboard Shortcuts Now" button...
      Issue #2986 - Input controller configuration window is too small by default
      libgimp: use the dialog header bar in GimpProcBrowserDialog
      app: use the DEFAULT_USE_PATTERN define instead of TRUE in GimpPreset
      app: add the dialog buttons after creating the GimpColorDialog instance
      app: make sure builtin profiles *really* don't get attached to images
      app: fix undoing image parasite attach/detach to emit the right signals
      app: don't generate profiles from built-in profiles
      Issue #3057 - Retain last user-chosen ICC profile information...
      app: clean up most "non-linear" vs. "perceptual" confusion
      app: rename gimp_rec_rm() to gimp_file_delete_recursive()
      app: add gimp_suggest_trc_for_component_type()
      app: use GTK_RESPONSE_CLOSE in image-properties-dialog
      Issue #2643 - Conversion to grayscale fails with artifacts
      libgimpwidgets: keep gimpwidgetsenums.h in alphabetical order
      Issue #2194 - Action search dialog behaves as a full window...
      app: remove redundant assignment in gimptoolpreset.c
      Issue #2057 - All tool presets change FG, BG and Pallete color...
      configure.ac: also check for gtk-update-icon-cache-3.0
      app: disable overlay scrolling for preferences pages
      tools: fix windows file handling in gimp-test-clipboard.c
      Issue #3264 - Wrong colors from opening and exporting non-sRGB tiffs...
      Issue #3264 - Wrong colors from opening and exporting non-sRGB tiffs...
      Issue #3264 - Wrong colors from opening and exporting non-sRGB tiffs...
      Issue #3512 - feather selection doesn't work at edges of images
      app: some files were missing from the previous commit
      app: add missing space to a tooltip of the new feather feature
      libgimpconfig: fix previous commit to return the right error token
      app: consolidate all metadata syncing code into gimpimage-metadata.c
      Issue #3532 - Wrong color profile on nikon taken photos, it's...
      Issue #3532 - Wrong color profile on nikon taken photos, it's...
      Issue #3500 - Preferences option to convert to Preferred RGB profile...
      app: some formatting in the edit non-visible layers code
      configure.ac, plug-ins: make file-heif build with older libheif again
      plug-ins: space invade file-heif
      plug-ins: space invade file-jpeg
      plug-ins: improve/fix metadata handling in file-exr
      Issue #3503 - Display Preset names on Filter Dialogs
      app: allocate GimpCurve's points with g_new0() and not just g_new()
      plug-ins: improve JPEG and EXR comment validation
      plug-ins: cleanup, copyright headers, formatting in the openexr-wrapper
      plug-ins: fix comment typo in file-png
      plug-ins: port jigsaw to GEGL
      Issue #3435 - GIMP encountered an error: GIMP-CRITICAL:...
      plug-ins: port blinds to GEGL
      plug-ins: replace gimp_drawable_get_color_uchar() by manual code
      libgimp: remove gimp_drawable_get_color_uchar()
      pygimp: replace gimp_drawable_get_tile2() by gimp_drawable_get_tile()
      pygimp: argh...
      libgimp: remove gimp_drawable_get_tile2()
      plug-ins: replace gimp_datafiles_read_directories() by GFileEnumerator
      libgimpbase: remove gimpdatafiles.[ch], it's deprecated and now unused
      plug-ins: port flame to GEGL, 8-bit only
      plug-ins: port fractal-explorer to GEGL, 8 bit only
      app: add gegl:bayer-matrix and gegl:linear-sinusoid to the menus
      plug-ins: port film to GEGL
      plug-ins: port nl-filter to GEGL, 8 bit only
      libgimp: forgot to deprecate gimp_drawable_preview_draw_region()
      Issue #3093 - Invalid characters in Open Location dialog crashes GIMP
      libgimpwidgets: don't use g_type_class_add_private() in GimpColorButton
      app: get rid of manual object type registration
      app: start porting away from GtkAction and friends
      app: fix some warnings in gimpactiongroup.c
      plug-ins: fix two harmless compiler warnings
      app: change all action callback signatures to use GimpAction
      Issue #3599 - Crash when creating channel
      app: GtkAction -> GAction madness part two
      Issue #1725 - "Open location..." can't open internet URIs due to GLIB/GIO
      Issue #3610 - Documentation: missing item in built-in documentation...
      app: don't use gdk_screen_get_height() in GimpSearchPopup
      app: don't warn in gimp_action_history_action_activated()
      app: undeprecate GimpTagPopup
      app: get rid of a few more GtkAction warnings, and a little cleanup
      plug-ins: some WIP undeprecating curve-bend
      plug-ins: port gradient-flare to GEGL, stupid 8-bit only
      plug-ins: port checkerboard to GEGL, stupid 8-bit port only
      plug-ins: replace calls to GimpRegionIterator functions
      libgimp: remove the deprecated gimpregioniterator.[ch]
      plug-ins: tile-small was still using "expose-event", port to "draw"
      plug-ins: port tile-small to GEGL, stupid 8-bit port only
      plug-ins: a ton of cleanup in curve-bend
      plug-ins: port curve-bend to GEGL, stupid 8-bit port only
      libgimp: remove gimppixelfetcher.[ch] it was deprecated and now unused
      libgimpbase: remove the gimp_datafiles functions from gimpbase.def
      plug-ins: port sample-colorize to GEGL, stupid 8-bit port only
      plug-ins: forgot one deprecated call in sample-colorize
      libgimp: make gimp_tile_flush() internal as _gimp_tile_flush()
      Issue #3630 - postscript plugin crashes
      plug-ins: port map-object to GEGL
      plug-ins: port lighting to GEGL
      plug-ins: port grid to GEGL, stupid 8-bit port only
      pdb, libgimp, app: add gimp_drawable_get_thumbnail_format()
      plug-ins: port despeckle to GEGL, stupid 8-bit port only
      plug-ins: port sphere-designer to GEGL, stupid 8-bit port only
      plug-ins, pdb: remove the cartoon plug-in and add a PDB compat procedure
      plug-ins: port contrast-retinex to GEGL, stupid 8-bit port only
      plug-ins, pdb: remove the photocopy plug-in and add a PDB compat procedure
      plug-ins: port hot to GEGL, stupid 8-bit port only
      plug-ins: hot's dest_buffer can have another format than src_buffer
      plug-ins: port sparkle to GEGL, stupid 8-bit port only
      plug-ins: port cml-explorer to GEGL, stupid 8-bit port only
      plug-ins: port destripe to GEGL, stupid 8-bit port only
      plug-ins: port twain to GEGL, 8-bit port only
      plug-ins, pdb: remove the edge-neon plug-in and add a PDB compat procedure
      Issue #360 - scripts that require brushes that GIMP no longer installs
      plug-ins, pdb: remove the contrast-normalize plug-in
      plug-ins, pdb: remove the edge-dog plug-in and add a PDB compat procedure
      plug-ins, pdb: remove the softglow plug-in and add a PDB compat procedure
      plug-ins: remove the max-rgb plug-in without replacement
      plug-ins: remove the blur plug-in without replacement
      plug-ins: remove color-cube-analyze without replacement
      plug-ins: remove the sharpen plug-in without replacement
      plug-ins: port animation-optimize to GEGL, stupid 8-bit port only
      plug-ins: remove the colorify plug-in without any replacement
      app: make display update much faster again
      app: add a "Zoom Quality" control to preferences -> display
      app: fix gimp_display_shell_render() to draw alpha correctly
      app: use CAIRO_OPERATOR_SOURCE in gimp_display_shell_scroll()
      plug-ins: port van-gogh-lic to GEGL
      app: fix crash in the newly added GimpDisplayShell render_cache code
      plug-ins: port depth-merge to GEGL, stupid 8-bit port only
      app: add gegl:newsprint to Filters -> Distorts
      app: improve gegl:newsprint's GUI a lot
      pdb, plug-ins: remove the newsprint plug-in and add a PDB compat procedure
      pdb, plug-ins: remove the emboss plug-in and add a PDB compat procedure
      plug-ins: port warp to GEGL, stupid 8-bit port only
      libgimp: remove gimp_tile_ref() and gimp_tile_unref() from the API
      app: add gegl:mean-curvature-blur to Filters -> Blur
      libgimp: remove deprecated GimpPixelRgn functions which are now unused
      plug-ins: port imagemap to GEGL
      plug-ins: remove the oilify plug-in and add a PDB compat procedure
      plug-ins: port gimpressionist to GEGL, stupid 8-bit port only
      libgimp: remove gimp_drawable_preview_draw_region()
      plug-ins: remove filter-pack without any replacement
      libgimp: remove GimpPixelRgn, it's now completely unused, yay!
      libgimp: remove GimpTile from the public API, and kill the tile cache
      libgimp: remove GimpDrawable and GimpTile
      libgimp: remove the tile_mul code from GimpTileBackendPlugin
      libgimp: use one memcpy() between gimp and gegl tiles if possible
      plug-ins: remove unused declaration of a GimpDrawable variable
      app, pdb, libgimp: remove the "plug-in precision-enabled" API and logic
      libgimpbase: minor cleanups while grepping for DEPRECATED
      libgimp: cleanup in GimpTileBackendPlugin
      plug-ins: replace stock icons in gfig by a resource
      plug-ins: port lighting from stock icons to using a resource
      plug-ins: port map-object to icon names too
      plug-ins: gfig-icons.c doesn't need an i18n include any longer
      app: fix render cache artifacts when resizing the canvas
      plug-ins: port imagemap to named icons from a resource
      plug-ins: suppress deprecation warnings from the OpenEXR headers
      plug-ins: don't use GtkStyle in ifs-compose, it's deprecated
      plug-ins: completely undeprecate sample-colorize
      plug-ins: completely undeprecate curve-bend
      plug-ins: don't use deprecated icon API in compose
      plug-ins: clean up the file-dds GUI, remove the "Advanced" expander
      plug-ins: port file-dds to GtkGrid
      plug-ins: some GTK3 undeprecation in imagemap
      plug-ins: link file-pdf against GEGL/babl
      plug-ins: revive animation-play, and draw stuff with cairo
      app: fix tests by using the right value in sessionrc-expected-multi-window
      libgimpbase: forgot to remove the GimpDatafileData typedef
      devel-docs: change the libgimpbase docs to "libgimpbase3"
      devel-docs: fix the libgimpconfig docs
      devel-docs: update docs with missing symbols and types
      devel-docs: fix and update the libgimpcolor docs
      devel-docs: fix and update the libgimpmath docs
      devel-docs: fix and update the libgimpmodule docs
      devel-docs: fix and update the libgimpwidgets docs
      devel-docs: fix and update the libgimpthumb docs
      devel-docs: fix and update the libgimp docs
      devel-docs: undeprecate doc-shooterm but just so it builds
      libgimpwidgets: fix some glitches noticed when updating docs
      configure.ac: build the devel-docs again
      libgimp*: lots of doc fixes and new docs for structs and enums
      devel-docs: various documentation and build fixes
      pdb, libgimp: generate some useless API docs for enums extracted from app/
      pdb: fix typo in the gimp-context-set-line-dash-pattern docs
      libgimpbase: always allocate GimpPixPipeParams.placement, add docs
      devel-docs: remove gegl-porting-plan.txt, what was in there is done
      libgimpbase: remove obsolete members from struct GimpPixPipeParams
      devel-docs: rename to doc titles to "GIMP 3"
      libgimpwidgets: declare GimpHintBox with public instance and class
      libgimpwidgets: add more docs
      devel-docs: undeprecate doc-shooter and add a few more widgets
      devel-docs: update the libgimpwidgets docs with new widget shots
      app: add missing include to gimpdisplayshell-filter.c
      app: remove gimp_display_shell_filter_new(), it's empty and useless
      libgimpwidgets: fix docs for GimpBusyBox:message
      libgimp*: use more g_clear_pointer()
      app: make sure the display is not rotated by a very small angle
      devel-docs: add screenshots of more widgets
      libgimpbase: fix docs of struct GimpParamSpecValueArray
      libgimp: add initial version of a GimpPlugIn class
      libgimp: add a GimpProcedure class
      libgimp: remove GimpParamRegion, it was never used
      app: fix gimp_value_set_drawable(), set_channel()
      app, pdb: rename GIMP_TYPE_COLOR_ARRAY to GIMP_TYPE_RGB_ARRAY
      app, libgimpbase: move lots of GValue and GParamSpec types to libgimpbase
      app: oops these two files were not meant to be pushed just yet
      libgimp: add GType and GParamSpec types for all IDs, like image, drawable
      libgimp: include the new file in gimp.h
      libgimpcolor: add gimp_param_spec_rgb_get_default()
      app, libgimp, libgimpbase: plug-in and PDB protocol refactoring part two
      libgimpbase: use _gimp_write_read_color() and _write_color()
      app, libgimp, libgimpbase: big plug-in API refactoring part three
      libgimp: forgot to enable one commented-out gimp_value_array_unref()
      libgimp: pass the GimpValueArray to gimp_set_pdb_error()
      libgimp: add preliminary function gimp_run_procedure_with_array()
      libgimpbase: NULL-terminate the result of gimp_value_dup_string_array()
      libgimpbase: add gimp_value_array_new_from_types()
      libgimp: remove all validation code from gimp_value_set_foo_id()
      pdb: "gtype", "dup_value_func" and "take_value_func" to all PDB types
      pdb, libgimp: port lib.pl to the new GType based libgimp API
      pdb: remove an obsolete snippet from lib.pl
      libgimpconfig: make gimp_scanner_parse_float() less strict
      app: use g_ascii_dtostr() in plug-in-rc.c it's locale-independent
      libgimpbase: make the GimpParamSpecUnit struct public
      app, libgimp, libgimpbase: forgot to support GIMP_TYPE_UNIT on the wire
      Use g_ascii_dtostr() instead of g_ascii_formatd()
      libgimpconfig: fix float parsing in gimp_config_deserialize_fundamental() too
      plug-ins: and in ifs-compose too...
      pdb, libgimp: fix enum type generation in the libgimp PDB wrappers
      libgimp: add more registering API to GimpPlugIn and GimpProcedure
      plug-ins: register an icon for goat-exercise
      Revert "pdb, libgimp: fix some annotations in gimp.c and gimp_pdb.c."
      libgimp: change GimpPlugIn and GimpProcedures so temp procs work
      plug-ins: follow gimp_procedure_new() API change in goat-exercise
      plug-ins: port help to the new plug-in API, to test temp procs
      plug-ins: help: use new API to call the help browser
      plug-ins: help: remove the temp proc using new API
      libgimp: move the old plug-in and procedure api to gimplegacy.h
      libgimp: move old plug-in and procedure registering/calling code to gimplegacy.c
      libgimp: reindent gimp.h
      libgimp: forgot the disable-single-include guard in gimplegacy.h
      libgimp: move more stuff to gimplegacy.c
      libgimp: add gimp-private.h for private stuff shared between files
      libgimp: move gimp_plugin_icon_register() to gimplegacy.[ch]
      app, libgimp: add copyright notices to the new stuff, minor cleanup
      Revert "pdb, libgimp: append _pdb for gtk-doc SECTION names of pdb files."
      libgimbase: merge gimpparam.h into gimpparamspecs.h
      pdb, libgimp: add proper support for multiline section comments
      pdb, libgimp: generate (transfer full) annotations for libgimp
      pdb: add (element-type foo) annotations to all returned arrays
      pdb, libgimp: add (out) annotations to everything returned via pointers
      pdb, libgimp: annotate input arrays with (element-type foo)
      pdb, libgimp: annotate input arrays with (array length=foo)
      pdb, libgimp: add (array length=foo) annotations for out args
      libgimpmodule: annotate one function, now warning-free
      libgimpwidgets: fix GimpScaleEntry annotations
      libgimpwidgets: fix a doc glitch in GimpStringComboBox
      pdb, libgimp: hide more functions that have new API in gimplegacy.[ch]
      devel-docs: update the libgimpbase docs
      devel-docs: update the libgimpcolor docs
      libgimpbase: capitalize some docs section titles
      libgimpcolor: fix "Since:" on gimp_param_spec_rgb_get_default()
      libgimp: fix annotation for gimp_procedure_add_argument()
      app: forgot to add support for GP_PARAM_DEF_TYPE_UNIT to plug-in-rc.c
      libgimpwidgets: add and fix some annotations
      pdb, libgimp*: add (out caller-allocates) to all GimpRGB* return values
      devel-docs: update the libgimpbase docs
      devel-docs: update the libgimp docs
      pdb: remove the section docs for the plug-in group
      libgimp: add run_data and run_data_destroy parameters to procedure_new()
      libgimp: add gimp_procedure_set_image_types()
      libgimp: add gimp_procedure_extension_ready()
      plug-ins: help: use gimp_procedure_extension_ready()
      libgimp: cleanup and more docs for GimpProcedure
      libgimp: add gimp_procedure_set_attribution()
      libgimp: set a procedure's arguments and return values to defaults
      libgimp: add gimp_procedure_set_menu_label() and _set_documentation()
      libgimp: more GimpPlugIn and GimpProcedure docs and annotations
      app, libgimpbase: s/author/authors/ here too
      libgimp: add gimp_plug_in_extension_enable() and _extension_process()
      libgmp: reorder GimpPlugIn's query(), init(), quit()
      libgimp: add _gimp_plug_in_run() and copy the main plug-in loop to GimpPlugIn
      libgimp: move _gimp_read_expect_msg() back to gimp.c
      libgimp: make gimp_close() static to gimp.c again
      libgimp: change the return values of GimpPlugIn::init_procedures()
      libgimp: create the GimpPlugIn much later in gimp_main_internal()
      libgimp: add gimp_get_plug_in() which returns the GimpPlugIn singleton
      Revert "libgimp: move _gimp_read_expect_msg() back to gimp.c"
      libgimp: add _gimp_plug_in_read_expect_msg()
      libgimp: make sure GimpProcedures always get all their arguments
      app, libgimp: support normal GParamInt for plug-in procedures
      plug-ins: port pagecurl to the new API, to have a GUI plug-in to test
      libgimp: remove useless includes
      libgmp: more useless includes
      app: better error reporting in gimp_pdb_dialog_run_callback()
      libgimp: kill the plug-in when old API is used while a GimpPlugIn exists
      libgimp*: add GI's .dirstamp to .gitigore
      app: relax GIMP_TYPE_INT32 checks in gimp_pdb_execute_procedure_by_name()
      app: avoid GIMP_TYPE_INT32 with gimp_pdb_execute_procedure_by_name()
      libgimp: port gimp*select.[ch] to the new plug-in API
      plug-ins: add all brush, pattern etc. select buttons to pagecurl
      libgimp: clean up the instance private code in all select buttons
      libgimp: make GimpFontSelectButton interpret NULL as the current font
      libgimp: port gimpprogress to the new plug-in API, untested
      libgimp: don't leak the temp callback name in the data select impls
      data: add python.env to set up the GI_TYPELIB_PATH to Gimp-3.0.typelib
      libgimp: move the shm code to new private files gimp-shm.[ch]
      libgimp: forgot to actually add gimp-shm.[ch]
      pdb: fix generation of "Returns:" to not line-wrap annotations
      pdb: generate the (array length=foo) annotation with less hacks
      libgimpbase: remove the gimp protocol mutex and gp_lock()/gp_unlock()
      libgimp: some random minor cleanups
      libgimp: move the debug code to new private files gimp-debug.[ch]
      pdb: fix the names of the oilify compat PDB wrappers
      libgimpbase: reorder types and structs in gimpprotocol.h
      app, libgimp*: add protocol support for GValues holding a GParamSpec
      pdb: add gimp_procedural_db_proc_argument() and _return_value()
      authors.xml: add Niels De Graef
      app, libgimp: support GParamUInt on the wire
      libgimpbase: add support for GParamParam in GPParamDef too
      app, libgimp: support GParamParam as a GParamSpec
      libgimp: make gimp_proc_view_new() show both new- and old-style args
      pdb, libgimp: more docs and annotations
      libgimp*: more docs and annotations
      libgimp: #include <sys/types.h> in gimp-debug.c
      Issue #3753 - Gimp master don't build on mingw-w64 errors on...
      libgimp: separate more new from old code by duplicating more logic in GimpPlugIn
      libgimp: reorder functions and members of GimpProcedure
      libgimpbase: add gboolean gimp_is_canonical_identifier()
      libgimp: fail gimp_procedure_new() on non-canonical procedure names
      libgimp: remove includes and add "Since: 3.0" in gimpprocecure.c
      libgimp: add a GimpPDB class and subclass GimpProcedure as GimpPDBProcedure
      pdb: rename the "procedural_db" PDB group to just "pdb"
      pdb: remove the section docs from unit.pdb
      plug-ins: port procedure-browser to GimpPlugIn
      libgimp: more progress on the GimpPDB object
      libgimp: add more comfortable ways to run procedures to GimpPDB
      plug-ins: port plugin-browser to GimpPlugIn
      libgimp: add read- and write-channel construct properties to GimpPlugIn
      pdb, libgimp: make all PDB wrappers use GimpPDB to run procedures
      libgimp, pdb: remove gimp_run_procedure_with_array() from gimp.[ch]
      libgimp: separate legacy from GimpPlugIn wire communication
      libgmp: move the remaining legacy code to gimplegacy, even PLUG_IN_INFO
      po-python, po-script-fu: update for new python plug-ins
      libgimp: forgot to add gimplegacy-private.h
      libgimp: fix typo in G_OS_WIN32 code
      libgimp: add some const to input parameters, like const GimpValueArray*
      libgimp: add gimp_pdb_temp_procedure_name() and hide the PDB wrapper
      libgimp: move most old gimp_pdb functions to gimplegacy.[ch]
      libgimp: name parameters "procedure_name" not just "name"
      pdb: move gimp_plugin_set,get_pdb_error_handler() to gimplegacy.[ch]
      plug-ins: link goat-exercise against GTK
      pdb, libgimp: hide gimpunit_pdb.h and gimpplugin_pdb.h from the API
      pdb: add "lib_private" on procedures too, to make them private
      libgimpconfig: make GimpConfigWriter a boxed type
      libgimp*: fix some parameter inconsistencies to silence GI warnings
      libimp: merge public gimppixbuf functions into gimplayer and gimpdrawable
      libgimpwidgets: add GDestroyNotify for gimp_query_foo_box() user_data
      libgimp: add GDestroyNotify for image and item combo box data
      libgimpbase: some annotation and doc fixes
      libgimpwidgets: add GDestroyNotify to gimp_widget_track_monitor()
      libgimp: don't connect a NULL destroy notify
      libgimpwidgets: add GDestroyNotify to all enum widgets callback_data
      libgimp: help_func is (scope async)
      libgimpwidgets: add GDestroyNotify to gimp_int_combo_box_connect()
      libgimp: more docs and annotations for GimpPDB
      libgimpwidgets: more docs and annotations for GimpUnitComboBox
      libgimp: replace gimp_pdb_dump() and gimp_pdb_query() by new API
      libgimp*, app: add the help-id to the wire protocol
      libgimp: make "pdb" a construct-only property of GimpPDBProcedure
      libgimp*, pdb: gimp_value_array_new_from_types*() takes (type, value)
      libgimpbase: some minor improvements to the previous commit
      libgimp: simplify gimp_pdb_run_procedure_valist() a lot
      pdb, libgimp: make the "pdb" PDB group private
      libimp*, app: get rid of inline pixbufs in the API and in pluginrc
      plug-ins: eek, twain calls gimp_main() directly
      libgimpwidgets: more docs and annotations
      libgimp: more docs and annotations
      libgimpconfig: add a GimpScanner typedef and make it a boxed type
      libgimpbase: add a GimpStringArray typedef and use it
      libgimpwidgets: more docs and annotations
      libgimpwidgets: add a GDestroyNotify for gimp_help_connect()'s user_data
      libgimpbase: add lots of const to GimpEnumDesc and GimpFlagsDesc APIs
      libgimpcolor: rudimentary docs for gimp_adaptive_supersample_area()
      pdb, libgimp: annotate gimp_enums_get_type_names()
      pdb, libgimp: one more annotation for gimp_enums_get_type_names()
      libgimpconfig: update gimpconfig.def
      devel-docs: update libgimpbase docs
      devel-docs: update the libgimpconfig docs
      libgimpconig: fix indentation in gimpscanner.h
      pdb, libgimp: fix various doc issues found by gtk-doc
      devel-docs: update the libgimp docs
      libgimp*: various doc fixes
      devel-docs: doc updates, more doc modules without any warnings
      libgimpbase: change gimpprotocol GPParamDefInt's members to gint64
      libgimp: add GimpFileProcedure, GimpLoadProcedure and GimpSaveProcedure
      plug-ins: port file-pat-save to GimpSaveProcedure
      plug-ins: port file-desktop-link to GimpLoadPocedure
      libgimp: add gimp_file_procedure_set_handles_uri()
      libgimp: update gimp.def
      pdb, libgimp: move the old file proc registering API to gimplegacy.[ch]
      pdb, libgimp: add gimp_load_procedure_set_thumbnail_loader()
      libgimp: rename GimpLoad,SaveFunc to GimpRunLoad,SaveFunc
      libgimp: add and fix docs, reorder GimpParamData and remove d_boundary
      devel-docs: update the libgimp docs
      libgimp: add gimp_pdb_get_last_error() and _get_last_status()
      libgimp: change the remaining "author" strings and variables to "authors"
      libgimp: stop using gimp_pdb_proc_arg() and proc_val()
      pdb, libgimp: remove the now unused gimp_pdb_proc_arg() and _proc_val()
      libgimp: remove gimp_pdb_dump() and gimp_pdb_proc_exists()
      libgimp: allow to call gimp_procedure_add_menu_path() on installed procs
      libgimp: don't use G_IS_FILE() and g_file_get_path() on a NULL GFile
      libgimp: don't unref() the GParamSpecs of a GimpPDBProcedure
      app: re-use the generated gimp_enums_init() code from libgimp
      pdb: don't pass nodes with parents to gimp_drawable_apply_operation()
      script-fu: undeprecate slide.scm
      plug-ins: port script-fu to GimpPlugIn
      libgimp: remove a lot of cruft because script-fu is ported now
      plug-ins: port help-browser to GimpPlugIn
      libgimp: refer to new API in GimpProcedure docs
      app: fix writing of GP_PARAM_DEF_TYPE_FLOAT and _STRING in pluginrc
      libgimp: remove more legacy API that isn't used any longer by any plug-in
      app: gimp_procedure_get_arguments(), _return_values(): use defaults
      plug-ins: port file-gbr to GimpPlugIn, and clean up file-pat a bit
      libgimp: gimp_procedure_validate_args() support GIMP_PARAM_NO_VALIDATE
      libgimp: don't call g_file_new_for_uri() on a path
      plug-ins: port file-compressor to GimpPlugIn
      plug-ins: port print to GimpPlugIn
      libgimp: remove more cruft that is now unused
      libgimp: deal with NULL arrays in _gimp_value_to_gp_param()
      plug-ins: port file-gih to GimpPlugIn
      plug-ins: port file-ico to GimpPlugIn
      plug-ins: remove some crack code from curve-bend
      libgimp: remove gimp_run_procedure() and gimp_destroy_params()
      plug-ins: port all file-raw plug-ins to GimpPlugIn
      libgimp: remove some more cruft that is no longer needed
      plug-ins: port film to GimpPlugIn
      plug-ins: port gfig to GimpPlugIn
      plug-ins: port fractal-explorer to GimpPlugIn
      libgimp: remove legacy support from gimpbrush,pattern,..select.c
      libgimp: remove all support for temp procs from gimplegacy.[ch]
      libgimp: gimp_pdb_temp_name() can also go, bye...
      plug-ins: port animation-play to GimpPlugIn
      plug-ins: port unit-editor to GimpPlugIn
      Revert "libgimp: gimpdb-private.h was removed."
      libgimp, devel-docs: why bother having docs for gimplegacy.[ch]
      plug-ins: port mail to GimpPlugIn
      Use g_strlcpy() instead of strncpy() everywhere
      plug-ins: port screenshot to GimpPlugIn
      plug-ins: port colormap-remap to GimpPlugIn
      libgimp: remove gimp_plugin_icon_register()
      Remove GIMP_TYPE_INT8 and GimpParamSpecInt8
      Remove GIMP_TYPE_INT32 and GimpParamSpecInt32
      Remove GIMP_TYPE_INT16 and GimpParamSpecInt16
      Rename GIMP_TYPE_INT8_ARRAY to GIMP_TYPE_UINT8_ARRAY
      pdb: remove int16 from the PDB types and rename int8 to uchar
      app: s/INT32/INT/ in error messages when installing plug-in procedures
      pdb: use guint for tatoo, guide, sample point, which they are
      plug-ins: port file-exr to GimpPlugIn
      file-exr: use gimp_pdb_get_last_error() instead of gimp_get_pdb_error()
      plug-ins: port file-sgi to GimpPlugIn
      plug-ins: port file-png to GimpPlugIn
      plug-ins: port file-tiff to GimpPlugIn
      libgimp: remove gimp_get_pdb_error()
      plug-ins: port file-psd to GimpPlugIn
      libgimp: remove gimp_register_file_handler_priority()
      app: stop canonicalizing procedure names
      libgimp: add precondition checks for gimp_is_canonical_identifier()
      libgimp: add GimpImageProcedure with (run_mode, image, drawable) args
      plug-ins: port goat-exercise-c to GimpFileProcedure
      plug-ins: port many plug-ins from GimpProcedure to GimpImageProcedure
      libgimp: move the GimpProcedure icon API next to the menu API
      libgimpwidgets: some docs fixes
      devel-docs: some doc updates
      plug-ins: port file-fig-load to GimpPlugIn
      plug-ins: port file-ps to GimpPlugIn
      libgimpconfig: add weird hack to gimp_scanner_parse_float()
      plug-ins: link file-svg against GEGL, it uses it indirectly
      plug-ins: port file-svg to GimpPlugIn
      libgimp: add gimpprocedure-params.h
      libgimp, plug-ins: use the new macros everwhere
      Change the "handles uri" flag of file procedures to "handle remote"
      Move GimpParamSpecString from libgimp back to app
      app, libgimp: UTF-8 validate all string arguments and return values
      libgimp: add GimpThumbnailProceudre
      plug-ins: change all ported thumbnail loaders to GimpThumbnailProcedure
      libgimp: add a gazillion of macros to gimpprocedure-params.h
      plug-ins: port all plug-ins to the new macros
      libgimp: use the new macros in all non-generated files
      app, libgimp: also UTF-8-validate all elements of PDB string arrays
      plug-ins: port file-pdf-load to GimpPlugIn
      plug-ins: port file-wmf to GimpPlugIn
      plug-ins: port file-xmc to GimpPlugIn and new API objects
      plug-ins: minor follow-up to the icon include fix two commits below
      libgimp: fold gimpplugin-private.c into gimpplugin.c
      libgimp: memory/lifecycle manage the new libgmp proxy objects
      Get rid of capitalized "ID" in function and variable names
      libgimp: make gimpgpparams-body.c identical for app/ and libgimp/ again
      libgimp: g_object_get() wants a pointer to the variable, gah...
      plug-ins: port file-jpeg to GimpPlugIn and to libgimp objects
      libgimp: remove gimp_register_thumbnail_loader()
      plug-ins: port file-pix to GimpPlugIn and libgimp objects
      plug-ins: port file-heif to GimpPlugIn and libgimp objects
      plug-ins: port file-xbm to GimpPlugIn and libgimp objects
      plug-ins: port file-webp to GimpPlugIn and libgimp objects
      plug-ins: port file-raw-data to GimpPlugIn and libgmp objects
      libgimp: remove gimp_register_load_handler()
      plug-ins: port file-pnm to GimpPlugIn and libgimp objects
      plug-ins: port file-csource to GimpPlugIn and libgimp objects
      plug-ins: port file-header to GimpPlugIn and libgmp objects
      plug-ins: port file-html-table to GimpPlugIn and libgimp objects
      libgimp: gimpexport.c: must not unref proxy objects
      libgimp: don't iterate NULL hash tables in gimp_plug_in_pop_procedure()
      plug-ins: port file-gif-save to GimpPlugIn and libgimp objects
      plug-ins: port file-xwd to GimpPlugIn and libgimp objects
      plug-ins: port file-cel to GimpPlugIn and libgimp objects
      libgimp: remove gimp_register_file_handler_remote()
      plug-ins: port file-bmp to GimpPlugIn and libgimp objects
      plug-ins: port file-fits to GimpPlugIn and libgimp objects
      plug-ins: port file-faxg3 to GimpPlugIn and libgimp objects
      plug-ins: port file-tga to GimpPlugIn and libgimp objects
      plug-ins: port file-xpm to GimpPlugIn and to libgimp objects
      plug-ins: port file-pcx to GimpPlunIn and libgimp objects
      plug-ins: port file-psp to GimpPlugIn and libgimp objects, untested
      plug-ins: port file-dicom to GimpPlugIn and libgimp objects
      plug-ins: port file-jp2-load to GimpPlugIn and libgimp objects
      plug-ins: port file-sunras to GimpPlugIn and libgimp objects
      plug-ins: port file-fli to GimpPlugIn and libgimp objects
      plug-ins: port file-gegl to GimpPlugIn and libgimp objects
      plug-ins: port file-aa to GimpPlugIn and libgimp objects
      libgimp: again, redo all APIs returning list of images, items, children
      plug-ins: somehow killed file-aa's attribution, put it back
      plug-ins: port file-pdf-save to GimpPlugIn and libgmp objects
      plug-ins: port file-dds to GimpPlugIn and libgimp objects
      libgimp: remove gimp_register_magic_load_handler()
      plug-ins: port file-mng to GimpPlugIn and libgmp objects
      libgimp: remove the remining file procedure register API
      libgimp: remove a ton of deprecated API that is unused
      libgimp: add instance-private struct to all new objects
      libgimp: add some debug code to warn about broken proxy handling
      libgimp: fix type names: s/FooParamSpecString/FooParamString/
      plug-ins: port script-fu to libgimp objects
      plug-ins: port the metadata plug-ins to GimpPlugIn and object
      libgimp: remove deprecated metadata functions
      plug-ins: port web-page to GimpPlugIn and libgimp objects
      plug-ins: port web-browser to GimpPlugIn
      libgimp: remove gimp_layer_new_from_surface_deprecated()
      plug-ins, app: port selection-to-path to GimpPlugIn and libgmp objects
      plug-ins: port ifs-compose to GimpPlugIn and libgimp objects
      plug-ins: port imagemap to foo and bar, why do I bother...
      app, libgimp: get rid of all ID GTypes and ID param specs
      devel-docs: update libgimp docs
      libgimp: update .gitignore
      libgimp: argh, broke most plug-ins...
      libgimp: fix legacy plug-ins, which I broke with the big ID removal
      plug-ins: port compose
      plug-ins: port decompose
      plug-ins: port wavelet-decompose
      plug-ins: port file-glob
      plug-ins: oops, file-glob is not an image procedure
      plug-ins: port gradient-map
      po-python: update POTFILES.in
      app: use the GParamSpec's name in gimp_pdb_dump()
      Properly prefix the values of enum GimpPDBProcType
      plug-ins: add missing GIMP_ITEM() cast in curve-bend
      libgimp: remove the GIMP_DISABLE_COMPAT_CRUFT define
      plug-ins: port blinds to GimpPlugIn
      plug-ins: port checkerboard to GimpPlugIn
      plug-ins: port contrast-retinex to GimpPlugIn
      plug-ins: port destripe to GimpPlugIn
      plug-ins: port grid to GimpPlugIn
      plug-ins: port jigsaw to GimpPlugIn
      plug-ins: port nl-filter to GimpPlugIn
      libgimp: fix gimp_item_combo_box_changed()
      plug-ins: port flame to libgimp objects
      plug-ins: port sample-colorize to libgimp objects
      Revert "libgimp: API with new object classes are since 3.0."
      libgimp: remove some old API that is no longer needed
      plug-ins: port some simple plug-ins to libgimp objects
      plug-ins: port tile-small to libgimp objects
      plug-ins: port tile to libgimp objects
      plug-ins: port gimpressionist to libgimp objects
      plug-ins: port gradient-map to libgimp objects
      plug-ins: port depth-merge to libgimp objects
      plug-ins: port warp to libgimp objects
      plug-ins: change the port of depth-merge slightly
      plug-ins: port animation-optimize to GimpPlugIn
      plug-ins: port cml-explorer to GimpPlugIn
      libgimp: remove all deprecated stuff from gimpimage.[ch]
      plug-ins: port crop-zealous to GimpPlugIn
      plug-ins: port hot to GimpPlugIn
      plug-ins: port flame to GimpPlugIn
      app: better error messages when killing a plug-in for invalid tile access
      libgimp: don't request tiles beyond the drawable extents
      plug-ins: port tile-small to GimpPlugIn
      plug-ins: port qbist to GimpPlugIn
      plug-ins: port gimpressionist to GimpPlugIn
      plug-ins: port gradient-flare to GimpPlugIn
      plug-ins: port despeckle to GimpPlugIn
      plug-ins: port van-gogh-lic to GimpPlugIn and libgimp objects
      plug-ins: port smooth-palette to GimpPlugIn and libgimp objects
      plug-ins: fix duplicate argument name in file-gih-save
      plug-ins: make sure script-fu arguments have unique names
      libgimp: GimpProcedure args and return values must have have unique
      plug-ins: fix a glitch in the script-fu unique argument name logic
      plug-ins: port lightning to libgimp objects
      libgimp: add gimp_layer,chanel,vectors,etc,_get_by_id()
      plug-ins: port map-objects to libgimp objects
      plug-ins: use the new item-type specific get_by_id() functions
      libgimp: use the new get_by_id() functions
      libgimp: remove more deprecated API
      plug-ins: blind port of twain to libgimp objects
      plug-ins: port sphere-designer to libgimp objects
      plug-ins: port curve-bend to libgimp oobjects. THE LAST ONE \o/
      libgimp: remove the last manual compat wrappers
      plug-ins: print: fix missing argument to GIMP_PROC_ARG_IMAGE()
      plug-ins: port tile to GimpPlugIn
      plug-ins: remove deprecated API support from common/mkgen.pl
      plug-ins: port sphere-designer to GimpPlugIn
      plug-ins: port depth-merge to GimpPlugIn
      plug-ins: port lighting to GimpPlugIn
      plug-ins: port map-object to GimpPlugIn
      plug-ins: port warp to GimpPlugIn
      plug-ins: port sparkle to GimpPlugIn
      plug-ins: port sample-colorize to GimpPlugIn
      plug-ins: port curve-bend to GimpPlugIn... IT'S DONE YEAH
      Remove the entire old plug-in interface
      devel-docs: update the libgimp and libgimpbase docs
      pdb: don't return any strings from _gimp_pdb_proc_info()
      pdb, libgimp: use GIMP_VALLUES_GET_ENUM() in libgimp PDB wrappers
      pdb: remove the "id" field from all pdb types, it's now unused
      libgimp: add missing stuff to gimpprocedure-params.h
      pdb, libgimp: use GIMP_VALUES_GET,DUP_FOO() in the libgimp PDB wrappers
      plug-ins: script-fu lost all support for images, layers etc.
      app, libgimp: don't duplicate _gimp_gp_param_def_to_param_spec()
      app: split GimpDisplay in two classes: GimpDisplay and GimpDisplayImpl
      libgimp: remove redundant validation code from gimpparamspecs.c
      app, libgimp: share the code of libgimp/gimpparamspecs.c with app/
      libgimpbase: add an own struct for GimpStringArray
      libgimpbase: add GimpObjectArray and GimpParamSpecObjectArray
      libgimpbase: add support for arrays of object IDs to gimpprotocol
      libgimp: add support for object arrays to gimpgpparams-body.c
      libgimp: add object array convenience macros to gimpprocedure-params.h
      libgimp: gimp_pdb_run_procedure_array() was leaking proc_run.params
      libgimp: gimp_plug_in_destroy_proxies() never checked for too much refs
      libgimp: actually unref the global GimpPDB and GimpPlugIn instances
      libgimpbase: update gimpbase.def
      pdb, libgimp: change all generated ID array return values to object arrays
      plug-ins: file-svg: follow gimp_vectors_import_from_file() change
      libgimp: add convenience macros GIMP_VALUES_GET_FOO_ID()
      plug-ins: use the newly added GET_FOO_ID() macros
      libgimp: fix copy/paste errors in GIMP_VALUES_FOO_OBJECT_ARRAY()
      plug-ins: port film and guillotine to objects arrays
      libgimp: _gimp_gp_param_to_value() must ref object array elements
      pdb, libgimp: add a HORRIBLE hack to make sure objects arrays don't leak
      app, libgimp: make two functions of gimpgpparams private
      libgimp: don't leak the GPParam array after writing procedure return values
      libgimp: _gimp_gp_params_to_value_array() remove "gboolean full_copy"
      app: add missing procedure argument types to pluginrc
      app, libgimp: add _gimp_gp_params_free() to gimpgpparams
      libgimp: make sure gimpparamspecs-body.c gets introspected
      libgimpbase: fix docs
      devel-docs: update libgimp and libgimpbase docs
      Revert the *enums.c part of the last commit
      libgimp: fix crash introduced in commit bfe4a2f9
      Issue #3655 - Cannot edit long lines of metadata (no scroll bar)
      plug-ins: it's "darktable" not "placeholder"...
      app: remove obsolete check from gimp_plug_in_menu_register()
      plug-ins: revert temp hack in gimp_plug_in_procedure_add_menu_path()
      app: change gimp_plug_in_procedure_add_menu_path() again
      pdb: add pdb API to get a procedure's image types, menu label and menu paths
      libgimp: use the new API in GimpPDBProcedure
      libgimp: show the newly introspectable stuff in GimpProcView
      Simplify the plug-in query API and fix plugin-browser
      pdb: rename all procedure query procedures to gimp-pdb-get-proc-foo
      plug-ins: fix film to succeed again and not always do nothing
      pdb: move gimp_plugin_menu_register() from the "plugin" to the "pdb" group
      pdb: move gimp_plugin_icon_register_invoker() from "plugin" to "pdb"
      app: move the plug-in procedure setters to gimpplugin-proc.[ch]
      pdb: add gimp_pdb_set_proc_image_types()
      plug-ins: don't set a NULL menu label in script_fu_script_install_proc()
      pdb: add gimp_pdb_set_proc_menu_label()
      app: remove code duplication in gimpplugin-proc.c
      app: keep the help_id in GimpProcedure not GimpPlugInProcedure
      app, pdb: take "deprecated" out of GimpProcedure's "strings" API
      app, pdb: split GimpProcedure's "strings" into "help" and "attribution"
      app: remove "help_id" from GimpGeglProcedure
      app: remove some procedure code duplication
      libgimp: no need to set NULL strings on GimpPDBProcedure
      pdb: add gimp_pdb_set_proc_documentation() and _attribution()
      app: clean up gimp_plug_in_handle_proc_install()
      Rename all "nparams" and "nreturn_vals" members in the wire protocol
      libgimp: warn on attempts to install or uninstall a GimpPDBprocedure
      pdb: avoid duplicate argument names in gimp-plugins-query
      libgimp: make sure the GimpPlugIn and GimpPDB singletons get destroyed
      app: use GError in all gimpplugin-proc.[ch] functions, not gimp_message()
      libgimp, devel-docs: fix docs for GimpPlugInClass and its members
      libgimp: add section docs for GimpPlugIn with general information
      libgimp: remove gimp_plug_in_create_procedure() from the API
      app: remove all check for the <Load> and <Save> menu prefixes
      pdb, libgimp: remove _gimp_register_load_handler()
      plug-ins: register thumbnail procedures before load procedures
      plug-ins: remove unused variables from plugin-browser.c
      libgimp: more GimpPlugIn docs
      app: move the file procedure registering functions into gimpplugin-proc.c
      app: remove gimppluginmanager-file-procedure.[ch]
      pdb: reorder stuff in the "pdb" group to make more sense
      app: fix adding file procedures from pluginrc
      pdb: move the file procedure register API from "fileops" to "pdb"
      Rename the "fileops" PDB group to just "file"
      Remove the second "raw-filename"/"raw-uri" parameter from file procedures
      libgimpbase, libgimp, app: add libgimp support for passing GFiles
      pdb, app, libgimp, plug-ins: replace most PDB filenames/URIs by GFile
      pdb, plug-ins: change gimp_temp_name() to gimp_temp_file()
      pdb, libgimp: change "filename" to "file" in gimp_pdb_dump()
      pdb: change the URIs in the color profile API to GFiles
      pdb: forgot to change an URI to GFile in gimp_file_load()
      pdb: change paths and URIs in the "plug_in" group to GFiles
      pdb: rename all functions in the "plug_in" group
      app: make tests build again after file_open_image() signature change
      devel-docs: update the libgimp docs
      Issue #3912 - Object proxy management not happy with bindings
      plug-ins: fix "film" to not crash on repeat
      libgimpmodule: clean up GimpModule and GimpModuleDB
      app: don't use the deprecated GTimeVal in file-remote.c
      app: gimp_param_spec_duplicate(): don't warn
      app, libgimpconfig: move gimp_param_spec_duplicate() to libgimpconfig
      libgimpconfig: clean up gimp_config_param_spec_duplicate()
      libgimpconfig: support GimpParamSpecConfigPath
      libgimpconfig: more nested if() in gimp_config_param_spec_duplicate()
      libgimpconfig: support more types in gimp_config_param_spec_duplicate()
      libgimpconfig: gimp_config_param_spec_duplicate() support GFile
      libgimpconfig: add gimp_config_type_register()
      libgimpmodule: annotate gimp_module_get_file()
      libgimpconfig: turn some comments into actual docs
      plug-ins: add some missing types to script_fu_marshal_procedure_call()
      devel-docs: remove duplicate </SECTION> that broke quite some stuff
      libgimpconfig: fix precondition checks in gimp_config_type_register()
      libgimp: add GimpProcedureConfig which implements the GimpConfig interface
      plug-ins: as a proof-of-concept, port despeckle to GimpProcedureConfig
      libgimp: add GimpProcedureDialog, the new dialog class for plug-ins
      plug-ins: use GimpProcedureDialog in despeckle
      libgimp: add gimp_procedure_config_get_procedure()
      libgimp, plug-ins: remove the "preview" parameter from gimp_ui_init()
      libgimpconfig: add function which (de)desialize from/to a GimpParasite
      app, libgimpwidgets: use the new parasite (de)serialization API
      libgimpconfig: get rid of filenames in all config related APIs
      libgimpbase: remove gimp_gtkrc()
      libgimpbase: remove gimp_personal_rc_file()
      libgimpconfig: fix doc typo
      libgimp: s/filename/file/ in docs
      libgimp: add "image" parameters to gimp_procedure_config_begin,end_run()
      plug-ins, app: port file-gbr to GimpProcedureConfig
      libgimp: change GimpProcedureDialog's "OK" with the procedure type
      plug-ins: minor follow-up cleanup in file-gbr
      plug-ins, app: port file-pat to GimpProcedureConfig
      libgimpwidgets: change gimp_int_store_new()'s signature
      libgimp: implement GimpProcedure::create_config() in all subclasses
      plug-ins: port file-sgi to GimpProcedureConfig
      libgimp: fix gimp_image_metadata_save_prepare()'s check for IPTC flags
      libgimp: add the concept of "Auxiliary arguments" to GimpProcedure
      libgimp: add macros for adding aux args to gimpprocedure-params.h
      plug-ins: minor cleanup in file-pat
      plug-ins: port file-heif to GimpProcedureConfig
      plug-ins: remove second parameter of gimp_ui_init() in all non-C plug-ins
      po-libgimp: update POTFILES.in
      plug-ins: port file-png to GimpProcedureConfig and use propwidgets
      libgimp: add a "status" parameter to gimp_procedure_config_end_run()
      plug-ins: rename all "save-profile" args to "save-color-profile"
      app, libgimpwidgets: return visible widgets from all gimp_prop_foo_new()
      Issue #3983 - gimp_get_images returns NULL pointer whilst num_images > 0
      plug-ins: gih_save(): file-gih-save-internal takes a GFile now
      plug-ins: port file-sunras to GimpProcedureConfig
      libgimpwidgets: remove the gimp_radio_group_*() functions
      libgimp: move "image" and "run_mode" from gimp_procedure_config_end_run()
      plug-ins: port file-xpm to GimpProcedureConfig
      libgimp: improve handling of procedure default values a lot
      plug-ins: move around and clean up some code in file-webp
      plug-ins: saner argument name in blinds
      plug-ins: port file-webp to GimpProcedureConfig
      plug-ins: clean up file-bmp-save in preparation for GimpProcedureConfig
      plug-ins: port file-bmp to GimpProcedureConfig and propwidgets
      libgimp: remove underscores from the procedure conifig load/save functions
      plug-ins: prepare file-dds for GimpProcedureConfig porting
      plug-ins: same cleanup in the DDS load dialog
      plug-ins: more file-dds cleanup
      plug-ins: port file-dds-load to GimpProcedureConfig
      plug-ins: port file-dds-save to GimpProcedureConfig
      plug-ins: remove ddsplugin.h and add ddsread.h and ddswrite.h
      libgimp: fix all GIMP_PROC_ARG,AUX_ARG,VAL_FOO() macros
      libgimpwidgets: add gimp_prop_int_radio_frame,box_new()
      plug-ins: port file-fits to GimpProcedureConfig
      plug-ins: port file-fli to GimpProcedureConfig
      plug-ins: port file-psp-save to GimpProcedureConfig
      app: forgot to follow API changes in test-config.c
      Issue #4008 - Ellipsis missing in File -> Page Setup
      plug-ins: port file-tga-save to GimpProcedureConfig
      plug-ins: port file-csource to GimpProcedureConfig
      plug-ins: rename procedure file-gtm-save to file-html-table-save
      plug-ins: port file-html-table to GimpProcedureConfig
      plug-ins: port file-xbm-save to GimpProcedureConfig
      plug-ins: port file-aa to GimpProcedureConfig
      Issue #4054 - Missing closing brackets for some BMP saving names
      libgimp: start integrating image export with GimpProcedureConfig
      plug-ins: port file-png-save to begin_export()/end_export()
      plug-ins: port file-heif and file-webp to the new export stuff
      libgimp: improve docs for gimp_image_metadata_save_prepare()/finish()
      devel-docs: updates and fixes
      app, libgimp: add boolean "export-comment" gimprc property
      libgimp: manage boolean "save-comment" properties automatically
      plug-ins: rename all boolean comment arguments to "save-comment"
      libgimp: add gimp_procedure_find_argument(), aux_argument(), return_value()
      plug-ins: minor cleanups in file-jpeg, no porting to new stuff yet
      libgimp: automatically handle the image comment in GimpProcedureConfig
      plug-ins: add an aux "comment" argument to file-png-save
      plug-ins: use begin_export()/end_export() in file-csource
      plug-ins: use begin_export() and end_export() in file-xbm
      po-libgimp: update POTFILES.in
      plug-ins: port file-raw-save to GimpProcedureConfig and propwidgets
      pdb: item.pdb: '3,0' is not a version, it's '3.0'
      devel-docs: fix and update the libgimp docs
      libgimp: make GimpProcedureConfig handle the image comment automatically
      plug-ins: port file-gif-save to begin_export() and end_export()
      app: add missing space in gimp-mkenums command in config/ and display/
      libgimp: doc fixes and improvements in procedure subclasses
      desktop: set appdata release date of 2.10.14 to today
      app: image-cmds.c was regenerated
      plug-ins: port file-pnm-save to GimpProcedureConfig
      plug-ins: port file-mng-save to GimpProcedureConfig and propwidgets
      devel-docs, libgimp: update some .gitignore files
      libgimpwidgets: reorder enum GimpIntStoreColumns
      libgimpbase: remove enum GimpBlendMode, it's not used any longer
      libgimpwidgets: remove enum value GIMP_CONVERT_PALETTE_REUSE
      libgimpbase: remove enum value GIMP_FOREGROUND_EXTRACT_SIOX
      libgimpbase: rename and reorder the values of enum GimpSelectCriterion
      libgimp*: check all return values of g_param_spec_internal()
      libgimpbase: document the members of GimpArray, GimpStringArray
      libgimp: some documentation fixes and improvements
      Issue #2674 - File/Open Recent opens the wrong document
      Issue #2227 - GIMP 2.10.6 crashes with assertion GIMP_IS_TAGGED in...
      Remove all checks for finite() and isfinite()
      Issue #4458 - gimp-console-2.99 -b '(gimp-quit 1)' segfaults
      libgimp: document GimpProcedureDialog's properties
      libgimp: GimpProcedureDialog: next time save before committing...
      libgimp: fix writing empty array GValues in gimp_value_to_gp_param()
      app: fix indentation in gui_restore_after_callback()
      app: s/getenv/g_getenv/ in gui_restore_after_callback()
      Issue #4328 - Distorted path of an open/imported circle...
      app: don't leak event_blurb in gimp_controller_editor_edit_clicked()
      libgimp: revive parameter range descriptions in the procedure browser
      Issue #4696 - Keyboard shortcuts for layer opacity are not working
      Issue #4721 - Ordering of default MyPaint Brushes directories...
      Issue #5010 - Setting twice value pcvals.paper_invert in paper_store
      Issue #5009 - Possible array overrun in d_draw_ellipse
      Issue #3949 - Image Map plug-in selects wrong areas
      Issue #3405 - Color component decompose crash for CMY
      Issue #3533 - Tool preset doesn't restore opacity and paint mode
      libgimp: change ARG_OFFSET define in GimpSaveProcedure from 4 to 5
      libgimp: add gimp_procedure_config_save_metadata()
      plug-ins: port file-tiff-save to GimpProcedureConfig
      libgimpconfig: fix string deserialization for some cases
      plug-ins: port decompose to GimpProcedureConfig
      libgimp: return the added GParamSpec from all GimpProcedure...
      libgimpconfig: cache the "gegl-property-keys" Quark
      libgimp: add the concept of "argument sync" to GimpProcedure
      libgimp: implement argument sync in GimpProcedureConfig
      plug-ins: change "comment" arguments to "gimp-comment"
      plug-ins: port file-xmc.c to GimpProcedureConfig and prop widgets
      plug-ins: make sure "decompose-type" in decompose.c is upperacse
      plug-ins: change the "compose-type" default values to upper case
      po*: update POTFILES.skip with the new toplevel extensions/ folder
      docs, etc: regenerate the default gimprc and its manpage
      desktop: set the appdata 2.99.2 release date to today
      devel-docs: add the newly generated module.actions files to .gitignore
      devel-docs: REVERT THIS once module.actions get removed automatically
      configure.ac, meson.build: bump versions for the 2.99.2 release

Michael Schumacher (23):
      Require gtk+-3.0 in gimpui-3.0.pc
      plug-ins: use g_fopen(filename, "w+b") instead of "wb+" to fix SGI format export on the Microsoft 
Windows platforms
      app: Prevent parallel builds for the tests
      app: fix .NOTPARALLEL: check target
      icons: add missing file 16/gimp-color-space-non-linear.png
      icons: add missing Symbolic/16/gimp-color-space-non-linear.png
      icons: add missing Symbolic/24/gimp-color-space-non-linear.png
      build: adding a .gitlab-ci.yml file for automated GitLab pipeline builds
      build: .gitlab-ci.yml: change babl build to meson
      build: .gitlab-ci.yml: GEGL is switching to meson exclusively
      plug-ins: correctly renaming plug-ins/gfig/gfig-examples/smily to smiley
      libgimpbase: fix wrong sizeof in gimp_param_object_array_get_type
      Change order of CFLAGS for SSE tests
      .gitlab-ci.yml: change artifact expiry to 2 hours for dependencies and 1 day for MS Windows builds
      .gitlab-ci.yml: set artifact expiry time for Linux builds to 2 days
      .gitlab-ci.yml: expire all dependencies in 2 hours, and all builds in 1 day
      app: use G_GINT64_FORMAT to fix a long unsigned int vs. long long int format warning
      plug-ins: use G_GOFFSET_FORMAT to fix a long int vs. long long int format warning
      CI: use custom docker images for dependencies and GIMP builds
      build: add libwmf patch from libwmf repository to prevent issue #4016
      build: add libwmf patch from libwmf repository to prevent issue #4061
      gitlab: add a trailing space to the bug template reproduction list steps
      gitlab-ci: update dependencies to add libraw20

Michal (5):
      Comparision to None should be done with "is" or "is not"
      Use list comprehensions
      "Generator Expressions" improvements
      Use assignment operator
      Use the "with" keyword when dealing with file objects

Ming Chen (1):
      m4macros: update ax_gcc_func_attribute.m4 to serial 12

Mingye Wang (1):
      Update zh_CN translation of po-tags

Nathan Follens (7):
      Update Dutch translation
      Update Dutch translation
      Update Dutch translation
      Update Dutch translation
      Update Dutch translation
      Update Dutch translation
      Update Dutch translation

Niels De Graef (78):
      Make sure to use % for constants
      Use "Returns:" to annotate return values
      Add (nullable) if applicable
      Start using g_object_notify_by_pspec()
      docs: Fix warnings for annotations
      app/core: Use NULL for "simple" signals
      libgimpconfig: Ensure G_PARAM_STATIC_STRINGS
      libgimpcolor: colormanaged: Use G_DECLARE_INTERFACE()
      app/core: Use G_DECLARE_INTERFACE()
      app/widgets: Use G_DECLARE_INTERFACE()
      libgimpconfig: Prevent GIR conflicts in GimpConfigWriter
      libgimpcolor: Use G_DEFINE_BOXED_TYPE()
      app: Use G_DEFINE_BOXED_TYPE()
      libgimpbase: Use G_DEFINE_BOXED_TYPE()
      libgimpmath: Use G_DEFINE_BOXED_TYPE()
      Cleanup GObject signal marshallers
      Add some missing (nullable) annotations
      gir: (optional) tag requires a (out) annotation
      gir: Add more (out) tags when appropriate
      Use %NULL instead of NULL in gtk-doc comments
      gir: Add more (out) annotations
      gir: Add some missing (array length) annotations
      gir: Found some more missing (out) annotations
      colorselector: Rename signal emitters
      gir: Add missing annotations
      gir: Add more missing (array) and (out) annotations
      gir: Add (closure) tags
      gir: Mark gimp_dialog_new() parent nullable
      gir: Make sure the GIR file includes the correct header
      Add GIR annotations to bilinear utils
      Use GIMP_TYPE_RGB instead of G_TYPE_POINTER
      gir: Make use of typedefs for GimpProgressVtable vfuncs
      libgimp: Make sure GIR includes the right header
      gimpprogress: Add arg descriptions to vfuncs
      gimpwidget: Correct gtk-doc docs wrt GtkHBox
      Fix some gtk-doc comments and GIR annotations
      gir: Fix typo nulllable → nullable
      gimppropwidgets: Add (nullable) annotation for label
      zoompreview: Fix gtk-doc identifier
      zoompreview: Add (array) gir annotation
      gir: More missing annotations
      gir: Mark more (out) annotations
      scrolledpreview: Add missing gir annotations
      gimpintstore: Mark iter (out) annotations
      GimpHelpFunc: don't annotate (closure)
      libgimpwidgets: UnitStore: Fix conflicting names
      gimpconfig-iface: Use G_DECLARE_INTERFACE
      gimplist: Don't use sort_func field directly
      meson: Declare internal libgimp(ui) dependency
      meson: Use libgimp(ui)_dep in plug-ins meson files
      meson: Fix building of tests
      meson: Fix envvar in tests
      app/test-xcf: include necessary headers for close()
      meson: Cleanup and fix issues using libapp_dep
      viewable: Get rid of unused "stock-id" property
      viewable: Use g_object_notify_by_pspec()
      viewable: Use GET_PRIVATE() before precondition checks
      patternselect: Document pattern_name parameter
      gimpthrobber: Get rid of g_type_class_add_private()
      gimpcurve: Use g_object_notify_by_pspec
      docs: libgimp3: Add missing GimpProgressVtable*Func
      meson: Allow running tests headless
      app/text: Fix const warning
      Split GIR into Gimp-3.0 and GimpUi-3.0
      gimpenumwidgets: Apply (transfer none) annotation
      gir: Fix some missing (out) annotations
      gir: (skip) functions with varargs
      Don't forget to include <glib-object.h>
      Fix missing includes
      Revert "Don't forget to include <glib-object.h>"
      Allow building vala plugins
      vala: Fix some metadata warnings
      ci: Remove some unused deps
      po-plug-ins: Add Vala plug-in to POTFILES.in
      gimpparamspecs: Add GIR annotations
      propwidget: Add gimp_prop_switch_new()
      propwidgets: Use g_bind_property()
      gimppdb: Allow more easy bindable API

Nikc M (1):
      Issue #175 - Allow the erase every other row plugin to skip a different number of rows

ONO Yoshio (12):
      MR !19: Add support for vertical text writing.
      Modified a comment in more detail.
      Fixed that anchor position of text is shifted when text direction is changed.
      Fixed when texttool popup is shown first, it does not have current text direction.
      Fix file-pdf-save exports broken vertical text.
      Issue #2124 - The origin of vertical, right to left text does not...
      Issue #2064 - text along path not working with vertical text.
      app: make unattached vectors enable to rotate.
      Revert "app: make unattached vectors enable to rotate."
      app: avoid to rotate unattached vectors directory in ...
      plug-ins: fix a datasourcetype does not shown in metadata-editor.
      Issue #2489 - Gimp 2.10.8 layer menu text along path

Oleksii Samorukov (14):
      Fix screen resolution detection on OSX
      Fix plugin focus issues on osx
      Fix compilation on Mac 10.6 and 10.7 (#2112)
      tests: fix clang compilation error on test-eevl.c
      tests: implement gimp_test_utils_synthesize_key_event on OSX/QUARTZ
      tests: OSX - activate GIMP window when tests are running
      Set required variables if is running from Apple application bundle
      Fix "finite() is depricated" warning on macOS
      Revert finite() fix as it needs to be done in pdb and configure
      Move macos menu init to the gui related code and reparent it with a main window.
      Return FALSE on gimp_osx_focus_window to avoid endless loop
      Fix reference from gimp_param_spec_duplicate to   gimp_config_param_spec_duplicate
      plug-ins/screenshot: fix compilation on macOS
      Fix meson build on macos

Pascal Terjan (1):
      Add missing -lm to file-psd plug-in

Pat David (1):
      app, libgimpbase: update vertical text labels (shorten)

Paul Matthijsse (2):
      Update Dutch translation
      Update Dutch translation

Peter Oliver (1):
      Offer image/webp content type in .desktop file

PhotonQyv (3):
      Add url to code so that Source button actually does what it is supposed to do.
      Corrected code to work with newer split Gimp and GimpUi bindings.
      plug-ins: fix spyro-plus after Gimp/GimpUi split.

Piotr Drąg (121):
      Update POTFILES.in
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      app: fix typo in a translatable string (trnasferred)
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update POTFILES.in
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update POTFILES.in
      Update POTFILES.in
      modules: fix typos in ACES RRT’s translatable strings
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update POTFILES.in
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update POTFILES.in
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update POTFILES.in
      Update Polish translation
      Update POTFILES.in
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update POTFILES.in
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update POTFILES.in and POTFILES.skip
      Update POTFILES.in
      Update Polish translation
      Update POTFILES.in
      Update Polish translation
      Update POTFILES.in
      Revert "po-python: update POTFILES.in"
      Update POTFILES.in
      Update Polish translation
      Update POTFILES.in
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update POTFILES.in
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update POTFILES.in
      Update Polish translation
      Update Polish translation
      Update Polish translation
      Update Polish translation

Rafael Fontenelle (5):
      Update Brazilian Portuguese translation
      Update Brazilian Portuguese translation
      Update Brazilian Portuguese translation
      Update Brazilian Portuguese translation
      Update Brazilian Portuguese translation

Ricardo Silva Veloso (1):
      Update Brazilian Portuguese translation

Richard McLean (1):
      Issue #1299 - Add selection of default export file type

Rico Tzschichholz (1):
      MR !343: using GimpUi prefix in Vala plug-ins too.

Rodrigo (5):
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation

Rodrigo Lledó (48):
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Updated Spanish Translation
      Update Spanish translation
      Updated Spanish Translation
      Updated Spanish Translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation
      Update Spanish translation

Ryuta Fujii (35):
      Update Japanese translation
      Add Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation

Rūdolfs Mazurs (17):
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation
      Update Latvian translation

Sabri Ünal (45):
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Issue #3220 - "How to Use Dialogs" does not open any page.
      Issue #3140 - Export as DDS dialog does not have an Export button
      Issue #3105 - "Maximum Image Size" changed to "Maximum new image size"
      Issue #3119 - Two tooltips were marked as translatable
      Update Turkish translation
      Issue #3112 - Missing mnemonics.
      Missing mnemonics on several dialogs
      Missing mnemonics on Preferences
      Missing mnemonics on several file dialogs
      Update Turkish translation
      CID 228166: Resource leak in file-raw-data.c
      CID 227971: Resource leak
      CID 228155: Resource leak in file-tga.c
      Checking wrong sizeof in gimpmetadata.c
      CID 228074: Missing varargs init or cleanup in file-tiff-io.c
      225614 Copy-paste error
      CID 225808 Arguments in wrong order
      CID: 228176 Fix a Resource leak
      CID 225792 Resource leak in script-fu-server.c
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Issue #4094 - Corrects some tools descriptions
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Update Turkish translation
      Fix a typo: All selected_items
      Update Turkish translation
      Issue 2874 - gimp-tool-pencil.svg icon size is corrected on Color icon theme

Salamandar (6):
      Fix encoding. The world should be utf-8.
      Specify utf-8 for rc file.
      Replace #include .c -> #include .h glib_compile_resources generate .c as sources and .h as headers
      Undo some (unnecessary) changes.
      Enforce libbacktrace tests. Add missing dep in app
      Change logic to detect .git directory on repositories (or file on submodules)

Samuel Rats (1):
      app: fix typo in gimptoolrectangle.c

Sangdo Jun (1):
      Add Korean translation

Sebastian Rasmussen (1):
      plug-ins: When exporting BMP with color space info, always include color masks.

Seong-ho Cho (1):
      Update Korean translation

Sergio Jiménez Herena (4):
      app: add color index label to the palette editor.
      plug-ins: pygimp: Add autogenerated python files to .gitignore
      app: Add option in the windows menu to hide the image tab bar.
      issue #2221: gimptool should install plug-ins into subfolders

Simon Budig (81):
      libgimpwidgets: convert GimpSizeEntry to a GtkGrid.
      dialogs: some table->grid conversion in the item dialogs
      plug-ins: try to catch all gtk_table_* uses for the size-entries
      preferences-dialog: get rid of GtkTable
      dialogs: get rid of GtkTable
      app/tools: get rid of GtkTable
      app/display: get rid of GtkTable
      app/widgets: get rid of GtkTable in GimpTemplateEditor
      app/widgets: port GimpImagePropView to GtkGrid
      app/tools: fix the resize behaviour of the curves tool dialog.
      dialogs: fix two misbehaviours in the prefs dialog
      app/widgets: port gimpdashboard to GtkGrid
      app/widgets: port the gimpstrokeeditor to GtkGrid
      app/widgets: port the toolbox indicator area to GtkGrid
      app: kill the last GtkTables.
      map-object: kill GtkTable
      gradient-flare: kill GtkTable
      lighting: kill GtkTable
      ifs-compose: add unverified GtkTable removal.
      filter-pack: kill GtkTable
      cml-explorer: kill GtkTable
      file-jpeg: kill GtkTable
      warp: kill GtkTable
      sphere-designer: kill GtkTable
      selection-to-path: kill GtkTable
      fractal explorer: kill GtkTable
      oops - old table use of a GimpSizeEntry
      imagemap: monster-port to kill GtkTable
      gimpressionist: re-enable (without real changes) and kill GtkTable
      common: kill GtkTable in a ton of plugins
      script-fu: kill GtkTable
      file-png: attempt to fix the glade file for file-png
      metadata-editor: undeprecateify metadata glade UI
      film: kill GtkTable
      newprint: kill GtkTable
      pagecurl: kill GtkTable
      file-webp: kill GtkTable
      file-fli: kill GtkTable
      screenshot: kill GtkTable
      flame: kill GtkTable
      gfig: kill GtkTable
      print: kill GtkTable
      pygimp: some speculative Table->Grid changes
      file-svg: kill GtkTable
      file-wmf: kill GtkTable
      file-ps: kill GtkTable
      tile-small: kill GtkTable
      sample-colorize: kill GtkTable
      warp, file-svg: remove commented out code, not sure what this is supposed to do.
      grid: make the weird Table-hack less weird by reusing the existing GtkGrid
      mail: kill GtkTable
      align-layers: kill GtkTable
      depth-merge: kill GtkTable
      file-html-table: kill GtkTable
      file-xbm: kill GtkTable
      file-pdf-load: kill GtkTable
      file-xmc: kill GtkTable
      file-raw-data: kill GtkTable
      file-gih: kill GtkTable
      sparkle: kill GtkTable
      van-gogh-lic: kill GtkTable
      unit-editor: kill GtkTable
      oilify: kill GtkTable
      jigsaw: kill GtkTable
      color-selector-cmyk: kill GtkTable
      some odds and ends regarding GtkTable removal...
      devel-docs: blindly port the tool to GtkGrid...
      libgimpwidgets: kill the last remaining occurencces of GtkTable
      libgimpwidgets: rename the _grid()-Variants of gimp_scale_entry_*
      file-png: fix up the advanced options orientation
      libgimpwidgets: fix accidential double G_ADD_PRIVATE
      Issue #1439: reverse the construction of the "selection to path" plugin.
      gimpcanvashandle: implement drop shaped handle
      gimptoolpath: use drop shaped handle to indicate the start of a stroke.
      app: fixed oversight in the canvashandle bounding box.
      app/vectors: implement stroke_reverse and stroke_shift_start
      app: Add basic infratructure for a vector tool popup menu.
      app: implement a few more functions for the ToolPath context menu.
      pdb: implement gimp-vectors-stroke-reverse
      pdb: update autogenerated files.
      app: Simplify the logic for the GimpToolPath popup.

Simon McVittie (1):
      build: Prefer to find libwmf using pkg-config

Simon Mueller (3):
      plug-ins: use g_fopen(filename, "w+b")...
      Issue #2179: Make file_rawtherapee use the registry value that is...
      Issue #2179: Get rid of the win32_use_hkcu flag.

Skal (1):
      webpmux: fix memory leak by calling WebPMuxDelete()

Snehalata B Shirude (1):
      Added Marathi translations

Snehalata Shirude (1):
      Added Marathi translation

Stas Solovey (1):
      Update Russian translation

Stephan Woidowski (1):
      Update German translation

Sveinn í Felli (18):
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation
      Update Icelandic translation

T Collins (1):
      Update ddswrite.c

Thomas Manni (1):
      Foreground-select Tool: new Preview Mode and color selector for "On color" preview

Tim Sabsch (20):
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation
      Update German translation

Timm Bäder (6):
      dockbook: chain up at end of size-allocate
      fgbgvew: Pass correct state to GtkStyleContext api
      spinscale: Fix styling
      spinscale: Decrease height
      app: remove RC style from GimpImageWindow
      app: Make GimpThumbBox pretty again

Timo Jyrinki (4):
      Update Finnish translation
      Update Finnish translation
      Update Finnish translation
      Update Finnish translation

Tobias Ellinghaus (6):
      Fix compile
      file-pnm: Remove clamping when loading PFM files
      plug-ins: Add layer support to TIFF writing
      plug-ins: Move layer option up in TIFF dialog
      Fix typo in configure warning re: luajit
      devel-docs: Fix id of PROP_BLEND_SPACE

Trần Ngọc Quân (1):
      l10n: Updated Vietnamese translation

Umarzuki Bin Mochlis Moktar (3):
      Add Malay translation
      Add Malay translation
      Update Malay translation

Veerasamy Sevagen (5):
      Setting the FileChooserbutton to a fixed width.
      Update plug-ins/pygimp/gimpfu.py
      Update plug-ins/pygimp/gimpui.py
      Update plug-ins/pygimp/gimpfu.py
      Update gimpfu.py

Vinzenz Vietzke (2):
      Update German translation
      Update German translation

Xandru Armesto (3):
      Update Asturian translation
      Add Asturian translation
      Add Asturian translation

Yacine Bouklif (11):
      Add Kabyle translation
      Add Kabyle translation
      Update Kabyle translation
      Update Kabyle translation
      Update Kabyle translation
      Update Kabyle translation
      Update Kabyle translation
      Add Kabyle translation
      Add Kabyle translation
      Add Kabyle translation
      Update Kabyle translation

Yuri Chornoivan (64):
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Fix minor typo: pisels -> pixels
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Fix minor typo: entred -> entered
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation
      Update Ukrainian translation

Zander Brown (7):
      Update British English translation
      Update British English translation
      Add British English translation
      Update British English translation
      Update British English translation
      Update British English translation
      Update British English translation

bartoszek (1):
      Propagate 0ddd3330b8b30091e39ba2b758f26dbd84db0a12 to meson build system.

bootchk (1):
      issue 4669

d.j.a.y (1):
      Update INSTALL.in - gexiv2 required version

fanjinke (1):
      libgimpbase: add hygon cpu detection and enable MMX/SSE support

gaaned92 (1):
      Issue #2716 - Windows: Rawtherapee plugin cannot be installed

lillolollo (18):
      Fix Problem found in ./libgimpbase/gimpbase.def   the following symbols are in the library,   but are 
not listed in the .def-file:      + gimp_bucket_fill_area_get_type
      fix gtk version
      Issue #3758: fixes the build on mingw-w64.
      Fixing error on Windors meson build
      Issue !125: avoid conflict with win32 macro.
      Resolve implicit declaration of function 'getpid'
      fix ``` ../../gimp/plug-ins/common/file-psp.c: In function 'load_image': 
../../gimp/plug-ins/common/file-psp.c:1930:25: warning: passing argument 2 of 'g_stat' from incompatible 
pointer type [-Wincompatible-pointer-types]  1930 |   if (g_stat (filename, &st) == -1)       |               
          ^~~       |                         |       |                         struct stat * In file 
included from ../../gimp/plug-ins/common/file-psp.c:44: 
C:/msys64/mingw64/include/glib-2.0/glib/gstdio.h:134:31: note: expected 'GStatBuf *' {aka 'struct _stat64 *'} 
but argument is of type 'struct stat *'   134 |                  GStatBuf    *buf);       |                  
~~~~~~~~~~~~~^~~
      app: fix GStatBuf warning on gimpconfig-file.c
      Fix meson build error ../../gimp/app/widgets/gimplanguagestore-parser.c:339:33: error: #if with no 
expression 339 | #if ENABLE_RELOCATABLE_RESOURCES
      Fix cast to pointer from integer of different size warning on gimpbacktrace-windows.c
      tools, fix implicit declaration of function atoi warning
      Issue #4338 Plug-in file-header exporting to format C header wrong output.
      Meson add suggested warning flags from Massimo
      App gimptooleditor fix tooltip text
      App file-data-gex.c fix incompatible pointer type
      plug-ins: screenshot-win32.c forbids mixed declarations and code
      gitlab: remove label in bug template
      gitlab: removing added label since code it is broken

lumingzh (4):
      Update zh_CN translation
      Update zh_CN translation
      Update zh_CN translation of po-libgimp
      Update zh_CN translation of po-tips

luz.paz (13):
      Misc. comment typos
      gimptoolpolygon.c source typo
      Misc. typos
      Misc. typo fixes
      Misc. typos
      Misc. typos
      Add a few more misc. source comment typos
      Misc typo fixes in plug-ins/
      Add other misc. typo fixes
      libgimp/ documentation typo fixes
      plug-ins: rename plug-ins/gfig/gfig-examples/simily to smiley
      Fix typos
      Fix typos

luzpaz (2):
      Fix various typos
      FIxed typos in app/

qarmin (2):
      Fixed copy paste error in gimp_vector3_copy
      Compare counter value instead its pointer address

sabri ünal (7):
      Annotation for translators.
      Odd ` characters corrected as '.
      Typo
      2 sentences are marked as translatable.
      Typo - Put a blank after the fullstop.
      #3050 - Four tooltips marked as translatable
      Typo - Preceptual changed to Perceptual

santouits (1):
      Don't compile gimpmarshal source file many times

sarah (1):
      enhancement: validate reference argument of gimp_scanner_parse_string before using it

sicklylife (15):
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation
      Update Japanese translation

space pudim (1):
      Fix #4560 - file-xpm saving unused transparency

woob (7):
      app: Add initial support for configurable editing of non-visible layers (Issue #2713)
      app: allow snapping GimpDial to 15 degree intervals
      app: allow snapping GimpPolar to 15 degree intervals
      app: consolidate UI for merging down and anchoring layers (issue #1184)
      app: expand functionality of merge-down button
      app: make deletion of cropped pixels in crop tool optional
      app: leave locked pixels alone when cropping

y-guyon (1):
      plug-ins: WebP: save_dialog() before gimp_export()

Øyvind Kolås (84):
      app: gimp:border propagate babl space
      app: gimp:compose-crop propagate babl space
      app: gimp:desaturate propagate babl space
      app: gimp:flood propagate babl space
      app: propagate babl space in pointfilter base class
      app: gimp:shrink propagate bable space
      app: gimp:grow propagate babl space
      app: gimp:set-alpha propagate space
      app: gimp:threshold-alpha propagate babl space
      app: gimp:semi-flatten propagate babl space
      app: update babl API usage
      modules: add a filmic proof display filter
      modules: rename filmic display filter to ACES RRT
      configure/app: depend on babl 0.1.54
      configure/app: depend on GEGL 0.4.6
      configure/app: depend on babl 0.1.56
      configure/app: depend on GEGL 0.4.8
      configure, app: depend on babl-0.1.57
      app: gimpdrawable-transform migrated to new buffer iterator
      app: histogram migrated to new buffer iterator
      app: image-convert-indexed migrated to new buffer iterator
      app: palette-import migrated to new buffer iterator
      app: pickable-contiguous-region migrated to new buffer iterator
      app: gimpscanconvert: migrate to new buffer iterator
      app: migrate gegl-loops to new iterator api
      app: migrate gegl-mask-combine to new iterator api
      app: migrate gimp-gegl-mask to new iterator api
      app: migrate iscissorstool to new iterator api
      app: migrate heal to new iterator api
      app: migrate ink paint core to iterator api
      app: migrate brush core to new iterator api
      app: migrate gimpmybrushsurface to new iterator api
      app: migrate paintcore loops to new iterator api
      modules: migrate aces-rrt filter to new iterator api
      modules: migrate display filters to new iterator api
      libgimpcolor: migrate to new iterator api
      app: migrate operationbuffersourcevalidate to new iterator api
      app: migrate gimpoperationcagecoefcalc to new iterator api
      app: migrate gimpoperationcagetransform to new iterator api
      app: migrate gimpoperationgradient to new iterator api
      app: migrate gimpoperationmaskcomponents to new iterator api
      plug-ins: decompose migrated to new iterator api
      plug-ins: border-average migrated to new iterator api
      plug-ins: colormap-remap migrated to new iterator api
      plug-ins: compose migrated to new iterator api
      plug-ins: migrate file-png to new iterator-api
      plug-ins: migrate qbist to new iterator api
      plug-ins: migrate gradient-map to new iterator api
      plug-ins: migrate psd plug-ins to new iterator api
      plug-ins: migrate file-tiff-load to new iterator api
      plug-ins: migrate ifs compose to new iterator api
      plug-ins: migrate print-draw-page to new iterator api
      plug-ins: migrate screenshot-x11 to new iterator api
      plug-ins: migrate pagecurl to new iterator api
      app/configure: depend on babl-0.1.58
      configure/app: depend on GEGL 0.4.10
      configure/app: depend on GEGL 0.4.12
      app: propagate space in gimp_layer_mode_get_format
      app: cache fishes per operation instance in layer-modes
      build,app: require babl-0.1.62
      build,app: require GEGL-0.4.14
      depend on babl-0.1.64
      app: gimp:desaturate, improve indentation and reduce overhead
      app: add GeglOperation *operation argument to GimpLayerModeBlendFunc
      plug-ins: tiff-load initialize a variable before using it
      build: depend on babl-0.1.66
      app: make use of display_config->zoom_quality
      build, app: require babl-0.1.68 or newer
      build: require babl-0.1.70
      plug-ins: link dds plugins against libm
      gitlab-ci: add gobject-introspection dep for babl and gegl
      configure,app: depend on babl-0.1.72
      configure, meson, app: depend on gegl-0.4.18
      meson,app,autotools: depend on babl 0.1.74 and GEGL 0.4.20
      meson,app,autotools: depend on GEGL-0.4.22
      plug-ins: Convert CMYK u8 .psd to R'G'B' float on load
      app: make generated indexed palettes possibly contain pure black/white
      app: when creating palette only snap to black/white when present
      app: do not snap white/black when making 2 color palette
      app: in UI strings s/Precision/Encoding/
      app,build: depend on babl-0.1.76
      meson, autotools, app: depend on babl-0.1.78
      meson, autotools, app: depend on GEGL 0.4.24
      build, app: depend on GEGL 0.4.26

Георгий Тимофеевский (1):
      Fixed translation

Руслан Ижбулатов (1):
      Windows backtrace: VEH must use stdcall

مهدی معراجی (1):
      Add Persian translation

張俊芝 (1):
      Issue #1506: Adds support for source file names with special...


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]