)]}'
{
  "log": [
    {
      "commit": "a454e6f4ff3ed28f9d930d6cb2e98eeda6f4b6f2",
      "tree": "082aecaf65cbde1d44fe3d714d29520a9d1ffc4e",
      "parents": [
        "79c6eef0a1a9462e9c0b80a417406c8656c28eb1"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Mon May 04 08:36:58 2026 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Mon May 04 08:36:58 2026 +0200"
      },
      "message": "xmlschemas: Initialize some variables\n"
    },
    {
      "commit": "79c6eef0a1a9462e9c0b80a417406c8656c28eb1",
      "tree": "a5bf0d0ed87bd1e08bd2ccc2434a78a7d5ac7b41",
      "parents": [
        "61e5f3ea97609bb221a355579d2285ddd28d90d2"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Mon May 04 07:56:18 2026 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Mon May 04 07:56:18 2026 +0200"
      },
      "message": "xmlregexp: Calc string length after null checking\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/work_items/1107\n"
    },
    {
      "commit": "61e5f3ea97609bb221a355579d2285ddd28d90d2",
      "tree": "ec458be48f02d41d1762ee3c994fce8989512a92",
      "parents": [
        "b9da8bcc7854cfb950d7db2e35fec808eea12e46"
      ],
      "author": {
        "name": "mohammadmseet-hue",
        "email": "mohammadmseet@gmail.com",
        "time": "Thu Apr 16 02:54:37 2026 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Fri Apr 24 05:43:17 2026 +0000"
      },
      "message": "fix: add bounds checks to xmlSnprintfElements in valid.c\n\nCVE-2025-24928 fixed xmlSnprintfElementContent for unchecked strcat()\nwrites, but the sibling function xmlSnprintfElements has the identical\nunfixed pattern. The strcat(buf, \"(\") before the while loop and\nstrcat(buf, \")\") after the loop exit have no bounds checks.\n\nAdd remaining-space checks before both strcat calls, with early return\nand ellipsis when space is insufficient.\n"
    },
    {
      "commit": "b9da8bcc7854cfb950d7db2e35fec808eea12e46",
      "tree": "05200691fd432ebab7dcbb83419c73d5c36b0333",
      "parents": [
        "e41032ae9f94d0db2d1074eb68ac7d69bd9e0992"
      ],
      "author": {
        "name": "mohammadmseet-hue",
        "email": "mohammadmseet@gmail.com",
        "time": "Thu Apr 16 02:54:30 2026 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Fri Apr 24 05:43:17 2026 +0000"
      },
      "message": "fix: add length check to xmlURIEscapeStr in uri.c\n\nCommit 538b2e38 fixed xmlBuildRelativeURISafe for the pattern where\nxmlStrlen() returns 0 for strings longer than INT_MAX, but\nxmlURIEscapeStr was not fixed. Without the check, len \u003d 0 + 20, and\nthe write loop eventually overflows via int wrapping of the out counter.\n\nAdd a return NULL guard when xmlStrlen returns 0.\n"
    },
    {
      "commit": "e41032ae9f94d0db2d1074eb68ac7d69bd9e0992",
      "tree": "8cb8a1e4ce88d1c9faa99e0604368f0dbb1103b5",
      "parents": [
        "a7511af09f99995cdf81994db21f4eba564276b5"
      ],
      "author": {
        "name": "mohammadmseet-hue",
        "email": "mohammadmseet@gmail.com",
        "time": "Thu Apr 16 02:54:24 2026 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Fri Apr 24 05:43:17 2026 +0000"
      },
      "message": "fix: add overflow checks to xmlDictAddQString in dict.c\n\nxmlDictAddString has overflow guards for pool size calculations, but its\nsibling xmlDictAddQString lacks these entirely. The namelen + plen + 1\naddition can overflow unsigned int, and 4 * (overflowed_value) produces\na small allocation, leading to heap buffer overflow when memcpy writes\nthe prefix and name.\n\nAdd the same SIZE_MAX-based overflow guards and safe size_t cast.\n"
    },
    {
      "commit": "a7511af09f99995cdf81994db21f4eba564276b5",
      "tree": "1b836b6360aa3f6d21c72a38e99cbc927c92a538",
      "parents": [
        "7cea3fd1557437b88f2c7b5e1b71a2d5fb152b55"
      ],
      "author": {
        "name": "Hieu Le Minh",
        "email": "leminhhieu.opensource@gmail.com",
        "time": "Sat Apr 18 21:18:24 2026 +0700"
      },
      "committer": {
        "name": "Hieu Le Minh",
        "email": "leminhhieu.opensource@gmail.com",
        "time": "Sat Apr 18 21:37:23 2026 +0700"
      },
      "message": "xmlregexp: Prevent out-of-bounds read in NXT macro\n\nFixes: https://gitlab.gnome.org/GNOME/libxml2/-/issues/1099\n"
    },
    {
      "commit": "7cea3fd1557437b88f2c7b5e1b71a2d5fb152b55",
      "tree": "88f55f5710ee15d49fdbc54a387b9faf535d59ce",
      "parents": [
        "226b560837b90dea9b14431eca6e6fda8fb01ab4"
      ],
      "author": {
        "name": "Ariel Schon",
        "email": "ariel.schon12@gmail.com",
        "time": "Tue Apr 14 21:57:19 2026 +0000"
      },
      "committer": {
        "name": "Ariel Schon",
        "email": "ariel.schon12@gmail.com",
        "time": "Tue Apr 14 21:57:19 2026 +0000"
      },
      "message": "testparser: Add regression test for entity expansion under XSD validation\n\nCovers the xmlParseReference type confusion: without the preceding\nfix, xmlTextReaderSetSchema + an internal entity reference crashes\nwith SIGSEGV on the first read. The test also guards against a\nsilent validation bypass by feeding invalid entity-expanded content\nand asserting that the schema reports the element as invalid.\n"
    },
    {
      "commit": "226b560837b90dea9b14431eca6e6fda8fb01ab4",
      "tree": "af9cc2e4f7252043cd62eccc3578e9745c43738b",
      "parents": [
        "310564cc6b2c5766bbf053bc29353df6e6a655b6"
      ],
      "author": {
        "name": "Ariel Schon",
        "email": "ariel.schon12@gmail.com",
        "time": "Tue Apr 14 21:57:15 2026 +0000"
      },
      "committer": {
        "name": "Ariel Schon",
        "email": "ariel.schon12@gmail.com",
        "time": "Tue Apr 14 21:57:15 2026 +0000"
      },
      "message": "parser: Pass userData to SAX text callbacks in xmlParseReference\n\nWhen replaceEntities is on and the entity\u0027s cached tree is reused,\nthe first/last text-child optimization in xmlParseReference called\nctxt-\u003esax-\u003echaracters / cdataBlock with ctxt as the first argument\ninstead of ctxt-\u003euserData. Every other SAX callsite in parser.c\ncorrectly passes ctxt-\u003euserData.\n\nWith xmlSchemaSAXPlug installed (as set up by\nxmlTextReaderSetSchema / xmlTextReaderSchemaValidate), userData is\na _xmlSchemaSAXPlug*, so handing over a raw ctxt to the registered\ncharactersSplit handler produces a type-confused dereference:\ncharactersSplit reads ctxt-\u003emyDoc as user_sax and ctxt-\u003emyDoc-\u003eURL\nas user_sax-\u003echaracters, then calls that string pointer as code.\nThe result is a reliable SIGSEGV on the first entity reference in\nany XSD-validated xmlTextReader stream (and a silent validation\nbypass on the rare targets where the confused call doesn\u0027t crash).\n\nFix by passing ctxt-\u003euserData, matching the rest of the file.\n"
    },
    {
      "commit": "310564cc6b2c5766bbf053bc29353df6e6a655b6",
      "tree": "951e9c371deb568f3b154c582e63ba9f5eb90edf",
      "parents": [
        "05a8ffeada05501f7a0288454e79c21203a31dd1"
      ],
      "author": {
        "name": "James Lan",
        "email": "jameslan@gmail.com",
        "time": "Mon Apr 13 09:47:50 2026 +0000"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Mon Apr 13 09:47:50 2026 +0000"
      },
      "message": "schemas: Fix relative schemaLocation resolution in XSI assembly in streaming mode\n"
    },
    {
      "commit": "05a8ffeada05501f7a0288454e79c21203a31dd1",
      "tree": "42e0453f756793ded7755313658deb13db511739",
      "parents": [
        "c9aa3048eb55333a51b4176599c4e1c7a5458561"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Tue Apr 07 19:42:45 2026 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Mon Apr 13 09:21:20 2026 +0000"
      },
      "message": "runtest: Add xmlCopyEntity test\n\nMakes sure that entities are copied correctly with xmlCopyDoc.\n\nSee https://gitlab.gnome.org/GNOME/libxml2/-/issues/1074\n"
    },
    {
      "commit": "c9aa3048eb55333a51b4176599c4e1c7a5458561",
      "tree": "54196468ef3d6eb03d4226a4c0c88271f45d108e",
      "parents": [
        "0fd00ec5f51065340c98f084df045d76258c6bc3"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Tue Apr 07 19:00:36 2026 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Mon Apr 13 09:21:20 2026 +0000"
      },
      "message": "entities: copy children in xmlCopyEntity\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1074\n"
    },
    {
      "commit": "0fd00ec5f51065340c98f084df045d76258c6bc3",
      "tree": "8f9638254b3e3f3ca041061aba4ac47ee8639971",
      "parents": [
        "07b13346cb7421090545bfb29f58bcbef8d36261"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Thu Apr 09 14:11:48 2026 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Fri Apr 10 12:28:55 2026 +0000"
      },
      "message": "c14n: Fix Type confusion in xmlC14NProcessAttrsAxis\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1096\n\nThanks to Nick Wellnhofer for the report.\n"
    },
    {
      "commit": "07b13346cb7421090545bfb29f58bcbef8d36261",
      "tree": "cc6d2644922227a95378418130bff6cdcf9d7339",
      "parents": [
        "7736789aba86915a7418b27cf8b747d3f97c56e5"
      ],
      "author": {
        "name": "Hieu Le Minh",
        "email": "leminhhieu.opensource@gmail.com",
        "time": "Sat Apr 04 12:21:01 2026 +0700"
      },
      "committer": {
        "name": "Hieu Le Minh",
        "email": "leminhhieu.opensource@gmail.com",
        "time": "Wed Apr 08 07:15:10 2026 +0700"
      },
      "message": "xmlregexp: Add support for non-standard escapes in character groups\n\nContinue from https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/116\n"
    },
    {
      "commit": "7736789aba86915a7418b27cf8b747d3f97c56e5",
      "tree": "7a63c433bbd978328517121312a8e87fc1cadae4",
      "parents": [
        "cf5da892330bbbfcfada26f62b4c616010fb5c20"
      ],
      "author": {
        "name": "Yenya",
        "email": "yenya030@gmail.com",
        "time": "Wed Mar 25 17:16:15 2026 +0000"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Tue Mar 31 12:06:55 2026 +0000"
      },
      "message": "xmlreader: propagate reader resource loaders to validator parsers"
    },
    {
      "commit": "cf5da892330bbbfcfada26f62b4c616010fb5c20",
      "tree": "7e403d90f46cd038a98e66c22056f09248944436",
      "parents": [
        "cd13f0675899a31fa4cfc9a32ec3b53ad7547ca5"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Mon Mar 30 13:02:38 2026 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Tue Mar 31 10:59:39 2026 +0000"
      },
      "message": "python: Fix generator.py with python3 unicode\n"
    },
    {
      "commit": "cd13f0675899a31fa4cfc9a32ec3b53ad7547ca5",
      "tree": "bdcd9456f3bc43ceed5c000882cd3c8c5d717830",
      "parents": [
        "5853eb53e12bd55ad5fafde4607be430aabfc94e"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Mon Mar 30 11:59:33 2026 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Tue Mar 31 10:59:39 2026 +0000"
      },
      "message": "python: Make python bindings python2 compatible\n\nThis fix was provided by @ryandesign\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1092\n"
    },
    {
      "commit": "5853eb53e12bd55ad5fafde4607be430aabfc94e",
      "tree": "ba77e3dce760e963887013a74d1a63adc7804043",
      "parents": [
        "965750fcda6f23cf45dc7f35e011eb23747f58bf"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Tue Mar 31 12:42:13 2026 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Tue Mar 31 12:42:13 2026 +0200"
      },
      "message": "python: Add more regexp tests\n\nSee https://gitlab.gnome.org/GNOME/libxml2/-/issues/1086\n"
    },
    {
      "commit": "965750fcda6f23cf45dc7f35e011eb23747f58bf",
      "tree": "8fdcd1abe5d832f3b87c33518334bafa5622ecd9",
      "parents": [
        "ca6a8cf94672e6f3c48c08d6af2201599788fc17"
      ],
      "author": {
        "name": "Hieu Le Minh",
        "email": "leminhhieu.opensource@gmail.com",
        "time": "Wed Mar 25 19:19:26 2026 +0700"
      },
      "committer": {
        "name": "Hieu Le Minh",
        "email": "leminhhieu.opensource@gmail.com",
        "time": "Fri Mar 27 10:19:30 2026 +0700"
      },
      "message": "xmlregexp: Fix escape-sequence character range matching\n\nFixes: https://gitlab.gnome.org/GNOME/libxml2/-/issues/1086\n"
    },
    {
      "commit": "ca6a8cf94672e6f3c48c08d6af2201599788fc17",
      "tree": "b3aeda4fcae334e527e7956b6c9fed11da0f75db",
      "parents": [
        "00cec2bea400d4296b0b429458a283b4de890d49"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Tue Mar 17 20:30:53 2026 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Wed Mar 18 10:23:01 2026 +0100"
      },
      "message": "runtest: Add test for Memory leak in xmlInputFromFd\n\nSee https://gitlab.gnome.org/GNOME/libxml2/-/issues/1075\n"
    },
    {
      "commit": "00cec2bea400d4296b0b429458a283b4de890d49",
      "tree": "feaf2e544e4b58ceac2a72a310929adee02a306f",
      "parents": [
        "8f5f02ba295a20dfc5ddd8de03894918c5870ec8"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Mon Mar 16 20:38:57 2026 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Tue Mar 17 20:29:07 2026 +0100"
      },
      "message": "xmlreader: Free input in xmlReaderForFd\n\nxmlInputFromFd creates a new descriptor with \"dup\" so we need to keep\nthe closecallback if the input is compressed.\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1075\n"
    },
    {
      "commit": "8f5f02ba295a20dfc5ddd8de03894918c5870ec8",
      "tree": "0b8493a0fbe6c126b29fb28243e53e0cabde0b2e",
      "parents": [
        "ad6111de9608425c13f1e715c90d053f0f4d1b45"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Tue Mar 10 19:19:02 2026 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Mon Mar 16 06:53:43 2026 +0000"
      },
      "message": "xmlstring: Free cur on every error for xmlStrncat\n\nThis change makes the behavior of xmlStrncat coherent, if it returns\nNULL, the *cur pointer should be freed as the doc said that it shouldn\u0027t\nbe freed by the caller. If this function takes ownership of the pointer,\nwe should make sure to free the memory everytime we return NULL or we\ncan have memory leaks.\n\nSee https://gitlab.gnome.org/GNOME/libxml2/-/issues/1073\n"
    },
    {
      "commit": "ad6111de9608425c13f1e715c90d053f0f4d1b45",
      "tree": "3b97cef9cceb7cfc6d74893efb8cf37aa5d7dadd",
      "parents": [
        "046931e64e9e081e82c341f6455d070716fb8cf2"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Mon Mar 09 11:11:53 2026 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Mon Mar 16 06:53:43 2026 +0000"
      },
      "message": "c14n: Reuse tmp_str, xmlStrcat reallocates *cur\n\nxmlStrcat reallocates the dest string, so there\u0027s no need to use\ntmp_str2 and free if it fails.\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1073\n"
    },
    {
      "commit": "046931e64e9e081e82c341f6455d070716fb8cf2",
      "tree": "21e33777563e28f98130f619d32faffe8c81731b",
      "parents": [
        "53c3fe2ef455d5dad834fd62e0ccb286e9918320"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Tue Mar 10 20:30:20 2026 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Mon Mar 16 06:45:13 2026 +0000"
      },
      "message": "python: Do not decref string after adding to the list\n\nThe python API PyList_SetItem function \"steals\" a reference to item, so\nwe don\u0027t need to call Py_DECREF here.\n\nhttps://docs.python.org/3.13/c-api/list.html#c.PyList_SetItem\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1076\n"
    },
    {
      "commit": "53c3fe2ef455d5dad834fd62e0ccb286e9918320",
      "tree": "6d5f7227c3066d25f9541f3f629f783f89402ab8",
      "parents": [
        "4b35628e97472eaf23d8a841d2f711f7c2f96255"
      ],
      "author": {
        "name": "LCaliman",
        "email": "laureen0alexa@gmail.com",
        "time": "Sun Mar 15 18:11:25 2026 -0400"
      },
      "committer": {
        "name": "Laureen Caliman",
        "email": "laureen0alexa@proton.me",
        "time": "Sun Mar 15 23:44:37 2026 +0000"
      },
      "message": "test: fix mismatched signed/unsigned comparison\n"
    },
    {
      "commit": "4b35628e97472eaf23d8a841d2f711f7c2f96255",
      "tree": "97d54a1b67e3b21713c5a303f0acfeee85d60dc4",
      "parents": [
        "fac4411aa65a2ebf936be50856ab14c148966e9d"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Tue Feb 24 14:47:57 2026 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Thu Mar 05 18:55:25 2026 +0000"
      },
      "message": "Fix nanohttp.c build when --without-output\n\nThe xmlRegisterHTTPPostCallbacks and xmlRegisterDefaultOutputCallbacks\nare inside \"#ifdef LIBXML_OUTPUT_ENABLED\" in the xmlIO.h, so we should\nhave the same in the nanohttp.c\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1057\n"
    },
    {
      "commit": "fac4411aa65a2ebf936be50856ab14c148966e9d",
      "tree": "c16f4276476e7669f120244ede7164acb8de5909",
      "parents": [
        "9036f16395cc96b04f5dcfc7d38aef3280aa1594"
      ],
      "author": {
        "name": "Jan Alexander Steffens (heftig)",
        "email": "heftig@archlinux.org",
        "time": "Wed Mar 04 19:08:16 2026 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Thu Mar 05 18:31:27 2026 +0100"
      },
      "message": "catalog: Free xmlCatalogResolveCache on cleanup\n\nOtherwise the `tstLastError.py` test will complain about a memory leak.\n\nFixes: b706c5c5b7ce11d002a5b77ff938aa3693931c12 (Add xmlCatalogResolveCache)\nFixes: https://gitlab.gnome.org/GNOME/libxml2/-/issues/1069\n"
    },
    {
      "commit": "9036f16395cc96b04f5dcfc7d38aef3280aa1594",
      "tree": "ed30b8597728e4d960de188cf70961d5a93b89ef",
      "parents": [
        "ee9fdfcc244a5d06b5b087437f5cb3decd05d689"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Thu Mar 05 11:14:57 2026 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Thu Mar 05 11:16:48 2026 +0100"
      },
      "message": "CI: Remove not working ci jobs\n\nThe fork repo used in downstream-perl and downstream-xmlstarlet doesn\u0027t\nexists anymore so these jobs fails always.\n"
    },
    {
      "commit": "ee9fdfcc244a5d06b5b087437f5cb3decd05d689",
      "tree": "e2dba92adce4edeef8c677c688b92a251fb30600",
      "parents": [
        "0d98fe84c8883e70f6728daa13e13c42367b520b"
      ],
      "author": {
        "name": "ylwango613",
        "email": "1217816127@qq.com",
        "time": "Tue Feb 24 20:19:43 2026 +0800"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Mon Mar 02 10:03:52 2026 +0000"
      },
      "message": "catalog: fix stack overflow from self-referencing SGML CATALOG entries\n\nAn SGML catalog file with multiple CATALOG directives referencing itself\ncauses exponential recursion in xmlParseSGMLCatalog(), leading to stack\noverflow. With K self-referencing entries and MAX_CATAL_DEPTH\u003d50, total\nrecursive parses \u003d K^50.\n\nAdd deduplication by registering expanded filenames in the catalog hash\ntable before calling xmlExpandCatalog(), consistent with the existing\nsuper branch.\n\nCloses #1064\n"
    },
    {
      "commit": "0d98fe84c8883e70f6728daa13e13c42367b520b",
      "tree": "7ae36946707e4108e46821288e8486801567df04",
      "parents": [
        "28da8549a0519c11b5bb40cbb62c8f5fa67da83d"
      ],
      "author": {
        "name": "Stéphane Cerveau",
        "email": "scerveau@igalia.com",
        "time": "Sun Mar 01 20:32:21 2026 +0100"
      },
      "committer": {
        "name": "Stéphane Cerveau",
        "email": "scerveau@igalia.com",
        "time": "Sun Mar 01 20:44:16 2026 +0100"
      },
      "message": "meson: remove hardcoded buildtype\u003ddebug default\n\nForcing buildtype\u003ddebug can cause CRT mismatches on Windows. For\nexample, a release-built glib-compile-resources spawning a debug-built\nxmllint crashes with STATUS_STACK_BUFFER_OVERRUN (0xC0000409) due to\nthe debug/release CRT incompatibility (ucrtbased.dll vs ucrtbase.dll).\n\nA Meson 1.8 regression (fixed in 1.8.3) also caused subproject\ndefault_options to incorrectly override command-line options.\n\nLet Meson use its own default (debugoptimized) instead.\n"
    },
    {
      "commit": "28da8549a0519c11b5bb40cbb62c8f5fa67da83d",
      "tree": "d1fdfaccba766a00ebd3fb3e4431c5ad375930a5",
      "parents": [
        "97233ebe302efdd1f1d7213480d52183b6c07666"
      ],
      "author": {
        "name": "ylwango613",
        "email": "1217816127@qq.com",
        "time": "Tue Feb 24 18:23:50 2026 +0800"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Thu Feb 26 10:36:28 2026 +0000"
      },
      "message": "schematron: fix additional memory leaks on error paths\n\nIn xmlSchematronParseRule, free report when xmlSchematronAddTest fails\nin the assert and report blocks.\n\nIn xmlSchematronAddTest, free the compiled XPath expression when\nxmlMalloc fails.\n"
    },
    {
      "commit": "97233ebe302efdd1f1d7213480d52183b6c07666",
      "tree": "412f33548cb0b20cf142336411dc7db09cf10377",
      "parents": [
        "edb5f22d6813d55bed75da0772bda872fc54a479"
      ],
      "author": {
        "name": "ylwango613",
        "email": "1217816127@qq.com",
        "time": "Tue Feb 24 18:20:42 2026 +0800"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Thu Feb 26 10:36:28 2026 +0000"
      },
      "message": "schematron: fix memory leaks on error paths in xmlSchematronParseRule\n\nFree allocated name and value before early returns in the let-variable\nparsing block. Previously, name was leaked when value was NULL or empty,\nand both name and value were leaked when XPath compilation failed.\n"
    },
    {
      "commit": "edb5f22d6813d55bed75da0772bda872fc54a479",
      "tree": "fbdd8a0530fd746ae76c1ad9ef91a554c875318a",
      "parents": [
        "538b2e38a6c6f2b662c532e9ac1520b768d2472f"
      ],
      "author": {
        "name": "ylwango613",
        "email": "1217816127@qq.com",
        "time": "Fri Feb 20 20:04:43 2026 +0800"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Thu Feb 26 10:36:28 2026 +0000"
      },
      "message": "schematron: fix NULL pointer dereference in xmlSchematronParseRule\n\nThe return value of xmlMalloc at schematron.c:1007 was not checked for\nNULL before being dereferenced. A memory allocation failure would cause\na write to address 0x8 (NULL + offset), resulting in a segmentation\nfault.\n\nEvery other xmlMalloc call in schematron.c already has a proper NULL\ncheck. This patch adds the missing check and frees the name, value, and\ncompiled XPath expression before returning to avoid memory leaks on the\nerror path.\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1059\n"
    },
    {
      "commit": "538b2e38a6c6f2b662c532e9ac1520b768d2472f",
      "tree": "ab07a8f93186fced260d698b08b4a0d13a5c63d4",
      "parents": [
        "e334a9d661c175203517565c4efae87a6577d5eb"
      ],
      "author": {
        "name": "ylwango613",
        "email": "1217816127@qq.com",
        "time": "Fri Feb 20 17:12:42 2026 +0800"
      },
      "committer": {
        "name": "ylwango613",
        "email": "1217816127@qq.com",
        "time": "Fri Feb 20 20:00:35 2026 +0800"
      },
      "message": "uri: fix signed integer overflow in xmlBuildRelativeURISafe\n\nThis patch changes the types of ix, nbslash, len, and pos from int to\nsize_t in xmlBuildRelativeURISafe. These variables are used to index\nand measure path strings that can exceed INT_MAX bytes (~2.14 GB),\ncausing two independent signed integer overflow vulnerabilities.\n\n1. The loop counter ix can overflow from INT_MAX to INT_MIN when\n   traversing a base path longer than INT_MAX bytes, leading to an\n   out-of-bounds read (CWE-125).\n\n2. The expression 3 * nbslash in the xmlMalloc size argument can\n   overflow int, resulting in an undersized allocation followed by\n   a heap buffer overflow in the write loop (CWE-122).\n\nAn overflow check is also added before the xmlMalloc call to handle\nthe case where the size_t arithmetic would itself overflow.\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1062\n"
    },
    {
      "commit": "e334a9d661c175203517565c4efae87a6577d5eb",
      "tree": "7f8e579f602df11851622d9052ea71ed0a3ccfa0",
      "parents": [
        "a04adcd7be62e927f8763ed904c651aa704e2243"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Thu Feb 19 20:52:40 2026 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Thu Feb 19 20:52:40 2026 +0100"
      },
      "message": "xmlIO: use size_t for buffer size reallocation\n\nThis patch changes the newSize variable from int to size_t. This\nvariable is used to calculate the new buffer size and operates with\nother size_t declared variables (size and totalSize) so the size_t is\nthe correct type to use here.\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1060\n"
    },
    {
      "commit": "a04adcd7be62e927f8763ed904c651aa704e2243",
      "tree": "95a481f5ae589d65e347bbe7a56ed2a530e81a4b",
      "parents": [
        "ab7693ab4a24480e0f3a4c7ed1fcbf490a36c38c"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Fri Feb 06 10:11:47 2026 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Tue Feb 17 11:28:43 2026 +0000"
      },
      "message": "Add xmlCatalogResolveCache\n\nThis will improve performance in entity resolution by avoiding checking\nthe same catalog several times.\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1051\n"
    },
    {
      "commit": "ab7693ab4a24480e0f3a4c7ed1fcbf490a36c38c",
      "tree": "36c4e34135ecfcfd993d2a06b0d29ecdddab08e1",
      "parents": [
        "a03b03df5b1153b18b3f9a472e679dd58c220e8a"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Tue Feb 17 12:17:24 2026 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Tue Feb 17 12:17:24 2026 +0100"
      },
      "message": "Revert \"uri: Handle \\\u0027s in path for xmlParseURI\"\n\nThis reverts commit a03b03df5b1153b18b3f9a472e679dd58c220e8a.\n\nDidn\u0027t consider all edge cases:\nSee https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/384#note_2682735\n"
    },
    {
      "commit": "a03b03df5b1153b18b3f9a472e679dd58c220e8a",
      "tree": "539c7f48bac5312995aec3d1b94eb3a3c348f8fb",
      "parents": [
        "c1342946da47e14d64ea4af211a9402c937aa7f5"
      ],
      "author": {
        "name": "Daniel Lehman",
        "email": "dlehman25@gmail.com",
        "time": "Fri Feb 13 09:46:54 2026 -0800"
      },
      "committer": {
        "name": "Daniel Lehman",
        "email": "dlehman25@gmail.com",
        "time": "Sat Feb 14 14:02:46 2026 -0800"
      },
      "message": "uri: Handle \\\u0027s in path for xmlParseURI\n"
    },
    {
      "commit": "c1342946da47e14d64ea4af211a9402c937aa7f5",
      "tree": "36c4e34135ecfcfd993d2a06b0d29ecdddab08e1",
      "parents": [
        "5dfd9065ec30d3fe19998cd270b5a9dec0125ed1"
      ],
      "author": {
        "name": "Yun",
        "email": "emptyiscolor@gmail.com",
        "time": "Wed Feb 11 22:32:12 2026 +0000"
      },
      "committer": {
        "name": "Yun",
        "email": "emptyiscolor@gmail.com",
        "time": "Wed Feb 11 22:32:12 2026 +0000"
      },
      "message": "fix memory leak in issue 1054\n"
    },
    {
      "commit": "5dfd9065ec30d3fe19998cd270b5a9dec0125ed1",
      "tree": "5514edd64376fe4f87919920666ef8e88d81ffbb",
      "parents": [
        "359083591e997470f34501b48c7e78b09f6090b1"
      ],
      "author": {
        "name": "Jayakrishna Menon",
        "email": "jkrshnmenon@gmail.com",
        "time": "Tue Feb 10 14:24:15 2026 -0700"
      },
      "committer": {
        "name": "Jayakrishna Menon",
        "email": "jkrshnmenon@gmail.com",
        "time": "Tue Feb 10 14:24:15 2026 -0700"
      },
      "message": "use duplicating variant in relaxng to mitigate UAF\n"
    },
    {
      "commit": "359083591e997470f34501b48c7e78b09f6090b1",
      "tree": "305de5669644e84a24a88ad0df045aedcc82b34c",
      "parents": [
        "54824911cd8a5f6918d2ca74cfd86538ee4b4d05"
      ],
      "author": {
        "name": "Mike Dalessio",
        "email": "mike@37signals.com",
        "time": "Sat Feb 07 16:53:02 2026 -0500"
      },
      "committer": {
        "name": "Mike Dalessio",
        "email": "mike@37signals.com",
        "time": "Mon Feb 09 12:57:25 2026 -0500"
      },
      "message": "Fix xmlRemoveEntity removing from wrong hash table\n\n`xmlRemoveEntity` looked up parameter entities in `pentities` but then\nincorrectly removed from `entities`, leaving the parameter entity\norphaned in `pentities` and potentially corrupting a same-named\ngeneral entity.\n"
    },
    {
      "commit": "54824911cd8a5f6918d2ca74cfd86538ee4b4d05",
      "tree": "39f90a64b7001f655cba2809538b5214e47f67bc",
      "parents": [
        "2cc5834033db61fb7adc242fb15f7d1e13f66c14"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Tue Jan 27 09:57:09 2026 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Tue Jan 27 10:22:21 2026 +0100"
      },
      "message": "dist: Add generated documentation to the dist\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1048\n"
    },
    {
      "commit": "2cc5834033db61fb7adc242fb15f7d1e13f66c14",
      "tree": "46925f8b94b54aa5a1c1dd26b90aa53981f0981a",
      "parents": [
        "deed3b7873dff30b7f87f7f33154c9932a772522"
      ],
      "author": {
        "name": "Steve Lhomme",
        "email": "robux4@ycbcr.xyz",
        "time": "Fri Jan 16 09:19:01 2026 +0100"
      },
      "committer": {
        "name": "Steve Lhomme",
        "email": "robux4@ycbcr.xyz",
        "time": "Sat Jan 24 06:38:40 2026 +0000"
      },
      "message": "threads: don\u0027t force _WIN32_WINNT to Vista if it\u0027s set to a higher value\n\nThis will prevent Universal Windows Platform (UWP) targeting Windows 10+ to fail.\nSome UWP API\u0027s that are XP/Vista/7 API\u0027s are not available in Windows 8 but available in Windows 10.\nSo if Windows 10 is targetting we should not pretend to build for Windows Vista (0x0600).\n\nIf the user didn\u0027t set a _WIN32_WINNT value, the Windows SDK/mingw-w64 have a\ndefault value that will be used. We can use sdkddkver.h to get that value.\nIf the default value is Windows 10 we should not lower it either.\n"
    },
    {
      "commit": "deed3b7873dff30b7f87f7f33154c9932a772522",
      "tree": "fa6cec184887486fc009a30d152d10a9a0f6c3e9",
      "parents": [
        "f8399e62a31095bf1ced01827c33f9b29494046f"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Sun Jan 18 19:47:11 2026 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Wed Jan 21 13:29:08 2026 +0000"
      },
      "message": "catalog: Do not check value for duplication nextCatalog\n\nThe value field stores the path as it appears in the catalog definition,\nthe URL is built using xmlBuildURI that changes the relative paths to\nabsolute.\n\nThis change fixes the issue of using relative path to the same catalog\nin the same file.\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1040\n"
    },
    {
      "commit": "f8399e62a31095bf1ced01827c33f9b29494046f",
      "tree": "1bafa222f29a6db2d624f579c9d285f70217c85b",
      "parents": [
        "19549c61590c1873468c53e0026a2fbffae428ef"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Fri Dec 19 12:27:54 2025 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Wed Jan 21 13:29:08 2026 +0000"
      },
      "message": "testcatalog: Add new tests for catalog.c\n\nAdds a new test program to run specific tests related to catalog\nparsing.\n\nThis initial version includes a couple of tests, the first one to check\nthe infinite recursion detection related to:\nhttps://gitlab.gnome.org/GNOME/libxml2/-/issues/1018.\n\nThe second one tests the nextCatalog element repeated parsing, related\nto:\nhttps://gitlab.gnome.org/GNOME/libxml2/-/issues/1019\nhttps://gitlab.gnome.org/GNOME/libxml2/-/issues/1040\n"
    },
    {
      "commit": "19549c61590c1873468c53e0026a2fbffae428ef",
      "tree": "060b72f63c1dbfca6741bd5ae210021ba4e63307",
      "parents": [
        "354f620a45fcba796a0f71ce20f2132896f415f2"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Fri Oct 10 09:38:31 2025 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Wed Jan 14 09:47:23 2026 +0000"
      },
      "message": "Add RelaxNG include limit\n\nThis patch adds a default xmlRelaxNGIncludeLimit of 1.000, and that\nlimit can be modified at runtime with the env variable\nRNG_INCLUDE_LIMIT.\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/998\n"
    },
    {
      "commit": "354f620a45fcba796a0f71ce20f2132896f415f2",
      "tree": "31564d0e466dbd365e75e678aa79bdfebb9797b5",
      "parents": [
        "34b3c5dd83ad750f7ad20746066631768eecc28f"
      ],
      "author": {
        "name": "James Lan",
        "email": "jameslan@gmail.com",
        "time": "Mon Oct 27 14:40:22 2025 -0700"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Wed Jan 14 07:38:48 2026 +0000"
      },
      "message": "build: compile option WINPATH to allow processing Windows path on other platforms\n"
    },
    {
      "commit": "34b3c5dd83ad750f7ad20746066631768eecc28f",
      "tree": "ad823c94491af21017323494c123ce5941f9b8f9",
      "parents": [
        "24a0ceca5cf1b0b12dce1a11a7e2801ce31b324b"
      ],
      "author": {
        "name": "emptyiscolor",
        "email": "emptyiscolor@gmail.com",
        "time": "Wed Jan 07 09:27:55 2026 +0000"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Wed Jan 14 07:25:11 2026 +0000"
      },
      "message": "move src to expected path\n"
    },
    {
      "commit": "24a0ceca5cf1b0b12dce1a11a7e2801ce31b324b",
      "tree": "a429dd5bebe928f7c7f2fb388b366f25bcc36410",
      "parents": [
        "51035e70684c6b5c7a28efd0181b85caaf139d87"
      ],
      "author": {
        "name": "emptyiscolor",
        "email": "emptyiscolor@gmail.com",
        "time": "Tue Jan 06 14:23:30 2026 +0000"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Wed Jan 14 07:25:11 2026 +0000"
      },
      "message": "test with fuzzing harnesses\n"
    },
    {
      "commit": "51035e70684c6b5c7a28efd0181b85caaf139d87",
      "tree": "ddba61fdcdb358c8a1a23be0d0da48cf1da078cf",
      "parents": [
        "0e50b31902cdb1eb242eb361c123e9e033b2af87"
      ],
      "author": {
        "name": "emptyiscolor",
        "email": "emptyiscolor@gmail.com",
        "time": "Tue Jan 06 14:21:38 2026 +0000"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Wed Jan 14 07:25:11 2026 +0000"
      },
      "message": "downstream of fuzzing harnesses\n"
    },
    {
      "commit": "0e50b31902cdb1eb242eb361c123e9e033b2af87",
      "tree": "49688e7da5543773b540d0e01363c20dad5c4763",
      "parents": [
        "b45e38edab72e4f09b24a5c9672df818f8df020c"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Wed Oct 08 09:18:51 2025 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Wed Jan 14 07:14:04 2026 +0000"
      },
      "message": "Ignore next/prev of documents when traversing XPath\n\nSee https://gitlab.gnome.org/GNOME/libxml2/-/issues/996\n"
    },
    {
      "commit": "b45e38edab72e4f09b24a5c9672df818f8df020c",
      "tree": "08f4dd36b6c8986a9d2ca91396d8cd1ce84c97c2",
      "parents": [
        "4c3f00ba393d69d8d903e37c05318d87a81f80fb"
      ],
      "author": {
        "name": "Trevor Gamblin",
        "email": "tgamblin@baylibre.com",
        "time": "Thu Jan 08 15:30:47 2026 -0500"
      },
      "committer": {
        "name": "Trevor Gamblin",
        "email": "tgamblin@baylibre.com",
        "time": "Mon Jan 12 09:21:54 2026 -0500"
      },
      "message": "testlimits: optionally accept \u0027-timeout\u0027 input\n\nFixes: #1032\n\nThe testlimits tests can use a lot of system resources, and thus they\nmay fail when run on systems under heavy load, given that the default\nparsing timeout is set to two seconds. Retain this default value, but\nmake the timeout length configurable with a new \u0027-timeout\u0027 flag.\n\nSigned-off-by: Trevor Gamblin \u003ctgamblin@baylibre.com\u003e\n"
    },
    {
      "commit": "4c3f00ba393d69d8d903e37c05318d87a81f80fb",
      "tree": "24f2a61a4bc66fb846af5ccc569ff672372981f8",
      "parents": [
        "f75abfcaa419a740a3191e56c60400f3ff18988d"
      ],
      "author": {
        "name": "Petr Simecek",
        "email": "lamparna@gmail.com",
        "time": "Wed Jan 07 12:22:59 2026 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Wed Jan 07 12:25:19 2026 +0000"
      },
      "message": "parser: Fix infinite loop in xmlCtxtParseContent\n\nThe loop to find an element/document ancestor uses \"cur \u003d node-\u003eparent\"\nas the iterator instead of \"cur \u003d cur-\u003eparent\". This causes an infinite\nloop when the immediate parent is not an element/document/html node\n(e.g., when the node\u0027s parent is an entity reference).\n\nFix by iterating with cur-\u003eparent to properly walk up the ancestor chain.\n\nAdd regression test to testparser.c.\n\nFixes: 4f329dc5 (\"parser: Implement xmlCtxtParseContent\")\n"
    },
    {
      "commit": "f75abfcaa419a740a3191e56c60400f3ff18988d",
      "tree": "28d387c909bc0d772d8ddf1e12f3bf9fa717247c",
      "parents": [
        "1961208e958ca22f80a0b4e4c9d71cfa050aa982"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Fri Dec 19 11:02:18 2025 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Mon Jan 05 09:30:19 2026 +0000"
      },
      "message": "catalog: Ignore repeated nextCatalog entries\n\nThis patch makes the catalog parsing to ignore repeated entries of\nnextCatalog with the same value.\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1019\n"
    },
    {
      "commit": "1961208e958ca22f80a0b4e4c9d71cfa050aa982",
      "tree": "51f0e8a890d7cd4466f21c25dec5cf40fbe8705d",
      "parents": [
        "eae9291aa73907694dd3a4274d306e31217e746e"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Wed Dec 17 15:24:08 2025 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Mon Jan 05 09:30:19 2026 +0000"
      },
      "message": "catalog: prevent inf recursion in xmlCatalogXMLResolveURI\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1018\n"
    },
    {
      "commit": "eae9291aa73907694dd3a4274d306e31217e746e",
      "tree": "cca36d1b5a4daa626eb880768cec8a60f3f9414a",
      "parents": [
        "9827e6e44652555992e168609abf94e4237ca944"
      ],
      "author": {
        "name": "Nathan",
        "email": "nathan.shain@echohq.com",
        "time": "Wed Sep 10 18:11:50 2025 +0300"
      },
      "committer": {
        "name": "Nathan",
        "email": "nathan.shain@echohq.com",
        "time": "Sun Jan 04 16:01:55 2026 +0200"
      },
      "message": "fix: Prevent infinite recursion in xmlCatalogListXMLResolve\n"
    },
    {
      "commit": "9827e6e44652555992e168609abf94e4237ca944",
      "tree": "47c09a6b2e03133db66793f6107c2c5273061312",
      "parents": [
        "e118d6376c4a3d4a9af691f682e32ffa06adab83"
      ],
      "author": {
        "name": "Sandino Araico Sanchez",
        "email": "sandino@sandino.net",
        "time": "Sat Dec 20 18:18:24 2025 -0600"
      },
      "committer": {
        "name": "Iván Chavero",
        "email": "ichavero@chavero.com.mx",
        "time": "Mon Dec 22 14:45:41 2025 -0600"
      },
      "message": "Note on xmlTextWriterWriteBase64 about no safety check\n"
    },
    {
      "commit": "e118d6376c4a3d4a9af691f682e32ffa06adab83",
      "tree": "fd0fb9743a1947ec5beeab53d9bea6df46f0f6c1",
      "parents": [
        "84b8530d852e51e7ccab1e2b4aef698f611486fb"
      ],
      "author": {
        "name": "Michael Heilmann",
        "email": "contact@michaelheilmann.com",
        "time": "Mon Dec 15 10:45:16 2025 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Mon Dec 22 09:10:54 2025 +0000"
      },
      "message": "update `CMakeLists`\n\nbefore:\n- private *.h files were not displayed in Visual C++\n- source files were not grouped in Visual C++\n\nnow:\n- private *.h files are displayed in Visual C++\n- source files are grouped in Visual C++\n"
    },
    {
      "commit": "84b8530d852e51e7ccab1e2b4aef698f611486fb",
      "tree": "3c4a6e9c0bed89510a2e927a89599901801d0c5a",
      "parents": [
        "3b2d4638ecae0ddc5febd035eede719b7bc46578"
      ],
      "author": {
        "name": "Iván Chavero",
        "email": "ichavero@chavero.com.mx",
        "time": "Sun Sep 28 13:57:28 2025 -0600"
      },
      "committer": {
        "name": "Daniel García Moreno",
        "email": "dani@danigm.net",
        "time": "Mon Dec 22 09:51:22 2025 +0100"
      },
      "message": "Fix xmlOutputBufferGetContent output when encoder is set.\n\nThe xmlOutputBufferGetContent function only returns the buffer attribute\nof the _xmlOutputBuffer struct.\nWhen the `encoder` attribute is set the content is stored in the `conv`\nattribute after conversions are performed and the `buffer` attribute is\nemptied. This causes the xmlOutputBufferGetContent to always return\nempty when the `encoder` is set.\n\nThis patch fixes the function by returning the `conv` attribute when the\nencoder is set.\n\nFixes: #991\n"
    },
    {
      "commit": "3b2d4638ecae0ddc5febd035eede719b7bc46578",
      "tree": "9ff1826fc5bf36d902bd20013de99cb93fb19524",
      "parents": [
        "cee7107a1bf8cd01db1fe1e5a02005ce56ff69f9"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Tue Dec 16 07:41:35 2025 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Tue Dec 16 07:41:35 2025 +0100"
      },
      "message": "Add /build and /install directories to gitignore\n"
    },
    {
      "commit": "cee7107a1bf8cd01db1fe1e5a02005ce56ff69f9",
      "tree": "00feae2da45df51e31a941c02cbde7cb818f3cb3",
      "parents": [
        "aef94414c6ff31a6aef44e960b654b317c1f9d10"
      ],
      "author": {
        "name": "Peter Fordham",
        "email": "peter.fordham@gmail.com",
        "time": "Fri Dec 12 20:00:25 2025 -0800"
      },
      "committer": {
        "name": "Peter Fordham",
        "email": "peter.fordham@gmail.com",
        "time": "Mon Dec 15 11:48:41 2025 -0800"
      },
      "message": "writer: Add a few extra NULL checks to avoid memory leaks on corrupt writer path.\n"
    },
    {
      "commit": "aef94414c6ff31a6aef44e960b654b317c1f9d10",
      "tree": "138f49abddf5411f3fb9a342b9871de247dcf31b",
      "parents": [
        "98194640b80a8d04b5af22b077ffd8368a9568cf"
      ],
      "author": {
        "name": "Peter Fordham",
        "email": "peter.fordham@gmail.com",
        "time": "Sun Dec 14 21:09:21 2025 -0800"
      },
      "committer": {
        "name": "Peter Fordham",
        "email": "peter.fordham@gmail.com",
        "time": "Sun Dec 14 21:09:21 2025 -0800"
      },
      "message": "Initialize pointer incase we end up skipping the while loop completely.\n"
    },
    {
      "commit": "98194640b80a8d04b5af22b077ffd8368a9568cf",
      "tree": "daba6237bc5037b6dac15297ec85cbec3ef52c6b",
      "parents": [
        "bcaae46a31060a650164511dbe3f8fb45241f2b4"
      ],
      "author": {
        "name": "Niels Dossche",
        "email": "7771979+nielsdos@users.noreply.github.com",
        "time": "Thu Sep 04 21:13:24 2025 +0200"
      },
      "committer": {
        "name": "Iván Chavero",
        "email": "ichavero@chavero.com.mx",
        "time": "Fri Dec 12 14:26:11 2025 -0600"
      },
      "message": "Fix memory leak of prefix in xmlTextWriterStartElementNS()\n"
    },
    {
      "commit": "bcaae46a31060a650164511dbe3f8fb45241f2b4",
      "tree": "411a8803c29418870e3f0bd4788b68aea08fb1a0",
      "parents": [
        "e2f76748712decb62ef6a98626e9c4cf6242bea8"
      ],
      "author": {
        "name": "Michal Privoznik",
        "email": "mprivozn@redhat.com",
        "time": "Tue Sep 23 13:26:06 2025 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Fri Dec 12 12:24:40 2025 +0000"
      },
      "message": "meson: Add valgrind test setup\n\nSimilarly to libtools, add a test setup to meson so that tests\ncan be run under valgrind even with meson:\n\n  meson test -C $builddir --setup valgrind\n\nSince meson has a timeout for individual tests (30 seconds) and\nvalgrind makes everything run slower, the timeout needs to be\nincreased (factor of 4 looks good enough).\n\nSigned-off-by: Michal Privoznik \u003cmprivozn@redhat.com\u003e\n"
    },
    {
      "commit": "e2f76748712decb62ef6a98626e9c4cf6242bea8",
      "tree": "f9cc0a68573537fc253f0af4e4b2b1ac8272bf90",
      "parents": [
        "6555048b2404c14a3d996e2c76e768951cb5071d"
      ],
      "author": {
        "name": "Michal Privoznik",
        "email": "mprivozn@redhat.com",
        "time": "Tue Sep 23 13:26:39 2025 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Fri Dec 12 12:24:40 2025 +0000"
      },
      "message": "autotools: Make valgrind actually check for leaks\n\nProblem with libtools is that it produces shell scripts which\nthen set LD_LIBRARY_PATH and execute actual binary (hidden in\n.libs dir). Therefore, running \u0027valgring ./testbinary\u0027 doesn\u0027t do\nanything useful (beside checking for memleaks in shell). We want\nto use `libtool --mode\u003dexecute valgrind ./testbinary`.\n\nWith that fixed, next step is to make valgrind return a non-zero\nvalue if a memleak is detected (--error-exitcode\u003d). And to show\nindividual memleaks let\u0027s use --leak-check\u003dfull.\n\nSigned-off-by: Michal Privoznik \u003cmprivozn@redhat.com\u003e\n"
    },
    {
      "commit": "6555048b2404c14a3d996e2c76e768951cb5071d",
      "tree": "2dc59d6126f32e7cdae42982eaee1216ea68640b",
      "parents": [
        "68f91d18932532c2dc5977325b29e46fc334c3d8"
      ],
      "author": {
        "name": "Peter Fordham",
        "email": "peter.fordham@gmail.com",
        "time": "Thu Dec 11 14:14:26 2025 -0800"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Fri Dec 12 11:11:11 2025 +0000"
      },
      "message": "Add tests that relied on POSIX shell script to native CMake.\n"
    },
    {
      "commit": "68f91d18932532c2dc5977325b29e46fc334c3d8",
      "tree": "fe70b78b5b27241af4eb4f42450554f607eeb169",
      "parents": [
        "c6167cf3b9acf4b050e0b73c30019ab60d8e3393"
      ],
      "author": {
        "name": "Herman Semenoff",
        "email": "GermanAizek@yandex.ru",
        "time": "Fri Dec 12 07:45:09 2025 +0300"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Fri Dec 12 10:56:44 2025 +0000"
      },
      "message": "xmlstring: fix access out-of-bound array if len \u003c\u003d 0\n"
    },
    {
      "commit": "c6167cf3b9acf4b050e0b73c30019ab60d8e3393",
      "tree": "3defb219d9acde74600d4521a832d803b33e14d1",
      "parents": [
        "a30a4e6efc924da0a990d07c8601b64c54c7aefe"
      ],
      "author": {
        "name": "gabriel desharnais",
        "email": "gabriel.desharnais@hotmail.com",
        "time": "Thu Dec 11 11:22:57 2025 -0500"
      },
      "committer": {
        "name": "gabriel desharnais",
        "email": "gabriel.desharnais@hotmail.com",
        "time": "Thu Dec 11 11:25:04 2025 -0500"
      },
      "message": "fix to issue 227 adding xpath0 to xmllint\n"
    },
    {
      "commit": "a30a4e6efc924da0a990d07c8601b64c54c7aefe",
      "tree": "fb37573328333258b47122ae04230786a306ecfa",
      "parents": [
        "956dfd2dddfe9b88ce9643f5495bf9a746bcbcfd"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Tue Sep 30 23:23:45 2025 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Thu Dec 11 09:25:47 2025 +0000"
      },
      "message": "xmllint: Use zlib directly for output\n"
    },
    {
      "commit": "956dfd2dddfe9b88ce9643f5495bf9a746bcbcfd",
      "tree": "fa863c715ff5740c201f61518b7b2a0bdd219fbd",
      "parents": [
        "0704f52ea4cd0cf82253bb2af3f70a09d428629d"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Sat Sep 27 21:43:57 2025 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Thu Dec 11 09:25:47 2025 +0000"
      },
      "message": "xmllint: Use zlib directly\n\nThis prepares xmllint for eventually removing decompression support from\nlibxml2.\n"
    },
    {
      "commit": "0704f52ea4cd0cf82253bb2af3f70a09d428629d",
      "tree": "f4aecdd6e975107e82c2cf4505faf8d69f57383c",
      "parents": [
        "160c8a43ba37dfb07ebe6446fbad9d0973d9279d"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Wed Dec 10 08:01:10 2025 +0100"
      },
      "committer": {
        "name": "Iván Chavero",
        "email": "ichavero@chavero.com.mx",
        "time": "Wed Dec 10 09:51:48 2025 -0600"
      },
      "message": "readme: Write a more possitive Security section\n\nThis patch changes the security section in the README.md file to give\nmore information.\n\nThis removes the \"unmaintained\" text, as this project is maintained\nagain. It also makes it clear that this is a community project, so\nanyone will know what to expect, and it also makes explicit that\ndevelopers are volunteers and will work on the issues that they want, as\na try to avoid pressure from bug reporters.\n\nThe message try to be possitive, promoting collaboration instead of\nconflict. The idea is to make it clear that collaboration is welcome and\nthe way to go is to do it yourself instead of asking the maintainers to\ndo it for you.\n"
    },
    {
      "commit": "160c8a43ba37dfb07ebe6446fbad9d0973d9279d",
      "tree": "8ffca2a4e6263655fc2bf1cae93ba3999d38e803",
      "parents": [
        "76a6ba4c41e5f64b5a6e89d770a6add360f72075"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Thu Oct 23 07:41:19 2025 +0200"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Wed Dec 10 12:21:16 2025 +0000"
      },
      "message": "shell: free cmdline before continue\n\nThis patch frees the cmdline when it\u0027s not empty but it doesn\u0027t contain\nany actual character.\n\nIf the cmdline is just whitespaces or \\r and \\n, the loop continues\nwithout freeing the cmdline string, so it\u0027s a leak.\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1009\n"
    },
    {
      "commit": "76a6ba4c41e5f64b5a6e89d770a6add360f72075",
      "tree": "f1d5298bbd0e2ae66fafa27b4f1f706c805b2e87",
      "parents": [
        "b20dfb007d135426567f02eddf06ac45bcc1306f"
      ],
      "author": {
        "name": "Peter Fordham",
        "email": "peter.fordham@gmail.com",
        "time": "Tue Dec 09 23:11:56 2025 -0800"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Wed Dec 10 12:14:08 2025 +0000"
      },
      "message": "Add specific check to avoid signed integer overflow of buffer size.\n"
    },
    {
      "commit": "b20dfb007d135426567f02eddf06ac45bcc1306f",
      "tree": "29860e73c4afd099fbcbfb464231f25db8529618",
      "parents": [
        "8c5e54d5bd042e7ac7ffd257f724477c332c535b"
      ],
      "author": {
        "name": "Benjamin Gilbert",
        "email": "bgilbert@backtick.net",
        "time": "Mon Nov 17 14:02:34 2025 -0800"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Wed Dec 10 11:49:37 2025 +0000"
      },
      "message": "meson: Fix build with Meson \u003c 1.3\n\nMeson before 1.3 didn\u0027t support comma-separated lists in c_std.  Just\nrequire c11 in that case.\n"
    },
    {
      "commit": "8c5e54d5bd042e7ac7ffd257f724477c332c535b",
      "tree": "8ac757dcee1b8ba9e35a28696cb1866cebeac12b",
      "parents": [
        "05b0c030060b0c94bc7ae0b040236ad1d134ff0c"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Tue Nov 18 08:10:35 2025 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "dani@danigm.net",
        "time": "Wed Dec 10 11:20:53 2025 +0000"
      },
      "message": "Fix C14N type confusion\n\nDo not try to get nsDef with xmlDoc\n\nFix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1016\n"
    },
    {
      "commit": "05b0c030060b0c94bc7ae0b040236ad1d134ff0c",
      "tree": "04bbed61b8ecaf1b83b191628b713a0135c01814",
      "parents": [
        "b4bc4f73fea316075116ac24b09b6a694000f219"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Wed Dec 10 11:39:08 2025 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Wed Dec 10 12:13:32 2025 +0100"
      },
      "message": "Fix nokogiri tests\n\nUse the required specific bundler and add --disable-xml2-legacy\n"
    },
    {
      "commit": "b4bc4f73fea316075116ac24b09b6a694000f219",
      "tree": "533c0fa6b168ca60609f210f1a40db456b75c76a",
      "parents": [
        "214fb814223614d13d44f1465302c3cbd7d1395a"
      ],
      "author": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Wed Dec 10 07:32:52 2025 +0100"
      },
      "committer": {
        "name": "Daniel Garcia Moreno",
        "email": "daniel.garcia@suse.com",
        "time": "Wed Dec 10 07:32:52 2025 +0100"
      },
      "message": "Add email to danigm maintainer entry\n"
    },
    {
      "commit": "214fb814223614d13d44f1465302c3cbd7d1395a",
      "tree": "24249814479c4fb64729b1e5c3c0c4899c86d0c0",
      "parents": [
        "9c80a89af2fdf4f853892f84e46580f4902658ba"
      ],
      "author": {
        "name": "Iván Chavero",
        "email": "ichavero@chavero.com.mx",
        "time": "Tue Dec 09 23:42:40 2025 -0600"
      },
      "committer": {
        "name": "Iván Chavero",
        "email": "ichavero@chavero.com.mx",
        "time": "Tue Dec 09 23:42:40 2025 -0600"
      },
      "message": "Adding ichavero and danigm as maintainers\n\nFixes: #1023\n"
    },
    {
      "commit": "9c80a89af2fdf4f853892f84e46580f4902658ba",
      "tree": "f4e53cf242fc04b7fdccf9161eab6db62707dbd8",
      "parents": [
        "22f9d730898d2dfcc03a484e65e1f8fc3675225f"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Sat Dec 06 19:04:44 2025 +0100"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Sat Dec 06 19:41:11 2025 +0100"
      },
      "message": "Remove myself as maintainer\n\nI got the following error message after trying to remove my maintainer\nentry from the DOAP file:\n\n\u003e Must have at least one doap:maintainer property with a gnome:userid\n\u003e property\n\nSo I\u0027m adding the previous maintainer.\n"
    },
    {
      "commit": "22f9d730898d2dfcc03a484e65e1f8fc3675225f",
      "tree": "e3df84f78227410882e45c5417b1d95719c64b3c",
      "parents": [
        "870c0363414c05ffe63beb7cddc0471241abab14"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Wed Oct 15 15:39:43 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Wed Oct 15 15:42:12 2025 +0200"
      },
      "message": "io: Handle clashing error codes on AIX\n\nRegressed with 2c2578b6f. Fixes #999.\n"
    },
    {
      "commit": "870c0363414c05ffe63beb7cddc0471241abab14",
      "tree": "9c49173fa371f5de0f15d9728ecffcf1e12a6d5e",
      "parents": [
        "367a283b9aa1480165f75c8a125e9be038bf7cca"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Oct 13 22:58:38 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Oct 13 22:58:38 2025 +0200"
      },
      "message": "fuzz: Make fuzzy encoding match more lenient\n\nThis should account for possible iconv suffixes.\n"
    },
    {
      "commit": "367a283b9aa1480165f75c8a125e9be038bf7cca",
      "tree": "d426800f6b466636c9565bfae7c028f86d24ebbb",
      "parents": [
        "3a3faaa253a59a053ab372bceeb206885995a89c"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Tue Oct 07 01:05:03 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Tue Oct 07 12:01:05 2025 +0200"
      },
      "message": "tree: Undeprecate several struct members\n"
    },
    {
      "commit": "3a3faaa253a59a053ab372bceeb206885995a89c",
      "tree": "88a4d8b94c907f2ae9008520755438d859f51f1f",
      "parents": [
        "2f62ebb3a7ef5a988e36cb48d66ea0d5f630c402"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Tue Sep 30 18:05:32 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Tue Oct 07 12:00:51 2025 +0200"
      },
      "message": "Document process to remove API functions in MAINTAINERS.md\n"
    },
    {
      "commit": "2f62ebb3a7ef5a988e36cb48d66ea0d5f630c402",
      "tree": "b6f6791da4de1d53d47d603480087a5070d9bab9",
      "parents": [
        "d87d94773e0ea963465ec0fb3b1d1b9831760d25"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 29 11:04:03 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 29 11:06:07 2025 +0200"
      },
      "message": "io: Undeprecate xmlOutputBuffer members\n\nThe public API is too buggy, so direct access to struct members is\nrequired by projects like libxslt.\n"
    },
    {
      "commit": "d87d94773e0ea963465ec0fb3b1d1b9831760d25",
      "tree": "ca9302ed318b2122bb0cff5148f214c0956948de",
      "parents": [
        "bd2072f8d025e7a37d527b23b84698460c5798bf"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 29 10:46:47 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 29 10:50:00 2025 +0200"
      },
      "message": "Revert \"globals: Don\u0027t export DllMain on Windows\"\n\nThis reverts commit bd2072f8d025e7a37d527b23b84698460c5798bf.\n\nApparently, this change would require to recompile downstream code.\n"
    },
    {
      "commit": "bd2072f8d025e7a37d527b23b84698460c5798bf",
      "tree": "701422076f3a73e531817321ec8025e7d0d3c143",
      "parents": [
        "a30a276412b34dd39c70d9dd0459d42495b965ac"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Sat Sep 27 19:07:38 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Sat Sep 27 19:11:16 2025 +0200"
      },
      "message": "globals: Don\u0027t export DllMain on Windows\n\nThis shouldn\u0027t be done and lld 21 warns about it:\n\nhttps://github.com/msys2/MINGW-packages/issues/17820\nhttps://github.com/msys2/MINGW-packages/issues/25716\n\nRegressed with f05af837.\n"
    },
    {
      "commit": "a30a276412b34dd39c70d9dd0459d42495b965ac",
      "tree": "425a1bbde68d4a7c36075adcaddf060496bf4382",
      "parents": [
        "c537ccf0aea640e625abce653d5890afc934b340"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Fri Sep 26 16:29:10 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Fri Sep 26 16:29:10 2025 +0200"
      },
      "message": "valid: Undeprecate xmlValidGetPotentialChildren\n\nFixes #988.\n"
    },
    {
      "commit": "c537ccf0aea640e625abce653d5890afc934b340",
      "tree": "38d7236c6e54d113077394975f5ccb4355cd45e4",
      "parents": [
        "da45a190f718e8e2f0e3d2a6325ffa23abc8b90c"
      ],
      "author": {
        "name": "Lars Erik Wik",
        "email": "lars.erik.wik@northern.tech",
        "time": "Thu Sep 25 11:29:05 2025 +0200"
      },
      "committer": {
        "name": "Lars Erik Wik",
        "email": "lars.erik.wik@northern.tech",
        "time": "Thu Sep 25 11:29:05 2025 +0200"
      },
      "message": "Fixed compilation error on GCC versions prior to 4.5\n\nThe deprecated attribute started accepting an optional string argument\nin GCC version 4.5. Compiling libxml2 with GCC versions prior to that\nwould cause compilation errors such as:\n```\n./include/libxml/xmlmemory.h:134: error: wrong number of arguments specified for \u0027deprecated\u0027 attribute\n```\n\nNow the string argument is omitted for older versions of GCC.\n\nSigned-off-by: Lars Erik Wik \u003clars.erik.wik@northern.tech\u003e\n"
    },
    {
      "commit": "da45a190f718e8e2f0e3d2a6325ffa23abc8b90c",
      "tree": "50d9dbee4936f7f7eb654bd757daf93ff97a9d2d",
      "parents": [
        "dc307e31fd1343934a66fabe3ba4b42f34ac63c0"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Fri Sep 19 13:39:41 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Fri Sep 19 13:41:17 2025 +0200"
      },
      "message": "parser: Fix attribute normalization and standalone check\n\nRegressed with e4cbc295.\n"
    },
    {
      "commit": "dc307e31fd1343934a66fabe3ba4b42f34ac63c0",
      "tree": "f71e654a87ee95e1977f1607ee0b185e5cdf21e7",
      "parents": [
        "48df82f6ea004fa8fdd0587e458d66d0bf509e7c"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Wed Sep 17 11:10:51 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Wed Sep 17 11:10:51 2025 +0200"
      },
      "message": "meson: Fix install dir of man pages\n\nRegressed when reworking documentation in 2.15.\n\nFixes #985.\n"
    },
    {
      "commit": "48df82f6ea004fa8fdd0587e458d66d0bf509e7c",
      "tree": "ab586c9055d3a2a7f6c3f0f6a3a31764e1acc8af",
      "parents": [
        "0bea77c8289324483c0504d36ac730bb03f6a70b"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 15 13:57:12 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 15 13:57:30 2025 +0200"
      },
      "message": "Bump version to 2.16.0\n"
    },
    {
      "commit": "0bea77c8289324483c0504d36ac730bb03f6a70b",
      "tree": "b748a5e15cf6811ecaf1b8ddb6dc3f058bdd6560",
      "parents": [
        "b9943bcaa35e3ebbd92b0d9374840e6e1c9a6935"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 15 13:34:13 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 15 13:34:13 2025 +0200"
      },
      "message": "Release v2.15.0\n"
    },
    {
      "commit": "b9943bcaa35e3ebbd92b0d9374840e6e1c9a6935",
      "tree": "ff7104ea71ad108c73e94b651bad9967d417ef93",
      "parents": [
        "347147b5558c964e66c0e247e2aa770a3b8d8438"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Wed Sep 10 18:04:57 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Wed Sep 10 18:07:39 2025 +0200"
      },
      "message": "Remove legacy win32 build system\n"
    },
    {
      "commit": "347147b5558c964e66c0e247e2aa770a3b8d8438",
      "tree": "ebce6431468e07cbb8d6408591c227645599f078",
      "parents": [
        "1763281cd65ded4067ddf123eb7358690c214b0b"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 08 16:02:59 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 08 16:02:59 2025 +0200"
      },
      "message": "Update NEWS\n"
    },
    {
      "commit": "1763281cd65ded4067ddf123eb7358690c214b0b",
      "tree": "1b853f3618fa076ed9c8da9972194e47316dfbd3",
      "parents": [
        "063add1b298450637fd7a0fbd2f515b10e71d00d"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 08 15:29:23 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 08 15:30:53 2025 +0200"
      },
      "message": "Remove LZMA support\n"
    },
    {
      "commit": "063add1b298450637fd7a0fbd2f515b10e71d00d",
      "tree": "33dc35cf8768e08f831e30c03c8630ac72d17e15",
      "parents": [
        "8c107b690bde35010c8984cf85541924f25f0306"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 08 15:14:33 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 08 15:14:33 2025 +0200"
      },
      "message": "parser: Always require XML_PARSE_UNZIP to enable decompression\n"
    },
    {
      "commit": "8c107b690bde35010c8984cf85541924f25f0306",
      "tree": "6803f9f5c45f163e3bae82b2fb24122028131ac7",
      "parents": [
        "13962f820ebd37b93700252a5b7dcec1acbf62f6"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 08 14:59:24 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Sep 08 14:59:24 2025 +0200"
      },
      "message": "Revert \"dict: Rework reference counting\"\n\nThis reverts commit 18bbdb51175f309aef40fa5254af34e322be7783 due to lack\nof feedback.\n"
    },
    {
      "commit": "13962f820ebd37b93700252a5b7dcec1acbf62f6",
      "tree": "46569895743a773a29f439528abf25d3704ce883",
      "parents": [
        "e397651a6221d95b4fde94b37c4cdfff0e23c1ac"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Aug 25 12:29:55 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Mon Aug 25 12:29:55 2025 +0200"
      },
      "message": "valid: Fix null deref in xmlValidateOneAttribute\n\nShort-lived regression from d53ba058.\n"
    },
    {
      "commit": "e397651a6221d95b4fde94b37c4cdfff0e23c1ac",
      "tree": "8a8c5884d5d3ce2089eaea101e0f77d43913aafa",
      "parents": [
        "d53ba0588ef03c910d8956cbfec8a640e528059d"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Sun Aug 24 20:08:17 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Sun Aug 24 20:08:17 2025 +0200"
      },
      "message": "cmake: Omit version number from cmake install dir\n\nAlign with other build systems. Fixes #973.\n"
    },
    {
      "commit": "d53ba0588ef03c910d8956cbfec8a640e528059d",
      "tree": "2fe3781a7121309cf5909b8ebb8d01fd1cac4912",
      "parents": [
        "56199b5c08f32968363510a455a4cc67b6773b5b"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Sat Aug 23 14:59:50 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Sat Aug 23 14:59:55 2025 +0200"
      },
      "message": "valid: Don\u0027t add ids when validating entity content\n\nThe id table shouldn\u0027t reference ids in entities. The id will be created\nwhen expanding the entity.\n\nProbably regressed with d025cfbb.\n\nNote that we still register ids in entities if entities are not\nreplaced. This is required to make IDREF checks work.\n\nFixes #974.\n"
    },
    {
      "commit": "56199b5c08f32968363510a455a4cc67b6773b5b",
      "tree": "1b597fec0ff2aac0cf44806d83eb15a86ab09f0f",
      "parents": [
        "e2fdef4510bd230d301b9963ed54a96aabd0c01d"
      ],
      "author": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Sun Aug 17 15:58:09 2025 +0200"
      },
      "committer": {
        "name": "Nick Wellnhofer",
        "email": "wellnhofer@aevum.de",
        "time": "Wed Aug 20 13:09:03 2025 +0200"
      },
      "message": "catalog: Prepare to make SGML catalog support optional\n"
    }
  ],
  "next": "e2fdef4510bd230d301b9963ed54a96aabd0c01d"
}
