Re: GLib 2.32.0 released
- From: Andy Wingo <wingo pobox com>
- To: gtk-devel-list gnome org
- Subject: Re: GLib 2.32.0 released
- Date: Sun, 25 Mar 2012 21:15:19 +0200
On Sat 24 Mar 2012 17:54, Matthias Clasen <mclasen redhat com> writes:
> GLib 2.32.0 is now available
> For concerns about porting from older GLib release, see the
> README file that is included in the tarball, or see:
I thought it might be worthwhile to paste these here; they are
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
* 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
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
] [Thread Prev