This release includes the following fixes:
* Always return an integer error code from exit_code()
* Fix line buffering detection for TTYs on Illumos/Solaris
* Numerous improvements to the integration tests:
- Work correctly with less v633
- Fix flaky tests
- Improve behaviour and debugging when tests fail
- Allow test runners to capture stdout of all child processes
* Update test dependencies to account for recent releases of fixtures
* Test using a more recent version of mypy
* Run tests on Python 3.11 and 3.12