Hello everyone! We have not been very good with announcing releases on the mailing list lately, so let's fix this! In particular, we have never announced here any of the development releases of the 2.99 series (the unstable versions meant to become GIMP 3 later on) even though this is actually the third one! * GIMP 2.99.2 (2020-11-06): https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/ * GIMP 2.99.4 (2020-12-25): https://www.gimp.org/news/2020/12/25/gimp-2-99-4-released/ * GIMP 2.99.6 (today): https://www.gimp.org/news/2021/05/08/gimp-2-99-6-released/ Note about the release dates: some people may have noticed that versions are tagged earlier in the git repository, because we now wait for at least the Windows installer or macOS DMG before announcing a new version, and for mirrors to sync up. In GIMP 2.99.6 case, we are even 11 days late, but such is life! It is nicer not to announce something most people cannot test. Though our flatpak (Linux) package is always timely distributed a few hours after version tagging. For a list of the changes, with nice text and screenshots, please refer to the relevant news link above, on our website. For a more complete list of changes since GIMP 2.99.6, please see the "Changes" section below. Happy GIMPing, Jehan and the GIMP team! Download ======== GIMP 2.99.6 is available from: https://download.gimp.org/mirror/pub/gimp/v2.99/ and from the mirrors listed at: https://www.gimp.org/downloads/devel/#mirrors The sha256 and sha512 checksums of the tarball are: 8d264b28445a3df2b940f30ee0b89b469255e975e8563b889fd57fb2f58f66a0 gimp-2.99.6.tar.bz2 51ada696693ac51624ba222d1fff54d39bdc72a06de54f7c244b89740b77f7205aab44f1cec90785ca4196cab32f817e7390b4287a30f5024606163f24222961 gimp-2.99.6.tar.bz2 Overview of Changes from GIMP 2.99.4 to GIMP 2.99.6 =================================================== Core: - Various fixes for Wayland support. - Canvas Size dialog now displays a template selector to simply resize the canvas to a known template. When the image's and template's pixel density don't match, a choice will be proposed to set the image's PPI to the template's one or to scale the template's pixel size with the image's pixel density. - Off-canvas guides are now allowed. Guides are not deleted anymore when dropped off-canvas, but when dropped off-viewport. - Pinch gesture is now possible on canvas for zooming in/out (works on Wayland, not on X11; untested yet on *BSD, macOS, Windows and others). - GimpAction core class now stores a reason for explaining being disabled. This can be used later for giving better hints on why some effects or plug-ins are not usable in some situations. We already had this feature, but by tweaking the action's tooltip, which prevented this to have proper styling on GUIs and disrupted action search (as the reason text was searched, hence may return actions it should not). - Copy|Cut-Paste could already operate on multiple layers, by merging the result into a single layer. It will still do this when a selection exists, yet will paste layers as-is otherwise. This makes an alternative way to move layers, which is sometimes easier than drag'n dropping (especially between separate images). Tools: - Paint Select tool got various improvements: * apply a threshold on the image mask before triggering the automatic expansion to simplify mask handling in the gegl paint-select operation. * enable viewport-based local selection. - GEGL Operation tool is now moved into Filters > Generic menu because it behaves more like a generic filter conceptually. As other filters, the GEGL Operation action is now only active when there are opened images. API: - The generate "Metadata" frame layout in a GimpSaveProcedureDialog has been improved to always show the same number of columns to avoid ugly layout with options on 3 columns, then 2 columns on the next line (for instance). - The "Reset" button in GimpProcedureDialog shows a down arrow to show this is actually a button menu. - "Save|Load Defaults" in GimpProcedureDialog are renamed as "Save Settings" and "Load Saved Settings". The term "defaults" was not very clear and could be confused with "factory defaults". Moreover tooltips were added and the "Load Defaults" button is now only sensitive if "Save Defaults" buttion has been hit at least once. - Annotations improved. - Drop g_object_notify() in favor of g_object_notify_by_pspec() in various implementations to avoid a slight performance hit because of a global lock. - New function gimp_parasite_get_data() replacing gimp_parasite_data() and gimp_parasite_data_size() in a GObject Introspection friendly way. - gimp_procedure_dialog_new() now allows a NULL title if a menu label was set on the GimpProcedure with gimp_procedure_set_menu_label(). - gimp_progress_update() improved: do not update more than 20 times per second and do not warn on stderr when too many progression steps are outputted. Indeed we should not place the burden of deciding whether there are too much or not enough progression updates on plug-in developers. On the opposite, they should be encouraged to update the progression as often as possible while libgimp will handle the decision on whether it actually ignores the progression step or not. This makes easier plug-in development and good progression feedback of long process. - GimpInt16Array was removed: it was used neither by GIMP core nor any core plug-ins. If third-party plug-ins really need this type, they may easily reintroduce it through GimpUint8Array (array of bytes) or GimpInt32Array (using only a subrange). - New function gimp_image_take_selected_layers() similar to gimp_image_set_selected_layers() except that it takes a GList (instead of a C array) and it takes ownership of the list pointer. - New functions: gimp_procedure_set_sensitivity_mask() and gimp_procedure_get_sensitivity_mask() for plug-ins to advertize when a procedure should be sensitive (in particular relatively to multi-drawable selection). - GimpImageProcedure's run() functions now have an array of drawables as argument (instead of a single drawable), to be consistent with multi-drawable selection ability. - New gimp_plug_in_error_quark() as a generic GQuark/GError domain for plug-ins. - Several functions were renamed to be consistent with our naming scheme: * s/gimp_parasite_name/gimp_parasite_get_name/ * s/gimp_parasite_flags/gimp_parasite_get_flags/ * s/gimp_image_base_type/gimp_image_get_base_type/ * s/gimp_image_width/gimp_image_get_width/ * s/gimp_image_height/gimp_image_get_height/ * s/gimp_drawable_bpp/gimp_drawable_get_bpp/ * s/gimp_drawable_width/gimp_drawable_get_width/ * s/gimp_drawable_height/gimp_drawable_get_height/ * s/gimp_drawable_offsets/gimp_drawable_get_offsets/ - gimp_parasite_data() and gimp_parasite_data_size() are replaced by gimp_parasite_get_data() which is introspection friendly. - libgimpconfig: GimpParasite can now be serialized. This is useful when using a GimpParasite procedure argument, whose random contents (possibly binary) can be stored across sessions. - Move public classes to G_DECLARE_DERIVABLE_TYPE and G_DECLARE_FINAL_TYPE in order not to expose useless variables to plug-in developers. - New function gimp_procedure_dialog_set_sensitive() sets GimpProcedureDialog's widget sensitive value or binding. - PDB procedure 'plug-in-autocrop-layer' multi-layer aware. - GimpProcedureDialog now handles GimpRGB arguments. Plug-ins: - We dropped the dialog for the Freedesktop portal implementation of the screenshot plug-in. Basically the Freedesktop portal provides its own GUI with most options, so also showing ours is redundant. Just directly call the portal and wait for the image in return. - Color profile and comment is saved on each layer of a TIFF file to prevent any ambiguity as TIFF allows its layers to have different profiles. - On PNG import, create an ICC profile out of the gAMA and/or cHRM chunks, if any of them are present, if no color profile is set and if the sRGB chunk is not present. This happens for RGB images as well as grayscale images (creating respectively a RGB or grayscale color profile). - Improve PNG export in no-profile case with gAMA and cHRM chunks (additionally to the sRGB chunk) according to PNG spec recommendations. Moreover the "gamma" option has now been removed because we just have proper core support of this metadata through ICC profile creation now, which is just more powerful. - "gamma" option for PNG export was removed (from GUI and file-png-load PDB API) because it is now redundant as we have proper support for this metadata. - Various fixes and improvements to OpenRaster image support. - PDF export now has progression. - PSD import/export got multi-layer selection support. - Qbist: * make the applied pattern a bit more prominent by adding a label about the center pattern of the 9x9 grid (which is the selected one meant to be applied). * last used values now stored with the new API, hence surviving across sessions. - benchmark-foreground-extract.py moved to gimp-data-extras. - Various plug-ins now work with multiple selected drawables when relevant. Devel docs: - Python 3 and Javascript API documentation are now generated inside the build directory devel-docs/g-ir-docs/html/ (not installed right now) if you configure the build with option --enable-g-ir-doc (alternative for the meson build: -Dg-ir-doc=true but the docs ends up incomplete so autotools build is advised, cf. #6362). Translations: - New Hebrew translation for the installer. -- ZeMarmot open animation film http://film.zemarmot.net Liberapay: https://liberapay.com/ZeMarmot/ Patreon: https://patreon.com/zemarmot Tipeee: https://www.tipeee.com/zemarmot _______________________________________________ gimp-developer-list mailing list List address: gimp-developer-list@xxxxxxxxx List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list