Skip to content

Releases: hardbyte/python-can

4.4.2

23 Jun 12:43
478f8b8
Compare
Choose a tag to compare

Bug Fixes

  • Remove abstractmethod decorator from Listener.stop() (#1770, #1795)
  • Fix SizedRotatingLogger file suffix bug (#1792, #1793)
  • gs_usb: Use BitTiming class internally to configure bitrate (#1747, #1748)
  • pcan: Fix unpack error in PcanBus._detect_available_configs() (#1767)
  • socketcan: Improve error handling in SocketcanBus.__init__() (#1771)
  • socketcan: Do not log exception on non-linux platforms (#1800)
  • vector, kvaser: Activate channels after CAN filters were applied (#1413, #1708, #1796)

Features

  • kvaser: Add support for non-ISO CAN FD (#1752)
  • neovi: Return timestamps relative to epoch (#1789)
  • slcan: Support CANdapter extended length arbitration ID (#1506, #1528)
  • slcan: Add support for listen_only mode (#1496)
  • vector: Add support for listen_only mode (#1764)

4.4.0

07 Jun 20:58
Compare
Choose a tag to compare

Features

  • TRC 1.3 Support: Added support for .trc log files as generated by PCAN Explorer v5 and other tools, expanding compatibility with common log file formats (#1753).
  • ASCReader refactor: improved the ASCReader code (#1717).
  • SYSTEC Interface Enhancements: Added the ability to pass an explicit DLC value to the send() method when using the SYSTEC interface, enhancing flexibility for message definitions (#1756).
  • Socketcand Beacon Detection: Introduced a feature for detecting socketcand beacons, facilitating easier connection and configuration with socketcand servers (#1687).
  • PCAN Driver Echo Frames: Enabled echo frames in the PCAN driver when receive_own_messages is set, improving feedback for message transmissions (#1723).
  • CAN FD Bus Connection for VectorBus: Enabled connecting to CAN FD buses without specifying bus timings, simplifying the connection process for users (#1716).
  • Neousys Configs Detection: Updated the detection mechanism for available Neousys configurations, ensuring more accurate and comprehensive configuration discovery (#1744).

Bug Fixes

  • Send Periodic Messages: Fixed an issue where fixed-duration periodic messages were sent one extra time beyond their intended count (#1713).
  • Vector Interface on Windows 11: Addressed compatibility issues with the Vector interface on Windows 11, ensuring stable operation across the latest OS version (#1731).
  • ASCWriter Millisecond Handling: Corrected the handling of milliseconds in ASCWriter, ensuring accurate time representation in log files (#1734).
  • Various minor bug fixes: Addressed several minor bugs to improve overall stability and performance.

Miscellaneous

  • Invert default value logic for BusABC._is_shutdown. (#1774)
  • Implemented various logging enhancements to provide more detailed and useful operational insights (#1703).
  • Updated CI to use OIDC for connecting GitHub Actions to PyPi, improving security and access control for CI workflows.
  • Fix CI to work for MacOS (#1772).

The release also includes various other minor enhancements and bug fixes aimed at improving the reliability and performance of the software.

v4.4.0-rc.2

06 Jun 08:16
Compare
Choose a tag to compare
v4.4.0-rc.2 Pre-release
Pre-release

Features

  • TRC 1.3 Support: Added support for .trc log files as generated by PCAN Explorer v5 and other tools, expanding compatibility with common log file formats (#1753).
  • ASCReader refactor: improved the ASCReader code (#1717).
  • SYSTEC Interface Enhancements: Added the ability to pass an explicit DLC value to the send() method when using the SYSTEC interface, enhancing flexibility for message definitions (#1756).
  • Socketcand Beacon Detection: Introduced a feature for detecting socketcand beacons, facilitating easier connection and configuration with socketcand servers (#1687).
  • PCAN Driver Echo Frames: Enabled echo frames in the PCAN driver when receive_own_messages is set, improving feedback for message transmissions (#1723).
  • CAN FD Bus Connection for VectorBus: Enabled connecting to CAN FD buses without specifying bus timings, simplifying the connection process for users (#1716).
  • Neousys Configs Detection: Updated the detection mechanism for available Neousys configurations, ensuring more accurate and comprehensive configuration discovery (#1744).

Bug Fixes

  • Send Periodic Messages: Fixed an issue where fixed-duration periodic messages were sent one extra time beyond their intended count (#1713).
  • Vector Interface on Windows 11: Addressed compatibility issues with the Vector interface on Windows 11, ensuring stable operation across the latest OS version (#1731).
  • ASCWriter Millisecond Handling: Corrected the handling of milliseconds in ASCWriter, ensuring accurate time representation in log files (#1734).
  • Various minor bug fixes: Addressed several minor bugs to improve overall stability and performance.

Miscellaneous

  • Invert default value logic for BusABC._is_shutdown. (#1774)
  • Implemented various logging enhancements to provide more detailed and useful operational insights (#1703).
  • Updated CI to use OIDC for connecting GitHub Actions to PyPi, improving security and access control for CI workflows.
  • Fix CI to work for MacOS (#1772).

The release also includes various other minor enhancements and bug fixes aimed at improving the reliability and performance of the software.

v4.3.2 Pre-release 4

17 Mar 05:57
Compare
Choose a tag to compare
v4.3.2 Pre-release 4 Pre-release
Pre-release
v4.3.2-rc.4

Update CI.yml workflow

v4.3.2-rc.3

17 Mar 01:54
Compare
Choose a tag to compare
v4.3.2-rc.3 Pre-release
Pre-release
Allow release without tests

4.3.1

12 Dec 16:37
f0634d2
Compare
Choose a tag to compare

This is a bugfix release.

Bug Fixes

  • Fix socketcand erroneously discarding frames (#1700)
  • Fix initialization order in EtasBus (#1693, #1704)

Documentation

  • Fix install instructions for neovi (#1694, #1697)

4.3.0

16 Nov 21:38
bc3f955
Compare
Choose a tag to compare

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

  • Raise Minimum Python Version to 3.8 (#1597)
  • Do not stop notifier if exception was handled (#1645)

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.error in 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 check if the device reports can_op_mode=0 (#1678)
  • Vector: using the config from detect_available_configs might raise XL_ERR_INVALID_CHANNEL_MASK error (#1681)

Features

API

  • Add modifier_callback parameter to BusABC.send_periodic for auto-modifying cyclic tasks (#703)
  • Add protocol property to BusABC to determine active CAN Protocol (#1532)
  • Change Bus constructor implementation and typing (#1557)
  • Add optional strict parameter to relax BitTiming & BitTimingFd Validation (#1618)
  • Add BitTiming.iterate_from_sample_point static 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_configs for 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_tune to 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)

4.3.0rc0

17 Oct 09:54
61ee42b
Compare
Choose a tag to compare
4.3.0rc0 Pre-release
Pre-release

Breaking Changes

  • Raise Minimum Python Version to 3.8 (#1597)
  • Do not stop notifier if exception was handled (#1645)

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.error in 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 check if the device reports can_op_mode=0 (#1678)

Features

API

  • Add modifier_callback parameter to BusABC.send_periodic for auto-modifying cyclic tasks (#703)
  • Add protocol property to BusABC to determine active CAN Protocol (#1532)
  • Change Bus constructor implementation and typing (#1557)
  • Add optional strict parameter to relax BitTiming & BitTimingFd Validation (#1618)
  • Add BitTiming.iterate_from_sample_point static 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_configs for 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)

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)

4.2.2

18 Jun 15:00
Compare
Choose a tag to compare

Bug Fixes

  • Fix socketcan KeyError (#1598, #1599).
  • Fix IXXAT not properly shutdown message (#1606).
  • Fix Mf4Reader and TRCReader incompatibility with extra CLI args (#1610).
  • Fix decoding error in Kvaser constructor for non-ASCII product name (#1613).

4.2.1

15 May 10:13
7eac6f7
Compare
Choose a tag to compare

Bug Fixes

  • The ASCWriter now logs the correct channel for error frames (#1578, #1583).
  • Fix PCAN library detection (#1579, #1580).
  • On Windows, the first two periodic frames were sent without delay (#1590).