2.2.0
Major Features
- Fallback message filtering implemented in Python for interfaces that don't offer better accelerated mechanism. #157, #277, #104
- SocketCAN interfaces have been merged (
socketcan_native
andsocketcan_ctypes
), this is now completely transparent for the library user. #326 - automatic detection of available configs/channels in supported interfaces (see #303)
- Added synchronized (thread-safe) Bus variant. #315
- context manager support for the Bus class. #283
- added CSVReader. Improved testing of CSVReader/CSVWriter #270
- Notifier supports multiple buses #332
Removals
- Dropped support for Python 3.3 (officially reached end-of-life in Sept. 2017)
- Deprecated the old
CAN
module, please use the newercan
entry point (will be removed in version 2.4). #267
Interface Specific Changes
There were many changes and a lot of cleanup effort in the individual interfaces. Some of the highlights:
SocketCAN
Use socketcan
in the future instead of socketcan_native
or socketcan_ctypes
VectorCAN
- CAN FD support #311
- Fix bug where messages were sent to only one virtual channel #302
- Various fixes in #258:
- Avoid polling by using Win32 events when possible
- Support for receive_own_messages argument
PCAN
Use configured bitrate. #254
USB2CAN
Show stopping bug #219 has been fixed.
Minor Changes
- Minor api change to the
can.Notifier
addingadd_listener
andremove_listener
methods #266 SqlReader
andSqlWriter
have been renamed toSqliteReader
andSqliteWriter
. #263- readers/writers now support error frames correctly. #217, #247, #256
- bug fixes
- a lot of (CI) testing effort. #342
- improved documentation
- code cleanup. #309
Installation
Get it from PyPi:
pip install -U python-can==2.2.0