This version was released by [www.kvaser.com](http://www.kvaser.com/) on 15-FEB-2022
Notable fixes and enhancements:
* General:
- Python 3.10 is now officially supported.
- Fixed `canlib.connected_devices()` to ignore removed devices, instead of
raising an exception.
- Added `.canlib.exceptions.CanGeneralError` to documentation, noting that
this should *not* be caught explicitly.
- Extracted tutorial sample code into standalone files, updated bus
parameters in CAN FD code to work with U100.
* `.canlib`:
- Removed internal attribute `Channel.flags`, use
`.canlib.ChannelData.channel_flags` instead.
- Corrected return value of `~canlib.canlib.Channel.is_can_fd` when channel
was opened explicitly using `~canlib.canlib.Open.NO_INIT_ACCESS`. Now
also always returns a `bool`.
- Added `.ChannelData.bus_param_limits` (wraps canCHANNELDATA_BUS_PARAM_LIMITS)
- Added t Programming chapter to documentation.
- Corrected name of bitrate constant inside table in "Set CAN Bitrate" chapter.
* `.linlib`:
- Deprecated `~.linlib.Channel.getCanHandle`, use `~.linlib.Channel.get_can_channel`
instead.
* `.kvlclib`:
- `.kvlclib.WriterFormat.getPropertyDefault` and
`.kvlclib.ReaderFormat.getPropertyDefault` now returns `None` if property do
not support get/set, as e.g. `~.kvlclib.Property.SIGNAL_BASED`.
- Added support for experimental format KME60
- Clarified usage of `.kvlclib.Converter.addDatabaseFile()`.
* `.kvadblib`:
- Added support for Attribute Definition of type HEX,
`.kvadblib.AttributeType.HEX`.
- Comment and Unit on a signal now converts cp1252 coding to utf-8.
- Added support for experimental format KME60