Opened 20 months ago

Closed 19 months ago

Last modified 19 months ago

#17061 closed enhancement (fixed)

glib-2.74.0

Reported by: Douglas R. Reno Owned by: Bruce Dubbs
Priority: normal Milestone: 11.3
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

New minor version

Change History (6)

comment:1 by Xi Ruoyao, 20 months ago

One significant change in this release is glib now depends on pcre2, instead of pcre.

comment:2 by Xi Ruoyao, 20 months ago

Testsuite needs LC_ALL=C or glib / spawn-test fails (with LANG=zh_CN.UTF-8 on my system).

Reported as https://gitlab.gnome.org/GNOME/glib/-/issues/2754.

Last edited 20 months ago by Xi Ruoyao (previous) (diff)

comment:3 by Bruce Dubbs, 19 months ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:4 by Bruce Dubbs, 19 months ago

Overview of changes in GLib 2.74.0, 17-09-2022

  • Use EPOLL_CLOEXEC by default
  • Fixed various regression on GRegex as per the PCRE2 porting
  • Fixed various memory leaks
  • Bugs fixed:
    • GNOME/gtksourceview#278 Failed to load html.lang after GLib switched to PCRE2
    • GNOME/gtksourceview#283 GRegex-on-PCRE2 regressions
    • #2688 Follow-up from "replace pcre1 with pcre2"
    • #2713 static_assert is undefined in C99
    • #2719 GParamSpec constructors should have nullable annotation on nick/blurb
    • #2729 GRegex/GMatchInfo related crashes after upgrade to 2.73.2
    • #2733 gio: GVariantBuilder builder leaked in g_document_portal_add_documents when URI list is empty
    • #2737 gio mount coredumps on prompt exit since 2.73
    • #2741 Memory errors on GRegex
    • GNOME/gtk#4400 gtk_show_uri can't open browser on MSYS2 on Windows
    • !2820 ci: Expose the coverage report and docs as links in the MR's
    • !2855 gtlscertificate: Update reference to G_TLS_CERTIFICATE_NO_FLAGS
    • !2861 mem: Document OOM behavior for allocations
    • !2868 gio-unix: Use EPOLL_CLOEXEC by default
    • !2873 Fix array-bounds compiler warnings with GCC 12
    • !2874 tests, GDesktopAppInfo: Fix various GVariant leaks
    • !2875 g_strsplit: Use a pre-allocated GArray when max_tokens is provided
    • !2876 GActionGroup: Fix ownership transfer annotation for query_action()
    • !2879 gioenumtypes: Only define GLIB_DISABLE_DEPRECATION_WARNINGS if needed
    • !2881 GWin32AppInfo: Add missing g_spawn_close_pid
    • !2882 meson: Set install_tag on all tools
    • !2883 ci: Improve style check script
    • !2900 docs: Improve wording in documentation of g_unix_signal_source_new()
  • Translation updates

comment:5 by Bruce Dubbs, 19 months ago

Resolution: fixed
Status: assignedclosed

Fixed at commits

25ce227d3b Update to glib-2.74.0.
71b368b9cb Update to gobject-introspection-1.74.0.

comment:6 by Douglas R. Reno, 19 months ago

2.73.1

Overview of changes in GLib 2.73.1
==================================

* Remove the `-Diconv` configure option, as GLib now uses Meson’s built-in logic for
  finding which iconv implementation to use (work by Eli Schwartz) (!2734)

* Move gvdb to a Meson subproject and git submodule to avoid duplicating its
  source (work by Philip Withnall) (!2733)

* Add `add_test_setup()` in Meson to allow GLib tests to be run under valgrind
  with correct settings easily, using `meson test --setup=valgrind` (work by
  Philip Withnall) (!2752)

