Fork of glib with endless customizations and translations
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
build build: Drop nmake/MSC build system for GLib Jul 10, 2017
docs gvarianttype: Impose a recursion limit of 128 on variant types Nov 2, 2018
glib g_clear_handle_id: don't accept NULL clear_func Nov 23, 2018
gmodule meson: add -fvisibility=hidden explicitly to selected targets Jul 13, 2017
gobject gtype: improve get_type fast path Apr 25, 2018
gthread meson: add -fvisibility=hidden explicitly to selected targets Jul 13, 2017
subprojects Add zlib, libffi, and proxy-libintl subproject wraps Jul 13, 2017
tests fileutils: Add g_canonicalize_filename Apr 30, 2018
.dir-locals.el Add .dir-locals.el to tell Emacs users not to use tabs for C Jul 30, 2012
.gitattributes git: Add .gitattributes file with EOL settings for README.win32 Jul 10, 2017
.gitignore Add zlib, libffi, and proxy-libintl subproject wraps Jul 13, 2017
COPYING Update COPYING file to LGPLv2.1 May 29, 2017
ChangeLog.pre-1-2 Fix typos: invokation -> invocation. Aug 10, 2005
ChangeLog.pre-2-0 Fix typos: invokation -> invocation. Aug 10, 2005
ChangeLog.pre-2-10 Adjust docs Mar 23, 2006
ChangeLog.pre-2-12 Branch for 2.12 Aug 23, 2006
ChangeLog.pre-2-16 Rotate ChangeLog Mar 12, 2008
ChangeLog.pre-2-2 Split ChangeLog Dec 28, 2002
ChangeLog.pre-2-20 Rename ChangeLog to ChangeLog.pre-2-20 Apr 3, 2009
ChangeLog.pre-2-4 Move aside ChangeLog for 2.4 May 4, 2004
ChangeLog.pre-2-6 Split ChangeLog for 2.6 Jan 10, 2005
ChangeLog.pre-2-8 Truncate ChangeLog after moving aside Aug 24, 2005
HACKING docs: Add a README.rationale documenting major design decisions May 4, 2014 Update URLs -> Sep 18, 2014
NEWS 2.54.2 Oct 27, 2017
NEWS.pre-1-3 updates. Apr 3, 2001
README.commits Update README files to refer to git Mar 31, 2009 Use system PCRE unless --with-pcre=internal is given Jan 14, 2016
README.rationale docs: Add a README.rationale documenting major design decisions May 4, 2014
README.win32 Re-normalise line endings of README.win32 Jul 10, 2017
acglib.m4 Update GLIB_CHECK_COMPILE_WARNINGS macro to work with Autoconf 2.64 Aug 14, 2009
acinclude.m4 Move some inter-*.m4 includes from to acinclude.m4 to avoid Nov 8, 2007 Fix problems with CLEANFILES and automake-1.11.1 Aug 17, 2012 allow _ftext as that's leaked on mips Apr 16, 2013
config.h.meson Meson: Set _WIN32_WINNT to 0x0601 (Windows 7) Aug 17, 2017 Fix and update entries Sep 15, 2017 gspawn: Optimize with posix_spawn codepath Jun 22, 2018 Adjust path to glib-compile-schemas in the pkg-config file Nov 27, 2017 gio: Move gmodule to Requires.private Nov 22, 2011 Add GWin32InputStream and GWin32OutputStream classes Apr 19, 2010 glib-gettextize: respect @datadir@ instead of assuming $prefix/share Nov 14, 2016 build: Use AM_TESTS_ENVIRONMENT rather than TESTS_ENVIRONMENT May 23, 2017 Add gdbus-codegen to Aug 25, 2011
glib.doap Update maintainer record in DOAP Feb 18, 2016
glib.supp valgrind: Add false positive to suppressions file Sep 8, 2017 Bug 600141 - Add -pthread to gmodule pkg-config Nov 18, 2009 Bug 600141 - Add -pthread to gmodule pkg-config Nov 18, 2009 Bug 600141 - Add -pthread to gmodule pkg-config Nov 18, 2009 gobject.pc: remove dependency on gthread Oct 16, 2011 Default to --disable-gtk-doc, to avoid Jade setup hassles. Mar 5, 2002 gspawn: Optimize with posix_spawn codepath Jun 22, 2018
msvc_recommended_pragmas.h msvc_recommended_pragmas.h: Treat C4819 warnings as errors Nov 25, 2013
sanity_check fix to actually use the TAP driver Nov 23, 2013
tap-test Start using TAP Aug 17, 2013


GLib is part of the GNOME git repository. At the current time, any
person with write access to the GNOME repository, can make changes to
GLib. This is a good thing, in that it encourages many people to work
on GLib, and progress can be made quickly. However, GLib is a fairly
large and complicated package that many other things depend on, so to
avoid unnecessary breakage, and to take advantage of the knowledge
about GLib that has been built up over the years, we'd like to ask
people committing to GLib to follow a few rules:

0) Ask first. If your changes are major, or could possibly break existing
   code, you should always ask. If your change is minor and you've
   been working on GLib for a while it probably isn't necessary
   to ask. But when in doubt, ask. Even if your change is correct,
   somebody may know a better way to do things.

   If you are making changes to GLib, you should be subscribed
   to (Subscription address: This is a good place to ask
   about intended changes.

   #gtk+ on GIMPNet (,,, ...)
   is also a good place to find GTK+ developers to discuss changes with,
   however, email to gtk-devel-list is the most certain and preferred

1) Ask _first_.

2) With git, we no longer maintain a ChangeLog file, but you are expected
   to produce a meaningful commit message. Changes without a sufficient
   commit message will be reverted. See below for the expected format
   of commit messages.


* When developing larger features or complicated bug fixes, it is
  advisable to work in a branch in your own cloned GLib repository.
  You may even consider making your repository publically available
  so that others can easily test and review your changes.

* The expected format for git commit messages is as follows:

=== begin example commit ===
Short explanation of the commit

Longer explanation explaining exactly what's changed, whether any
external or private interfaces changed, what bugs were fixed (with bug
tracker reference if applicable) and so forth. Be concise but not too brief.
=== end example commit ===

  - Always add a brief description of the commit to the _first_ line of
    the commit and terminate by two newlines (it will work without the
    second newline, but that is not nice for the interfaces).

  - First line (the brief description) must only be one sentence and
    should start with a capital letter unless it starts with a lowercase
    symbol or identifier. Don't use a trailing period either. Don't exceed
    72 characters.

  - The main description (the body) is normal prose and should use normal
    punctuation and capital letters where appropriate. Normally, for patches
    sent to a mailing list it's copied from there.

  - When committing code on behalf of others use the --author option, e.g.
    git commit -a --author "Joe Coder <>" and --signoff.

Owen Taylor
13 Aug 1998
17 Apr 2001

Matthias Clasen
31 Mar 2009