                   ------------------------------
                   GNU Image Manipulation Program
                          Development Branch
                   ------------------------------

This is the unstable development branch of GIMP. Here we are working
towards the next stable release, which will be GIMP 2.10.

Generally, all bug fixes that are applied on the stable GIMP 2.8
branch are also applied here, but they are usually not mentioned
in NEWS.


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
