1 ------------------------------
2 GNU Image Manipulation Program
4 ------------------------------
6 This used to be the development branch that lead to GIMP 2.8.
15 - Add our own GimpOperationBrightnessContrast because GEGL one is different
20 - Fix some GFig rendering issues
23 Source and build system:
25 - Depend on Babl 0.1.10, GEGL 0.2.0 and some other new library versions
40 - Minor application menu fixes on the Mac
41 - Make the toolbox arbitrarily resizable again
42 - Add axis labels to the dynamics curves to make them more obvious
43 - Fix dockable showing to do the right thing in both MWM and SWM
44 - Fix some glitches in the tool preset UI, like proper sensitivity
49 - Restore autoshrink functionality in the rectangle tools
50 - Allow smudge to work with dynamic brushes
51 - Make sure tool presets and tool options are consistent after loading
52 - Add automatic tags for the folders a file lives in
53 - Make the default Quick Mask color configurable
54 - Fix Color Balance so the "range" setting actually makes a difference
59 - Proper toplevel item sorting in the help browser
60 - Use libraries instead of launching programs in file-compressor
61 - Use the Ghostscript library instead of launching ghostscript
62 - Allow to switch off antialiasing when importing from PDF
63 - Embed the page setup in the main print dialog
69 - Add PDB API to modify a lot of paint and ink options
74 - Add a new set of default brushes and tool presets from Ramon Miranda
77 Developer documentation:
79 - Update everything including app/ so all functions appear again
82 Source and build system:
84 - Remove the unmaintained makefile.msc build system
85 - Explicitly link plug-ins to -lm when needed
86 - Also create .xz tarballs
92 - Tons and tons of translation updates
101 - Add a close button to image tabs in single-window mode
102 - Improve the transform tools' undo strings to be more descriptive
103 - Render the layer's "eye" icon in inconsistent state if the layer is
104 visible, but one of its parents isn't
105 - Add proper stacking for canvas items, so things don't hide each other
106 - Make sure single-window-mode and multi-window-mode are always saved
107 consistently in sessionrc
112 - Fix "render_image_tile_fault: assertion `tile[4] != NULL' failed"
113 warnings that occurred for some image sizes
114 - Fix attachment of the floating selection when the gegl projection
116 - Replace heal algorithm with a new one by Jean-Yves Couleaud that
118 - Make resource sub-folders show up in UI as tags, allowing users
119 to easily locate resource collections they may have installed
120 - Fix graphics tablet canvas interaction by moving from
121 gdk_pointer_grab() to gtk_grab_add() for most grabs
122 - Stop using motion hints, they are a concept from the dark ages
127 - Add a basic paint dynamics PDB interface
132 - Make writing color space information to BMP files optional
133 - PSD loader now reads and imports working paths
138 - Lots and lots of undeprecations
141 Developer documentation:
143 - Add devel-docs/gegl-porting-plan.txt
146 Source and build system:
148 - Make git-version.h generation work in shallow git clones
149 - Modernize use of autotools a bit, maintainer-mode and pdbgen
150 are now enabled by default
155 - Make gimptool install scripts in the correct system-wide directory
156 - Fix lots and lots of stuff found by static code analysis
159 Changes in GIMP 2.7.3
160 =====================
165 - Use GimpSpinScales instead of scale entries in all dockable widgets
166 - Allow the spin scale to control a range larger than its scale's range
167 - Implement RTL mode in GimpSpinScale
168 - Add lots of tooltips to tool options
169 - Allow to drop more things to the empty image window, and simply
170 create new images from them
171 - Cage tool: allow to add handle to the cage when clicking on an edge
172 - Cage tool: allow to remove selected handles from the cage by hitting delete
173 - Remember column widths in multi-column dock windows
174 - Support starting GIMP in single-window mode
175 - When the brush is shared among paint tools, also share all
176 brush-modifying paint options
177 - Use ALT+number and ALT+Tab shortcuts to navigate between images
178 in both single- and multi-window mode
179 - Make 'Export to' always activatable and fall back to 'Export...' if
180 no export target has been set yet
181 - In single-window mode, add new dockable dialogs to the image window
182 instead of in a new window
183 - When switching on single-window mode, put docks in the image window
184 depending on what side of the window they originally had
185 - When switching off single-window mode, distribute dock windows
187 - Add a canvas item for the transform grid, fixing a major speed
188 regression, and add the same guides options as in the rectangle tools
189 - Don't unmaximize the single-window mode image window when closing
191 - Resurrect the "You can drop dockable dialogs here" help string
193 - Make pick-and-move with the Move Tool work for layers in a layer
199 - Add GimpMotionBuffer which abstracts away stroke smoothing behind
200 a simple API and takes it out of GimpDisplayShell
201 - Add a GimpIdTable utility class
202 - Add a GimpDockContainer interface
203 - Add a GimpSessionManaged interface
204 - Add GimpCanvasRectangleGuides which makes the rectangle tool's
210 - Make libgimp depend on GdkPixbuf
211 - Add API to create layers from cairo surfaces
212 - Make it impossible to include individual files from any GIMP
213 library. This was always forbidden and designed so it most
214 probably breaks, but now it reliably breaks using #error
215 - Deprecate the "set_sensitive" logic and use g_object_bind_property()
220 - Use poppler's cairo API to load PDFs, the pixbuf API is removed
221 - Port screenshot from GdkPixbuf to cairo
222 - Fix the annoying parser build warnings in imagemap
223 - Add a check-for-deprecated-procedures-in-script-fu make target
224 - Update libpng code to not use deprecated API (file-mng and file-png)
225 - Add an Item class to pygimp
226 - Correct/update some labels and defaults in the JPEG plug-in's save dialog UI
227 - Fix "Bug 596410 - gimp-image-get-filename returns NULL for imported files"
230 Developer documentation:
235 Source and build system:
237 - Make cairo a global dependency, starting at libgimpcolor
238 - Require poppler >= 0.12.4
239 - Remove gimp-remote for good, it has been disabled for years
244 - Some more undeprecations now that we use GTK+ 2.24
245 - Fix lots of warnings that are new in -Wall in GCC 4.6
246 - Lots of bug fixes and cleanup
247 - Lots of translation updates
250 Changes in GIMP 2.7.2
251 =====================
256 - A lot of undeprecations due to GTK+ 2.22 and 2.24
257 - Lots and lots of cairo porting, calls to gdk_draw_* are gone
258 - Merge the cage transform tool from GSoC
259 - Remove the old bitmap cursors completely and always use RGBA cursors
260 also for compat cursors for old X servers
261 - Add new GimpCanvasItem infrastructure with subclasses for everything
262 that needs to be drawn on the canvas and port all tools to canvas items,
263 this is a huge change that touches all tools and almost all display
264 code, and which finally gets rid of XOR drawing altogether
265 - Switch from purely idle-rendering the display to something that ensures
266 a minimum framerate, so we don't fail to update under heavy load
267 - Make the text tool handle RTL mode better
268 - Change GimpColorMapEditor to use the newly added proxy GimpPalette
269 - Replace the brush scale control in tool options by a brush size
270 one that works in pixels, and does the right thing when the brush
272 - Add new widget GimpSpinScale which is a scale with number entry,
273 and use it in all tool options
274 - Make the brush, pattern etc. selectors in tool options more
275 compact and allow to directly jump to the editor dialogs
276 - Make handle sizes in tools consistent
277 - Add an on-canvas progress and use it for tool progress instead of
279 - Add a new GimpToolPalette class with lots of code that was
281 - Allow to properly drop into and after a layer group
282 - Refactor and clean up the dynamics editor widget, and add colors
284 - Add support for F2 to rename items in lists
285 - Clean up GimpDeviceStatus internally and visually
286 - Allow to set GimpToolPreset's icon using the new GimpIconPicker widget
287 - Make the text tool's style overlay show default values from the
288 text object if there is no style active at the cursor position/selection
289 - Show the the text size's unit in the text style overlay
290 - Make tool dialogs transient to the image window again
291 - Consistently add a "gimp-" prefix to all window roles
292 - Make the preset buttons in tool options work on the global tool
293 presets instead of the removed per-tool preset lists
294 - Add GimpControllerMouse, which allows to bind extra mouse buttons to
300 - Add uniform API to turn any GimpItem's outline into a selection
301 - Add support for color tags in text layers
302 - Remove the selection_control() stuff from GimpImage and with it
303 maybe last piece of UI code still not properly separated
304 - Add more validation code for XCF loading
305 - Add accessors to GimpPalette and use them globally
306 - Keep a proxy GimpPalette around for the image's colormap
307 - Don't scale SVGs when pasting or importing them
308 - A lot of changes to the input device handling code, partly
309 merged from the gtk3-port branch, add GimpDeviceManager class
310 - Add smoothing of paint strokes
311 - Fix display filters to work on a cairo surface
312 - Fix and enhance GimpImage's URI/filename handling API
313 - Unset "removed" flag on items when they get added back to
314 the image from the undo stack
315 - Change item creation to properly use GObject properties and
316 remove item_configure() and drawable_configure()
317 - Refactor tool event handling and move lots of stuff into
319 - Clean up GimpViewRenderer API
320 - Implement transforms on group layers
321 - Clean up the transform tool a lot, and refactor away old junk
322 - Tool and tool event cleanup: enforce tool activate/halt invariants,
323 consistently shutdown all tools in control(HALT), and many other
325 - Remove GimpToolPresets object, this functionality got merged into
326 the new GimpToolPreset system
327 - Rename GimpFilteredContainer to GimpTaggedContainer and add a new
328 GimpFilteredContainer parent class which is a generic filter
329 - Remove the concept of an "offset" from TileManager and instead
330 pass around the offsets explicitly when needed, like when
332 - Move GimpBezier desc from vectors/ to core/ and add API to create
333 one from sorted BoundSegs
334 - Change GimpBrush boundary API to return a GimpBezierDesc
335 - Add GimpBrushCache object and use it to cache a brush's transformed
336 pixels and its outline, remove the caching code from GimpBrushCore
337 - Add GimpBezierDesc based API to GimpScanConvert and use it
342 - Add operations and gegl infrastructure for the cage tool
343 - Disable View -> Use GEGL as we will not have time to finish the
344 GEGL projection code for GIMP 2.8
349 - Introduce an "item" type in the PDB and libgimp and deprecate
350 lots of old API in favor of item API
351 - Add procedures to create, traverse and manipulate layer trees
352 - Add more state to the context API, and deprecate functions with
353 too many parameters in favor of simpler ones that use context states,
354 particularly the entire transform and selection API
355 - Move GimpUnitStore and GimpUnitComboBox to libgimpwidgets, and
356 use them in GimpSizeEntry, deprecate GimpUnitMenu.
357 - Deprecate gimp_min_colors() and gimp_install_cmap()
358 - Add API that enables GimpRuler to track motion events by itself
359 - Add new selection API and deprecate all old selection functions
360 - Move around and rename all parasite functions, deprecate the old ones
361 - Add a generated PDB file in the "gimp" namespace and get rid
363 - Add unit conversion functions to libgimpbase
364 - Add function to reset a plug-in's context to default values
369 - Make script-fu server IPv6 aware
370 - Follow libgimp deprecations in plug-ins and scripts
371 - Add PDF export plugin
372 - Lots of cairo porting here too
373 - UTF-8 fixes in script-fu
374 - Set the progress to 1.0 when done
375 - Merge a lot of upstream fixes into script-fu's Tinyscheme
376 - Add "New Layer" option to MapObject
377 - Support loading of 16-bit raw PPM files
378 - Add web-page, a new plug-in which renders images of web pages
379 - Fix some more plug-ins to not warn if applied on an empty region
384 - Remove "Untitled" from palette names entries
387 Developer documentation:
389 - Move libgimp documentation from templates to inline comments
390 - Generate standard deprecated sections
393 Source and build system:
395 - Add more code documentation
396 - Add more unit tests and refactor existing ones to use global
397 test utility functions
398 - Add a manifest to executables (app and plug-ins, Win32)
399 - Depend on GLib 2.28, GTK+ 2.24, Cairo 1.10
400 - Make WebKit available to all plug-ins, not just the help browser
401 - Run UI tests on Xvfb if available
402 - Check for GdkPixbuf separately because it's now a separate library
403 - Allow tests to use uninstalled plug-ins from the build dir
404 - Remove, comment out, or build for GIMP_UNSTABLE some stuff that
405 should not be in a stable release
410 - Improve safety on Win32 by calling SetDllDirectory() and
411 SetProcessDEPPolicy()
412 - Switch from GtkObject::destroy() to GObject::dispose() all over
414 - Various changes that make maintaining the gtk3-port branch easier,
415 such as s/GtkAnchorType/GimpHandleAnchor/ and s/GtkObject/GtkAdjustment/
416 - Don't use gtk_container_add() for adding to GtkBoxes
417 - Inherit from GtkBox directly, not from GtkHBox/GtkVBox
418 - Add namespace to the ink blob types and functions
419 - Remove all useless calls to gtk_range_set_update_policy()
420 - Use GObject::constructed() instead of GObject::constructor() all
422 - Move more members to private and add accessors for them
423 - Stop using GdkNativeWindow, use guint32 instead
425 - Remove ps-menurc, we are not a PS clone
426 - Use the new g_[s]list_free_full() instead of foreach() and free()
427 - Don't use newly deprecated GTK+ API
428 - Use the new GDK_KEY_foo key names
429 - Lots of bug fixes and cleanup
430 - Lots of translation updates
433 Changes in GIMP 2.7.1
434 =====================
439 - Add "lock content" button to the layers, channels and paths dialogs,
440 make the lock buttons more compact
441 - Refuse to edit locked items
442 - Add support for layer groups
443 - Improve internals and GUI of the save/export functionality
444 - Move the shortcut dialog's "clear" button into the entry
445 - Clean up UI code by introducing GimpDockWindow and GimpImageWindow
447 - Support multi-column dock windows
448 - Get rid of docking bars, use highlights in existing widget hierarchy instead
449 - Remove toolbox-window-hint gimprc setting and use dock-window-hint
450 for both toolbox and docks instead
451 - Move GimpDock::default-height style property to GimpDockWindow
452 - Polish save+export path-part precedence rules
453 - Merge the GSoC 2009 Advanced GUI for Brush Dynamics project
454 - Default to non-fixed-aspect in Canvas Size dialog
455 - Add a still incomplete and Single-window mode
456 - Have an Export button, not Save, in export dialogs
457 - Improve Free Select Tool handle highlighting
458 - Support changing user interface language from preferences
459 - Update ps-menurc with PS CS4 keyboard shortcuts
460 - Reduce spacing around canvas and use it for the canvas itself
461 - Put name of active dockables in dock window titles
462 - Don't have Toolbox in list of Recently Closed Docks, handle that
463 directly in the Windows menu
464 - Support selecting and tagging multiple objects in resource lists
465 - Improve on-canvas text editing and text attribute setting
466 - Add GimpContainerTreeStore and use it in all GtkTreeStore based views
467 - Add a new default "automatic" tab style that makes sure dockable tabs
468 always show as much detail as possible
469 - Remove the dockable title bar and add the menu arrow button next to the
471 - Add an icon for the desaturate tool
472 - Add 'Rule of fifths' crop guide overlay
473 - Make Alt+Click on layers not affect active layer
478 - Make all GimpItems lockable so their contents can't be changed
479 - Make more sense when naming imported layers
480 - Make group layers work except for layer masks and save them in
482 - Change GimpProjectable::update to GimpProjectable:invalidate
483 - Make sure we don't mix font backends (and crash) by explicitly
484 asking for FT/Fontconfig backends
485 - Move members of GimpObject to a private struct
486 - gimp_object_get_name() takes a gconstpointer now, remove casts
488 - Let drawables connect to their floating selection's "update" signal
489 instead of letting the image do this job
490 - Fix brush rotation artifacts at even 90 degree rotation
491 - Don't leak shared tile memory on Solaris
492 - Add a PDB procedure to access a text layer's markup
493 - Remove legacy cruft from pdbgen and make sure number ranges are correct
494 - Move all image creation functions to a common file
495 - Add translation context to all undo descriptions
500 - Make sure all nodes are added to their resp. graphs
501 - Use GEGL for layer scaling if use-gegl is TRUE
506 - Updated script-fu's scheme to latest upstream fixes
507 - Don't store image-specific print settings globally
508 - Add fundamental OpenRaster (.ora) import and export support
509 - Add RGB565 support to the csource plug-in
514 - Add texture/grunge brushes made by Johannes Engelhardt
517 Developer documentation:
519 - Explain GimpContext
520 - Add SVG graphic with GIMP application core module dependencies
521 - Add a schedule for 2.8 development
524 Source and build system:
526 - Add more code documentation
527 - Clean up subsystem linking dependencies in app/
528 - Add unit testing framework in app/tests/ and some basic tests,
529 including basic UI tests and XCF tests
530 - Tentatively introduce usage of using Glade + GtkBuilder
531 - Depend on GLib 2.24.0 and GTK+ 2.20.0
532 - Add git commit hash in --verbose --version output
533 - Don't version control gtk-doc.m4, get it from gtkdocize
534 - Add GimpObject tracking code
536 - Lots of bug fixes and cleanup
537 - Lots of translation updates
540 Changes in GIMP 2.7.0
541 =====================
544 - Change the Text Tool to perform text editing on-canvas (GSoC 2008)
545 and add the ability to mix different text styles in the same layer
546 - Add support for tagging GIMP resources such as brushes and allow
547 filtering based on these tags (GSoC 2008)
548 - Separate the activities of saving an image and exporting it, there is
549 now a 'File->Export...' for example
550 - Port file plug-ins to new export API which gets rid of many
551 annoying export dialogs
552 - Add a simple parser to size entry widgets, images can be scaled
553 to e.g. "50%" or "2 * 37px + 10in"
554 - Arrange layer modes into more logical and useful groups
555 - Added support for rotation of brushes
556 - Make the Pointer dockable show information about selection position
558 - Get rid of the Tools dockable and move toolbox configuration to
560 - Allow closing the toolbox without closing the whole application
561 - Add status bar feedback for keyboard changes to brush parameters
562 - Add diagonal guides to the Crop Tool
563 - New docks are created at the pointer position
564 - Add support for printing crop marks for images
565 - Move 'Text along path' from tool options to text context menu
566 - Change default shortcuts for "Shrink Wrap" and "Fit in Window" to
567 Ctrl+J and Ctrl+Shift+J respectively since the previous shortcuts
568 are now used for the save+export feature
569 - Make Alt+Click on layers in Layers dockable create a selection from
571 - Allow to specify written language in the Text Tool
572 - Support custom mapping curves for input device properties like "Pressure"
573 - New desktop launcher icon
574 - Add 'Windows→Hide docks' menu item that does what 'Tab' does and also displays
575 its state. Make the state persistent across sessions, too.
576 - Make dock window title separators translatable
581 - Map the 'Linear Dodge' layer mode in PSD files to the 'Addition'
583 - Add JPEG2000 load plug-in
584 - Add X11 mouse cursor plug-in
585 - Add support for loading 16bit (RGB565) raw data
586 - Add palette exporter for CSS, PHP, Python, txt and Java, accessed
587 through palette context menu
588 - Add plug-in API for getting image URI, for manipulating size of
589 text layers, for getting and setting text layer hint, and for
590 unified export dialog appearance
591 - Add an 'As Animation' toggle to the GIF export options
592 - Add 'active_vectors' getsetter to Python 'gimp.Image'
597 - Add large variants of round brushes and remove duplicate and
599 - Add "FG to BG (Hardedge)" gradient
604 - Port the projection code, the code that composes a single image
605 from a stack of layers, to GEGL
606 - Port layer modes to GEGL
607 - Port the floating selection code to GEGL
608 - Refactor the layer stack code to prepare for layer groups later
609 - Prepare better and more intuitive handling of the floating
611 - Add File->Debug->Show Image Graph that show the GEGL graph of an
613 - Allow to benchmark projection performance with
614 File->Debug->Benchmark Projection
615 - When using GEGL for the projection, use CIELCH instead of HSV/HSL
616 for color based layer modes
621 - Make painting strokes Catmull-Rom Spline interpolated
622 - Add support for arbitrary affine transforms of brushes
623 - Add support for brush dynamics to depend on tilt
624 - Add aspect ratio to brush dynamics
625 - Add infrastructure to soon support vector layers (GSoC 2006)
626 - Rearrange legacy layer mode code to increase maintainability
627 - Drop support for the obsolete GnomeVFS file-uri backend
628 - Allow to dump keyboard shortcuts with File->Debug->Dump Keyboard
630 - Prepare data structures for layer groups
631 - Remove gimprc setting "menu-mnemonics",
632 "GtkSettings:gtk-enable-mnemonics" shall be used instead
633 - Remove "transient-docks" gimprc setting, the 'Utility window' hint
634 and a sane window manager does a better job
635 - Remove "web-browser" gimprc setting and use gtk_show_uri() instead
640 - Changed license to (L)GPLv3+
641 - Use the automake 1.11 feature 'silent build rules' by default
642 - Lots of bug fixes and cleanup