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