Releases: hardbyte/python-can
Releases · hardbyte/python-can
3.3.2 (incorrect tag)
This release was unfortunately pointing at the wrong commit.
3.3.1
3.3.0
3.2.1
3.2.0
Major features
- FD support added for Pcan by @bmeisels with input from
@markuspi, @christiansandberg & @felixdivo in PR #537
Other notable changes
- #532 Support has been removed for Python 3.4
- #533 BusState is now an enum.
- #535 This release should automatically be published to PyPi by travis.
- #577 Travis-ci now uses stages instead of matrix build.
- #548 A guide has been added for new io formats.
- #550 Finish moving from nose to pytest.
- #558 Fix installation on Windows.
- #561 Tests for MessageSync added.
General fixes, cleanup and docs changes can be found here.
Pulls: #522, #526, #527, #536, #540, #546, #547, #548, #533, #559, #569, #571, #572, #575
Backend Specific Changes
pcan
- FD support in PR #537
slcan
- ability to set custom can speed instead of using predefined speed values. #553
socketcan
- Bug fix to properly support 32bit systems. #573
usb2can
- slightly better error handling
- multiple serial devices can be found
- support for the
_detect_available_configs()
API
vector
- handle
app_name
. #525
Version 3.2.0 beta 0
Major features
- FD support added for Pcan by @bmeisels with input from
@markupspi, @christiansandberg & @felixdivo in PR #537
Other notable changes
- #532 Support has been removed for Python 3.4
- #533 BusState is now an enum.
- #535 This release should automatically be published to PyPi by travis.
- #577 Travis-ci now uses stages instead of matrix build.
- #548 A guide has been added for new io formats.
- #550 Finish moving from nose to pytest.
- #558 Fix installation on Windows.
- #561 Tests for MessageSync added.
General fixes, cleanup and docs changes can be found here.
Pulls: #522, #526, #527, #536, #540, #546, #547, #548, #533, #559, #569, #571, #572, #575
Backend Specific Changes
pcan
- FD support in PR #537
slcan
- ability to set custom can speed instead of using predefined speed values. #553
socketcan
- Bug fix to properly support 32bit systems. #573
usb2can
- slightly better error handling
- multiple serial devices can be found
- support for the
_detect_available_configs()
API
vector
- handle
app_name
. #525
3.1.1
3.1.0
Major features
Two new interfaces this release:
- SYSTEC contributed by @idaniel86 in PR #466
- CANalyst-II contributed by @smeng9 in PR #476
Other notable changes
- #477 The kvaser interface now supports bus statistics via a custom bus method.
- #434 neovi now supports receiving own messages
- #490 Adding option to override the neovi library name
- #488 Allow simultaneous access to IXXAT cards
- #447 Improvements to serial interface:
- to allow receiving partial messages
- to fix issue with DLC of remote frames
- addition of unit tests
- #497 Small API changes to
Message
and added unit tests - #471 Fix CAN FD issue in kvaser interface
- #462 Fix
Notifier
issue with asyncio - #481 Fix PCAN support on OSX
- #455 Fix to
Message
initializer - Small bugfixes and improvements
3.1.0
New Interfaces
- SYSTEC contributed by @idaniel86 in PR #466
- CANalyst-II contributed by @smeng9 in PR #476
New Features
- #477 kvaser interface now supports bus statistics via a custom bus method.
- #471 fix CAN FD issue in kvaser interface
- #434 neovi supports receiving own messages
- #447 improvements to serial interface:
- to allow receiving partial messages
- to fix issue with DLC of remote frames
- addition of unit tests
- #462
Notifier
issue with asyncio. - #481 - Fix PCAN support on OSX.
- #455 minor fix to
Message
initializer.
See all the merged pull requests here.
3.0.0
Major features
- Adds support for developing
asyncio
applications withpython-can
more easily. This can be useful
when implementing protocols that handles simultaneous connections to many nodes since you can write
synchronous looking code without handling multiple threads and locking mechanisms. #388 - New can viewer terminal application. #390
- More formally adds task management responsibility to the
Bus
. By default tasks created with
bus.send_periodic
will have a reference held by the bus - this means in many cases the user
doesn't need to keep the task in scope for their periodic messages to continue being sent. If
this behavior isn't desired passstore_task=False
to thesend_periodic
method. Stop all tasks
by calling the bus's newstop_all_periodic_tasks
method. #412
Breaking changes
- Interfaces should no longer override
send_periodic
and instead implement
_send_periodic_internal
#426 - writing to closed writers is not supported any more (it was supported only for some)
- the method
Listener.on_message_received()
is now abstract (using@abc.abstractmethod
) - the file in the reader/writer is now always stored in the attribute uniformly called
file
, and not in
something likefp
,log_file
oroutput_file
. Changed the name of the first parameter of the
read/writer constructors fromfilename
tofile
.
Backend Specific Changes
3rd party interfaces
- Deprecated
python_can.interface
entry point instead usecan.interface
. #389
neovi
- Added support for CAN-FD #408
- Fix issues checking if bus is open. #381
- Adding multiple channels support. #415
nican
- implements reset instead of custom
flush_tx_buffer
. #364
pcan
- now supported on OSX. #365
serial
- Removed TextIOWrapper from serial. #383
- switch to
serial_for_url
enabling using remote ports vialoop://
, ``socket://and
rfc2217://` URLs. #393 - hardware handshake using
rtscts
kwarg #402
socketcan
- socketcan tasks now reuse a bcm socket
- socketcan bugfix to receive error frames #384
vector
- Vector interface now implements
_detect_available_configs
. #362 - Added support to select device by serial number. #387
Other notable changes
- can.Message class updated #413
- Addition of a Message.equals method.
- Deprecate id_type in favor of is_extended_id
- documentation, testing and example updates
- Addition of support for various builtins: repr, slots, copy
- IO module updates to bring consistency to the different CAN message writers and readers. #348
- context manager support for all readers and writers
- they share a common super class called
BaseIOHandler
- all file handles can now be closed with the
stop()
method - the table name in
SqliteReader
/SqliteWriter
can be adjusted - append mode added in
CSVWriter
andCanutilsLogWriter
- file-like and
path-like objects can now be passed to
the readers and writers (except to the Sqlite handlers) - add a
__ne__()
method to theMessage
class (this was required by the tests) - added a
stop()
method forBufferedReader
SqliteWriter
: this now guarantees that all messages are being written, exposes some previously internal metrics
and only buffers messages up to a certain limit before writing/committing to the database.- the unused
header_line
attribute fromCSVReader
has been removed - privatized some attributes that are only to be used internally in the classes
- Start testing against Python 3.7 #380
- All scripts have been moved into
can/scripts
. #370, #406 - Added support for additional sections to the config #338
- Code coverage reports added. #346, #374
- Bug fix to thread safe bus. #397
General fixes, cleanup and docs changes: (#347, #348, #367, #368, #370, #371, #373, #420, #417, #419)
Documentation: https://python-can.readthedocs.io/en/3.0.0/
Installation
pip install python-can==3.0.0