* Fix deadlocks when disposing non-cancelled inotify `GFileMonitor`s (work by
  Benjamin Berg) (#1941)

* Fix `file://` requests in webkit2gtk due to incorrect xdgmime update (work by
  Stephen Jung, Michael Catanzaro, Philip Withnall) (#2639)

* Fix build errors on macOS ≤10.7 for `LOCAL_PEERPID` (work by Christopher Nielsen) (!2707)

* Add new `g_atomic_int_exchange()` and `g_atomic_pointer_exchange()` APIs (work
  by Marco Trevisan) (!2726)

* Add new `GListStore:n-items` property to allow easy binding in UIs (work by
  Benjamin Otte) (!2738)

* Performance improvements for GObject construction and destruction (work by
  Matthias Clasen) (#2661, #2665, #2666, !2678, !2700, !2705, !2712, !2713,
  !2714, !2715, !2716, !2721, !2722, !2723, !2724, !2725, !2756)

* Use a numeric space (U+2007) for padding with some `g_date_time_format()`
  placeholders (work by Maksym Hazevych) (#2655)

* Fix a slow memory leak in `GSocketClient` when using long-lived `GCancellable`s
  (work by Jens Georg) (#2670)

* Bugs fixed:
 - #1941 disposing a non-cancelled inotify GFileMonitor causes deadlocks
 - #2639 xdgmime update breaks webkit2gtk file:// requests
 - #2655 Use the numeric space for the DateTime.format()'s `\%l` specifier
 - #2656 2.73.0: test suite is failing in `glib:gobject / object` unit
 - #2661 Speeding up type checks for final types (commit 0ddea2d8e) breaks C++ bindings
 - #2665 GObject speed up causes gtk3 apps to crash :(
 - #2666 GObject speedup causes warnings with custom constructors
 - #2670 Growing memory when using cancellable in g_socket_client_connect_async
 - !2670 docs: Add a backports policy
 - !2678 Speed up property lookup
 - !2681 docs: Add a roadmap policy
 - !2692 tests: Drop redundant collate test data files
 - !2694 Restore macOS CI
 - !2696 Move tests/gobject/testgobject.c to gobject/tests/basics-gobject.c
 - !2697 Delete tests/gobject/timeloop-closure.c
 - !2700 gtype: Speed up type checks for final types
 - !2701 gsocketaddressenumerator: add nullable annotation to the result of `next`
 - !2702 tests: Fix a potential race condition in pollable test
 - !2704 tests: Remove various bits of overly-verbose test output
 - !2705 gobject: Drop an unused quark
 - !2707 credentials: macos: check for existence of LOCAL_PEERPID
 - !2710 ci: Try reducing FD soft limit to fix valgrind tests
 - !2711 tests: Various small test fixes for valgrind
 - !2712 Improve the GObject performance test
 - !2713 Simplify g_object_new_with_properties
 - !2714 Simplify g_object_notify_by_pspec
 - !2715 Don't inline deprecation warnings
 - !2716 Don't copy values in g_object_new
 - !2719 Add nullable annotation to return value of `g_variant_dict_lookup_value`.
 - !2721 Avoid g_object_ref/unref in some cases
 - !2722 Avoid g_param_spec_get_redirect_target
 - !2723 Avoid g_type_class_peek
 - !2724 gobject: Avoid redundant atomics
 - !2725 Keep a separate flag for notify handlers
 - !2726 gatomic: Add APIs to perform atomic int / pointer exchanges
 - !2729 tests: Reduce number of threads in once test under valgrind
 - !2730 garray: Fix NULL-termination of GPtrArray copies
 - !2731 tests: Various static analysis fixes
 - !2732 gobject: Sink floating pspecs if adding them to a class fails
 - !2733 build: Move gvdb to a subproject
 - !2734 meson: simplify iconv/intl lookups using Meson's builtin dependency lookup
 - !2735 tests: Move GObject performance tests to gobject/tests/performance/
 - !2738 liststore: add n-items property
 - !2739 gobject-query: Minor cleanups and add unit tests
 - !2740 gbinding: Remove some duplicated code for checking property names and improve tests slightly
 - !2747 gobject: Change GObject notify semantics under static analysis
 - !2751 glib-unix: Mark GLib.unix_open_pipe fds input array as fixed-size
 - !2752 build: Use add_test_setup() to allow tests to be run under valgrind
 - !2753 xdgmime: fix double free
 - !2754 docs: Add Marco Trevisan as a co-maintainer
 - !2756 gobject: Fix crash when disposing a GtkAccelGroup
 - !2758 gio: Don't bundle gtrace in static builds
 - !2761 gtlscertificate: Hold a ref on the root certificate when building chains
 - !2762 gsignal: Change signal instance ref semantics under static analysis

* Translation updates:

2.73.2

Overview of changes in GLib 2.73.2, 12-07-2022
==============================================

* Replace PCRE1 with PCRE2: This is a major change to drop the libpcre1
  dependency and use libpcre2 instead, while preserving the behaviour and API of
  GRegex. G_REGEX_OPTIMIZE and G_REGEX_JAVASCRIPT_COMPAT are now deprecated
  and became a no-op, while other flags are adapted accordingly to the new API
  (work by Aleksei Rybalkin, Philipp Withnall) (!2529, #1085)

* Preserve destruction order in gdataset, fixing various crashes during
  objects disposal (work by Peter Bloomfield) (!2776, #2672, #2676)

* Require C99 __VA_ARGS__ (work by Emmanuele Bassi) (!2791, #2681)

* Add NONE or DEFAULT members to most flags types (work by Simon McVittie) (!2576)

* GFile: Add some missing async APIs (work by Marco Trevisan) (!2717)

* Improve internal and process documentation (work by Philipp Withnall) (!2763)

* Add atomic compare-and-exchange APIs returning previous value (work by Marco
  Trevisan) (!2766)

* Add G_DEFINE_ENUM_TYPE and G_DEFINE_ENUM_VALUE macros (work by Emmanuele Bassi)
  (!2788)

* Add platform-independent G_ALWAYS_INLINE and G_NO_INLINE (work by Marco Trevisan)
  (!2781)

* Use waitid() on pidfds rather than a global SIGCHLD handler (work by Philip
  Withnall) (!2408)

* Bugs fixed:
 - #1434 Move tests/* into */tests/
 - #2216 Chain signal handlers for SIGCHLD
 - #2597 Crash in g_socket_client_enumerator_callback when proxy resolving
 - #2659 /maincontext/timeout-once randomly fails
 - #2681 Set C99's `__VA_ARGS__` as a toolchain hard requirement
 - #2672 Finalization speedup (commit fa8c7c0da) causes crash in gtk3 demo
 - #2676 gnome-shell assertion failure with GLib 2.73.1 while
         g_object_real_dispose() cleans up weak refs
 - #2687 Regression: in GLib 2.72.3, in gsocketclient/cancellable
 - !1717 Add lock in _g_get_unix_mount_points() around *fsent() functions
 - !2408 gmain: Use waitid() on pidfds rather than a global SIGCHLD handler
 - !2529 gregex: replace pcre1 with pcre2
 - !2576 Add a NONE or DEFAULT member to most flags-sets
 - !2667 test: Potentially fix a race in thread-pool-slow test
 - !2706 Add more SPDX license headers
 - !2717 gfile (and GAppInfo): Add some missing async APIs and ensure async calls
         always use them
 - !2744 fuzzing: Add fuzz test for g_uuid_string_is_valid()
 - !2748 docs: Add a testing policy
 - !2749 tests: Various fixes for TAP output of tests
 - !2755 docs: Sync glib.doap to set of users listed in CODEOWNERS
 - !2763 docs: Document the release process
 - !2766 gatomic: Add Compare and Exchange functions that returns the previous value
 - !2770 Correct documentation of g_atomic_pointer_exchange
 - !2771 use gvdb as a subproject
 - !2772 gobject/tests/performance: fix leaks
 - !2773 gdatetime test: Consistently expect %k to generate a figure space
 - !2774 tests: Fix type mismatches in new atomic tests when compiling with clang
 - !2775 gthread: Some code cleanups and fixes
 - !2776 gdataset: Preserve destruction order
 - !2779 tests: Fix macOS failures in the file tests
 - !2781 gmacros: Provide platform-independent G_ALWAYS_INLINE and G_NO_INLINE
 - !2782 ci: Update CI images to add gdb and pcre2
 - !2783 _g_get_unix_mount_points(): reduce syscalls inside loop
 - !2784 Revert "gobject: Use g_datalist_id_remove_multiple"
 - !2785 tests: Fix incorrect basename comparison in gsubprocess test
 - !2786 gcontenttype: Fix a potential use-after-free of xdgmime data
 - !2788 Add G_DEFINE macros for enum and flags types
 - !2789 gdate: Fix a typo in a code comment
 - !2790 tests: Skip assert-msg-test.py if gdb is non-functional
 - !2791 Require C99's __VA_ARGS__
 - !2792 ci: Ensure git submodules are updated before running macOS CI
 - !2794 gobject: Don't skip custom dispatch_properties_changed
 - !2795 gkeyfile: Remove some unreachable code
 - !2796 gmodule: Improve error handling for invalid .la files
 - !2797 gio: Add some missing license and copyright headers
 - !2798 Remove occurrences of unused-results warnings and mark them as errors
 - !2800 gbacktrace: Handle case of strerror_r returning an int value
 - !2801 gobject: Small speedup in weak-ref-set
 - !2802 gobject/tests/custom-dispatch: Add few more tests
 - !2804 gthreadpool: Ensure all unused threads are really counted as stopped
 - !2805 gthread-posix: Do not do unguarded and non-atomic assignment of an atomic
 - !2807 ci: Specify -Wno-overlength-strings on macOS
         build: Specify -Werror=pointer-sign
 - !2808 gsocketclient: Fix passing NULL to g_task_get_cancellable()
 - !2809 gio/tests/desktop-app-info: Wait until the callback is called

* Translation updates:

2.73.3

Overview of changes in GLib 2.73.3, 05-08-2022
==============================================

* Revitalize G_REGEX_OPTIMIZE flag and use it to enable PCRE JIT compiler (work
  by Aleksei Rybalkin) (!2817)

* Fix some regressions due to the PCRE2 port (work
  by Aleksei Rybalkin, Mamoru TASAKA and Marco Trevisan) (!2814, !2827, #2694,
  #2699, #2700)

* Fix a pidfd leak that was introduced in the previous release (work by
  Christian Hergert) (#2708)

* Support compilation without a C++ toolchain (work by James Hilliard) (!2822)

* GDBus: Use namespace-friendly protocol for Linux message buses, and optionally
  other connections (work by Simon McVittie) (!2832)

* Fix potential races in multi-threaded signal connections handling (work by
  Marco Trevisan) (!2823)

* Add back gio-launch-desktop to redirect stdout/stderr of launched
  GDesktopAppInfo's to the journal with proper parent (work by Simon McVittie)
  (!2818, !2819, #2682)

* Executables that are invoked when installing other software, typically
  from packaging system triggers, can now be installed into
  architecture-dependent locations. Unix OS distributors who install
  GLib for more than one architecture in parallel (multiarch or multilib
  installations) should consider building with -Dmultiarch=true, installing
  the bin/glib-compile-schemas and bin/gio-querymodules symbolic links in
  packages for the primary architecture, and omitting those symlinks from
  packages for secondary architectures. (work by Simon McVittie) (!2818)

* Some enumerators introduced in previous releases have been changed, for better
  introspection results:
  - G_MARKUP_PARSE_FLAGS_NONE renamed to G_MARKUP_DEFAULT_FLAGS
  - G_TLS_CERTIFICATE_FLAGS_NONE renamed to G_TLS_CERTIFICATE_NO_FLAGS
  - G_APPLICATION_FLAGS_NONE was deprecated, use G_APPLICATION_DEFAULT_FLAGS now
  (work by Emmanuele Bassi) (!2835)

* gfileinfo: Implement xattr attribute removal (work by madmurphy) (#1187)

* Add support to --delete option to gio set, to unset a file attribute (work by
  codeboybebop) (#2588)

* Improve default value of glib_debug option: G_ENABLE_DEBUG will be defined
  only if using `--buildtype=debug` or enabled via `-Dglib_debug`, but it
  won't ever be set if an optimized build is requested (specifically if the
  optimization level is not `0` or `g`) as it may be the case when using
  `--buildtype=debugoptimized` (work by Michael Catanzaro) (!2851)

* Probably the first revision of any GNOME module ever released from Cuba :)

* Bugs fixed:
 - #566 support using the PCRE JIT
 - #1187 xattr add possibility to remove an extended attribute
 - #2509 g_spawn_*() is not thread-safe on Windows when an environment table is
   provided
 - #2542 Flatten line breaks in filenames printed by gio-tool
 - #2588 gio-tool: -d option to delete attribute
 - #2682 Launching a GDesktopAppInfo "blames" parent process for its output
 - #2692 2.73.2: build failure on musl >= 1.2.0
 - #2694 Recent GRegex changes break vala-language-server compilation
 - #2699 g_regex_match_all fails on s390x with Fedora glib2-2.73.2-4.fc37
 - #2700 g_regex_match fails on multiple archs (including x86_64) with Fedora
 - #2703 Fix GCancellable tests for Windows 64bit
   glib2-2.73.2-4.fc37
 - #2705 GResourceFile crashes on `g_file_set_display_name()`
 - #2708 pidfd leak causes processes to run out of file-descriptors
 - !2299 GWin32AppInfo: Fix PID reporting in launched signal
 - !2759 Use atomic exchange operations more
 - !2812 ci: Setup submodules and subprojects before building on dist
 - !2813 Add missing extension point register for various settings backends
 - !2814 gregex: use %s format specifier for localized error message
 - !2815 giomodule: Use g_once_init_enter/leave to register extensions and load dirs
 - !2818 gio: Optionally install trigger executables to architecture-specific paths
 - !2822 meson: fix build without cpp toolchain
 - !2823 gsignal: Perform signal unlocked handlers block, unblock and disconnect ops
 - !2825 gioenums: G_IO_ERROR_NO_SUCH_DEVICE is new in 2.74
 - !2826 GDBus: improve interoperability of SASL handshake
 - !2827 gregex: Free match info if offset matching recalc failed
 - !2829 gregex: use g_debug instead of g_warning in case JIT is not available
 - !2830 goption: Slightly improve the documentation for G_OPTION_FLAG_REVERSE
 - !2832 GDBus: Use namespace-friendly protocol for Linux message buses, and
   optionally other connections
 - !2833 Fix installed-tests failures
 - !2835 Introduce G_APPLICATION_DEFAULT_FLAGS
 - !2836 gio-launch-desktop: Only replace fds that point to the Journal
 - !2851 Improve default value of glib_debug option
 - !2853 Expose tls-exporter channel binding
 - !2854 docs: Add --delete option to gio-tool attributes documentation

* Translation updates:
Note: See TracTickets for help on using tickets.