)]}'
{
  "commit": "f5fa5b73931d0753851a6f5ec764d7bed1f1853f",
  "tree": "080f69c77dee416ad3a0a4667385cee4232d5691",
  "parents": [
    "a025942147a72e6e3ba88eb5ef6b0a9a23d9bf64"
  ],
  "author": {
    "name": "Lily Chen",
    "email": "chlily@google.com",
    "time": "Mon Mar 16 17:02:31 2026 +0000"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Mar 23 13:13:57 2026 -0700"
  },
  "message": "Implement ML-KEM integration with EVP_PKEY_CTX\n\nThis adds encapsulate and decapsulate operations for EVP_PKEY_CTX, and\nimplements them for ML-KEM-768 and 1024. Functions match the equivalent\nOpenSSL API.\n\nBug: 449751916\nChange-Id: I8671027ca217b58743cd154d78421bb16a6a6964\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/90947\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nCommit-Queue: Lily Chen \u003cchlily@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2fc20e1bbdac7a29ecdb5d24a738af7d74e1eaf7",
      "old_mode": 33188,
      "old_path": "build.json",
      "new_id": "f909e331e5bee03aed2471b05288f2bf287f8dcb",
      "new_mode": 33188,
      "new_path": "build.json"
    },
    {
      "type": "modify",
      "old_id": "f44a104e3fc9200f70574ac07a9baf06151e4c54",
      "old_mode": 33188,
      "old_path": "crypto/evp/evp_ctx.cc",
      "new_id": "6ca54ca9e49b712fffbc8b381f4d6ea9a320f61c",
      "new_mode": 33188,
      "new_path": "crypto/evp/evp_ctx.cc"
    },
    {
      "type": "modify",
      "old_id": "8ee626b2c6c4e6b0b8b50a18d8b94dc8cbb4b9ca",
      "old_mode": 33188,
      "old_path": "crypto/evp/evp_test.cc",
      "new_id": "7fa1d952091816a309483c3097c0ac046f21f39c",
      "new_mode": 33188,
      "new_path": "crypto/evp/evp_test.cc"
    },
    {
      "type": "modify",
      "old_id": "959446454a9441615731ce3059604d97ec2ae442",
      "old_mode": 33188,
      "old_path": "crypto/evp/internal.h",
      "new_id": "d634585604c64b4065576d6d68e89aa46680cfc6",
      "new_mode": 33188,
      "new_path": "crypto/evp/internal.h"
    },
    {
      "type": "modify",
      "old_id": "0fe8a3bdadb88ff18f281260783ed28703e61dd2",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_dh.cc",
      "new_id": "ab62dc7ad7b4835a149682a13245465a05e7c2a0",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_dh.cc"
    },
    {
      "type": "modify",
      "old_id": "af3ff783a86ca3f39c2e173719ad8f32e53c16e8",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_ec.cc",
      "new_id": "cf5851832a48d3026064577b56019ab26f6c7052",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_ec.cc"
    },
    {
      "type": "modify",
      "old_id": "4fb191706dfe28028732fb5cf04055ef831e6346",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_ed25519.cc",
      "new_id": "3ca66b7cb5ef8e0fa7bbeabd725daa888d0003ca",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_ed25519.cc"
    },
    {
      "type": "modify",
      "old_id": "d124b85976e8150433e5d276bcfdac95910655bb",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_hkdf.cc",
      "new_id": "f1a8a35aef7e484203801c9df8082259479aac0a",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_hkdf.cc"
    },
    {
      "type": "modify",
      "old_id": "e8b29bc26876bf038943b6eb7183d86422b52c42",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_mldsa.cc",
      "new_id": "1e83147e9e120267faa29d8996492677b3f31e21",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_mldsa.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "34b4b7b32b52018d95ed0ca358e579c10c99df4a",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_mlkem.cc"
    },
    {
      "type": "modify",
      "old_id": "8d04a6e7150ba261d787c2ef6f7619c2ecb4bef0",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_rsa.cc",
      "new_id": "044fe31bf2d1f15bd611ae289c04bdadec2b4b66",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_rsa.cc"
    },
    {
      "type": "modify",
      "old_id": "c75d0aa0467778a10a966a180ecb281da3d39dbc",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_x25519.cc",
      "new_id": "db38d26f7781e2977ea597cdae4396d7e1a69e91",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_x25519.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4b571c9aef778bd57fba9aa9266383040de77532",
      "new_mode": 33188,
      "new_path": "crypto/evp/test/mlkem_tests.txt"
    },
    {
      "type": "modify",
      "old_id": "a29d6c92331ba871abfe70cd6627a95c8421415e",
      "old_mode": 33188,
      "old_path": "crypto/hpke/hpke.cc",
      "new_id": "d2e7f6ff07c55d2946dcad9ae0b1a110a20cac22",
      "new_mode": 33188,
      "new_path": "crypto/hpke/hpke.cc"
    },
    {
      "type": "modify",
      "old_id": "8757a08dd54a251481cf99f2e6479efbc5f98fa0",
      "old_mode": 33188,
      "old_path": "gen/sources.bzl",
      "new_id": "81be628fda47e7f1b8d12cade44494a1e2fd6880",
      "new_mode": 33188,
      "new_path": "gen/sources.bzl"
    },
    {
      "type": "modify",
      "old_id": "e6ae84dcab43291324e05bc65216c8629d8ac5a1",
      "old_mode": 33188,
      "old_path": "gen/sources.cmake",
      "new_id": "18292b90fe03a54bfd7e5670b67ed9c9cde0ed09",
      "new_mode": 33188,
      "new_path": "gen/sources.cmake"
    },
    {
      "type": "modify",
      "old_id": "e215e39ac5b04ebb06bb68204d12c353d7ce4754",
      "old_mode": 33188,
      "old_path": "gen/sources.gni",
      "new_id": "6677107e34715f5353b16711c13600b31cf03fe5",
      "new_mode": 33188,
      "new_path": "gen/sources.gni"
    },
    {
      "type": "modify",
      "old_id": "8104eb2996e599f9aa7243c3398237dbb1571088",
      "old_mode": 33188,
      "old_path": "gen/sources.json",
      "new_id": "e7ca6a3cdb6ce147a11a8bea541ec697e16754f9",
      "new_mode": 33188,
      "new_path": "gen/sources.json"
    },
    {
      "type": "modify",
      "old_id": "533f7fb615268073b197fff700e5a032f4ee33c6",
      "old_mode": 33188,
      "old_path": "gen/sources.mk",
      "new_id": "d7e61b9a1da02bf14c63b422c6b67f36391025a9",
      "new_mode": 33188,
      "new_path": "gen/sources.mk"
    },
    {
      "type": "modify",
      "old_id": "79aef508b8447dba73e11c0891142be3767f9d3d",
      "old_mode": 33188,
      "old_path": "include/openssl/base.h",
      "new_id": "5cb2bd57dad86cfee21e2c26981eaf8531215e33",
      "new_mode": 33188,
      "new_path": "include/openssl/base.h"
    },
    {
      "type": "modify",
      "old_id": "8dee117e2ed33c79639355edea962b3322be526f",
      "old_mode": 33188,
      "old_path": "include/openssl/evp.h",
      "new_id": "8f17bcb767bed96d0e2b6729cf85783a023063cf",
      "new_mode": 33188,
      "new_path": "include/openssl/evp.h"
    },
    {
      "type": "modify",
      "old_id": "4988bdd30d09a5331fb90d17c2a18c09cd530668",
      "old_mode": 33188,
      "old_path": "include/openssl/prefix_symbols.h",
      "new_id": "40ee10798f620ebee43160f7f78cdb335e9567ef",
      "new_mode": 33188,
      "new_path": "include/openssl/prefix_symbols.h"
    }
  ]
}
