4.3.0
In this release, we've raised the minimum Python version to 3.8, added several new features to the API and as always plenty of bug fixes and interface improvements.
Breaking Changes
Bug Fixes
- Vector: channel detection fails, if there is an active flexray channel (#1634)
- ixxat: Fix exception in 'state' property on bus coupling errors (#1647)
- NeoVi: Fixed serial number range (#1650)
- PCAN: Fix timestamp offset due to timezone (#1651)
- Catch
pywintypes.errorin broadcast manager (#1659) - Fix BLFReader error for incomplete or truncated stream (#1662)
- PCAN: remove Windows registry check to fix 32bit compatibility (#1672)
- Vector: Skip the
can_op_mode checkif the device reportscan_op_mode=0(#1678) - Vector: using the config from
detect_available_configsmight raise XL_ERR_INVALID_CHANNEL_MASK error (#1681)
Features
API
- Add
modifier_callbackparameter toBusABC.send_periodicfor auto-modifying cyclic tasks (#703) - Add
protocolproperty to BusABC to determine active CAN Protocol (#1532) - Change Bus constructor implementation and typing (#1557)
- Add optional
strictparameter to relax BitTiming & BitTimingFd Validation (#1618) - Add
BitTiming.iterate_from_sample_pointstatic methods (#1671)
IO
- Can Player compatibility with interfaces that use additional configuration (#1610)
Interface Improvements
- Kvaser: Add BitTiming/BitTimingFd support to KvaserBus (#1510)
- Ixxat: Implement
detect_available_configsfor the Ixxat bus. (#1607) - NeoVi: Enable send and receive on network ID above 255 (#1627)
- Vector: Send HighPriority Message to flush Tx buffer (#1636)
- PCAN: Optimize send performance (#1640)
- PCAN: Support version string of older PCAN basic API (#1644)
- Kvaser: add parameter exclusive and
override_exclusive(#1660) - socketcand: Add parameter
tcp_tuneto reduce latency (#1683)
Miscellaneous
- Distinguish Text/Binary-IO for Reader/Writer classes. (#1585)
- Convert setup.py to pyproject.toml (#1592)
- activate ruff pycodestyle checks (#1602)
- Update linter instructions in development.rst (#1603)
- remove unnecessary script files (#1604)
- BigEndian test fixes (#1625)
- align
ID:in can.Message string (#1635) - Use same configuration file as Linux on macOS (#1657)
- We do not need to account for drift when we
USE_WINDOWS_EVENTS(#1666, #1679) - Update linters, activate more ruff rules (#1669)
- Add Python 3.12 Support / Test Python 3.12 (#1673)