]> Pileus Git - ~andy/gtk/blob - NEWS
10,000 foot view of 1.3.1 changes.
[~andy/gtk] / NEWS
1 Overview of Changes in GTK+ 1.3.1:
2
3 * GTK+ now uses the Pango library for text manipulation. All
4   strings in GTK+ now are in Unicode, languages written
5   from right-to-left, and complex-text languages are now supported.
6 * The gdk-pixbuf library for image loading and manipulation is 
7   has been integrated with GTK+.
8 * The GTK+ object system has mostly been moved to GLib, separating
9   it from the GUI code. Many significant enhancements have been
10   made as part of this.
11 * A new text widget is now included. This started as a port
12   of the Tk text widget, and includes such features of the Tk
13   text widget as tags, marks, and unicode text support. It
14   has been enhanced to support model-view operation and the
15   full power of Pango.
16 * The GDK library has been extensively revised to support multiple
17   windowing systems. The only fully functional backend in 1.3.1
18   is the X11 backend, however, ports to Win32, Linux-framebuffer,
19   Nano-X, BeOS, and MacOS exist in various states of completion,
20   and at least some of these will be finished and integrated in 
21   before the final GTK+-2.0 release.
22 * 32-bit coordinates are now supported throughout GDK and GTK+
23   (they are emulated where not supported by the windowing system.)
24 * Many minor bug fixes and enhancements. Incompatible changes
25   are documented in docs/Changes-2.0.txt
26
27 Overview of Changes in GTK+ 1.2.8:
28
29 * GNU Make 3.79 bug workaround
30 * FAQ and tutorial updates and improvements
31 * Miscellaneous bug fixes: CList, Calendar, rc-files, FontSelection
32
33 Overview of Changes in GTK+ 1.2.7:
34
35 * More header cleanups.
36 * Fixed activation bug for insensitive widgets.
37 * Locale fixes to RC file parsing code.
38 * Miscellaneous bugfixes for Item Factory, CList, CTree, X Selections,
39   HScale, VScale, Pixmap, Viewport, OptionMenu, Entry and Notebook.
40 * Upgrade to libtool 1.3.4.
41
42 Overview of Changes in GTK+ 1.2.6:
43
44 * container queue_resize fixes
45 * gtk[vh]scale: minor fixups
46 * rename idle to idle_id in testgtk to avoid conflicts with 
47   broken libs
48 * More consistant naming of gtkrc files
49 * Added language support: ro, uk
50
51 Overview of Changes in GTK+ 1.2.5:
52
53 * more GtkCTree and GtkWindow bug fixes.
54 * more redraw/resize queue fixes, better expose event
55   discarding code.
56 * more miscellaneous bugs fixed
57 * new configure.in option --disable-rebuilds to completely disable
58   rebuilds of autogenerated sources.
59 * check for 5.002 now, to avoid failing autogeneration build rules due
60   to old perl versions.
61 * fonts (and fontsets) are cached now.
62 * more autogeneration make rules and dependancy fixups, we should be
63   save with autogeneration up to make -j12 now ;)
64 * new window position GTK_WIN_POS_CENTER_ALWAYS, which will recenter the
65   GtkWindow on every size change.
66 * major rework of window manager hints handling code, fixed a bunch of
67   races with the new resizing code.
68 * the new wm hints and resizing code is absolutely perfect and bug free now,
69   it only lacks testing ;)
70 * fixed up various rc style memory prolems.
71 * gtk_widget_modify_style() now properly changes the style of realized widgets
72   and references the style passed into it. if people worked around this bug,
73   this will introduce a slight memory leak in their code.
74   The code should typically look like:
75             GtkRcStyle *rc_style = gtk_rc_style_new ();
76             [...]
77             gtk_widget_modify_style (widget, rc_style);
78             gtk_rc_style_unref (rc_style);
79 * fix problems with positioning menus offscreen.
80 * GtkText fixes for some crashes and drawing errors.
81 * Better handling for unexpected window destroys in GDK and GTK+.
82   This should make it possible to use a GtkPlug and catch the
83   case where its parent socket is randomly killed.
84 * FAQ updates.
85 * FileSelection i18n patches, RadioButton fixups.
86 * many translation improvements.
87 * miscellaneous other bugs fixed.
88
89 Overview of Changes in GTK+ 1.2.4:
90
91 * DnD improvements (drags can be canceled with Esc now).
92 * suppressed configure event reordering in Gdk.
93 * rewrite of Gtk's configure event handling.
94 * major improvements for the object argument system (Elena Devdariani).
95 * major bugfixes for threading, GtkNotebook, GtkItemFactory, GtkCList and
96   GtkCTree.
97 * tutorial/FAQ updates, new file generation.txt on autogenerated sources.
98 * configure's --with-glib= is "officially" unsupported.
99 * upgrade to libtool 1.3.3.
100 * various buglets fixed.
101
102 Overview of Changes in GTK+ 1.2.3:
103
104 * Upgrade to libtool 1.3
105 * Check for dgettext (for systems with old versions of GNU Gettext)
106 * Many bug fixes (see ChangeLog for details)
107
108 Overview of Changes in GTK+ 1.2.2:
109
110 * Improved Dnd behaviour with Motif applications.
111 * Bug fixes for the Gtk selection code.
112 * Minor bug fixes to the Gdk Atom cache and Dnd code (with --display option).
113 * Bug fixes and leak plugs for the Gdk IM code.
114 * Added gtk_object_get() facility to retrive object arguments easily.
115   The var args list expects ("arg-name", &value) pairs.
116 * Fixed mapping for GdkInputCondition<->GIOCondition, this should fix
117   problems where closed pipes were no longer signalling GDK_INPUT_READ on
118   systems with a native poll().
119 * Some cleanups to GtkLabel's memory allocation code (shouldn't leak memory
120   anymore).
121 * We don't attempt to lookup xpm color "None" anymore, this should prevent
122   eXodus (commercial X windows server) from popping up a color dialog every
123   time a transparent pixmap is created.
124 * Fixed bug where Gtk timout/idle handlers would execute without the global
125   Gdk lock being held.
126 * Other minor bug fixes.
127
128 Overview of Changes in GTK+ 1.2.1:
129
130 * Many Bug fixes have been applied to the menu and accelerator code.
131 * GtkItemFactory can "adopt" foreign menu items now and manage their
132   accelerator installation. This is often required to get GtkItemFactory
133   like accelerator propagation between different windows with the same
134   menu heirarchy and for centralized parsing and saving of accelerators.
135 * GtkCList/GtkCTree buttons should always display correctly now.
136 * Miscellaneous other bug fixes.
137
138 What's New in GTK+ 1.2.0 (since 1.0.x):
139
140 * New widgets: GtkFontSelector, GtkPacker, GtkItemFactory, GtkCTree,
141   GtkInvisible, GtkCalendar, GtkLayout, GtkPlug, GtkSocket
142 * Many new features and robustness for existing widgets
143 * Theme support
144 * New DND implementation
145 * Internationalization of standard dialogs
146 * New key binding system
147 * Tearoff menus and menu accelerators
148 * Wide character support for entry and text
149 * Resizing code has been overhauled
150 * Queued redraws of partial areas
151 * Far better support for object arguments
152 * Speed optimizations
153 * Runtime loading of dynamic modules
154 * Support for GLib log domains
155 * Tutorial improvements
156 * A bug fix or two
157
158 Overview of Changes in GTK+ 1.1.16:
159
160 * Major fixes and improvements for handlebox
161 * A change to the way widget->requisition works. Now,
162   widget->requisition is always what the widget requested,
163   unmodified by the usize. See Changes-1.2.txt for details.
164   This correct various bugs with gtk_widget_set_usize().
165 * Fixes for XIM on X11R5 systems
166 * Don't allow cut-and-paste of text in password-style entries
167 * --enable-debug is now on by default for the development releaes.
168   (When compiling for "production", use --enable-debug=minimum)
169 * Handle systems where Helvetica is not present more gracefully
170 * Fixes for memory leaks
171 * CList and CTree fixes
172 * Bug fixes for drawing problems. 
173 * Miscellaneous bug fixes to GtkLabel, GtkCList, GtkCTree,
174   GtkColorsel, Focusing, DND
175 * Tutorial improvements
176
177 Overview of Changes in GTK+ 1.1.15:
178
179 * Tutorial Updates
180 * Added --libs gthread to gtk-config 
181 * Bug fixes
182
183 What is new in GTK+ 1.1.14:
184
185 * Additions to docs/Changes-1.2.txt
186 * Just warn when loading theme engine fails
187 * CLAMP GtkScale digits to a meaningful range
188 * GTK_LOCALDIR is now defined in a better fashion
189 * New functions (feature freeze, we know...):
190     gtk_menu_set_title()
191     gtk_toggle_button_get_active()
192 * Some locale fixups in gtkrc code
193 * Fixes to make gtk_radio_button_set_group() keep only
194   one radio button in the group active
195 * Foreign windows are now always treated as viewable; this fixes
196   a problem where updating didn't occure properly in GtkPlug
197 * DND fixes for 64 bit architectures, and for specifying operations 
198   with modifier keys.
199 * Major revisions to GtkLayout: avoid having to create window
200   for NO_WINDOW children, adjust allocations of children as 
201   scrolled so queued draws work, and a resize is queued instead
202   of allocating directly in a put() or move()
203
204 What is new in GTK+ 1.1.13:
205
206 * Dnd and selection bug fixes and memory purification.
207 * Widget sensitivity fixups.
208 * Tooltips windows are now named "gtk-tooltips" so rc file rules
209   can match tooltips windows. Fixed interaction of tooltips and NO_WINDOW
210   widgets.
211 * Spin buttons now update their values upon value retrival.
212 * Overhaul of the resizing vs. redrawing logic to reduce redrawing needs
213   a lot. Gtk makes full use of the draw_area coalescing code now, which
214   got minorly improved as well.
215 * Containers map their Gdk windows after their children now to reduce
216   expose event generation.
217 * Gdk event queue fixups, this solves the double-click problems people were
218   recently having.
219 * Account for the fact that GSource's are only properly reentrant from
220   within dispatch(), thus we don't do Gdk event processing from within
221   check() or prepare() anymore.
222 * Rc files feature a bg_pixmap value of "<none>" now.
223 * Improved session management support in Gdk.  
224 * Automatic disabling of NLS if no gettext is found should work now.
225 * Removed deprecated functions, docs/Changes-1.2.txt gives an overview.
226 * Gtk+ development now requires GNU autoconf 2.13, GNU automake 1.4
227   and GNU libtool 1.2d.
228 * More bug fixes all over the place.
229
230 What is new in GTK+ 1.1.12:
231
232 * Korean translation added
233 * Fixed memory leaks
234 * A few other bug fixes
235
236 What is new in GTK+ 1.1.11:
237
238 * Dutch, Japanese, Swedish, Polish, and Norwegian translations
239 * Removed deprecated _interp variants: gtk_container_foreach_interp, 
240   gtk_idle_add_interp, gtk_timeout_add_interp, gtk_signal_connect_interp
241 * Lots of cast corrections
242 * Many fixes 
243
244 What is new in GTK+ 1.1.9:
245
246 * Check for broken glibc 2.0 mb functions and avoid them
247 * Label and Entry display fixes 
248 * Move main thread back to GDK, for locking when translating events
249 * Bug fixes
250
251 What is new in GTK+ 1.1.8:
252
253 * Added support for gettext and the localization of the standard
254   dialogs.
255 * Added line-wrapping for the label, and JUSTIFY_FILL
256 * Support reordering via drag and drop in  CList and CTree.
257 * Replaced GtkDrawWindow widget with a GTK_USER_DRAW flag
258 * Extended gtkpaned API to support minimum sizes and proportional
259   resizing.
260 * Changed the handling of shared memory segments so as to 
261   remove the need for GTK+ to set up signal handlers.
262 * Re-implemented event loop in terms of the event loop
263   that has been added to GLib 1.1.8
264 * Added 'grab_focus' signal to allow keyboard accelerators
265   for entries.
266 * Load locale specific RC files if present.
267 * Bug fixes.
268
269 What is new in GTK+ 1.1.7:
270
271 * Fixed memory mis-allocation in default files code
272 * Various event handling fixes
273 * Wide character support for entry and text
274 * Destroy widgets _after_ propagating unrealize signals through 
275   widget heirarchy
276 * Only build XIM-support if available
277 * Tutorial and examples updates
278 * Added gtk_drag_source_unset()
279
280 What is new in GTK+ 1.1.6:
281
282 * The signal system now features emission hooks whith special semantics,
283   refer to the ChangeLog for this.
284 * Minor? speedups and memory reductions to the emission handling of the
285   signal system.
286 * _interp() function variants are deprecated now. the corresponding *_full()
287   variants are provided for a long time now.
288 * Dnd abort timeout increased to 10 minutes.
289 * GtkScrolledWindow inherits from GtkBin now.
290 * GTK_POLICY_NEVER is implemented for scrolled windows now.
291 * Lots of API clean ups.
292 * Incremental freezing abilities.
293 * Integrated widgets from the GNOME tree: GtkLayout, GtkPlug and GtkSocket.
294 * New window functions for transient relationship, default size, and 
295   geometry hints
296 * Default rc files are now read in (<sysconfdir/etc/gtkrc and ~/.gtkrc)
297   GTK_RC_FILES environment variable and functions are provided to configure
298   this behavior
299 * Read doc/Changes-1.2.txt to properly adapt your code.
300 * Bug Fixes.
301
302 What is new in GTK+ 1.1.5:
303
304 * Theme integration
305 * Widget style modification is now handled through GtkRcStyles
306 * GtkPixmaps now grey out pixmaps when insensitive
307 * Notebook enhancements
308 * Shadow configurability for menubars and handleboxes
309 * DND enhancements
310 * gtkfilesel now supports automounters better
311 * Implementation of expose compression
312 * Queued redraws of partial areas
313 * Scrolledwindow (+Viewport) source incompatibilities, children that are added
314   to a scrolled window don't get an automatic viewport anymore. a convenience
315   function gtk_scrolled_window_add_with_viewport() is suplied for this task
316 * Deprecated functions will now issue a message, informing the programmer about
317   the use of this function. These functions will get removed in future versions
318 * Non-functional functions got removed entirely
319 * gtk_widget_new() and gtk_object_new() will now auto-construct new objects.
320   A new function gtk_object_default_construct() is provided now which should
321   be called after every gtk_type_new() to perfom the auto-construction
322 * Improved argument support of several widgets
323 * Bug Fixes
324
325 What is new in GTK+ 1.1.3:
326
327 * GtkCList/GtkCTree now have the ability to:
328     - hide/show individual columns
329     - disable/enable column resizing
330     - set min and max for column widths
331     - set expander style of the ctree
332     - set/get row and cell styles
333     - set spacing between tree expander and cell contents in ctree
334     - toggle auto_resize for columns
335 * Must enhanced DND support, removed old DND code
336 * Idle functions are now implemented via GHook, giving a slight speed
337   improvement
338 * An environment variable GTK_MODULES which takes a colon seperated
339   list of module names GTK+ will now automatically load at gtk_init() startup
340 * GtkFontSel now has support for an extra 'base' filter
341 * New function gdk_window_set_root_origin to get the real geometry taking
342   into account window manager offsets
343 * New function gtk_text_set_line_wrap to toggle line wrapping
344 * New function gtk_widget_add_events which safely adds additional
345   events to a widget's event mask
346 * New function gdk_event_get_time to get the timestamp from a generic
347   event
348 * New widget GtkCalendar
349 * New widget GtkInvisible - InputOnly offscreen windows used for reliable
350   pointer grabs and selection handling in DND code
351 * New functions gtk_object_remove_no_notify[_by_id] to remove a certain
352   data portion without invokation of its destroy notifier 
353 * gtk_spin_button_construct is now deprecated, use gtk_spin_button_configure
354   instead 
355 * gtk_clist_set_border is now deprecated, use gtk_clist_set_shadow_type 
356   instead
357 * Removed functions gtk_object_set_data_destroy[_by_id] 
358 * Documentation additions/updates 
359 * HTML and plain text files are now included in the distribution
360 * Bug fixes, typeness corrections, and general fixups
361
362 What is new in GTK+ 1.1.2:
363
364 * Gtk+ is now featuring runtime loading of dynamic modules via the
365   --gtk-modules= command line switch. such modules have to export a
366   G_MODULE_EXPORT void gtk_module_init (gint *argc, gchar ***argv);
367   function which will be invoked to initialize the module. since such
368   modules may create new widget types, they are always resident.
369 * The tutorial has been updated again.
370 * Changes to menus including tearoff menus and accelerators.
371 * Better support for modal dialogs.
372 * Removed CAN_FOCUS by default from scrollbars and button children of toolbar.
373 * More improvements and fixes for GtkCList and GtkCTree (i.e. row sorting).
374 * GtkCTree rows can be unselectable now.
375 * The GtkCTree API has undergone major renames (see ChangeLog entry from Lars
376   Hamann on Tue Aug 18 00:29:13 1998).
377 * A bunch of varargs functions changed to get va_lists working on systems that
378   implement va_lists as arrays.
379 * Improvements to the gdkrgb code.
380 * Improvements to Gdk color handling so we greatly reduce server traffic and
381   don't leak colors anymore.
382 * Improved internal widget tree iterators (the GtkContainer::foreach signal
383   vanished because of this).
384 * Option menus can have the keyboard focus now.
385 * More fixups to the text widget.
386 * GtkFileSelection should behave much more nicely in combination with AFS now.
387 * Support for label underlining.
388 * Support for GLib 1.1.3 log domains.
389 * Documentation improvements.
390 * Configuration fixes on various platforms.
391 * Miscellaneous fixes to XInput support.
392 * Build with shared library dependencies on Linux
393 * Fix for a major bug in the type systems memory allocation code that could
394   cause random crashes.
395 * Libtool update to version 1.2b.
396 * Lots of bugfixes and cleanups again ;)
397
398
399 What is new in GTK+ 1.1.1:
400
401 * Tutorial updates and additions.
402 * Key binding support for GtkListItems and GtkList.
403 * Extended selection mode and autoscrolling for GtkLists.
404 * A GtkCtree now operates on GtkCTreeNode* structures rather than GList*.
405 * GtkCTreeNodes can now be created from GNode trees.
406 * Bug fixes for GtkNotebook, GtkCList, GtkCombo and GdkWindow reparentation.
407
408
409 What is new in GTK+ 1.1.0:
410
411 * New widget GtkFontSelector.
412 * New featurefull progress bar.
413 * New container widget GtkPacker.
414 * New object GtkItemFactory, GtkMenuFactory is deprecated.
415 * New key binding system, configurable via rcfiles, similar to styles.
416 * New widget GtkCTree with drag selections and keyboard movement and
417   and horizontal scrolling. Features also implemented for GtkCList.
418 * Significant speedups to widget creation and destruction through caching
419   colormap and visual queries to the XServer.
420 * Speedups for type creation and especially gtk_type_is_a() checks.
421 * Speedups in signal lookup, creation and emissions and connection handling.
422 * Minor speedups with object data allocation and destruction.
423 * Additions to the signal handling API (e.g. *_emitv).
424 * Support for rc-file reparsing.
425 * Resizing logic is now implemented on container widget basis, rather than
426   for toplevel GtkWindows only.
427 * Buttons support relief styles now.
428 * Some widgets are now allocated through memchunks to behave more memory wise.
429 * Newly included file gtkfeatures.h which defines compatibility macros to
430   test for certain API features upon program compilation.
431 * Child arguments support for container widgets.
432 * Far better support for object arguments, revamp of the underlying
433   mechanism for speed and reusability. Child/object arguments don't
434   need to be preceeded by the "GtkType::" portion anymore.
435 * Removed GtkAcceleratorTable in favour of GtkAccelGroup, accelerator display
436   is now performed by a new widget GtkAccelLabel.
437 * Overhaul of the resizing code. Resizing behaviour can now be specified
438   on GtkContainer basis, so the underlying algorithm isn't only available
439   for GtkWindows.
440 * GtkTables are now fully resizable.
441 * The GtkType system now supports an additional base class initialization
442   function.
443 * GtkStyles and key bindings can now be looked up depending on the base
444   types of a widget, through a new keyword `class' in rc files.
445 * GtkButton derives from GtkBin (finally).  
446 * More descriptive error messages on rc parsing.  
447 * Runtime information is available to query enum/flag definition values.
448 * Upgrade to libtool-1.2
449 * Legions of bug fixes, memory leaks, segfaults, of-by-something errors...
450   including those that already went into the 1.0.x branch.
451 * A big bunch of features and cosmetic fixups that just got lost in
452   the masses of changes.