-
Notifications
You must be signed in to change notification settings - Fork 631
Release 3.3.3 #715
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release 3.3.3 #715
Conversation
In `PcanBus.send()`, we initially set `msgType` based on all the flags of `msg`, including RTR. In the if/else for `self.fd`, we are incorrectly resetting it if rtr. We should not, and so we are no longer doing it.
Codecov Report
@@ Coverage Diff @@
## master #715 +/- ##
==========================================
- Coverage 64.79% 64.58% -0.22%
==========================================
Files 63 63
Lines 5786 5822 +36
==========================================
+ Hits 3749 3760 +11
- Misses 2037 2062 +25 |
Looking through the merged PRs I think these would also be candidates for backports as these were all bug fixes?
Up to you what ultimately makes it, since IMO there isn't really much distinction between a fix for a bug and a resulting enhancement in some cases. Do we only take changes if they cause crashes or are obviously wrong behaviour? Also, not sure if we should take the various docs changes that went in? Note: Just a random thought, but it might be easier to do this in the future if we switched to a Merge Squash workflow (or required PR commits to be squashed before merging), so we could just refer to the git commit history. |
|
Skip J1939TP messages
Expose options to send or skip error frame messages
Currently bus.send_periodic blindly wraps the BCM socket API, and sends a BCM operation with the TX_SETUP opcode. However, the semantics that the kernel driver provides are an "upsert". As such, when one attempts to create two Tasks with the same CAN Arbitration ID, it ends up silently modifying the periodic messages, which is contrary to what our API implies. This fixes the problem by first sending a TX_READ opcode with the CAN Arbitration ID that we wish to create. The kernel driver will return -EINVAL if a periodic transmission with the given Arbitration ID does not exist. If this is the case, then we can continue creating the Task, otherwise we error and notify the user. #605
Pass kwargs through to BusABC's initializer. Doesn't backport changing baud to bitrate to avoid changing the API
* pin versions of testing dependencies including coverage
0190093
to
1587c36
Compare
Thanks @karlding, I certainly agree that if each feature had been squashed it would have made this backporting easier! |
Sorry, just getting back into things after vacation. Should we also backport #740? |
Did we ever end up resolving or making any progress on figuring out what was going on with people reporting broken releases? Was this just due to incompatible |
#628 please. |
I think one issue was solved where python-can was packaged using old versions of setuptools and/or wheel. There was another regarding |
No, still issues installing python-can 3.3.2 using Python 2.7.12 + pip (20.0.2) on Ubuntu 16.04 LTS due to the following issue:
|
Hi @drchopper just had a look at install this release branch on Ubuntu with Python 2 and it seems to work:
Do you want to try install the 3.3.3 version with |
I've tagged an alpha release to try on various platforms:
Grab it from https://pypi.org/project/python-can/3.3.3a0/ and comment if you've checked a platform.
|
I think we should also backport #814, otherwise Python 3 support for Vector interfaces would remain broken, especially as we're now recommending people to move to Python 3. |
In Python 2, the str type was used for text and bytes, whereas in Python 3, these are separate and incompatible types. This broke instantiation of a VectorBus when the app_name parameter in __init__ was set to None. This correctly sets it to a bytes object. Fixes #796
Sorry for potentially needing to cut a new release, but while looking through the open issues, I found another candidate for backporting, which addresses 771: → TITANIC@python-can (develop) $ git show 4033a621ec2f530ea168a7f1b6dc6fb0a6a88c11 can/io/csv.py
commit 4033a621ec2f530ea168a7f1b6dc6fb0a6a88c11
Author: Felix Divo <[email protected]>
Date: Sun May 19 23:42:26 2019 +0200
fix other linter stuff
diff --git a/can/io/csv.py b/can/io/csv.py
index 8bafdf1..c755b1c 100644
--- a/can/io/csv.py
+++ b/can/io/csv.py
@@ -89,7 +89,11 @@ class CSVReader(BaseIOHandler):
def __iter__(self):
# skip the header line
- next(self.file)
+ try:
+ next(self.file)
+ except StopIteration:
+ # don't crash on a file with only a header
+ return
for line in self.file: |
Don't worry - python-can releases haven't exactly been a rush! |
Tested with Ubuntu Python2.7 successfully! |
Can we include #798? |
Would it be possible to include #785 ? |
To avoid forever back-porting changes into this 3.3 branch, I think we call it a day and cut the release.
|
With an approving review I'll tag the final and merge this into master |
can/__init__.py
Outdated
@@ -8,7 +8,7 @@ | |||
|
|||
import logging | |||
|
|||
__version__ = "3.3.2" | |||
__version__ = "3.3.3-alpha.3" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you bumping/tagging this after merging into master?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No I was going to do it in this branch as I've done for the pre-releases
What else needs to be backported to a 3.x release?