GLib2 Changelog

What's new in GLib2 2.63.4

Jan 21, 2020
  • Fix various race conditions on signal emission in GDBus (#604, #978, #1232)
  • Change thread pools so that thread attributes (in particular, priority) are inherited from the thread which created the `GThreadPool` initially, rather than from the thread which is pushing a new job into the pool (#1834, #2007)
  • Expand support for running Windows apps with `g_app_info_launch_default_for_uri()` using rundll32 on Windows (#1932)
  • Support multiple directories in `GSETTINGS_SCHEMA_DIR` environment variable (#1998)
  • Support full Julian day range in `TZ` environment variable (#1999)
  • Apply recursion depth limits to variants in D-Bus messages (!1201)
  • Support adding call flags and timeouts to method calls generated by `gdbus-codegen` through the new `--glib-min-version` option (!1286)
  • Fully deprecate TLS rehandshakes; they are now ignored due to TLS protocol changes (!1305)
  • Bugs fixed:
  • - #198 g_fopen and friends: should also state how to close a stream
  • - #604 GDBus name watching dispatch is buggy/excessively-complicated
  • - #833 g_object_set: document the need to cast varargs
  • - #978 SIGSEGV in on_name_lost_or_acquired
  • - #1232 Insufficient thread safety around GDBusObjectManagerClient
  • - #1416 Re-add macOS CI
  • - #1834 Unwanted priority/etc inheritance with GThreadPool and GThread and the POSIX implementation
  • - #1932 Windows: Gio.AppInfo.launch_default_for_uri seems not to work for local files/folders
  • - #1983 glib:gio / dbus-appinfo test fails: GLib-GIO:ERROR:../../../../Projects/glib/gio/tests/dbus-appinfo.c:326:on_flatpak_open: 'g_file_equal (files[0], f)' should be TRUE
  • - #1997 Base64 encoding with "break_lines" claims to wrap at 72 characters but seems to wrap at 76
  • - #1998 support multiple directories in GSETTINGS_SCHEMA_DIR
  • - #1999 GTimeZone fails to accept full Julian day range when parsing the direct $TZ string format
  • - #2007 Thread scheduler attributes fail under valgrind
  • - !388 ci: Avoid downloading subprojects for each job
  • - !1111 gio: test that launch_uris() exports files with the document portal when launching a flatpak
  • - !1201 gdbusmessage: Limit recursion of variants in D-Bus messages
  • - !1279 tests: Fix an error message set by foo_set_property()
  • - !1286 gdbus-codegen: Add a GDBusCallFlags arg to method calls
  • - !1291 gio-tool-list: Add an option to print display names
  • - !1294 GMemoryMonitor docs fixes
  • - !1295 gio: Fix socket test
  • - !1301 GThread - Inherit parent thread priority by default for new Win32 threads
  • - !1303 gvariant-core: Don't pass NULL second argument to memcpy
  • - !1305 Fully deprecate TLS rehandshakes
  • - !1308 gsocketclient: run timeout source on the task's main context
  • - !1309 Fix crash in gutils when application is prevented access to passwd file
  • - !1317 gfdonotificationbackend: remove notifications when bus name vanishes
  • - !1320 subprojects: Temporarily avoid using wrapdb while it’s down
  • - !1324 ci: Add some documentation to the style check CI test
  • - !1325 Check for SYS_sched_getattr before using it unconditionally
  • - !1330 W32: Correctly set st_ino when doing private stat()
  • - !1334 gthread: Ensure GThreadSchedulerSettings is always defined
  • Translation updates:
  • Catalan
  • Galician
  • Hungarian
  • Indonesian
  • Polish
  • Portuguese (Brazil)
  • Spanish

New in GLib2 2.62.4 (Dec 19, 2019)

  • Apply recursion depth limits to variants in D-Bus messages (!1290)
  • Bugs fixed:
  • #1938 GDateTime doesn't support leap seconds
  • !1240 Backport !1233 “gdatetime: Handle leap seconds in ISO8601 dates” to glib-2-62
  • !1257 Backport !1232 “kqueue: Do not return early from _kqsub_cancel” to glib-2-62
  • !1266 Backport !1265 “build: don't check for protected visibility” to glib-2-62
  • !1276 Backport !1274 “trash portal: Don't follow symlinks” to glib-2-62
  • !1290 Backport !1201 “gdbusmessage: Limit recursion of variants in D-Bus messages” to glib-2-62

New in GLib2 2.63.3 (Dec 16, 2019)

  • Add a `--glib-min-version` argument to `gdbus-codegen` which controls breaks in the API of generated code (#1726)
  • Add `g_clear_list()` API to clear `GList`s to `NULL` (#1943)
  • Add a `GMemoryMonitor` API to be notified of memory pressure situations using the low-memory-monitor project (!1005)
  • Add support for dispose functions for `GSource` implementations (!1175)
  • Tighten up validation of GObject signal and property names, allowing performance improvements (!1224)
  • Fix installation path of GIO modules on MSVC to be the bindir (!1254)
  • Bugs fixed:
  • #650 g_signal_lookup gives too many warnings
  • #1011 GListStore, easily find if the item is already inserted
  • #1130 gdbus-codegen: Add an option to strictly generate markdown in source comments
  • #1687 glocalvfs.c uses non-thread-safe getpwnam()
  • #1726 Warn when method/signal uses type 'h' but lacks GDBus.C.UnixFD annotation
  • #1935 Assert in _kqsub_free seems to be too strict
  • #1943 Consider g_clear_list()
  • #1947 Documentation clarification for g_uuid_string_random()
  • #1953 Documentation for g_type_init() and others missing from online gtk-doc documentation
  • #1961 A typo in the comment of `g_settings_schema_get_path`: threfore -> therefore
  • !1005 gio: Add GMemoryMonitor to monitor for low-memory
  • !1172 gptrarray: Add an example to the g_ptr_array_steal() docs
  • !1175 Implement a dispose function for GSource
  • !1223 Add additional valgrind suppressions
  • !1224 Signal name handling improvements
  • !1230 ci: Run installed-tests on Fedora
  • !1235 Add sudo to Fedora docker image
  • !1239 tests: Run "timeout tests" sequentially
  • !1248 ci: Update all Debian CI runners to use v5 of the Dockerfile
  • !1249 gio-tool-mount: Allow mounting by the given UUID
  • !1252 ci: Fix running all jobs on merge requests
  • !1253 gthread: Fix "zero as null pointer" warning
  • !1254 giomodule: gio modules are no longer installed in bindir on MSVC
  • !1255 ci: Build Docker images rather than OCI images if using podman
  • !1256 gdate: Add autoptr support
  • !1258 Minor CI fixups
  • !1261 gtk-doc: Ensure we have recent enough version
  • !1262 tests: Add tests for the gdbus-codegen executable
  • !1265 build: don't check for protected visibility
  • !1267 Revert "doc: Workaround gtkdoc-scan bug leading to undocumented symbols"
  • !1268 ci: Work-around successful installed tests having no logs
  • !1269 gvariant: Add guard to g_variant_get()
  • !1271 tests: Enable GDBus debug for a number of unreliable tests
  • !1274 trash portal: Don't follow symlinks
  • !1275 Small doc correction
  • !1277 Various gtk-doc improvements
  • !1278 Update installed tests CI
  • !1280 clang-format-diff: Output diff for multiple files, not just one
  • !1282 Revert "Revert "docs: remove GDBusObjectManager example""
  • !1284 Update POTFILES.in 191212
  • !1287 atomic/tests: test g_atomic_pointer_compare_and_exchange() with const pointers
  • !1289 gtype: Define auto-cleanup functions for Module class
  • Translation updates:
  • Spanish

New in GLib2 2.63.2 (Nov 25, 2019)

  • Use `lldb` rather than `gdb` on macOS for debugging (#1004)
  • Switch the atomic builtins from `__sync_fetch_*()` to the slightly more modern `__atomic_*()` (#1750)
  • Fix calculation of `gsize` width on various platforms (including OpenBSD) (#1777)
  • Fix undefined behaviour causing brokenness in `g_utf8_find_prev_char()` when compiling with GCC ≥ 8 (#1917)
  • Revert UNIX mode changes in `G_FILE_ATTRIBUTE_ID_UNIX_MODE` which broke OSTree (#1934)
  • Slightly improve performance for signal emissions when no handlers are connected (!1083)
  • Add `g_task_return_value()` and `g_task_propagate_value()` APIs to allow `GTask` to be used from language bindings more easily (!1216)
  • Fix a file monitoring crash on kqueue-based systems (BSD) (!1221)
  • Bugs fixed:
  • #1004 [PATCH] Make gbacktrace use lldb on Mac OS X
  • #1552 CI: Add code style checks
  • #1750 Switch from __sync_fetch_*() to __atomic_*() in glib/gatomic.h
  • #1777 gsize: improper typedef on (at least) OpenBSD
  • #1895 Regression: glib does not compile on centos 6: "objcopy: unrecognized option '--add-symbol'"
  • #1917 Test utf8-pointer fails with static build, LTO, optimisations, and new GCC
  • #1930 glib/tests/bookmarkfile.c:385:test_modify: assertion failed: (stamp == now)
  • #1934 ostree tests broken since bfdc5fc4fc84ef8518d2d1a328c8482cf5a38e98: File '/tmp/test-tmp-libostree_test-basic-user.sh.test-QB4SA0/diff-test2' is not empty
  • #1938 GDateTime doesn't support leap seconds
  • #1940 atomics test fails on FreeBSD CI since !1123
  • !1039 Improve documentation for footgun function g_tls_client_connection_copy_session_state()
  • !1083 Use the GObject hole on 64bit arches for some flags to improve performance
  • !1202 CI updates after !1177
  • !1208 gutils: Slightly improve docs formatting for g_get_os_info()
  • !1209 Make ld executable configurable
  • !1210 gdbus-server-auth test: Include gcredentialsprivate.h
  • !1213 gsocket: Improve diagnostics on bind() failure
  • !1214 gvariant, gbytes: Avoid memcmp (NULL, ., 0) or memcmp (., NULL, 0)
  • !1216 Make GTask more binding-friendly
  • !1218 gdb: Fix GHashTable pretty printer off-by-one error
  • !1220 gparam: fix memory leak in g_param_value_defaults()
  • !1221 Add NOTE_REVOKE to the list of the monitoring events
  • !1225 gtlsconnection: clarify handshake() documentation
  • !1227 Deprecate old GTlsConnection functionality even harder!
  • !1231 Fix build on old libc that does not define _SC_HOST_NAME_MAX
  • !1238 gstrfuncs: use gsize type internally for strv functions
  • !1242 gfileinfo: Clarify the documentation for G_FILE_ATTRIBUTE_UNIX_MODE
  • !1243 docs: Fix "occurred" typos in API documentation
  • Translation updates:
  • Spanish

New in GLib2 2.62.3 (Nov 20, 2019)

  • Use `poll()` in `g_spawn_sync()` rather than `select()`, which is subject to FD limits (#954)
  • Fix undefined behaviour with `g_utf8_find_prev_char()` (#1917)
  • Bugs fixed:
  • #954 The g_spawn_sync() function uses select() which has limitations
  • #1318 rare failure in gdbus-peer test: invalid uninstantiatable type '(null)' in cast to 'GDBusServer'
  • #1897 glib 2.62.0 fails test 'test_writev_no_vectors' wih gcc7
  • #1903 use-after-free in mimeapps test causes intermittent segfault during testing
  • #1916 objcopy not used from cross-compilation file in GIO tests
  • #1917 Test utf8-pointer fails with static build, LTO, optimisations, and new GCC
  • !1174 Backport !1164 “use-after-free fix in mimeapps test” to glib-2-62
  • !1184 Backport !1173 “gvariant: Limit recursion in g_variant_parse()” to glib-2-62
  • !1194 Backport !1176, !1183, !1188, !1191 to `glib-2-62`
  • !1203 Backport !1192, !1193, !1197 Fixes for gdbus-peer tests to glib-2-62
  • !1207 Backport !1206 “goption: Relax assertion to avoid being broken by kdeinit5” to glib-2-62
  • !1215 [2.62] gdbus-peer: Specifically listen on 127.0.0.1
  • !1219 Backport !1218 “gdb: Fix GHashTable pretty printer off-by-one error”
  • !1222 Backport !1221 “Add NOTE_REVOKE to the list of the monitoring events” to glib-2-62
  • !1228 Backport !1199 “gunicode: Fix UB in gutf8.c and utf8-pointer test” to glib-2-62

New in GLib2 2.63.1 (Nov 3, 2019)

  • Several usability improvements to command line `gio` tool (!1153)
  • Add `g_array_steal()`, `g_ptr_array_steal()` and `g_byte_array_steal()` APIs (#285)
  • Add `g_get_os_info()` API (!1063, !1160)
  • Add `g_warning_once()` API (!1028)
  • Always resolve `localhost` to loopback address in `GResolver` (!616)
  • Add `GMainContextPusher` API (!983)
  • Limit recursion in `g_variant_parse()` (!1173)
  • Fix crash in `g_spawn()` with high FD numbers due to use of `select()` rather than `poll()` (#954)
  • Allow passing empty `GValue`s to `g_param_value_set_default()` (!1186)
  • Escape header guards generated by `gdbus-codegen` better (#1379)
  • Bugs fixed:
  • - #285 [PATCH] add array steal and memdup functions
  • - #954 The g_spawn_sync() function uses select() which has limitations
  • - #1318 rare failure in gdbus-peer test: invalid uninstantiatable type '(null)' in cast to 'GDBusServer'
  • - #1379 gdbus-codegen generates invalid header guards when build directory contains a + character
  • - #1622 NULL pointer derefs on g_vasprintf() failure
  • - #1813 g_option_context_add_main_entries() is missing array annotation for entries parameter
  • - #1831 No reply on private socket due to auth problem
  • - #1836 gobject.c uses undefined annotation “(not optional)”
  • - #1858 docs/reference/gobject/tut_gobject.xml: object properties example uses deprecated API
  • - #1877 g_cancellable_source_new annotated with 'skip'
  • - #1896 Use after free when calling g_dbus_connection_flush_sync() in a dedicated thread
  • - #1897 glib 2.62.0 fails test 'test_writev_no_vectors' wih gcc7
  • - #1903 use-after-free in mimeapps test causes intermittent segfault during testing
  • - #1906 test_os_info fails on FreeBSD
  • - #1916 objcopy not used from cross-compilation file in GIO tests
  • - #1923 Recent Versions of GLib Break Dolphin File-Manager's Thumbnailing when Using 'gtk2' Style
  • - !616 Always resolve localhost to loopback address
  • - !983 gmain: Add GMainContextPusher convenience API
  • - !1014 tests: Add a test for g_assert_finalize_object()
  • - !1028 gmessages: Add g_warning_once()
  • - !1035 Switching from C gnu89 to C gnu99 standard
  • - !1063 gutils: Add g_get_os_info()
  • - !1082 gdatetime: Document RFC 3339 extensions when parsing ISO 8601
  • - !1105 syscall flood on every time*() function call
  • - !1120 Update documentation with FreeBSD build instructions
  • - !1135 gmain: use atomic operation instead of GMutex to access g_main_context_default()
  • - !1146 Solaris build fixes
  • - !1147 gmodule: fix typo in doc comment
  • - !1148 gio/gfileinfo: fix parameter references
  • - !1149 gio/gfile: fix parameter reference for value_p
  • - !1150 gio/gfile: fix parameter references to @contents
  • - !1151 gio/gfile: fix typo in doc comment
  • - !1152 gwinhttpvfs: Handle g_get_prgname() returning NULL
  • - !1153 Several gio-tool bash completion fixes and improvements
  • - !1155 Strict-aliasing fixes to new atomic built-ins
  • - !1157 Fix various compiler warnings on Android
  • - !1160 Add Windows support to g_get_os_info()
  • - !1161 hash: Remove an assertion from the hot path
  • - !1163 gcharset: Expand the documentation for g_get_locale_variants()
  • - !1165 Use uname as a fallback to get OS info
  • - !1167 Fix some minor leaks in testfilemonitor
  • - !1168 Fix gdatetime tests on toolbox
  • - !1171 Revert "gdbus-codegen: emit GUnixFDLists if an arg has type 'h'"
  • - !1173 gvariant: Limit recursion in g_variant_parse()
  • - !1177 ci: Add libdbus development files to CI Docker images
  • - !1179 Improve GPtrArray doc-comments
  • - !1180 array: Avoid use of memcpy(dest, NULL, 0)
  • - !1181 gmain: Clarify thread safety of some common GSource functions
  • - !1182 gio: Fix typo in URL
  • - !1186 Allow using an empty GValue with g_param_value_set_default()
  • - !1189 gparamspecs: Fix type class leaks on error handling paths
  • - !1197 Fix GDBus test failures on non-Linux (in particular FreeBSD)
  • - !1200 Minor fixes from a scan-build run
  • Translation updates:
  • Catalan
  • Chinese (Taiwan)
  • Spanish

New in GLib2 2.62.2 (Oct 23, 2019)

  • Bugs fixed:
  • #1896 Use after free when calling g_dbus_connection_flush_sync() in a dedicated thread
  • !1154 Backport !1152 “gwinhttpvfs: Handle g_get_prgname() returning NULL” to glib-2-62
  • !1156 Backport !1146 Solaris fixes to glib-2-62

New in GLib2 2.62.1 (Oct 4, 2019)

  • Fix regression in g_file_copy() when passing `G_FILE_COPY_TARGET_DEFAULT_PERMS` flag; the destination permissions would be private rather than following the process’ umask (!1142)
  • Several `GDateTime` parsing fixes (!1127)
  • Always build the tests if installed-tests are enabled, so that the tests can actually be installed (!1141)
  • Bugs fixed:
  • - #174 g_file_copy always preserves permissions, even if G_FILE_COPY_ALL_METADATA flag is not set
  • - #1865 g_variant_get_data_as_bytes fails after serializing a variant
  • - #1875 Segfault and Overflow in __gio_xdg_cache_mime_type_subclass() with Wps-Office installed
  • - #1887 glib 2.62.0 breaks loading dylibs as modules
  • - #1888 2.62: docs build on Windows broken
  • - !1021 docs: Remove priv pointers from the tutorial example
  • - !1094 Backport to 2.62: gmodule: use dl implementation on macOS
  • - !1101 Backport !1092 “Fix doc build on Windows” to glib-2-62
  • - !1102 Backport !1080 “tests: Fix skipping mkdir-with-parents-permission test” to glib-2-62
  • - !1103 Backport !1085 “xdgmime: Prevent infinite loops from badly-formed MIME registrations” to glib-2-62
  • - !1127 Backport !1125 and !1115 GDateTime parsing fixes to glib-2-62
  • - !1128 Backport !1043 “gvariant: Handle empty serialisations in get_child_value()” to glib-2-62
  • - !1140 [2.62] g_file_info_get_modification_date_time: Calculate in integer domain
  • - !1141 [2.62] Always build tests if we enabled installed-tests
  • - !1142 Backport !1134 Fix for file copy permissions to glib-2-62
  • Translation updates:
  • - Danish
  • - Italian
  • - Panjabi
  • - Serbian
  • - Turkish

New in GLib2 2.62.0 (Sep 5, 2019)

  • Fix new `GFileInfo` APIs to work when `G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC` was not queried (!1087)
  • Bugs fixed:
  • #487 Add valgrind test runs to CI
  • !1084 garray: Fix reference to GLIB_SIZEOF_INT
  • !1086 glib.supp: make gobject_init() calloc also of the possible kind
  • !1087 fileinfo: ignore USEC if not available
  • Translation updates:
  • Friulian
  • Portuguese (Brazil)

New in GLib2 2.60.7 (Sep 5, 2019)

  • Bugs fixed:
  • #1819 Invalid characters in Open Location dialog crashes GIMP
  • #1847 Setting GLIB_VERSION_{MIN_REQUIRED, MAX_ALLOWED} to before 2.56 triggers warnings
  • !1012 Backport !1009 “gapplication: remove inactivity_timeout source on finalize” to glib-2-60
  • !1013 Backport !1008 “gmessages: Only use structured logs if GLIB_VERSION_MAX_ALLOWED is ≥2.56” to glib-2-60
  • !1061 Backport !966 “Resolve "Invalid characters in Open Location dialog crashes GIMP"” to glib-2-60
  • !1065 Backport !1040 “GSettingsBackend - Fix thread-safety during destruction of GSettings instances...” to glib-2-60
  • !1081 Backport !1017 “gdatetime: Avoid an assertion failure when parsing some ISO 8601 dates” to glib-2-60

New in GLib2 2.61.3 (Sep 3, 2019)

  • Support setting thread name on BSD systems (#1761)
  • Install previously-uninstalled headers for public `GNativeSocketAddress` object (#1854)
  • Very initial support for Windows apps (UWP) (!1057)
  • Add various new valgrind suppressions to `glib.supp` (#1879, !1075)
  • Bugs fixed:
  • - #83 Optimisation for g_nearest_pow() in garray.c
  • - #512 GSignal: accumulator function not called to accumulate G_SIGNAL_RUN_CLEANUP object handler return values
  • - #873 allow NULL arguments to parse_strv
  • - #905 Patches from static analysis run on 2.40
  • - #1057 goption: add sanity check to input parameters
  • - #1309 GSettings object stops emitting "changed" signal on g_settings_reset after call to g_settings_delay
  • - #1620 GDBus criticals from GVfs with GLib master
  • - #1761 Setting thread-name on BSD systems
  • - #1803 GDK_SCALE=X is not respected when using "gio open"
  • - #1819 Invalid characters in Open Location dialog crashes GIMP
  • - #1852 Regression: g_mkdir_with_parents() returns 0 on failure
  • - #1854 glib/gio: GNativeSocketAddress headers not installed.
  • - #1860 g_clear_handle_id does not trigger GLIB_VERSION_MAX_ALLOWED warning
  • - #1863 Potential invalid writes on g_utf8_strreverse
  • - #1867 A couple of en_GBisms
  • - #1870 GSettingsBackend watches not thread-safe
  • - #1879 Incomplete valgrind suppressions - 16 KiB leak reported by valgrind from loading libglib-2.0.so
  • - #1880 glib/gbacktrace.c: If dup2 happened to return -1, don't call dup2 with same value
  • - #1881 GIO_USE_VOLUME_MONITOR and GIO_USE_FILE_MONITOR do not work as documented
  • - !1002 Remove mentions of mailing lists from the documentation
  • - !1011 gapplication: Fix a leaking GRemoteActionGroup member
  • - !1015 Post-release version bump
  • - !1016 gnetworkmonitornm fixups
  • - !1017 Improve ISO 8601 parsing by GDateTime
  • - !1023 g_object_get_property: Improve documentation for use of G_VALUE_INIT
  • - !1026 gutf8: Assert that written memory stays in bounds
  • - !1027 gfileutils: Fix error propagation for other than ENOENT
  • - !1031 meson: build gnulib if printf isn't good enough
  • - !1032 meson: small printf check cleanups
  • - !1033 win32: don't assume the format specifier for the stdlib printf/scanf like functions
  • - !1034 glib/tests/fileutils: Add a reproducer for #1852
  • - !1036 cond test: Don't make assumptions about struct sigaction member order
  • - !1037 Meson: Override glib-compile-resources/schemas
  • - !1044 Relax use of g_test_bug() to not require g_test_bug_base() to be called first
  • - !1049 minor typos in the documentation
  • - !1050 tests: Fix a pragma warning on FreeBSD
  • - !1054 gerror: Add a docs paragraph about not displaying errors verbatim in UI
  • - !1057 Some (probably) easy uwp patches
  • - !1059 Update win32 readme, add myself to codeowners
  • - !1066 libffi.wrap: Meson port has moved to FDO gitlab
  • - !1068 gsubprocesslauncher.c: fix documentation
  • - !1071 meson: Move libdl_dep to the top level
  • - !1074 Adjust README formatting
  • - !1075 glib.supp: add suppression for g_type_class_ref()
  • Translation updates:
  • - Basque
  • - Catalan
  • - Czech
  • - English (United Kingdom)
  • - French
  • - Galician
  • - German
  • - Hungarian
  • - Indonesian
  • - Korean
  • - Lithuanian
  • - Polish
  • - Romanian
  • - Spanish
  • - Swedish

New in GLib2 2.61.2 (Jul 29, 2019)

  • Add various new array functions (#236, #269, #373)
  • - `g_array_copy()`
  • - `g_ptr_array_copy()`
  • - `g_ptr_array_extend()`
  • - `g_ptr_array_extend_and_steal()`
  • - `g_array_binary_search()`
  • Add `g_assert_finalize_object()` helper function for writing tests (#488)
  • Rework how D-Bus connections are closed/unreffed when `g_test_dbus_down()` is called. Tests which leak a `GDBusConnection` may now time out and abort, rather than silently leaking. (#787)
  • Add a deprecation macro for GLib macros, and use it; third-party uses of long-deprecated GLib macros may now start causing warnings. (#1060)
  • Deprecate `GTime` and `GTimeVal`, and various functions which use them. Use `GDateTime` and `guint64` UNIX timestamps instead. (#1438)
  • Stop using `G_DISABLE_DEPRECATED` to allow disabling deprecation warnings; third-party code should now be using `GLIB_VERSION_{MIN_REQUIRED, MAX_ALLOWED}` to control symbol usage (!871)
  • Improve support for running `ninja test` when GLib is built statically (#1648)
  • Improve `GNetworkMonitor` detection of offline states (#1788)
  • Fix build failure on macOS related to missing `_g_content_type_get_mime_dirs` function (#1791)
  • Add various installed utilities’ paths to `gio-2.0.pc` (#1796)
  • Fix keyfile `GSettings` backend and portal (especially relevant to any version of GLib included in a flatpak runtime) (#1822, !985)
  • More IPv6 ‘Happy Eyeballs’ fixes in `GNetworkAddress` (!865)
  • Fix CVE-2019-12450, wide permissions of files when copying using GIO (!876)
  • Bump the Meson dependency from 0.48.0 to 0.49.2; we won’t depend on anything higher than this for a while, as Debian 10 ships 0.49 (!924)
  • Various test fixes for Windows (!930, !931)
  • Initial support for Universal Windows Platform (UWP): certification, and use of packaged libraries (!951)
  • Add experimental clang-cl support on Windows, allowing `g_autoptr()` support on Windows (!979)
  • Bugs fixed:
  • - #77 G_STDIO_NO_WRAP_ON_UNIX wraps
  • - #236 Add a function to copy an array
  • - #269 Additional convenience functions for g_ptr_array
  • - #373 GArray could use a binary search function
  • - #436 running tests leaves lots of coredumps
  • - #453 find-enclosing-mount docs confusing
  • - #488 Add g_object_assert_last_unref() helper macro to detect object leaks in tests
  • - #590 A reader lock can be obtained even if a writer is already waiting for a lock
  • - #638 g_atexit is defined when not declared
  • - #737 Initialize GValue in g_object_get_property()
  • - #787 gtestdbus: Properly close server connections
  • - #804 gdbusproxy prefixes unstripped error
  • - #870 Fix and enhance GDatetime for Windows
  • - #872 ucs4 functions have wrong return transfer
  • - #887 gdusmessage.c mishandles bounds of GDBusMessageType and related enums
  • - #894 gvalue: Avoid expensive checks where possible
  • - #940 Docs for g_socket_listener_set_backlog are not very helpful
  • - #943 G_DEFINE_TYPE_WITH_PRIVATE docs not helpful
  • - #1018 Allow guid key in dbus addresses
  • - #1060 Add deprecation macro for macros
  • - #1169 Tools can display gibberish messages from translations
  • - #1270 g_get_charset always returns 8-bit codepage on Windows, crippling UTF-8 output
  • - #1438 Deprecate GTimeVal- and GTime-based APIs
  • - #1635 g_socket_join_multicast_group iface parameter fails on win32/64
  • - #1648 2.58.2: Assorted asserts fail in Arch Linux when built statically
  • - #1729 g_content_type_guess segfaults when passed an empty data buffer on Mac OS
  • - #1788 GNetworkMonitor claims I am offline
  • - #1790 documentation on g_file_info_get_attribute_as_string
  • - #1791 _g_content_type_get_mime_dirs missing from libgio-2.0.0.dylib on MacOS
  • - #1792 glib-genmarshal generated valist marshal does not respect static scope for some types
  • - #1793 glib-genmarshal generates wrong code for va marshaler for VARIANT type
  • - #1794 API Proposal: g_timer_is_active
  • - #1796 Add gio-querymodules variable to pkg-config file
  • - #1797 glib/tests/win32 test failing on 64-bit Visual Studio builds
  • - #1798 /contenttype/tree reliably fails on FreeBSD since !863
  • - #1807 g_dbus_server_new_sync() documentation references nonexistent function
  • - #1808 Stopping a GDBusServer should clean up Unix socket paths (if not abstract) and nonce-tcp nonce files
  • - #1811 Introspection info for g_unichar_compose's 3rd arg should be OUT
  • - #1822 keyfile gsettings backend not loading
  • - #1823 Documentation for disabling selinux is incorrect
  • - #1825 GKeyFileSettingsBackend created without filename construct property and unchecked assertion
  • - #1828 Small typo in gio manpage
  • - #1837 Specify for each (optional) parameter, whether it is OUT or INOUT
  • - #1838 Reword documentation for G_DECLARE_FINAL_TYPE
  • - #1847 Setting GLIB_VERSION_{MIN_REQUIRED, MAX_ALLOWED} to before 2.56 triggers warnings
  • - !533 docs: Document pitfall of deprecation pragmas
  • - !563 ci: Add scan-build job in a new ‘analysis’ pipeline stage
  • - !678 glib-compile-schemas: Improve translatable strings
  • - !817 gdate: Officially mark GTime as deprecated
  • - !851 gsettings: Document that lists are returned in no defined order
  • - !853 gobject: Fix apostrophe usage in a few small bits of documentation
  • - !859 gobject: Add a g_assert_finalize_object() macro
  • - !863 gunicollate/cygwin: Don't use __STDC_ISO_10646__ for wchar_t related checks
  • - !865 gnetworkaddress: fix "happy eyeballs" logic
  • - !867 Post-release version bump
  • - !871 Drop G_DISABLE_DEPRECATED
  • - !873 Use atomic reference counting for GSource
  • - !874 Clamp number of vectors to IOV_MAX / UIO_MAXIOV for GOutputStream writev()...
  • - !875 CI/msys2: disable coverage reporting, lcov doesn't support gcc9 yet
  • - !876 CVE-2019-12450: gfile: Limit access to files when copying
  • - !877 gio: specify proper c_marshaller and va_marshallers
  • - !883 tests: Fix small race in GSubprocess tests
  • - !884 garcbox.c: Fix typo atomit => atomic
  • - !885 goption: Clarify G_OPTION_ARG_FILENAME documentation
  • - !889 Include for FIONREAD
  • - !901 gmain: Clarify that g_source_destroy() doesn’t drop a reference
  • - !904 Add glib-genmarshal tests and fix some valist marshaller bugs
  • - !906 property action: Add state hints
  • - !908 Improve testfilemonitor test repeatability and debuggability
  • - !909 D-Bus auth mechanism improvements
  • - !914 ci: Run scan-build in a different build directory
  • - !915 docs: fix typo on arrays examples in gvariant-text
  • - !917 docs: Fix name of IRC channel in CONTRIBUTING.md
  • - !919 glib/tests/refcount.c: Fix tests on non-GCC-isque compilers
  • - !920 gmacros: Only use deprecated attributes on enumerators with GCC ≥ 6.5
  • - !923 Check if compiler symbols are defined before using them
  • - !924 Bump the required version of Meson
  • - !930 glib/tests/convert.c: Skip tests that aren't meaningful for Windows
  • - !931 glib/tests/fileutils.c: Fix stdio Wrapper Test on Windows
  • - !934 build: Increase the slow test timeout to 180s
  • - !935 Ignore */__pycache__/* directories
  • - !937 Fix module tests on Visual Studio builds
  • - !939 gstdio: minor cleanups
  • - !941 list model: Expand items-changed docs
  • - !944 gutils: Don't limit the length of the host name to 99
  • - !945 Avoid overrunning stack at the end of the varargs.
  • - !947 gobject/tests/signals.c: Fix tests on Windows
  • - !948 GObject: Fix mkenums.py and genmarshal.py tests on Windows
  • - !950 ci: Enable CI on FreeBSD 12
  • - !951 Preliminary patches for Universal Windows Platform support
  • - !952 gio: Make minor docs improvements
  • - !953 g_utf8_normalize: Doc comment return missing nullable annotation
  • - !954 Fix the ISO 15924 code for Manichaean
  • - !955 gmacros: Use _Static_assert when C11 is available
  • - !958 gthread: fix minor errno problem in GCond
  • - !961 gmain: Fix g_main_context_prepare priority annotation
  • - !962 gmacros: Use _Static_assert only for non-expr static assert
  • - !964 gmacros.h: Use static_assert on MSVC if possible
  • - !968 Fix typo in request handle
  • - !970 gdatetime: Unset LC_ALL for the test as well
  • - !971 docs.c: Forward link from g_auto* → G_DEFINE_AUTO*
  • - !973 doc: fix typo in gio/gresource.c
  • - !979 Experimental clang-cl support
  • - !980 gmacros.h: Add better support for clang-cl
  • - !981 gio: fix typo in g_settings_reset documentation
  • - !982 Various doc fixes
  • - !985 Keyfile portal fixes
  • - !987 gio/tests: Remove code and comments referring to libtool
  • - !991 fix atomic detection on older gcc versions
  • - !992 docs: Add example to g_test_summary() documentation
  • - !994 gio: Fix minor docs mistakes
  • - !996 Small array test fixes
  • - !997 gdbusaddress: Add missing transfer annotation
  • - !1007 Resubmission of !832 “Try to create the complete path right away and fall back”
  • - !1009 gapplication: remove inactivity_timeout source on finalize
  • Translation updates:
  • - Hungarian
  • - Indonesian
  • - Portuguese (Brazil)
  • - Spanish

New in GLib2 2.60.6 (Jul 24, 2019)

  • Fix various bugs with use of the `GKeyfileSettingsBackend` within flatpaks (!984, !985, #1825)
  • Bugs fixed:
  • !993 Backport !984, !985 keyfile/portal fixes to glib-2-60

New in GLib2 2.60.5 (Jul 12, 2019)

  • Fix implicit use of the `GKeyfileSettingsBackend` (#1822)
  • Fix opening a URI using the ‘Open URI’ portal (!968)
  • Bugs fixed:
  • !910 Backport !909 “D-Bus auth mechanism improvements” to glib-2-60
  • !949 Backport !945 “Avoid overrunning stack at the end of the varargs.” to glib-2-60
  • !956 Backport !954 “Fix the ISO 15924 code for Manichaean” to glib-2-60
  • !958 gthread: fix minor errno problem in GCond
  • !969 Backport !968 ”Fix typo in request handle” to glib-2-60
  • !977 Backport !974 “Ensure that the keyfile settings backend exists” to glib-2-60

New in GLib2 2.60.4 (Jun 11, 2019)

  • Fixes to improved network status detection with NetworkManager (#1788)
  • Leak fixes to some `glib-genmarshal` generated code (#1793)
  • Further fixes to the Happy Eyeballs (RFC 8305) implementation (!865)
  • File system permissions fix to clamp down permissions in a small time window when copying files (CVE-2019-12450, !876)
  • Bugs fixed:
  • #1755 Please revert #535 gmacros: Try to use the standard __func__ first in G_STRFUNC
  • #1788 GNetworkMonitor claims I am offline
  • #1792 glib-genmarshal generated valist marshal does not respect static scope for some types
  • #1793 glib-genmarshal generates wrong code for va marshaler for VARIANT type
  • #1795 Fix mingw32 CI on older branches
  • !865 gnetworkaddress: fix "happy eyeballs" logic
  • !878 Backport !876 “gfile: Limit access to files when copying” to glib-2-60

New in GLib2 2.61.1 (May 27, 2019)

  • `g_unichar_isxdigit()` and `g_unichar_xdigit_value()` now handle full-width characters (U+FF21–U+FF26 and U+FF41–U+FF46) (#58)
  • Deprecate `gtester` utility and its test reporting format and enable TAP output by default instead — the `--tap` option to tests is now a no-op (#1441, #1619)
  • Add `g_test_summary()` to allow test authors to programmatically summarise what each unit test in a test suite does (#1450)
  • Upgrade to Unicode Character Database v12.1 (#1713, !822)
  • More IPv6 Happy Eyeballs fixes to `GNetworkAddress` and `GSocketClient` (#1747, #1771, #1774)
  • Fix valgrind and gdb support for the new `GHashTable` changes (#1749, #1780)
  • Fix GTask wait times growing faster than the number of task threads (#1683)
  • Change `GApplication` to ignore `-psn_*` arguments on the macOS command line, as they are irrelevant (#1784)
  • Add `g_autoqueue()` helper macros, similar to `g_autolist()` (!474)
  • Add pre-allocated link helpers for `GList` and `GQueue`:
  • - `g_list_insert_before_link()`
  • - `g_queue_insert_before_link()`
  • - `g_queue_insert_after_link()`
  • Improve network availability detection with NetworkManager to treat lower levels of connectivity as having reduced availability (!781)
  • Add `g_clear_signal_handler()` to allow disconnecting from a `GObject` signal and clearing the signal handler ID to zero in a single call (!819)
  • Add `g_autoptr()` support for `GRWLock` (!825)
  • Define `G_OS_UNIX`, not `G_OS_WIN32`, when GLib is built agains Cygwin (!862)
  • Bugs fixed:
  • - #29 GScanner: should explicitly document modifiable fields (value, next_value, ...)
  • - #58 g_unichar_isxdigit() and g_unichar_xdigit_value() should deal with full-width a-fA-F
  • - #106 Boxed types should be documented better
  • - #135 g_unichar_totitle(0) returns 0x00001F88 instead of 0
  • - #429 g_format_size() is broken on Windows
  • - #1441 Deprecate gtester
  • - #1450 Add API for tests to describe what they're checking
  • - #1619 GTest should have a way to default to TAP
  • - #1683 GTask: task_wait_time is increased constantly when the number of running thread is greather than 10
  • - #1713 Upgrade to Unicode Character Database v12
  • - #1739 meson build failure libdl
  • - #1747 Critical in g_socket_client_async_connect_complete
  • - #1749 New GHashTable implementation confuses valgrind
  • - #1753 Remove memory leaks from gio/test/resolver.c
  • - #1755 Please revert #535 gmacros: Try to use the standard __func__ first in G_STRFUNC
  • - #1759 test_month_names: assertion failed
  • - #1760 Document for g_resolver_lookup_records why it returns a list of list of gchar*.
  • - #1763 tests: -p runs tests in the reverse of the specified order
  • - #1768 g_strlcat(): Possible buffer overflow in implementation
  • - #1771 GNetworkAddressAddressEnumerator unsafely modifies cache in GNetworkAddress
  • - #1774 Leaks in gsocketclient.c connection code
  • - #1776 glib/date test fails
  • - #1780 GDB pretty-printer for GHashTable no longer works
  • - #1782 Error in documentation for cross-compile.
  • - #1784 MacOS adds a -psn_X_XXXXXX parameter to the command line
  • - !474 Add g_autoqueue
  • - !476 Add pre-allocated link helpers for GList and GQueue
  • - !556 gtestutils: Make --tap compatible with -p and --GTestSkipCount
  • - !732 gsocket: Clarify in docs that `flags` arguments can be platform specific
  • - !766 W32: swap special g_get_prgname() for platform_get_argv0()
  • - !774 Only build tests if certain conditions are met.
  • - !780 Add copyright and licensing terms to test report generator
  • - !781 gnetworkmonitornm: Fix network available detection
  • - !782 build: Fix check for RTLD_NEXT
  • - !785 Remove monitor test
  • - !787 build: Remove */.gitignore files
  • - !791 glib/gconstructor.h: Include stdlib.h for MSVC builds
  • - !792 general: Remove a few unhelpful references to ‘master’
  • - !795 gdesktopappinfo: Add support for MATE and Xfce4 terminals
  • - !802 gio: tests, don't check for libdl on OpenBSD
  • - !806 Get to 100% coverage on GQueue tests
  • - !808 Update the Docker images used for CI
  • - !809 Modified version of !784 — Adding tests cases for a better coverage of glib/tests/strfuncs.c
  • - !813 gappinfo: Add precondition checks to GAppLaunchContext env methods
  • - !814 gschema.dtd: Add target attribute to alias
  • - !819 Clear signal handler
  • - !820 ci: Keep JUnit report script working on Debian stable
  • - !821 Various minor cleanups to autoptrs
  • - !822 glib: Update Unicode Character Database to version 12.1.0
  • - !825 Add autoptr support for GRWLock
  • - !831 build: (Long time after) post-release version bump
  • - !835 Fix typo in German translation
  • - !836 Document the best practices for binding GInitiallyUnowned
  • - !862 build: define G_OS_UNIX, not G_OS_WIN32 under cygwin
  • Translation updates:
  • - Basque
  • - Catalan
  • - German
  • - Indonesian
  • - Spanish

New in GLib2 2.60.3 (May 22, 2019)

  • Various fixes to small key/value support in `GHashTable` (#1749, #1780)
  • Bugs fixed:
  • - #1747 Critical in g_socket_client_async_connect_complete
  • - #1749 New GHashTable implementation confuses valgrind
  • - #1759 test_month_names: assertion failed
  • - #1771 GNetworkAddressAddressEnumerator unsafely modifies cache in GNetworkAddress
  • - #1774 Leaks in gsocketclient.c connection code
  • - #1776 glib/date test fails
  • - #1780 GDB pretty-printer for GHashTable no longer works
  • - !815 Merge branch 'wip/tingping/socketclient-cancel-2' into 'master'
  • - !816 Backport !814 “gschema.dtd: Add target attribute to alias” to glib-2-60
  • - !826 Backport !824 “gsocketclient: Fix a leak in the connection code” to glib-2-60
  • - !829 Backport !828 “build: Fix a typo in the test whether _NL_ABALTMON_n is supported” to glib-2-60
  • - !834 Backport !823 "gnetworkaddress: Fix parallel enumerations interfering with eachother" to glib-2-60
  • - !838 Backport !835 “Fix typo in German translation” to glib-2-60
  • - !841 Backport !839 “tests: Update month name check for Greek locale” to glib-2-60
  • - !844 Backport !840 “ghash: Disable small-arrays under valgrind” to glib-2-60
  • - !846 Backport !845 “Fixing g_format_size_full() on Windows-x64” to glib-2-60
  • - !855 Backport !848 (more GHashTable fixes) to glib-2-60
  • - !858 Backport !852 “Update gdb pretty-printer for GHashTable” to glib-2-60
  • Translation updates:
  • German

New in GLib2 2.60.2 (May 5, 2019)

  • Fix crash when displaying notifications on macOS (!786)
  • Improve network status detection with NetworkManager (!781)
  • Bugs fixed:
  • !790 glib/gconstructor.h: Include stdlib.h for MSVC builds
  • !793 Backport !786: “cocoanotificationbackend: do not release readonly property” to glib-2-60
  • !803 Backport !781 “gnetworkmonitornm: Fix network available detection” to glib-2-60
  • Translation updates:
  • Catalan

New in GLib2 2.60.0 (Mar 13, 2019)

  • Further fixes to the Happy Eyeballs (RFC 8305) implementation (#1653, #1679, #1693)
  • Add support for the XDG trash portal (#1676, !276)
  • Bugs fixed:
  • #1653 gsocketclient-slow test is flaky
  • #1658 keyfile settings backend: Consider tightening permissions
  • #1668 Fill in CODE-OWNERS file
  • #1675 glib-compile-resources: c_name generation issue
  • #1676 Trash portal tries to open files as read-only but D-Bus API documents against that
  • #1679 socket-service test is flaky
  • #1693 Happy Eyeballs failure in gsocketclient-slow test
  • #1697 gthreadresolver: do_lookup_records does res_ninit with an uninitialized state
  • #1698 g_base64_encode(NULL, 0) causes critical warnings
  • !276 Support the trash portal
  • !639 gvariant-parser: Fix error handling when type coalescing fails
  • !666 Socket fixes to W32 test suite
  • !674 Update gvdb submodule
  • !676 Initialize a variable
  • !677 gerror: Add a missing precondition assertion in documentation
  • !686 gio: Also support modules built with MSVC
  • !688 gsocketclient: Fix critical on cancellation
  • !689 glib-compile-resources: Fix a minor leak
  • !691 gtask: Separate GTask fields memory locations to avoid data races
  • !692 glib.supp: Add more variations of existing suppressions
  • !696 Move closures refcount test to gobject/tests/
  • !698 gthreadedresolver: Remove unused thread pool
  • !699 tests: Fix closure-refcount to preserve old semantics
  • !702 Rename gobjectenumtypes.[ch] to glib-enumtypes.[ch]
  • !703 Clean up gmarshal.[ch]
  • Translation updates:
  • Catalan
  • Czech
  • French
  • Friulian
  • German
  • Italian
  • Korean
  • Romanian
  • Serbian

New in GLib2 2.59.3 (Feb 20, 2019)

  • Fix support for g_get_user_special_dir() on macOS, including support for the Downloads directory (#1048)
  • Ensure that cancelling a GTask cannot cause its callback to be called synchronously (in the same call chain as the original *_async() call) (#1608)
  • Further fixes to the Happy Eyeballs (RFC 8305) implementation (#1644, #1680)
  • Various fixes for installation of installed tests (thanks to Iain Lane) (!649, !651)
  • Various fixes for tests when run on Windows (thanks to LRN) (!665, !667)
  • Bugs fixed:
  • #535 gmacros: Try to use the standard __func__ first in G_STRFUNC
  • #875 gio-gvfs on Windows: Don't mishandle other non-native URIs in gwinhttpvfs.c
  • #1048 "Desktop" shortcut appears twice in file chooser sidebar on OSX
  • #1608 Cancellation might not be asynchronous under certain circumstances
  • #1644 network-address test failure in CI: IPv6 Broken (g-io-error-quark, 24)
  • #1680 Regression: g_socket_client_connect_to_host_async() sometimes gets "Connection refused" when connecting to localhost
  • #1686 gdbus-peer test is sometimes timing out
  • !613 Use win32 io channel on windows for the protocol test
  • !634 Win32: gio/gsocket.c: Set WSAEWOULDBLOCK on G_POLLABLE_RETURN_WOULD_BLOCK
  • !638 gvariant-parser: Fix parsing of G_MININT* values in GVariant text format
  • !640 tests: Tag socket-service test as ‘flaky’
  • !641 Minor typo fixes to GSpawn documentation
  • !645 gsocketlistener: Fix multiple returns of GTask when accepting sockets
  • !647 gsocketclient: Ensure task is always returned on cancel
  • !648 gio/tests/task: Run the worker indefinitely until it's cancelled
  • !649 gio tests: Install test1.overlay file when building installed tests
  • !650 gstring: fully document semantics of @len for g_string_insert_len
  • !651 tests: Install the slow-connect-preload.so library and use it
  • !667 GSubprocess fixes for W32 test suite
  • !668 tests: Mark gdbus-peer test as flaky
  • !669 GWin32VolumeMonitor: Sort the volumes correctly
  • !670 gpollableoutputstream: Fix the description of the interface
  • !672 Fix some tests when running as root
  • Translation updates:
  • Catalan
  • Danish
  • French
  • Indonesian
  • Kazakh
  • Portuguese (Brazil)
  • Slovenian
  • Turkish

New in GLib2 2.59.2 (Feb 6, 2019)

  • Fix check on GDBusMessage size when reading it. (#1642)
  • Add async GIO API: g_file_query_default_handler_async(), g_app_info_launch_uris_async() (#1249, #1347)
  • Fix some bugs in the Happy Eyeballs implementation. (#1646, #1649)
  • Install a new generated header with enum types for Unicode enums. (!481)
  • Support the XDG trash portal. (!276)
  • Bugs fixed:
  • #1224 TSAN patches
  • #1249 xdg-open/gnome-open doesn't work if service isn't started
  • #1347 g_app_info_launch_default_for_uri_async is not really async
  • #1376 gmarkup: Optimize g_markup_escape_text()
  • #1642 minor mismatch between error and code in g_dbus_message_bytes_needed
  • #1646 Criticals in g_socket_client_enumerator_callback()
  • #1649 Critical in g_socket_client_connected_callback
  • #1673 G_MININT constants broken in g-i
  • !276 Support the trash portal
  • !481 Define enum types for Unicode enums
  • !585 gio: do not pass O_PATH file descriptors to portal APIs
  • !593 Don't fail trash test if ~/.local doesn't exist or mount points can't be determined (master)
  • !609 Make `g_app_info_launch_uris_async()` really asynchronous
  • !619 gvariant: Fix a mistake in docs
  • !622 Fixing warnings
  • !626 gdbus: Avoid printing null strings
  • !627 gsocketclient: Fix criticals
  • !629 Various memory leak cleanups to GSettings tests (subset)
  • !630 docs: Ignore more version macros
  • Translation updates:
  • Galician
  • Hungarian
  • Lithuanian
  • Polish
  • Spanish

New in GLib2 2.59.1 (Jan 27, 2019)

  • Autotools support is gone. (!580)
  • g_format_size() now uses a no-break space to separate digits and units;translations will need to be updated accordingly. (#1625)
  • New g_queue_clear_full() API. (#1464)
  • Fix argument quoting on win32 when spawning subprocesses. (!419)
  • Allow polling more than 64 handles on win32 using g_poll(). (#1071)
  • Tag various tests as ‘flaky’. These are no longer run routinely on our upstream CI machines, and downstream packagers may want to not run them (or not treat those test failures as package build failures) on their test machines either. They are in the `flaky` test suite. (!579)
  • Add overlay support to g_resources_get_info(). (#1445)
  • Support defaults and locks in the keyfile GSettings backend. This will be used for flatpaks. (!450)
  • Accept unquoted strings in the keyfile GSettings backend to simplify things for sysadmins. (!603)
  • Update our contribution guidelines (`CONTRIBUTING.md`). (!590)
  • Add writev() and writev_all() APIs to GOutputStream and GPollableOutputStream, and provide implementations of them for many subclasses. (#1431)
  • Bugs fixed:
  • #424 Add 'proxy' debugging support
  • #1055 Provide alignment macros
  • #1071 Eliminate MAXIMUM_WAIT_OBJECTS limitation in g_poll() on Windows
  • #1445 g_resources_get_info doesn't respect resource overlays
  • #1464 Add g_queue_clear_full() API
  • #1500 GListStore needs double checking on some warnings
  • #1623 xdg-open: file with colon results in “The specified location is not supported”
  • #1625 Unbreakable space needed when showing size of folder/file
  • #1636 GTask getters don’t return TRUE/FALSE after bitfield changes
  • #1637 EXCEPTION_ACCESS_VIOLATION in g_clear_pointer
  • #1639 GListStore implementation of g_list_model_get_item() returns wrong results on integer overflow
  • #1655 gvariant-parser warnings
  • #1663 G_MININT32 triggers compiler warning C4146 with Visual C++
  • #1666 `G_DEFINE_DYNAMIC_TYPE_EXTENDED` causes warnings with -Wcast-function-type
  • !319 giomodule: Print the type of each default GIO module
  • !333 Add writev() API to GOutputStream and GPollableOutputStream
  • !419 gspawn, win32: qouted args - escape end backslash
  • !450 Settings portal
  • !512 gtype: Clarify type of GInterfaceInitFunc
  • !516 gthread: Add g_private_set_alloc0() convenience API
  • !535 win32 gpoll: overcome the 64 handles limit
  • !545 goption: Fix an annotation on g_option_context_parse_strv()
  • !560 docs: Fix dconf GSETTINGS_BACKEND name in gio overview
  • !564 gtype: Document type for iface_default_init() function
  • !568 Add separate definitions of g_assert_[non]null() for C++
  • !571 docs: Add note on how to check a gboolean condition
  • !575 gio: Update bad cert error in accept-certificate and GTlsError docs
  • !579 Temporarily disable flaky tests
  • !580 Drop autotools support
  • !583 gmacros: MSVC supports the noreturn function attribute
  • !587 Remove unused .pc.in files
  • !588 MSVC: Move dirent implementation to glib/dirent/
  • !590 Update contribution documentation
  • !591 gfileinfo: Fix annotation for g_file_info_set_attribute_stringv
  • !592 Remove leftover build/ directory
  • !595 gtestutils: pass open file descriptors to subprocess
  • !597 tests: Tag gsocketclient-slow test as ‘flaky’
  • !598 gdbus-proxy test fails with GLib-GIO:ERROR:glib/gio/tests/gdbus-proxy.c:832:fail_test: code should not be reached
  • !599 gdtlsconnection: do not return on a void method
  • !601 gio: Support "help" in extension point env vars
  • !602 Update POTFILES.in
  • !603 keyfile settings: Accept unquoted strings
  • !608 build: Add -Wno-pedantic flag to compiler arguments
  • !611 gnetworkaddress: fix use-after-free for network address
  • !612 gdir: shutup a warning when building with msvc
  • !615 Fix a couple of wrong compiler warnings
  • Translation updates:
  • Spanish
  • Swedish

New in GLib2 2.58.3 (Jan 21, 2019)

  • Fix GVariant tests on i686 (#1626)
  • Fix crashes caused by filtering of mounts (#1645)
  • Bugs fixed:
  • #1626 2.58.2 GVariant test failure on i686
  • #1637 EXCEPTION_ACCESS_VIOLATION in g_clear_pointer
  • #1645 2.58.2 introduces libgio segfaults
  • !558 Backport Suppress -Wint-in-bool-context warning with G_DEFINE_INTERFACE and g++ to glib-2-58
  • !577 Don't fail trash test if ~/.local doesn't exist or mount points can't be determined
  • !578 gunixmounts: Fix segfaults caused by new filter of mounts

New in GLib2 2.58.2 (Jan 9, 2019)

  • Fix calling gdbus-codegen with --interface-info-{header,body} (!527)
  • Fix parsing month names in certain locales with g_date_set_parse() (#1343)
  • Fix ^*ay handling in g_variant_iter_loop() (!437)
  • Various buffer overflow fixes in GMarkup/GVariant/GDBus (#1582)
  • A huge number of fixes to the Meson build
  • Prevent bind mounts being advertised as mounts (#1271)
  • Fix cross-compilation of 2.58.x releases with autotools (#1546)
  • Bugs fixed:
  • !527 fix gdbus-codegen --interface-info-{header,body}
  • #1605 g_date_time_format fails when used with non ASCII format string on POSIX locale
  • !544 gtimezone: Fallback to /etc/timezone on Gentoo
  • #945 g_spawn_* functions break POSIX requirements and deadlock the child process under certain conditions
  • #1014 g_spawn family does not appear to be safe in multi-threaded programs
  • !542 gtlscertificate: Fix bug in PEM private key parser
  • #1343 g_date_set_parse: Parses "September" in Polish incorrectly
  • !471 meson: pin the libffi wrap file to the last release supporting meson 0.47
  • !430 gdate: Reinitialize using_twodigit_years and locale_era_adjust.
  • !437 Fix ^*ay handling in g_variant_iter_loop()
  • #1337 /GDateTime/strftime test fails with TZ=Africa/Monrovia
  • #1588 Moving a bookmark item to the same URI causes a crash
  • !462 meson: add aarch64 memory barrier handling
  • #1582 Backport GMarkup/GVariant/GDBus fixes to glib-2-58 and glib-2-56
  • !428 gdbus-codegen: add autocleanup for FooObject
  • #1576 Fails to build with Meson on Debian armel (armv5te EABI softfloat little-endian)
  • !407 meson: Increase test timeouts
  • #1572 Flags validation fails
  • #1522 Trash not working on NTFS folder accessed from symlink
  • #1562 GDate test suite fails with latest glibc
  • !367 Add g_desktop_app_info_get_string_list(); fix g_key_file_free()
  • !416 gdbus-peer: Make sure to not include objectmanager-gen.c source
  • !414 gio, tests: ensure objectmanager sources are generated
  • !409 A couple of minor glib-2-58 backports
  • !400 grefcount: add missing gatomic.h
  • !403 build-sys: Pass CFLAGS to $(DTRACE)
  • #1543 Backport recent Meson/pkg-config/test fixes to glib-2-58
  • #1271 fstab binds appear as mounts (x-gvfs-hide is being ignored)
  • #1546 Cross-compilation fails in 2.58
  • #1536 meson: spurious dependencies on convenience libraries in .pc files
  • #1544 meson: gtester-report #! not replaced with ${PYTHON}
  • #1528 Meson tests are hard to debug in an autobuilder environment
  • #1539 meson: Some files are unnecessarily installed executable
  • #1527 Meson doesn't install data for installed-tests
  • !406 meson: Mark 1bit-emufutex test as slow
  • !334 gio: automake: Add libgmodule dependency
  • !238 W32 GFileInfo improvements (partially)
  • !312 Enable GIO tests on Windows
  • #1520 Change conditions for installing m4 macros
  • #656 check for -Werror=format-security broken
  • #1313 Meson: Rework the config.h generation
  • !346 ci: Use a docker image for stable branch
  • Translation updates:
  • Basque
  • Brazilian Portuguese
  • Czech
  • Friulian
  • German
  • Indonesian
  • Italian
  • Lithuanian
  • Occitan
  • Polish
  • Turkish
  • Slovak
  • Slovenian
  • Spanish
  • Swedish

New in GLib2 2.58.1 (Sep 21, 2018)

  • Fix to a regression in listing GIcon fallbacks (#1513)
  • Changes to pkg-config paths to helper programs when building with autotools: paths are now absolute with reference to the .pc file’s ${prefix} (#1521)
  • Fix installation path of glib-gettextize helper on Meson (!290)
  • Fix autostarting xdg-desktop-portal (!321, a backport of !317)
  • Various fixes to the network monitor (#1518, !294)
  • Various compilation fixes on macOS (generally older versions and older compilers)
  • Bugs fixed:
  • !318 codegen: Change pointer casting to remove type-punning warnings
  • #1513 GIcon regression?
  • #1521 pkg-config files differ between Autotools and Meson build
  • !321 Backport “Autostart xdg-desktop-portal if needed” to glib-2-58
  • #1518 /network-monitor/create-in-thread fails in (LXC) containers on glib-2-56
  • #1509 test_timeval_to_iso8601_overflow: 'out' should be NULL
  • !288 Backport `command -v` vs `which` changes to glib-2-58
  • !298 GLib 2.58 backports of various small patches
  • !295 meson: fix typo
  • !294 portal network monitor: Always emit changed signal on changed
  • !290 build: fix installation dir of glib-gettextize
  • #1488 ‘O_CLOEXEC’ undeclared (first use in this function)
  • #1506 error: redefinition of typedef 'GKqueueFileMonitor'
  • Translation updates:
  • Brazilian Portuguese
  • Czech
  • Danish
  • Greek
  • Hungarian
  • Latvian
  • Swedish

New in GLib2 2.58.0 (Aug 31, 2018)

  • Tarball built with `ninja dist`, so if you want to build this release with autotools (which is supported), you will need to re-run autogen.sh. This release, and all micro releases in the 2.58.x series, support being built with Meson or autotools. See: https://mail.gnome.org/archives/gtk-devel-list/2018-June/msg00012.html
  • Fix cancellation of g_subprocess_communicate_async() calls. See !266.
  • Drop support for the __int64 type, which further breaks compilation on old MSVC versions (before VS2013). See #1313.
  • Expose GSettings schema directory in gio-2.0.pc as `schemasdir`. See !274.
  • Support v3 of the xdg-desktop-portal network monitor API. See !265, !279.
  • Fix G_MODULE_SUFFIX on macOS when GLib is built with Meson — it should be `so` rather than `dylib`. Projects that use Meson and the `g_module_build_path()` API such as glib-networking should pass `name_suffix:` to `shared_module()` to ensure that plugins continue to be called libfoo.so on macOS. See !280.
  • Bugs fixed:
  • !280 meson: Always set G_MODULE_SUFFIX to `so` on macOS
  • !266 subprocess: Fix communicate_cancelled signature
  • !279 Revert "Add a gnet utility" (see !265)
  • !265 Network monitor again
  • !274 gio: Provide schemas directory information in pkg-config file
  • !239 gvariant: Fix more bounds checking in GVariant text format parser
  • !195 garray: add overflow checks before expanding array
  • #1497 g_strdup_printf warns on invalid format specifier with G_GUINT64_FORMAT on Win32
  • !270 autotools: remove support for the __int64 type. See #1313
  • !267 ci: Add an autotools job
  • Translation updates:
  • Czech
  • Galician
  • Indonesian
  • Italian
  • Kazakh
  • Korean
  • Turkish

New in GLib2 2.57.3 (Aug 24, 2018)

  • MinGW-w64 ABI warning: In case you build 64 bit glib without LFS support by passing --disable-largefile (not the default) and use GStatBuf, you need to rebuild your application as the size of GStatBuf has changed for this case. See #1476

New in GLib2 2.56.2 (Aug 17, 2018)

  • Support version 2 of the NetworkMonitor portal interface
  • Bug fixes:
  • 740791 gio: cannot specify the source when joining a multicast group...
  • 755721 g_inotify_file_monitor_start called with nullpointer for dirn...
  • 773435 After g_get_home_dir() fails, a second use deadlocks
  • 793727 Use-after-free in emit_network_changed() of gnetworkmonitorba...
  • 794380 Build failure of gcocoanotificationbackend.c on OS X < 10.9
  • 794801 /network-monitor/add_networks fails if there is a proxy and g...
  • 795138 gobject build failure with gcc

New in GLib2 2.57.2 (Jul 31, 2018)

  • Require pcre 8.31
  • Require meson 0.47.0
  • Bugs fixed:
  • 742456 Add g_steal_pointer() convenience function to mark ownership...
  • 795569 MinGW CI: fix tests
  • 796341 gmem.h: Use typeof() in g_steal_pointer() macro
  • #1013 Support for per-session overrides
  • #1360 glib-mkenums breaks if option specified but no nick
  • #1175 Add names and tags to various GSources and GTasks constructed in GLib
  • #903 g_main_context_wait() not deprecated in API, but emits a g_critical()...
  • #786 Fix memory leaks in libgio tests
  • #927 gio/gresource.c:do_lookup check for terminating "/"
  • #976 Document difference between g_assert() and g_assert_*()...
  • #1447 glib 2.57.1: test_month_names: assertion failed...
  • Translation updates:
  • Friulian
  • German
  • Romanian

New in GLib2 2.56.1 (Apr 23, 2018)

  • Bug fixes:
  • 793400 g_application_id_is_valid() not strict enough
  • 793578 gdatetime tests depend on Japanese translation of month names
  • 793645 test_month_names: Updated translations needed for el_GR, hr_HR, ru_RU
  • 794194 gobject_gdb.py: 'address' is a property of gdb.Value not a function
  • 794473 Remove duplicated option in gio.xml
  • 794506 glib-mkenums: Enters infinite loop if using typedef enum SomeIdentifier
  • 794528 Fix segfault caused by use-after-free in GPollFileMonitor
  • 794606 glib-2.56.0 fails to compile when res_nquery is not available
  • 794686 Date (except weekday) displayed in English
  • Translation updates:
  • Slovak
  • Slovenian
  • Spanish

New in GLib2 2.56.0 (Mar 14, 2018)

  • Bugs fixed:
  • 672777 Error in gdummyfile.c
  • 732184 GObject: warn on use of deprecated properties
  • 733338 Don't segfault in GNetworkMonitor when IPv6 support is unavailable
  • 742124 g_data_input_stream_read_upto()'s documentation should say that the...
  • 749206 GDateTime: month names in the genitive case
  • 768507 simplify qguark functions
  • 791457 Slow transfer rate when writing to smb/cifs
  • 793272 fix GCC 8.0's -Wcast-function-type warnings
  • 793300 g_hash_table_add() return value change in 2.40 not mentioned in docs
  • 793399 Fix some cases of -Wduplicated-branches
  • 793555 -Wimplicit-function-declaration when using g_abort()
  • 793565 GLib does not compile on macOS 10.13 due to .m file naming
  • 793597 gdbus-tool: Make --dest optional for emit again
  • 793635 Enable CI for GLib
  • 793880 gnetworkmonitor: Minor fixes based on code review
  • 793578 gdatetime tests depend on Japanese translation of month names
  • 794180 test_month_names fails unless installed
  • Translation updates:
  • Brazilian Portuguese
  • British English
  • Catalan
  • Czech
  • Danish
  • Dutch
  • Finnish
  • French
  • Friulian
  • Galician
  • German
  • Hungarian
  • Indonesian
  • Italian
  • Kazakh
  • Korean
  • Lithuanian
  • Polish
  • Scottish Gaelic
  • Serbian
  • Serbian Latin
  • Spanish
  • Swedish
  • Turkish

New in GLib2 2.55.2 (Feb 27, 2018)

  • GFile now has API to get the path without copying
  • A network monitor implementation for Windows has been added
  • Bugs fixed:
  • 520116 g_utf8_strlcpy()
  • 584284 g_data_input_stream_read_until_async behaves confusingly different f...
  • 605700 request for g_key_file_get_locale()
  • 658713 ngettext (plural forms) needed for "Message has %d file descriptors ...
  • 685442 windows GNetworkMonitor implementation
  • 723003 gsettings list-recursively reports some keys multiple times
  • 749583 GSequence performance improvements
  • 757284 Move G_DIR_SEPARATOR* and G_SEARCHPATH_SEPARATOR* into glibconfig.h
  • 760324 [PATCH] gkeyfile.c: find_file_in_data_dirs fails to return the path ...
  • 761102 Increase performance for main loop
  • 767976 GFile: Add g_file_peek_path()
  • 770335 gdbus-codegen: generated getter for 'ao' property is actually (trans...
  • 772989 Totem allows invalid urls that might cause segfault that's irrecover...
  • 790698 convert: test failure on NetBSD
  • 791015 gdbus-codegen: Split generation of header and source
  • 791622 Disable strict-aliasing in GLib
  • 792050 GResolver is not thread-safe
  • 792217 Deprecate GTlsClientConnection:use-ssl3
  • 792338 meson, autotools: figure out if mem barrier is needed for arm64 host...
  • 792351 gbookmarkfile: check length before dereferencing groups
  • 792364 gdbus-threading test method-calls-in-thread: assertion failed (elaps...
  • 792370 GNetworkMonitor: Rename "network-changed" signal argument
  • 792410 GDateTime new_from_iso8601 test broken in 2.55 on i386
  • 792432 flush stdout after logging (debug) messages
  • 792455 Improve docs of GSequence
  • 792499 deadlock on startup with TCP session bus
  • 792516 gconvert: More consistent handling of embedded NUL bytes
  • 792777 g_notification_set_urgent() unconditionally sets G_NOTIFICATION_PRIO...
  • 792780 gbytes should reference toplevel bytes when slicing with g_bytes_new...
  • 792856 off64_t isn't a part of C standard
  • 792862 gpollableoutputstream: document side effects of WOULD_BLOCK on D/TLS
  • 792903 Clarification between g_try_.. functions and their counterparts
  • 793006 High CPU load for GUnixMountsMonitor consumers
  • 793026 possible mem leak in g_mutex_impl_new
  • 793074 g_message() does not get -Wformat warnings when compiling with G_LOG...
  • Translation updates:
  • Hungarian
  • Indonesian
  • Polish

New in GLib2 2.55.1 (Jan 21, 2018)

  • Build:
  • The --enable-rebuilds configure option has been removed
  • The --with-charsetalias-dir configure option has been added
  • GList and GSList now have autoptr support
  • The gsettings list-schemas command has gained a --print-paths option
  • Bugs fixed:
  • 346816 Refactor LIBDIR in libcharset Makefile
  • 508976 Does g_slist_sort preserve the order of equal elements?
  • 562334 2.18.2 break libglade on Solaris
  • 662802 systemtap multiarch issue
  • 684282 Add support static link of GIO modules
  • 692034 Install an invalidation notifier for GClosure in g_source_set_closure()
  • 694723 Get rid of REBUILD stuff in configure.ac
  • 697715 floating point precision problem in check test gst/gstvalue
  • 701156 testgobject assumes that the priv data follows the instance data
  • 720380 Segfault when using GDBusMenuModel on a peer-to-peer connection
  • 724383 glib: document restrictions on various foreach() functions
  • 724412 GLib mappedfile.c test uses g_get_user_runtime_dir instead of a tempo...
  • 724794 Fix "on on" typo in tap-driver.sh comment
  • 732003 gnode: Eliminate implicit signed-to-unsigned integer conversion
  • 734479 G_VALUE_HOLDS etc. cause -Wcast-qual warnings for a const GValue *
  • 737677 gmain: Make GSourceCallback thread-safe
  • 741167 gdbus-codegen fix for boxed out parameters
  • 748534 gtest: if a subprocess assertion fails, print its stdout and stderr
  • 749527 add weak pointer helpers similar to g_set_object
  • 749652 compilation errors with gcc 4.8
  • 754634 Update the list of Linux filesystem magic numbers used in get_fs_type
  • 756011 Fix up annotations for GBookmarkFile
  • 761102 Increase performance for main loop
  • 773980 GIR scanner doesn't interpret array type properly
  • 776147 gio/glocalfilemonitor.c doesn't handle case G_FILE_MONITOR_EVENT_MOVE...
  • 776195 -z nodelete configure check does not work on Solaris
  • 777075 Potential leak of memory pointed to by 'list'
  • 779413 Translated X-Geoclue-Reason string not used in a dialog window
  • 780309 gio/tests/appinfo build fails: gdesktopappinfo.c skipped on OS X
  • 780893 Reword licensing header for gdbus-codegen
  • 782057 Unit tests fail in run-assert-msg-test.sh
  • 784995 meson: some Windows improvements
  • 786796 gtk-doc build fails with meson
  • 788806 Impossible to build static glib via meson
  • 788936 Show mime type icons on OS X
  • 790416 g_date_time_format returns empty string on %r with German locale
  • 790588 Generated file missing from .gitignore
  • 790697 g_object_ref API should propagate parameter type
  • 790785 glib-tap: Add missing mkdir for .test generation rule
  • 790829 glib-genmarshal --body must not generate alias implementations
  • 790830 Mismatch between number of interface methods in text and example code
  • 790837 Meson: missing many configure options
  • 790839 GApplication command line: lacks parameter_string, summary and descri...
  • 790877 fix non-portable check in G_GNUC_CHECK_VERSION
  • 790894 Do not connect to the session bus when trying GProxyResolverPortal io...
  • 790896 docs/reference/README has broken link to http://www.gtk.org/rdp/
  • 790914 gdesktopappinfo: Downgrade a warning to a debug message
  • 790934 gtester doesn't handle skipped tests
  • 790948 GSourceFuncs documentation is confusing: when will dispatch be called?
  • 791036 Guard for g_output_stream_vprintf makes no sense
  • 791128 C runtime complains about bad arguments on each g_log() call
  • 791221 po/README.translators has no useful information in 2017
  • 791235 Fix gschema.dtd regarding flags.
  • 791267 Make gschema.dtd usable.
  • 791296 gtester-report: fix range usage when running as python3 app
  • 791318 GBytes: Improve documentation
  • 791325 Gio handling of thumbnail:: attribute namespace causes inconsistent b...
  • 791334 gbinding.c:898: The target object of type GNetworkAddress has no prop...
  • 791337 Crash opening URIs with g_desktop_app_info_launch_uris_with_spawn()
  • 791342 Add autoptr support for lists
  • 791460 meson: fixes for OSX
  • 791532 Implicit declaration of function ‘memcmp’ in gtestutils.h
  • 791622 Disable strict-aliasing in GLib
  • 791720 Criticals in gio/xdp-dbus.h leading to crash under flatpak
  • 791744 gmenumodel test sometimes fails: assertion failed (items_changed_coun...
  • 791745 not immediately clear whether g_test_slow() is in effect by default
  • 791906 GSocketListenerClass.event has wrong signature
  • 792064 gsettings list-schemas --print-paths
  • 792098 Binding: bind_property’s @notify func is nullable
  • 792099 gdbus-test-codegen: Cast to void* to printf "%p"
  • 792129 meson: skip optional linux/unix deps that default to true when buildi...
  • 792322 GLib-GIO:ERROR:gschema-compile.c:51:test_schema: child process (/gsch...
  • 792324 gkeyfile: Document need for KEEP_TRANSLATIONS with get_locale_string()
  • Translation updates:
  • Hebrew
  • Indonesian

New in GLib2 2.54.2 (Oct 29, 2017)

  • Bugs fixed:
  • 780296 Fix a race in gio open
  • Translation updates:
  • Catalan (Valencian)
  • Nepali
  • Slovak
  • Slovenian

New in GLib2 2.54.1 (Oct 25, 2017)

  • Bugs fixed:
  • 786737 No g_variant_get() example for dicts
  • 787551 Factor out some duplicated code in GParamSpec validation
  • 783270 Improve Visual Studio support for Meson builds
  • 783210 build: Switch to sassc for generating style
  • 781867 various gvfsd-* wants to look in /boot/efi, causes unnecessary/inappro...
  • Translation updates:
  • Slovenian

New in GLib2 2.54.0 (Sep 13, 2017)

  • Bugs fixed:
  • 780861 Crash in GnomeWallClock
  • 786983 Please make the output of gio-querymodules deterministic
  • 787109 Valgrind false positive in ioctl() in btrfs file copy
  • 787123 glib: Slighty update GIOChannel documentation
  • 787146 GMainLoop: match of parameter pair of LOCK_CONTEXT/UNLOCK_CONTEXT
  • Translation updates:
  • Basque
  • Catalan
  • Romanian
  • Swedish

New in GLib2 2.53.7 (Sep 7, 2017)

  • Bugs fixed:
  • 736710 remove unnecessary executions of libtool from configure
  • 785260 gio/tests/appmonitor fails if local dir not writeable
  • 786456 g_subprocess_wait[_check]_async() breaks when cancelled...
  • 786555 g_array_free() is not thread safe w.r.t. g_array_unref()
  • 786580 gdesktopappinfo.c: Add Tilix as a fallback terminal
  • 786807 g_uuid_string_random undefined when built with meson
  • Translation updates:
  • Brazilian Portuguese
  • Catalan
  • Czech
  • Danish
  • Finnish
  • French
  • Friulian
  • German
  • Italian
  • Kazakh
  • Korean
  • Latvian
  • Nepali
  • Polish
  • Spanish
  • Turkish

New in GLib2 2.53.4 (Jul 20, 2017)

  • Unicode support has been updated to Unicode 10.0.0
  • glib-genmarshal and glib-mkenums have been rewritten in python. Every effort has been made to keep compatibility. Please report problems related to these tools
  • GLib can now be built with meson. autotools are still supported
  • Bugs fixed:
  • 722047 drop makefile.msc?
  • 733821 g_strerror() uses strerror(3) instead of strerror_r(3)
  • 773842 g_utf8_find_next_char() won't signal the end of a NUL-terminated string
  • 779332 Rewrite mkenums in Python
  • 780095 g_utf8_get_char_validated() stopping at nul byte even for length specified...
  • 780634 Remove remaining old codepage ABI comapt code
  • 783841 test_GDateTime_new_from_timeval_overflow fails on 32 bit systems
  • 784000 Improve strerror_r() detection
  • 784020 GKeyFile – Add array length annotations to to_data(), get_keys() and get_g...
  • 784037 gio: Mention the ALL_METADATA flag in g_file_copy()
  • 784433 gdbus-codegen with variant type parameters result in nested variant
  • 784456 Update to Unicode 10.0.0
  • 784528 Rewrite glib-genmarshal in Python
  • 784579 Calling g_dir_open on Missing Directory When Executable File Path Contains...
  • 784581 docs: Fix cut'n'paste error in g_resources_get_info() doc
  • 784739 Minor typo in configure error message
  • 784792 Just fixing a little typo in comments
  • Translation updates:
  • Hebrew

New in GLib2 2.53.3 (Jun 24, 2017)

  • Bugs fixed:
  • 658446 Add translation comment for wrong password notice string
  • 661926 Improve the default logging setup in GLib
  • 674885 type initialisation deadlock in GObject
  • 775593 GIO cannot write symlinks on FreeBSD and NetBSD
  • 776169 Various gio-tool fixes
  • 776333 Fix annotation on g_file_copy_async()
  • 776504 Upgrade license from LGPLv2+ to LGPLv2.1+
  • 777307 race condition between gdbus signal callback and g_bus_unwatch_name...
  • 778422 gsubprocesslauncher: Clarify the behavior of set_environ()
  • 781301 Stack pointer corrupted by incorrect call of NtNotifyChangeMultipleKeys
  • 782336 Add additional documentation of the GResource XML format
  • 782996 build: Use AM_TESTS_ENVIRONMENT rather than TESTS_ENVIRONMENT
  • 783061 GApplication: Remove some unused members
  • 783130 Make dbus activation sandbox-aware
  • 783193 Adapt to OpenURI api change
  • 783201 gdbus-codegen: Apply --output-directory to generated docs as well
  • 783340 win32: port monotonic times to use QPC
  • 783350 length parameter can be NULL g_data_input_stream_read_line
  • 783392 incorrect (out) annotation for g_dbus_interface_info_generate_xml
  • 783593 GGtkNotificationBackend should use /org/freedesktop/DBus to call Ge...
  • Translation updates:
  • Esperanto
  • German
  • Indonesian
  • Kazakh
  • Spanish

New in GLib2 2.52.3 (Jun 24, 2017)

  • Bug fixes:
  • 781301 Stack pointer corrupted by incorrect call of NtNotifyChangeMultipleKeys
  • 781601 Race in g_dbus_server_stop causing spurious GDBus test failures
  • 781867 various gvfsd-* wants to look in /boot/efi, causes unnecessary/inappropriate...
  • 783130 Make dbus activation sandbox-aware
  • 783193 Adapt to OpenURI api change
  • 783201 gdbus-codegen: Apply --output-directory to generated docs as well

New in GLib2 2.53.2 (May 24, 2017)

  • A few new number parsing functions have been added:
  • g_ascii_string_to_signed
  • g_ascii_string_to_unsigned
  • These have better error handling than the existing ones.
  • glib-mkenums now supports /*< private >*/ and /*< public >*/
  • GSettings now consider XDG_DATA_HOME in addition to XDG_DATA_DIRS.
  • Bugs fixed:
  • 674885 type initialisation deadlock in GObject
  • 698064 Add g_ptr_array_contains()
  • 732000 gdatetime: Remove an unnecessary NULL pointer check
  • 734946 Implement GContentType on OSX
  • 741335 Possible differences in use of XDG_DATA_DIRS versus XDG base directory specification
  • 748263 Use-after-free in g_dbus_connection_call_internal()
  • 776876 gmodule – Various Android bug-fixes
  • 777030 build error where minor() and major() cant be resolved in gio/gdbusmessage.c
  • 780300 gio/gosxappinfo.c uses deprecated LSFindApplicationForInfo
  • 780309 gio/tests/appinfo build fails: gdesktopappinfo.c skipped on OS X
  • 781755 Avoid compiler warnings in generated marshallers code
  • 781826 portal support: Read /.flatpak-info
  • 781830 Fix some typos and errors in GVariant documentation
  • 781847 Use-after-free under send_message_with_reply_cleanup():gdbusconnection.c:1792
  • 781867 various gvfsd-wants to look in /boot/efi, causes unnecessary/inappropriate auto...
  • 782068 doc: Trivial typo fixes
  • 782075 gtimer: Handle gmtime() failure in g_time_val_to_iso8601()
  • 782089 gdatetime: Fix overflow checks when constructing from timestamps
  • 782162 Support public/private trigraph in glib-mkenums
  • 782237 make check error
  • 782311 inode/directory is treated as a subclass of application/octet-stream
  • 782628 libmount build dependency check not requiring the right version?
  • Translation updates:
  • Hungarian
  • Indonesian
  • Spanish

New in GLib2 2.52.2 (May 8, 2017)

  • Bug fixes:
  • 734946 Implement GContentType on OSX
  • 761102 Increase performance for main loop
  • 780300 gio/gosxappinfo.c uses deprecated LSFindApplicationForInfo
  • 780309 gio/tests/appinfo build fails: gdesktopappinfo.c skipped on OS X
  • 781298 gfileutils.c:330:3: error: ISO C90 forbids mixed declarations and code
  • Translation updates:
  • Indonesian

New in GLib2 2.52.0 (Mar 28, 2017)

  • Bug fixes:
  • 779799 gdatetime test fails with tzdata 2017a
  • 780032 Add missing attributes to two functions
  • 780144 gio/fam: Remove leftover debug print
  • Translation updates:
  • French
  • Friulian
  • Latvian

New in GLib2 2.50.3 (Feb 13, 2017)

  • Bugs fixed:
  • 775309 Crash in gdbusauth
  • 775468 Improve log write supports color method on windows
  • 775517 Password input is echoed in the terminal
  • 775765 FDO notification withdrawal backend sends wrong ID to the server
  • Translation updates:
  • Simplified Chinese

New in GLib2 2.51.2 (Feb 13, 2017)

  • Minimal support for UUIDs has been added
  • A new file attribute, G_FILE_ATTRIBUTE_RECENT_MODIFIED has been added to improve sorting of recent files
  • Bugs fixed:
  • 639078 UUID support feature request
  • 777135 gkeyfile: Be more specific about error codes in documentation
  • 777307 race condition between gdbus signal callback and g_bus_unwatch_name...
  • 777481 goutputstream: docs: fix typos
  • 777493 g_mkdtemp() not introspectable
  • 777507 Recent view sorting incorrectly
  • 777592 Add minor examples to GDBus and GVariant documentation
  • 778002 race in gdbusprivate.c detected by the ThreadSanitizer
  • 778096 race in gdbusconnection reported by TSan
  • Translation updates:
  • Norwegian bokmål
  • Polish
  • Simplified Chinese
  • Slovak
  • Spanish
  • Swedish

New in GLib2 2.51.1 (Jan 25, 2017)

  • glib-compile-resources grew a --generate-phony-targets flag
  • GLib now installs a valgrind suppressions file for GLib and GIO
  • Bugs fixed:
  • 666114 should have infrastructure to run its tests under valgrind
  • 729730 GDBusMessage: Fix segfault if DEBUG_SERIALIZER is enabled
  • 730932 statically assert that reasonable assumptions about enums are true
  • 735731 gobject: Document behaviour of GType checking macros on NULL
  • 736810 gdbus: Fix leak in g_dbus_message_print()
  • 762283 GSocket – Fix race conditions on Win32 if multiple threads are waiting on cond...
  • 767609 Test suite problems
  • 767952 g_dbus_method_invocation_return_*, g_dbus_method_invocation_take_error: They d...
  • 769672 Assert threads for testcase 642026 are sucessfully created
  • 769745 gtask: Add guards for public functions
  • 770175 Add command line argument to mkenums and genmarshal to write output to a file
  • 770646 glib: Namespace global tapset variables by soname
  • 772160 Add g_unix_mount_for() support
  • 772989 Totem allows invalid urls that might cause segfault that's irrecoverable
  • 773823 gio: Bump copy buffer size to 256k by default
  • 774086 fix g_main_context_check declaration
  • 774368 Dependency file output of resource scanner breaks Ninja
  • 774421 Two minor patches
  • 774520 GSocket allocates and processes control messages even if not requested
  • 775309 Crash in gdbusauth
  • 775468 Improve log write supports color method on windows
  • 775510 testing with -fsanitize=undefined reports various undefined behaviour
  • 775517 Password input is echoed in the terminal
  • 775621 gmessages: Fix compilation on Android
  • 775765 FDO notification withdrawal backend sends wrong ID to the server
  • 775913 subprocesslauncher: potential infinite loop in verify_disposition()
  • 776198 Stray semicolon after g_variant_print() function in gvariant.c
  • 776586 License headers cleanup
  • 777077 Use of memory after it is freed
  • Translation updates:
  • Brazilian Portuguese
  • Czech
  • Galician
  • German
  • Hebrew
  • Kazakh
  • Lithuanian
  • Spanish
  • Swedish

New in GLib2 2.50.2 (Nov 7, 2016)

  • Bugs fixed:
  • 767882 Bit shift overflow (-Wshift-overflow) warning in gparam.h
  • 769135 External control for g_test_add/g_test_run
  • 769630 gfile: G_FILE_MONITOR_WATCH_MOVES was actually introduced in 2.46
  • 772054 Patch for glib/gspawn-win32-helper.c: unexpected behavior re CommandLineToArgvW()
  • 773303 GApplication leaks option_strings
  • 773344 glib-compile-resources: Fix creating depfile with other targets
  • Translation updates:
  • French
  • Galician
  • German
  • Lithuanian
  • Norwegian bokmål
  • Occitan
  • Serbian
  • Slovak

New in GLib2 2.51.0 (Oct 29, 2016)

  • glib-genmarshal and glib-mkenums have gained --output options for better build system integration
  • New API: g_utf8_make_valid
  • Bugs fixed:
  • 591603 Make _g_utf8_make_valid public
  • 610969 Nice to have g_utf8_make_valid as public
  • 767882 Bit shift overflow (-Wshift-overflow) warning in gparam.h
  • 769135 External control for g_test_add/g_test_run
  • 769630 gfile: G_FILE_MONITOR_WATCH_MOVES was actually introduced in 2.46
  • 772160 Add g_unix_mount_for() support
  • 772221 Take advantage of Unicode
  • 773303 GApplication leaks option_strings
  • Translation updates:
  • French
  • Galician
  • German
  • Hungarian
  • Lithuanian
  • Norwegian bokmål
  • Occitan
  • Polish
  • Slovak
  • Turkish

New in GLib2 2.50.0 (Sep 24, 2016)

  • Bugs fixed:
  • 771438 Turn on libmount by default on linux
  • Fix the annotation for g_log_variant
  • Translation updates:
  • British English
  • French

New in GLib2 2.49.6 (Aug 31, 2016)

  • The gsettings commandline tool now has a describe command
  • Bugs fixed:
  • 745754 Add gcc-style dependency output to glib-compile-resources
  • 769076 Fix warning: attempt to override closure->va_marshal with new marshal
  • 770372 gdbus-codegen: Strip @since parameters before comparison
  • Translation updates:
  • Brazilian Portuguese
  • Czech
  • German
  • Hungarian
  • Polish
  • Portuguese
  • Spanish

New in GLib2 2.49.4 (Jul 27, 2016)

  • Change the just-introduced structured logging API. The arguments of g_log_structured() had to be reordered to enable an implementation within the limits of what the standards guarantee about var args.
  • Bugs fixed:
  • 744456 Structured logging API
  • 768936 gio doc build fails because of missing gio.xml in the tarballs
  • 768963 improper va_list use in g_log_structured()
  • 768968 gio/tests/socket-listener hangs since e4ee307
  • Translation updates:
  • Spanish

New in GLib2 2.49.2 (Jun 23, 2016)

  • GMainContext and GTask have gained more systemtap probes
  • Bugs fixed:
  • 673101 resource compiler dependency generation not working for gen...
  • 700756 GFile.new_for_path arguments misses (type filename) annotation
  • 730187 glocalfileoutputstream: Fix an FD leak in an error path
  • 755439 Memory leak in gdbusproxy.c
  • 759813 Add more SystemTap/DTrace probes for main context and GTask
  • 761810 gio: Support using GDBusObjectManagerServer at path ‘/’
  • 767172 docs: Move GIO_USE_VFS to "okay for production" section
  • 767218 Remove a UTF-8 ellipsis from gsignal.h
  • 767245 Add filename type annotations
  • 767824 Some UTC timezones incorrectly recognized on Windows 7
  • Translation updates:
  • Occitan

New in GLib2 2.47.4 (Dec 18, 2015)

  • The GApplication documentation has been improved in several areas.
  • Bugs fixed:
  • 749092 gdb pretty-printers fail on Python 3 with a TypeError...
  • 757374 macros: clean up "inline" mess
  • 758641 Memory leak in g_dbus_proxy_new_for_bus_sync()
  • 759134 Add missing checks for gnulib vasnprintf()
  • 759408 Do not use uninitialized var
  • 756475 Stop supporting non-POSIX getpwuid_r, getgrgid_r
  • 757372 GApplication: destroy the impl on shutdown
  • 728099 macros: add G_GNUC_CHECK_VERSION() for compiler checks
  • 757299 glib-compile-resources: do not leak c_name
  • 758553 Fix gettext use
  • 758823 file monitors: reorder some code to avoid segfault
  • 756214 gsettings: Don't translate ""
  • 710243 Add GParamSpec object ref management annotations
  • 735696 xdgmime: Finer handling for cases where mmap() is not available
  • 752983 gapplication: Acquire the main context before running
  • Translation updates:
  • Swedish

New in GLib2 2.47.3 (Nov 27, 2015)

  • The inline cleanup in the last release accidentally removed three symbols from libglib-2.0.so. It is unlikely that this will have caused any problems because these symbols were only backup symbols for definitions exported as inlines in the header files, but ABI is ABI. This release corrects only this problem.

New in GLib2 2.46.2 (Nov 8, 2015)

  • Varioius small fixes, with a focus on win32
  • The docs should now be complete when doing non-srcdir builds
  • Bugs fixed:
  • 687223 cleverer GThreadPool management
  • 754983 Wayland: g_desktop_app_info_launch_uris_with_spawn() forces DISPLAY variable to Wayland display
  • 754994 g_date_time_get_second () sometimes returns an off-by-one result
  • 755609 glib 2.46.0 breaks Sun Java JVM 1.8.0.60
  • 756179 gwin32.c: Replace VerifyVersionInfoW() with RtlGetVersion() due to API deprecation
  • 756382 snprintf used on Windows with VS2015 doesn't support %n
  • 757628 gio tests fail to build when cross compiling 2.46.1

New in GLib2 2.45.6 (Aug 20, 2015)

  • Fix a test failure and a build failure

New in GLib2 2.45.4 (Jul 21, 2015)

  • Bugs fixed:
  • 727829 win32: glibconfig.h.win32 updates
  • 741901 Clang cannot know that g_error don't return
  • 746339 GSocket kills process when fd is not a socket
  • 747676 gio/tests/socket fails: test_fd_roundtrip
  • 748610 Some tests fail with non-English locales
  • 749911 g_inet_address_to_string broken on XP/2003
  • 749912 g_inet_address_new_from_string broken on XP/2003
  • 750625 Should dismiss Software Updates Available notification after...
  • 750807 G_BREAKPOINT doesn't work as intended on Darwin
  • 751160 gtask does unnecessary work
  • 751672 -Wduplicate-decl-specifier in glib/tests/keyfile.c
  • 751731 GFile/DirectoryMonitor emit move events with other_file=NULL
  • 751737 gio/tests/appmonitor test fails in 2.45.3
  • 751798 Wrong enum type used in some test-cases
  • 752089 make gsocketservice::active a property
  • 752293 small cleanup: use list_free_full
  • Translation updates:
  • Greek
  • Hebrew
  • Portuguese

New in GLib2 2.45.3 (Jun 24, 2015)

  • Improve performance of g_signal_handler_disconnect for signals with many handlers
  • GDBus has gained a new call flag to allow interactive authorization
  • GSettings:
  • New API: g_settings_schema_list_keys
  • Deprecated: g_settings_list_keys
  • OS X:
  • Implement GNotification
  • Bump the OS X requirement to 10.9
  • Windows:
  • Add registry reading API
  • Reimplement GAppInfo using registry information
  • Bugs fixed:
  • 666831 Support URI opening on W32
  • 728489 property action with inverted boolean state
  • 730168 Incorrect annotation on g_action_group_get_action_state_type return...
  • 733325 Several regex tests fail with pcre3 8.35
  • 734888 GLib has no helper functions to work with W32 Registry
  • 737009 signal handler lookup doesn't scale
  • 738185 Misleading language about "file name encoding" in the docs on g_env...
  • 738504 Optimize UTF-8 decoding by unrolling branches and expressions
  • 739122 glib not handling -1 return ("no limit") from sysconf (_SC_THREAD_S...
  • 739424 gnome-shell crashes when files are added, deleted, or modified in $...
  • 739616 DBus; Add new call flag to allow interactive authorization
  • 740308 Add g_settings_schema_list_keys() method
  • 740516 RFE: please provide an introspectible version of g_log_set_handler
  • 741788 Document GSettings build system integration
  • 745013 GBinding not thread safe
  • 747146 Implement GNotification on OSX
  • 747941 try XDG_RUNTIME_DIR/bus before falling back to X11 autolaunch (dbus...
  • 748727 Filechooser dialog shows no icons for directories on W32
  • 749693 GActionGroupExporter: flush queue on requests
  • 750203 GNetworkMonitorNetlink hangs in user namespace
  • 750322 gapplication: Make sure --help output is translated
  • 750344 GTlsInteractionClass is missing from doc
  • 750369 Various GBinding cleanups
  • 750386 Race condition in g_io_condition_get_type
  • 750399 Typo "equilalent" in glib documentation's glib-Error-Reporting.html...
  • 750573 GTlsDatabaseClass is not documented
  • 750918 genmarshal: silence register storage class warnings
  • 751122 gsocket: avoid unnecessary g_socket_cond_wait() in _send_messages()
  • 479730 The "g_key_file_set_comment" interface prepends '#' character to...
  • Translation updates:
  • Hungarian
  • Spanish

New in GLib2 2.45.1 (May 15, 2015)

  • The GSettings schema compiler, glib-compile-schemas has been changed to reject schema xml that has duplicate or elements. Such elements typically occur when translations are merged into the schema, with xml:lang attributes. This is not the correct way to translate schemas. Instead keep the translations in the .mo file and set the gettext-domain attribute on the element.
  • The file monitoring infrastructure has been rewritten, and all backends have seen major improvements.
  • The inotify backend is reporting events with less delay (no event will be delayed more than 10ms) and wakeups due to file monitoring have been significantly reduced. A CHANGES_DONE event will also be sent when new files appear.
  • The poll implementation is now using the thread default main context.
  • The fam implmentation is now running in the worker thread.
  • The fen implementation has been removed, since it was unmaintained.
  • The GSettings schema compiler, glib-compile-schemas, is more strict about rejecting schemas with xml:lang style merged translations. Schema translations should be done by specifying the gettext domain in the xml, and keeping the translations in gettext. To avoid breaking already-installed schemas, this change is only taking effect when you use the --strict option.
  • The hardcoded 10-thread limit of GTask's thread pool has been removed, since it was prone to causing deadlocks. The thread pool is now allowed to grow dynamically and will shrink back over time.
  • GSimpleAsyncResult has been deprecated in favor of GTask.
  • The algorithm used by GAppInfo to find default handlers for mime types has been tweaked to prefer apps that handle the specific subtype over default handlers for a generic supertype.
  • Bug fixes:
  • 627285 inotify file monitor hardwired delay
  • 631597 Segmentation fault in append_escaped_text
  • 661767 merge/improve various bits of run-in-thread functionality
  • 687223 cleverer GThreadPool management
  • 711547 win32: silence some build warnings
  • 719966 glib: Add missing (nullable) and (optional) annotations
  • 726447 Possibly an error in text string
  • 728663 W32: wrong stat struct is used when built with MinGW-w64
  • 728669 W32: GLocalFile can't measure size of files larger than 2^32...

New in GLib2 2.44.0 (Mar 24, 2015)

  • Bugs fixed:
  • 730188 gsocket: Document FD ownership with g_socket_new_from_fd()
  • Translations updated:
  • Basque language
  • Brazilian Portuguese
  • Chinese (Taiwan)
  • Danish
  • Galician s
  • Hebrew
  • Indonesian
  • Norwegian bokmÃ¥l
  • Turkish

New in GLib2 2.44.0 RC (Mar 20, 2015)

  • GUnixMountMonitor now properly supports multiple main contexts
  • many documentation improvements and cleanups. We are now approaching a point where the documentation is 100% complete and the xml will build without warnings. This will probably be enabled by default in the next cycle.
  • new support for HTTP proxies in GIO
  • new GTask:completed property
  • use "private" futexes in order to further improve the performance of the contended case of GMutex and g_bit_lock()
  • Bugs fixed:
  • 614684 Make various parts of GObject const-correct
  • 730352 Use inet_pton(), if_nametoindex() and if_indextoname() for newer versions of Windows
  • 733876 Proxy protocol 'http' is not supported.
  • 741442 threads: use FUTEX_WAIT_PRIVATE and FUTEX_WAKE_PRIVATE if possible
  • 742599 Clean up GUnixMountMonitor
  • 743636 gtask: Add a GTask:completed property
  • 743661 g_win32_check_windows_version() is missing from doc
  • 744722 docs: Expand introduction to mention using async calls over sync ones
  • 745589 [Patch] gio: add some missing autocleanup
  • 745634 [GNotifications] Use themed icon as icon-name
  • Translations updated:
  • Bosnian
  • Bulgarian
  • Catalan
  • Czech
  • French
  • German
  • Greek
  • Hungarian
  • Italian
  • Kazakh
  • Korean
  • Latvian
  • Lithuanian
  • POTFILESin
  • Polish
  • Russian
  • Serbian
  • Slovak
  • Slovenian
  • Spanish
  • Swedish
  • Vietnamese
  • pa for Gnome

New in GLib2 2.44.0 Beta 2 (Mar 15, 2015)

  • We have now added 'g_autofree' as a libgsystem-style autocleanup macro that calls g_free() on the content of a local variable when it leaves scope (working only on GCC and clang).
  • GApplication now has an "is-busy" property, allowing one to query the effective busy state.
  • There have been various other bugfixes and cleanups.
  • Bugs fixed:
  • 661554 GIO's use of GError is wrong
  • 744263 Fix format specifier for __LINE__ in G_OBJECT_WARN_INVALID_PSPEC
  • 744565 gapplication: add bind_busy_property()
  • 744747 Add g_autofree
  • 744756 Can't find out if gapplication is marked as busy
  • 744830 autocleanups: Add GArray and GPtrArray
  • 744876 Unclean exit from from g_application_run
  • 745239 g_property_action_new missing type annotation
  • Translations updated:
  • Chinese (Taiwan)
  • French
  • Galician
  • Lithuanian
  • Slovak

New in GLib2 2.42.2 (Feb 28, 2015)

  • Bugs fixed:
  • 712570 Hang in g_threaded_socket_service_func
  • 719455 g_file_make_directory_with_parents() can erroneously throw...
  • 727829 win32: glibconfig.h.win32 updates
  • 734946 Implement GContentType on OSX
  • 741024 glist: Mention that g_list_length() is bad for checking li...
  • 741654 [patch] gobject: don't use G_STRLOC in G_OBJECT_WARN_INVAL...
  • 741788 Document GSettings build system integration
  • 741807 Add thread name support on OS X and iOS
  • 742851 avoid MSVC warnings in G_STMT_END
  • 743508 polkitd fails to start: patch for gio/gcredentialsprivate.h
  • 743936 handle unsigned modifier for long long in internal printf
  • Translation updates:
  • Swedish

New in GLib2 2.44.0 Beta 1 (Feb 19, 2015)

  • new GSimpleIOStream class to construct a GIOStream from an arbitrary GInputStream and GOutputStream
  • GApplication: new API for marking 'busy' state according to the value of a boolean property on another object
  • GOptionGroup: add binding support (boxed type, annotation fixes, etc.)
  • Bugs fixed:
  • 739724 Test functions should have async scope
  • 741024 glist: Mention that g_list_length() is bad for checking list emptiness
  • 741630 Add GSimpleIOStream class
  • 743349 goption: Add boxed type for GOptionGroup
  • 743990 GDBus connection closing is broken
  • 744565 gapplication: add bind_busy_property()
  • Translations updated:
  • Greek
  • Italian
  • Norwegian bokmÃ¥l
  • Russian
  • Slovenian
  • Swedish

New in GLib2 2.43.4 (Feb 11, 2015)

  • GType now has type declaration macros G_DECLARE_DERIVABLE_TYPE, G_DECLARE_FINAL_TYPE and G_DECLARE_INTERFACE, which significantly reduce the boilerplate needed for GObject types and interfaces.
  • g_autoptr and g_auto are macros for declaring variables with automatic cleanup. They only work with gcc and clang.
  • GListModel is a new interface that represents a dynamic list of GObjects.
  • GListStore is a GSequence-based implementation of GListModel.
  • Support thread names on OS X
  • g_simple_action_set_state_hint: New function to set the state hint of GSimpleActions
  • g_win32_check_windows_version: New function to check Windows version
  • g_settings_schema_list_children and g_settings_schema_key_get_name are new functions to complete the GSettingsSchema API.
  • Bugs fixed:
  • 389585 G_DEFINE_TYPE hack for header files
  • 729351 Add GListModel
  • 736914 Docs: various fixes and improvements
  • 741807 Add thread name support on OS X and iOS
  • 741895 gwin32: Add Simple API to check whether we are on at least a v...
  • 742456 object: Add g_steal_pointer() convenience function to mark own...
  • 743508 polkitd fails to start: patch for gio/gcredentialsprivate.h
  • 743517 GSettings API is missing some introspection functions
  • 743521 GSimpleAction: add g_simple_action_set_state_hint
  • 743596 G_DECLARE_DERIVABLE_TYPE() should allow additional typedef for...
  • 743640 add __attribute__((cleanup)) support
  • 743827 Fix build of GListModel (on Visual Studio)
  • 743927 GListStore: add sorted insert function
  • 743936 glib: handle unsigned modifier for long long in internal printf
  • 744012 Add GMutexLocker
  • 744190 Fix build on Compilers That Do Not Use inline for Plain C Code

New in GLib2 2.43.3 (Jan 20, 2015)

  • add g_set_object() convenience function
  • GNetworkMonitor: check if NM is not running and don't crash
  • fix some races with g_mkdir_with_parents
  • fix some warnings in MSVC
  • avoid use of G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC in order to save on static strings
  • fix some content type vs. mime issues
  • documentation improvements
  • Bugs fixed:
  • 719455 g_file_make_directory_with_parents() can erroneously throw G_IO_ERROR_EXISTS
  • 732439 GSocket: avoid unnecessary g_socket_wait_condition() for blocking sockets
  • 734946 Implement GContentType on OSX
  • 741589 gobject: Add g_set_object() convenience function to set GObject pointers
  • 741653 gnetworkmonitornm: Check if network-manager is running
  • 741654 [patch] gobject: don't use G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC() macro
  • 741707 Gsocket blocks trying to send data
  • 741788 Document GSettings build system integration
  • 742548 configure.ac: stay out of autoconf's namespace
  • 742851 avoid MSVC warnings in G_STMT_END
  • 742972 ggettext: Include an example of setlocale() and friends in the i18n docs
  • 743014 gtestutils: Add an example of using test fixtures
  • Translations updated:
  • Basque
  • Brazilian Portuguese
  • Spanish