)]}'
{
  "log": [
    {
      "commit": "9b92164c47fdaecb2600b417733507e2a105c3a5",
      "tree": "3b26a87931929337a400cec2ba1231c08d970a0d",
      "parents": [
        "08e8a79146bb68b5fa9ec5f9e43cacb8f030f0d9",
        "25db08b18b191969311c07c570d2fe6969aa18d5"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "92275829+valeriosetti@users.noreply.github.com",
        "time": "Sat Mar 07 14:07:50 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 07 14:07:50 2026 +0100"
      },
      "message": "Merge pull request #280 from ronald-cron-arm/tf-psa-crypto-reorg-prep\n\nPrepare for TF-PSA-Crypto repository reorganization"
    },
    {
      "commit": "08e8a79146bb68b5fa9ec5f9e43cacb8f030f0d9",
      "tree": "e3e798a89a930a233d08ae9c68b6b9bd5a9217d0",
      "parents": [
        "e07b6643e8db5fe2fdc20be288b91a2194316862",
        "0058f4c4cba7850018ac82d2db79983bc400439c"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "gilles.peskine@arm.com",
        "time": "Thu Mar 05 22:11:12 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 05 22:11:12 2026 +0100"
      },
      "message": "Merge pull request #286 from gilles-peskine-arm/psasim-serialize-unsigned-int\n\npsasim serialize: Support a few more standard C types"
    },
    {
      "commit": "0058f4c4cba7850018ac82d2db79983bc400439c",
      "tree": "e3e798a89a930a233d08ae9c68b6b9bd5a9217d0",
      "parents": [
        "e07b6643e8db5fe2fdc20be288b91a2194316862"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Mar 05 10:59:26 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Mar 05 10:59:26 2026 +0100"
      },
      "message": "psasim serialize: Support a few more standard C types\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "e07b6643e8db5fe2fdc20be288b91a2194316862",
      "tree": "2e9db87cbd7304fd5c56273a3a830883afcf6a74",
      "parents": [
        "0879d0c8061353e8b4beaaf4eed9968a89bde4f1",
        "d1bb3a61a592decc8dad071094c66768182fd54a"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "92275829+valeriosetti@users.noreply.github.com",
        "time": "Fri Feb 27 11:12:44 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 27 11:12:44 2026 +0100"
      },
      "message": "Merge pull request #278 from gilles-peskine-arm/generate_mldsa_tests-create\n\nSupport committed generated test data and generate PQCP test data"
    },
    {
      "commit": "0879d0c8061353e8b4beaaf4eed9968a89bde4f1",
      "tree": "2a66b148d47ca8226ca1f5da9fb59ed9f2601289",
      "parents": [
        "8ed11c99fe9e6d4d96289ebc1e134949421be917",
        "bd6dfd6d8af59ccd6ea24fcc37565809bd2c8cc7"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "gilles.peskine@arm.com",
        "time": "Thu Feb 26 19:10:22 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 26 19:10:22 2026 +0100"
      },
      "message": "Merge pull request #279 from gilles-peskine-arm/unix-detection-202601-framework\n\nSimplify platform requirements before 1.1/4.1: framework support"
    },
    {
      "commit": "d1bb3a61a592decc8dad071094c66768182fd54a",
      "tree": "cfe730e0c9a4e675795e48ac48b93d9219ec5d8e",
      "parents": [
        "d6dce9b3f87a65c8cbbeb73ffb97647359832192"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Feb 25 21:12:46 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Feb 25 21:12:46 2026 +0100"
      },
      "message": "dilithium_py reproducible output requires pycryptodome\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "d6dce9b3f87a65c8cbbeb73ffb97647359832192",
      "tree": "17ee8ce362735a8a7e4e62748971c0400339313a",
      "parents": [
        "3ddf7bc717904f5265b6954dfb39d8620f104e1a"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Feb 25 19:02:22 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Feb 25 19:02:22 2026 +0100"
      },
      "message": "Make the output deterministic\n\nTests using randomized signatures were currently randomized. We need the\noutput of the script to be reproducible, so this won\u0027t do.\n\nForce randomized signatures to use a specific RNG which is reset before\nconstructing each test case. This way, the script\u0027s output is reproducible.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "3ddf7bc717904f5265b6954dfb39d8620f104e1a",
      "tree": "b3e6d94c68c858fe896ec872ad0e522eb743b6f2",
      "parents": [
        "c88127f4885c80f67e7bd2887b14a17a6d148e1a"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Tue Feb 24 16:06:11 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Tue Feb 24 16:06:11 2026 +0100"
      },
      "message": "Fix verify test cases not having a randomized signature\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "25db08b18b191969311c07c570d2fe6969aa18d5",
      "tree": "30139ae55f968640d5b7613da6752bfa680a9b0c",
      "parents": [
        "055618425f2c7bc79ffa9f61888864242bb32698"
      ],
      "author": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Mon Feb 23 10:23:01 2026 +0100"
      },
      "committer": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Mon Feb 23 10:23:01 2026 +0100"
      },
      "message": "check-doxy-blocks.pl: Add dispatch, extras, platform and utilities directories\n\nSigned-off-by: Ronald Cron \u003cronald.cron@arm.com\u003e\n"
    },
    {
      "commit": "055618425f2c7bc79ffa9f61888864242bb32698",
      "tree": "0468abcf0b2206cc49d5b29af8cf6a6472f21b90",
      "parents": [
        "8ed11c99fe9e6d4d96289ebc1e134949421be917"
      ],
      "author": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Sat Feb 14 22:09:10 2026 +0100"
      },
      "committer": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Mon Feb 23 08:17:50 2026 +0100"
      },
      "message": "check_names.py: Add dispatch, extras, platform and utilities directories\n\nSigned-off-by: Ronald Cron \u003cronald.cron@arm.com\u003e\n"
    },
    {
      "commit": "bd6dfd6d8af59ccd6ea24fcc37565809bd2c8cc7",
      "tree": "2a66b148d47ca8226ca1f5da9fb59ed9f2601289",
      "parents": [
        "b2eb76d575e2dc07aef7eec2051f193efa04ee0b"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Sat Feb 21 21:45:27 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Sat Feb 21 21:45:27 2026 +0100"
      },
      "message": "Fix check_names complaints about *_platform_requirements.h\n\nPlatform requirement headers are expected to define macro names\noutside of our namespace.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "b2eb76d575e2dc07aef7eec2051f193efa04ee0b",
      "tree": "1cd984eafb7f271288da987ab906e1ad3ef67188",
      "parents": [
        "6d5987a9540929f820cbc9b6ff2215f6362fe740"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Sat Feb 21 21:45:05 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Sat Feb 21 21:45:20 2026 +0100"
      },
      "message": "Revert \"Fix check_names complaints about *_platform_requirements.h\"\n\nThis reverts commit 5452c7747b0284e339731d725f66d953867d3bd3.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "6d5987a9540929f820cbc9b6ff2215f6362fe740",
      "tree": "2031e3b1486b04ac21ff33248094728351f7b0a4",
      "parents": [
        "4f3a21f40d17ff7b24b27a121023f04aeab9ceb3"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Fri Feb 20 21:46:11 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Fri Feb 20 21:46:11 2026 +0100"
      },
      "message": "Include \u003ctest/test_common.h\u003e first in test code\n\nThis lets us define things that we want to have everywhere in test code. In\nparticular, this lets us define platform-specific symbols that influence\nwhat system headers declare. This also takes care of including the library\nconfiguration.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "4f3a21f40d17ff7b24b27a121023f04aeab9ceb3",
      "tree": "e585a32635f926fd3cb51918112830c86135820c",
      "parents": [
        "5452c7747b0284e339731d725f66d953867d3bd3"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Fri Feb 20 17:47:55 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Fri Feb 20 20:31:56 2026 +0100"
      },
      "message": "Stop using MBEDTLS_PRINTF_SIZET\n\nSince Mbed TLS 3.6.0, all officially supported versions of Visual Studio\na printf function family that is sufficiently compliant to C99 for our\npurposes, in particular supporting `%zu` for `size_t`. The only platform\nwithout `%zu` that we semi-officially support is older versions of MinGW,\nstill used in our CI. MinGW provides either a Windows legacy printf or a\nstandards-compliant printf depending on the value of\n`__USE_MINGW_ANSI_STDIO` when compiling each C file. Force the use of the\ncompliant version. Don\u0027t rely on `MBEDTLS_PRINTF_SIZET`, which is defined in\n`\u003cmbedtls/debug.h\u003e` and no longer considers the Windows legacy version in\nMbed TLS \u003e\u003d 4.1.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "c88127f4885c80f67e7bd2887b14a17a6d148e1a",
      "tree": "5046ef64636947db425581c2c814bee85b8f41c0",
      "parents": [
        "d85217d8f58aa5f5428e9b92f9d8ee65804a797b"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Dec 08 10:44:26 2025 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 19 18:24:08 2026 +0100"
      },
      "message": "ML-DSA test case generator\n\nGenerate some basic test cases for the mldsa-native functions.\n\nUses `dilithium_py` from https://github.com/GiacomoPope/dilithium-py\n(`pip install dilithium-py`), which requires Python \u003e\u003d3.9.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "d85217d8f58aa5f5428e9b92f9d8ee65804a797b",
      "tree": "3fd9d6595a9228c5356e9be342afbbba34844f19",
      "parents": [
        "2fe235d289af697c108bdbb1a40957cc9e9741c8"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Feb 11 16:38:28 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 19 18:24:08 2026 +0100"
      },
      "message": "Support test data generators in generate_files_helper.py\n\nSupport check and always-update mode. Update-if-needed mode falls back to\nalways-update mode because test_data_generation.py doesn\u0027t support\nupdate-if-needed.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "2fe235d289af697c108bdbb1a40957cc9e9741c8",
      "tree": "70ec62dbd7f426d1869434dd5990bb9a65e2513b",
      "parents": [
        "151585f1a130fed5d579b4394c8ae0930ff1a329"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Feb 11 16:36:23 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 19 18:24:08 2026 +0100"
      },
      "message": "Test data generators: add --list-outdated option\n\nAs part of a long-term unification effort of generation scripts, add an\noption for test generators to list oudated targets without writing to files.\nThis corresponds to functionality that the new generate_files_helper module\noffers.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "151585f1a130fed5d579b4394c8ae0930ff1a329",
      "tree": "676205cb7fcd2c0bf50d4a5c9ec8f3ce0e224383",
      "parents": [
        "f9a7620e5b56976b5ed2e6ee84f0f82e33e03378"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Feb 11 14:43:26 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 19 18:24:08 2026 +0100"
      },
      "message": "New utility Python module: generate_files_helper\n\nA new utility to give a common interface to committed generated files.\n\nFor the time being, this module is only intended for committed generated\nfiles, and `make_generated_files_common.py` is only intended for non-committed\ngenerated files. The two may be unified at some point in the future.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "f9a7620e5b56976b5ed2e6ee84f0f82e33e03378",
      "tree": "5e121f8f1cbda9455b000d217115cc810e5c9379",
      "parents": [
        "8ed11c99fe9e6d4d96289ebc1e134949421be917"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Feb 11 13:29:11 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 19 18:24:08 2026 +0100"
      },
      "message": "Create a new directory for non-user-facing scripts\n\nCreate a directory for scripts that are useful to maintainers, and may be\ninvoked as part of the CI, but are not part of the normal build.\n\nThese scripts may require a recent Python version and may require additional\nthird-party modules, unlike user-facing scripts where we try to minimize\nrequirements.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "5452c7747b0284e339731d725f66d953867d3bd3",
      "tree": "33d7496f85a906f0513bd3eadc148c595b32a124",
      "parents": [
        "67538f61bc24e3f9f4b729955e3fed84fca28a98"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 19 17:18:03 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 19 17:18:03 2026 +0100"
      },
      "message": "Fix check_names complaints about *_platform_requirements.h\n\nPlatform requirement headers are expected to define macro names\noutside of our namespace.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "67538f61bc24e3f9f4b729955e3fed84fca28a98",
      "tree": "cd9682c28df06fef32df7282ddc3580105f638ee",
      "parents": [
        "316ec765088cb6621575b8723f9dc8d710be79f3"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 19 12:34:35 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 19 12:34:35 2026 +0100"
      },
      "message": "Remove an unused method\n\n`TextChangelogFormat.version_title_text` never worked: it\u0027s missing a\nparameter in the call to `re.sub`. Fortunately it\u0027s unused, so just remove it.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "316ec765088cb6621575b8723f9dc8d710be79f3",
      "tree": "b62c89f13c85bd7ee5dc412205a9fd30e8277863",
      "parents": [
        "f41a9f605699bf05cf1e3dcbab26f7f21afec462"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Feb 18 20:10:27 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Feb 18 20:10:40 2026 +0100"
      },
      "message": "Modernize usage of re.sub deprecated in Python 3.13\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "f41a9f605699bf05cf1e3dcbab26f7f21afec462",
      "tree": "fef366b70d3bcaa810d2b241da3e83cb8e5cca42",
      "parents": [
        "8ed11c99fe9e6d4d96289ebc1e134949421be917"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Sun Jan 25 22:06:24 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Tue Feb 17 17:21:20 2026 +0100"
      },
      "message": "New macro TEST_ASSERT_ERRNO\n\nShow errno if a test assertion fails.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "8ed11c99fe9e6d4d96289ebc1e134949421be917",
      "tree": "ab381400c0e29312202d6297408217287f98b4b2",
      "parents": [
        "4a57bd209dd9cfd6170573c8da5452daf84190f3",
        "042e954d7dd1853b271d33c3a841a7551867edf2"
      ],
      "author": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Mon Feb 16 17:48:56 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 16 17:48:56 2026 +0100"
      },
      "message": "Merge pull request #274 from ronald-cron-arm/dtls-client-hello-defragmentation-prep\n\nSome preparatory work for DTLS client hello defragmentation"
    },
    {
      "commit": "4a57bd209dd9cfd6170573c8da5452daf84190f3",
      "tree": "ed1ccb3e0522bdf04be5cd0029ba9e8cd7c592c1",
      "parents": [
        "c0a8a9cbeddc85a21f28c65bbb1b2ff4ddfcef03",
        "c99fb5762db72484786687967b820781c6ef695c"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "92275829+valeriosetti@users.noreply.github.com",
        "time": "Mon Feb 16 16:05:56 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 16 16:05:56 2026 +0100"
      },
      "message": "Merge pull request #265 from gilles-peskine-arm/crypto_knowledge-psa_spec_1.4-no_pake\n\nCrypto knowledge: up to PSA Crypto 1.4, XOF test driver"
    },
    {
      "commit": "c99fb5762db72484786687967b820781c6ef695c",
      "tree": "ed1ccb3e0522bdf04be5cd0029ba9e8cd7c592c1",
      "parents": [
        "485722897191754e9da0914cf3488d7056d1cbc8"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 16 11:07:24 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 16 11:07:24 2026 +0100"
      },
      "message": "Fix SM3 hash length (bits/bytes confusion)\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "485722897191754e9da0914cf3488d7056d1cbc8",
      "tree": "2d18715efcc840de5b7856786896e4383e5d63d9",
      "parents": [
        "2ffd883d808b62e66f8c4cf1dfcbfd654d4b1798"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 21:17:21 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Tue Feb 10 12:21:28 2026 +0100"
      },
      "message": "psasim: add XOF operation support\n\nXOF operations are not available on every branch, so their serialization\ncode needs to be compiled conditionally on the availability of the type.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "2ffd883d808b62e66f8c4cf1dfcbfd654d4b1798",
      "tree": "919514312bc507fd289c40ea3b875d07989b9671",
      "parents": [
        "4484c52f9aafc0a4f275f7c2f80a7b25481838b0"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Sat Jan 03 21:01:36 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 21:16:28 2026 +0100"
      },
      "message": "Driver entry point test code: add XOF support\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "4484c52f9aafc0a4f275f7c2f80a7b25481838b0",
      "tree": "a2b5f697fb419eaf988b2f40b2e23f4941da198e",
      "parents": [
        "567f89ade90c2c4f7c9d1f06f4875b0ecb3a40a8"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 08 17:37:24 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 18:04:13 2026 +0100"
      },
      "message": "Support test_suite_psa_crypto_metadata functions for new algorithm categories\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "567f89ade90c2c4f7c9d1f06f4875b0ecb3a40a8",
      "tree": "465a585cbf6f41c6bb97ad28e5f924ebba3848cf",
      "parents": [
        "43a6e55ece24c346057e7992f397a0ba199294f0"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Jan 21 17:52:44 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 18:04:13 2026 +0100"
      },
      "message": "Remain compatible with generate_psa_constants.py which is outside the framework\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "43a6e55ece24c346057e7992f397a0ba199294f0",
      "tree": "f46a47156a47c747f0542ccb03310c6b9a695ca1",
      "parents": [
        "d60e412a2d882088e7030efc581d8c9aa1aa7b2d"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 08 17:36:24 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 18:04:13 2026 +0100"
      },
      "message": "Match field names to algorithm category names\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "d60e412a2d882088e7030efc581d8c9aa1aa7b2d",
      "tree": "d8d547ce5c61818962a60b788bc452957078fdd5",
      "parents": [
        "dec6c51f7dec7325a2e6a28b24fe1f87d23e6322"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Jan 21 17:53:04 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 18:04:13 2026 +0100"
      },
      "message": "generate_test_keys.py: Support ML-DSA, ML-KEM and SLH-DSA keys\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "dec6c51f7dec7325a2e6a28b24fe1f87d23e6322",
      "tree": "5190542fb85dd90e1e2e2282d94bacc29c663add",
      "parents": [
        "87e39885379a38e26c07cfc6f233a6c37cc6e069"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 08 17:16:18 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 18:04:13 2026 +0100"
      },
      "message": "Add sample keys for ML-DSA, ML-KEM and SLH-DSA\n\nUse NIST test vectors. I copied the first test case for each parameter set.\nFor ML-KEM and ML-DSA, I did it manually. For SLH-DSA, I used the following\nPython script:\n\n```\n\u003cgen-val/json-files/SLH-DSA-keyGen-FIPS205/internalProjection.json python -c \u0027\nimport json, re, sys\ndata \u003d json.load(sys.stdin)\ntypes \u003d {family: {} for family in [\"SHA2_F\", \"SHA2_S\", \"SHAKE_F\", \"SHAKE_S\"]}\nfor group in data[\"testGroups\"]:\n  t \u003d group[\"tests\"][0]\n  m \u003d re.match(r\"SLH-DSA-(\\w+)-([0-9]+)(\\w+)\", group[\"parameterSet\"])\n  type \u003d m.group(1) + \"_\" + m.group(3).upper()\n  size \u003d m.group(2)\n  prv \u003d t[\"skSeed\"] + t[\"skPrf\"] + t[\"pkSeed\"] + t[\"pk\"]\n  pub \u003d t[\"pkSeed\"] + t[\"pk\"]\n  types[type][size] \u003d (prv, pub)\nfor type in sorted(types.keys()):\n  print(\"\")\n  print(f\"    # https://github.com/usnistgov/ACVP-Server/blob/v1.1.0.41/gen-val/json-files/SLH-DSA-keyGen-FIPS205/internalProjection.json\")\n  print(f\"    \\x27SLH_DSA(PSA_SLH_FAMILY_{type})\\x27: {{\")\n  for size in sorted(types[type].keys()):\n    entry \u003d types[type][size]\n    print(f\"        {size}: (\\\"{entry[0]}\\\",\")\n    print(f\"              \\\"{entry[1]}\\\"),\")\n  print(f\"    }},\")\n\u0027\n```\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "87e39885379a38e26c07cfc6f233a6c37cc6e069",
      "tree": "f16513225f807694cb41dde1b5a4d5d27f5edb4e",
      "parents": [
        "4c54ebd97d9ad87ff69a0e2a50ef8fc61eb835c5"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 08 16:30:36 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 18:04:13 2026 +0100"
      },
      "message": "Add all algorithms from PSA Crypto 1.4 PQC extension\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "4c54ebd97d9ad87ff69a0e2a50ef8fc61eb835c5",
      "tree": "e929d0d9fe99e6ef9bdc2344b5b64184ec03cacc",
      "parents": [
        "987737675a31c2230dfccebe66d64fa5b621c300"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 08 15:30:56 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 18:04:13 2026 +0100"
      },
      "message": "OpFail: only consider categories in which at least one algorithm is supported\n\nAddresses https://github.com/Mbed-TLS/mbedtls-framework/issues/264\nbut perhaps not in the best way.\n\nKeep an exception for PAKE, for which we already have algorithm\nsupport (`PSA_ALG_JPAKE`) but no `pake_fail` function.\nhttps://github.com/Mbed-TLS/mbedtls-framework/issues/263\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "987737675a31c2230dfccebe66d64fa5b621c300",
      "tree": "2311e72c94e4222f606b0480fc69c917fe4a725d",
      "parents": [
        "29697c90ff089bb1181c351286561b02060cb3e6"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Jan 07 16:50:05 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 18:04:13 2026 +0100"
      },
      "message": "OpFail generator: pre-compute the lists of categories and algorithms\n\nNo behavior change.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "29697c90ff089bb1181c351286561b02060cb3e6",
      "tree": "5ea1f53c982c14580bcf60fefdf93e3af03f5e3d",
      "parents": [
        "1ef0e676bf400a1d4d2ebd10f97d155bc277c4cc"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Jan 07 16:06:45 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 18:04:13 2026 +0100"
      },
      "message": "Support new destructor in PSA Crypto API 1.4\n\nRecognize `PSA_ALG_SIGN_SUPPORTS_CONTEXT` as a destructor.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "1ef0e676bf400a1d4d2ebd10f97d155bc277c4cc",
      "tree": "26f2ded4e40bc6b041adc54ce76f8f6e46e65625",
      "parents": [
        "e9f66f7ec225cabda0fd1f12acc3019295e721bf"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Jan 07 16:01:19 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 18:04:13 2026 +0100"
      },
      "message": "Add all mechanisms up to PSA Crypto API 1.4\n\nDefine the necessary new categories (key wrap, key encapsulation, XOF).\n\nThis completes the list of mechanisms in the PSA Crypto API version 1.4,\nexcept for PAKE that are more challenging (family parametrization, need to\nfind sample keys in `asymmetric_key_data.py`), and except for the PQC\nextension.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "e9f66f7ec225cabda0fd1f12acc3019295e721bf",
      "tree": "1e40ef20a421bc7722b5259cd8712aa6751ca4af",
      "parents": [
        "1e8f77d47c903bdf4425d947be76b6354ef2cd5e"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Jan 07 15:59:49 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 18:04:13 2026 +0100"
      },
      "message": "Add DH family RFC3526\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "1e8f77d47c903bdf4425d947be76b6354ef2cd5e",
      "tree": "cbbc4cf2df7c3c8189b2f7302ee3b4c75f353b2e",
      "parents": [
        "000b04968fdfef6767eeb735b7322ca09b0e6ce8"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Jan 07 15:59:20 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 18:04:13 2026 +0100"
      },
      "message": "Add elliptic curve FRP256v1\n\nSample key from\nhttps://www.ietf.org/archive/id/draft-lspm-cose-c509-test-vectors-00.html#name-weierstrass-ec-public-key-with-f\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "000b04968fdfef6767eeb735b7322ca09b0e6ce8",
      "tree": "4886e6546704dc85e11b31356ec2ca162b136a08",
      "parents": [
        "c0a8a9cbeddc85a21f28c65bbb1b2ff4ddfcef03"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 08 16:45:55 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 18:04:13 2026 +0100"
      },
      "message": "Indicate the provenance of keys\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "c0a8a9cbeddc85a21f28c65bbb1b2ff4ddfcef03",
      "tree": "5404ae69d36ccc5820bc0549628f27b76e74cfa3",
      "parents": [
        "8ebca5151687a2c75171aa89c0260ebb78ac59c8",
        "a9bb80e6998488deca8123b25fd9607564b4ec83"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "gilles.peskine@arm.com",
        "time": "Mon Feb 09 17:58:27 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 09 17:58:27 2026 +0100"
      },
      "message": "Merge pull request #276 from gilles-peskine-arm/psasim-generate-wrappers-dynamically\n\npsasim: generate wrappers dynamically"
    },
    {
      "commit": "a9bb80e6998488deca8123b25fd9607564b4ec83",
      "tree": "5404ae69d36ccc5820bc0549628f27b76e74cfa3",
      "parents": [
        "2bc58125fe2e747ffa9b408142f5320b3bfe0051"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 15:34:29 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Feb 09 15:34:29 2026 +0100"
      },
      "message": "Document the psasim build\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "2bc58125fe2e747ffa9b408142f5320b3bfe0051",
      "tree": "9487ea034194c4b7f084c657a80545accd1b41a3",
      "parents": [
        "3a69598ade6596d86d031ef74dd4afbfb61cb2a1"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 05 22:23:52 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 05 22:23:52 2026 +0100"
      },
      "message": "Add missing dependencies on generated headers\n\nWithout those dependencies, the headers don\u0027t get generated.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "3a69598ade6596d86d031ef74dd4afbfb61cb2a1",
      "tree": "7c7b4ff8cf6d00f49f5650bd9c0bf6cb8039c8e9",
      "parents": [
        "b6c23e6e0178c96351213d542b6cbae14a3672c2"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 05 14:03:57 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 05 14:03:57 2026 +0100"
      },
      "message": "Clean up psasim/.gitignore\n\nAdd generated files that are no longer checked in.\n\nRemove obsolete things (including things now covered at the framework root).\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "b6c23e6e0178c96351213d542b6cbae14a3672c2",
      "tree": "ebf7954ad83277c9cd594921613f8a7b1149d584",
      "parents": [
        "9dca598383ad1ffb9335d894eef7c270240eeced"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 05 13:55:14 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 05 13:58:22 2026 +0100"
      },
      "message": "Remove psasim generated files\n\nThe files are now generated during the build. Stop having them in version\ncontrol.\n\nAs formerly in Mbed TLS, `make clean` doesn\u0027t remove\nconfiguration-independent target-independent generated files, but the new\ntarget `make neat` does.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "9dca598383ad1ffb9335d894eef7c270240eeced",
      "tree": "5c7ed34acbc20afc49f0ab38ec66a58f366ecd5e",
      "parents": [
        "4b0febffa182d17cb42ccdad14ce414c11641d52"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 05 13:49:47 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 05 13:58:22 2026 +0100"
      },
      "message": "Add rules to generate wrappers during the psasim build\n\nWe don\u0027t need to check those generated files into version control.\n\nThis fixes the problem that the generated files have precise knowledge of\nthe functions that exist on whatever branch of TF-PSA-Crypto is consuming\nthe framework.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "4b0febffa182d17cb42ccdad14ce414c11641d52",
      "tree": "c3fc944e3852aefb270bd99806c23a27391dc65d",
      "parents": [
        "499dd4322e4b1ffd9fa0bf52bb5f2e6b54a7fdaa"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 05 13:39:03 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 05 13:39:25 2026 +0100"
      },
      "message": "psasim: Update generation script instructions for the TF-PSA-Crypto split\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "499dd4322e4b1ffd9fa0bf52bb5f2e6b54a7fdaa",
      "tree": "2e2975a925ed1f11acbe8c272d89239dbf128e54",
      "parents": [
        "8ebca5151687a2c75171aa89c0260ebb78ac59c8"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 05 13:38:12 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Feb 05 13:38:12 2026 +0100"
      },
      "message": "Update psasim generated files\n\nTF-PSA-Crypto no longer has `psa_can_do_hash()` (except as a temporary stub\nto avoid breaking the build of psasim).\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "8ebca5151687a2c75171aa89c0260ebb78ac59c8",
      "tree": "0e0936a011ff034381db2b3b3fa298f271c8cf29",
      "parents": [
        "421f7a29f79e535fc6497b6cb4767cd7023db20b",
        "c5c6dda693921ca53b7d0200975774e25596c126"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "gilles.peskine@arm.com",
        "time": "Thu Jan 29 12:39:49 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 29 12:39:49 2026 +0100"
      },
      "message": "Merge pull request #275 from gilles-peskine-arm/mldsa-pqcp-add-driver-framework-return-of-the-psasim\n\npsasim: Read include paths from the TF-PSA-Crypto makefile"
    },
    {
      "commit": "c5c6dda693921ca53b7d0200975774e25596c126",
      "tree": "0e0936a011ff034381db2b3b3fa298f271c8cf29",
      "parents": [
        "421f7a29f79e535fc6497b6cb4767cd7023db20b"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Tue Jan 27 18:23:53 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Tue Jan 27 18:25:25 2026 +0100"
      },
      "message": "Read include paths from the TF-PSA-Crypto makefile\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "042e954d7dd1853b271d33c3a841a7551867edf2",
      "tree": "a3cfda0496cdf26231b30dae42e51ec093699be0",
      "parents": [
        "c678de61dc77baea356d881b0928b794ef5eaa0b"
      ],
      "author": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Tue Jan 20 15:25:36 2026 +0100"
      },
      "committer": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Mon Jan 26 15:54:59 2026 +0100"
      },
      "message": "make_generated_files.py: Split data from code\n\nInitial work to eventually have the list of\nscripts that generate files in the branches\nthat consume the framework.\n\nSigned-off-by: Ronald Cron \u003cronald.cron@arm.com\u003e\n"
    },
    {
      "commit": "c678de61dc77baea356d881b0928b794ef5eaa0b",
      "tree": "8d043332f31ed94e934f98ecaa0cb9ece6e5a8c7",
      "parents": [
        "650159869a381d4c47695620a49dd85824f9c254"
      ],
      "author": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Mon Jan 26 15:36:54 2026 +0100"
      },
      "committer": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Mon Jan 26 15:53:19 2026 +0100"
      },
      "message": "tls_handshake_tests.py: Fix expected server log\n\nThe TLS 1.2 ClientHello function does not return\nat the end in case of parsing error. Thus adapt\nthe server expected log in case of too small\nfragments.\n\nSigned-off-by: Ronald Cron \u003cronald.cron@arm.com\u003e\n"
    },
    {
      "commit": "650159869a381d4c47695620a49dd85824f9c254",
      "tree": "d54e19973553daed2bf92bd0707f7e5c75c238b7",
      "parents": [
        "5639bf9a6983911b5bc11b838354b7a9dbf3e5da"
      ],
      "author": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Tue Jan 20 11:12:21 2026 +0100"
      },
      "committer": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Fri Jan 23 21:02:16 2026 +0100"
      },
      "message": "tls_handshake_tests.py: Add no-tls12-client-hello-defragmentation-support arg\n\nAdd a no-tls12-client-hello-defragmentation-support\nargument to specify if TLS 1.2 Client Hello\ndefragmentation is fully supported or not.\nThis is temporary while the support is being added\nin Mbed TLS development and 3.6 branches.\n\nSigned-off-by: Ronald Cron \u003cronald.cron@arm.com\u003e\n"
    },
    {
      "commit": "5639bf9a6983911b5bc11b838354b7a9dbf3e5da",
      "tree": "f1be19c2f23efc6dc62968f41232c570f04e90ff",
      "parents": [
        "421f7a29f79e535fc6497b6cb4767cd7023db20b"
      ],
      "author": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Tue Jan 20 10:15:45 2026 +0100"
      },
      "committer": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Fri Jan 23 20:17:13 2026 +0100"
      },
      "message": "Make generate_tls_handshake_tests.py a module\n\nSigned-off-by: Ronald Cron \u003cronald.cron@arm.com\u003e\n"
    },
    {
      "commit": "421f7a29f79e535fc6497b6cb4767cd7023db20b",
      "tree": "61a15e8a2dfacded3fab2f84682cda196ad4dab6",
      "parents": [
        "b4d205efc461a74f8827f1ed12e2d4dec3bf90a3",
        "f51cf54fd4b4b5b57d0bb7b2c8161c2c7eb25802"
      ],
      "author": {
        "name": "David Horstmann",
        "email": "david.horstmann@arm.com",
        "time": "Fri Jan 23 15:23:09 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 23 15:23:09 2026 +0000"
      },
      "message": "Merge pull request #238 from minosgalanakis/rework/move-psasim\n\nMove psasim into framework"
    },
    {
      "commit": "b4d205efc461a74f8827f1ed12e2d4dec3bf90a3",
      "tree": "6eb7d998e8e7299a185bb795f4cbab6d44c6043a",
      "parents": [
        "ece660e1cf02320fb892d21725a73d8ea04ec128",
        "84a637899acf46368dd91146ef452ce324681d88"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "gilles.peskine@arm.com",
        "time": "Wed Jan 21 13:49:24 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 21 13:49:24 2026 +0100"
      },
      "message": "Merge pull request #273 from gilles-peskine-arm/mldsa-pqcp-add-driver-framework-the-split-strikes-back\n\nFramework support for the pqcp driver, again"
    },
    {
      "commit": "84a637899acf46368dd91146ef452ce324681d88",
      "tree": "5b604dbe1b9045cd6633ce823f044ae891dee136",
      "parents": [
        "93d94f4b421b5ce0945f5b3bda8da71a1e7d87f8"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Tue Jan 20 11:32:01 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Tue Jan 20 11:32:01 2026 +0100"
      },
      "message": "Add pqcp path when building in mbedtls as well\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "93d94f4b421b5ce0945f5b3bda8da71a1e7d87f8",
      "tree": "8ade690b0cb8a216c91e38b2c2e9aefda58d89f4",
      "parents": [
        "390abf3b39f56fd4dace63f9db194a08f072823f"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Tue Jan 20 11:31:45 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Tue Jan 20 11:31:45 2026 +0100"
      },
      "message": "c_build_helper: don\u0027t hide the compiler output\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "ece660e1cf02320fb892d21725a73d8ea04ec128",
      "tree": "ded041e8af7027967943643451eb21941e4d9705",
      "parents": [
        "b392da5c464b479540c8e0de2eaef1c719d925fb",
        "390abf3b39f56fd4dace63f9db194a08f072823f"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "92275829+valeriosetti@users.noreply.github.com",
        "time": "Mon Jan 19 16:40:28 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 19 16:40:28 2026 +0100"
      },
      "message": "Merge pull request #271 from gilles-peskine-arm/mldsa-pqcp-add-driver-framework\n\nFramework support for the pqcp driver"
    },
    {
      "commit": "390abf3b39f56fd4dace63f9db194a08f072823f",
      "tree": "45b615094f23b99eb377b66a0b53958f256e25dc",
      "parents": [
        "ab1a43e7817c59503984e7080f7e0a6ff5ca8982"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Jan 19 12:36:38 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Jan 19 12:36:38 2026 +0100"
      },
      "message": "Fix compatibility with old CMake\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "ab1a43e7817c59503984e7080f7e0a6ff5ca8982",
      "tree": "ad6d5581163f013c766f84c3b553364658a2b638",
      "parents": [
        "18525876aa5687486f61f1338615ed6cc8409d1c"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Jan 19 12:34:34 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Jan 19 12:34:34 2026 +0100"
      },
      "message": "check_names: Use the same Python executable instead of `python3`\n\nFix build failure in environments where `python3` doesn\u0027t exist or is too\nold.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "18525876aa5687486f61f1338615ed6cc8409d1c",
      "tree": "90cfa8225114be716c7818887f7e13aebdd95fb4",
      "parents": [
        "0c94e7d16454e9501f9bb5f19ae8ff551e279e2c"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 15 19:30:57 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 15 19:31:32 2026 +0100"
      },
      "message": "check_names: allow pqcp driver to configure mldsa-native\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "0c94e7d16454e9501f9bb5f19ae8ff551e279e2c",
      "tree": "6402222106d1ec35e8a55121dd084041aff030d0",
      "parents": [
        "dd06b4989f86c47bc7f877068d51d66a131fefd4"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 15 19:25:53 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 15 19:31:27 2026 +0100"
      },
      "message": "check_names: Allow mldsa-native symbols to be undeclared\n\nThe mldsa-native and mlkem-native headers use preprocessor tricks to\nconstruct identifiers. We can\u0027t recognize those. So f a symbol found in the\nbinary is in the expected sub-namespace for those parts of the library,\nallow it to be undeclared.\n\nMake the exception general enough for mldsa-native (needed now) and\nmlkem-native (needed soon).\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "dd06b4989f86c47bc7f877068d51d66a131fefd4",
      "tree": "ea694841cbc1470b4d4d6760d6704000313b1569",
      "parents": [
        "21007fc2bcf37c03c431c9ba6ead8013c1ecbca6"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 15 19:23:27 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 15 19:23:27 2026 +0100"
      },
      "message": "check_names: tighten the pattern for internal macros\n\nThe pattern for internal macros was weird, in part, because of the unusual\nshort names we use in bignum code. Make the pattern stricter, but add an\nexception mechanism. Declare an exception for those bignum names, but\nallow them only in bignum code.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "21007fc2bcf37c03c431c9ba6ead8013c1ecbca6",
      "tree": "ad3fea89967fe7eb46a84f51997fb1d944d4866a",
      "parents": [
        "2f01eca20370c34a9aae44ffe17370f4097c9c25"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 15 18:04:18 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 15 18:09:14 2026 +0100"
      },
      "message": "check_names: use set, not list, when only testing membership\n\nIt\u0027s both clearer and faster.\n\nNo semantic change.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "2f01eca20370c34a9aae44ffe17370f4097c9c25",
      "tree": "233ce4240ff9cda36c0d065f32dc4b3c8c47fa12",
      "parents": [
        "8caa0e42abd3b98cd0eada8732182ba38e0f5965"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 15 17:57:47 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 15 18:09:08 2026 +0100"
      },
      "message": "check_names: add type annotations\n\nI needed that to understand how the data is represented (str vs Match, list\nvs set vs tuple, ...).\n\nNo semantic change.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "8caa0e42abd3b98cd0eada8732182ba38e0f5965",
      "tree": "89627e080e8419c1a17f1d5e02f6191b7704e68f",
      "parents": [
        "8b6217bba8748b2daf1ea7820844f1086f422501"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 15 17:55:45 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 15 18:08:56 2026 +0100"
      },
      "message": "check_names: Use dedicated class for parse results\n\nUse a typed namespace instead of a dictionary with heterogenously typed values.\n\nNo semantic change.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "8b6217bba8748b2daf1ea7820844f1086f422501",
      "tree": "0b571143506cec3456369ad36f8547ddd5709b73",
      "parents": [
        "fceee9302449064a8dad1c1ceef2ce83488a7ec9"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 15 17:07:03 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Jan 15 18:08:46 2026 +0100"
      },
      "message": "check_names: don\u0027t build what we don\u0027t need\n\nWe only look at symbols in the library, so don\u0027t bother building tests.\n\nNo semantic change.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "b392da5c464b479540c8e0de2eaef1c719d925fb",
      "tree": "fe60389d1ff31107400cfd4d58ca1fd9eaf18d12",
      "parents": [
        "ebad5b9817d2ca86576024dc44b0e59f6ce6e144",
        "c32c5064c08eae74906c89674bfb1524fdba2cf7"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "92275829+valeriosetti@users.noreply.github.com",
        "time": "Thu Jan 15 16:55:35 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 15 16:55:35 2026 +0100"
      },
      "message": "Merge pull request #257 from valeriosetti/issue598-framework\n\n[framework] tests: pk: add a common function to create a PSA key out of predefined keys"
    },
    {
      "commit": "c32c5064c08eae74906c89674bfb1524fdba2cf7",
      "tree": "17483807fb87aab35b8177bd6ddc92c9137ebf31",
      "parents": [
        "73c4f2e5d6c47abc64c8652e953fc3170c4b4d3b"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Thu Jan 15 10:11:37 2026 +0100"
      },
      "committer": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Thu Jan 15 10:11:37 2026 +0100"
      },
      "message": "tests: pk_helpers: fix code style\n\nSigned-off-by: Valerio Setti \u003cvsetti@baylibre.com\u003e\n"
    },
    {
      "commit": "73c4f2e5d6c47abc64c8652e953fc3170c4b4d3b",
      "tree": "4408fdbedcbfd60ecbb829cc3c127cf419861118",
      "parents": [
        "4eebe42a1115c1a884612af0b24f5b294fa33f2f"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 14 23:17:13 2026 +0100"
      },
      "committer": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 14 23:33:50 2026 +0100"
      },
      "message": "tests: pk_helpers: improve documentation of pk_context_populate_method_t\n\nSigned-off-by: Valerio Setti \u003cvsetti@baylibre.com\u003e\n"
    },
    {
      "commit": "4eebe42a1115c1a884612af0b24f5b294fa33f2f",
      "tree": "e5aad508dade542b722ce5df4672ce496cb7b596",
      "parents": [
        "2d7c5cb57478b06881a5d9f1dd32793eb0e41238"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 14 23:05:02 2026 +0100"
      },
      "committer": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 14 23:09:35 2026 +0100"
      },
      "message": "tests: pk_helpers: optimize failure reporting in mbedtls_pk_helpers_populate_context\n\nKeep TEST_EQUAL() on the function that might fail so that if a failure\nhappen the message will report the actual function that failed.\n\nDocumentation of the helper function is also updated.\n\nSigned-off-by: Valerio Setti \u003cvsetti@baylibre.com\u003e\n"
    },
    {
      "commit": "2d7c5cb57478b06881a5d9f1dd32793eb0e41238",
      "tree": "ca470857b8d9118b291c1708d8522269b276328e",
      "parents": [
        "43e4dc061d3631599090bc11936bbea6d134b4dd"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 14 12:54:37 2026 +0100"
      },
      "committer": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 14 12:54:37 2026 +0100"
      },
      "message": "tests: pk_helpers: fix outer guard in functions implementation\n\nSigned-off-by: Valerio Setti \u003cvsetti@baylibre.com\u003e\n"
    },
    {
      "commit": "43e4dc061d3631599090bc11936bbea6d134b4dd",
      "tree": "3deadec91a6c496c509406549adf2dd649ddc45c",
      "parents": [
        "2b3cc12c01621e006ce2e5e491733fcda32c8295"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 14 12:54:10 2026 +0100"
      },
      "committer": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 14 12:54:10 2026 +0100"
      },
      "message": "tests: pk_helpers: update documentation\n\nSigned-off-by: Valerio Setti \u003cvsetti@baylibre.com\u003e\n"
    },
    {
      "commit": "2b3cc12c01621e006ce2e5e491733fcda32c8295",
      "tree": "14f70d49723f748da6569be21ba30c4ba68257f2",
      "parents": [
        "fa298be91acc3f8ea483c4c7e7a84572b61046e0"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 14 12:53:25 2026 +0100"
      },
      "committer": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 14 12:53:25 2026 +0100"
      },
      "message": "tests: pk_helpers: let all helper function return an error code\n\nSigned-off-by: Valerio Setti \u003cvsetti@baylibre.com\u003e\n"
    },
    {
      "commit": "fceee9302449064a8dad1c1ceef2ce83488a7ec9",
      "tree": "71785de2db2319a84d7ebf94a55a775d8caaf8e6",
      "parents": [
        "ebad5b9817d2ca86576024dc44b0e59f6ce6e144"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Dec 08 10:43:53 2025 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Mon Jan 12 13:26:25 2026 +0100"
      },
      "message": "Add drivers/pqcp/include to C include paths\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "ebad5b9817d2ca86576024dc44b0e59f6ce6e144",
      "tree": "8809c8163b0d0683fc905faaa061f2653769bb78",
      "parents": [
        "ee399cc257e84c2c5328d866335053d05b3b169c",
        "a56534ba79287daf61c35cd2e7abdb6570347db0"
      ],
      "author": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Mon Jan 12 12:04:30 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 12 12:04:30 2026 +0100"
      },
      "message": "Merge pull request #270 from gilles-peskine-arm/make_generated_files-use_same_python\n\nUse the same Python executable instead of `python`"
    },
    {
      "commit": "a56534ba79287daf61c35cd2e7abdb6570347db0",
      "tree": "cdedfb932193f7bc3651ffec9a9fb5c45848da31",
      "parents": [
        "77f707a5576c5bdd1ff9463c7b25d2488497f57e"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Fri Jan 09 20:44:58 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Fri Jan 09 20:44:58 2026 +0100"
      },
      "message": "Use the same Python executable instead of `python`\n\n`python` might be the wrong version, for example it might be Python 2 on\nsome systems, or it might be a different version of Python 3. Use\n`sys.executable`, so that the same version gets used consistently.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "ee399cc257e84c2c5328d866335053d05b3b169c",
      "tree": "d7a9ceb632b2718d5e3edb1f47d6e13f14c3321c",
      "parents": [
        "dae1609b58ba07e9eab8fda107b4f2d568e52a64",
        "feef17dcf3390366ec4fa44bdaeff99dedb9cc6e"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "gilles.peskine@arm.com",
        "time": "Fri Jan 09 10:46:49 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 09 10:46:49 2026 +0100"
      },
      "message": "Merge pull request #245 from gilles-peskine-arm/make_generated_files-fix-check\n\nFix make_generated_files --check"
    },
    {
      "commit": "f51cf54fd4b4b5b57d0bb7b2c8161c2c7eb25802",
      "tree": "32cb8563571d05396d38e11bb2e668f660c4191e",
      "parents": [
        "7f6ad7c9b82b7696bfd9d93bfe77516f1bea2e13"
      ],
      "author": {
        "name": "Minos Galanakis",
        "email": "minos.galanakis@arm.com",
        "time": "Wed Jan 07 16:55:33 2026 +0000"
      },
      "committer": {
        "name": "Minos Galanakis",
        "email": "minos.galanakis@arm.com",
        "time": "Thu Jan 08 17:46:11 2026 +0000"
      },
      "message": "all-core.sh: Allow overriding of the psa-sim location\n\nSigned-off-by: Minos Galanakis \u003cminos.galanakis@arm.com\u003e\n"
    },
    {
      "commit": "7f6ad7c9b82b7696bfd9d93bfe77516f1bea2e13",
      "tree": "62ea7901b9a34910120192a1416cfd45f09ab3ee",
      "parents": [
        "fc4689b631eee097f7219a51454ddb484e808697"
      ],
      "author": {
        "name": "Minos Galanakis",
        "email": "minos.galanakis@arm.com",
        "time": "Wed Dec 03 23:46:09 2025 +0000"
      },
      "committer": {
        "name": "Minos Galanakis",
        "email": "minos.galanakis@arm.com",
        "time": "Thu Jan 08 17:45:54 2026 +0000"
      },
      "message": "psasim: Update location in Makefile and all-core.sh\n\nSigned-off-by: Minos Galanakis \u003cminos.galanakis@arm.com\u003e\n"
    },
    {
      "commit": "fc4689b631eee097f7219a51454ddb484e808697",
      "tree": "cb5447ea37207edd04b4cd9b4ba6ed821e252692",
      "parents": [
        "daee5e1925b75dd95b8f6457df0b07032f894f0e"
      ],
      "author": {
        "name": "Minos Galanakis",
        "email": "minos.galanakis@arm.com",
        "time": "Thu Jan 08 17:45:19 2026 +0000"
      },
      "committer": {
        "name": "Minos Galanakis",
        "email": "minos.galanakis@arm.com",
        "time": "Thu Jan 08 17:45:19 2026 +0000"
      },
      "message": "Removed old psasim dir\n\nSigned-off-by: Minos Galanakis \u003cminos.galanakis@arm.com\u003e\n"
    },
    {
      "commit": "daee5e1925b75dd95b8f6457df0b07032f894f0e",
      "tree": "2be358f5a4d2e7bbebdd38ad4830c81ab5ef2e2c",
      "parents": [
        "bf381062bf2eec7a1ede6a6130ad9c90be076a7a",
        "d9823616cf93ccb66bc38b1595af08598ca90195"
      ],
      "author": {
        "name": "Minos Galanakis",
        "email": "minos.galanakis@arm.com",
        "time": "Thu Jan 08 17:43:06 2026 +0000"
      },
      "committer": {
        "name": "Minos Galanakis",
        "email": "minos.galanakis@arm.com",
        "time": "Thu Jan 08 17:43:06 2026 +0000"
      },
      "message": "Merge branch \u0027tmp-branch-move-files-to-framework\u0027 into move-files-into-framework\n\nSigned-off-by: Minos Galanakis \u003cminos.galanakis@arm.com\u003e\n"
    },
    {
      "commit": "d9823616cf93ccb66bc38b1595af08598ca90195",
      "tree": "c03d418af689ad0ece050b1c1b030ba43fba8f34",
      "parents": [
        "0294b119670e4def1e6064eb06bfabbffd6e2384"
      ],
      "author": {
        "name": "Minos Galanakis",
        "email": "minos.galanakis@arm.com",
        "time": "Thu Jan 08 17:15:35 2026 +0000"
      },
      "committer": {
        "name": "Minos Galanakis",
        "email": "minos.galanakis@arm.com",
        "time": "Thu Jan 08 17:15:35 2026 +0000"
      },
      "message": "Moved tests/psa-client-server to framework.\n\nSigned-off-by: Minos Galanakis \u003cminos.galanakis@arm.com\u003e\n"
    },
    {
      "commit": "bf381062bf2eec7a1ede6a6130ad9c90be076a7a",
      "tree": "22aae641a0ba01996e3181f8bbbbe9766be7c801",
      "parents": [
        "dae1609b58ba07e9eab8fda107b4f2d568e52a64"
      ],
      "author": {
        "name": "Minos Galanakis",
        "email": "minos.galanakis@arm.com",
        "time": "Thu Jan 08 17:13:53 2026 +0000"
      },
      "committer": {
        "name": "Minos Galanakis",
        "email": "minos.galanakis@arm.com",
        "time": "Thu Jan 08 17:13:53 2026 +0000"
      },
      "message": "psasim: Moved to psasim_deprecated\n\nSigned-off-by: Minos Galanakis \u003cminos.galanakis@arm.com\u003e\n"
    },
    {
      "commit": "0294b119670e4def1e6064eb06bfabbffd6e2384",
      "tree": "f39650d45e717264e9fb329393cf532449b63a30",
      "parents": [
        "67152f30492e835fd85b27a7a2184afda38cd315",
        "68b0ad1512828f7aeb8fb2c0498cee3d46453df7"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "92275829+valeriosetti@users.noreply.github.com",
        "time": "Thu Jan 08 12:18:28 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 08 12:18:28 2026 +0000"
      },
      "message": "Merge pull request #10556 from gilles-peskine-arm/sha3-cleanup-202512-prep2\n\nSHA3 cleanup prep: Adapt to the split of test_suite_shax\n"
    },
    {
      "commit": "dae1609b58ba07e9eab8fda107b4f2d568e52a64",
      "tree": "51d3404ef27399355214e07a3d4ee32153de829d",
      "parents": [
        "77f707a5576c5bdd1ff9463c7b25d2488497f57e",
        "898a721b9d9cc7f6d882f80336f1a17e649ac99d"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "92275829+valeriosetti@users.noreply.github.com",
        "time": "Thu Jan 08 10:49:05 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 08 10:49:05 2026 +0100"
      },
      "message": "Merge pull request #253 from gilles-peskine-arm/all.sh-cleanup-cmake-only-in-tree\n\nOnly clean CMake artifacts in-tree"
    },
    {
      "commit": "fa298be91acc3f8ea483c4c7e7a84572b61046e0",
      "tree": "e472438a037417efe2d9af2ef732fcb9a4f920ff",
      "parents": [
        "e28511869cea46266a9521a9f243dc3e5948b0eb"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Thu Jan 08 09:28:34 2026 +0100"
      },
      "committer": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Thu Jan 08 09:28:34 2026 +0100"
      },
      "message": "tests: src: pk_helpers: style fix in code and documentation\n\nSigned-off-by: Valerio Setti \u003cvsetti@baylibre.com\u003e\n"
    },
    {
      "commit": "e28511869cea46266a9521a9f243dc3e5948b0eb",
      "tree": "6d027b4da6c6cf6b56eeb5138052792cb61743c4",
      "parents": [
        "88e0eb729e5eb4a71fb4b218a22558eb136261af"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 07 14:28:31 2026 +0100"
      },
      "committer": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Thu Jan 08 09:16:21 2026 +0100"
      },
      "message": "tests: src: pk_helpers: select predefined keys using PSA key type and bits\n\nA new look-up table is created, \"predefined_keys_psa\", to list all the\npredefined keys together with the corresponding PSA key type and bits.\nA new look-up table was created in order not to conflict with the already\nexisting \"predefined_keys\" one.\n\n\"mbedtls_pk_helpers_get_predefined_key_data\" is modified in order to\nuse the new look-up table.\n\nSigned-off-by: Valerio Setti \u003cvsetti@baylibre.com\u003e\n"
    },
    {
      "commit": "898a721b9d9cc7f6d882f80336f1a17e649ac99d",
      "tree": "51d3404ef27399355214e07a3d4ee32153de829d",
      "parents": [
        "a082c08a1dc6c90ece57af34981c18633c55b228"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Dec 31 16:13:30 2025 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Jan 07 19:52:49 2026 +0100"
      },
      "message": "Fix missing cleanup of toplevel Makefile\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "a082c08a1dc6c90ece57af34981c18633c55b228",
      "tree": "9933137dd846a5ea76b31f2c8ba6c2434d052722",
      "parents": [
        "ffeda9986553b0dfce0cddf5292fdd17d7569398"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Dec 10 20:05:07 2025 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Jan 07 19:52:49 2026 +0100"
      },
      "message": "CMake artifacts cleanup: fix the new code on Ubuntu 16.04\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "ffeda9986553b0dfce0cddf5292fdd17d7569398",
      "tree": "4140e43a3c664721ba4e7fe86ce97c24911a3c23",
      "parents": [
        "77f707a5576c5bdd1ff9463c7b25d2488497f57e"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Dec 10 18:04:28 2025 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Jan 07 19:52:49 2026 +0100"
      },
      "message": "Only clean CMake artifacts in-tree\n\nDon\u0027t recurse into every subdirectory: that also removed files from\nout-of-tree builds that the user may have placed into subdirectories. With\nmake as the build tool, the cleanup is mostly recoverable, but with ninja as\nthe build tool, you have to manually run `cmake` again after running\n`all.sh`.\n\nInstead, look for things to clean only in directories managed by git.\n\nThis also has the benefit of not touching `**/Makefile` if there hasn\u0027t been\nan in-tree CMake build.\n\nFixes https://github.com/Mbed-TLS/mbedtls-framework/issues/252\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "feef17dcf3390366ec4fa44bdaeff99dedb9cc6e",
      "tree": "38abf304a3a03119944b7c164f156191bb089836",
      "parents": [
        "b8d3b815975243bc49bc41d855285a0db0c19914"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Dec 04 15:12:04 2025 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Jan 07 19:24:20 2026 +0100"
      },
      "message": "Actually fail if `--check` fails\n\nReturn a nonzero status if called with `--check` and the check finds some\nproblems.\n\nFixes #244.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "b8d3b815975243bc49bc41d855285a0db0c19914",
      "tree": "0f7c2cc5e24ef216a22c9f9f856b8b011baf8145",
      "parents": [
        "77f707a5576c5bdd1ff9463c7b25d2488497f57e"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Thu Dec 04 15:09:08 2025 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Jan 07 19:24:20 2026 +0100"
      },
      "message": "Add missing type annotations\n\nmypy only checks types in functions that have a return type annotation.\n\nIn `check_generated_files`, change from returning `None` to returning a\nboolean, since the function is supposed to check some boolean-valued\nassertion. So far, the function always returns `True`.\n\nIn `main`, explicitly return an `int` value as expected by the caller. When\ncalling `check_generated_files`, convert the boolean result into an exit\nstatus.\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "88e0eb729e5eb4a71fb4b218a22558eb136261af",
      "tree": "6ad7994b84c58a69cf702461c19d91ec2bbe6e3e",
      "parents": [
        "6d2ca07e72d096e0d0936f9b9935bd2b1f9da88f"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 07 12:35:44 2026 +0100"
      },
      "committer": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 07 18:25:07 2026 +0100"
      },
      "message": "tests: src: pk_helpers: add documentation and proper functions prefix\n\nSigned-off-by: Valerio Setti \u003cvsetti@baylibre.com\u003e\n"
    },
    {
      "commit": "6d2ca07e72d096e0d0936f9b9935bd2b1f9da88f",
      "tree": "01a84d77ff09d17eb08003d3517876ceefbff642",
      "parents": [
        "92d56edb31c2b494aa19777c99b03c2c2d94d5f6"
      ],
      "author": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 07 11:02:38 2026 +0100"
      },
      "committer": {
        "name": "Valerio Setti",
        "email": "vsetti@baylibre.com",
        "time": "Wed Jan 07 18:25:06 2026 +0100"
      },
      "message": "scripts: generate_test_keys: minor improvements\n\n- better guard for the \"ecp.h\" header file;\n- use already existing Mbed TLS\u0027 macro for unused variables and place it\n  at the beginning of the declaration of \"predefined_keys\".\n\nSigned-off-by: Valerio Setti \u003cvsetti@baylibre.com\u003e\n"
    },
    {
      "commit": "68b0ad1512828f7aeb8fb2c0498cee3d46453df7",
      "tree": "6204d84c7e5d915e643f4193befa7a3ce69c7e4e",
      "parents": [
        "a271e934ed203b993c420903ae2950b77c88ac29"
      ],
      "author": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Jan 07 16:19:48 2026 +0100"
      },
      "committer": {
        "name": "Gilles Peskine",
        "email": "Gilles.Peskine@arm.com",
        "time": "Wed Jan 07 16:19:48 2026 +0100"
      },
      "message": "Adapt to the split of test_suite_shax\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n"
    },
    {
      "commit": "67152f30492e835fd85b27a7a2184afda38cd315",
      "tree": "218ac23f548e1c17b36af2146bb3a5ba34cadf0a",
      "parents": [
        "a271e934ed203b993c420903ae2950b77c88ac29",
        "dd255696a554e476b41200ed16e805d4bc0ca798"
      ],
      "author": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Wed Jan 07 15:18:32 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 07 15:18:32 2026 +0000"
      },
      "message": "Merge pull request #10543 from gilles-peskine-arm/split-crypto-makefiles\n\nSplit crypto part of Mbed TLS makefiles\n"
    },
    {
      "commit": "a271e934ed203b993c420903ae2950b77c88ac29",
      "tree": "9a48bdcbef0ea399233296486a6736aede4325ab",
      "parents": [
        "6250af4c9cac2f84b0d0f71311520712c4ece9fa",
        "4185efafe4d4634e7ee1fb012ce1389f950c2fbf"
      ],
      "author": {
        "name": "Ronald Cron",
        "email": "ronald.cron@arm.com",
        "time": "Wed Jan 07 11:45:51 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 07 11:45:51 2026 +0000"
      },
      "message": "Merge pull request #10555 from gilles-peskine-arm/sort-config_check_user-mbedtls\n\nFix non-determinism when generating mbedtls_config_check_user.h\n"
    }
  ],
  "next": "92d56edb31c2b494aa19777c99b03c2c2d94d5f6"
}
