Re: GLib 2.32.0 released



On Sat 24 Mar 2012 17:54, Matthias Clasen <mclasen redhat com> writes:

> GLib 2.32.0 is now available

Excellent!

> For concerns about porting from older GLib release, see the
> README file that is included in the tarball, or see:
>
> http://git.gnome.org/browse/glib/plain/README.in?id=2.32.0

I thought it might be worthwhile to paste these here; they are
interesting.

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

Regards,

Andy
-- 
http://wingolog.org/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]