)]}'
{
  "commit": "4dd559a6b088c9e8704fcd9b227599be8a228f4d",
  "tree": "9e36af8db32a0d4fabf77b8fb8478feeac5b7c4b",
  "parents": [
    "4a0e7967db63fbfa2d89f6c9639de47abe831909"
  ],
  "author": {
    "name": "Lily Chen",
    "email": "chlily@google.com",
    "time": "Tue Mar 17 18:52:40 2026 +0000"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Mar 19 00:34:26 2026 -0700"
  },
  "message": "Add a function to copy the public part of an EVP_PKEY\n\nThis provides a consistent way to take an EVP_PKEY containing a private\nkey and get a new EVP_PKEY that matches it, but only has the public key.\nWithout this convenience function, depending on the key type, the caller\nmay have to manipulate the underlying algorithm-specific key, or\nserialize the public key and deserialize it into a new EVP_PKEY.\n\nChange-Id: I399b1ee44f2f6531105ae63f1653b3206a6a6964\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/91067\nCommit-Queue: Lily Chen \u003cchlily@google.com\u003e\nReviewed-by: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cd2c84f0505d2649e8817d8892d3f359b321daa1",
      "old_mode": 33188,
      "old_path": "crypto/err/evp.errordata",
      "new_id": "eeb9ab50ee8bc9758a1fc0e61af5c06619ecaf40",
      "new_mode": 33188,
      "new_path": "crypto/err/evp.errordata"
    },
    {
      "type": "modify",
      "old_id": "5029097f40e4f17990f4b29454cf3af4149bce6b",
      "old_mode": 33188,
      "old_path": "crypto/evp/evp.cc",
      "new_id": "df05bf2bd1f46658dd9681641cb2d86734e9d717",
      "new_mode": 33188,
      "new_path": "crypto/evp/evp.cc"
    },
    {
      "type": "modify",
      "old_id": "160519952f0c836158c83deb878736836c25ff2b",
      "old_mode": 33188,
      "old_path": "crypto/evp/evp_test.cc",
      "new_id": "8ee626b2c6c4e6b0b8b50a18d8b94dc8cbb4b9ca",
      "new_mode": 33188,
      "new_path": "crypto/evp/evp_test.cc"
    },
    {
      "type": "modify",
      "old_id": "f5694c2da4798000c1e7f62a3712e41dd5003bb1",
      "old_mode": 33188,
      "old_path": "crypto/evp/internal.h",
      "new_id": "959446454a9441615731ce3059604d97ec2ae442",
      "new_mode": 33188,
      "new_path": "crypto/evp/internal.h"
    },
    {
      "type": "modify",
      "old_id": "b2420ab8545d044975a4b9cd286027e3b95a4d46",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_dh.cc",
      "new_id": "0fe8a3bdadb88ff18f281260783ed28703e61dd2",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_dh.cc"
    },
    {
      "type": "modify",
      "old_id": "eb08b9975875b3b471c3c43c2fe20c1da59e4ffd",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_dsa.cc",
      "new_id": "2ea241f35f6762eab0deb35ee1196813e27013cc",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_dsa.cc"
    },
    {
      "type": "modify",
      "old_id": "2e4704ab2b2c67de7ba34ed4ee484e460f1fb36a",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_ec.cc",
      "new_id": "af3ff783a86ca3f39c2e173719ad8f32e53c16e8",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_ec.cc"
    },
    {
      "type": "modify",
      "old_id": "617c2490c93ccdb693effae25840ce357936681b",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_ed25519.cc",
      "new_id": "4fb191706dfe28028732fb5cf04055ef831e6346",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_ed25519.cc"
    },
    {
      "type": "modify",
      "old_id": "14365e0364892d88241130e101340136a0eb7c79",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_mldsa.cc",
      "new_id": "e8b29bc26876bf038943b6eb7183d86422b52c42",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_mldsa.cc"
    },
    {
      "type": "modify",
      "old_id": "fff90c5d2953ba63b9366f1c7c7cd27a070a4478",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_rsa.cc",
      "new_id": "8d04a6e7150ba261d787c2ef6f7619c2ecb4bef0",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_rsa.cc"
    },
    {
      "type": "modify",
      "old_id": "f18783a8d6e1c2fa515d52f6ca74252cfdb100c3",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_x25519.cc",
      "new_id": "c75d0aa0467778a10a966a180ecb281da3d39dbc",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_x25519.cc"
    },
    {
      "type": "modify",
      "old_id": "9d8e2d2070bbb7a97db437117fbe88efca7aef03",
      "old_mode": 33188,
      "old_path": "gen/crypto/err_data.cc",
      "new_id": "45e5716e9aedf77b29721ca98ffa3dd10b949ee2",
      "new_mode": 33188,
      "new_path": "gen/crypto/err_data.cc"
    },
    {
      "type": "modify",
      "old_id": "91ca8e6fd8e95bee1fb1a1a87edf7aefcb42e1a2",
      "old_mode": 33188,
      "old_path": "include/openssl/evp.h",
      "new_id": "8dee117e2ed33c79639355edea962b3322be526f",
      "new_mode": 33188,
      "new_path": "include/openssl/evp.h"
    },
    {
      "type": "modify",
      "old_id": "4cccdb856086148188863ba26a710f13f3b30d04",
      "old_mode": 33188,
      "old_path": "include/openssl/evp_errors.h",
      "new_id": "cc1c98ccc315af7bafc7175dff844b38c644574b",
      "new_mode": 33188,
      "new_path": "include/openssl/evp_errors.h"
    },
    {
      "type": "modify",
      "old_id": "377f868e0782f7884839eec48e7acdc2a40f2ce4",
      "old_mode": 33188,
      "old_path": "include/openssl/prefix_symbols.h",
      "new_id": "4988bdd30d09a5331fb90d17c2a18c09cd530668",
      "new_mode": 33188,
      "new_path": "include/openssl/prefix_symbols.h"
    }
  ]
}
