1 Overview of Changes in GTK+ 1.3.5
2 =================================
4 * New default theme based on Raleigh theme for 1.2.x.
5 * Dependency on the ATK library added as a step to
6 providing accessibility-enabling interfaces
7 * XEMBED-based GtkPlug/GtkSocket now basically works.
8 * Drag and drop of column headers in GtkTreeView
9 * GtkColorSelector work: hooks for saving and propagating palette, UI tweaks,
12 * Configurable padding/spacing in a lot of places
13 * Invisible text in GtkTextView fixed
14 * SHM segments now created with a mode of 0600
17 Overview of Changes in GTK+ 1.3.4
18 =================================
21 * GtkTreeView improvements and fixes
23 * Miscellaneous bug fixes
25 Overview of Changes in GTK+ 1.3.3
26 =================================
28 [ 5600 lines of ChangeLog ]
31 * Win32 work (Tor, Hans Breuer)
32 * Focus improvements (Owen)
33 * Frame buffer improvements (Alex)
34 * Work on GtkTextView (Havoc)
35 * Much work on GtkTreeView (Jonathan)
36 * Selectable labels (Havoc)
37 * Converted many arguments to properties (Lee Mallabone, John Margaglione)
38 * Add exact regions to GdkExposeEvent, propagate it. (Alex)
39 * Added ability to have resize grips in status bars (etc.) using
40 _NET_WM_MOVERESIZE protocol. (Havoc)
41 * Added mnemnonic mechanism to make setting underline accelerators
43 * Add per-style property mechanism to allow themes to change
44 geometry parameters. (Tim)
45 * Added global settings mechanisms for settings such as double-click
47 * Various support functions for new and old WM properties (Havoc, Alex)
48 * Add TRUE-stops-returns for boolean-returning signals (Ron Steinke)
50 Overview of Changes in GTK+ 1.3.2
51 =================================
55 * New stock-icon and stock-item system. Use themeable pixbufs in
56 dialogs, buttons, etc. [Havoc]
57 * Theme engines reworked to use derivation and new object system. [Owen]
58 * Added GtkClipboard object for simple selection handling. [Owen]
59 * Make GtkEditable an interface, move implementation to GtkOldEditable for
61 * Better handling of default directionality. [Robert]
62 * Use GSignal as backend for GtkSignal and other GObject stuff. [Tim]
63 * Move theme engines to GTypePlugin. [Owen]
67 * Beginning of implementation of client parts of new window manager spec. [Owen]
68 * Make gdk_drawable_get_image() work with backing store. [Havoc]
72 * New text widget [Havoc]
73 - Adjustable tab handling.
74 - Ability to have scrolling side areas in new text widget for tabs/line numbers.
75 - Many cleanups and small improvements.
76 * Improvements to submenu navigation [Nils Barth/David Santiago] and
77 scrolling menus. [Alex]
78 * Simplification of progress bar API. [Havoc]
79 * Make GtkImage a generic image-display widget. [Havoc]
80 * New GtkTreeView tree widget. Model/view architecture, flexible renderering,
81 large datasets, etc. [Jonathan]
82 * New GtkMessageBox widget for message display. [Havoc]
83 * Allow labels to have contents set from XML-like markup language. [Havoc]
84 * Make dialogs derive from GtkDialog and use stock buttons. [Havoc]
88 * Proper character set conversion for clipboard/selection. [Owen]
89 * New input method system via loadable modules; support on-the-spot
90 preedit in GtkEntry and new text widget; allow switchin input methods
91 on the fly; include modules for XIM and demo Cyrillic-tranliteration
93 * VIQR, Thai, and Inuktitut input methods. [Robert]
94 * Convert po files to UTF-8. [Robert]
98 * Full-alpha compositing for gdk-pixbuf on drawable. [Havoc]
99 * Add simple saving to gdk-pixbuf. [David Welton/Havoc]
100 * Add improved error handling with GError to gdk-pixbuf. [Havoc]
104 * Much work on Win32 Port. [Tor/Hans]
105 * Much work on Linux-FB Port. [Elliot/Alex]
109 * Start of new gtk-demo demo program. [Owen/Jonathan]
110 * Bug fixes and more bug fixes.
113 Overview of Changes in GTK+ 1.3.1:
115 * GTK+ now uses the Pango library for text manipulation. All
116 strings in GTK+ now are in Unicode, languages written
117 from right-to-left, and complex-text languages are now supported.
118 * The gdk-pixbuf library for image loading and manipulation is
119 has been integrated with GTK+.
120 * The GTK+ object system has mostly been moved to GLib, separating
121 it from the GUI code. Many significant enhancements have been
122 made as part of this.
123 * A new text widget is now included. This started as a port
124 of the Tk text widget, and includes such features of the Tk
125 text widget as tags, marks, and unicode text support. It
126 has been enhanced to support model-view operation and the
128 * The GDK library has been extensively revised to support multiple
129 windowing systems. The only fully functional backend in 1.3.1
130 is the X11 backend, however, ports to Win32, Linux-framebuffer,
131 Nano-X, BeOS, and MacOS exist in various states of completion,
132 and at least some of these will be finished and integrated in
133 before the final GTK+-2.0 release.
134 * 32-bit coordinates are now supported throughout GDK and GTK+
135 (they are emulated where not supported by the windowing system.)
136 * Many minor bug fixes and enhancements. Incompatible changes
137 are documented in docs/Changes-2.0.txt
139 Overview of Changes in GTK+ 1.2.8:
141 * GNU Make 3.79 bug workaround
142 * FAQ and tutorial updates and improvements
143 * Miscellaneous bug fixes: CList, Calendar, rc-files, FontSelection
145 Overview of Changes in GTK+ 1.2.7:
147 * More header cleanups.
148 * Fixed activation bug for insensitive widgets.
149 * Locale fixes to RC file parsing code.
150 * Miscellaneous bugfixes for Item Factory, CList, CTree, X Selections,
151 HScale, VScale, Pixmap, Viewport, OptionMenu, Entry and Notebook.
152 * Upgrade to libtool 1.3.4.
154 Overview of Changes in GTK+ 1.2.6:
156 * container queue_resize fixes
157 * gtk[vh]scale: minor fixups
158 * rename idle to idle_id in testgtk to avoid conflicts with
160 * More consistant naming of gtkrc files
161 * Added language support: ro, uk
163 Overview of Changes in GTK+ 1.2.5:
165 * more GtkCTree and GtkWindow bug fixes.
166 * more redraw/resize queue fixes, better expose event
168 * more miscellaneous bugs fixed
169 * new configure.in option --disable-rebuilds to completely disable
170 rebuilds of autogenerated sources.
171 * check for 5.002 now, to avoid failing autogeneration build rules due
172 to old perl versions.
173 * fonts (and fontsets) are cached now.
174 * more autogeneration make rules and dependancy fixups, we should be
175 save with autogeneration up to make -j12 now ;)
176 * new window position GTK_WIN_POS_CENTER_ALWAYS, which will recenter the
177 GtkWindow on every size change.
178 * major rework of window manager hints handling code, fixed a bunch of
179 races with the new resizing code.
180 * the new wm hints and resizing code is absolutely perfect and bug free now,
181 it only lacks testing ;)
182 * fixed up various rc style memory prolems.
183 * gtk_widget_modify_style() now properly changes the style of realized widgets
184 and references the style passed into it. if people worked around this bug,
185 this will introduce a slight memory leak in their code.
186 The code should typically look like:
187 GtkRcStyle *rc_style = gtk_rc_style_new ();
189 gtk_widget_modify_style (widget, rc_style);
190 gtk_rc_style_unref (rc_style);
191 * fix problems with positioning menus offscreen.
192 * GtkText fixes for some crashes and drawing errors.
193 * Better handling for unexpected window destroys in GDK and GTK+.
194 This should make it possible to use a GtkPlug and catch the
195 case where its parent socket is randomly killed.
197 * FileSelection i18n patches, RadioButton fixups.
198 * many translation improvements.
199 * miscellaneous other bugs fixed.
201 Overview of Changes in GTK+ 1.2.4:
203 * DnD improvements (drags can be canceled with Esc now).
204 * suppressed configure event reordering in Gdk.
205 * rewrite of Gtk's configure event handling.
206 * major improvements for the object argument system (Elena Devdariani).
207 * major bugfixes for threading, GtkNotebook, GtkItemFactory, GtkCList and
209 * tutorial/FAQ updates, new file generation.txt on autogenerated sources.
210 * configure's --with-glib= is "officially" unsupported.
211 * upgrade to libtool 1.3.3.
212 * various buglets fixed.
214 Overview of Changes in GTK+ 1.2.3:
216 * Upgrade to libtool 1.3
217 * Check for dgettext (for systems with old versions of GNU Gettext)
218 * Many bug fixes (see ChangeLog for details)
220 Overview of Changes in GTK+ 1.2.2:
222 * Improved Dnd behaviour with Motif applications.
223 * Bug fixes for the Gtk selection code.
224 * Minor bug fixes to the Gdk Atom cache and Dnd code (with --display option).
225 * Bug fixes and leak plugs for the Gdk IM code.
226 * Added gtk_object_get() facility to retrive object arguments easily.
227 The var args list expects ("arg-name", &value) pairs.
228 * Fixed mapping for GdkInputCondition<->GIOCondition, this should fix
229 problems where closed pipes were no longer signalling GDK_INPUT_READ on
230 systems with a native poll().
231 * Some cleanups to GtkLabel's memory allocation code (shouldn't leak memory
233 * We don't attempt to lookup xpm color "None" anymore, this should prevent
234 eXodus (commercial X windows server) from popping up a color dialog every
235 time a transparent pixmap is created.
236 * Fixed bug where Gtk timout/idle handlers would execute without the global
238 * Other minor bug fixes.
240 Overview of Changes in GTK+ 1.2.1:
242 * Many Bug fixes have been applied to the menu and accelerator code.
243 * GtkItemFactory can "adopt" foreign menu items now and manage their
244 accelerator installation. This is often required to get GtkItemFactory
245 like accelerator propagation between different windows with the same
246 menu heirarchy and for centralized parsing and saving of accelerators.
247 * GtkCList/GtkCTree buttons should always display correctly now.
248 * Miscellaneous other bug fixes.
250 What's New in GTK+ 1.2.0 (since 1.0.x):
252 * New widgets: GtkFontSelector, GtkPacker, GtkItemFactory, GtkCTree,
253 GtkInvisible, GtkCalendar, GtkLayout, GtkPlug, GtkSocket
254 * Many new features and robustness for existing widgets
256 * New DND implementation
257 * Internationalization of standard dialogs
258 * New key binding system
259 * Tearoff menus and menu accelerators
260 * Wide character support for entry and text
261 * Resizing code has been overhauled
262 * Queued redraws of partial areas
263 * Far better support for object arguments
264 * Speed optimizations
265 * Runtime loading of dynamic modules
266 * Support for GLib log domains
267 * Tutorial improvements
270 Overview of Changes in GTK+ 1.1.16:
272 * Major fixes and improvements for handlebox
273 * A change to the way widget->requisition works. Now,
274 widget->requisition is always what the widget requested,
275 unmodified by the usize. See Changes-1.2.txt for details.
276 This correct various bugs with gtk_widget_set_usize().
277 * Fixes for XIM on X11R5 systems
278 * Don't allow cut-and-paste of text in password-style entries
279 * --enable-debug is now on by default for the development releaes.
280 (When compiling for "production", use --enable-debug=minimum)
281 * Handle systems where Helvetica is not present more gracefully
282 * Fixes for memory leaks
283 * CList and CTree fixes
284 * Bug fixes for drawing problems.
285 * Miscellaneous bug fixes to GtkLabel, GtkCList, GtkCTree,
286 GtkColorsel, Focusing, DND
287 * Tutorial improvements
289 Overview of Changes in GTK+ 1.1.15:
292 * Added --libs gthread to gtk-config
295 What is new in GTK+ 1.1.14:
297 * Additions to docs/Changes-1.2.txt
298 * Just warn when loading theme engine fails
299 * CLAMP GtkScale digits to a meaningful range
300 * GTK_LOCALDIR is now defined in a better fashion
301 * New functions (feature freeze, we know...):
303 gtk_toggle_button_get_active()
304 * Some locale fixups in gtkrc code
305 * Fixes to make gtk_radio_button_set_group() keep only
306 one radio button in the group active
307 * Foreign windows are now always treated as viewable; this fixes
308 a problem where updating didn't occure properly in GtkPlug
309 * DND fixes for 64 bit architectures, and for specifying operations
311 * Major revisions to GtkLayout: avoid having to create window
312 for NO_WINDOW children, adjust allocations of children as
313 scrolled so queued draws work, and a resize is queued instead
314 of allocating directly in a put() or move()
316 What is new in GTK+ 1.1.13:
318 * Dnd and selection bug fixes and memory purification.
319 * Widget sensitivity fixups.
320 * Tooltips windows are now named "gtk-tooltips" so rc file rules
321 can match tooltips windows. Fixed interaction of tooltips and NO_WINDOW
323 * Spin buttons now update their values upon value retrival.
324 * Overhaul of the resizing vs. redrawing logic to reduce redrawing needs
325 a lot. Gtk makes full use of the draw_area coalescing code now, which
326 got minorly improved as well.
327 * Containers map their Gdk windows after their children now to reduce
328 expose event generation.
329 * Gdk event queue fixups, this solves the double-click problems people were
331 * Account for the fact that GSource's are only properly reentrant from
332 within dispatch(), thus we don't do Gdk event processing from within
333 check() or prepare() anymore.
334 * Rc files feature a bg_pixmap value of "<none>" now.
335 * Improved session management support in Gdk.
336 * Automatic disabling of NLS if no gettext is found should work now.
337 * Removed deprecated functions, docs/Changes-1.2.txt gives an overview.
338 * Gtk+ development now requires GNU autoconf 2.13, GNU automake 1.4
339 and GNU libtool 1.2d.
340 * More bug fixes all over the place.
342 What is new in GTK+ 1.1.12:
344 * Korean translation added
346 * A few other bug fixes
348 What is new in GTK+ 1.1.11:
350 * Dutch, Japanese, Swedish, Polish, and Norwegian translations
351 * Removed deprecated _interp variants: gtk_container_foreach_interp,
352 gtk_idle_add_interp, gtk_timeout_add_interp, gtk_signal_connect_interp
353 * Lots of cast corrections
356 What is new in GTK+ 1.1.9:
358 * Check for broken glibc 2.0 mb functions and avoid them
359 * Label and Entry display fixes
360 * Move main thread back to GDK, for locking when translating events
363 What is new in GTK+ 1.1.8:
365 * Added support for gettext and the localization of the standard
367 * Added line-wrapping for the label, and JUSTIFY_FILL
368 * Support reordering via drag and drop in CList and CTree.
369 * Replaced GtkDrawWindow widget with a GTK_USER_DRAW flag
370 * Extended gtkpaned API to support minimum sizes and proportional
372 * Changed the handling of shared memory segments so as to
373 remove the need for GTK+ to set up signal handlers.
374 * Re-implemented event loop in terms of the event loop
375 that has been added to GLib 1.1.8
376 * Added 'grab_focus' signal to allow keyboard accelerators
378 * Load locale specific RC files if present.
381 What is new in GTK+ 1.1.7:
383 * Fixed memory mis-allocation in default files code
384 * Various event handling fixes
385 * Wide character support for entry and text
386 * Destroy widgets _after_ propagating unrealize signals through
388 * Only build XIM-support if available
389 * Tutorial and examples updates
390 * Added gtk_drag_source_unset()
392 What is new in GTK+ 1.1.6:
394 * The signal system now features emission hooks whith special semantics,
395 refer to the ChangeLog for this.
396 * Minor? speedups and memory reductions to the emission handling of the
398 * _interp() function variants are deprecated now. the corresponding *_full()
399 variants are provided for a long time now.
400 * Dnd abort timeout increased to 10 minutes.
401 * GtkScrolledWindow inherits from GtkBin now.
402 * GTK_POLICY_NEVER is implemented for scrolled windows now.
403 * Lots of API clean ups.
404 * Incremental freezing abilities.
405 * Integrated widgets from the GNOME tree: GtkLayout, GtkPlug and GtkSocket.
406 * New window functions for transient relationship, default size, and
408 * Default rc files are now read in (<sysconfdir/etc/gtkrc and ~/.gtkrc)
409 GTK_RC_FILES environment variable and functions are provided to configure
411 * Read doc/Changes-1.2.txt to properly adapt your code.
414 What is new in GTK+ 1.1.5:
417 * Widget style modification is now handled through GtkRcStyles
418 * GtkPixmaps now grey out pixmaps when insensitive
419 * Notebook enhancements
420 * Shadow configurability for menubars and handleboxes
422 * gtkfilesel now supports automounters better
423 * Implementation of expose compression
424 * Queued redraws of partial areas
425 * Scrolledwindow (+Viewport) source incompatibilities, children that are added
426 to a scrolled window don't get an automatic viewport anymore. a convenience
427 function gtk_scrolled_window_add_with_viewport() is suplied for this task
428 * Deprecated functions will now issue a message, informing the programmer about
429 the use of this function. These functions will get removed in future versions
430 * Non-functional functions got removed entirely
431 * gtk_widget_new() and gtk_object_new() will now auto-construct new objects.
432 A new function gtk_object_default_construct() is provided now which should
433 be called after every gtk_type_new() to perfom the auto-construction
434 * Improved argument support of several widgets
437 What is new in GTK+ 1.1.3:
439 * GtkCList/GtkCTree now have the ability to:
440 - hide/show individual columns
441 - disable/enable column resizing
442 - set min and max for column widths
443 - set expander style of the ctree
444 - set/get row and cell styles
445 - set spacing between tree expander and cell contents in ctree
446 - toggle auto_resize for columns
447 * Must enhanced DND support, removed old DND code
448 * Idle functions are now implemented via GHook, giving a slight speed
450 * An environment variable GTK_MODULES which takes a colon seperated
451 list of module names GTK+ will now automatically load at gtk_init() startup
452 * GtkFontSel now has support for an extra 'base' filter
453 * New function gdk_window_set_root_origin to get the real geometry taking
454 into account window manager offsets
455 * New function gtk_text_set_line_wrap to toggle line wrapping
456 * New function gtk_widget_add_events which safely adds additional
457 events to a widget's event mask
458 * New function gdk_event_get_time to get the timestamp from a generic
460 * New widget GtkCalendar
461 * New widget GtkInvisible - InputOnly offscreen windows used for reliable
462 pointer grabs and selection handling in DND code
463 * New functions gtk_object_remove_no_notify[_by_id] to remove a certain
464 data portion without invokation of its destroy notifier
465 * gtk_spin_button_construct is now deprecated, use gtk_spin_button_configure
467 * gtk_clist_set_border is now deprecated, use gtk_clist_set_shadow_type
469 * Removed functions gtk_object_set_data_destroy[_by_id]
470 * Documentation additions/updates
471 * HTML and plain text files are now included in the distribution
472 * Bug fixes, typeness corrections, and general fixups
474 What is new in GTK+ 1.1.2:
476 * Gtk+ is now featuring runtime loading of dynamic modules via the
477 --gtk-modules= command line switch. such modules have to export a
478 G_MODULE_EXPORT void gtk_module_init (gint *argc, gchar ***argv);
479 function which will be invoked to initialize the module. since such
480 modules may create new widget types, they are always resident.
481 * The tutorial has been updated again.
482 * Changes to menus including tearoff menus and accelerators.
483 * Better support for modal dialogs.
484 * Removed CAN_FOCUS by default from scrollbars and button children of toolbar.
485 * More improvements and fixes for GtkCList and GtkCTree (i.e. row sorting).
486 * GtkCTree rows can be unselectable now.
487 * The GtkCTree API has undergone major renames (see ChangeLog entry from Lars
488 Hamann on Tue Aug 18 00:29:13 1998).
489 * A bunch of varargs functions changed to get va_lists working on systems that
490 implement va_lists as arrays.
491 * Improvements to the gdkrgb code.
492 * Improvements to Gdk color handling so we greatly reduce server traffic and
493 don't leak colors anymore.
494 * Improved internal widget tree iterators (the GtkContainer::foreach signal
495 vanished because of this).
496 * Option menus can have the keyboard focus now.
497 * More fixups to the text widget.
498 * GtkFileSelection should behave much more nicely in combination with AFS now.
499 * Support for label underlining.
500 * Support for GLib 1.1.3 log domains.
501 * Documentation improvements.
502 * Configuration fixes on various platforms.
503 * Miscellaneous fixes to XInput support.
504 * Build with shared library dependencies on Linux
505 * Fix for a major bug in the type systems memory allocation code that could
506 cause random crashes.
507 * Libtool update to version 1.2b.
508 * Lots of bugfixes and cleanups again ;)
511 What is new in GTK+ 1.1.1:
513 * Tutorial updates and additions.
514 * Key binding support for GtkListItems and GtkList.
515 * Extended selection mode and autoscrolling for GtkLists.
516 * A GtkCtree now operates on GtkCTreeNode* structures rather than GList*.
517 * GtkCTreeNodes can now be created from GNode trees.
518 * Bug fixes for GtkNotebook, GtkCList, GtkCombo and GdkWindow reparentation.
521 What is new in GTK+ 1.1.0:
523 * New widget GtkFontSelector.
524 * New featurefull progress bar.
525 * New container widget GtkPacker.
526 * New object GtkItemFactory, GtkMenuFactory is deprecated.
527 * New key binding system, configurable via rcfiles, similar to styles.
528 * New widget GtkCTree with drag selections and keyboard movement and
529 and horizontal scrolling. Features also implemented for GtkCList.
530 * Significant speedups to widget creation and destruction through caching
531 colormap and visual queries to the XServer.
532 * Speedups for type creation and especially gtk_type_is_a() checks.
533 * Speedups in signal lookup, creation and emissions and connection handling.
534 * Minor speedups with object data allocation and destruction.
535 * Additions to the signal handling API (e.g. *_emitv).
536 * Support for rc-file reparsing.
537 * Resizing logic is now implemented on container widget basis, rather than
538 for toplevel GtkWindows only.
539 * Buttons support relief styles now.
540 * Some widgets are now allocated through memchunks to behave more memory wise.
541 * Newly included file gtkfeatures.h which defines compatibility macros to
542 test for certain API features upon program compilation.
543 * Child arguments support for container widgets.
544 * Far better support for object arguments, revamp of the underlying
545 mechanism for speed and reusability. Child/object arguments don't
546 need to be preceeded by the "GtkType::" portion anymore.
547 * Removed GtkAcceleratorTable in favour of GtkAccelGroup, accelerator display
548 is now performed by a new widget GtkAccelLabel.
549 * Overhaul of the resizing code. Resizing behaviour can now be specified
550 on GtkContainer basis, so the underlying algorithm isn't only available
552 * GtkTables are now fully resizable.
553 * The GtkType system now supports an additional base class initialization
555 * GtkStyles and key bindings can now be looked up depending on the base
556 types of a widget, through a new keyword `class' in rc files.
557 * GtkButton derives from GtkBin (finally).
558 * More descriptive error messages on rc parsing.
559 * Runtime information is available to query enum/flag definition values.
560 * Upgrade to libtool-1.2
561 * Legions of bug fixes, memory leaks, segfaults, of-by-something errors...
562 including those that already went into the 1.0.x branch.
563 * A big bunch of features and cosmetic fixups that just got lost in
564 the masses of changes.