)]}'
{
  "commit": "aafe6c300e59ed1b4407c71917fb2034fdc7798a",
  "tree": "33807dd3931e1f01f9685809aedf34734051d882",
  "parents": [
    "fd2d1969084185ff5e638c28066d0d35d510b7f0"
  ],
  "author": {
    "name": "Laslo Hunhold",
    "email": "dev@frign.de",
    "time": "Sun Nov 20 23:37:17 2022 +0100"
  },
  "committer": {
    "name": "Laslo Hunhold",
    "email": "dev@frign.de",
    "time": "Sun Nov 20 23:37:17 2022 +0100"
  },
  "message": "Refactor bidirectional state handling\n\nThe best approach is to have only one place where state is kept and\nno risk of \"stale\" state disturbing program execution.\nHand-managing state in the isolate-runner was thus problematic, as there\nwas the real risk of sliding into stale state. Even though this is\nmanageable, it makes the code relatively fragile and hard to debug.\n\nIn another aspect, the serialization was a mess and was in dire need of\nmore structure. The state currently still contains a \"raw property\",\nbut this will be removed once the API has been properly split between\nthe preprocessing and line-processing steps. The modified array is put\nwithin an #if 0-guard.\n\nSigned-off-by: Laslo Hunhold \u003cdev@frign.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c9036e9de29e15884e5d0b25a1d6a66f7816385e",
      "old_mode": 33188,
      "old_path": "src/bidirectional.c",
      "new_id": "fa468532891e6e5836fc19d996df4b3b479ec661",
      "new_mode": 33188,
      "new_path": "src/bidirectional.c"
    }
  ]
}
