General Information
===================
-This is GTK+ version @GTK_VERSION@. GTK+, which stands for the Gimp ToolKit,
-is a library for creating graphical user interfaces for the X Window
-System. It is designed to be small, efficient, and flexible. GTK+ is
-written in C with a very object-oriented approach.
+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.
-The official ftp site is:
+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
+developers, including those developing proprietary software, without any
+license fees or royalties.
+
+The official download locations are:
ftp://ftp.gtk.org/pub/gtk
+ http://download.gnome.org/sources/gtk+
The official web site is:
http://www.gtk.org/
-A mailing list is located at:
- gtk-list@redhat.com
+Information about mailing lists can be found at
+ http://www.gtk.org/mailing-lists.php
-To subscribe: mail -s subscribe gtk-list-request@redhat.com < /dev/null
-(Send mail to gtk-list-request@redhat.com with the subject "subscribe")
Installation
============
See the file 'INSTALL'
+
How to report bugs
==================
-Bugs should be reported to the GNOME bug tracking
-system. (http://bugs.gnome.org). To report a problem
-about GTK+, send mail to submit@bugs.gnome.org.
-
-The subject of the mail should describe your problem.
-In the body of the mail, you should first include
-a "pseudo-header" that gives the package and
-version number. This should be separated by a blank
-line from the actual headers.
-
- Package: gtk+
- Version: @GTK_VERSION@
-
-[ Please substitute @GTK_VERSION@ with the version of GTK+ that
- you have installed ]
+Bugs should be reported to the GNOME bug tracking system.
+(http://bugzilla.gnome.org, product glib.) You will need
+to create an account for yourself.
-Then describe the bug. Include:
+In the bug report please include:
* Information about your system. For instance:
- What operating system and version
- - What version of X
- For Linux, what version of the C library
And anything else you think is relevant.
-* How to reproduce the bug.
+* How to reproduce the bug.
- If you can reproduce it with the testgtk program that is built
- in the gtk/ 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
+ 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.
- (Bugs that can be reproduced within the GIMP are almost as good
- as bugs that can be reproduced in testgtk. If you are reporting a
- bug found with the GIMP, please include the version number of the GIMP
- you are using)
-
* 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. If you do send a stack trace, and the error
- is an X error, it will be more useful if the stacktrace
- is produced running the test program with the --sync command
- line option.
+ is not necessary.
-An example of a bug report:
-====
-To: submit@bugs.gnome.org
-From: yourname@your.address.org
-Subject: handlebox test in testgtk is misnamed.
+Patches
+=======
-Package: gtk+
-Version: @GTK_VERSION@
+Patches should also be submitted to bugzilla.gnome.org. If the
+patch fixes an existing bug, add the patch as an attachment
+to that bug report.
-When I run gtk/testgtk, the button "handle box"
-is misnamed. There are multiple handle boxes in
-the demo, so it should be "handle boxes", to
-be like "buttons" or "check buttons".
-===
+Otherwise, enter a new bug report that describes the patch,
+and attach the patch to that bug report.
-Patches
-=======
+Patches should be in unified diff form. (The -up option to GNU diff.)
+
+Release notes for 3.8
+=====================
+
+* 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.
+
+Release notes for 3.6
+=====================
+
+* 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,
+ * $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.
+
+Release notes for 3.4
+=====================
+
+* 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
+ 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.
+
+* 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
+ manually.
+
+* 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.
+
+* The -uninstalled variants of the pkg-config files have been dropped.
+
+* 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.
+
+
+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.
+
+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:
+
+ docs/reference/gtk/html/migrating.html
+
+ Or online at:
-Patches can be uploaded to the incoming/ directory on
-ftp.gtk.org. Please follow the instructions there, and include
-your name and email address in the README file.
+ http://library.gnome.org/devel/gtk/3.0/migrating.html
-If the patch fixes a bug, it is usually a good idea to include
-all the information described in "How to Report Bugs".
+* 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.