-
Notifications
You must be signed in to change notification settings - Fork 122
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
Maintenance release 4.2.1 #100
Maintenance release 4.2.1 #100
Conversation
On macOS, attempts to set the baud rate of pseudo terminals via normal ioctl apis appears to be problematic. To support users targeting these pseudo terminals, this commit adds the ability to use a `baud_rate` of 0 to skip the attempt altogether.
The method used the ioctl return value rather than the reference argument when constructing the returned bitflags
CFStringGetCStringPtr is not guaranteed to succeed, CFStringGetCString should be used instead.
Update to the latest nix version and adapt nix::poll::ppoll to receive an Option<nix::sys::signal::SigSet> instead of a plain SigSet. Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
return the ANSI encoded version of the string, instead, use ReqQueryValueExW to return the UTF-16 encoded version. This should prevent device names from breaking when they use non-ASCII characters. Signed-off-by: mlsvrts <mlsvrts@protonmail.com>
'SetupDiGetDeviceRegistryProperty' in order to support unicode manufacturer information and device friendly names. Signed-off-by: mlsvrts <mlsvrts@protonmail.com>
Both issues improve readability.
* Add a loopback test example Adds a new example with support for running loopback tests on a port and printing some timing statistics. Loopback test supports running in split or standard serial port modes, and specifiying the data and iterations of test to perform. Signed-off-by: mlsvrts <mlsvrts@protonmail.com> * Remove 'short' from loopback test 'bytes' argument. Supporting '-b' for both 'bytes' and 'baudrate' could cause a collision, this update prevents the issue. Signed-off-by: mlsvrts <mlsvrts@protonmail.com> Signed-off-by: mlsvrts <mlsvrts@protonmail.com>
* Upgrade nix to 0.26 Remove the patch version in the dependency definition to get minor fixes automatically. This shouldn't be a problem as nix should be API stable across patch versions. Signed-off-by: Richard Leitner <richard.leitner@skidata.com> * Raise the MSRV to 1.56.1 This is needed as nix v0.26.0 raised its MSRV to 1.56.1. For more information please see the changelog: https://github.com/nix-rust/nix/blob/master/CHANGELOG.md#0260---2022-11-29 Or the corresponding PR: nix-rust/nix#1792 Signed-off-by: Richard Leitner <richard.leitner@skidata.com> Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
* Update Readme * Another typo fix
This fixes the following clippy warning: warning: casting to the same type is unnecessary (`u32` -> `u32`) --> src/posix/tty.rs:461:12 | 461 | Ok(termios2.c_ospeed as u32) | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `termios2.c_ospeed` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast = note: `#[warn(clippy::unnecessary_cast)]` on by default Signed-off-by: Richard Leitner <dev@g0hl1n.net>
This allows 2.0.y bitflags versions. There are no obvious changes necessary to our code base according to the release notes [1]. Therefore this should be fine. The range is given to avoid having 2 bitflags versions as clap still depends on the 1.3.2 version. To resolve this issue there is an extra PR open [2]. As soon as this got merged we can drop the 1.3.y support. We are excluding 2.1.y releases as bitflags may change the MSRV in minor releases. [1] https://github.com/bitflags/bitflags/releases [2] serialport#76 Signed-off-by: Richard Leitner <dev@g0hl1n.net>
Let our README show a badge containing the MSRV. Signed-off-by: Richard Leitner <dev@g0hl1n.net>
Use cargo-deny to add more linting power. Furthermore add exceptions for findings. Signed-off-by: Richard Leitner <dev@g0hl1n.net>
There's a few memory leaks on macOS where performing the "available_ports" method and we attempt to lookup a key. This commit addresses that and I've verified correct behaviour via Instruments. The scopeguard package has been introduced so that we can conveniently track our release responsibilities.
I think it’s imperative that we are able to release maintenance fixes to crates.io. 4.2.0 arguably has CVEs for macOS, and so we should consider yanking 4.2.0 and publishing a 4.2.1. Maintaining a 4.2 branch and cherry picking from main seems intuitive to me. The main branch can then become destined towards a 5.0… |
Seems like a good idea to me, thank you! |
Updated the changelog and prepared release 4.2.1 plus the next iteration cycle. What's left to to:
@jessebraham, could you help out with the latter two bullet points? Having a general release branch for 4.2 sounds good to me and will add one once the release has been cut. |
Let's have a clean baseline for looking at the next commits. This is a port of the latest cleanup done on main for the next maintenance release.
e4f4905
to
43f6877
Compare
|
We have integrated several fixes since releasing 4.2.0 but the current main branch breaks semantic versioning due to the field
interface
added toUsbPortInfo
with 364e1fb.There is demand for a maintenance release from our Matrix channel to release the changes from #98. What about cutting it as everything from main but the breaking changes?
I've checked semantic version compatibility as follows:
This PR is for discussing the actual changes and populating the release branch with them. Once we agree that this moves into the right direction, I will do the housekeeping and update version, changelog, ...