)]}'
{
  "log": [
    {
      "commit": "97b1b781935d4427d2150a3aac9d501db16d9c97",
      "tree": "9fbd5d7b2553b09b485343596d345f7720c88582",
      "parents": [
        "444b4242c591c8801f0adc6915bd9d6aa27352e9",
        "ca064784f3929ebe8597d7eee1d3e246392950cd"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Sun May 31 21:29:41 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Sun May 31 21:29:41 2026 +0000"
      },
      "message": "Merge branch \u0027finish-funcs\u0027 into \u0027main\u0027\n\nAdd missing finish-func annotations\n\nSee merge request GNOME/glib!5198"
    },
    {
      "commit": "ca064784f3929ebe8597d7eee1d3e246392950cd",
      "tree": "9fbd5d7b2553b09b485343596d345f7720c88582",
      "parents": [
        "444b4242c591c8801f0adc6915bd9d6aa27352e9"
      ],
      "author": {
        "name": "Philip Chimento",
        "email": "philip.chimento@gmail.com",
        "time": "Sat May 30 14:57:36 2026 -0700"
      },
      "committer": {
        "name": "Philip Chimento",
        "email": "philip.chimento@gmail.com",
        "time": "Sat May 30 16:49:23 2026 -0700"
      },
      "message": "Add missing finish-func annotations\n\nTwo of these are not found automatically because the finish-func is shared\nwith another async-func and therefore has a different name.\n\ng_io_stream_splice_finish() is not found automatically because it has an\nirregular signature for a finish-func (no source object).\n"
    },
    {
      "commit": "444b4242c591c8801f0adc6915bd9d6aa27352e9",
      "tree": "77c2c71e4694474eaad91946fc65a71f58af7314",
      "parents": [
        "0c83baf75d6ce081f98a7346fe1f8d795118a1d8",
        "7f22e017e57a385ccf2f26a2ae5f171e440317c7"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu May 28 10:07:08 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu May 28 10:07:08 2026 +0000"
      },
      "message": "Merge branch \u0027wip/kabus/fast-icon-info\u0027 into \u0027main\u0027\n\nDon\u0027t use slow content type for icons when only fast content is queried\n\nSee merge request GNOME/glib!5191"
    },
    {
      "commit": "0c83baf75d6ce081f98a7346fe1f8d795118a1d8",
      "tree": "a275ef6fe5bda9bfb89f484ab16828b434d57d9e",
      "parents": [
        "94d297fe6bd1348f0d761b8adf4634663620091b",
        "8152353c4b494e49b815f5642433dff1033a9518"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu May 28 08:55:15 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu May 28 08:55:15 2026 +0000"
      },
      "message": "Merge branch \u0027update-translation-sl-from-main-97face6c-5a67-11f1-a083-0a580a830219\u0027 into \u0027main\u0027\n\nUpdate Slovenian translation\n\nSee merge request GNOME/glib!5195"
    },
    {
      "commit": "8152353c4b494e49b815f5642433dff1033a9518",
      "tree": "a275ef6fe5bda9bfb89f484ab16828b434d57d9e",
      "parents": [
        "94d297fe6bd1348f0d761b8adf4634663620091b"
      ],
      "author": {
        "name": "Martin",
        "email": "miles@filmsi.net",
        "time": "Thu May 28 07:34:17 2026 +0000"
      },
      "committer": {
        "name": "GNOME Translation Robot",
        "email": "gnome-sysadmin@gnome.org",
        "time": "Thu May 28 07:34:17 2026 +0000"
      },
      "message": "Update Slovenian translation\n"
    },
    {
      "commit": "7f22e017e57a385ccf2f26a2ae5f171e440317c7",
      "tree": "5d109bfb69796d6001b724aae048297f2c6d5bd3",
      "parents": [
        "2d0225414a4cfd3ca1bbab2e4e5fc00d6c447f4f"
      ],
      "author": {
        "name": "Khalid Abu Shawarib",
        "email": "kas@gnome.org",
        "time": "Mon May 25 19:12:36 2026 +0300"
      },
      "committer": {
        "name": "Khalid Abu Shawarib",
        "email": "kas@gnome.org",
        "time": "Mon May 25 21:15:38 2026 +0300"
      },
      "message": "gio/tests/fileinfo: Add test for icon queries\n\nAdd a test specifically for quering icons without full content type.\n"
    },
    {
      "commit": "2d0225414a4cfd3ca1bbab2e4e5fc00d6c447f4f",
      "tree": "5268d84200aae436e9c451518e43b2c783baff7e",
      "parents": [
        "00648e21e997f4b4a681b9fcaadfd473bec041a8"
      ],
      "author": {
        "name": "Khalid Abu Shawarib",
        "email": "kas@gnome.org",
        "time": "Wed May 20 21:00:21 2026 +0300"
      },
      "committer": {
        "name": "Khalid Abu Shawarib",
        "email": "kas@gnome.org",
        "time": "Mon May 25 21:15:38 2026 +0300"
      },
      "message": "gio/glocalfileinfo: Don\u0027t use slow content type for icons when only fast content is queried\n\n\"standard::fast-content-type\" opens and reads the contents of the file when it\ncannot detect the type due to ambiguity. We need a way to read icons attribute\nwithout forcing full content type fetch.\n\nBenchmark results of GioFileEnumerator query iteration on file attributes in a\nfolder with thousands of PNGs with a warm cache:\n\nBefore:\n- `standard::*`:  0.374\n- `standard::fast-content-type,standard::icon` : 0.342s (91.45% of `standard::*`)\nAfter:\n- `standard::*`:  0.341\n- `standard::fast-content-type,standard::icon` : 0.143s (41.75% of `standard::*`)\nSpeedup: ~2.19X\n"
    },
    {
      "commit": "94d297fe6bd1348f0d761b8adf4634663620091b",
      "tree": "4184e68d6111cc5ff890537519f0ca90a6fc41b8",
      "parents": [
        "6fbc5a80b2c2710d3d58297e317903fa62a2c14d",
        "2ac5aaf2dcecaf153abdb019d953438a86827b9d"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri May 22 00:57:42 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri May 22 00:57:42 2026 +0000"
      },
      "message": "Merge branch \u0027update-translation-ro-from-main-04b8d0f2-5564-11f1-80d9-0a580a81056c\u0027 into \u0027main\u0027\n\nUpdate Romanian translation\n\nSee merge request GNOME/glib!5192"
    },
    {
      "commit": "2ac5aaf2dcecaf153abdb019d953438a86827b9d",
      "tree": "4184e68d6111cc5ff890537519f0ca90a6fc41b8",
      "parents": [
        "6fbc5a80b2c2710d3d58297e317903fa62a2c14d"
      ],
      "author": {
        "name": "Antonio Marin",
        "email": "gnmer.6qxyg@slmail.me",
        "time": "Thu May 21 22:25:58 2026 +0000"
      },
      "committer": {
        "name": "GNOME Translation Robot",
        "email": "gnome-sysadmin@gnome.org",
        "time": "Thu May 21 22:25:58 2026 +0000"
      },
      "message": "Update Romanian translation\n"
    },
    {
      "commit": "6fbc5a80b2c2710d3d58297e317903fa62a2c14d",
      "tree": "0aae05311d9f9d90227ad8cb4b9f01ed294d0505",
      "parents": [
        "00648e21e997f4b4a681b9fcaadfd473bec041a8",
        "7ebd96b2b9ef3e12f2aa72cdd1fc76c1b87e5eb1"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu May 21 13:02:52 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu May 21 13:02:52 2026 +0000"
      },
      "message": "Merge branch \u0027update-win32-build-md\u0027 into \u0027main\u0027\n\nwin32-build.md: Update Visual Studio build info\n\nSee merge request GNOME/glib!5190"
    },
    {
      "commit": "7ebd96b2b9ef3e12f2aa72cdd1fc76c1b87e5eb1",
      "tree": "0aae05311d9f9d90227ad8cb4b9f01ed294d0505",
      "parents": [
        "00648e21e997f4b4a681b9fcaadfd473bec041a8"
      ],
      "author": {
        "name": "Chun-wei Fan",
        "email": "fanc999@yahoo.com.tw",
        "time": "Thu May 21 13:02:52 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu May 21 13:02:52 2026 +0000"
      },
      "message": "docs: Update Visual Studio build info\n\nMention that Visual Studio 2019 16.8.x is the minimum supported\nversion, and Visual Studio 2013 or earlier is no longer supported.\nAlso mention that Python 3.7.x or later is required.\n\nVisual Studio 2015/2017 are supported by best-effort.\n\nLet people know how ARM64 builds can be done with Visual Studio, and\nmention that using Windows SDK 10.0.22621.0 is required for Visual\nStudio 2019 ARM64 builds.\n"
    },
    {
      "commit": "00648e21e997f4b4a681b9fcaadfd473bec041a8",
      "tree": "5bd560be1e64443263aeb13775ac79b5a6c6792e",
      "parents": [
        "3a0ee9a1c4edccce6181198d16bc20da73ec3eea"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Wed May 20 19:29:08 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Wed May 20 19:29:08 2026 +0100"
      },
      "message": "2.89.0\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "3a0ee9a1c4edccce6181198d16bc20da73ec3eea",
      "tree": "63992a196982090e19994afdaee5a2b1b221fe7a",
      "parents": [
        "db85064970cbb36310ba6cd036dd4681afe19686",
        "59e73e510872511715ef72925caa566431e40e2b"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed May 20 13:40:59 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed May 20 13:40:59 2026 +0000"
      },
      "message": "Merge branch \u0027gbyte_array_enhance_maybe_expand\u0027 into \u0027main\u0027\n\nImprove performance of g_array_maybe_expand()\n\nSee merge request GNOME/glib!5188"
    },
    {
      "commit": "59e73e510872511715ef72925caa566431e40e2b",
      "tree": "2484b98244ccc8c2a5ca8c33a040f03260c2315b",
      "parents": [
        "8572e1e4aacf6e377839d3bde09e1efa5847ae49"
      ],
      "author": {
        "name": "Elbehery",
        "email": "abdulrahman.elbehery95@gmail.com",
        "time": "Wed May 20 16:20:41 2026 +0300"
      },
      "committer": {
        "name": "Elbehery",
        "email": "abdulrahman.elbehery95@gmail.com",
        "time": "Wed May 20 16:20:41 2026 +0300"
      },
      "message": "garray: enhance g_array_maybe_expand performance\n\nAvoid division operation every time g_array_maybe_expand\nis called, and instead cached max_len value.\n"
    },
    {
      "commit": "db85064970cbb36310ba6cd036dd4681afe19686",
      "tree": "c5b79f98784434b4a90c6087f105e53a0c10a540",
      "parents": [
        "8572e1e4aacf6e377839d3bde09e1efa5847ae49",
        "59d105dfb6ff7902d5b56c011cd76d77a436f5f5"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed May 20 12:37:48 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed May 20 12:37:48 2026 +0000"
      },
      "message": "Merge branch \u0027fix-msvc-arm64-ci\u0027 into \u0027main\u0027\n\nMSVC CI: Use the 10.0.22621.0 Windows SDK for ARM64\n\nCloses #3958\n\nSee merge request GNOME/glib!5189"
    },
    {
      "commit": "59d105dfb6ff7902d5b56c011cd76d77a436f5f5",
      "tree": "c5b79f98784434b4a90c6087f105e53a0c10a540",
      "parents": [
        "8572e1e4aacf6e377839d3bde09e1efa5847ae49"
      ],
      "author": {
        "name": "Chun-wei Fan",
        "email": "fanchunwei@src.gnome.org",
        "time": "Wed May 20 10:11:01 2026 +0800"
      },
      "committer": {
        "name": "Chun-wei Fan",
        "email": "fanchunwei@src.gnome.org",
        "time": "Wed May 20 10:24:23 2026 +0800"
      },
      "message": "MSVC CI: Use the 10.0.22621.0 Windows SDK for ARM64\n\nVisual Studio 2019 does not work with the 10.0.26100.0 or later SDKs for\nARM64 builds, so downgrade to the 10.0.22621.0 SDK for ARM64 builds,\nwhich should be still present.\n\nFixes: #3958.\n"
    },
    {
      "commit": "8572e1e4aacf6e377839d3bde09e1efa5847ae49",
      "tree": "6d9223611d90c08890608a3d1b5ac589061815a0",
      "parents": [
        "4ff34a15bc1287704fedb19ce0b0e74c8311c16e",
        "ae7895ad153449b78ad8a19ceab1080d6bb33e97"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue May 19 17:14:36 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue May 19 17:14:36 2026 +0000"
      },
      "message": "Merge branch \u0027docs/fix-g-ascii-strtod-description\u0027 into \u0027main\u0027\n\ngstrfuncs: fix g_ascii_strtod() underflow docs to match C99/C11\n\nCloses #2173\n\nSee merge request GNOME/glib!5151"
    },
    {
      "commit": "ae7895ad153449b78ad8a19ceab1080d6bb33e97",
      "tree": "6d9223611d90c08890608a3d1b5ac589061815a0",
      "parents": [
        "4ff34a15bc1287704fedb19ce0b0e74c8311c16e"
      ],
      "author": {
        "name": "depuc8",
        "email": "palladiumonenotsixpoint42@gmail.com",
        "time": "Sun Apr 12 13:41:02 2026 +0530"
      },
      "committer": {
        "name": "depuc8",
        "email": "palladiumonenotsixpoint42@gmail.com",
        "time": "Tue May 19 22:27:26 2026 +0530"
      },
      "message": "gstrfuncs: fix g_ascii_strtod() underflow docs to match C99/C11\n\nThe previous documentation stated: \"If the correct value would cause\nunderflow, zero is returned and ERANGE is stored in errno.\" This was\ncopied verbatim from the ANSI C standard and is no longer accurate\nunder C99/C11.\nC99/C11 only guarantees that the returned value\u0027s magnitude is no\ngreater than the smallest normalised positive number. Subnormal\n(gradual underflow) results are permitted and zero is not required.\nAdditionally, whether ERANGE is set for gradual underflow is\nimplementation-defined — it may not be set when a subnormal value\nis returned, even though errno is still reset before the call.\nAdd tests to verify the updated behaviour.\n\nCloses #2173\n"
    },
    {
      "commit": "4ff34a15bc1287704fedb19ce0b0e74c8311c16e",
      "tree": "5546fa1e4bf17c51e14977a84045f3abaa409e2d",
      "parents": [
        "2bdd8c34a1db00d9d401f3341c9bb99c3890dd85",
        "fd3b35769e1934524787013bb34b0770d4bc190f"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue May 19 13:43:17 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue May 19 13:43:17 2026 +0000"
      },
      "message": "Merge branch \u0027wip/chergert/g_set_strv\u0027 into \u0027main\u0027\n\nstrfuncs: add g_set_strv()\n\nCloses #3907\n\nSee merge request GNOME/glib!5095"
    },
    {
      "commit": "fd3b35769e1934524787013bb34b0770d4bc190f",
      "tree": "8493242652132cdd19d8ca49804454cceb405d0b",
      "parents": [
        "a93782286e9d6928ca840ac43e95b466f40c7bac"
      ],
      "author": {
        "name": "Christian Hergert",
        "email": "christian@sourceandstack.com",
        "time": "Thu Mar 12 11:25:25 2026 -0700"
      },
      "committer": {
        "name": "Christian Hergert",
        "email": "christian@sourceandstack.com",
        "time": "Tue May 19 15:24:25 2026 +0200"
      },
      "message": "strfuncs: add g_set_strv() and g_set_strv_take()\n\nThis adds a new g_set_strv() that has been used in various GNOME projects\nto help ensure that strv properties are changed with minimal notify()\nemissions as well as reduce chances for UAF.\n\nAdditionally, g_set_strv_take() is provided to allow setting a GStrv\nwithout making a copy of the provided string. Use this when you are\nusing API like g_strv_builder_end().\n\nFixes: #3907\n"
    },
    {
      "commit": "2bdd8c34a1db00d9d401f3341c9bb99c3890dd85",
      "tree": "8088b7e02bae0f112ce68cfde1a2bc3db9ee2209",
      "parents": [
        "41a3579732a6568213a83983a118842230bafec8",
        "279ed5e22fb6597b94eeca8b1cf2a16f98d03474"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue May 19 13:16:24 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue May 19 13:16:24 2026 +0000"
      },
      "message": "Merge branch \u0027fix-mixed-shared-static-builds\u0027 into \u0027main\u0027\n\nMeson: Don\u0027t hardcode FFI_STATIC_BUILD / G_INTL_STATIC_COMPILATION\n\nSee merge request GNOME/glib!5182"
    },
    {
      "commit": "41a3579732a6568213a83983a118842230bafec8",
      "tree": "7ec58d143c964f2207eb49ce03160dedcc530de4",
      "parents": [
        "747d8b3100fd4645b5c778f29459620aaf130ef9",
        "9cd1eea4250b2eacea70f0cc69be0807b60c6c2e"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue May 19 13:01:49 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue May 19 13:01:49 2026 +0000"
      },
      "message": "Merge branch \u0027feature/trash-macos\u0027 into \u0027main\u0027\n\ngio: use NSFileManager for trash on macOS\n\nCloses #1161 and #3069\n\nSee merge request GNOME/glib!5143"
    },
    {
      "commit": "747d8b3100fd4645b5c778f29459620aaf130ef9",
      "tree": "a99e005be7fc422bde160f976e7f4d0c65fef576",
      "parents": [
        "a93782286e9d6928ca840ac43e95b466f40c7bac",
        "4b77d68d3d2395ae34fc505bcd487f0e27ba84aa"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue May 19 12:36:25 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue May 19 12:36:25 2026 +0000"
      },
      "message": "Merge branch \u0027mcatanzaro/shell-quote-docs\u0027 into \u0027main\u0027\n\nAdd safety documentation regarding use of g_shell_quote()\n\nSee merge request GNOME/glib!5187"
    },
    {
      "commit": "4b77d68d3d2395ae34fc505bcd487f0e27ba84aa",
      "tree": "a99e005be7fc422bde160f976e7f4d0c65fef576",
      "parents": [
        "a93782286e9d6928ca840ac43e95b466f40c7bac"
      ],
      "author": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@gnome.org",
        "time": "Tue May 19 07:36:25 2026 -0500"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue May 19 12:36:25 2026 +0000"
      },
      "message": "Add safety documentation regarding use of g_shell_quote()\n\nFailure to call g_shell_quote() where required can be a serious problem\n(see CWE-77 and CWE-88), so let\u0027s draw special attention to when you\nneed this function.\n"
    },
    {
      "commit": "9cd1eea4250b2eacea70f0cc69be0807b60c6c2e",
      "tree": "816de33d1f292a6cfd30412f44647abb36d4003e",
      "parents": [
        "35ecf4c5ecd6ff29fa3325cc97dbfacc02dfcbc9"
      ],
      "author": {
        "name": "Byoungchan Lee",
        "email": "byoungchan.lee@gmx.com",
        "time": "Tue May 19 06:01:50 2026 +0900"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue May 19 12:36:18 2026 +0000"
      },
      "message": "gio: suppress deprecated UTI warnings on macOS\n"
    },
    {
      "commit": "35ecf4c5ecd6ff29fa3325cc97dbfacc02dfcbc9",
      "tree": "ceb00467caa9f05c5c3811fed47ec1a98aeba8aa",
      "parents": [
        "a93782286e9d6928ca840ac43e95b466f40c7bac"
      ],
      "author": {
        "name": "Byoungchan Lee",
        "email": "byoungchan.lee@gmx.com",
        "time": "Tue May 19 05:53:17 2026 +0900"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue May 19 12:36:18 2026 +0000"
      },
      "message": "gio: use NSFileManager for trash on macOS\n"
    },
    {
      "commit": "279ed5e22fb6597b94eeca8b1cf2a16f98d03474",
      "tree": "6b98de38d144ac599ba3b0db560841047de74331",
      "parents": [
        "34305865e68584498a9e61cf8444a216eb5f2045"
      ],
      "author": {
        "name": "Luca Bacci",
        "email": "luca.bacci982@gmail.com",
        "time": "Thu May 07 14:59:17 2026 +0200"
      },
      "committer": {
        "name": "Luca Bacci",
        "email": "luca.bacci982@gmail.com",
        "time": "Mon May 18 17:27:27 2026 +0200"
      },
      "message": "Meson: Don\u0027t hardcode FFI_STATIC_BUILD / G_INTL_STATIC_COMPILATION\n\nThe defines must come from subprojects or .pc files. We might\nbuild GLib statically and libffi / proxy-libintl as shared\nlibraries.\n\nSee https://gitlab.freedesktop.org/dbus/dbus/-/work_items/549\n"
    },
    {
      "commit": "a93782286e9d6928ca840ac43e95b466f40c7bac",
      "tree": "fde93d7d23c3957ab3d360fcd5529a9da8570ff4",
      "parents": [
        "b173cfca62943c8d73e2fabbe1286bc308c97be7",
        "5f3b178590df746544a48338f39025bf03aca46c"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 18 14:56:06 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 18 14:56:06 2026 +0000"
      },
      "message": "Merge branch \u0027ebassi/xdg-projects-dir\u0027 into \u0027main\u0027\n\nSupport XDG_PROJECTS_DIR\n\nSee merge request GNOME/glib!5141"
    },
    {
      "commit": "5f3b178590df746544a48338f39025bf03aca46c",
      "tree": "fde93d7d23c3957ab3d360fcd5529a9da8570ff4",
      "parents": [
        "b173cfca62943c8d73e2fabbe1286bc308c97be7"
      ],
      "author": {
        "name": "Emmanuele Bassi",
        "email": "ebassi@gnome.org",
        "time": "Fri Apr 03 12:17:31 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Mon May 18 15:40:17 2026 +0100"
      },
      "message": "Support XDG_PROJECTS_DIR\n\nA new XDG user directory type, for non-document project files.\n\nSee: https://gitlab.freedesktop.org/xdg/xdg-user-dirs/-/work_items/3\n"
    },
    {
      "commit": "b173cfca62943c8d73e2fabbe1286bc308c97be7",
      "tree": "9fabfb7b09cf7449d0c5265a27910741cf5f873a",
      "parents": [
        "a3326845c2f9b732181184272dd556e3e81f7574",
        "efac370744fe6f758bd8d98628964dd9843552c6"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 18 14:12:05 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 18 14:12:05 2026 +0000"
      },
      "message": "Merge branch \u0027dbus-cookie-getenv\u0027 into \u0027main\u0027\n\ngdbusauthmechanismsha1: Ignore G_DBUS_COOKIE_SHA1_KEYRING_DIR when suid\n\nSee merge request GNOME/glib!4990"
    },
    {
      "commit": "efac370744fe6f758bd8d98628964dd9843552c6",
      "tree": "80d3c62cb7ddc8b493c08f87aed7365178656197",
      "parents": [
        "1a39e1baba52edec69bc939e2c2807d14884eca2"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Tue Jan 27 13:09:32 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Mon May 18 14:51:55 2026 +0100"
      },
      "message": "gdbusauthmechanismsha1: Disable auth mechanism when setuid\n\nWhen running setuid, ignore this auth mechanism and hence also the\n`$G_DBUS_COOKIE_SHA1_KEYRING_DIR` environment variable.\n\nThis was considered as part of #2168 but determined at the time to not\nbe a problem.\n\nIt’s since been reported as a vulnerability. I don’t see how it can\nrealistically be exploited in practice:\n - This D-Bus auth mechanism is strongly discouraged and iirc it’s only\n   kept around for use on Windows\n - The setuid binary would have to be running as a D-Bus server in a\n   peer-to-peer configuration, which is very rare\n - Even rarer to run it as setuid root, rather than as a system service\n   via a service manager\n - And the configuration would have to force this auth mechanism to be\n   used instead of any more appropriate mechanism\n\nThat said, I don’t see any reason why we _shouldn’t_ ignore this\nenvironment variable when setuid. ¯\\_(ツ)_/¯  The fallback for\n`$G_DBUS_COOKIE_SHA1_KEYRING_DIR` is to build the keyring path using\n`$HOME`, but that is equally as susceptible to attacker modification\nwhen running setuid, hence we disable the whole auth mechanism.\n\nThis brings GIO inline with what libdbus does.\n\nSpotted by cavid.\nThanks to the Sovereign Tech Resilience programme from the Sovereign\nTech Agency.\n\nID: #YWH-PGM9867-164\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "a3326845c2f9b732181184272dd556e3e81f7574",
      "tree": "36b16c32eb6a57113fd1e251f221d49554fba2e1",
      "parents": [
        "1a39e1baba52edec69bc939e2c2807d14884eca2",
        "bc38fcb6c843cfac241d7afff06396d0c14c7266"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 18 13:45:21 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 18 13:45:21 2026 +0000"
      },
      "message": "Merge branch \u0027markup-escape-tests\u0027 into \u0027main\u0027\n\ntests: Check that g_markup_escape_text() returns something parseable\n\nSee merge request GNOME/glib!5119"
    },
    {
      "commit": "bc38fcb6c843cfac241d7afff06396d0c14c7266",
      "tree": "36b16c32eb6a57113fd1e251f221d49554fba2e1",
      "parents": [
        "1a39e1baba52edec69bc939e2c2807d14884eca2"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Sun Mar 29 20:55:41 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Mon May 18 14:29:59 2026 +0100"
      },
      "message": "tests: Check that g_markup_escape_text() returns something parseable\n\nGiven that the whole point of `g_markup_escape_text()` is to escape\ninput so that it can safely be passed to the markup parser and be\ntreated as text, we should probably be testing that behaviour.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "1a39e1baba52edec69bc939e2c2807d14884eca2",
      "tree": "8093120c676f211bf463cfe4b66f561b97f78184",
      "parents": [
        "a071d5a209f0fa08a75cffe712df930bb35231f5",
        "98566f396dac4fc9025700b194cc2b6a0a3877fb"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 18 13:21:02 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 18 13:21:02 2026 +0000"
      },
      "message": "Merge branch \u0027set-str-take\u0027 into \u0027main\u0027\n\ngstrfuncs: Add g_set_str_take() helper function\n\nSee merge request GNOME/glib!5118"
    },
    {
      "commit": "98566f396dac4fc9025700b194cc2b6a0a3877fb",
      "tree": "8093120c676f211bf463cfe4b66f561b97f78184",
      "parents": [
        "a071d5a209f0fa08a75cffe712df930bb35231f5"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Sun Mar 29 20:54:05 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Mon May 18 14:08:41 2026 +0100"
      },
      "message": "gstrfuncs: Add g_set_str_take() helper function\n\nThis is like `g_set_str()`, but it takes ownership of the new string\npassed in to it, so you can conveniently pass in the return value of\n`g_strdup_printf()` (etc.) without additional memory management\nboilerplate.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "a071d5a209f0fa08a75cffe712df930bb35231f5",
      "tree": "980805f9c88fe0e8a3244446c58f6c5ad3b0ed7c",
      "parents": [
        "f1389969d81b399058db47a82ecdc7874dd56bdc",
        "8610cceac81373ae10092da21aa5cab18db09a92"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri May 15 16:06:34 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri May 15 16:06:34 2026 +0000"
      },
      "message": "Merge branch \u0027wip/chergert/gtypeinstance-generic-marshaller\u0027 into \u0027main\u0027\n\ngobject/gclosure: add GTypeInstance support to generic marshaller\n\nCloses #3954\n\nSee merge request GNOME/glib!5186"
    },
    {
      "commit": "8610cceac81373ae10092da21aa5cab18db09a92",
      "tree": "c79a04fb1dfbaecb14e94e1a3c3a603e15060bc0",
      "parents": [
        "4fa33b09ce029c2569fb3e01686379e0121064b9"
      ],
      "author": {
        "name": "Christian Hergert",
        "email": "christian@sourceandstack.com",
        "time": "Fri May 15 11:07:30 2026 +0200"
      },
      "committer": {
        "name": "Christian Hergert",
        "email": "christian@sourceandstack.com",
        "time": "Fri May 15 16:29:51 2026 +0200"
      },
      "message": "gobject/gclosure: add GTypeInstance support to generic marshaller\n\nThis commit extends the generic marshaller to support parameter and\nreturn types that are custom GTypeInstance. This can be useful for\nsituations where writing a custom marshaller is impractical or lacks the\nnecessary plumbing to do so, such as \u003cclosure/\u003e in GtkExpression defined\nfrom UI files.\n\nFixes: #3954\n"
    },
    {
      "commit": "f1389969d81b399058db47a82ecdc7874dd56bdc",
      "tree": "62bcbef255a6f9aa2f33edd37c9f2ce37a782d9e",
      "parents": [
        "4fa33b09ce029c2569fb3e01686379e0121064b9",
        "258dd3cf9253be24ac7d00da0b493f673e9ad37c"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri May 15 10:45:19 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri May 15 10:45:19 2026 +0000"
      },
      "message": "Merge branch \u0027gdesktopappinfo-add-guards\u0027 into \u0027main\u0027\n\ngio/gdesktopappinfo: Add precondition assertions\n\nSee merge request GNOME/glib!5185"
    },
    {
      "commit": "258dd3cf9253be24ac7d00da0b493f673e9ad37c",
      "tree": "62bcbef255a6f9aa2f33edd37c9f2ce37a782d9e",
      "parents": [
        "4fa33b09ce029c2569fb3e01686379e0121064b9"
      ],
      "author": {
        "name": "Peter Bloomfield",
        "email": "PeterBloomfield@bellsouth.net",
        "time": "Thu May 14 19:08:46 2026 -0400"
      },
      "committer": {
        "name": "Peter Bloomfield",
        "email": "PeterBloomfield@bellsouth.net",
        "time": "Thu May 14 19:08:46 2026 -0400"
      },
      "message": "gio/gdesktopappinfo: Add precondition assertions\n"
    },
    {
      "commit": "4fa33b09ce029c2569fb3e01686379e0121064b9",
      "tree": "75a524489e8aee9d1a1e4ab8a56167a4bd8661f1",
      "parents": [
        "34305865e68584498a9e61cf8444a216eb5f2045",
        "3983b3e22aa00344bf1862c0360d870e4a1a327f"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu May 07 14:31:59 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu May 07 14:31:59 2026 +0000"
      },
      "message": "Merge branch \u0027dev-null-pollable-freebsd\u0027 into \u0027main\u0027\n\ngio/tests/pollable.c: Conditionalize on FreeBSD version in the /dev/null test case\n\nSee merge request GNOME/glib!5183"
    },
    {
      "commit": "3983b3e22aa00344bf1862c0360d870e4a1a327f",
      "tree": "75a524489e8aee9d1a1e4ab8a56167a4bd8661f1",
      "parents": [
        "34305865e68584498a9e61cf8444a216eb5f2045"
      ],
      "author": {
        "name": "Gleb Popov",
        "email": "6yearold@gmail.com",
        "time": "Thu May 07 16:51:46 2026 +0300"
      },
      "committer": {
        "name": "Gleb Popov",
        "email": "6yearold@gmail.com",
        "time": "Thu May 07 16:51:46 2026 +0300"
      },
      "message": "gio/tests/pollable.c: Conditionalize on FreeBSD version in the /dev/null test case\n"
    },
    {
      "commit": "34305865e68584498a9e61cf8444a216eb5f2045",
      "tree": "5c5c1c27d6ec950fe42af2eb98b93f7a3e940b81",
      "parents": [
        "a9606213fbe42f18aadb22bb74365f8e7401b54f",
        "2981c604783c1f2a8e73f0f0b337884a9c21c1aa"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed May 06 15:04:57 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed May 06 15:04:57 2026 +0000"
      },
      "message": "Merge branch \u0027g_get_num_processors-report-performance-cores-only\u0027 into \u0027main\u0027\n\ng_get_num_processors(): on macOS, report n_pcore\n\nSee merge request GNOME/glib!5153"
    },
    {
      "commit": "a9606213fbe42f18aadb22bb74365f8e7401b54f",
      "tree": "f359e0a83538d2d925f2ac2f395bc2b61facff8f",
      "parents": [
        "0d439d33145f30046c5b66cc03a13abd31cb4234",
        "4a582ae3952f6181ae870b9aac2f5be5a686ef54"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed May 06 12:08:16 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed May 06 12:08:16 2026 +0000"
      },
      "message": "Merge branch \u0027valgrind-devenv\u0027 into \u0027main\u0027\n\nmeson: Add valgrind suppression file to VALGRIND_OPTS in devenv\n\nSee merge request GNOME/glib!5180"
    },
    {
      "commit": "4a582ae3952f6181ae870b9aac2f5be5a686ef54",
      "tree": "f359e0a83538d2d925f2ac2f395bc2b61facff8f",
      "parents": [
        "0d439d33145f30046c5b66cc03a13abd31cb4234"
      ],
      "author": {
        "name": "Xavier Claessens",
        "email": "xclaessens@netflix.com",
        "time": "Tue May 05 08:27:08 2026 -0400"
      },
      "committer": {
        "name": "Xavier Claessens",
        "email": "xclaessens@netflix.com",
        "time": "Tue May 05 08:27:08 2026 -0400"
      },
      "message": "meson: Add valgrind suppression file to VALGRIND_OPTS in devenv\n"
    },
    {
      "commit": "0d439d33145f30046c5b66cc03a13abd31cb4234",
      "tree": "ee323dcbb68283521b15cbddc8b978abf5f68e9f",
      "parents": [
        "f56b35605d6bde9d64c5b2c342690fcad91f8523",
        "c18fa6e4b0d309366d07a8932686b674448d6fd9"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 04 13:51:27 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 04 13:51:27 2026 +0000"
      },
      "message": "Merge branch \u0027dev-null-pollable-freebsd\u0027 into \u0027main\u0027\n\ngio/tests/pollable.c: Fix test on FreeBSD\n\nSee merge request GNOME/glib!5177"
    },
    {
      "commit": "c18fa6e4b0d309366d07a8932686b674448d6fd9",
      "tree": "f1d500eb8f1876493517c455236f137fd68305c6",
      "parents": [
        "75ee5336c7c1900368a2f75ba2e9a97d4eaeb267"
      ],
      "author": {
        "name": "Gleb Popov",
        "email": "6yearold@gmail.com",
        "time": "Mon May 04 13:51:27 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 04 13:51:27 2026 +0000"
      },
      "message": "gio/tests/pollable.c: Fix test on FreeBSD\n"
    },
    {
      "commit": "f56b35605d6bde9d64c5b2c342690fcad91f8523",
      "tree": "6e61651b03f4d9dadb5bc93aef5298a9f91bb692",
      "parents": [
        "75ee5336c7c1900368a2f75ba2e9a97d4eaeb267",
        "d905f1f70ba2365760934a89f612bc2172054627"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 04 12:35:26 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 04 12:35:26 2026 +0000"
      },
      "message": "Merge branch \u0027gapplication-open\u0027 into \u0027main\u0027\n\ngioenums: G_APPLICATION_HANDLES_OPEN can be useful with G_APPLICATION_HANDLES_COMMAND_LINE\n\nCloses #1853\n\nSee merge request GNOME/glib!5175"
    },
    {
      "commit": "d905f1f70ba2365760934a89f612bc2172054627",
      "tree": "6e61651b03f4d9dadb5bc93aef5298a9f91bb692",
      "parents": [
        "4a2c9d2f784a3e540ad12300ec6f0c4cbef41cca"
      ],
      "author": {
        "name": "Guido Günther",
        "email": "agx@sigxcpu.org",
        "time": "Fri May 01 13:10:49 2026 +0200"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 04 11:42:56 2026 +0000"
      },
      "message": "gioenums: G_APPLICATION_HANDLES_OPEN can be useful with G_APPLICATION_HANDLES_COMMAND_LINE\n\nUpdate the documentation accordingly.\n\nCloses: #1853\nSigned-off-by: Guido Günther \u003cagx@sigxcpu.org\u003e\n"
    },
    {
      "commit": "4a2c9d2f784a3e540ad12300ec6f0c4cbef41cca",
      "tree": "bd3554dfde721b44d4b10c20d6cae2f9a8a39e3e",
      "parents": [
        "75ee5336c7c1900368a2f75ba2e9a97d4eaeb267"
      ],
      "author": {
        "name": "Guido Günther",
        "email": "agx@sigxcpu.org",
        "time": "Fri May 01 13:10:35 2026 +0200"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 04 11:42:56 2026 +0000"
      },
      "message": "gioenums: Remove trailing whitespace\n\nSigned-off-by: Guido Günther \u003cagx@sigxcpu.org\u003e\n"
    },
    {
      "commit": "75ee5336c7c1900368a2f75ba2e9a97d4eaeb267",
      "tree": "75baa1255cdd89b43d616e427dc178c39d7ab2f6",
      "parents": [
        "5befbeab6947e70d44d6b452be215a55b3f24095",
        "cdcad0f92cdd6ecc36e4b6ad290b50c13e3fe994"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 04 11:39:36 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon May 04 11:39:36 2026 +0000"
      },
      "message": "Merge branch \u0027gnulib-flags-fix\u0027 into \u0027main\u0027\n\ngnulib: Fix unused flags variable warning\n\nSee merge request GNOME/glib!5176"
    },
    {
      "commit": "cdcad0f92cdd6ecc36e4b6ad290b50c13e3fe994",
      "tree": "75baa1255cdd89b43d616e427dc178c39d7ab2f6",
      "parents": [
        "5befbeab6947e70d44d6b452be215a55b3f24095"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Sat May 02 13:45:41 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Sat May 02 13:45:41 2026 +0100"
      },
      "message": "gnulib: Fix unused flags variable warning\n\nThe following error has just popped up in mingw32 CI, which presumably\nmeans the compiler has just been upgraded under our feet again:\n```\n../glib/gnulib/vasnprintf.c: In function \u0027_g_gnulib_vasnprintf\u0027:\n../glib/gnulib/vasnprintf.c:2429:21: error: variable \u0027flags\u0027 set but not used [-Werror\u003dunused-but-set-variable\u003d]\n 2429 |                 int flags \u003d dp-\u003eflags;\n      |                     ^~~~~\ncc1.exe: all warnings being treated as errors\n```\n\nThis highlighted a bug in the version of gnulib we’re using, where the\n`flags` variable was assigned but never used.\n\nIn lieu of updating our gnulib copylib version (which I don’t have the\nenergy to do right now; see #2603), copy across the fix for this issue\nfrom upstream.\n\nIt’s upstream commit 5527d5c548702b89d217bbe58036996066a709b6.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "5befbeab6947e70d44d6b452be215a55b3f24095",
      "tree": "e16bbf2b379a3668f678eca59fc48cf0ecb935cd",
      "parents": [
        "160ffcbbb243d214c53e4988ebb29be134eb0796",
        "ff97c6f5b6b51919b1cb2a8071ca2b03bc6cf663"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Apr 29 15:54:02 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Apr 29 15:54:02 2026 +0000"
      },
      "message": "Merge branch \u00273931-dbus-cookie-traversal\u0027 into \u0027main\u0027\n\ngdbusauthmechanismsha1: Validate cookie context\n\nCloses #3931\n\nSee merge request GNOME/glib!5172"
    },
    {
      "commit": "ff97c6f5b6b51919b1cb2a8071ca2b03bc6cf663",
      "tree": "407bb6ff71e2a70f8424ebc69b06400e70b17ba5",
      "parents": [
        "d9d2010689774e6f3e00bf8b8c0b4741f27d1bef"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Tue Apr 28 15:52:53 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Wed Apr 29 16:43:00 2026 +0100"
      },
      "message": "tests: Add a unit test for GDBusAuthMechanismSha1 cookie context parsing\n\nThis checks for regressions in the fixes from the previous few commits.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\nHelps: #3931\n"
    },
    {
      "commit": "160ffcbbb243d214c53e4988ebb29be134eb0796",
      "tree": "cb021f3af6bc752e4c77f4802561242a64cee01b",
      "parents": [
        "e8cfe7db69ed6841982508fa9eedebaf2b8de596",
        "578a48848132019fc892539504e9388c26fe5cb6"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Apr 29 14:21:21 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Apr 29 14:21:21 2026 +0000"
      },
      "message": "Merge branch \u00273933-dbus-message-length-validation\u0027 into \u0027main\u0027\n\ngdbusmessage: Fix types of integer arithmetic in message length calculation\n\nCloses #3933\n\nSee merge request GNOME/glib!5173"
    },
    {
      "commit": "e8cfe7db69ed6841982508fa9eedebaf2b8de596",
      "tree": "7a38545663a304e0d0ebb48f95fb296c3a38b748",
      "parents": [
        "d7fea6a984481bcaf4ccf1978851fe4f397729e1",
        "9f557746c52ae2a62fd5929f532b77024a18abe2"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Apr 29 14:10:48 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Apr 29 14:10:48 2026 +0000"
      },
      "message": "Merge branch \u00273925-io-channel-overread\u0027 into \u0027main\u0027\n\ngiochannel: Fix memcmp() off the end of the buffer with long terminators\n\nCloses #3925\n\nSee merge request GNOME/glib!5170"
    },
    {
      "commit": "d7fea6a984481bcaf4ccf1978851fe4f397729e1",
      "tree": "11361e6f0dd8a5f3cd43160c34c2d1c9505bb36c",
      "parents": [
        "3af1b31f71e4cc60b6671db52fb583308470ceee",
        "5f6d86b50bebf5458ab1becf4de2c5e5f066122b"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Apr 29 13:54:21 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Apr 29 13:54:21 2026 +0000"
      },
      "message": "Merge branch \u00273930-keyfile-locale-string-list-overread\u0027 into \u0027main\u0027\n\ngkeyfile: Fix a one-byte heap under-read with g_key_file_get_locale_string_list()\n\nCloses #3930\n\nSee merge request GNOME/glib!5171"
    },
    {
      "commit": "578a48848132019fc892539504e9388c26fe5cb6",
      "tree": "62218c9edc4cbb1b8aa1a83ce42be692e8f76324",
      "parents": [
        "1676bdee2b0e45c2c3b796f9be60c90246ff395b"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Mon Apr 20 14:51:19 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Wed Apr 29 12:13:32 2026 +0100"
      },
      "message": "gdbusmessage: Fix types of integer arithmetic in message length calculation\n\nThis fixes the addition happening with type `uint32_t`, rather than the\nexpected `gssize`. Because of the narrower type, this could have\nresulted in integer overflow for large header lengths, bypassing the\nmessage length check lower down in the function.\n\nThis is not exploitable in practice unless communicating peer-to-peer\nwith a malicious D-Bus peer, as invalid messages like this would be\nfiltered out by the message bus (such as `dbus-daemon`).\n\nRework the arithmetic to use checked arithmetic functions into a\n`size_t` (largely as suggested by Simon McVittie), and add some unit\ntests. Simply doing the arithmetic in the `gssize` domain would not fix\nthe issue on 32-bit systems.\n\nBased on a report by Koda Reef, albeit reverse engineered as the report\ndid not contain a proof of concept of the vulnerability.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n\nFixes: #3933\n"
    },
    {
      "commit": "3af1b31f71e4cc60b6671db52fb583308470ceee",
      "tree": "bb5eb3889b6e4835854150eb867aa3abc892b5b2",
      "parents": [
        "9dda3892d81c74ded0a7a255d34d47206725409d",
        "786ccb5adba1a3ebf81a6db7733b66af40915532"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue Apr 28 16:09:36 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue Apr 28 16:09:36 2026 +0000"
      },
      "message": "Merge branch \u0027gnuc-flags-enum\u0027 into \u0027main\u0027\n\ndocs: Add docs for G_GNUC_FLAG_ENUM\n\nSee merge request GNOME/glib!5167"
    },
    {
      "commit": "9f557746c52ae2a62fd5929f532b77024a18abe2",
      "tree": "fb6dcdf5f809dd74edb4997693f95ff74f149cc5",
      "parents": [
        "9dda3892d81c74ded0a7a255d34d47206725409d"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Tue Apr 28 16:45:14 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Tue Apr 28 16:45:14 2026 +0100"
      },
      "message": "giochannel: Fix memcmp() off the end of the buffer with long terminators\n\nIf the line terminator is longer than a single byte, and the current\nline extends to the end of the buffer, and the buffer (which is a\n`GString`) is near a power of two in length (as that’s how `GString`s\nare allocated) it’s possible for the `memcmp()` which checks the\nterminator to read off the end of the string buffer.\n\nFix that by checking the terminator length against the last character\nbefore calling `memcmp()`. Add a unit test.\n\nSpotted by linhlhq as #YWH-PGM9867-199. The fix is theirs (validated by\nme), and the unit test is adapted from their proof of concept.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\nFixes: #3925\n"
    },
    {
      "commit": "d9d2010689774e6f3e00bf8b8c0b4741f27d1bef",
      "tree": "aa86227dd376604e7b8f9161e9aa754aaf3c81a2",
      "parents": [
        "948c5984b8f9422997b02c1cbed998f5b52b3109"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Tue Apr 28 15:51:00 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Tue Apr 28 15:51:00 2026 +0100"
      },
      "message": "gdbusauthmechanism: Expose client reject reason as a new vfunc\n\nWe can do this because `gdbusauthmechanism.h` is a private header.\n\nHook it up to the existing `reject_reason` code in each\n`GDBusAuthMechanism` implementation, as all three implementations\ncurrently intermingle reject reasons from the server and client code, so\nthere would currently be no benefit to having a separate server and\nclient implementation of `*_get_reject_reason()`.\n\nThis new private API will be used in a new unit test in the following\ncommit.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "948c5984b8f9422997b02c1cbed998f5b52b3109",
      "tree": "1b158d447cf923618d9f96d961250f0675a82302",
      "parents": [
        "8b72ad09c874ddff122b3e67b3470c5e2eab7690"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Tue Apr 28 15:49:54 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Tue Apr 28 15:49:54 2026 +0100"
      },
      "message": "gdbusauthmechanismsha1: Improve validation of cookie ID\n\nThe D-Bus specification says the cookie ID has to be non-negative, but\nwe weren’t checking that (or checking that it was non-empty).\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "8b72ad09c874ddff122b3e67b3470c5e2eab7690",
      "tree": "5c1daacdf5a2d6dc5c219bb24790d55196ebf1b9",
      "parents": [
        "9dda3892d81c74ded0a7a255d34d47206725409d"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Tue Apr 28 15:47:30 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Tue Apr 28 15:47:30 2026 +0100"
      },
      "message": "gdbusauthmechanismsha1: Validate cookie context\n\nWithout validation, the server could send a malicious context which\ncontains path traversal characters, allowing it to exfiltrate a SHA-1\nhashed copy of arbitrary data from the client’s file system.\n\nTo exploit this successfully would require the client to choose to\nconnect peer-to-peer to a malicious D-Bus server and to choose the SHA-1\nauthentication mechanism in preference to all the other mechanisms. This\nis vanishingly unlikely.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n\nFixes: #3931\n"
    },
    {
      "commit": "786ccb5adba1a3ebf81a6db7733b66af40915532",
      "tree": "bb5eb3889b6e4835854150eb867aa3abc892b5b2",
      "parents": [
        "c0b17612377a63ec11d06b0bd43b7ec86af3eb11"
      ],
      "author": {
        "name": "Maximiliano Sandoval",
        "email": "msandova@gnome.org",
        "time": "Mon Apr 27 13:51:34 2026 +0200"
      },
      "committer": {
        "name": "Maximiliano Sandoval",
        "email": "msandova@gnome.org",
        "time": "Mon Apr 27 14:11:27 2026 +0200"
      },
      "message": "docs: Add docs for G_GNUC_FLAG_ENUM\n\nTaken from the docs at gmacros.h.\n"
    },
    {
      "commit": "c0b17612377a63ec11d06b0bd43b7ec86af3eb11",
      "tree": "ea8fc0ded37eeed61b819c6641cc01c458c6226f",
      "parents": [
        "7832e9e01fa9a3ec69f478ab072b9420c805e83d"
      ],
      "author": {
        "name": "Maximiliano Sandoval",
        "email": "msandova@gnome.org",
        "time": "Mon Apr 27 13:50:30 2026 +0200"
      },
      "committer": {
        "name": "Maximiliano Sandoval",
        "email": "msandova@gnome.org",
        "time": "Mon Apr 27 14:11:13 2026 +0200"
      },
      "message": "gmacros: docs: Remove parentheses in enum flag\n\nThese serve little purpose.\n"
    },
    {
      "commit": "7832e9e01fa9a3ec69f478ab072b9420c805e83d",
      "tree": "9071bc1b768e2abe24a53b12e801837ed08a9c59",
      "parents": [
        "9dda3892d81c74ded0a7a255d34d47206725409d"
      ],
      "author": {
        "name": "Maximiliano Sandoval",
        "email": "msandova@gnome.org",
        "time": "Mon Apr 27 13:49:39 2026 +0200"
      },
      "committer": {
        "name": "Maximiliano Sandoval",
        "email": "msandova@gnome.org",
        "time": "Mon Apr 27 13:51:48 2026 +0200"
      },
      "message": "gmacros: docs: Add backticks to compiler names\n\nin GNUC_FLAG_ENUM.\n"
    },
    {
      "commit": "2981c604783c1f2a8e73f0f0b337884a9c21c1aa",
      "tree": "66e0ced205f3804a5229e4b6862225d0267b719f",
      "parents": [
        "1676bdee2b0e45c2c3b796f9be60c90246ff395b"
      ],
      "author": {
        "name": "John Cupitt",
        "email": "jcupitt@gmail.com",
        "time": "Fri Apr 17 11:14:05 2026 +0100"
      },
      "committer": {
        "name": "John Cupitt",
        "email": "jcupitt@gmail.com",
        "time": "Sat Apr 25 09:20:58 2026 +0100"
      },
      "message": "g_get_num_processors(): on macOS, report n_pcore\n\nOn macOS, g_get_num_processors() currently reports the total number of\nperformance and efficiency cores. This will lead to threadpools\nscheduling work on low-power efficiency cores, which are not appropriate\nfor desktop-style applications.\n\nThis change makes g_get_num_processors() on macOS report only the number of\nperformance cores.\n\nDerived from https://github.com/libvips/libvips/pull/4994\n\nCo-authored-by: Philip Withnall \u003cphilip@tecnocode.co.uk\u003e\n"
    },
    {
      "commit": "9dda3892d81c74ded0a7a255d34d47206725409d",
      "tree": "d48c04e3429e0f3c96aaed4643abec623961227c",
      "parents": [
        "72bc8a915d71604f936f5f55933b114c4a0f6a72",
        "e99bab94b59fa772a0387eff579784a60865365f"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri Apr 24 16:18:46 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri Apr 24 16:18:46 2026 +0000"
      },
      "message": "Merge branch \u0027wip/smcv/variant-test-leak\u0027 into \u0027main\u0027\n\ngvariant test: Fix a leak\n\nSee merge request GNOME/glib!5163"
    },
    {
      "commit": "72bc8a915d71604f936f5f55933b114c4a0f6a72",
      "tree": "9e28dc5b5271858856d7077ae8446ce10d17e864",
      "parents": [
        "0726de15ad3e2c0f386a5d6eaedc432fec1843f3",
        "5e14886ca7c3f4ed270a336018c1573e97b0e125"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri Apr 24 13:27:21 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri Apr 24 13:27:21 2026 +0000"
      },
      "message": "Merge branch \u0027wip/smcv/bitlock-test-shift\u0027 into \u0027main\u0027\n\ntests: Avoid undefined signed left-shift in bitlock test\n\nSee merge request GNOME/glib!5164"
    },
    {
      "commit": "0726de15ad3e2c0f386a5d6eaedc432fec1843f3",
      "tree": "b3d920a9d10f35f09eba9cac5d7e0005ef067548",
      "parents": [
        "841df769f4450c8321c980357c4456fca4513bd8",
        "6522dca1a609cfa2084b979018635e49211919df"
      ],
      "author": {
        "name": "Marco Trevisan",
        "email": "mail@3v1n0.net",
        "time": "Fri Apr 24 13:20:46 2026 +0200"
      },
      "committer": {
        "name": "Marco Trevisan",
        "email": "mail@3v1n0.net",
        "time": "Fri Apr 24 13:20:46 2026 +0200"
      },
      "message": "Merge branch \u0027wip/smcv/variant-free-sized\u0027 into \u0027main\u0027\n\ngvariant: Match allocation size of g_slice_new to g_slice_free\n\nSee merge request GNOME/glib!5162"
    },
    {
      "commit": "5e14886ca7c3f4ed270a336018c1573e97b0e125",
      "tree": "9cfd049ba3cb078d5c67a97b5bb5a75f6585893b",
      "parents": [
        "841df769f4450c8321c980357c4456fca4513bd8"
      ],
      "author": {
        "name": "Simon McVittie",
        "email": "smcv@collabora.com",
        "time": "Thu Apr 23 15:42:41 2026 +0100"
      },
      "committer": {
        "name": "Simon McVittie",
        "email": "smcv@collabora.com",
        "time": "Thu Apr 23 15:45:52 2026 +0100"
      },
      "message": "tests: Avoid undefined signed left-shift in bitlock test\n\nLeft-shifting 1 by 31 bits in the signed domain is UB. Detected by\nattempting to run the GLib test suite under ASan + UBSan.\n\nSigned-off-by: Simon McVittie \u003csmcv@collabora.com\u003e\n"
    },
    {
      "commit": "e99bab94b59fa772a0387eff579784a60865365f",
      "tree": "c3095b23584be6f8c1376a51431044584a1614da",
      "parents": [
        "388857bbe168d55be337e209dafed06cf46eb23d"
      ],
      "author": {
        "name": "Simon McVittie",
        "email": "smcv@collabora.com",
        "time": "Thu Apr 23 15:25:27 2026 +0100"
      },
      "committer": {
        "name": "Simon McVittie",
        "email": "smcv@collabora.com",
        "time": "Thu Apr 23 15:45:19 2026 +0100"
      },
      "message": "gvariant test: Don\u0027t leak GBytes\n\ng_variant_new_from_bytes() takes a reference, so the caller still has\nits original reference and is responsible for freeing it.\nDetected by attempting to run the GLib test suite under ASan + UBSan.\n\nSigned-off-by: Simon McVittie \u003csmcv@collabora.com\u003e\n"
    },
    {
      "commit": "388857bbe168d55be337e209dafed06cf46eb23d",
      "tree": "b7741647f0653c9646406891ee2e8b5da1745339",
      "parents": [
        "841df769f4450c8321c980357c4456fca4513bd8"
      ],
      "author": {
        "name": "Simon McVittie",
        "email": "smcv@collabora.com",
        "time": "Thu Apr 23 15:24:49 2026 +0100"
      },
      "committer": {
        "name": "Simon McVittie",
        "email": "smcv@collabora.com",
        "time": "Thu Apr 23 15:45:14 2026 +0100"
      },
      "message": "gvariant test: Make it more obvious that ownership is transferred\n\nSigned-off-by: Simon McVittie \u003csmcv@collabora.com\u003e\n"
    },
    {
      "commit": "6522dca1a609cfa2084b979018635e49211919df",
      "tree": "b3d920a9d10f35f09eba9cac5d7e0005ef067548",
      "parents": [
        "841df769f4450c8321c980357c4456fca4513bd8"
      ],
      "author": {
        "name": "Simon McVittie",
        "email": "smcv@collabora.com",
        "time": "Thu Apr 23 15:07:52 2026 +0100"
      },
      "committer": {
        "name": "Simon McVittie",
        "email": "smcv@collabora.com",
        "time": "Thu Apr 23 15:43:47 2026 +0100"
      },
      "message": "gvariant: Match allocation size of g_slice_new to g_slice_free\n\nCommit ebbeb318 \"gvariant: Tweak GVariantIter heap allocation size\"\nchanged the code path that allocates iterators on the heap to use\nthe full size of the public iterator struct (including padding),\nbut didn\u0027t change the matching g_slice_free() call. g_slice_free() is\nimplemented as basically g_free_sized(), so the size passed to it\nshould match the size that was allocated.\n\nFixes: ebbeb318 \"gvariant: Tweak GVariantIter heap allocation size\"\nSigned-off-by: Simon McVittie \u003csmcv@collabora.com\u003e\n"
    },
    {
      "commit": "841df769f4450c8321c980357c4456fca4513bd8",
      "tree": "3038d9f65d30b0b8e1c489e55e09a21a8fb953b5",
      "parents": [
        "a2a0c5963a5beed533c725a4d5fe2d93e30e1cfe",
        "333f751fd9cf5c87ea75758adac135e7e94a3f76"
      ],
      "author": {
        "name": "Emmanuele Bassi",
        "email": "ebassi@gmail.com",
        "time": "Thu Apr 23 11:17:52 2026 +0100"
      },
      "committer": {
        "name": "Emmanuele Bassi",
        "email": "ebassi@gmail.com",
        "time": "Thu Apr 23 11:17:52 2026 +0100"
      },
      "message": "Merge branch \u0027patch-2\u0027 into \u0027main\u0027\n\n[docs] Gio.MenuModel: Fix bulleted list\n\nSee merge request GNOME/glib!5161"
    },
    {
      "commit": "333f751fd9cf5c87ea75758adac135e7e94a3f76",
      "tree": "3038d9f65d30b0b8e1c489e55e09a21a8fb953b5",
      "parents": [
        "ab0538e6e6be905b5d5860a1d96ec7a01bd49938"
      ],
      "author": {
        "name": "FeRD (Frank Dana)",
        "email": "ferdnyc@gmail.com",
        "time": "Wed Apr 22 21:39:33 2026 -0400"
      },
      "committer": {
        "name": "FeRD (Frank Dana)",
        "email": "ferdnyc@gmail.com",
        "time": "Wed Apr 22 21:51:28 2026 -0400"
      },
      "message": "[docs] Glib: Fix formatting for several lists\n\nLists in doc comments need to be preceded with a blank line.\n"
    },
    {
      "commit": "ab0538e6e6be905b5d5860a1d96ec7a01bd49938",
      "tree": "b1fd1ebcbd5e7d305e6c9127ad80cc3bd8b95909",
      "parents": [
        "a2a0c5963a5beed533c725a4d5fe2d93e30e1cfe"
      ],
      "author": {
        "name": "FeRD (Frank Dana)",
        "email": "ferdnyc@gmail.com",
        "time": "Wed Apr 22 21:17:32 2026 -0400"
      },
      "committer": {
        "name": "FeRD (Frank Dana)",
        "email": "ferdnyc@gmail.com",
        "time": "Wed Apr 22 21:51:28 2026 -0400"
      },
      "message": "[docs] Gio: Fix formatting for several lists\n\nA list that isn\u0027t preceded by a blank line fails to be\nrecognized by the gi-docgen MarkDown parser.\n"
    },
    {
      "commit": "a2a0c5963a5beed533c725a4d5fe2d93e30e1cfe",
      "tree": "8f8b32552ee4a0e3c509128033a3da5b820731d9",
      "parents": [
        "543a25d1f48f64dc9e1f89f628083f68a6cd880a",
        "fe9ef12b3b142e34e35d924f023124af33553dc1"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Apr 22 14:42:52 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Apr 22 14:42:52 2026 +0000"
      },
      "message": "Merge branch \u0027windows-getsockname-unbound\u0027 into \u0027main\u0027\n\ngsocket: Fix g_socket_new_from_fd() on unbound sockets on windows\n\nSee merge request GNOME/glib!5158"
    },
    {
      "commit": "fe9ef12b3b142e34e35d924f023124af33553dc1",
      "tree": "30d4b8dfb4fd313ee651009f08a54f41ab19183c",
      "parents": [
        "99716ef7d42139ab8ce851cea0bfd571829a0efc"
      ],
      "author": {
        "name": "Polina Vishneva",
        "email": "polina.vishneva@virtuozzo.com",
        "time": "Mon Mar 30 22:22:17 2026 +0200"
      },
      "committer": {
        "name": "Polina Vishneva",
        "email": "polina.vishneva@virtuozzo.com",
        "time": "Wed Apr 22 15:54:14 2026 +0200"
      },
      "message": "gsocket: Fix g_socket_new_from_fd() on unbound sockets on Windows\n\ng_socket_details_from_fd() previously called getsockname() on all\nsockets to get the socket family, but the Winsock2 docs specify that\ngetsockname() returns WSAEINVAL if the socket wasn\u0027t bound yet.\n\nThe universal way to get the socket family across all socket states is\ngetsockopt() with SO_PROTOCOL_INFO (which returns WSAPROTOCOL_INFO).\n\nThis also incidentally fixes the Solaris path by using the queried\nfamily directly in the IPV4/IPV6 case instead of getting it from\naddress.storage, which may be empty.\n\nSigned-off-by: Polina Vishneva \u003cpolina.vishneva@virtuozzo.com\u003e\n"
    },
    {
      "commit": "543a25d1f48f64dc9e1f89f628083f68a6cd880a",
      "tree": "8dfa4ee28f4453acf4e690aeaa652607b05cce96",
      "parents": [
        "99716ef7d42139ab8ce851cea0bfd571829a0efc",
        "2cd1a1dbaddf579b6cd8407594a867e16d8cb53d"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue Apr 21 17:33:30 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue Apr 21 17:33:30 2026 +0000"
      },
      "message": "Merge branch \u0027variant-iter-allocation-again\u0027 into \u0027main\u0027\n\ngvariant: Tweak GVariantIter heap allocation size\n\nSee merge request GNOME/glib!5159"
    },
    {
      "commit": "2cd1a1dbaddf579b6cd8407594a867e16d8cb53d",
      "tree": "8dfa4ee28f4453acf4e690aeaa652607b05cce96",
      "parents": [
        "ebbeb3180d4a1a288ec6953ed29324759e5f3f2e"
      ],
      "author": {
        "name": "Luca Bacci",
        "email": "luca.bacci982@gmail.com",
        "time": "Tue Apr 21 15:54:28 2026 +0200"
      },
      "committer": {
        "name": "Luca Bacci",
        "email": "luca.bacci982@gmail.com",
        "time": "Tue Apr 21 16:37:39 2026 +0200"
      },
      "message": "GDBusConnection: Copy entire vtables to avoid -Walloc-size warnings\n\nWe now include padding entries in copied vtables\n"
    },
    {
      "commit": "ebbeb3180d4a1a288ec6953ed29324759e5f3f2e",
      "tree": "01bf06a978099e832fa860ea25018a44ffbc0e74",
      "parents": [
        "99716ef7d42139ab8ce851cea0bfd571829a0efc"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Tue Apr 21 14:20:19 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Tue Apr 21 14:20:19 2026 +0100"
      },
      "message": "gvariant: Tweak GVariantIter heap allocation size\n\nThis re-works commit 608b846f382c28b4f98639ae295cf8a52ce3f56e, because\nit didn’t actually fix the warning on msys2-clang64.\n\nRather than go through contortions to try and squash that warning, just\nallocate the full size struct instead. If people are worried about the\nallocation size here, they really should already be using a stack\nallocated GVariantIter instead.\n\nFixes CI failure https://gitlab.gnome.org/GNOME/glib/-/jobs/6444549.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "99716ef7d42139ab8ce851cea0bfd571829a0efc",
      "tree": "1f836fc47fde9502b5722934926452645eb8d7ef",
      "parents": [
        "a07480612b546f63b6dd5735c1281d3172d64a18",
        "608b846f382c28b4f98639ae295cf8a52ce3f56e"
      ],
      "author": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@gnome.org",
        "time": "Mon Apr 20 10:47:19 2026 -0500"
      },
      "committer": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@gnome.org",
        "time": "Mon Apr 20 10:47:19 2026 -0500"
      },
      "message": "Merge branch \u0027variant-iter-allocation\u0027 into \u0027main\u0027\n\ngvariant: Tweak GVariantIter heap allocation casting\n\nSee merge request GNOME/glib!5124"
    },
    {
      "commit": "a07480612b546f63b6dd5735c1281d3172d64a18",
      "tree": "dc9932d9d9ed65478a27ea4aa2b1fc51288fcf80",
      "parents": [
        "3f8a608fcc029e1d7d9c3066d9c750533ea18720",
        "998ada2249f48ea9bd625ec6e5d7d006e679d41a"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon Apr 20 14:17:38 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon Apr 20 14:17:38 2026 +0000"
      },
      "message": "Merge branch \u0027dbus-message-docs\u0027 into \u0027main\u0027\n\ngdbusmessage: Documentation improvements\n\nSee merge request GNOME/glib!5103"
    },
    {
      "commit": "998ada2249f48ea9bd625ec6e5d7d006e679d41a",
      "tree": "76b0e07ab4df01c65ffa4b732874a23c0dc20ceb",
      "parents": [
        "5b577531639f42f031118636ff1aac73ea851fb9"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Wed Mar 18 17:23:51 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Mon Apr 20 15:04:26 2026 +0100"
      },
      "message": "gdbusmessage: Convert a precondition into a GError\n\nThe `gdbus-serialization` test expects this to fail at runtime, so let’s\nconvert the new precondition check into a runtime check.\n\nSee also https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2355,\nwhich points to a similar approach.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "5b577531639f42f031118636ff1aac73ea851fb9",
      "tree": "e93285fc4199470760e0dcbfc2a775fe7b3e68d1",
      "parents": [
        "aa2e66011585c029c98f6b7824a61a6aeb7dda04"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Wed Mar 18 16:56:22 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Mon Apr 20 15:04:19 2026 +0100"
      },
      "message": "gdbusmessage: Reformat docs to fully use gi-docgen and match style guide\n\nhttps://developer.gnome.org/documentation/guidelines/devel-docs.html#writing-api-references\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\nHelps: #3250\n"
    },
    {
      "commit": "3f8a608fcc029e1d7d9c3066d9c750533ea18720",
      "tree": "06a1f8b63e0b5d7380abe240be6a58b5cb62a686",
      "parents": [
        "8d5515ac352add48c53fd477331097a61e9bb052",
        "e58a3116999282dd58d2dc168ffd86496f10632d"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon Apr 20 13:18:50 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon Apr 20 13:18:50 2026 +0000"
      },
      "message": "Merge branch \u0027regex-docs\u0027 into \u0027main\u0027\n\ngregex: Fix some missing Markdown formatting in docs\n\nSee merge request GNOME/glib!5125"
    },
    {
      "commit": "8d5515ac352add48c53fd477331097a61e9bb052",
      "tree": "c919d47b710f1e1685952ca893a3f22a4f2f4d58",
      "parents": [
        "5a86ff2b12b6fbb9ff02188b55bd06feecff80a1",
        "4b3e3b6b69ddbca73a888c53bd98ef6916a84490"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon Apr 20 13:12:45 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon Apr 20 13:12:45 2026 +0000"
      },
      "message": "Merge branch \u00273932-dbus-introspection-parsing\u0027 into \u0027main\u0027\n\ngdbusintrospection: Fix XML parser state handling for \u003cnode\u003e element nesting\n\nCloses #3932\n\nSee merge request GNOME/glib!5156"
    },
    {
      "commit": "4b3e3b6b69ddbca73a888c53bd98ef6916a84490",
      "tree": "edeb5c942d2b7537c4d65a0a5e911fe1ba74c9b0",
      "parents": [
        "c9da977c178fbfc0e4caf99f9fdf5dc433d6fcc2"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Sun Apr 19 12:16:03 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Mon Apr 20 13:38:58 2026 +0100"
      },
      "message": "fuzzing: Add a fuzz test for g_dbus_node_info_new_for_xml()\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n\nHelps: #3932\n"
    },
    {
      "commit": "5a86ff2b12b6fbb9ff02188b55bd06feecff80a1",
      "tree": "8f20bbd62158c72454488f10bced63a548e13872",
      "parents": [
        "45eec04c506b31ae39a78ef17cf729b06abc7584",
        "4a502ae9e113a1c41db7fa0b88de2c4dfb221c88"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon Apr 20 11:47:12 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon Apr 20 11:47:12 2026 +0000"
      },
      "message": "Merge branch \u0027update-translation-nl-from-main-12faf430-3bea-11f1-96ac-0a580a820492\u0027 into \u0027main\u0027\n\nUpdate Dutch translation\n\nSee merge request GNOME/glib!5157"
    },
    {
      "commit": "4a502ae9e113a1c41db7fa0b88de2c4dfb221c88",
      "tree": "8f20bbd62158c72454488f10bced63a548e13872",
      "parents": [
        "45eec04c506b31ae39a78ef17cf729b06abc7584"
      ],
      "author": {
        "name": "Nathan Follens",
        "email": "nfollens@gnome.org",
        "time": "Sun Apr 19 12:20:09 2026 +0000"
      },
      "committer": {
        "name": "GNOME Translation Robot",
        "email": "gnome-sysadmin@gnome.org",
        "time": "Sun Apr 19 12:20:09 2026 +0000"
      },
      "message": "Update Dutch translation\n"
    },
    {
      "commit": "45eec04c506b31ae39a78ef17cf729b06abc7584",
      "tree": "cb8b8e08b6f69d55f762ad43b65a55131956355c",
      "parents": [
        "1676bdee2b0e45c2c3b796f9be60c90246ff395b",
        "29a463fa110ef0ec1b60297c1a46c185a94d208b"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Sun Apr 19 10:58:43 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Sun Apr 19 10:58:43 2026 +0000"
      },
      "message": "Merge branch \u0027update-translation-de-from-main-d4838dfc-3b2b-11f1-a8a7-0a580a800632\u0027 into \u0027main\u0027\n\nUpdate German translation\n\nSee merge request GNOME/glib!5155"
    },
    {
      "commit": "29a463fa110ef0ec1b60297c1a46c185a94d208b",
      "tree": "cb8b8e08b6f69d55f762ad43b65a55131956355c",
      "parents": [
        "1676bdee2b0e45c2c3b796f9be60c90246ff395b"
      ],
      "author": {
        "name": "Christian Kirbach",
        "email": "christian.kirbach@gmail.com",
        "time": "Sat Apr 18 13:38:18 2026 +0000"
      },
      "committer": {
        "name": "GNOME Translation Robot",
        "email": "gnome-sysadmin@gnome.org",
        "time": "Sat Apr 18 13:38:18 2026 +0000"
      },
      "message": "Update German translation\n"
    },
    {
      "commit": "c9da977c178fbfc0e4caf99f9fdf5dc433d6fcc2",
      "tree": "75abc190343d3bf37bada7498ba04a3ca2cafeb2",
      "parents": [
        "7b276f05f66cc0df609ba68f76b8a8f4cd5297cb"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu Apr 16 15:27:37 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu Apr 16 15:27:37 2026 +0100"
      },
      "message": "gdbusintrospection: Fix XML parser state handling for \u003cnode\u003e element nesting\n\nThe check for whether a `\u003cnode\u003e` element in D-Bus introspection XML was\nnested correctly was broken. `\u003cnode\u003e` elements can only be at the top\nlevel, or nested immediately within another `\u003cnode\u003e` element.\n\nFix the check and add some unit tests for it.\n\nSpotted by linhlhq as #YWH-PGM9867-204. The fix is mine, and the unit test\nuses example XML strings adapted from their report.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n\nFixes: #3932\n"
    },
    {
      "commit": "7b276f05f66cc0df609ba68f76b8a8f4cd5297cb",
      "tree": "76351a5ad96a576f8f234a88d9640e53bd9cd453",
      "parents": [
        "656ad4582cb1d7a7fa8bafe3ce8aec6aa3c17da0"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu Apr 16 15:17:48 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu Apr 16 15:17:48 2026 +0100"
      },
      "message": "tests: Improve D-Bus introspection test paths\n\nThis makes them more consistent with how test paths are meant to be\nused.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "656ad4582cb1d7a7fa8bafe3ce8aec6aa3c17da0",
      "tree": "7576ae4d8adedf08900638cc289dd8b739ec9bd6",
      "parents": [
        "1676bdee2b0e45c2c3b796f9be60c90246ff395b"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu Apr 16 15:08:10 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu Apr 16 15:08:10 2026 +0100"
      },
      "message": "gdbusintrospection: Add some assertions before array dereferences\n\nThe state handling inside the D-Bus introspection XML parser is\ncomplicated, and it’s possible that these dereferences of the\n`len - 1`th element might get reached when the array is empty.\n\nMake failures like that more debuggable by adding an assertion on the\nlength beforehand.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n\nHelps: #3932\n"
    },
    {
      "commit": "5f6d86b50bebf5458ab1becf4de2c5e5f066122b",
      "tree": "db60ea7dde11560dcfb5de98b1eb5e6dffd53827",
      "parents": [
        "1676bdee2b0e45c2c3b796f9be60c90246ff395b"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Sat Apr 11 14:42:57 2026 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Sat Apr 11 14:42:57 2026 +0100"
      },
      "message": "gkeyfile: Fix a one-byte heap under-read with g_key_file_get_locale_string_list()\n\nIf this method was called on a key file key which has an empty value,\n`len \u003d\u003d 0` and this leads to a one-byte under-read off the start of the\nkey file buffer.\n\nSpotted by linhlhq as #YWH-PGM9867-200. The suggested fix is theirs, and\nthe unit test is adapted from their report. I added the fuzzing test.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n\nFixes: #3930\n"
    },
    {
      "commit": "1676bdee2b0e45c2c3b796f9be60c90246ff395b",
      "tree": "4d66a1045f5536edefcb78f1f90e92e4af1ad619",
      "parents": [
        "8159c500a789ac7df3bd79120e8557e2c1cb1e13",
        "0f0f704fd784d16accb490f9d1a58ce09cba1f57"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Sat Apr 11 13:15:47 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Sat Apr 11 13:15:47 2026 +0000"
      },
      "message": "Merge branch \u0027socket-connection-get-socket-docs\u0027 into \u0027main\u0027\n\ngsocketconnection: Fix annotations for get_socket()\n\nSee merge request GNOME/glib!5142"
    },
    {
      "commit": "8159c500a789ac7df3bd79120e8557e2c1cb1e13",
      "tree": "86b394c1056996a079b3497e72949035783d5bf4",
      "parents": [
        "0938924206f8ef6ea0676087273786429da0711d",
        "b6845dde24a2ea2f70f0c318cb768d1cc4d7f6dc"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Sat Apr 11 12:40:12 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Sat Apr 11 12:40:12 2026 +0000"
      },
      "message": "Merge branch \u0027docs-small-fixes\u0027 into \u0027main\u0027\n\ngtype: Improve G_DEFINE and G_DECLARE docs\n\nSee merge request GNOME/glib!5149"
    },
    {
      "commit": "0938924206f8ef6ea0676087273786429da0711d",
      "tree": "4a4ef33963faa9a0b2079edc20b46810cd637769",
      "parents": [
        "e890767541f18cbe532bfe05708d95644a695c63",
        "ff844189a7067a54d56cd525c103b2a086546321"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Sat Apr 11 12:37:34 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Sat Apr 11 12:37:34 2026 +0000"
      },
      "message": "Merge branch \u0027chain-up-settings-backend\u0027 into \u0027main\u0027\n\nregistrysettingsbackend: Chain up vfuncs\n\nSee merge request GNOME/glib!5148"
    },
    {
      "commit": "e890767541f18cbe532bfe05708d95644a695c63",
      "tree": "bab9456c99d1f76a9bbf76a7ee71fa4b3620c2a8",
      "parents": [
        "d480156170b8496c3cea20e5baf08b2c03882781",
        "6b458c03f9c7b95b0e39f1b70413e6c818ecc72a"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Sat Apr 11 12:25:03 2026 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Sat Apr 11 12:25:03 2026 +0000"
      },
      "message": "Merge branch \u0027cm/add-missing-stdlib-include\u0027 into \u0027main\u0027\n\ngmessages: Add missing stdlib.h include for abort()\n\nSee merge request GNOME/glib!5146"
    }
  ],
  "next": "d480156170b8496c3cea20e5baf08b2c03882781"
}
