)]}'
{
  "log": [
    {
      "commit": "5349c6c84b23c31fcaee98a2e6101a0aa2668258",
      "tree": "4605c817c805f1414254d8d93a223cd0d97804b6",
      "parents": [
        "4c92f3003cfba379edd9d653a72d860ded013445",
        "e71137667af24bb17819ac3d6b112d1f943a3294"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Thu May 07 09:41:54 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 09:41:54 2026 +0200"
      },
      "message": "Merge pull request #2121 from joshua-zivkovic/JZ/link-typo\n\ndoc/source/main_install.rst: Fix typo in link syntax"
    },
    {
      "commit": "e71137667af24bb17819ac3d6b112d1f943a3294",
      "tree": "4605c817c805f1414254d8d93a223cd0d97804b6",
      "parents": [
        "4c92f3003cfba379edd9d653a72d860ded013445"
      ],
      "author": {
        "name": "Joshua Zivkovic",
        "email": "joshua.zivkovic@codethink.co.uk",
        "time": "Thu May 07 08:05:16 2026 +0100"
      },
      "committer": {
        "name": "Joshua Zivkovic",
        "email": "joshua.zivkovic@codethink.co.uk",
        "time": "Thu May 07 08:06:43 2026 +0100"
      },
      "message": "doc/source/main_install.rst: Fix typo in link syntax\n"
    },
    {
      "commit": "4c92f3003cfba379edd9d653a72d860ded013445",
      "tree": "bcad059ff9361d17c5803d7cbbc9993b52fe95e7",
      "parents": [
        "e39af277cb009c0fc2e255f453c234258a2fe2a4",
        "e6ac735a6ad17629be59ca9ffb3be6a4dc2e6de3"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri May 01 10:08:19 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 10:08:19 2026 +0200"
      },
      "message": "Merge pull request #2115 from apache/jbilleter/requirements\n\nUpdate requirements"
    },
    {
      "commit": "e39af277cb009c0fc2e255f453c234258a2fe2a4",
      "tree": "bf7d44ed1fd3f410f48857d19fc4698c0228baa4",
      "parents": [
        "16e45332b3e8fad38411d23032b445799c48aff7",
        "9f0c6dace105b51c2470baa6ade863c541ab0bf5"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Thu Apr 30 11:39:28 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 11:39:28 2026 +0200"
      },
      "message": "Merge pull request #2114 from apache/jbilleter/loader\n\nFix circular reference errors with junction overrides"
    },
    {
      "commit": "e6ac735a6ad17629be59ca9ffb3be6a4dc2e6de3",
      "tree": "08501898d0c3b6c09d17f9df6f8e9177de0d66c3",
      "parents": [
        "f90b64db78da2361d64cb5ae0b9d7958ef3b3db4"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sat Apr 25 12:21:00 2026 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sat Apr 25 12:22:39 2026 +0200"
      },
      "message": "Update black to version 26.3\n\nThis is required for compatibility with Python 3.14.\n"
    },
    {
      "commit": "f90b64db78da2361d64cb5ae0b9d7958ef3b3db4",
      "tree": "114365184442d4eed7dd0bb2af026e75cbd6d7d1",
      "parents": [
        "16e45332b3e8fad38411d23032b445799c48aff7"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sat Apr 25 12:06:36 2026 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sat Apr 25 12:06:36 2026 +0200"
      },
      "message": "Update requirements\n"
    },
    {
      "commit": "9f0c6dace105b51c2470baa6ade863c541ab0bf5",
      "tree": "bf7d44ed1fd3f410f48857d19fc4698c0228baa4",
      "parents": [
        "dc0a2656d05a10b39cffdf57b9604396a1d08eff"
      ],
      "author": {
        "name": "Harry Sarson",
        "email": "harry.sarson@codethink.co.uk",
        "time": "Wed Aug 13 15:43:11 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sat Apr 25 11:43:04 2026 +0200"
      },
      "message": "tests/format/junctions.py: Test include from nested junction\n\nThis creates a variant of the include-complex test project where the\nsubproject is moved into a new intermediate project and the\nsubproject.bst junction element is replaced by a link element. Including\na file from a nested junction via a link element in the top level\nproject.conf file tests more code paths in the loader.\n\nThis change shows a bug in the loader, running `bst show --deps none\ntarget.bst` in the `tests/format/junctions/include-complex-nested`\ndirectory gives the following output:\n\n```\n20:02:32 --:--:--              main:core activity                  START   Loading elements\n20:02:32 00:00:00              main:core activity                  FAILURE Loading elements\n\nintermediate-project.bst:project.conf [line 5 column 2]: Circular reference while searching for \u0027subproject.bst\u0027\n\n    Already searching for \u0027subproject.bst\u0027 at: subproject.bst [line 4 column 10]\n```\n"
    },
    {
      "commit": "dc0a2656d05a10b39cffdf57b9604396a1d08eff",
      "tree": "2794dd79d0b0b63cf68242b03bd01cd0405047dc",
      "parents": [
        "7134c7ce5db865fced601c20df9f5b09ca74c3d1"
      ],
      "author": {
        "name": "Harry Sarson",
        "email": "harry.sarson@codethink.co.uk",
        "time": "Wed Aug 13 15:40:08 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sat Apr 25 11:31:40 2026 +0200"
      },
      "message": "tests/format/junctions.py: Add override-self test for nested-link bug\n\nThis commit adds an additional level of nesting to a copy of the\noverride-self buildstream test project by a new subproject and moving\nthe self-junction into the subproject.\n\nBoth the `link.bst` and the `nested-link.bst` elements point to the\nsubproject\u0027s `target.bst` element but `nested-link.bst` does so via the\nself-junction, hence the \"nesting\".\n\nRunning `bst show --deps none nested-link.bst` in the directory\n`tests/format/junctions/override-self-link` gives the following output:\n\n```\n20:17:48 --:--:--              main:core activity                  START   Loading elements\n20:17:48 00:00:00              main:core activity                  FAILURE Loading elements\n\nproject.conf [line 6 column 2]: Circular reference while searching for \u0027subproject.bst:self-junction.bst\u0027\n\n    Already searching for \u0027subproject.bst:self-junction.bst\u0027 at: nested-link.bst [line 4 column 10]\n```\n"
    },
    {
      "commit": "7134c7ce5db865fced601c20df9f5b09ca74c3d1",
      "tree": "3f4be61aca01203a81e40219d2616adb78ee39d2",
      "parents": [
        "202dc9d606262d991fdc1580102da48057a32f99"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sat Apr 25 10:52:20 2026 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sat Apr 25 10:58:38 2026 +0200"
      },
      "message": "_loader: Don\u0027t trigger second pass loading for junction overrides\n\nShallow override loading is needed only to discover link elements for\ncorrect link resolution. Defer loading of elements that require the\nproject to be fully loaded, as second pass loading during shallow\noverride loading can trigger a circular reference error.\n\nFixes #2037.\n"
    },
    {
      "commit": "202dc9d606262d991fdc1580102da48057a32f99",
      "tree": "f5169a754cdd1dbc6ad43ce8c6045c677d8b542d",
      "parents": [
        "16e45332b3e8fad38411d23032b445799c48aff7"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sat Apr 25 10:35:29 2026 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sat Apr 25 10:58:38 2026 +0200"
      },
      "message": "_loader: Drop redundant `ensure_fully_loaded()` for CLI targets\n\nDifferent behavior for `provenance_node is None` is not ideal. And since\ncommit 07a1e45183 (\"Ensure that the parent project is fully loaded...\"),\nit\u0027s no longer needed.\n"
    },
    {
      "commit": "16e45332b3e8fad38411d23032b445799c48aff7",
      "tree": "b1f288b7965c7bdfa7569385b3a765eda31f31b6",
      "parents": [
        "ffd6c1a1641ffbc6cfae842b5dacf7d508ea9fd9",
        "d7eef4c6badcf6f67964029de66c34e4a0da07f0"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@apache.org",
        "time": "Sat Apr 18 21:20:35 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 18 21:20:35 2026 +0100"
      },
      "message": "Merge pull request #2112 from apache/jbilleter/mirrors\n\nsource.py: Fix mirror usage in subprojects"
    },
    {
      "commit": "d7eef4c6badcf6f67964029de66c34e4a0da07f0",
      "tree": "b1f288b7965c7bdfa7569385b3a765eda31f31b6",
      "parents": [
        "af5d69a3be4cbc51de233d632805b81254334a5a"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Apr 17 16:36:06 2026 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Apr 17 17:25:58 2026 +0200"
      },
      "message": "tests/frontend/mirror.py: Test plugins that don\u0027t use SourceFetcher\n"
    },
    {
      "commit": "af5d69a3be4cbc51de233d632805b81254334a5a",
      "tree": "4a4a670a2361f0b2edccdbd61b9b7759b7267d11",
      "parents": [
        "ffd6c1a1641ffbc6cfae842b5dacf7d508ea9fd9"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Apr 17 14:29:07 2026 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Apr 17 16:19:33 2026 +0200"
      },
      "message": "source.py: Fix mirror usage in subprojects\n\nDon\u0027t skip source cloning if there are no mirrors configured in the\nelement\u0027s project. With alias mapping, the mirror configuration of the\nparent project matters.\n\nFor `fetch()`, this bug only affected source plugins that don\u0027t use\n`SourceFetcher` objects. For `track()`, all source plugins were\naffected.\n\nFixes #2110.\n"
    },
    {
      "commit": "ffd6c1a1641ffbc6cfae842b5dacf7d508ea9fd9",
      "tree": "e38d2aee87494f0fcc9ead8226d3db86a35de9a8",
      "parents": [
        "e4dcda0551f59e3a9e397aaabd620d25b71fc95a",
        "e83783a1c1a10ec33f3c9ac2ef5d371a3090b7f7"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Mar 20 07:47:06 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 20 07:47:06 2026 +0100"
      },
      "message": "Merge pull request #2108 from apache/jbilleter/bst-plugins-community\n\nci: Fix buildstream-plugins-community version for `plugins-master`"
    },
    {
      "commit": "e83783a1c1a10ec33f3c9ac2ef5d371a3090b7f7",
      "tree": "e38d2aee87494f0fcc9ead8226d3db86a35de9a8",
      "parents": [
        "e4dcda0551f59e3a9e397aaabd620d25b71fc95a"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Mar 13 08:18:04 2026 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Mar 13 08:18:59 2026 +0100"
      },
      "message": "ci: Fix buildstream-plugins-community version for `plugins-master`\n\nFixes #2096.\n\nReported-by: Dor Askayo \u003cdor.askayo@gmail.com\u003e\n"
    },
    {
      "commit": "e4dcda0551f59e3a9e397aaabd620d25b71fc95a",
      "tree": "2247f00714c599e60fdba25b06e22474bcfc7d13",
      "parents": [
        "ceff55def10389a936ab8ac5c0900b9e4133ed5d",
        "cff15ffddca1aad97b9806222f1ae7a88bf200c1"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Feb 20 16:03:27 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 20 16:03:27 2026 +0100"
      },
      "message": "Merge pull request #2107 from apache/jbilleter/bst-init-2.7\n\n_frontend/cli.py: Update default min-version for `bst init`"
    },
    {
      "commit": "ceff55def10389a936ab8ac5c0900b9e4133ed5d",
      "tree": "aefb679dc25adf84d325a63f0a12bfb5b3bb6a41",
      "parents": [
        "71565ca2c0c76fb758ba36649a5ff613b4d66ec9",
        "d582f469579c4deb9ecbe2f2a6ba3324f9bd0afb"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Feb 20 13:30:12 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 20 13:30:12 2026 +0100"
      },
      "message": "Merge pull request #2061 from shymega-ct/domrodriguez/add-linux-disclaimer-docs\n\ndocs/README: Add note to make OS requirement clear"
    },
    {
      "commit": "cff15ffddca1aad97b9806222f1ae7a88bf200c1",
      "tree": "1a0c1c7b9b562c06281d37c0e68bff83742ab067",
      "parents": [
        "71565ca2c0c76fb758ba36649a5ff613b4d66ec9"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Feb 20 13:26:19 2026 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Feb 20 13:26:19 2026 +0100"
      },
      "message": "_frontend/cli.py: Update default min-version for `bst init`\n\nThis is implicitly required by tests after creating the 2.7.0.dev0 tag.\n"
    },
    {
      "commit": "d582f469579c4deb9ecbe2f2a6ba3324f9bd0afb",
      "tree": "39a74c5964e88a076e42d4777163df29924ef636",
      "parents": [
        "1a7651a1261926d1b47133ee723f747b4a9505fb"
      ],
      "author": {
        "name": "Dom Rodriguez",
        "email": "dom.rodriguez@codethink.co.uk",
        "time": "Mon Sep 15 21:00:23 2025 +0100"
      },
      "committer": {
        "name": "Dom Rodriguez",
        "email": "dom.rodriguez@codethink.co.uk",
        "time": "Wed Feb 18 18:38:21 2026 +0000"
      },
      "message": "docs/README: Add note to reiterate supported platforms\n"
    },
    {
      "commit": "71565ca2c0c76fb758ba36649a5ff613b4d66ec9",
      "tree": "267a158da3055e1c8e790252044b480d27ae0d02",
      "parents": [
        "1102d0504de0f0b87d8fdc8bd4b4074124d228b4",
        "c59ff0ef2a057f97f1f149ef7d80365aacd490db"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Feb 13 15:30:50 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 13 15:30:50 2026 +0100"
      },
      "message": "Merge pull request #2105 from apache/jbilleter/2.7.0\n\nPrepare for 2.7.0"
    },
    {
      "commit": "c59ff0ef2a057f97f1f149ef7d80365aacd490db",
      "tree": "267a158da3055e1c8e790252044b480d27ae0d02",
      "parents": [
        "5957103d7afe2de6b60c15de2bf53e19acee368c"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Feb 06 14:24:11 2026 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Feb 13 14:54:08 2026 +0100"
      },
      "message": "NEWS: Prepare for 2.7.0\n"
    },
    {
      "commit": "5957103d7afe2de6b60c15de2bf53e19acee368c",
      "tree": "ea02ed31c7bd96f7c486e78398e8bef6011727ae",
      "parents": [
        "1102d0504de0f0b87d8fdc8bd4b4074124d228b4"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Feb 06 14:05:58 2026 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Feb 06 14:05:58 2026 +0100"
      },
      "message": "ci: Update images\n\nUpdate BuildBox to 1.3.52.\n"
    },
    {
      "commit": "1102d0504de0f0b87d8fdc8bd4b4074124d228b4",
      "tree": "6709e7a7ed3ca06d10d019d4cab6790b0fe36444",
      "parents": [
        "1a7651a1261926d1b47133ee723f747b4a9505fb",
        "595e60e534cd805314fa25aad208e5215a0a199d"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Feb 06 09:59:20 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 06 09:59:20 2026 +0100"
      },
      "message": "Merge pull request #2102 from apache/abderrahim/build-deps-none\n\n_stream: Don\u0027t require runtime deps when building with --deps none"
    },
    {
      "commit": "595e60e534cd805314fa25aad208e5215a0a199d",
      "tree": "edf3844642fa2a8cde08a0dbf6a476455c9d9c6b",
      "parents": [
        "7f01252e05971fb4809e49d8960998d6ea6511c0"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "abderrahim.kitouni@codethink.co.uk",
        "time": "Tue Feb 03 15:03:36 2026 +0000"
      },
      "committer": {
        "name": "Abderrahim Kitouni",
        "email": "abderrahim.kitouni@codethink.co.uk",
        "time": "Thu Feb 05 15:11:20 2026 +0000"
      },
      "message": "Update test for dynamic build plan\n"
    },
    {
      "commit": "7f01252e05971fb4809e49d8960998d6ea6511c0",
      "tree": "9331be892fd7d5d6608afc51a1454ae3c166cc3a",
      "parents": [
        "4a497d0294d675173eb26b3935fed063d4f86d27"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "abderrahim.kitouni@codethink.co.uk",
        "time": "Thu Jan 29 20:35:25 2026 +0100"
      },
      "committer": {
        "name": "Abderrahim Kitouni",
        "email": "abderrahim.kitouni@codethink.co.uk",
        "time": "Tue Feb 03 15:03:53 2026 +0000"
      },
      "message": "Add config option for `dependencies: run`\n\nIn addition to `none` and `all`, this commit adds `run` and makes it the\ndefault instead of `none`. The previous commit changed the meaning of\n`--deps none` to be different from `--deps run`, so we change the default to be\n`run`.\n"
    },
    {
      "commit": "1a7651a1261926d1b47133ee723f747b4a9505fb",
      "tree": "fdbb9d42b0ebf6df26fd3e1f63ffa86d07893473",
      "parents": [
        "56a4b794d8bc63bb7057d48f5a0ea561439e3e3f",
        "834c4432dcfe2e894864ca27ee69ccdd2cd6f700"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Tue Feb 03 10:01:23 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 03 10:01:23 2026 +0100"
      },
      "message": "Merge pull request #2099 from joshua-zivkovic/JZ/source-provenance\n\nGeneric Source Provenance"
    },
    {
      "commit": "834c4432dcfe2e894864ca27ee69ccdd2cd6f700",
      "tree": "fdbb9d42b0ebf6df26fd3e1f63ffa86d07893473",
      "parents": [
        "760806dd563379e68657d613d84d8da3b7dc972a"
      ],
      "author": {
        "name": "Joshua Zivkovic",
        "email": "joshua.zivkovic@codethink.co.uk",
        "time": "Fri Jan 16 15:55:46 2026 +0000"
      },
      "committer": {
        "name": "Joshua Zivkovic",
        "email": "joshua.zivkovic@codethink.co.uk",
        "time": "Mon Feb 02 09:22:24 2026 +0000"
      },
      "message": "Add source provenance attribute tests\n"
    },
    {
      "commit": "760806dd563379e68657d613d84d8da3b7dc972a",
      "tree": "a1052d7f00681933e979d49eb25a007a79772cea",
      "parents": [
        "56a4b794d8bc63bb7057d48f5a0ea561439e3e3f"
      ],
      "author": {
        "name": "Joshua Zivkovic",
        "email": "joshua.zivkovic@codethink.co.uk",
        "time": "Fri Jan 16 15:55:09 2026 +0000"
      },
      "committer": {
        "name": "Joshua Zivkovic",
        "email": "joshua.zivkovic@codethink.co.uk",
        "time": "Mon Feb 02 09:22:24 2026 +0000"
      },
      "message": "Make source provenance generic\n\nRemove harcoded SPDX attributes and make them be generic instead.\nProject allowed attributes are configured via the project config,\nthese supported values a determined by buildstream-sbom\u0027s support\n\nCo-authored-by: Jürg Billeter \u003cj@bitron.ch\u003e\nCo-authored-by: Joshua Zivkovic \u003cjoshuazivkovic@codethink.co.uk\u003e\n"
    },
    {
      "commit": "4a497d0294d675173eb26b3935fed063d4f86d27",
      "tree": "cf39be01205658ea23b1672a309468db7eae624e",
      "parents": [
        "56a4b794d8bc63bb7057d48f5a0ea561439e3e3f"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "abderrahim.kitouni@codethink.co.uk",
        "time": "Thu Jan 29 18:11:50 2026 +0100"
      },
      "committer": {
        "name": "Abderrahim Kitouni",
        "email": "abderrahim.kitouni@codethink.co.uk",
        "time": "Thu Jan 29 18:11:50 2026 +0100"
      },
      "message": "_stream: Don\u0027t require runtime deps when building with --deps none\n\nBefore this change, running a build with `--deps none` would also build / pull\nruntime dependencies. This commit changes the elements on the command line to\nnot require their runtime dependencies if we\u0027re using `--deps none`\n"
    },
    {
      "commit": "56a4b794d8bc63bb7057d48f5a0ea561439e3e3f",
      "tree": "9a0ef61dd25428c27d9cfa1096d3b29fd5a430cd",
      "parents": [
        "86a950aba52ef6aa2cb868bf13fb24e20de37679",
        "84e490e615685a355437d33311407769c6eca28f"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Tue Jan 27 14:40:16 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 27 14:40:16 2026 +0100"
      },
      "message": "Merge pull request #2098 from joshua-zivkovic/JZ/multi-source-provenance\n\nSupport multi source source provenance info"
    },
    {
      "commit": "84e490e615685a355437d33311407769c6eca28f",
      "tree": "9a0ef61dd25428c27d9cfa1096d3b29fd5a430cd",
      "parents": [
        "9273039398f3f26dd14db3caed78cf8795253570"
      ],
      "author": {
        "name": "Joshua Zivkovic",
        "email": "joshua.zivkovic@codethink.co.uk",
        "time": "Fri Jan 16 15:55:46 2026 +0000"
      },
      "committer": {
        "name": "Joshua Zivkovic",
        "email": "joshua.zivkovic@codethink.co.uk",
        "time": "Tue Jan 27 10:52:30 2026 +0000"
      },
      "message": "Add source provenance attribute tests\n"
    },
    {
      "commit": "9273039398f3f26dd14db3caed78cf8795253570",
      "tree": "b299ffb9e4d8a17e3665aa9295b05a8f11ec5291",
      "parents": [
        "e479787b9d5fbe4b06264c2bd325d42ce7a0540a"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Jan 09 16:37:15 2026 +0100"
      },
      "committer": {
        "name": "Joshua Zivkovic",
        "email": "joshua.zivkovic@codethink.co.uk",
        "time": "Tue Jan 27 10:52:30 2026 +0000"
      },
      "message": "tests/frontend/show.py: Add source info test for multi-source plugin\n"
    },
    {
      "commit": "e479787b9d5fbe4b06264c2bd325d42ce7a0540a",
      "tree": "e4c373aeb0db81be390e654a0fd1739569abcfdb",
      "parents": [
        "86a950aba52ef6aa2cb868bf13fb24e20de37679"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Dec 19 11:13:37 2025 +0100"
      },
      "committer": {
        "name": "Joshua Zivkovic",
        "email": "joshua.zivkovic@codethink.co.uk",
        "time": "Mon Jan 26 08:06:25 2026 +0000"
      },
      "message": "source.py: Allow source provenance info to be overridden\n\nThis allows multi-source source plugins to provide this information per\nsource rather than as a singular top level.\n\nThis is done by adding a `provenance_node` parameter to\n`create_source_info()` that when specified overrides the use of the\nsource\u0027s top level source provenance info.\n\nCo-authored-by: Joshua Zivkovic \u003cjoshua.zivkovic@codethink.co.uk\u003e\n"
    },
    {
      "commit": "86a950aba52ef6aa2cb868bf13fb24e20de37679",
      "tree": "f103b668f1a9706716640a4e797f3a97f261d086",
      "parents": [
        "12b11f89c5983c87f9eed7cdfdfb3a2b49c5cdb4",
        "172671ebef61af7fde7bd3cbdcc91b3d7ca1bd8d"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@apache.org",
        "time": "Sun Dec 14 12:41:53 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 14 12:41:53 2025 +0100"
      },
      "message": "Merge pull request #2084 from kotborealis/master\n\nfix: use find_spec for pip plugins"
    },
    {
      "commit": "172671ebef61af7fde7bd3cbdcc91b3d7ca1bd8d",
      "tree": "f103b668f1a9706716640a4e797f3a97f261d086",
      "parents": [
        "12b11f89c5983c87f9eed7cdfdfb3a2b49c5cdb4"
      ],
      "author": {
        "name": "kotborealis",
        "email": "kotborealis@awooo.ru",
        "time": "Sat Nov 01 15:01:58 2025 +0300"
      },
      "committer": {
        "name": "Abderrahim Kitouni",
        "email": "abderrahim.kitouni@codethink.co.uk",
        "time": "Sun Dec 14 12:01:35 2025 +0100"
      },
      "message": "fix: use find_spec for pip plugins\n\nFor pip plugins installed in editable mode, via `pip install -e ...`,\nbuildstream failed to resolve the actual location of source files of a\nplugin.\nThis is caused because `importlib.metadata` does not honor editable\npackages with `pth` files.\n\nThis patch updates `pluginoriginpip.py` to use `find_spec` to find\nfiles. This works for editable packages.\n"
    },
    {
      "commit": "12b11f89c5983c87f9eed7cdfdfb3a2b49c5cdb4",
      "tree": "d4d9242503354e5f3fe3b0368233c33a880d244b",
      "parents": [
        "a5072d4adadfbd0fdebb3f7eab6a0de8a52ac224",
        "e90c2463b725a98fb26fc18067561628f659b807"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Wed Nov 26 12:55:49 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 26 12:55:49 2025 +0100"
      },
      "message": "Merge pull request #2097 from apache/jbilleter/links\n\nMerge duplicate dependencies via link elements"
    },
    {
      "commit": "a5072d4adadfbd0fdebb3f7eab6a0de8a52ac224",
      "tree": "f2cc03ce804b7880836814055ce0e09e275f0876",
      "parents": [
        "15733f2f820d5d7918526f774f447e04440e493e",
        "d81b23009d228052480b59fcad1a084ba3922a2b"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@apache.org",
        "time": "Sat Nov 22 16:43:51 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 22 16:43:51 2025 +0100"
      },
      "message": "Merge pull request #2087 from kotborealis/fix-typo\n\nfix: typo truple -\u003e tuple"
    },
    {
      "commit": "e90c2463b725a98fb26fc18067561628f659b807",
      "tree": "b02e11390d9a263e6fd66a53b15ac3b306ce4461",
      "parents": [
        "9ed6aa573839c17cfa61c31e4e7efe4ef9cffe29"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 21 10:28:02 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 21 15:26:20 2025 +0100"
      },
      "message": "tests/format/link.py: Add test for multiple links with the same target\n\nThis is a regression test for #2002.\n"
    },
    {
      "commit": "9ed6aa573839c17cfa61c31e4e7efe4ef9cffe29",
      "tree": "b28417023faf19dfec3a1455edbb0fa787a8d170",
      "parents": [
        "4392664c500364a5850fe16ce6dd8facbf6e6854"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 21 15:09:52 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 21 15:26:20 2025 +0100"
      },
      "message": "_loader: Merge duplicate dependencies via link elements\n\nDuplicate dependencies are normally merged already in\n`extract_depends_from_node()`. However, that only works for dependencies\nthat are declared with the same filename. If a link element is in a\ndependency list, merging may still be required but can be done only\nafter the link element has been loaded.\n\nThe element state updates don\u0027t work correctly if there are duplicate\ndependencies that aren\u0027t merged.\n\nFixes #2002.\n"
    },
    {
      "commit": "4392664c500364a5850fe16ce6dd8facbf6e6854",
      "tree": "95fd8578edc7f7d3d48a76468fd81d91c721ff31",
      "parents": [
        "15733f2f820d5d7918526f774f447e04440e493e"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 21 14:55:30 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 21 15:18:55 2025 +0100"
      },
      "message": "_loader: Drop unused dependency list\n"
    },
    {
      "commit": "15733f2f820d5d7918526f774f447e04440e493e",
      "tree": "1be18c9f5706abbd64e3b143973664ada0b879a0",
      "parents": [
        "828035e2f780af4d3f5428564612153b6d0d2ee0",
        "46c29eb3fab2042608e239b0e310b01f15473f31"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 21 11:41:29 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 21 11:41:29 2025 +0100"
      },
      "message": "Merge pull request #2093 from apache/jbilleter/buildtree-shell\n\nStore marked directories in Artifact proto"
    },
    {
      "commit": "828035e2f780af4d3f5428564612153b6d0d2ee0",
      "tree": "f2fdd18d40ae11f263fb4244e3456227132b8791",
      "parents": [
        "30145c65918bbfa3c14fabe42e5022bf740067ff",
        "d3e88440226382b2a16670e3ada392d69216469b"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 21 10:31:25 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 21 10:31:25 2025 +0100"
      },
      "message": "Merge pull request #2091 from apache/jbilleter/remoteasset\n\nArtifact cache fixes"
    },
    {
      "commit": "30145c65918bbfa3c14fabe42e5022bf740067ff",
      "tree": "91fd62f6b6d6ea9bd5e01f5ee32a8a8fa6b559ae",
      "parents": [
        "40673537a7dc430ee2c6f2318fb4eadd3e5e29ee",
        "ccb6f5580b4f9211a1168c5e7f7fa33fde1067be"
      ],
      "author": {
        "name": "Tristan Van Berkom",
        "email": "tristan.vanberkom@codethink.co.uk",
        "time": "Tue Nov 18 15:41:13 2025 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 18 15:41:13 2025 +0900"
      },
      "message": "Merge pull request #2088 from apache/tristan/artifact-show-remote\n\nSupport artifact remote options in `bst artifact show`"
    },
    {
      "commit": "46c29eb3fab2042608e239b0e310b01f15473f31",
      "tree": "56cb94b013ac58880931af3f6b233b5bc9ac57ef",
      "parents": [
        "3ed8f422e97d7bc381cce306d2f4b74ece99d927"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 14 14:10:10 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 14 14:16:16 2025 +0100"
      },
      "message": "tests/integration/shellbuildtrees.py: Test that filesystem is writable\n"
    },
    {
      "commit": "3ed8f422e97d7bc381cce306d2f4b74ece99d927",
      "tree": "1ec1ec09dde63e65d5d489421c1be231cfaa5ac8",
      "parents": [
        "b52382a333c9099594a76cae6e99163b2b38e2b6"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 14 13:39:09 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 14 14:11:42 2025 +0100"
      },
      "message": "_artifact.py: Store marked directories in Artifact proto\n\nFixes #2092.\n"
    },
    {
      "commit": "b52382a333c9099594a76cae6e99163b2b38e2b6",
      "tree": "65dd8a77fb720996fb68a9a0c804e07e7e0ad4bf",
      "parents": [
        "1a669b5fc96d03e2d58dca0a6968d56779b67d07"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 14 13:34:55 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 14 14:11:42 2025 +0100"
      },
      "message": "artifact.proto: Add marked directories to the build sandbox state\n"
    },
    {
      "commit": "1a669b5fc96d03e2d58dca0a6968d56779b67d07",
      "tree": "fcda52c41b78ad83b79b1bccbc4194545fe0e209",
      "parents": [
        "40673537a7dc430ee2c6f2318fb4eadd3e5e29ee"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 14 14:07:29 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 14 14:11:42 2025 +0100"
      },
      "message": "tests/integration/shellbuildtrees.py: Test working directory in artifact\n\nAdjust `test_shell_pull_artifact_cached_buildtree` now that the working\ndirectory is stored in the artifact.\n"
    },
    {
      "commit": "d3e88440226382b2a16670e3ada392d69216469b",
      "tree": "5ad1d1f5fb167ae59ebb9d6f3e8e747de9b2bd55",
      "parents": [
        "2013156c4088462f60d35c1ad05b82b7f2607434"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 14 09:54:34 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 14 09:57:19 2025 +0100"
      },
      "message": "_artifactcache.py: Push and fetch sources\n\nThe source digest is already stored in the artifact proto and added to\nthe list of referenced directories if the buildtree is cached, however,\nthe actual push and fetch was missing.\n"
    },
    {
      "commit": "2013156c4088462f60d35c1ad05b82b7f2607434",
      "tree": "b944a4e2e03778f503a68428ded9dabb55e4f291",
      "parents": [
        "0cea83a8b803ea062e16b2ae0ba95d581f534757"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 14 09:48:09 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 14 09:57:19 2025 +0100"
      },
      "message": "_artifactcache.py: Add `public_data` to list of referenced blobs\n"
    },
    {
      "commit": "0cea83a8b803ea062e16b2ae0ba95d581f534757",
      "tree": "7a23fa8a6addcfde0f132b1b57340ce3542c22ef",
      "parents": [
        "40673537a7dc430ee2c6f2318fb4eadd3e5e29ee"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 14 09:41:19 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 14 09:57:19 2025 +0100"
      },
      "message": "_artifactcache.py: Fix presence checks of protobuf digest fields\n\nPython truth values can\u0027t be used for presence checks of embedded\nprotobuf message fields. Use `HasField()` instead. This prevents passing\ninvalid digests to the Remote Asset server.\n\nFixes #2090.\n"
    },
    {
      "commit": "40673537a7dc430ee2c6f2318fb4eadd3e5e29ee",
      "tree": "13f53d6603459a09e51893874288fdde3e3fad23",
      "parents": [
        "d00fe5c2afe1f7967d5075f70bc15a6fa64ded51",
        "e5fc2f5c166600c5f30a8e3c49e3290d6a7c2d6e"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Nov 10 09:41:36 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 10 09:41:36 2025 +0100"
      },
      "message": "Merge pull request #2086 from apache/jbilleter/buildgrid\n\nci: Update BuildGrid setup to use PostgreSQL"
    },
    {
      "commit": "ccb6f5580b4f9211a1168c5e7f7fa33fde1067be",
      "tree": "e0cf78a8a651143fd9f463fa2188db5afcd33cc5",
      "parents": [
        "1c31c6ece8f90453b51c25e562f54e8d2a1ff913"
      ],
      "author": {
        "name": "Tristan van Berkom",
        "email": "tristan.vanberkom@codethink.co.uk",
        "time": "Sun Nov 09 14:39:37 2025 +0900"
      },
      "committer": {
        "name": "Tristan van Berkom",
        "email": "tristan.vanberkom@codethink.co.uk",
        "time": "Sun Nov 09 14:44:50 2025 +0900"
      },
      "message": "tests/frontend/artifact_show.py: Add coverage for newly added options\n\nAdded tests to cover --artifact-remote and --ignore-project-artifact-remotes.\n\nThis also improves overall coverage of test_artifact_show_available_remotely\nto cover all three methods of setting the remotes (project, user config, and\nnow CLI options), plus test this by providing the element name and the\nartifact name separately (except for when the remote is specified by the\nproject, because project.conf is intentionally ignored when loading artifact\nnames).\n"
    },
    {
      "commit": "1c31c6ece8f90453b51c25e562f54e8d2a1ff913",
      "tree": "374d1d98151f6420e86ffde8e5ee5222c418805e",
      "parents": [
        "870cd66867de7783b18e45b6bc0acfb87ba8dc5a"
      ],
      "author": {
        "name": "Tristan van Berkom",
        "email": "tristan.vanberkom@codethink.co.uk",
        "time": "Sun Nov 09 14:16:41 2025 +0900"
      },
      "committer": {
        "name": "Tristan van Berkom",
        "email": "tristan.vanberkom@codethink.co.uk",
        "time": "Sun Nov 09 14:44:50 2025 +0900"
      },
      "message": "Fixup implementation\n"
    },
    {
      "commit": "870cd66867de7783b18e45b6bc0acfb87ba8dc5a",
      "tree": "82ef6cdea9a03624132c5562de302c773b0487fb",
      "parents": [
        "878fa52512871c20ca08e13716ca80e6082953c6"
      ],
      "author": {
        "name": "Tristan van Berkom",
        "email": "tristan.vanberkom@codethink.co.uk",
        "time": "Sun Nov 09 13:27:08 2025 +0900"
      },
      "committer": {
        "name": "Tristan van Berkom",
        "email": "tristan.vanberkom@codethink.co.uk",
        "time": "Sun Nov 09 14:44:50 2025 +0900"
      },
      "message": "tests/frontend/artifact_show.py: Split out test files from common data dir\n\nThis just follows the new, improved policy to not share data files across\ntest cases, leading to the huge crazy shared mess that is found in\ntests/frontend/project, where any change here for a given test risks\naffecting many adjacent tests.\n"
    },
    {
      "commit": "878fa52512871c20ca08e13716ca80e6082953c6",
      "tree": "b6725af693221b14ff0a72aaf7b7c231641e294f",
      "parents": [
        "d00fe5c2afe1f7967d5075f70bc15a6fa64ded51"
      ],
      "author": {
        "name": "Tristan van Berkom",
        "email": "tristan.vanberkom@codethink.co.uk",
        "time": "Sun Nov 09 04:20:01 2025 +0900"
      },
      "committer": {
        "name": "Tristan van Berkom",
        "email": "tristan.vanberkom@codethink.co.uk",
        "time": "Sun Nov 09 14:44:50 2025 +0900"
      },
      "message": "Support artifact remote arguments in bst artifact show command.\n\nThis is useful for ensuring that the shallow artifacts have been downloaded\nfrom the remotes, without requiring heavy duty `bst artifact pull`, and\nis particularly useful with the advent of `%{artifact-cas-digest}` being\navailable in `bst show` output.\n\nThis updates the CLI to support the new arguments which we missed\nadding previously, and adds the glue code in Stream() object to\nload the pipeline with the artifact remote related arguments.\n"
    },
    {
      "commit": "d81b23009d228052480b59fcad1a084ba3922a2b",
      "tree": "cea3595e8c58579349f20fb7de5a65e0bf636cca",
      "parents": [
        "d00fe5c2afe1f7967d5075f70bc15a6fa64ded51"
      ],
      "author": {
        "name": "kotborealis",
        "email": "kotborealis@awooo.ru",
        "time": "Fri Nov 07 14:45:30 2025 +0300"
      },
      "committer": {
        "name": "kotborealis",
        "email": "kotborealis@awooo.ru",
        "time": "Fri Nov 07 14:47:12 2025 +0300"
      },
      "message": "fix: typo truple -\u003e tuple\n"
    },
    {
      "commit": "e5fc2f5c166600c5f30a8e3c49e3290d6a7c2d6e",
      "tree": "13f53d6603459a09e51893874288fdde3e3fad23",
      "parents": [
        "c2c8b2361243866cf4dc76cc80c5f9607f620706"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Wed Nov 05 11:38:35 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Nov 07 07:42:14 2025 +0100"
      },
      "message": ".github/compose/ci.buildgrid.yml: Switch to PostgreSQL\n\nSQLite support is deprecated in BuildGrid and the default configuration\nnow requires PostgreSQL instead.\n"
    },
    {
      "commit": "c2c8b2361243866cf4dc76cc80c5f9607f620706",
      "tree": "db6f28773ce0ce9ca4878825b2cc7439e46c1d54",
      "parents": [
        "d00fe5c2afe1f7967d5075f70bc15a6fa64ded51"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Wed Nov 05 11:11:52 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Wed Nov 05 11:11:52 2025 +0100"
      },
      "message": ".github/compose/ci.buildgrid.yml: Remove unused storage service\n\nBuildGrid itself doesn\u0027t offer a Remote Asset service and CI is\ncurrently only testing remote execution with BuildGrid.\n"
    },
    {
      "commit": "d00fe5c2afe1f7967d5075f70bc15a6fa64ded51",
      "tree": "febd4583ae47ab1be75ecb87cc0156974ec02dcc",
      "parents": [
        "85be4410c660990528a72b40a4fb49a15620014e",
        "89f7314cac96aaf477533df58a9dca5ab830e5ee"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@apache.org",
        "time": "Tue Nov 04 12:15:40 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 12:15:40 2025 +0100"
      },
      "message": "Merge pull request #2078 from ignapk/fix-buildstream-plugins-link\n\ndoc/source/core_plugins.rst: Fix link to buildstream-plugins"
    },
    {
      "commit": "85be4410c660990528a72b40a4fb49a15620014e",
      "tree": "7164e1db806686ad63891c485276657054bdfe7e",
      "parents": [
        "80d16dee42cb1e206010fbb52149983280f1a47f",
        "3256129eb3555dbb0ca769f2f6b66f12681fa5a4"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Nov 03 16:58:56 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 03 16:58:56 2025 +0100"
      },
      "message": "Merge pull request #2085 from apache/jbilleter/python-3.9\n\nDrop support for Python 3.9"
    },
    {
      "commit": "3256129eb3555dbb0ca769f2f6b66f12681fa5a4",
      "tree": "7164e1db806686ad63891c485276657054bdfe7e",
      "parents": [
        "d4be9b80dd77d726d70ebd172338271be6ea423d"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sun Nov 02 19:14:35 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Nov 03 12:54:39 2025 +0100"
      },
      "message": "Update requirements\n"
    },
    {
      "commit": "d4be9b80dd77d726d70ebd172338271be6ea423d",
      "tree": "389c8fa5e97a83dfc7c85c8c1df5bb83ae38edc1",
      "parents": [
        "af36872ebb0634eff2b24d6d913a0b5622d66223"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sun Nov 02 18:58:11 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Nov 03 12:54:39 2025 +0100"
      },
      "message": "Drop support for Python 3.9\n\nPython 3.9 is no longer maintained upstream and at least one Python\npackage (Click) has dropped support for it.\n"
    },
    {
      "commit": "af36872ebb0634eff2b24d6d913a0b5622d66223",
      "tree": "b7a5b0633d6dab38ddf00fe5062f57513a4c6326",
      "parents": [
        "306938b03cb60e76f39152537b9209e25076c92d"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sun Nov 02 18:59:23 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Nov 03 12:54:39 2025 +0100"
      },
      "message": "ci: Don\u0027t run tests on Debian 11\n\nIt uses Python 3.9, which is no longer maintained upstream.\n"
    },
    {
      "commit": "306938b03cb60e76f39152537b9209e25076c92d",
      "tree": "19a3fe0f92f84b098aef5c10011c2a3bc043b09b",
      "parents": [
        "13ccbe5abbd4fda63f26eb65687b5172ead08ca7"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Nov 03 12:22:44 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Nov 03 12:54:39 2025 +0100"
      },
      "message": "pyproject.toml: Simplify `cibuildwheel` config\n"
    },
    {
      "commit": "13ccbe5abbd4fda63f26eb65687b5172ead08ca7",
      "tree": "c50d2d00dbede6912ff9dd7d71aa6984a2daa31e",
      "parents": [
        "86c6c8b76781d881e907a5bb5a528eba92939ddd"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Nov 03 12:50:43 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Nov 03 12:54:39 2025 +0100"
      },
      "message": "setup.cfg: Add `python_requires`\n\nThis makes it possible to simplify the `cibuildwheel` config. Longer\nterm, we should migrate project metadata to `pyproject.toml`.\n"
    },
    {
      "commit": "86c6c8b76781d881e907a5bb5a528eba92939ddd",
      "tree": "d6ef02a396ca65dc77bb6959b9aa111e1fb6239f",
      "parents": [
        "80d16dee42cb1e206010fbb52149983280f1a47f"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sun Nov 02 19:43:34 2025 +0100"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sun Nov 02 20:21:20 2025 +0100"
      },
      "message": "_frontend: Don\u0027t use deprecated `click.parser.split_arg_string()`\n\nThis fixes a pylint error with Click 8.2+.\n"
    },
    {
      "commit": "80d16dee42cb1e206010fbb52149983280f1a47f",
      "tree": "9851f3051ce05cf4d020e463b18942a8b1c96850",
      "parents": [
        "06eb62a45a7e5883589360bfa582eb337b888dab",
        "2fd746bf1af5c17585254e12599e7b8fe118fafd"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Wed Oct 22 17:14:27 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 22 17:14:27 2025 +0200"
      },
      "message": "Merge pull request #2074 from apache/jbilleter/no-project\n\n_frontend: Fix error for commands without targets outside project dir"
    },
    {
      "commit": "06eb62a45a7e5883589360bfa582eb337b888dab",
      "tree": "a984388c3572981e340c2033ac9d976f175f8be2",
      "parents": [
        "045c25c67186fb06b29fa31fb8fd9bf7b99d0da7",
        "020e58fb61bc92f6d65c52cb7249aeee854689cb"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@apache.org",
        "time": "Sun Oct 19 11:34:20 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 19 11:34:20 2025 +0100"
      },
      "message": "Merge pull request #2062 from apache/abderrahim/cascache-cleanup\n\nUse CASDProcessManager directly to access REAPI stubs "
    },
    {
      "commit": "045c25c67186fb06b29fa31fb8fd9bf7b99d0da7",
      "tree": "790517b83a7c79a1e032d0b9920127994057605e",
      "parents": [
        "4c68517662e17cd68f579db0b2d5c5e5d4451335",
        "9a5863e2f32f6f513587b2f6795bdc4d9c346040"
      ],
      "author": {
        "name": "Tristan Van Berkom",
        "email": "tristan.vanberkom@codethink.co.uk",
        "time": "Thu Oct 09 16:44:28 2025 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 09 16:44:28 2025 +0900"
      },
      "message": "Merge pull request #2076 from apache/tristan/pip-origin-description\n\n_pluginfactory/pluginoriginpip.py: Fix the description string"
    },
    {
      "commit": "9a5863e2f32f6f513587b2f6795bdc4d9c346040",
      "tree": "790517b83a7c79a1e032d0b9920127994057605e",
      "parents": [
        "4c68517662e17cd68f579db0b2d5c5e5d4451335"
      ],
      "author": {
        "name": "Tristan van Berkom",
        "email": "tristan.vanberkom@codethink.co.uk",
        "time": "Sat Oct 04 00:21:38 2025 +0900"
      },
      "committer": {
        "name": "Tristan van Berkom",
        "email": "tristan.vanberkom@codethink.co.uk",
        "time": "Thu Oct 09 16:43:56 2025 +0900"
      },
      "message": "_pluginfactory/pluginoriginpip.py: Fix the description string\n\nThe `Distribution` object returned by importlib.metadata.distribution() does\nnot have a sensible `__str__()` dunder method to rely on. Instead we should\nbe using `Distribution.name` and `Distribution.version` members to describe\nthe pip package which was loaded in the plugin description string.\n"
    },
    {
      "commit": "89f7314cac96aaf477533df58a9dca5ab830e5ee",
      "tree": "69a545a228948c891ba3d35c69e531d68f8f4500",
      "parents": [
        "4c68517662e17cd68f579db0b2d5c5e5d4451335"
      ],
      "author": {
        "name": "Ignacy Kuchciński",
        "email": "ignacykuchcinski@gmail.com",
        "time": "Tue Oct 07 19:35:28 2025 +0200"
      },
      "committer": {
        "name": "Ignacy Kuchciński",
        "email": "ignacykuchcinski@gmail.com",
        "time": "Tue Oct 07 19:35:28 2025 +0200"
      },
      "message": "doc/source/core_plugins.rst: Fix link to buildstream-plugins\n\nFix link to buildstream plugins in the documentation.\n"
    },
    {
      "commit": "2fd746bf1af5c17585254e12599e7b8fe118fafd",
      "tree": "e75814ba67c2bce18799fd170c5b82060450e885",
      "parents": [
        "4c68517662e17cd68f579db0b2d5c5e5d4451335"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Oct 03 11:53:31 2025 +0800"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Tue Oct 07 22:00:26 2025 +0800"
      },
      "message": "_frontend: Fix error for commands without targets outside project dir\n\nIf, e.g., `bst build` or `bst show` is invoked without targets and\noutside a BuildStream project or workspace directory, fail with a normal\nerror message instead of an exception traceback.\n"
    },
    {
      "commit": "4c68517662e17cd68f579db0b2d5c5e5d4451335",
      "tree": "fbd0b5902d5aa725997bd00a58103bc8c5c8dee7",
      "parents": [
        "ae15f214bfeee1acf714441cd1515b7fc3b25672",
        "8f2ddc73d14fb4983001a814944d658a733cb99c"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@apache.org",
        "time": "Tue Oct 07 10:33:47 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 07 10:33:47 2025 +0100"
      },
      "message": "Merge pull request #2075 from apache/jbilleter/bst-init-2.6\n\n_frontend/cli.py: Update default min-version for `bst init`"
    },
    {
      "commit": "8f2ddc73d14fb4983001a814944d658a733cb99c",
      "tree": "fbd0b5902d5aa725997bd00a58103bc8c5c8dee7",
      "parents": [
        "ae15f214bfeee1acf714441cd1515b7fc3b25672"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Oct 03 12:35:23 2025 +0800"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Oct 03 12:35:23 2025 +0800"
      },
      "message": "_frontend/cli.py: Update default min-version for `bst init`\n\nThis is implicitly required by adding the 2.6.0.dev0 tag.\n"
    },
    {
      "commit": "ae15f214bfeee1acf714441cd1515b7fc3b25672",
      "tree": "e0e82237c9b3d1695ed9cd5808993219782062b4",
      "parents": [
        "ac772ae6b05e98b223a4b3ac60337021bab68844",
        "c10c8fdbbaca4f0ae7a5b6aeb93f910ad26e9380"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@apache.org",
        "time": "Thu Sep 25 10:06:46 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 25 10:06:46 2025 +0100"
      },
      "message": "Merge pull request #2068 from apache/jbilleter/2.6.0\n\nNEWS: Prepare for 2.6.0"
    },
    {
      "commit": "ac772ae6b05e98b223a4b3ac60337021bab68844",
      "tree": "2b394581802e1de63c4e98f1f4e6bff4c2a4fbe2",
      "parents": [
        "a5db06e9cc836980adbfe239dbf8d6a569932de3",
        "b73699b7a3275463fcc1faa5d9a822be5bc8b831"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@apache.org",
        "time": "Tue Sep 23 14:22:02 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 23 14:22:02 2025 +0100"
      },
      "message": "Merge pull request #2072 from apache/jbilleter/f43\n\nci: Add Fedora 43 and update images"
    },
    {
      "commit": "a5db06e9cc836980adbfe239dbf8d6a569932de3",
      "tree": "382f8a91679ad03bfd804f12370afd494dbd201e",
      "parents": [
        "d365e96900b938471406137ad513e603b486eaf9",
        "ac289d3f366a384dc9afd54cdf4365022ffb1b8e"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@apache.org",
        "time": "Tue Sep 23 14:20:41 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 23 14:20:41 2025 +0100"
      },
      "message": "Merge pull request #2071 from apache/jbilleter/requirements\n\nUpdate requirements"
    },
    {
      "commit": "b73699b7a3275463fcc1faa5d9a822be5bc8b831",
      "tree": "75c46a35ecc2d45ea16a75db263546b9fa950f1f",
      "parents": [
        "d365e96900b938471406137ad513e603b486eaf9"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Tue Sep 23 13:45:34 2025 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Tue Sep 23 13:46:34 2025 +0200"
      },
      "message": "ci: Add Fedora 43 and update images\n\nFedora 43 extends test coverage to Python 3.14.\n"
    },
    {
      "commit": "ac289d3f366a384dc9afd54cdf4365022ffb1b8e",
      "tree": "382f8a91679ad03bfd804f12370afd494dbd201e",
      "parents": [
        "d365e96900b938471406137ad513e603b486eaf9"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Tue Sep 23 13:13:51 2025 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Tue Sep 23 13:13:51 2025 +0200"
      },
      "message": "Update requirements\n"
    },
    {
      "commit": "d365e96900b938471406137ad513e603b486eaf9",
      "tree": "8d036786b909c4eb566da1b1648c3d9fe444dfff",
      "parents": [
        "0dc32cf36be90a56ff844824ba565391b1af40bf",
        "bf63bcea6414ba0b3862ebde939450740f7c7c14"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@apache.org",
        "time": "Tue Sep 23 11:14:00 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 23 11:14:00 2025 +0100"
      },
      "message": "Merge pull request #2066 from apache/jbilleter/python3.14\n\nAdd support for Python 3.14"
    },
    {
      "commit": "bf63bcea6414ba0b3862ebde939450740f7c7c14",
      "tree": "8d036786b909c4eb566da1b1648c3d9fe444dfff",
      "parents": [
        "cf6dce92c43c394d07204a4cd6745bb564ff501c"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 08:58:22 2025 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Sep 22 21:01:48 2025 +0200"
      },
      "message": "Add support for Python 3.14\n"
    },
    {
      "commit": "cf6dce92c43c394d07204a4cd6745bb564ff501c",
      "tree": "eec6867ec1337e532d7e7cfeb87eec3c8021076d",
      "parents": [
        "303a4b926acdd2501e0327edd65adf4839c60605"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Sep 22 20:49:30 2025 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Sep 22 21:01:40 2025 +0200"
      },
      "message": "requirements: Update ruamel.yaml.clib to 0.2.14 to support Python 3.14\n\nhttps://sourceforge.net/p/ruamel-yaml-clib/tickets/45/\n"
    },
    {
      "commit": "303a4b926acdd2501e0327edd65adf4839c60605",
      "tree": "900e7e1895541ab5a70edbecd3e89e20b1cd7739",
      "parents": [
        "e6c8e14efdab81038201f7bc94eda3a17ccb08c6"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 14:52:04 2025 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Sep 22 20:46:12 2025 +0200"
      },
      "message": "ci: Update cibuildwheel to 3.1.4\n\nThis is required to build wheels for Python 3.14.\n"
    },
    {
      "commit": "e6c8e14efdab81038201f7bc94eda3a17ccb08c6",
      "tree": "5f3dab634db9aff61230882acc846c7494b03d82",
      "parents": [
        "0dc32cf36be90a56ff844824ba565391b1af40bf"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 14:50:16 2025 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Sep 22 20:46:12 2025 +0200"
      },
      "message": "ci: Update Ubuntu images from 22.04 to 24.04\n\ncibuildwheel 3.x requires Python 3.11 or later.\n"
    },
    {
      "commit": "0dc32cf36be90a56ff844824ba565391b1af40bf",
      "tree": "bd86f154c283df383e6989bf22ffabf0643e7ba7",
      "parents": [
        "3c7d10cd5f99172d50bd73f1b8d8771eddf2d6ce",
        "a35d0bb0d646f5a26ce4c720ab20c5144231be2e"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Sep 22 20:44:15 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 22 20:44:15 2025 +0200"
      },
      "message": "Merge pull request #2070 from apache/jbilleter/update-buildbox\n\nUpdate BuildBox to 1.3.39"
    },
    {
      "commit": "a35d0bb0d646f5a26ce4c720ab20c5144231be2e",
      "tree": "bd86f154c283df383e6989bf22ffabf0643e7ba7",
      "parents": [
        "bf4e697d5cb48d5580d87b59a7b97c0a7f267d86"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Sep 22 12:19:09 2025 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Sep 22 12:19:09 2025 +0200"
      },
      "message": "tests/integration/project/elements/recc/recc.bst: Update recc to 1.3.39\n"
    },
    {
      "commit": "bf4e697d5cb48d5580d87b59a7b97c0a7f267d86",
      "tree": "8228a35fa4ff25ce36d08e0aa9ed1e4d7ec49426",
      "parents": [
        "3c7d10cd5f99172d50bd73f1b8d8771eddf2d6ce"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Sep 22 12:17:49 2025 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Mon Sep 22 12:17:49 2025 +0200"
      },
      "message": "ci: Update images\n\nUpdate BuildBox to 1.3.39.\n"
    },
    {
      "commit": "c10c8fdbbaca4f0ae7a5b6aeb93f910ad26e9380",
      "tree": "7f47b8e285866d08cd3cc48a91065979e5221a4b",
      "parents": [
        "3c7d10cd5f99172d50bd73f1b8d8771eddf2d6ce"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sat Sep 20 09:40:16 2025 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Sat Sep 20 15:50:56 2025 +0200"
      },
      "message": "NEWS: Prepare for 2.6.0\n"
    },
    {
      "commit": "3c7d10cd5f99172d50bd73f1b8d8771eddf2d6ce",
      "tree": "41d2346831486ea676e49472fdc9969cc2f41e39",
      "parents": [
        "1d33dcd01de1c794d0769d8e305716fd2429bf4e",
        "def2ea791497672ef4cacbc74fb49dc6582f27cf"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 22:05:42 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 19 22:05:42 2025 +0200"
      },
      "message": "Merge pull request #2058 from apache/abderrahim/bst-show-kind\n\n_frontend: allow showing the element kind in `bst show`"
    },
    {
      "commit": "1d33dcd01de1c794d0769d8e305716fd2429bf4e",
      "tree": "46e4beddec3d1fe22087fecd031176c148624895",
      "parents": [
        "9dcaab2f572503e1e7453d505eb4d023b857b3c9",
        "b2cd38be60676bbb6f588d41442ca66f2c2f055e"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 22:05:23 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 19 22:05:23 2025 +0200"
      },
      "message": "Merge pull request #2045 from apache/abderrahim/no-fetch-stdout-stderr\n\n_sandboxreapi: check stdout and stderr exist when fetching action result"
    },
    {
      "commit": "9dcaab2f572503e1e7453d505eb4d023b857b3c9",
      "tree": "792dc80bd18a77177c1d8d3cd793a0d814a1c7eb",
      "parents": [
        "a7455a349b487e21e9423ac5057af8636d7ec9a2",
        "7ead79ca6170d1e91c6ff39e2ac31cd64d9cb6f2"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 22:02:19 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 19 22:02:19 2025 +0200"
      },
      "message": "Merge pull request #2067 from apache/jbilleter/test-servers\n\ntests/testutils: Use `threading` instead of `multiprocessing`"
    },
    {
      "commit": "020e58fb61bc92f6d65c52cb7249aeee854689cb",
      "tree": "d0b14590039899997cde09588bb1a56c36e10b4e",
      "parents": [
        "509391313177b266b6b66958b7b092a76a00e381"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@gnome.org",
        "time": "Sun Apr 27 19:51:52 2025 +0100"
      },
      "committer": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@gnome.org",
        "time": "Fri Sep 19 17:47:14 2025 +0100"
      },
      "message": "Use CASDProcessManager directly to access REAPI stubs\n\nThis removes some indirections through CASCache, now that\nCASDProcessManager is directly available from the Context\n"
    },
    {
      "commit": "509391313177b266b6b66958b7b092a76a00e381",
      "tree": "f903206514f28fe398fcbd5c5181a2f90c81304c",
      "parents": [
        "0b4914d05f4aacfa49bc938262618b9266afea65"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@gnome.org",
        "time": "Sun Apr 27 16:59:10 2025 +0100"
      },
      "committer": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@gnome.org",
        "time": "Fri Sep 19 17:41:16 2025 +0100"
      },
      "message": "casremote: drop the push_message method\n\nIt\u0027s now unused\n"
    },
    {
      "commit": "0b4914d05f4aacfa49bc938262618b9266afea65",
      "tree": "5dbfc2f3d655040b9ce27c2e6aafff1fcc37c19c",
      "parents": [
        "a7455a349b487e21e9423ac5057af8636d7ec9a2"
      ],
      "author": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@gnome.org",
        "time": "Sun Apr 27 16:57:52 2025 +0100"
      },
      "committer": {
        "name": "Abderrahim Kitouni",
        "email": "akitouni@gnome.org",
        "time": "Fri Sep 19 17:25:37 2025 +0100"
      },
      "message": "tests/artifactcache/pull: stop using CASRemote.push_message()\n\nThis is the only thing that uses this function\n"
    },
    {
      "commit": "7ead79ca6170d1e91c6ff39e2ac31cd64d9cb6f2",
      "tree": "792dc80bd18a77177c1d8d3cd793a0d814a1c7eb",
      "parents": [
        "a7455a349b487e21e9423ac5057af8636d7ec9a2"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 15:54:49 2025 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 17:49:39 2025 +0200"
      },
      "message": "tests/testutils: Use `threading` instead of `multiprocessing`\n\nPython 3.14 defaults to `forkserver`, which breaks the test servers as\nthey can\u0027t be pickled.\n"
    },
    {
      "commit": "a7455a349b487e21e9423ac5057af8636d7ec9a2",
      "tree": "5ae962fe13d51c3861451a3452ded4a3d019b51d",
      "parents": [
        "2e4a6990e3739e15e5c77168d01d2e7688f6f4a3",
        "0156009ae218bdf38d6d749280ba2641aae3166e"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 16:02:23 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 19 16:02:23 2025 +0200"
      },
      "message": "Merge pull request #2065 from apache/jbilleter/click\n\nFixes for Click 8.2 and 8.3"
    },
    {
      "commit": "0156009ae218bdf38d6d749280ba2641aae3166e",
      "tree": "5ae962fe13d51c3861451a3452ded4a3d019b51d",
      "parents": [
        "f48ecb43901191d230bc7738356b7514a4c71688"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 12:32:05 2025 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 13:34:30 2025 +0200"
      },
      "message": "types.py: Return `NotImplemented` for unsupported `FastEnum` operations\n\nAs per https://docs.python.org/3/library/constants.html#NotImplemented:\n\n    A special value which should be returned by the binary special\n    methods (e.g. __eq__(), __lt__(), __add__(), __rsub__(), etc.) to\n    indicate that the operation is not implemented with respect to the\n    other type\n\nThis fixes crashes with Click 8.3.0.\n"
    },
    {
      "commit": "f48ecb43901191d230bc7738356b7514a4c71688",
      "tree": "a44123fb78ec2fd92e1293f282ccfd3fd7931616",
      "parents": [
        "2e4a6990e3739e15e5c77168d01d2e7688f6f4a3"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 13:07:32 2025 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 13:34:30 2025 +0200"
      },
      "message": "_frontend: Fix shell completion with Click \u003e\u003d 8.2\n"
    },
    {
      "commit": "2e4a6990e3739e15e5c77168d01d2e7688f6f4a3",
      "tree": "7ff63e46a4ed383c45e91222b2d87362f6b6b58a",
      "parents": [
        "65995af80b1775382cc6cb3e2bc2632d544fa8c1",
        "4c9655779ec72fba6d65b3467b548fd4b9903e13"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 12:06:06 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 19 12:06:06 2025 +0200"
      },
      "message": "Merge pull request #2064 from apache/jbilleter/child-watcher\n\nscheduler.py: Replace asyncio child watcher with our own watcher thread"
    },
    {
      "commit": "4c9655779ec72fba6d65b3467b548fd4b9903e13",
      "tree": "7ff63e46a4ed383c45e91222b2d87362f6b6b58a",
      "parents": [
        "65995af80b1775382cc6cb3e2bc2632d544fa8c1"
      ],
      "author": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 09:44:21 2025 +0200"
      },
      "committer": {
        "name": "Jürg Billeter",
        "email": "j@bitron.ch",
        "time": "Fri Sep 19 10:26:59 2025 +0200"
      },
      "message": "scheduler.py: Replace asyncio child watcher with our own watcher thread\n\nThe asyncio child watcher system was deprecated in Python 3.12 and will\nbe fully removed in Python 3.14.\n\nWe use it only to watch a single process (buildbox-casd) and can use a\nsimple watcher thread for that.\n\nFixes #1990.\n"
    }
  ],
  "next": "65995af80b1775382cc6cb3e2bc2632d544fa8c1"
}
