4 This is GTK+ version @GTK_VERSION@. GTK+ is a multi-platform toolkit for
5 creating graphical user interfaces. Offering a complete set of widgets,
6 GTK+ is suitable for projects ranging from small one-off projects to
7 complete application suites.
9 GTK+ is free software and part of the GNU Project. However, the
10 licensing terms for GTK+, the GNU LGPL, allow it to be used by all
11 developers, including those developing proprietary software, without any
12 license fees or royalties.
14 The official download locations are:
15 ftp://ftp.gtk.org/pub/gtk
16 http://download.gnome.org/sources/gtk+
18 The official web site is:
21 Information about mailing lists can be found at
22 http://www.gtk.org/mailing-lists.php
28 See the file 'INSTALL'
34 Bugs should be reported to the GNOME bug tracking system.
35 (http://bugzilla.gnome.org, product glib.) You will need
36 to create an account for yourself.
38 In the bug report please include:
40 * Information about your system. For instance:
42 - What operating system and version
43 - For Linux, what version of the C library
45 And anything else you think is relevant.
47 * How to reproduce the bug.
49 If you can reproduce it with one of the test programs that are built
50 in the tests/ subdirectory, that will be most convenient. Otherwise,
51 please include a short test program that exhibits the behavior.
52 As a last resort, you can also provide a pointer to a larger piece
53 of software that can be downloaded.
55 * If the bug was a crash, the exact text that was printed out
56 when the crash occured.
58 * Further information such as stack traces may be useful, but
65 Patches should also be submitted to bugzilla.gnome.org. If the
66 patch fixes an existing bug, add the patch as an attachment
69 Otherwise, enter a new bug report that describes the patch,
70 and attach the patch to that bug report.
72 Patches should be in unified diff form. (The -up option to GNU diff.)
77 * GtkIconInfo has changed from being a boxed type to a GObject. This
78 is technically an ABI change, but basically all existing code
79 will keep working if its used as a boxed type, and its not
80 possible to instantiate GtkIconInfos outside Gtk, so this is not
81 expected to be a big problem.
86 * The accessibility bridge code that exports accessible objects
87 on the bus is now used by default; atk-bridge has been converted
88 into a library that GTK+ links against. To void the linking,
89 pass --without-atk-bridge when configuring GTK+.
91 * GDK threading support has been deprecated. It is recommended to
92 use g_idle_add(), g_main_context_invoke() and similar funtions
93 to make all GTK+ calls from the main thread.
95 * GTK+ now follows the XDG Base Directory specification for
96 user configuration and data files. In detail,
97 * $XDG_CONFIG_HOME/gtk-3.0/custom-papers is the new location
98 for $HOME/.gtk-custom-papers
99 * $XDG_CONFIG_HOME/gtk-3.0/bookmarks is the new location
100 for $HOME/.gtk-bookmarks
101 * $XDG_DATA_HOME/themes is preferred over $HOME/.themes
102 * $XDG_DATA_HOME/icons is preferred over $HOME/.icons.
103 Existing files from the old location will still be read
104 if the new location does not exist.
106 * $HOME/.gtk-3.0 is no longer in the default module load path.
107 If you want to load modules from there, add it to the GTK_PATH
108 environment variable.
110 Release notes for 3.4
111 =====================
113 * Scroll events have been separated from button events, and smooth
114 scrolling has been added with a separate event mask. Widgets now
115 need to have either GDK_SCROLL_MASK or GDK_SMOOTH_SCROLL_MASK in
116 their event mask to receive scroll events. In addition, the
117 GdkScrollDirection enumeration has gained a new member,
118 GDK_SCROLL_SMOOTH, so switch statements will have to be amended
121 * GTK+ now uses <Primary> instead of <Control> in keyboard accelerators,
122 for improved cross-platform handling. This should not affect
123 applications, unless they parse or create these accelerator
126 * The tacit assumption that the Alt key corresponds to the MOD1
127 modifier under X11 is now a hard requirement.
129 * The beagle search backend for the file chooser has been dropped.
130 Tracker is the only supported search backend on Linux now.
132 * GtkNotebook has been changed to destroy its action widgets when
133 it gets destroyed itself. If your application is using action
134 widgets in notebooks, you may have to adjust your code to take
137 * GtkApplication no longer uses the gtk mainloop wrappers, so
138 it is no longer possible to use gtk_main_quit() to stop it.
140 * The -uninstalled variants of the pkg-config files have been dropped.
142 * Excessive dependencies have been culled from Requires: lines
143 in .pc files. Dependent modules may have to declare dependencies
144 that there were getting 'for free' in the past.
147 Release notes for 3.2
148 =====================
150 * The accessible implementations for GTK+ widgets have been integrated
151 into libgtk itself, and the gail module does not exist anymore. This
152 change should not affect applications very much.
154 Release notes for 3.0
155 =====================
157 * GTK+ 3 is a major new version of GTK+, which is parallel installable
158 with GTK+ 2.x. For information about porting applications from GTK+ 2.x
159 to GTK+ 3, see the file:
161 docs/reference/gtk/html/migrating.html
165 http://library.gnome.org/devel/gtk/3.0/migrating.html
167 * Note that the library sonames in this release have been changed from
168 libgtk-3.0 and libgdk-3.0 to libgtk-3 and libgdk-3, to prevent the
169 library versions from going backwards, compared to the 2.90/91/99
170 releases. Applications will have to be recompiled.