From 1ab841648ffa3b9287fe187ada012849c292ca3e Mon Sep 17 00:00:00 2001 From: zariiii9003 <52598363+zariiii9003@users.noreply.github.com> Date: Tue, 5 Aug 2025 20:11:58 +0200 Subject: [PATCH 1/4] add python 3.14 classifier --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 52a910067..e36b50ad0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,6 +32,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Embedded Systems", From 2abe868236378c8da84d862ec80479581c32edf4 Mon Sep 17 00:00:00 2001 From: zariiii9003 <52598363+zariiii9003@users.noreply.github.com> Date: Tue, 5 Aug 2025 20:14:08 +0200 Subject: [PATCH 2/4] add another fragmet for 1949 --- doc/changelog.d/1949.removed.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/changelog.d/1949.removed.md diff --git a/doc/changelog.d/1949.removed.md b/doc/changelog.d/1949.removed.md new file mode 100644 index 000000000..b41a84b9a --- /dev/null +++ b/doc/changelog.d/1949.removed.md @@ -0,0 +1 @@ +Unknown command line arguments ("extra args") are no longer passed down to `can.Bus()` instantiation. Use the `--bus-kwargs` argument instead. \ No newline at end of file From 748ae2df4e991b1c011bd380b84bd3a057b8bb37 Mon Sep 17 00:00:00 2001 From: zariiii9003 <52598363+zariiii9003@users.noreply.github.com> Date: Tue, 5 Aug 2025 20:15:19 +0200 Subject: [PATCH 3/4] generate changelog for v4.6.0 --- CHANGELOG.md | 43 +++++++++++++++++++++++++++++++++ doc/changelog.d/1758.added.md | 1 - doc/changelog.d/1851.changed.md | 1 - doc/changelog.d/1890.added.md | 1 - doc/changelog.d/1904.fixed.md | 1 - doc/changelog.d/1906.fixed.md | 1 - doc/changelog.d/1908.fixed.md | 1 - doc/changelog.d/1914.added.md | 1 - doc/changelog.d/1920.added.md | 1 - doc/changelog.d/1921.fixed.md | 1 - doc/changelog.d/1927.fixed.md | 1 - doc/changelog.d/1931.removed.md | 1 - doc/changelog.d/1934.fixed.md | 1 - doc/changelog.d/1940.fixed.md | 1 - doc/changelog.d/1941.added.md | 1 - doc/changelog.d/1945.changed.md | 2 -- doc/changelog.d/1946.changed.md | 1 - doc/changelog.d/1947.changed.md | 1 - doc/changelog.d/1948.added.md | 1 - doc/changelog.d/1949.added.md | 1 - doc/changelog.d/1949.removed.md | 1 - doc/changelog.d/1951.removed.md | 1 - doc/changelog.d/1953.added.md | 1 - doc/changelog.d/1954.added.md | 1 - doc/changelog.d/1957.fixed.md | 1 - doc/changelog.d/1960.changed.md | 1 - doc/changelog.d/1961.added.md | 1 - doc/changelog.d/1967.fixed.md | 1 - doc/changelog.d/1969.fixed.md | 1 - 29 files changed, 43 insertions(+), 29 deletions(-) delete mode 100644 doc/changelog.d/1758.added.md delete mode 100644 doc/changelog.d/1851.changed.md delete mode 100644 doc/changelog.d/1890.added.md delete mode 100644 doc/changelog.d/1904.fixed.md delete mode 100644 doc/changelog.d/1906.fixed.md delete mode 100644 doc/changelog.d/1908.fixed.md delete mode 100644 doc/changelog.d/1914.added.md delete mode 100644 doc/changelog.d/1920.added.md delete mode 100644 doc/changelog.d/1921.fixed.md delete mode 100644 doc/changelog.d/1927.fixed.md delete mode 100644 doc/changelog.d/1931.removed.md delete mode 100644 doc/changelog.d/1934.fixed.md delete mode 100644 doc/changelog.d/1940.fixed.md delete mode 100644 doc/changelog.d/1941.added.md delete mode 100644 doc/changelog.d/1945.changed.md delete mode 100644 doc/changelog.d/1946.changed.md delete mode 100644 doc/changelog.d/1947.changed.md delete mode 100644 doc/changelog.d/1948.added.md delete mode 100644 doc/changelog.d/1949.added.md delete mode 100644 doc/changelog.d/1949.removed.md delete mode 100644 doc/changelog.d/1951.removed.md delete mode 100644 doc/changelog.d/1953.added.md delete mode 100644 doc/changelog.d/1954.added.md delete mode 100644 doc/changelog.d/1957.fixed.md delete mode 100644 doc/changelog.d/1960.changed.md delete mode 100644 doc/changelog.d/1961.added.md delete mode 100644 doc/changelog.d/1967.fixed.md delete mode 100644 doc/changelog.d/1969.fixed.md diff --git a/CHANGELOG.md b/CHANGELOG.md index a8ec28f12..8fdbcecf1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,49 @@ This project uses [*towncrier*](https://towncrier.readthedocs.io/) and the chang +## Version [v4.6.0](https://github.com/hardbyte/python-can/tree/v4.6.0) - 2025-08-05 + +### Removed + +- Remove support for Python 3.8. ([#1931](https://github.com/hardbyte/python-can/issues/1931)) +- Unknown command line arguments ("extra args") are no longer passed down to `can.Bus()` instantiation. Use the `--bus-kwargs` argument instead. ([#1949](https://github.com/hardbyte/python-can/issues/1949)) +- Remove `can.io.generic.BaseIOHandler` class. Improve `can.io.*` type annotations by using `typing.Generic`. ([#1951](https://github.com/hardbyte/python-can/issues/1951)) + +### Added + +- Support 11-bit identifiers in the `serial` interface. ([#1758](https://github.com/hardbyte/python-can/issues/1758)) +- Keep track of active Notifiers and make Notifier usable as a context manager. Add function `Notifier.find_instances(bus)` to find the active Notifier for a given bus instance. ([#1890](https://github.com/hardbyte/python-can/issues/1890)) +- Add Windows support to `udp_multicast` interface. ([#1914](https://github.com/hardbyte/python-can/issues/1914)) +- Add FD support to `slcan` according to CANable 2.0 implementation. ([#1920](https://github.com/hardbyte/python-can/issues/1920)) +- Add support for error messages to the `socketcand` interface. ([#1941](https://github.com/hardbyte/python-can/issues/1941)) +- Add support for remote and error frames in the `serial` interface. ([#1948](https://github.com/hardbyte/python-can/issues/1948)) +- Add public functions `can.cli.add_bus_arguments` and `can.cli.create_bus_from_namespace` for creating bus command line options. Currently downstream packages need to implement their own logic to configure *python-can* buses. Now *python-can* can create and parse bus options for third party packages. ([#1949](https://github.com/hardbyte/python-can/issues/1949)) +- Add support for remote frames to `TRCReader`. ([#1953](https://github.com/hardbyte/python-can/issues/1953)) +- Mention the `python-can-candle` package in the plugin interface section of the documentation. ([#1954](https://github.com/hardbyte/python-can/issues/1954)) +- Add new CLI tool `python -m can.bridge` (or just `can_bridge`) to create a software bridge between two physical buses. ([#1961](https://github.com/hardbyte/python-can/issues/1961)) + +### Changed + +- Allow sending Classic CAN frames with a DLC value larger than 8 using the `socketcan` interface. ([#1851](https://github.com/hardbyte/python-can/issues/1851)) +- The `gs_usb` extra dependency was renamed to `gs-usb`. + The `lint` extra dependency was removed and replaced with new PEP 735 dependency groups `lint`, `docs` and `test`. ([#1945](https://github.com/hardbyte/python-can/issues/1945)) +- Update dependency name from `zlgcan-driver-py` to `zlgcan`. ([#1946](https://github.com/hardbyte/python-can/issues/1946)) +- Use ThreadPoolExecutor in `detect_available_configs()` to reduce runtime and add `timeout` parameter. ([#1947](https://github.com/hardbyte/python-can/issues/1947)) +- Update contribution guide. ([#1960](https://github.com/hardbyte/python-can/issues/1960)) + +### Fixed + +- Fix a bug in `slcanBus.get_version()` and `slcanBus.get_serial_number()`: If any other data was received during the function call, then `None` was returned. ([#1904](https://github.com/hardbyte/python-can/issues/1904)) +- Fix incorrect padding of CAN FD payload in `BlfReader`. ([#1906](https://github.com/hardbyte/python-can/issues/1906)) +- Set correct message direction for messages received with `kvaser` interface and `receive_own_messages=True`. ([#1908](https://github.com/hardbyte/python-can/issues/1908)) +- Fix timestamp rounding error in `BlfWriter`. ([#1921](https://github.com/hardbyte/python-can/issues/1921)) +- Fix timestamp rounding error in `BlfReader`. ([#1927](https://github.com/hardbyte/python-can/issues/1927)) +- Handle timer overflow message and build timestamp according to the epoch in the `ixxat` interface. ([#1934](https://github.com/hardbyte/python-can/issues/1934)) +- Avoid unsupported `ioctl` function call to allow usage of the `udp_multicast` interface on MacOS. ([#1940](https://github.com/hardbyte/python-can/issues/1940)) +- Fix configuration file parsing for the `state` bus parameter. ([#1957](https://github.com/hardbyte/python-can/issues/1957)) +- Mf4Reader: support non-standard `CAN_DataFrame.Dir` values in mf4 files created by [ihedvall/mdflib](https://github.com/ihedvall/mdflib). ([#1967](https://github.com/hardbyte/python-can/issues/1967)) +- PcanBus: Set `Message.channel` attribute in `PcanBus.recv()`. ([#1969](https://github.com/hardbyte/python-can/issues/1969)) + ## Version 4.5.0 diff --git a/doc/changelog.d/1758.added.md b/doc/changelog.d/1758.added.md deleted file mode 100644 index 0b95b14e2..000000000 --- a/doc/changelog.d/1758.added.md +++ /dev/null @@ -1 +0,0 @@ -Support 11-bit identifiers in the `serial` interface. diff --git a/doc/changelog.d/1851.changed.md b/doc/changelog.d/1851.changed.md deleted file mode 100644 index 672f7bd7d..000000000 --- a/doc/changelog.d/1851.changed.md +++ /dev/null @@ -1 +0,0 @@ -Allow sending Classic CAN frames with a DLC value larger than 8 using the `socketcan` interface. \ No newline at end of file diff --git a/doc/changelog.d/1890.added.md b/doc/changelog.d/1890.added.md deleted file mode 100644 index 802629ed3..000000000 --- a/doc/changelog.d/1890.added.md +++ /dev/null @@ -1 +0,0 @@ -Keep track of active Notifiers and make Notifier usable as a context manager. Add function `Notifier.find_instances(bus)` to find the active Notifier for a given bus instance. diff --git a/doc/changelog.d/1904.fixed.md b/doc/changelog.d/1904.fixed.md deleted file mode 100644 index 80b665a6b..000000000 --- a/doc/changelog.d/1904.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix a bug in `slcanBus.get_version()` and `slcanBus.get_serial_number()`: If any other data was received during the function call, then `None` was returned. \ No newline at end of file diff --git a/doc/changelog.d/1906.fixed.md b/doc/changelog.d/1906.fixed.md deleted file mode 100644 index f8988ff48..000000000 --- a/doc/changelog.d/1906.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix incorrect padding of CAN FD payload in `BlfReader`. \ No newline at end of file diff --git a/doc/changelog.d/1908.fixed.md b/doc/changelog.d/1908.fixed.md deleted file mode 100644 index ce8947029..000000000 --- a/doc/changelog.d/1908.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Set correct message direction for messages received with `kvaser` interface and `receive_own_messages=True`. \ No newline at end of file diff --git a/doc/changelog.d/1914.added.md b/doc/changelog.d/1914.added.md deleted file mode 100644 index a1f838001..000000000 --- a/doc/changelog.d/1914.added.md +++ /dev/null @@ -1 +0,0 @@ -Add Windows support to `udp_multicast` interface. \ No newline at end of file diff --git a/doc/changelog.d/1920.added.md b/doc/changelog.d/1920.added.md deleted file mode 100644 index c4f0e532e..000000000 --- a/doc/changelog.d/1920.added.md +++ /dev/null @@ -1 +0,0 @@ -Add FD support to `slcan` according to CANable 2.0 implementation. diff --git a/doc/changelog.d/1921.fixed.md b/doc/changelog.d/1921.fixed.md deleted file mode 100644 index 139d2979f..000000000 --- a/doc/changelog.d/1921.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix timestamp rounding error in `BlfWriter`. diff --git a/doc/changelog.d/1927.fixed.md b/doc/changelog.d/1927.fixed.md deleted file mode 100644 index 5fb005d05..000000000 --- a/doc/changelog.d/1927.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix timestamp rounding error in `BlfReader`. \ No newline at end of file diff --git a/doc/changelog.d/1931.removed.md b/doc/changelog.d/1931.removed.md deleted file mode 100644 index 416329a83..000000000 --- a/doc/changelog.d/1931.removed.md +++ /dev/null @@ -1 +0,0 @@ -Remove support for Python 3.8. diff --git a/doc/changelog.d/1934.fixed.md b/doc/changelog.d/1934.fixed.md deleted file mode 100644 index a12e4ffb2..000000000 --- a/doc/changelog.d/1934.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Handle timer overflow message and build timestamp according to the epoch in the `ixxat` interface. \ No newline at end of file diff --git a/doc/changelog.d/1940.fixed.md b/doc/changelog.d/1940.fixed.md deleted file mode 100644 index 9f4fc09ba..000000000 --- a/doc/changelog.d/1940.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Avoid unsupported `ioctl` function call to allow usage of the `udp_multicast` interface on MacOS. \ No newline at end of file diff --git a/doc/changelog.d/1941.added.md b/doc/changelog.d/1941.added.md deleted file mode 100644 index a3d87cb6b..000000000 --- a/doc/changelog.d/1941.added.md +++ /dev/null @@ -1 +0,0 @@ -Add support for error messages to the `socketcand` interface. \ No newline at end of file diff --git a/doc/changelog.d/1945.changed.md b/doc/changelog.d/1945.changed.md deleted file mode 100644 index 59a48774f..000000000 --- a/doc/changelog.d/1945.changed.md +++ /dev/null @@ -1,2 +0,0 @@ -The `gs_usb` extra dependency was renamed to `gs-usb`. -The `lint` extra dependency was removed and replaced with new PEP 735 dependency groups `lint`, `docs` and `test`. \ No newline at end of file diff --git a/doc/changelog.d/1946.changed.md b/doc/changelog.d/1946.changed.md deleted file mode 100644 index d5dad4225..000000000 --- a/doc/changelog.d/1946.changed.md +++ /dev/null @@ -1 +0,0 @@ -Update dependency name from `zlgcan-driver-py` to `zlgcan`. \ No newline at end of file diff --git a/doc/changelog.d/1947.changed.md b/doc/changelog.d/1947.changed.md deleted file mode 100644 index db12a0318..000000000 --- a/doc/changelog.d/1947.changed.md +++ /dev/null @@ -1 +0,0 @@ -Use ThreadPoolExecutor in `detect_available_configs()` to reduce runtime and add `timeout` parameter. \ No newline at end of file diff --git a/doc/changelog.d/1948.added.md b/doc/changelog.d/1948.added.md deleted file mode 100644 index 132d49d98..000000000 --- a/doc/changelog.d/1948.added.md +++ /dev/null @@ -1 +0,0 @@ -Add support for remote and error frames in the `serial` interface. \ No newline at end of file diff --git a/doc/changelog.d/1949.added.md b/doc/changelog.d/1949.added.md deleted file mode 100644 index 6e8ac79b5..000000000 --- a/doc/changelog.d/1949.added.md +++ /dev/null @@ -1 +0,0 @@ -Add public functions `can.cli.add_bus_arguments` and `can.cli.create_bus_from_namespace` for creating bus command line options. Currently downstream packages need to implement their own logic to configure *python-can* buses. Now *python-can* can create and parse bus options for third party packages. \ No newline at end of file diff --git a/doc/changelog.d/1949.removed.md b/doc/changelog.d/1949.removed.md deleted file mode 100644 index b41a84b9a..000000000 --- a/doc/changelog.d/1949.removed.md +++ /dev/null @@ -1 +0,0 @@ -Unknown command line arguments ("extra args") are no longer passed down to `can.Bus()` instantiation. Use the `--bus-kwargs` argument instead. \ No newline at end of file diff --git a/doc/changelog.d/1951.removed.md b/doc/changelog.d/1951.removed.md deleted file mode 100644 index 6d56c5d50..000000000 --- a/doc/changelog.d/1951.removed.md +++ /dev/null @@ -1 +0,0 @@ -Remove `can.io.generic.BaseIOHandler` class. Improve `can.io.*` type annotations by using `typing.Generic`. diff --git a/doc/changelog.d/1953.added.md b/doc/changelog.d/1953.added.md deleted file mode 100644 index 76ef5137a..000000000 --- a/doc/changelog.d/1953.added.md +++ /dev/null @@ -1 +0,0 @@ -Add support for remote frames to `TRCReader`. diff --git a/doc/changelog.d/1954.added.md b/doc/changelog.d/1954.added.md deleted file mode 100644 index d2d50669b..000000000 --- a/doc/changelog.d/1954.added.md +++ /dev/null @@ -1 +0,0 @@ -Mention the `python-can-candle` package in the plugin interface section of the documentation. diff --git a/doc/changelog.d/1957.fixed.md b/doc/changelog.d/1957.fixed.md deleted file mode 100644 index 9d5dd6071..000000000 --- a/doc/changelog.d/1957.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix configuration file parsing for the `state` bus parameter. diff --git a/doc/changelog.d/1960.changed.md b/doc/changelog.d/1960.changed.md deleted file mode 100644 index f3977aedb..000000000 --- a/doc/changelog.d/1960.changed.md +++ /dev/null @@ -1 +0,0 @@ -Update contribution guide. diff --git a/doc/changelog.d/1961.added.md b/doc/changelog.d/1961.added.md deleted file mode 100644 index 483427ec0..000000000 --- a/doc/changelog.d/1961.added.md +++ /dev/null @@ -1 +0,0 @@ -Add new CLI tool `python -m can.bridge` (or just `can_bridge`) to create a software bridge between two physical buses. diff --git a/doc/changelog.d/1967.fixed.md b/doc/changelog.d/1967.fixed.md deleted file mode 100644 index fdd72b363..000000000 --- a/doc/changelog.d/1967.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Mf4Reader: support non-standard `CAN_DataFrame.Dir` values in mf4 files created by [ihedvall/mdflib](https://github.com/ihedvall/mdflib). diff --git a/doc/changelog.d/1969.fixed.md b/doc/changelog.d/1969.fixed.md deleted file mode 100644 index 3ee6f6c50..000000000 --- a/doc/changelog.d/1969.fixed.md +++ /dev/null @@ -1 +0,0 @@ -PcanBus: Set `Message.channel` attribute in `PcanBus.recv()`. From 466c39312e9a214bf1ffe452e0047affb7258d8d Mon Sep 17 00:00:00 2001 From: zariiii9003 <52598363+zariiii9003@users.noreply.github.com> Date: Fri, 8 Aug 2025 16:29:07 +0200 Subject: [PATCH 4/4] dependabot PRs should not trigger workflow twice --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77f1cc1f9..a80f1e247 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,8 @@ on: types: [ published ] pull_request: push: + branches-ignore: + - 'dependabot/**' env: PY_COLORS: "1"