| 
									
										
										
										
											2019-08-30 04:58:28 +00:00
										 |  |  |  | # GLib
 | 
					
						
							| 
									
										
										
										
											2001-04-17 00:55:34 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-07-23 11:17:41 +01:00
										 |  |  |  | GLib is the low-level core library that forms the basis for projects such | 
					
						
							|  |  |  |  | as GTK and GNOME. It provides data structure handling for C, portability | 
					
						
							|  |  |  |  | wrappers, and interfaces for such runtime functionality as an event loop, | 
					
						
							|  |  |  |  | threads, dynamic loading, and an object system. | 
					
						
							| 
									
										
										
										
											2001-04-17 00:55:34 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-03-24 10:33:38 -04:00
										 |  |  |  | The official download locations are: | 
					
						
							| 
									
										
										
										
											2019-08-30 04:58:28 +00:00
										 |  |  |  |   <https://download.gnome.org/sources/glib> | 
					
						
							| 
									
										
										
										
											2001-04-17 00:55:34 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | The official web site is: | 
					
						
							| 
									
										
										
										
											2019-08-30 04:58:28 +00:00
										 |  |  |  |   <https://www.gtk.org/> | 
					
						
							| 
									
										
										
										
											2001-04-17 00:55:34 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-30 04:58:28 +00:00
										 |  |  |  | ## Installation
 | 
					
						
							| 
									
										
										
										
											2001-04-17 00:55:34 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-24 16:19:47 +01:00
										 |  |  |  | See the file ‘[INSTALL.md](INSTALL.md)’. There is | 
					
						
							|  |  |  |  | [separate and more in-depth documentation](./docs/win32-build.md) for building | 
					
						
							|  |  |  |  | GLib on Windows. | 
					
						
							| 
									
										
										
										
											2001-04-17 00:55:34 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-18 10:43:23 +01:00
										 |  |  |  | ## Supported versions
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-28 11:08:01 -05:00
										 |  |  |  | Upstream GLib only supports the most recent stable release series, the previous | 
					
						
							|  |  |  |  | stable release series, and the current development release series. All | 
					
						
							|  |  |  |  | older versions are not supported upstream and may contain bugs, some of which | 
					
						
							|  |  |  |  | may be exploitable security vulnerabilities. | 
					
						
							| 
									
										
										
										
											2021-06-18 10:43:23 +01:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | See [SECURITY.md](SECURITY.md) for more details. | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-07 10:33:24 +00:00
										 |  |  |  | ## Documentation
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | API documentation is available online for GLib for the: | 
					
						
							|  |  |  |  |  * [GLib](https://docs.gtk.org/glib/) | 
					
						
							|  |  |  |  |  * [GObject](https://docs.gtk.org/gobject/) | 
					
						
							|  |  |  |  |  * [GModule](https://docs.gtk.org/gmodule/) | 
					
						
							|  |  |  |  |  * [GIO](https://docs.gtk.org/gio/) | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-27 13:43:31 +01:00
										 |  |  |  | ## Discussion
 | 
					
						
							| 
									
										
										
										
											2012-03-24 10:33:38 -04:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-27 13:43:31 +01:00
										 |  |  |  | If you have a question about how to use GLib, seek help on [GNOME’s Discourse | 
					
						
							|  |  |  |  | instance](https://discourse.gnome.org/tags/glib). Alternatively, ask a question | 
					
						
							|  |  |  |  | on [StackOverflow and tag it `glib`](https://stackoverflow.com/questions/tagged/glib). | 
					
						
							| 
									
										
										
										
											2012-03-24 10:33:38 -04:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-27 13:43:31 +01:00
										 |  |  |  | ## Reporting bugs
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Bugs should be [reported to the GNOME issue tracking system](https://gitlab.gnome.org/GNOME/glib/issues/new). | 
					
						
							|  |  |  |  | You will need to create an account for yourself. You may also submit bugs by | 
					
						
							|  |  |  |  | e-mail (without an account) by e-mailing <incoming+gnome-glib-658-issue-@gitlab.gnome.org>, | 
					
						
							|  |  |  |  | but this will give you a degraded experience. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Bugs are for reporting problems in GLib itself, not for asking questions about | 
					
						
							|  |  |  |  | how to use it. To ask questions, use one of our [discussion forums](#discussion). | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | In bug reports please include: | 
					
						
							| 
									
										
										
										
											2012-03-24 10:33:38 -04:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | * Information about your system. For instance: | 
					
						
							| 
									
										
										
										
											2019-08-30 04:58:28 +00:00
										 |  |  |  |   * What operating system and version | 
					
						
							|  |  |  |  |   * For Linux, what version of the C library | 
					
						
							|  |  |  |  |   * And anything else you think is relevant. | 
					
						
							| 
									
										
										
										
											2012-03-24 10:33:38 -04:00
										 |  |  |  | * How to reproduce the bug. | 
					
						
							| 
									
										
										
										
											2019-08-30 04:58:28 +00:00
										 |  |  |  |   * If you can reproduce it with one of the test programs that are built | 
					
						
							| 
									
										
										
										
											2020-07-27 13:43:31 +01:00
										 |  |  |  |   in the `tests/` subdirectory, that will be most convenient.  Otherwise, | 
					
						
							| 
									
										
										
										
											2012-03-24 10:33:38 -04:00
										 |  |  |  |   please include a short test program that exhibits the behavior. | 
					
						
							|  |  |  |  |   As a last resort, you can also provide a pointer to a larger piece | 
					
						
							|  |  |  |  |   of software that can be downloaded. | 
					
						
							|  |  |  |  | * If the bug was a crash, the exact text that was printed out | 
					
						
							| 
									
										
										
										
											2020-06-12 14:02:30 +01:00
										 |  |  |  |   when the crash occurred. | 
					
						
							| 
									
										
										
										
											2012-03-24 10:33:38 -04:00
										 |  |  |  | * Further information such as stack traces may be useful, but | 
					
						
							|  |  |  |  |   is not necessary. | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-27 13:43:31 +01:00
										 |  |  |  | ## Contributing to GLib
 | 
					
						
							| 
									
										
										
										
											2012-03-24 10:33:38 -04:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-27 13:43:31 +01:00
										 |  |  |  | Please follow the [contribution guide](./CONTRIBUTING.md) to know how to | 
					
						
							|  |  |  |  | start contributing to GLib. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Patches should be [submitted as merge requests](https://gitlab.gnome.org/GNOME/glib/-/merge_requests/new) | 
					
						
							| 
									
										
										
										
											2024-08-29 08:58:36 +01:00
										 |  |  |  | to gitlab.gnome.org. Note that you will need to be logged in to the site to use | 
					
						
							|  |  |  |  | this page. If the patch fixes an existing issue, please refer to the | 
					
						
							| 
									
										
										
										
											2020-07-27 13:43:31 +01:00
										 |  |  |  | issue in your commit message with the following notation (for issue 123): | 
					
						
							|  |  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2018-05-31 23:44:02 +02:00
										 |  |  |  | Closes: #123 | 
					
						
							| 
									
										
										
										
											2020-07-27 13:43:31 +01:00
										 |  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2012-03-24 10:33:38 -04:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-27 13:43:31 +01:00
										 |  |  |  | Otherwise, create a new merge request that introduces the change. Filing a | 
					
						
							| 
									
										
										
										
											2018-05-31 23:44:02 +02:00
										 |  |  |  | separate issue is not required. | 
					
						
							| 
									
										
										
										
											2021-06-07 13:26:46 +01:00
										 |  |  |  | 
 |