)]}'
{
  "log": [
    {
      "commit": "62ec929629bed63d968a25a16085080a227a8abf",
      "tree": "fe1e5f762936622a1d4f322c3fefcb238715f92b",
      "parents": [
        "dbdb429a8ca338d8b9bb082214a246cc61faca90"
      ],
      "author": {
        "name": "Gregg Donovan",
        "email": "gdonovan@etsy.com",
        "time": "Thu Jan 29 16:51:37 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 29 13:51:37 2026 -0800"
      },
      "message": "Fix Python 3.12 build issues in thrift Python (#3276)\n\n- Add pyproject.toml with setuptools build requirement for PEP 517 compliance\n- Replace distutils imports with setuptools equivalents\n- Use setuptools error names directly (CompileError, ExecError, PlatformError)\n- Fix macOS header collision with ntohll/htonll macros in endian.h\n- Add a matrix of MacOS versions (macos-15-intel, macos-14, macos-15,\n  macos-26)\n- Add a matrix of non-EOL Python versions for testing\n- Remove MSVC2015 from the test matrix (very old).\n- Support MSVC2022, the latest in AppVeyor.\n- Upgrade tornado, twisted, and zope.interface versions to the first\n  that support Python 3.12.\n- Try to make the test_socket, RunClientServer, and TestServer tests less flaky.\n\nThis fixes the ModuleNotFoundError: No module named \u0027distutils\u0027 error\nwhen building thrift with Python 3.12+."
    },
    {
      "commit": "21ed4a2f690fb8547593c64df376b97a877b1675",
      "tree": "b3e982418c841da81144f02da583d797e5e9cc5d",
      "parents": [
        "aee3f637bef38f69b6b52140bca6448d1f617633"
      ],
      "author": {
        "name": "Cameron Martin",
        "email": "cameronm@graphcore.ai",
        "time": "Mon Apr 22 11:08:19 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Mar 05 22:17:54 2025 +0100"
      },
      "message": "THRIFT-5811: Add ESM support to nodejs codegen\nClient: nodejs\nPatch: Cameron Martin \u003ccameronm@graphcore.ai\u003e\n\nThis closes #3083\n\nThis adds a flag to the JS generator to output ES modules instead of CommonJS. This is only valid when targeting node. A lot of the changes here are to test this.\n\nThe `testAll.sh` script now generates an ES module version of the services and types, and tests the client and the server with these. This has a few knock-on effects. Firstly, any module that imports a generated ES module must itself be an ES module, since CommonJS modules cannot import ES modules. ES modules also do not support `NODE_PATH`, so instead the tests directory is converted into a node package with a `file:` dependency on the root thrift package.\n"
    }
  ]
}
