)]}'
{
  "log": [
    {
      "commit": "8a4e1a320c878bc467e9b3922d416abcc64976e0",
      "tree": "b91123195b84f08f56d80717a937ab616a4e9c75",
      "parents": [
        "e50c4eef5be6e11b93ca047c419c7e1b179f416b"
      ],
      "author": {
        "name": "Sutou Kouhei",
        "email": "kou@cozmixng.org",
        "time": "Mon Jun 22 13:37:46 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 13:37:46 2026 +0900"
      },
      "message": "Don\u0027t change LICENSE (#49)\n\nUse https://www.apache.org/licenses/LICENSE-2.0.txt as-is."
    },
    {
      "commit": "e50c4eef5be6e11b93ca047c419c7e1b179f416b",
      "tree": "fa10189cb5101d4ed6231afd63da1b333b23c677",
      "parents": [
        "926bad3e4d9acfd7ec230dbde2a42bfa4f5edeee"
      ],
      "author": {
        "name": "Sutou Kouhei",
        "email": "kou@cozmixng.org",
        "time": "Mon Jun 22 12:29:06 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 12:29:06 2026 +0900"
      },
      "message": "Add .asf.yaml (#48)"
    },
    {
      "commit": "926bad3e4d9acfd7ec230dbde2a42bfa4f5edeee",
      "tree": "388846cdf658ff0cdbe1dc7c9d8c4dc7c74288b7",
      "parents": [
        "34e83e373b8ae26c431d907fee016bee361504be"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Wed May 06 07:02:08 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 07:02:08 2026 +0530"
      },
      "message": "Update Copyright to reflect ASF Copyright (#46)"
    },
    {
      "commit": "34e83e373b8ae26c431d907fee016bee361504be",
      "tree": "bda35b450b3e737822926d87245bd14d4a2622e6",
      "parents": [
        "c250a8c13e965199cc685790d805bc72fe64fbde"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Mon Apr 20 19:43:40 2026 +0530"
      },
      "committer": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Mon Apr 20 19:49:10 2026 +0530"
      },
      "message": "Fix documentation deployment via GitHub Pages (#45)\n\nThe GH Pages API tends to deprecate old version very often.\nThis commit fixes the docs action by updating the APIs.\n"
    },
    {
      "commit": "c250a8c13e965199cc685790d805bc72fe64fbde",
      "tree": "85ff3dc06d696254249431d3bfdb2c1c4491b949",
      "parents": [
        "8e71daaea4105f1b479c13058102a6172560bfa7"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Mon Apr 20 19:29:13 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 20 19:29:13 2026 +0530"
      },
      "message": "Rename to arrow-erlang (#44)\n\nThe Apache Arrow Program Management Committee requires the serde_arrow\nis renamed to arrow-erlang to fit the naming convention of all the other\nimplementation before I can upstream to the The Apache Software\nFoundation.\n\nThe commit makes the required changes."
    },
    {
      "commit": "8e71daaea4105f1b479c13058102a6172560bfa7",
      "tree": "7aac0a80ef871d8f611da9b564aab7a74e969ad8",
      "parents": [
        "36e61d2d43eea911bbc7f6bb7127adc2ed62e658"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Mon Apr 20 19:03:56 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 20 19:03:56 2026 +0530"
      },
      "message": "Fix Dialyzer Errors (#43)\n\nThis commit fixes a number of typing errors that have been detected\nby dialyzer."
    },
    {
      "commit": "36e61d2d43eea911bbc7f6bb7127adc2ed62e658",
      "tree": "c5d29fc662fa217c08e905836a927b790b7a11b4",
      "parents": [
        "c5f95557d285dbdb4ad6e841a1d2e4c91fff5377"
      ],
      "author": {
        "name": "Matthew Pope",
        "email": "mpope9@users.noreply.github.com",
        "time": "Sun Nov 24 22:04:47 2024 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 25 11:34:47 2024 +0530"
      },
      "message": "Update Rustler to 0.35.0 (#41)\n\n- Update Rustler\r\n- Use latest Rust stable in the CI\r\n\r\n---------\r\n\r\nCo-authored-by: Benjamin Philip \u003cbenjamin.philip495@gmail.com\u003e"
    },
    {
      "commit": "c5f95557d285dbdb4ad6e841a1d2e4c91fff5377",
      "tree": "f3dc319a9047513d874084ff38f421f8d2186b57",
      "parents": [
        "13ec2c1d9487480b95af3f6706d0a28101205b22"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue Apr 30 01:08:19 2024 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 30 01:08:19 2024 +0530"
      },
      "message": "Add shorthand for creating message body (#40)\n\nThis commit adds a convenience function to create the message body."
    },
    {
      "commit": "13ec2c1d9487480b95af3f6706d0a28101205b22",
      "tree": "0213c6f2298f54babf728bba835ed1524154f148",
      "parents": [
        "5f983ebb4152fc6af13cdb091c5f823b72378d87"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Fri Nov 24 08:45:24 2023 +0530"
      },
      "committer": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Fri Nov 24 08:45:24 2023 +0530"
      },
      "message": "Upgrade to Rustler v0.30.0\n"
    },
    {
      "commit": "5f983ebb4152fc6af13cdb091c5f823b72378d87",
      "tree": "d796d0138bb95da678625054c656318af8f9947a",
      "parents": [
        "e80fcb29e1e92ed91146be8a28d778bb8b3f61cc"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Sat Oct 21 20:30:02 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 21 20:30:02 2023 +0530"
      },
      "message": "Add a run-through guide (#39)\n\nThis commit adds a guide which gives a quick run-through on how to use\nserde_arrow."
    },
    {
      "commit": "e80fcb29e1e92ed91146be8a28d778bb8b3f61cc",
      "tree": "0493f82ac6fd473c8ac23b282765b28e90e6174e",
      "parents": [
        "1f17a0b230ffe0b402198849039a11f9304182b3"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Sat Oct 21 16:31:44 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 21 16:31:44 2023 +0530"
      },
      "message": "Update README (#38)\n\nThe following commit updates the README to give a quick overview of the\r\nproject."
    },
    {
      "commit": "1f17a0b230ffe0b402198849039a11f9304182b3",
      "tree": "474750ea8e4e8704da249c30d30a123ff31723df",
      "parents": [
        "53db7e208c5d73d6c103fa44ef995c771beab386"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Fri Oct 20 13:20:47 2023 +0530"
      },
      "committer": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Fri Oct 20 13:20:47 2023 +0530"
      },
      "message": "Make rebar_cargo a regular plugin\n\nrebar_cargo was previously installed as a project plugin. This causes\nrebar_cargo to not be installed when serde_arrow is used as a dep, and\npandemonium ensues.\n\nThis commit makes a rebar_cargo a regular plugin so that serde_arrow\ncompiles as dependency.\n"
    },
    {
      "commit": "53db7e208c5d73d6c103fa44ef995c771beab386",
      "tree": "516a014fbc9cd1ec79861965795a5388e34c2053",
      "parents": [
        "fec8cf5f2b0c4769fcc6c2b5e7e767b8b8fa4692"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Fri Oct 20 08:26:07 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 20 08:26:07 2023 +0530"
      },
      "message": "Support Serializing File Footers into Flatbuffers (#37)\n\nThis commit:\n\n- Adds all the infrastructure needed to serialize file footers\n- Makes the changes in serde_arrow_ipc_file:to_ipc to include the\n  serialized footers"
    },
    {
      "commit": "fec8cf5f2b0c4769fcc6c2b5e7e767b8b8fa4692",
      "tree": "681a04c8de49db29a4084022b4c368c430d021dd",
      "parents": [
        "a7d35b358fd989e9dcdd0f779d7517ed9a0fd9e2"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue Oct 10 23:15:36 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 10 23:15:36 2023 +0530"
      },
      "message": "Support IPC File (#36)\n\nThis PR adds support for [IPC\r\nFiles](https://arrow.apache.org/docs/format/Columnar.html#ipc-file-format)."
    },
    {
      "commit": "a7d35b358fd989e9dcdd0f779d7517ed9a0fd9e2",
      "tree": "9a62900de842e938b41bdf7ed3182c4a928f9a04",
      "parents": [
        "44f9091cb63959716779ec869ed59623133e3f2c"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Thu Sep 21 21:33:50 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 21 21:33:50 2023 +0530"
      },
      "message": "Serialize Message Metadata in ipc_message:to_ipc (#35)\n\nThis commit adds the final step to support message metadata\nserialization: to use `arrow_format_nif` to serialize the metadata in\nthe `serde_arrow_ipc_mesage:to_ipc` function.\n\nAs part of serializing metadata in `to_ipc`, the CommonTests have been\nupdated to test expecting valid metadata instead of a stub."
    },
    {
      "commit": "44f9091cb63959716779ec869ed59623133e3f2c",
      "tree": "f6dd1e7cc2da4a7c191d59a17b6f39f95b8296e2",
      "parents": [
        "5dd691fca62a721ec5d676f6c552ceff6415dddc"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Thu Sep 21 06:54:36 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 21 06:54:36 2023 +0530"
      },
      "message": "Serialize Message Metadata into Flatbuffers (#32)\n\nThis commit adds support to serialize message metadata into flatbuffers."
    },
    {
      "commit": "5dd691fca62a721ec5d676f6c552ceff6415dddc",
      "tree": "0c8d8e363b4c07583aaeedd49b5ed0945f9e1df2",
      "parents": [
        "59da25b6a5186124e352189086906854d80b5bbf"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Sun Aug 06 22:04:31 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 06 22:04:31 2023 +0530"
      },
      "message": "Fix failing tests (#34)\n\nThe latest rebar3_ex_doc version has broken our docs. This commit\nreverts it to the previous version."
    },
    {
      "commit": "59da25b6a5186124e352189086906854d80b5bbf",
      "tree": "bd168d0db449b90c24b89ca5f4c53c0b53319bd7",
      "parents": [
        "4a61114c37529aae14ca82e07eacde16067f230b"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Fri Aug 04 19:18:01 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 04 19:18:01 2023 +0530"
      },
      "message": "Run Erlang and Rust tests separately in the CI (#33)\n\nCurrently the Rust unit tests are run via rebar3 as a post hook to ct.\r\nThis commit changes it so that the tests are run in their separate\r\nlanguage workflows instead."
    },
    {
      "commit": "4a61114c37529aae14ca82e07eacde16067f230b",
      "tree": "4ddbc895597037b70bba090fe6cedd8abb9039cd",
      "parents": [
        "59a3966c82a1f813657b3401c96435c495a6f0cf"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Thu Aug 03 16:29:17 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 03 16:29:17 2023 +0530"
      },
      "message": "Correct Typing in Rust (#31)\n\nThis commit corrects the typing in Rust. See #30."
    },
    {
      "commit": "59a3966c82a1f813657b3401c96435c495a6f0cf",
      "tree": "017a495dc467ded9576736a960673128a4b56a11",
      "parents": [
        "52afd850603f5fe3f94b260d83bd0448e8c8bc28"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Wed Aug 02 00:11:44 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 02 00:11:44 2023 +0530"
      },
      "message": "Correct Typing in IPC Schemas (#30)\n\nThis commit fixes the type definitions in `ipc_field` to match that in\r\nthe\r\nschema definitions:\r\nhttps://github.com/apache/arrow/blob/main/format/Schema.fbs#L82-L430."
    },
    {
      "commit": "52afd850603f5fe3f94b260d83bd0448e8c8bc28",
      "tree": "364bb113e8c84eb3c71217908de5fe59e0666292",
      "parents": [
        "004b985d804dba2e7f8a8b8ae3671b1795e31593"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue Aug 01 07:01:14 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 01 07:01:14 2023 +0530"
      },
      "message": "Model Message, Schema and RecordBatch metadata in the NIF (#29)\n\nThis commit adds support for modelling the Message, Schema, and\r\nRecordBatch metadata (plural).\r\nAdditionally support for encoding and decoding messages, schemas and\r\nrecord batches as well as tests have been added.\r\n\r\n---------\r\n\r\nCo-authored-by: Paulo Valente \u003c16843419+polvalente@users.noreply.github.com\u003e"
    },
    {
      "commit": "004b985d804dba2e7f8a8b8ae3671b1795e31593",
      "tree": "43b7147f700e55cb6fb1ea831ef99c61bcc197d6",
      "parents": [
        "bba217795529fdd9fc5a4a4c8973383a64924e4c"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Thu Jun 22 17:38:08 2023 +0530"
      },
      "committer": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Thu Jun 22 17:38:08 2023 +0530"
      },
      "message": "Ignore Rust target files\n"
    },
    {
      "commit": "bba217795529fdd9fc5a4a4c8973383a64924e4c",
      "tree": "3266505849fa844b63adeaabc768c6d9fc92057f",
      "parents": [
        "258b6664014cc70c24563e615bfe9c0bdc337c7c"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue Jun 20 19:16:25 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 20 19:16:25 2023 +0530"
      },
      "message": "Remove generated examples (#28)\n\nThis commit removes all the unnecessary examples that had been\r\ngenerated when generating the NIF project."
    },
    {
      "commit": "258b6664014cc70c24563e615bfe9c0bdc337c7c",
      "tree": "72afae201bb3caaa40e2eca5ef510ff03be3c56f",
      "parents": [
        "fe681e31d0370f206328f4af7a1eb98c0258bfe0"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue Jun 20 18:55:51 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 20 18:55:51 2023 +0530"
      },
      "message": "Add Rust CI (#27)\n\nThis commit adds CI workflows to lint and (check the) format(ting of)\r\nthe Rust NIF."
    },
    {
      "commit": "fe681e31d0370f206328f4af7a1eb98c0258bfe0",
      "tree": "73d8ac0d831557891238286d123959fd9f726925",
      "parents": [
        "a51f1b20c97b83296e42d91a59afb6d53e25be99"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue Jun 20 18:48:22 2023 +0530"
      },
      "committer": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue Jun 20 18:48:22 2023 +0530"
      },
      "message": "cargo fmt\n"
    },
    {
      "commit": "a51f1b20c97b83296e42d91a59afb6d53e25be99",
      "tree": "a1ab01cb0d9a250079c8408bccbff2ffc9eacd78",
      "parents": [
        "459f4ee92995f0309a483209f713ddc3137c3d20"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Thu Jun 15 18:55:04 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 15 18:55:04 2023 +0530"
      },
      "message": "Generate initial code for the Flatbuffers NIF (#26)\n\nThis commit adds:\r\n\r\n- initial code for the NIF generated with rustler_rebar3\r\n- steps in the CI jobs to install Rust and cache its dependencies"
    },
    {
      "commit": "459f4ee92995f0309a483209f713ddc3137c3d20",
      "tree": "bca69e43b34bd8609aff050121ba0704d7d86bcb",
      "parents": [
        "83b370979afd14548f4a3162ace46de0812002b4"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue Jun 13 05:36:30 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 13 05:36:30 2023 +0530"
      },
      "message": "Support IPC Streams (#25)\n\nThis commit adds support for IPC Streams."
    },
    {
      "commit": "83b370979afd14548f4a3162ace46de0812002b4",
      "tree": "730a4f047d5271238dfe4bc35a7506b8e941463f",
      "parents": [
        "d318717457cfe7380020c3230602de3e6bb31142"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Sat Jun 10 16:10:22 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 10 16:10:22 2023 +0530"
      },
      "message": "Support writing incomplete Encapsulated Messages (#24)\n\nThis commit adds support for Schema and RecordBatch messages. However,\r\nthe\r\nmetadata is not serialized as that requires flatbuffers. It is because\r\nof this\r\nnon-serialisation that this implementation is incomplete."
    },
    {
      "commit": "d318717457cfe7380020c3230602de3e6bb31142",
      "tree": "1a9e586ed8a4037a1b9676e454f2acb2901a99f9",
      "parents": [
        "d4f934269cf2694369b8b90b5902f728db1d1731"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Thu Jun 08 05:27:35 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 08 05:27:35 2023 +0530"
      },
      "message": "Support modelling Record Batches (#23)\n\nThis commit adds support for modelling the header of a RecordBatch."
    },
    {
      "commit": "d4f934269cf2694369b8b90b5902f728db1d1731",
      "tree": "085bf54757a05f0e6aa51e3402fec1c2f1c1f73f",
      "parents": [
        "41c1d6d70f78a753a9879dce0951ce8befaf1854"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Fri Jun 02 16:18:21 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 02 16:18:21 2023 +0530"
      },
      "message": "Serialize arrays with array:to_arrow (#22)\n\nThis commit adds support to serialize an Arrow Array to its binary form\r\nconsisting of just its validity, offsets, and data (i.e. all the buffers\r\nin an array) concatenated together."
    },
    {
      "commit": "41c1d6d70f78a753a9879dce0951ce8befaf1854",
      "tree": "894c12d28f5a5a85442c08444911823d1a209def",
      "parents": [
        "4f209831f2641d46b71e8f900bfedaf4bee4df88"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Fri Jun 02 00:27:30 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 02 00:27:30 2023 +0530"
      },
      "message": "Support modelling Schema Encapsulated Messages (#21)\n\nThis commit adds support for modelling (i.e. internally representing)\r\nIPC\r\nencapsulated messages. Currently it only supports schema message types."
    },
    {
      "commit": "4f209831f2641d46b71e8f900bfedaf4bee4df88",
      "tree": "a522f28841a8532ee105d4c34f57189e442afc2b",
      "parents": [
        "9b919be8b4f7582e694e6058da9154280b84640b"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue May 30 17:50:37 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 30 17:50:37 2023 +0530"
      },
      "message": "Rename array:new to array:from_erlang (#20)\n\nThis commit renames array:new, and its callbacks, and its compliant\r\nmodules\u0027 functions to from_erlang. This is necessary to distinguish\r\nbetween creating an array from erlang and from arrow. This is also sets\r\nthe precedent for conversions to erlang and to arrow. This change is\r\nsimilar to the change done to buffer."
    },
    {
      "commit": "9b919be8b4f7582e694e6058da9154280b84640b",
      "tree": "338369791ceba4486d5dea638ebddb48aadd9ea6",
      "parents": [
        "d6c063d58a13aaa523cc54eab2ac1dfc37b28be6"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue May 30 15:58:50 2023 +0530"
      },
      "committer": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue May 30 15:58:50 2023 +0530"
      },
      "message": "Fix link in Fixed-Size List Layout docs\n\nThis link to the Fixed-Size List Layout previously pointed to the\nVariable-Size List Layout. This commit changes it to the correct link\n"
    },
    {
      "commit": "d6c063d58a13aaa523cc54eab2ac1dfc37b28be6",
      "tree": "7f622cee4ce03da770ca7974ebe1571aa7e0eaaa",
      "parents": [
        "0fd4cb935541b8dca02f8382aa873fd077c84294"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue May 30 15:54:21 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 30 15:54:21 2023 +0530"
      },
      "message": "Allow length to be passed into buffer:from_erlang (#19)\n\nThis allows us to not call length unnecessarily, when we already know\r\nthe length of a value, improving performance."
    },
    {
      "commit": "0fd4cb935541b8dca02f8382aa873fd077c84294",
      "tree": "fc2d3bf65bcca10adc3631e08cd3a5b117bd5e33",
      "parents": [
        "9b109e0e655d83da0020fdf98042c9bdd1d50c39"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue May 30 06:19:15 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 30 06:19:15 2023 +0530"
      },
      "message": "Rewrite offsets calculation logic for Variable Size Lists (#18)\n\nThis PR rewrites the offsets calculation logic so that:\n    \n1. Offsets are calculated body recursively - the offsets of the data\n   array are used as the basis for var list array without recalculation\n   \n2. Fixed type offsets are built - the offsets of a fixed type are\n   calculated from the type and length of the flattened values. This\nunfortunately is not body recursive, and is recalculated on recursing to\nthe next level, but is very cheap since it is calculated from the type\n   and not the actual values.\n\nAdditionally some bugs were fixed with binaries as inputs, longhand\nand shorthand differentiation added to typespecs."
    },
    {
      "commit": "9b109e0e655d83da0020fdf98042c9bdd1d50c39",
      "tree": "8b14e5c437bccaa157a60c79822151136d5ec8ef",
      "parents": [
        "d640905516e0b1ffd5cf3a5c6f5deb6f85af8b37"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Mon May 29 23:28:02 2023 +0530"
      },
      "committer": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Mon May 29 23:28:02 2023 +0530"
      },
      "message": "Update Roadmap\n"
    },
    {
      "commit": "d640905516e0b1ffd5cf3a5c6f5deb6f85af8b37",
      "tree": "f40cc7fdab9ce154455ee0190da4cce4325c3f5a",
      "parents": [
        "2d7fbb90f78db45a66c619d6401ad69bca07cc94"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Mon May 22 17:26:50 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 22 17:26:50 2023 +0530"
      },
      "message": "Redesign buffer data storage (#16)\n\nThis PR redesigns how buffers are used and managed. Firstly, 3 new functions have been introduced:\r\n\r\n1. from_erlang/2\r\n2. to_arrow/2\r\n3. to_erlang/1\r\n\r\nThese will be called when we need to create a buffer from some source, or convert them in to another format.\r\n\r\nSecondly, internally in data field, data will be stored in the erlang form and not in the arrow form. This will allow data in buffers to be used later to do something. Additionally, from_erlang -\u003e to_erlang becomes much more efficient as there is not serde involved.\r\n\r\nYou can have a look at the log for more details:\r\n\r\n* Add from_erlang/2 to serde_arrow_buffer\r\n\r\n* Add to_arrow/2\r\n\r\n* Add to_arrow docs\r\n\r\n* Add to_erlang/1\r\n\r\n* Store binary data as a single binary in a buffer\r\n\r\nSince each element in a list of binaries does not have a definite\r\nlength, a null value does not have a length. Thus, we depend on offsets\r\nand validity bitmaps to demarcate a null value.\r\n\r\nAdditionally from a buffer point of view, when we read from arrow, we\r\ncannot split the binary in a list of binaries without the offsets. Thus\r\nwe will have to deal with 2 possibilities on to_erlang:\r\n\r\n1. from_erlang -\u003e to_erlang: where the binaries are split properly with\r\nnulls in between\r\n\r\n2. from_arrow -\u003e to_arrow: where we have a single element list with a\r\nsingle binary with space that may or may not be allocated for nulls\r\n\r\nThus we now store list of binaries as a single binary concatenated, so\r\nthat we have a unified approach with working with binary data.\r\n\r\n* Remove serde_arrow_buffer:from_binary/3\r\n\r\nThis commit removes the serde_arrow_buffer:from_binary/3 function and\r\nreplaces all instances of it with either from_erlang/2 or new/2 where\r\napplicable.\r\n\r\n* Remove serde_arrow_buffer:new/2\r\n\r\nThis commit removes the new/2 function, and replaces all instances of it\r\nwith from_erlang/2. It also makes the necessary changes in the tests.\r\n\r\nPlease do note that the invalid data tests for fixed_lists fail and have\r\nbeen temporarily commented out.\r\n\r\n* Crash on invalid data in fixed_lists\r\n\r\nThis commit adds a temporary solution for crashing on invalid data in\r\nfixed lists. However, 2 tests, specifically when there is not nesting,\r\nshould crash at the primitive array level, and not at the fixed list\r\nlevel.\r\n\r\n* rebar3 fmt\r\n\r\n* Fix dialyzer errors\r\n\r\nThis commit fixes the dialyzer errors. The error stems from the\r\ninability to express nesting of list of native values properly.\r\nCurrently I have made things fall back to list() as a temporary\r\nsolution, but I will need to define types that deal with this properly."
    },
    {
      "commit": "2d7fbb90f78db45a66c619d6401ad69bca07cc94",
      "tree": "f53e4069ffc823c5f809d8a95bc42a695a88f8fb",
      "parents": [
        "5d7d5b9cf83a57179cf613ca7092ab3ac5717101"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Fri May 12 17:05:10 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 12 17:05:10 2023 +0530"
      },
      "message": "Add Variable-Size List (#15)\n\nThis commit adds the Variable-Size List Layout for Apache Arrow\r\n\r\n---------\r\n\r\nCo-authored-by: José Valim \u003cjose.valim@gmail.com\u003e"
    },
    {
      "commit": "5d7d5b9cf83a57179cf613ca7092ab3ac5717101",
      "tree": "4636f6bf2ef6bf9e9872c9b9db82565ae8bebe19",
      "parents": [
        "4b4fbe6ed27f3e509f138a5674502a3fb7b358ad"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue May 09 01:33:47 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 09 01:33:47 2023 +0530"
      },
      "message": "Check length simply in serde_arrow_utils:flatten/3 (#14)\n\n"
    },
    {
      "commit": "4b4fbe6ed27f3e509f138a5674502a3fb7b358ad",
      "tree": "9240675ad7dc413f68dea349e7773271e926028d",
      "parents": [
        "e0991ff2383c892ac02c75f185a2629399a60b46"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue May 09 00:55:25 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 09 00:55:25 2023 +0530"
      },
      "message": "Support Fixed-Sized Lists (#13)\n\nThis commit adds support for the Fixed-Sized List Layout. Additionally nested types have been added too."
    },
    {
      "commit": "e0991ff2383c892ac02c75f185a2629399a60b46",
      "tree": "ef5fb64cad36573cb515b9c071cd5228ca0adc9b",
      "parents": [
        "a77f531acf9e0e9dee33b66c18d4ac3459e94cd4"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Mon May 01 11:18:29 2023 +0530"
      },
      "committer": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Mon May 01 11:18:29 2023 +0530"
      },
      "message": "Mark Variable Binary Layout DONE in the Roadmap\n"
    },
    {
      "commit": "a77f531acf9e0e9dee33b66c18d4ac3459e94cd4",
      "tree": "98cba2e8ac3d5ce51864d5b41bb5096df077f7fd",
      "parents": [
        "d620cc4c0b4f172c64be1f7ff3dc8b62d48d0003"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Sat Apr 29 22:27:35 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 29 22:27:35 2023 +0530"
      },
      "message": "Use maps for options instead of proplists (#11)\n\nUsing proplists for options is an old convention in Erlang. The current\r\nstandard is to use maps instead. This commit makes that switch. This\r\ncommit specifically affects the behaviour of serde_arrow_array:new/3\u0027s\r\nbehaviour and the new/2 callback."
    },
    {
      "commit": "d620cc4c0b4f172c64be1f7ff3dc8b62d48d0003",
      "tree": "79cca49ada75f5bd22d2c654fef5e476d003a782",
      "parents": [
        "ece7ce600ba947d7f5b9805e58930385259b0b93"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Sat Apr 29 13:41:14 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 29 13:41:14 2023 +0530"
      },
      "message": "Add support for the Variable-Sized Binary Layout (#9)\n\nThis commit adds support for the Variable-Sized Binary Layout:\r\n\r\nhttps://arrow.apache.org/docs/format/Columnar.html#variable-size-list-layout.\r\n\r\nAdditionally, it also makes a few internal changes:\r\n\r\n1. Add support for offsets\r\n2. Allows binaries as a valid arrow_type.\r\n3. Change buffer and bitmap to work with the previous change.\r\n\r\n---------\r\n\r\nCo-authored-by: José Valim \u003cjose.valim@gmail.com\u003e"
    },
    {
      "commit": "ece7ce600ba947d7f5b9805e58930385259b0b93",
      "tree": "b9716aefb20fa41edac04dda1267a7a46caac8d0",
      "parents": [
        "dfc5f267d37da59b5d43e3ef13c63fbb68fe3b62"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Fri Apr 28 14:00:54 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 28 14:00:54 2023 +0530"
      },
      "message": "Test Generate the Documentation (#10)\n\nSince EDoc is a very xml/html heavy documentation format, it makes sense\r\nto test documentation generation in case of any \"syntax error\" (i.e.\r\nmismatched tags, incorrect link syntax, etc.) which may cause the docs\r\ngen to fail.\r\n\r\nThis commit adds a test documentation build job to be run on a PR."
    },
    {
      "commit": "dfc5f267d37da59b5d43e3ef13c63fbb68fe3b62",
      "tree": "a65417711558ffb8d97c0fcaeb89ae5ffb58fe33",
      "parents": [
        "18cec929539eaf0209f1e2580961b31ac5f36eb9"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Tue Apr 25 16:15:03 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 25 16:15:03 2023 +0530"
      },
      "message": "Add support for the Fixed-Size Primitive Layout (#7)\n\nThis commit adds support for the Fixed-Size Primitive Layout:\r\n\r\nhttps://arrow.apache.org/docs/format/Columnar.html#fixed-size-primitive-layout\r\n\r\nAdditionally, it also defines conveniences for working with Null Counts, Validity Bitmaps, and Array Lengths.\r\n---------\r\n\r\nCo-authored-by: Tristan Sloughter \u003ct@crashfast.com\u003e"
    },
    {
      "commit": "18cec929539eaf0209f1e2580961b31ac5f36eb9",
      "tree": "719f3b6074e33a3d7457cdab54e85a1b7e2d1534",
      "parents": [
        "2d86f207c50963fd5cbe81bae969b38043e71733"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Mon Apr 24 16:28:23 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 24 16:28:23 2023 +0530"
      },
      "message": "Setup Dialyzer (#8)\n\nThis commit sets up dialyzer to be run for each PR and commit."
    },
    {
      "commit": "2d86f207c50963fd5cbe81bae969b38043e71733",
      "tree": "ec61183642923900225fd161af669c445f2c619e",
      "parents": [
        "e888a7a826c9cd3836c9be4c8f3fd99a47542389"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Mon Mar 27 14:54:53 2023 +0530"
      },
      "committer": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Mon Mar 27 14:54:53 2023 +0530"
      },
      "message": "Update Roadmap\n"
    },
    {
      "commit": "e888a7a826c9cd3836c9be4c8f3fd99a47542389",
      "tree": "20625f1f02767e77761bcf9cabaccbfae02020d3",
      "parents": [
        "2e4d22157e53859b75ebe66e99616067ebabc595"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Sun Mar 26 23:02:01 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 26 23:02:01 2023 +0530"
      },
      "message": "Add Representation for Arrow\u0027s Primitive Datatypes (#6)\n\nThis commit adds representation via types of:\r\n\r\n- Booleans\r\n- Signed Integers (`Int 8`, `Int 16`, `Int 32`, `Int 64`)\r\n- Unsigned Integers (`UInt 8`, `UInt 16`, `UInt 32`, `UInt 64`)\r\n- Floats (`Float 16`, `Float 32`, `Float 64`)"
    },
    {
      "commit": "2e4d22157e53859b75ebe66e99616067ebabc595",
      "tree": "e63922302c9ee2415ddb555e2ea546216fd62aad",
      "parents": [
        "77aa47b50def08956e6be9df3bc5b3d7b0b15778"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Sat Mar 25 22:34:50 2023 +0530"
      },
      "committer": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Sat Mar 25 22:34:50 2023 +0530"
      },
      "message": "Do not run CI workflow on push to branch other than main\n\nIt makes no sense to trigger the workflow on push to a branch other than\nmain, as the branch would trigger the workflow on pull request as well.\nThus I\u0027ve decided not to trigger on push.\n"
    },
    {
      "commit": "77aa47b50def08956e6be9df3bc5b3d7b0b15778",
      "tree": "8e0a2b9732d07b38eb479d9fd9bd7cdc155ac14c",
      "parents": [
        "5432107814cf05122d100283ae0a6d39d905d224"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Fri Mar 24 13:12:14 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 24 13:12:14 2023 +0530"
      },
      "message": "Add Roadmap for `v0.1.0` (#5)\n\nThis commit adds a Roadmap explaining how `v0.1.0` for `serde_arrow`\r\nwill be implemented."
    },
    {
      "commit": "5432107814cf05122d100283ae0a6d39d905d224",
      "tree": "617e5523602b8f7f1978d5fee933af65964fc514",
      "parents": [
        "9bbc0f01f33f3015c483ce7efa2a1feaf7b31021"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Wed Mar 22 22:39:54 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 22 22:39:54 2023 +0530"
      },
      "message": "Generate docs and deploy to GitHub Pages (#4)\n\n- Generate docs using ExDoc\r\n- Deploy the docs to GitHub Pages at\r\nhttps://benjamin-philip.github.io/serde_arrow/."
    },
    {
      "commit": "9bbc0f01f33f3015c483ce7efa2a1feaf7b31021",
      "tree": "5fe3aadeadd1097f0003e6902b3bf4f18bac2dc8",
      "parents": [
        "a9f6c4d1044144db61c6c4e0486473fcd6ac8d49",
        "e92b3cf1a77e2f88b21d6971ceff2adbfd2b567c"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Wed Mar 22 21:50:16 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 22 21:50:16 2023 +0530"
      },
      "message": "Revert \"Generate and deploy docs to GitHub Pages\"\n\nReverts https://github.com/Benjamin-Philip/serde_arrow/pull/2\r\nThis PR is still incomplete, and its merging was entirely acidental."
    },
    {
      "commit": "e92b3cf1a77e2f88b21d6971ceff2adbfd2b567c",
      "tree": "5fe3aadeadd1097f0003e6902b3bf4f18bac2dc8",
      "parents": [
        "a9f6c4d1044144db61c6c4e0486473fcd6ac8d49"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Wed Mar 22 21:47:22 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 22 21:47:22 2023 +0530"
      },
      "message": "Revert \"Generate and deploy docs to GitHub Pages (#2)\"\n\nThis reverts commit a9f6c4d1044144db61c6c4e0486473fcd6ac8d49.\n"
    },
    {
      "commit": "a9f6c4d1044144db61c6c4e0486473fcd6ac8d49",
      "tree": "20ae58923f970b296bd3989726484f2d344dd093",
      "parents": [
        "9c19b0e4872f63997cde052fa9679625f31a0294"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Wed Mar 22 18:39:42 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 22 18:39:42 2023 +0530"
      },
      "message": "Generate and deploy docs to GitHub Pages (#2)\n\n"
    },
    {
      "commit": "9c19b0e4872f63997cde052fa9679625f31a0294",
      "tree": "5fe3aadeadd1097f0003e6902b3bf4f18bac2dc8",
      "parents": [
        "29d9330ce7e7ad79a242ecf1967cfb5029e7be00"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Wed Mar 22 17:55:11 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 22 17:55:11 2023 +0530"
      },
      "message": "Setup Continuous Integration (#1)\n\nThis commit adds an initial CI implementation that supports the\r\nfollowing:\r\n\r\n- Checking formatting with erlfmt\r\n- Testing with CommonTest"
    },
    {
      "commit": "29d9330ce7e7ad79a242ecf1967cfb5029e7be00",
      "tree": "1dcd6e37d946f5bebb2a05bcca74d040c7c236d1",
      "parents": [
        "85af249dc4dedc43e74e8f8647bae3857fb90ea1"
      ],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Wed Mar 22 16:44:04 2023 +0530"
      },
      "committer": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Wed Mar 22 16:56:54 2023 +0530"
      },
      "message": "Setup Erlang Formatting with `erlfmt`\n\n`erlfmt` is an Erlang formatter by WhatsApp, which is generally regarded\nas the best formatter available. This commit sets it up.\n"
    },
    {
      "commit": "85af249dc4dedc43e74e8f8647bae3857fb90ea1",
      "tree": "1b9483a63773fc0416608d35fc6aa65382cabce3",
      "parents": [],
      "author": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Wed Mar 22 16:27:17 2023 +0530"
      },
      "committer": {
        "name": "Benjamin Philip",
        "email": "benjamin.philip495@gmail.com",
        "time": "Wed Mar 22 16:27:17 2023 +0530"
      },
      "message": "Initialize Project\n"
    }
  ]
}
