5.74 KB
Newer Older
General Information
2 3

4 5 6 7
This is GTK+ version @GTK_VERSION@. GTK+ is a multi-platform toolkit for
creating graphical user interfaces. Offering a complete set of widgets,
GTK+ is suitable for projects ranging from small one-off projects to
complete application suites.
Owen Taylor's avatar
Owen Taylor committed
8 9 10

GTK+ is free software and part of the GNU Project. However, the
licensing terms for GTK+, the GNU LGPL, allow it to be used by all
11 12
developers, including those developing proprietary software, without any
license fees or royalties.

The official download locations are:
17 18 19 20

The official web site is:

Information about mailing lists can be found at
Matthias Clasen's avatar
Matthias Clasen committed

Matthias Clasen's avatar
Matthias Clasen committed

25 26 27 28

See the file 'INSTALL'
29 30

31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
How to report bugs

Bugs should be reported to the GNOME bug tracking system.
(, product glib.) You will need
to create an account for yourself.

In the bug report please include:

* Information about your system. For instance:

   - What operating system and version
   - For Linux, what version of the C library

  And anything else you think is relevant.

* How to reproduce the bug.

  If you can reproduce it with one of the test programs that are built
  in the tests/ subdirectory, that will be most convenient.  Otherwise,
  please include a short test program that exhibits the behavior.
  As a last resort, you can also provide a pointer to a larger piece
  of software that can be downloaded.

* If the bug was a crash, the exact text that was printed out
  when the crash occured.

* Further information such as stack traces may be useful, but
  is not necessary.


Patches should also be submitted to If the
patch fixes an existing bug, add the patch as an attachment
to that bug report.

Otherwise, enter a new bug report that describes the patch,
and attach the patch to that bug report.

Patches should be in unified diff form. (The -up option to GNU diff.)

Cosimo Cecchi's avatar
Cosimo Cecchi committed
Release notes for 3.8
75 76 77 78 79 80 81

* GtkIconInfo has changed from being a boxed type to a GObject. This
  is technically an ABI change, but basically all existing code
  will keep working if its used as a boxed type, and its not
  possible to instantiate GtkIconInfos outside Gtk, so this is not
  expected to be a big problem.

83 84 85
Release notes for 3.6

86 87 88 89 90 91 92 93 94 95 96
* The accessibility bridge code that exports accessible objects
  on the bus is now used by default; atk-bridge has been converted
  into a library that GTK+ links against. To void the linking,
  pass --without-atk-bridge when configuring GTK+.

* GDK threading support has been deprecated. It is recommended to
  use g_idle_add(), g_main_context_invoke() and similar funtions
  to make all GTK+ calls from the main thread.

* GTK+ now follows the XDG Base Directory specification for
  user configuration and data files. In detail,
97 98 99 100 101 102 103 104 105 106 107 108 109
  * $XDG_CONFIG_HOME/gtk-3.0/custom-papers is the new location
    for $HOME/.gtk-custom-papers
  * $XDG_CONFIG_HOME/gtk-3.0/bookmarks is the new location
    for $HOME/.gtk-bookmarks
  * $XDG_DATA_HOME/themes is preferred over $HOME/.themes
  * $XDG_DATA_HOME/icons is preferred over $HOME/.icons.
  Existing files from the old location will still be read
  if the new location does not exist.

* $HOME/.gtk-3.0 is no longer in the default module load path.
  If you want to load modules from there, add it to the GTK_PATH
  environment variable.

Matthias Clasen's avatar
Matthias Clasen committed
110 111 112
Release notes for 3.4

113 114 115
* Scroll events have been separated from button events, and smooth
  scrolling has been added with a separate event mask. Widgets now
  need to have either GDK_SCROLL_MASK or GDK_SMOOTH_SCROLL_MASK in
116 117 118 119
  their event mask to receive scroll events. In addition, the
  GdkScrollDirection enumeration has gained a new member,
  GDK_SCROLL_SMOOTH, so switch statements will have to be amended
  to cover this case.

Matthias Clasen's avatar
Matthias Clasen committed
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
* GTK+ now uses <Primary> instead of <Control> in keyboard accelerators,
  for improved cross-platform handling. This should not affect
  applications, unless they parse or create these accelerator

* The tacit assumption that the Alt key corresponds to the MOD1
  modifier under X11 is now a hard requirement.

* The beagle search backend for the file chooser has been dropped.
  Tracker is the only supported search backend on Linux now.

* GtkNotebook has been changed to destroy its action widgets when
  it gets destroyed itself. If your application is using action
  widgets in notebooks, you may have to adjust your code to take
  this into account.

* GtkApplication no longer uses the gtk mainloop wrappers, so
  it is no longer possible to use gtk_main_quit() to stop it.

Matthias Clasen's avatar
Matthias Clasen committed
140 141
* The -uninstalled variants of the pkg-config files have been dropped.

Matthias Clasen's avatar
Matthias Clasen committed
142 143 144 145 146
* Excessive dependencies have been culled from Requires: lines
  in .pc files. Dependent modules may have to declare dependencies
  that there were getting 'for free' in the past.

147 148 149 150 151 152 153
Release notes for 3.2

* The accessible implementations for GTK+ widgets have been integrated
  into libgtk itself, and the gail module does not exist anymore. This
  change should not affect applications very much.

154 155 156 157 158 159 160 161 162 163 164
Release notes for 3.0

* GTK+ 3 is a major new version of GTK+, which is parallel installable
  with GTK+ 2.x. For information about porting applications from GTK+ 2.x
  to GTK+ 3, see the file:


  Or online at:

Matthias Clasen's avatar
Matthias Clasen committed
166 167 168 169 170

* Note that the library sonames in this release have been changed from
  libgtk-3.0 and libgdk-3.0 to libgtk-3 and libgdk-3, to prevent the
  library versions from going backwards, compared to the 2.90/91/99
  releases. Applications will have to be recompiled.