)]}'
{
  "commit": "4e582b0c1d60c55f9a0a90f9740d4a4c48f3b53b",
  "tree": "e30af388af8242685b9ae70ae91c56dad07b7aac",
  "parents": [
    "8396e00dd876c601ad78ba98d94b7abfd5d49196"
  ],
  "author": {
    "name": "Thomas Köppe",
    "email": "tkoeppe@google.com",
    "time": "Mon Mar 23 17:28:03 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Mar 23 10:28:03 2026 -0700"
  },
  "message": "[flexbuffers] Add \"AlignedBlob\", a version of \"Blob\" with explicit alignment. (#8993)\n\nA blob is an array of bytes and has no intrinsic alignment (i.e. the\nalignment is 1). The alignment of the existing flexbuffers blob is\nsolely affected by the width of the integer needed to store the blob\u0027s\nsize: that integer\u0027s width becomes the alignment of the blob.\n\nThe proposed AlignedBlob function here piggybacks on this effect and\nsimply uses a user-defined alignment for the width of the integer that\nstores the blob\u0027s size; this automatically imparts that same alignment\non the blob itself. (The width is bounded below by the actual width\nneeded to store the blob\u0027s size.)\n\nThe ability to control the alignment of a blob is important for use\ncases in which the blob itself stores structured data that we want to\naccess without further copies (e.g. other flatbuffer messages).",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2784dafbfac5bccfd70c01ed7a456f26764af3d3",
      "old_mode": 33188,
      "old_path": "include/flatbuffers/flexbuffers.h",
      "new_id": "1ed6a41bca2cfa199d0c2c972a95e949746a40da",
      "new_mode": 33188,
      "new_path": "include/flatbuffers/flexbuffers.h"
    },
    {
      "type": "modify",
      "old_id": "3c87f8c7139eb8ac44f22ca4684c449f58ea8805",
      "old_mode": 33188,
      "old_path": "tests/flexbuffers_test.cpp",
      "new_id": "6087a0affb6144e294d19e3b6d01cb6c26991f6f",
      "new_mode": 33188,
      "new_path": "tests/flexbuffers_test.cpp"
    }
  ]
}
