)]}'
{
  "commit": "371897569679ca68b634465687aeda2f896d2a98",
  "tree": "7c98da5a51ca06846fe1e2a792f97d65b82ebcfe",
  "parents": [
    "9444dccbe5ff74314352b0bc4814a6cd0e31ef51"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Sat Mar 22 11:32:40 2025 +0700"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Apr 22 12:29:02 2025 -0700"
  },
  "message": "Make LHASH a completely internal type\n\nThe one remaining external reference was in an unused parameter where it\nwas impossible to obtain a non-null value. Remove the last of that\nmachinery from the public API. This leaves us free to completely rework\nLHASH_OF(T) internally, including making it a template that understands\nwhether it owns its values.\n\n(If we end up needing to revert it, we can still make the real\nLHASH_OF(T) into a template. It just won\u0027t be called LHASH_OF(T)\nanymore.)\n\nUpdate-Note: Calling code which references LHASH_OF(T) will no longer\ncompile. We have had no public APIs that allow a caller to usefully\nconstruct an LHASH_OF(T) for some time, so this only ever came up in odd\ncases around bindings APIs.\n\nChange-Id: I5a44310b04d8f8f3599f0f356b64786e62db5fbf\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/78787\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nAuto-Submit: David Benjamin \u003cdavidben@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "02f2be34bd2c85998db3e386c174cf32d2df4068",
      "old_mode": 33188,
      "old_path": "crypto/conf/conf.cc",
      "new_id": "d5177ef16a42871e47badf295cc13e9a157053f6",
      "new_mode": 33188,
      "new_path": "crypto/conf/conf.cc"
    },
    {
      "type": "modify",
      "old_id": "cb09dfad649886c7b3aa788b5f357e50ffce797a",
      "old_mode": 33188,
      "old_path": "crypto/lhash/internal.h",
      "new_id": "5484880ce953e4db15a0d587eca1a09dea1dc4c5",
      "new_mode": 33188,
      "new_path": "crypto/lhash/internal.h"
    },
    {
      "type": "modify",
      "old_id": "1af8df7ee90ff4ab9a791d11785cb0031a519487",
      "old_mode": 33188,
      "old_path": "crypto/lhash/lhash.cc",
      "new_id": "28fde701566175e953a29db47ee1ea10c4975cde",
      "new_mode": 33188,
      "new_path": "crypto/lhash/lhash.cc"
    },
    {
      "type": "modify",
      "old_id": "a458580510d0f4ed603684d2a56636051bdc5fd3",
      "old_mode": 33188,
      "old_path": "crypto/lhash/lhash_test.cc",
      "new_id": "ec1362830705bb26d39d36bcde4e185bbabc848e",
      "new_mode": 33188,
      "new_path": "crypto/lhash/lhash_test.cc"
    },
    {
      "type": "modify",
      "old_id": "9fa26bb1b74dc12293d82c3b3ff23757d5426938",
      "old_mode": 33188,
      "old_path": "crypto/obj/obj.cc",
      "new_id": "7e38bfb5575ab9be096d19cb8009646e3d998dd7",
      "new_mode": 33188,
      "new_path": "crypto/obj/obj.cc"
    },
    {
      "type": "modify",
      "old_id": "2533fc94f4194f868e6fccbcc46fd1be1c9c193d",
      "old_mode": 33188,
      "old_path": "crypto/pool/internal.h",
      "new_id": "27315b61743c4bb376d567776e7e0cf789b54745",
      "new_mode": 33188,
      "new_path": "crypto/pool/internal.h"
    },
    {
      "type": "modify",
      "old_id": "778f129599ab63789670f7c8475585e335132094",
      "old_mode": 33188,
      "old_path": "decrepit/x509/x509_decrepit.cc",
      "new_id": "5611d42ce5d4fce61a0ada5fd2e0f9cced50b651",
      "new_mode": 33188,
      "new_path": "decrepit/x509/x509_decrepit.cc"
    },
    {
      "type": "modify",
      "old_id": "60c1b62d6a02ca50a3d226902e260207731b62de",
      "old_mode": 33188,
      "old_path": "include/openssl/asn1t.h",
      "new_id": "b3650af101f9fdc415ae7350d81498d2885da4a8",
      "new_mode": 33188,
      "new_path": "include/openssl/asn1t.h"
    },
    {
      "type": "modify",
      "old_id": "ebbb1cfede75fa4208b2bd6be35bc8715909457e",
      "old_mode": 33188,
      "old_path": "include/openssl/base.h",
      "new_id": "43e3a0115c914c38fa35e7bb6cf04fe846998118",
      "new_mode": 33188,
      "new_path": "include/openssl/base.h"
    },
    {
      "type": "modify",
      "old_id": "ff20b60ea324cb118832cf7d7a530e76fb7c5692",
      "old_mode": 33188,
      "old_path": "include/openssl/conf.h",
      "new_id": "9bbded4bfe3a85c47df640fbd12cbf10ccb6f082",
      "new_mode": 33188,
      "new_path": "include/openssl/conf.h"
    },
    {
      "type": "modify",
      "old_id": "6b305ac20ed07d92d20f975fdae353c24f94251e",
      "old_mode": 33188,
      "old_path": "include/openssl/lhash.h",
      "new_id": "076d27120fa628b7f9a8377e2e1f0f7a37ce63e6",
      "new_mode": 33188,
      "new_path": "include/openssl/lhash.h"
    },
    {
      "type": "modify",
      "old_id": "58508a580ddd130960ae1434e6e2ed4e11cd5991",
      "old_mode": 33188,
      "old_path": "include/openssl/x509.h",
      "new_id": "9d03ca02f336210ee003d693dcafd80f17e8bb81",
      "new_mode": 33188,
      "new_path": "include/openssl/x509.h"
    },
    {
      "type": "modify",
      "old_id": "ba6b44421c0648e0f1c29e785988cb120b61cada",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "4e87f473cf40e04b4fc4a2a8e5e3477002042f35",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "1b8ab541e0088034133bb7f34df60c2ef9685fb2",
      "old_mode": 33188,
      "old_path": "ssl/ssl_lib.cc",
      "new_id": "69f3fe2f5c193a30dd90368048804109db563da3",
      "new_mode": 33188,
      "new_path": "ssl/ssl_lib.cc"
    },
    {
      "type": "modify",
      "old_id": "52c2807c8139ec69306b6986ab05428822500dbb",
      "old_mode": 33188,
      "old_path": "ssl/ssl_session.cc",
      "new_id": "87d263b6741179b3fcdf4d884ad6b30da82ccd7d",
      "new_mode": 33188,
      "new_path": "ssl/ssl_session.cc"
    },
    {
      "type": "modify",
      "old_id": "afcdd8d4d9083dcc08e876d9b8a907ff37f2f205",
      "old_mode": 33188,
      "old_path": "util/doc.config",
      "new_id": "9637c98829bc8d2e00f93e4d7789a9ee213e8b26",
      "new_mode": 33188,
      "new_path": "util/doc.config"
    }
  ]
}
