Skip to content

Releases: hardbyte/python-can

3.2.1

17 May 22:52
Compare
Choose a tag to compare
  • CAN FD 64 frame support to blf reader
  • Minor fix to use latest tools when building wheels on travis.
  • Updates links in documentation.

3.2.0

16 May 10:16
d5dd7fe
Compare
Choose a tag to compare

Major features

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

Pulls #511, #535

vector

  • handle app_name. #525

Version 3.2.0 beta 0

12 May 02:32
Compare
Choose a tag to compare
Version 3.2.0 beta 0 Pre-release
Pre-release

Major features

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

Pulls #511, #535

vector

  • handle app_name. #525

3.1.1

25 Feb 04:16
a6a4447
Compare
Choose a tag to compare

Same as 3.1.0 but built with Python 3.7 and up dated setuptools, wheel etc

3.1.0

24 Feb 10:53
3dcfcbb
Compare
Choose a tag to compare

Major features

Two new interfaces this release:

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

07 Jan 04:58
Compare
Choose a tag to compare
3.1.0 Pre-release
Pre-release

New Interfaces

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

04 Oct 09:49
4b93f21
Compare
Choose a tag to compare

Major features

  • Adds support for developing asyncio applications with python-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 pass store_task=False to the send_periodic method. Stop all tasks
    by calling the bus's new stop_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 like fp, log_file or output_file. Changed the name of the first parameter of the
    read/writer constructors from filename to file.

Backend Specific Changes

3rd party interfaces

  • Deprecated python_can.interface entry point instead use can.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 via loop://, ``socket://andrfc2217://` 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 and CanutilsLogWriter
    • 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 the Message class (this was required by the tests)
    • added a stop() method for BufferedReader
    • 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 from CSVReader 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

2.2.1

12 Jul 18:30
d2b20ea
Compare
Choose a tag to compare

Bug fixes

  • Fix errors and warnings when importing library on Windows
  • Fix Vector backend raising ValueError when hardware is not connected

Installation

Get it from PyPi:

pip install -U python-can==2.2.1

2.2.0

03 Jul 12:10
0b10255
Compare
Choose a tag to compare

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 and socketcan_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 newer can 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

  • Cyclic improvements #323
  • Fix version selection. #293
  • Low level fixes. #296

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 adding add_listener and remove_listener methods #266
  • SqlReader and SqlWriter have been renamed to SqliteReader and SqliteWriter. #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

2.1

18 Feb 06:19
338d211
Compare
Choose a tag to compare
2.1
  • Support for out of tree can interfaces with pluggy.
  • Initial support for CAN-FD for socketcan_native and kvaser interfaces.
  • Neovi interface now uses Intrepid Control Systems's own interface library.
  • Improvements and new documentation for SQL reader/writer.
  • Fix bug in neovi serial number decoding.
  • Add testing on OSX to TravisCI
  • Fix non english decoding error on pcan
  • Other misc improvements and bug fixes

Available in all good cheese shops:

pip install python-can==2.1.0

Documentation available on readthedocs.