)]}'
{
  "commit": "cf6946dc480be1e4cf9c2fe10a283e7f8222608b",
  "tree": "879b2ff13339b5972c1eb6fd05152617a34c8866",
  "parents": [
    "33e92b6c4937f6919cadfa276ee1e129dbdca364"
  ],
  "author": {
    "name": "Nathan Hjelm",
    "email": "hjelmn@google.com",
    "time": "Mon Apr 03 19:34:39 2023 -0600"
  },
  "committer": {
    "name": "Nathan Hjelm",
    "email": "hjelmn@cs.unm.edu",
    "time": "Thu Dec 07 12:54:03 2023 -0700"
  },
  "message": "darwin: add abstraction for IOUSBInterfaceInterface\n\nThe IOUSBInterfaceInterface object is how libusb interfaces with the\ninterfaces of USB devices on macOS (Darwin, MacOS X, iOS, etc). For as\nlong as libusb has existed it has always used the highest available\nversion of the interface. This change breaks that by using the higest\nversion available for the current running version of macOS. This allows\nthe same libusb build to run on older and newer versions of macOS\nwithout disabling newer features.\n\nThis change relies heavily on the fact that each new version of the\nIOUSBInterfaceInterface object builds on prior versions. This means that\nlibusb can use the oldest version of the interface that has a specific\nfunction without needing to use the specific version specified at open\ntime which greatly simplifies the code.\n\nThis commit update IOUSBInterfaceInterface only and leave the\nIOUSBDeviceInterface as-is. A follow-on change will update the device\ninterface.\n\nSigned-off-by: Nathan Hjelm \u003chjelmn@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dcaae827839f6ba80f9bb0f43e9b095837bd5c3b",
      "old_mode": 33188,
      "old_path": "libusb/os/darwin_usb.c",
      "new_id": "82419ef3f45b3670d74c590b8b2ba622284de81c",
      "new_mode": 33188,
      "new_path": "libusb/os/darwin_usb.c"
    },
    {
      "type": "modify",
      "old_id": "f240357190076dd7324788591fc49078ac3b1f5c",
      "old_mode": 33188,
      "old_path": "libusb/os/darwin_usb.h",
      "new_id": "a823691cab38301b8069c694da115136a19f67bf",
      "new_mode": 33188,
      "new_path": "libusb/os/darwin_usb.h"
    },
    {
      "type": "modify",
      "old_id": "a8345a453c674e41a81a2f9df358e04d744b7092",
      "old_mode": 33188,
      "old_path": "libusb/version_nano.h",
      "new_id": "028e4df557b5d6478fb4832388c2aea2d3159dad",
      "new_mode": 33188,
      "new_path": "libusb/version_nano.h"
    }
  ]
}
