From 20801822ab4319ba4dc980ed1bd391e2483104d1 Mon Sep 17 00:00:00 2001 From: Brian Thorne Date: Sun, 17 Mar 2024 09:01:53 +1300 Subject: [PATCH 1/9] =?UTF-8?q?=F0=9F=94=A7=20Update=20CI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - update upload/download workflow actions - use OIDC credentials to release to PyPI --- .github/workflows/ci.yml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e70f0f8cf..e1d26c7c6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -155,7 +155,7 @@ jobs: - name: Run doctest run: | python -m sphinx -b doctest -W --keep-going doc build - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: sphinx-out path: ./build/ @@ -174,9 +174,9 @@ jobs: - name: Check build artifacts run: pipx run twine check --strict dist/* - name: Save artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: python-can-dist + name: "${{ matrix.os }}-${{ matrix.python-version }}" path: ./dist upload_pypi: @@ -186,12 +186,9 @@ jobs: # upload to PyPI only on release if: github.event.release && github.event.action == 'published' steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: - name: python-can-dist path: dist + merge-multiple: true - - uses: pypa/gh-action-pypi-publish@v1.4.2 - with: - user: __token__ - password: ${{ secrets.PYPI_API_TOKEN }} + - uses: pypa/gh-action-pypi-publish@release/v1 From 7c9bc4dc4d0e42949caca8e0b30321ecd3ce7032 Mon Sep 17 00:00:00 2001 From: Brian Thorne Date: Sun, 17 Mar 2024 13:24:15 +1300 Subject: [PATCH 2/9] Draft release notes for v4.3.2 --- CHANGELOG.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8798c19c7..548f14f0a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,35 @@ +Version 4.3.2 +============= + +Features +-------- + +* TRC 1.3 Support: Added support for .trc log files as generated by PCAN Explorer v5 and other tools, expanding compatibility with common log file formats (#1753). +* ASCReader Performance: Significantly improved the read performance of ASCReader, optimizing log file processing and analysis (#1717). +* SYSTEC Interface Enhancements: Added the ability to pass an explicit DLC value to the send() method when using the SYSTEC interface, enhancing flexibility for message definitions (#1756). +* Socketcand Beacon Detection: Introduced a feature for detecting socketcand beacons, facilitating easier connection and configuration with socketcand servers (#1687). +* PCAN Driver Echo Frames: Enabled echo frames in the PCAN driver when receive_own_messages is set, improving feedback for message transmissions (#1723). +* CAN FD Bus Connection: Enabled connecting to CAN FD buses without specifying bus timings, simplifying the connection process for users (#1716). +* Neousys Configs Detection: Updated the detection mechanism for available Neousys configurations, ensuring more accurate and comprehensive configuration discovery (#1744). + + +Bug Fixes +--------- + +* Send Periodic Messages: Fixed an issue where fixed-duration periodic messages were sent one extra time beyond their intended count (#1713). +* Vector Interface on Windows 11: Addressed compatibility issues with the Vector interface on Windows 11, ensuring stable operation across the latest OS version (#1731). +* ASCWriter Millisecond Handling: Corrected the handling of milliseconds in ASCWriter, ensuring accurate time representation in log files (#1734). +* Various minor bug fixes: Addressed several minor bugs to improve overall stability and performance. + +Miscellaneous +------------- + +* Implemented various logging enhancements to provide more detailed and useful operational insights (#1703). +* Updated CI to use OIDC for connecting GitHub Actions to PyPi, improving security and access control for CI workflows. + +The release also includes various other minor enhancements and bug fixes aimed at improving the reliability and performance of the software. + + Version 4.3.1 ============= From 39c5ca02f68e88e5a2ab67a915f0ab51520b3c84 Mon Sep 17 00:00:00 2001 From: Brian Thorne Date: Sun, 17 Mar 2024 13:27:30 +1300 Subject: [PATCH 3/9] Set version to 4.3.2-rc.1 --- can/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/can/__init__.py b/can/__init__.py index 9b6a26f58..454947192 100644 --- a/can/__init__.py +++ b/can/__init__.py @@ -8,7 +8,7 @@ import logging from typing import Any, Dict -__version__ = "4.3.1" +__version__ = "4.3.2-rc.1" __all__ = [ "ASCReader", "ASCWriter", From 47c62a5b61685328b860352d58340192912e63bc Mon Sep 17 00:00:00 2001 From: Brian Thorne Date: Sun, 17 Mar 2024 13:57:36 +1300 Subject: [PATCH 4/9] Fix CI - Add id-token permission to upload_pypi job --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e1d26c7c6..12e7b6f27 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -180,8 +180,10 @@ jobs: path: ./dist upload_pypi: - needs: [build] + needs: [build, test] runs-on: ubuntu-latest + permissions: + id-token: write # upload to PyPI only on release if: github.event.release && github.event.action == 'published' From 5afa2c49dc25ca1e8032178d38fe0fc9d7c2ff4f Mon Sep 17 00:00:00 2001 From: Brian Thorne Date: Sun, 17 Mar 2024 14:30:53 +1300 Subject: [PATCH 5/9] 4.3.2-rc.2 --- can/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/can/__init__.py b/can/__init__.py index 454947192..4fc703c72 100644 --- a/can/__init__.py +++ b/can/__init__.py @@ -8,7 +8,7 @@ import logging from typing import Any, Dict -__version__ = "4.3.2-rc.1" +__version__ = "4.3.2-rc.2" __all__ = [ "ASCReader", "ASCWriter", From af196815692ce1b5e3a4fed9130190c1b6b5081f Mon Sep 17 00:00:00 2001 From: Brian Thorne Date: Sun, 17 Mar 2024 14:54:05 +1300 Subject: [PATCH 6/9] Allow release without tests --- .github/workflows/ci.yml | 2 +- can/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 12e7b6f27..7cf76e934 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -180,7 +180,7 @@ jobs: path: ./dist upload_pypi: - needs: [build, test] + needs: [build] runs-on: ubuntu-latest permissions: id-token: write diff --git a/can/__init__.py b/can/__init__.py index 4fc703c72..42cf2bc5d 100644 --- a/can/__init__.py +++ b/can/__init__.py @@ -8,7 +8,7 @@ import logging from typing import Any, Dict -__version__ = "4.3.2-rc.2" +__version__ = "4.3.2-rc.3" __all__ = [ "ASCReader", "ASCWriter", From 80bb00797fbdc0b7a72c6722940f6a4d87c4e22e Mon Sep 17 00:00:00 2001 From: Brian Thorne Date: Sun, 17 Mar 2024 18:56:50 +1300 Subject: [PATCH 7/9] Update CI.yml workflow --- .github/workflows/ci.yml | 24 +++++++++++------------- can/__init__.py | 2 +- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7cf76e934..5c06ee94f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,9 +42,9 @@ jobs: # python-version: "3.13.0-alpha - 3.13.0" fail-fast: false steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies @@ -139,9 +139,9 @@ jobs: docs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.10" - name: Install dependencies @@ -155,18 +155,14 @@ jobs: - name: Run doctest run: | python -m sphinx -b doctest -W --keep-going doc build - - uses: actions/upload-artifact@v4 - with: - name: sphinx-out - path: ./build/ - retention-days: 5 build: + name: Packaging runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.10" - name: Build wheel and sdist @@ -176,11 +172,12 @@ jobs: - name: Save artifacts uses: actions/upload-artifact@v4 with: - name: "${{ matrix.os }}-${{ matrix.python-version }}" + name: release path: ./dist upload_pypi: needs: [build] + name: Release to PyPi runs-on: ubuntu-latest permissions: id-token: write @@ -193,4 +190,5 @@ jobs: path: dist merge-multiple: true - - uses: pypa/gh-action-pypi-publish@release/v1 + - name: Publish release distributions to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/can/__init__.py b/can/__init__.py index 42cf2bc5d..44c6032f9 100644 --- a/can/__init__.py +++ b/can/__init__.py @@ -8,7 +8,7 @@ import logging from typing import Any, Dict -__version__ = "4.3.2-rc.3" +__version__ = "4.3.2-rc.4" __all__ = [ "ASCReader", "ASCWriter", From d9b9a19e7949dd5bea622bed26c61587f0f92e36 Mon Sep 17 00:00:00 2001 From: Brian Thorne Date: Thu, 6 Jun 2024 19:51:01 +1200 Subject: [PATCH 8/9] Update changelog for v4.4.0 --- CHANGELOG.md | 10 ++++++---- can/__init__.py | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 548f14f0a..404b68c3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,15 @@ -Version 4.3.2 +Version 4.4.0 ============= Features -------- * TRC 1.3 Support: Added support for .trc log files as generated by PCAN Explorer v5 and other tools, expanding compatibility with common log file formats (#1753). -* ASCReader Performance: Significantly improved the read performance of ASCReader, optimizing log file processing and analysis (#1717). +* ASCReader refactor: improved the ASCReader code (#1717). * SYSTEC Interface Enhancements: Added the ability to pass an explicit DLC value to the send() method when using the SYSTEC interface, enhancing flexibility for message definitions (#1756). * Socketcand Beacon Detection: Introduced a feature for detecting socketcand beacons, facilitating easier connection and configuration with socketcand servers (#1687). * PCAN Driver Echo Frames: Enabled echo frames in the PCAN driver when receive_own_messages is set, improving feedback for message transmissions (#1723). -* CAN FD Bus Connection: Enabled connecting to CAN FD buses without specifying bus timings, simplifying the connection process for users (#1716). +* CAN FD Bus Connection for VectorBus: Enabled connecting to CAN FD buses without specifying bus timings, simplifying the connection process for users (#1716). * Neousys Configs Detection: Updated the detection mechanism for available Neousys configurations, ensuring more accurate and comprehensive configuration discovery (#1744). @@ -24,9 +24,11 @@ Bug Fixes Miscellaneous ------------- +* Invert default value logic for BusABC._is_shutdown. (#1774) * Implemented various logging enhancements to provide more detailed and useful operational insights (#1703). * Updated CI to use OIDC for connecting GitHub Actions to PyPi, improving security and access control for CI workflows. - +* Fix CI to work for MacOS (#1772). +* The release also includes various other minor enhancements and bug fixes aimed at improving the reliability and performance of the software. diff --git a/can/__init__.py b/can/__init__.py index 44c6032f9..d504aa16b 100644 --- a/can/__init__.py +++ b/can/__init__.py @@ -8,7 +8,7 @@ import logging from typing import Any, Dict -__version__ = "4.3.2-rc.4" +__version__ = "4.4.0-rc.1" __all__ = [ "ASCReader", "ASCWriter", From 347f58e534e77a5c41ff58f2a1d5889a31dc9f88 Mon Sep 17 00:00:00 2001 From: Tian-Jionglu Date: Fri, 7 Jun 2024 13:20:03 +0800 Subject: [PATCH 9/9] doc update update installation doc since `setup.py` method removed. --- doc/installation.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/installation.rst b/doc/installation.rst index 6b2a2cfb2..ff72ae21b 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -131,5 +131,7 @@ reinstall. Download or clone the source repository then: :: - python setup.py develop + # install in editable mode + cd + python3 -m pip install -e .