GLib
This article needs additional citations for verification. (July 2019) |
The GNOME Project et al. | |
---|---|
Initial release | 1998 |
Stable release | 2.80.0[1]
/ 7 March 2024 |
Repository | |
Written in | Cross-platform |
Type | Library |
License | LGPLv2.1 |
Website | www |
GLib is a bundle of three (formerly five) low-level system
The name "GLib" originates from the project's start as a GTK C utility library.
Features
GLib provides advanced data structures, such as memory chunks, doubly and singly
GLib implements functions that provide
Some other features of GLib include:
Components
The GLib package consisted of five libraries, but they were all merged into one library, since then named simply GLib, and are no longer sustained as standalone libraries. The original libraries were:
Of these, three continue to reside in distinct subdirectories of the source tree, and so can be thought of as discrete components: GLib, GObject, and GIO. These can be thought of as a software stack: GObject relies on GLib, and GIO provides higher-level functionality that uses both.
History
GLib began as part of the
Since GLib is a
Releases
Glib is undergoing active development. For a current overview see https://gitlab.gnome.org/GNOME/glib/-/blob/main/NEWS. The table below documents major patch notes from 1998 to 2022.
Release series | Initial release date |
Major enhancements |
---|---|---|
GLib 1.x | ||
1.1 | 1998-09-12 | |
1.2 | 1999-02-27 | |
1.3 | 2001-09-25 | |
GLib 2.x | ||
2.0 | 2002-03-08 | |
2.24 | 2010-03-26 | GVariant, GConverted |
2.26 | 2010-09-27 | GSettings, GDbus, GObject property bindings (GAtomic for refcounting) |
2.30 | 2011-09-26 | Non-unique GApplications, use eventfd() for mainloop wakeup, GHashTable set optimization, GObject data scalability
|
2.32 | 2012-03-24 | Plans for GLib 2.32 |
2.34 | 2012-09-23 | What's New for Developers in GLib 2.34 |
2.36 | 2013-03-25 | |
2.38 | 2013-09-23 | applications launched using D-Bus activation[3] GSubprocess, Unicode 6.3 (released September 2013) |
2.40 | 2014-03-24 | GNotification, System notification API[4] |
2.42 | 2014-09-22 | |
2.43 | 2014-10-27 | |
2.44 | 2015-03-23 | |
2.45 | 2015-04-30 | |
2.46 | 2015-09-21 | |
2.47 | 2015-10-26 | |
2.48 | 2016-03-22 | |
2.50 | 2016-09-19 | |
2.52 | 2017-03-19 | |
2.53 | 2017-04-25 | |
2.54 | 2018-01-08 | |
2.55 | 2018-02-06 | |
2.56 | 2018-03-12 | |
2.57 | 2018-05-05 | |
2.58 | 2018-08-30 | |
2.59 | 2018-12-23 | |
2.60 | 2019-03-04 | |
2.61 | 2019-04-15 | |
2.62 | 2019-09-05 | |
2.63 | 2019-10-04 | |
2.64 | 2020-02-27 | |
2.65 | 2020-06-18 | |
2.66 | 2020-09-10 | |
2.67 | 2020-10-23 | |
2.68 | 2021-03-18 | |
2.69 | 2021-07-06 | |
2.70 | 2021-09-17 | |
2.71 | 2021-12-16 | |
2.72 | 2022-03-17 |
Similar projects
Other libraries provide low-level functions and implementations of data structures, including:
- Microsoft Foundation Class Library (MFC) – An object-oriented C++ wrapper library to the C-based Windows API which also includes some data structures and other convenience functionality
- Standard Template Library (STL) – C++ library for data structures and algorithms
- Boost – provides some functions for C++, such as threading primitives, similar to what GLib does for C
- QtCore – core API of the Qt Framework
- wxBase – non-GUI functions of the wxWidgets library
- The Apache Portable Runtime and Apple Core Foundation have a large functional overlap with GLib, and provide many similar OS-portable threading, network and data structure implementations in C.
References
- ^ "2.80.0 · GNOME / GLib · GitLab". Retrieved 23 March 2024.
- ISBN 978-1-59059-793-4. Retrieved 3 April 2013.
[GLib] provides a cross-platform interface that allows your code to be run on any of its supported operating systems with little to no rewriting of code!
- ^ "Setting up an application for D-Bus Launching".
- ^ "GNotification".