• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# GLib
2
3GLib is the low-level core library that forms the basis for projects such
4as GTK and GNOME. It provides data structure handling for C, portability
5wrappers, and interfaces for such runtime functionality as an event loop,
6threads, dynamic loading, and an object system.
7
8The official download locations are:
9  <https://download.gnome.org/sources/glib>
10
11The official web site is:
12  <https://www.gtk.org/>
13
14## Installation
15
16See the file '[INSTALL.in](INSTALL.in)'
17
18## Supported versions
19
20Only the most recent unstable and stable release series are supported. All
21older versions are not supported upstream and may contain bugs, some of
22which may be exploitable security vulnerabilities.
23
24See [SECURITY.md](SECURITY.md) for more details.
25
26## Documentation
27
28API documentation is available online for GLib for the:
29 * [GLib](https://docs.gtk.org/glib/)
30 * [GObject](https://docs.gtk.org/gobject/)
31 * [GModule](https://docs.gtk.org/gmodule/)
32 * [GIO](https://docs.gtk.org/gio/)
33
34## Discussion
35
36If you have a question about how to use GLib, seek help on [GNOME’s Discourse
37instance](https://discourse.gnome.org/tags/glib). Alternatively, ask a question
38on [StackOverflow and tag it `glib`](https://stackoverflow.com/questions/tagged/glib).
39
40## Reporting bugs
41
42Bugs should be [reported to the GNOME issue tracking system](https://gitlab.gnome.org/GNOME/glib/issues/new).
43You will need to create an account for yourself. You may also submit bugs by
44e-mail (without an account) by e-mailing <incoming+gnome-glib-658-issue-@gitlab.gnome.org>,
45but this will give you a degraded experience.
46
47Bugs are for reporting problems in GLib itself, not for asking questions about
48how to use it. To ask questions, use one of our [discussion forums](#discussion).
49
50In bug reports please include:
51
52* Information about your system. For instance:
53  * What operating system and version
54  * For Linux, what version of the C library
55  * And anything else you think is relevant.
56* How to reproduce the bug.
57  * If you can reproduce it with one of the test programs that are built
58  in the `tests/` subdirectory, that will be most convenient.  Otherwise,
59  please include a short test program that exhibits the behavior.
60  As a last resort, you can also provide a pointer to a larger piece
61  of software that can be downloaded.
62* If the bug was a crash, the exact text that was printed out
63  when the crash occurred.
64* Further information such as stack traces may be useful, but
65  is not necessary.
66
67## Contributing to GLib
68
69Please follow the [contribution guide](./CONTRIBUTING.md) to know how to
70start contributing to GLib.
71
72Patches should be [submitted as merge requests](https://gitlab.gnome.org/GNOME/glib/-/merge_requests/new)
73to gitlab.gnome.org. If the patch fixes an existing issue, please refer to the
74issue in your commit message with the following notation (for issue 123):
75```
76Closes: #123
77```
78
79Otherwise, create a new merge request that introduces the change. Filing a
80separate issue is not required.
81
82## Default branch renamed to `main`
83
84The default development branch of GLib has been renamed to `main`. To update
85your local checkout, use:
86```sh
87git checkout master
88git branch -m master main
89git fetch
90git branch --unset-upstream
91git branch -u origin/main
92git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main
93```
94