Compatibility Notes
This release requires Python 3.8 at the minimum. It is now using some language features introduced in 3.7 and a newer setuptools dependency that itself needs 3.8. A big benefit from this is better annotations for type checkers, now advertised through a py.typed marker. These are far from complete though and the library code itself still fails on many static typing checks.
The lower-level python-can library dependency (version 4.4.0) introduced an incompatible change, which is worked around in this release:
Enhancements
- Support of custom can.Bus implementations to the Network class by @vongostev in #404
- 24 bit support by @raffi-g in #406
- Implement the remaining canopen datatypes by @sveinse in #440
- Mirror some OD access API to the SdoBase / SdoVariable classes by @acolomb in #423
- Implement equality operator for SdoAbortedError by @acolomb in #424
- Make pause after sending SDO request configurable by @sveinse in #429
- Fixup RETRY_DELAY on SDO send by @sveinse in #435
- Add support for using dot (.) to get subobjects from the OD by @sveinse in #426
- objectdictionary: Use node_id from DCF if not provided by @thesummer in #350
- Add codecov support (fixes #366) by @sveinse in #367
Bug Fixes
- objectdictionary: Fix incorrect ParameterValue when export_dcf by @meifonglow in #417
- SDO client fixes by @samsamfire in #408
- Ignore the most significant bit in PDO mapping lengths by @acolomb in #421
- Revert "change missing Baudrate to BaudRate" by @hepr-skylotec in #452
- pdo: Skip saving if no COB-ID was set (fixes #445) by @friederschueler in #446
Code Cleaning and Modernization
- Clean up imports of old modules by @sveinse in #433
- Rename Maps to PdoMaps and Map to PdoMap by @sveinse in #431
- Add meaningful "representation" formatter to object classes by @sveinse in #432
- Minor linting nitpicks and Python 2 removal by @sveinse in #441
- Fix "hearbeat" typos (fixes #389) by @acolomb in #453
- Cleanup f-strings, logging and formats by @sveinse in #443
- Modernize type annotations and fix some discrepancies by @acolomb in #451
- build: Modernize, use setuptools 69 by @acolomb in #428
New Contributors
- @vongostev made their first contribution in #404
- @raffi-g made their first contribution in #406
- @meifonglow made their first contribution in #417
- @hepr-skylotec made their first contribution in #452
- @thesummer made their first contribution in #350
A big Thank You goes out to @sveinse and @friederschueler for their very active participation in getting this release into shape.
Full Changelog: v2.2.0...v2.3.0