Hi, We originally wanted to get this done on GIMP's 20th birthday last week, but... Anyway, here is the first development release in the GIMP 2.9.x series leading to GIMP 2.10. This is an unstable development preview and might crash or do whatever. If you try it for work, please save your images more often. GIMP 2.9's major new feature is GEGL (www.gegl.org), a graph based image processing framework. The entire old pixel manipulation core of GIMP has been removed and replaced by GEGL. Most internal processing is now done at floating point precision, and images can be kept around at 16-bit and 32-bit integer and floating point precisions. Many plug-ins have already been replaced by GEGL operations and can be previewed live on the canvas. For a complete list of changes since 2.8.0 please see the "Changes" section below. We will also post more detailed news about GIMP 2.9 on www.gimp.org soon, stay tuned. Happy GIMPing, --Mitch Download ======== GIMP 2.9.2 is available from: http://download.gimp.org/pub/gimp/v2.9/ and from the mirrors listed at: http://www.gimp.org/downloads/#mirrors Please use the torrent, it distributes the download bandwidth across all mirrors: http://download.gimp.org/pub/gimp/v2.9/gimp-2.9.2.tar.bz2.torrent The checksum of the tarball is: aa8a846a497e3328c5b7d2fd33f5cf63 gimp-2.9.2.tar.bz2 Overview of Changes from GIMP 2.8.0 to GIMP 2.9.2 ================================================= Core: The core got completely ported to GEGL, listing all changes involved would be too much, therefore we summarize the changes in app/ per source subdirectory: base composite paint-funcs: - Remove these directories, they contained the old pixel manipulation functions config: - Remove GimpBaseConfig, add GimpGeglConfig - Add config options for new features core: - Add some things that used to live in base/, like the temp-buf, boundary and histogram code - Port all functions to GEGL and higher bit depths - Keep the image around as GEGL graph, all other compositing is gone - Add non-destructive drawable filters, but use them only for previews - Implement the floating selection as drawable filter - Implement GimpImageMap using drawable filters - Move batch processing to gimp-batch.[ch] - Run batch commands in an already running GIMP instance - Ported almost everything from filenames/FILE/fd to GFile/GIO - Be smarter about migrating old user config files - Move many object struct members to private structs file: - Support GIO-ported file load/save procs, handle remote files generically - Add content locking to items to prevent them from being edited - Add position locking to items to prevent them from being translated - Implement all color management in the core - Add an automatic palette of recently used colors - Implement metadata handling in the core gegl: - Now contains utility functions and abstractions to work with GEGL more easily - Move all operations to the new operations/ directory operations: - New directory containing all GIMP-internal GEGL operations and their config objects (if any) - Add a correct version of the overlay layer mode - Add LCH layer modes paint: - Port all paint cores to Gegl - Add MyPaint brush paint core pdb: - Add compat procedures that work like the removed plug-ins - Use the new GimpValueArray, GValueArray got deprecated plug-in: - Allow plug-ins to access image data at full bit depth - Add a compat mode so unported plug-ins always get 8-bit data text: - Port text rendering to GEGL - Use HarfBuzz to inspect fonts for creating an example string xcf: - Add zlib compression to XCF loading/saving GUI: - Add GUI to handle the new high bit depths and conversion between them - Add new action group "filters" which can run arbitrary GEGL ops - Add lots of actions invoking GEGL ops that replace removed plug-ins - Preview all GEGL ops live on the canvas, using drawable filters - Mostly switch from using stock-ids to icon-names - Turn all stock icons into named icons and add an icon theme - Allow selecting colors from an image's colormap - Add "Show in file manager" to everything that has a filename - Add an action search dialog to find actions by keyword and execute them - Split the save dialog into subclasses for load, save and export - Implement various color management dialogs that were in the lcms plug-in - Make sure windows appear on the correct monitor - Simplify and reduce the actions that modify paint tool behavior - Add canvas rotation and flipping - Allow zooming to the selection - Make the image tab position configurable in single window mode - Add separate snapping settings for fullscreen mode - Remove bitmaps cursors and only support RGBA cursors - Color manage drawable and image thumbnails - Add more format string options for the image title - Use the external gtkosxapplication package instead of included code - Add a generic GimpPopup class and use it instead of duplicating code - Make the generated GUI of GEGL ops much better - Allow to implement custom GUI for gegl ops, and do that in some cases - Add GimpDial, GimpPolar and GimpCircle to be used for angle and hue picking Tools: - Add an "experimental playground" for unfinished tools - (experimental) Add a tool that paints with MyPaint brushes - (experimental) Add an n-point deformation tool - (experimental) Add a transform tool with a variable # of handles - (experimental) Add a seamless clone tool - Add a unified transform tool that allows rotating, scaling, perspective - Add a warp tool as replacement for the IWarp plug-in - Allow tool dialogs to be embedded on the canvas genrically - Add much more options to painting, like the ability to lock tool options to brush defaults, and to zoom the brush with the canvas - Make the blend tool work interactively in realtime - Add undo/redo to many tools (using the normal shortcuts) Libgimp: - Deprecate the entire old pixel manipulation API - Add API to get a drawable's buffer, the rest can be done with GEGL - Add high bit depth support when using the new buffer API - Make many enum value names sane and deprecate the old names - Many core enums moved here instead of proxying them via PDB generation - Add API to stroke vector outlines, with all core properties - Add more context API that affects other procedures - Deprecate API with weird names, and add new API with less arguments - Add metadata and color management API, utility functions and widgets - Split GimpPickButton into per-platform backends and fix it on OS X Plug-ins: - Remove lots of plug-ins that are now implemented as GEGL ops - Remove the lcms plug-in, this is now done in the core/libgimp - Remove the metadata plug-ins, this is now done in the core/libgimp - Remove the file-uri plug-in, this is now done in the core using GIO - Port many file plug-ins to GIO - Port many plug-ins that are not strictly filters to GEGL Source and build system: - Don't use INCLUDES in Makefile.am, use AM_CPPFLAGS instead General: - Lots and lots of bug fixes - Translation updates Contributors ============ A Kelday, Adrian Likins, Alexander Larsson, Alexandre Prokoudine, Alexia Death, Andrew Worsley, Barak Itkin, Björn Kautler, Chris Wilson, Christian Lehmann, Clayton Walker, Daniel Sabo, David Gowers, Dov Grobgeld, E.S. Quinn, Ed J, Elle Stone, Hartmut Kuhse, Ionutz Borcoman, Jan Lieskovsky, Jehan, Jernej Simončič, Joao S. O. Bueno, Johannes Matschke, John Ralls, Jonathan Tait, Jordi Mas, João S. O. Bueno, Julien Nabet, Kevin Cozens, Kristian Rietveld, Kővágó, Zoltán, Liam Quin, Loren Merritt, Louis Benazet, Ludovic Rousseau, Marco Ciampa, Marek Dvoroznak, Mark Schmitz, Martijn van Beers, Martin Husemann, Martin Nordholts, Massimo Valentini, Matt Giuca, Matthias Wenzel, Michael Henning, Michael Muré, Michael Natterer, Michael Schumacher, Mikael Magnusson, Mike Gran, Miroslav Talasek, Mukund Sivaraman, Murray Cumming, Nicolas Robidoux, Nils Philippsen, Pedro Gimeno Fortea, Petr Kubiznak, Philippe Teuwen, Piotr Drąg, Przemysław Gołąb, Richard Allen, Richard Hughes, Rickard, Roman Lebedev, Saul Goode, Sebastian Pipping, Sebastian Rasmussen, ShadowKyogre, Shlomi Fish, SimaMoto,RyōTa, Simon Budig, Simon Lui, Simone Karin Lehmann, Srihari, Sven Claussner, Sven Neumann, Thomas Manni, Tobias Ellinghaus, Téo Mazars, Ville Pätsi, Ville Skyttä, Ville Sokk, Warren Turkal, darkraid1, saul, su-v, Øyvind Kolås Translators =========== Albert F, Alexandre Prokoudine, Anders Jonsson, Andika Triwidada, André Schutten, Anish A, Aurimas Černius, Balázs Úr, Baurzhan Muftakhidinov, Chris Leonard, Christian Kirbach, Cédric Valmary, Daniel Mustieles, Daniel Sabo, Daniel Winzen, Dimitris Spingos, Duarte Loreto, Dušan Kazik, Enrico Nicoletto, Eulalia, Fran Diéguez, Francisco Vila, Gabor Kelemen, Gil Forcada, Hartmut Kuhse, Hleb Valoshka, Inaki Larranaga Murgoitio, Jehan, Jihui Choi, Jiri Grönroos, Jiro Matsuzawa, Joao S. O. Bueno, Johannes Matschke, Jordi Mallach, Jordi Mas, João S. O. Bueno, Kevin Cozens, Khaled Hosny, Khoem Sokhem, Kiyotaka NISHIBORI, Kjartan Maraas, Kolbjørn Stuestøl, Konfrare Albert, Marco Ciampa, Marek Dvoroznak, Marek Černocký, Martin Srebotnjak, Massimo Valentini, Mattias Põldaru, Michael Bauer, Michael Henning, Michael Muré, Michael Natterer, Muhammet Kara, Necdet Yücel, Nils Philippsen, Pavol Klačanský, Pedro Albuquerque, Peter Mráz, Piotr Drąg, Praveen Illa, Rafael Ferreira, Rodolfo Ribeiro Gomes, Rūdolfs Mazurs, Samir Ribic, Sebul, Seong-ho Cho, SimaMoto,RyōTa, Simone Karin Lehmann, Stanislav Petrek, Sveinn í Felli, Sven Claussner, Thomas Manni, Tiago S, Tiagosdot, Timo Jyrinki, Timur Zhamakeev, Téo Mazars, Ville Skyttä, Ville-Pekka Vainio, Wouter Bolsterlee, Yaron Shahrabani, Yuri Myasoedov, akerbeltz, kolbjoern, sebul, Øyvind Kolås, Андрій Бандура, Милош Поповић _______________________________________________ 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