interfaces for such runtime functionality as an event loop, threads,
dynamic loading, and an object system.
-The official ftp site is:
+The official download locations are:
ftp://ftp.gtk.org/pub/glib
+ http://download.gnome.org/sources/glib
The official web site is:
http://www.gtk.org/
Information about mailing lists can be found at
- http://www.gtk.org/mailinglists.html
+ http://www.gtk.org/mailing-lists.php
-To subscribe: mail -s subscribe gtk-list-request@gnome.org < /dev/null
-(Send mail to gtk-list-request@gnome.org with the subject "subscribe")
+To subscribe, send mail to gtk-list-request@gnome.org
+with the subject "subscribe".
Installation
============
See the file 'INSTALL'
+How to report bugs
+==================
+
+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.
+
+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
+=======
+
+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.
+
+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.)
+
+Notes about GLib 2.34
+=====================
+
+* GIO now looks for thumbnails in XDG_CACHE_HOME, following a
+ recent alignment of the thumbnail spec with the basedir spec.
+
+* The default values for GThreadPools max_unused_threads and
+ max_idle_time settings have been changed to 2 and 15*1000,
+ respectively.
+
+Notes about GLib 2.32
+=====================
+
+* It is no longer necessary to use g_thread_init() or to link against
+ libgthread. libglib is now always thread-enabled. Custom thread
+ system implementations are no longer supported (including errorcheck
+ mutexes).
+
+* The thread and synchronisation APIs have been updated.
+ GMutex and GCond can be statically allocated without explicit
+ initialisation, as can new types GRWLock and GRecMutex. The
+ GStatic_______ variants of these types have been deprecated. GPrivate
+ can also be statically allocated and has a nicer API (deprecating
+ GStaticPrivate). Finally, g_thread_create() has been replaced with a
+ substantially simplified g_thread_new().
+
+* The g_once_init_enter()/_leave() functions have been replaced with
+ macros that allow for a pointer to any gsize-sized object, not just a
+ gsize*. The assertions to ensure that a pointer to a correctly-sized
+ object is being used will not work with generic pointers (ie: (void*)
+ and (gpointer) casts) which would have worked with the old version.
+
+* It is now mandatory to include glib.h instead of individual headers.
+
+* The -uninstalled variants of the pkg-config files have been dropped.
+
+* For a long time, gobject-2.0.pc mistakenly declared a public
+ dependency on gthread-2.0.pc (when the dependency should have been
+ private). This means that programs got away with calling
+ g_thread_init() without explicitly listing gthread-2.0.pc among their
+ dependencies.
+
+ gthread has now been removed as a gobject dependency, which will cause
+ such programs to break.
+
+ The fix for this problem is either to declare an explicit dependency
+ on gthread-2.0.pc (if you care about compatibility with older GLib
+ versions) or to stop calling g_thread_init().
+
+* g_debug() output is no longer enabled by default. It can be enabled
+ on a per-domain basis with the G_MESSAGES_DEBUG environment variable
+ like
+ G_MESSAGES_DEBUG=domain1,domain2
+ or
+ G_MESSAGES_DEBUG=all
+
+Notes about GLib 2.30
+=====================
+
+* GObject includes a generic marshaller, g_cclosure_marshal_generic.
+ To use it, simply specify NULL as the marshaller in g_signal_new().
+ The generic marshaller is implemented with libffi, and consequently
+ GObject depends on libffi now.
+
+Notes about GLib 2.28
+=====================
+
+* The GApplication API has changed compared to the version that was
+ included in the 2.25 development snapshots. Existing users will need
+ adjustments.
+
+Notes about GLib 2.26
+=====================
+
+* Nothing noteworthy.
+
+Notes about GLib 2.24
+=====================
+
+* It is now allowed to call g_thread_init(NULL) multiple times, and
+ to call glib functions before g_thread_init(NULL) is called
+ (although the later is mainly a change in docs as this worked before
+ too). See the GThread reference documentation for the details.
+
+* GObject now links to GThread and threads are enabled automatically
+ when g_type_init() is called.
+
+* GObject no longer allows to call g_object_set() on construct-only properties
+ while an object is being initialized. If this behavior is needed, setting a
+ custom constructor that just chains up will re-enable this functionality.
+
+* GMappedFile on an empty file now returns NULL for the contents instead of
+ returning an empty string. The documentation specifically states that code
+ may not rely on nul-termination here so any breakage caused by this change
+ is a bug in application code.
+
Notes about GLib 2.22
=====================
connected to dies, just disables it. See the API docs for the function
for further details and the correct workaround that will continue to
work with future versions of GLib.
-
-How to report bugs
-==================
-
-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.
-
-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
-=======
-
-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.
-
-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.)