-
Notifications
You must be signed in to change notification settings - Fork 150
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
Switch from rulinalg to nalgebra for SVD #417
Conversation
After running `cargo audit`, it turns out `imageproc` crate has a known vulnerability: https://rustsec.org/advisories/RUSTSEC-2020-0023 Also, we're no longer using anything from this crate. If we need something in the future, keep an eye on this pull request that seems to solve the issue by swapping the vulnerable dependency in imageproc with another crate: image-rs/imageproc#417 Details: ``` $cargo audit error: Vulnerable crates found! ID: RUSTSEC-2020-0023 Crate: rulinalg Version: 0.4.2 Date: 2020-02-11 URL: https://rustsec.org/advisories/RUSTSEC-2020-0023 Title: Lifetime boundary for `raw_slice` and `raw_slice_mut` are incorrect Solution: No safe upgrade is available! Dependency tree: rulinalg 0.4.2 └── imageproc 0.21.0 └── noaa-apt 1.2.0 ```
After running `cargo audit`, it turns out `imageproc` crate has a known vulnerability: https://rustsec.org/advisories/RUSTSEC-2020-0023 Also, we're no longer using anything from this crate. If we need something in the future, keep an eye on this pull request that seems to solve the issue by swapping the vulnerable dependency in imageproc with another crate: image-rs/imageproc#417 Details: ``` $cargo audit error: Vulnerable crates found! ID: RUSTSEC-2020-0023 Crate: rulinalg Version: 0.4.2 Date: 2020-02-11 URL: https://rustsec.org/advisories/RUSTSEC-2020-0023 Title: Lifetime boundary for `raw_slice` and `raw_slice_mut` are incorrect Solution: No safe upgrade is available! Dependency tree: rulinalg 0.4.2 └── imageproc 0.21.0 └── noaa-apt 1.2.0 ```
I've been spending some time testing and debugging this branch, as well as reading into the linear algebra behind the logic here, and I'm now pretty reasonably confident I'm doing this right. It should be safe to merge, but once again it'd be good if someone with a better background in mathematics could double-check this. |
Today I ran
|
I've tried out this PR, and it works more reliably the the code it replaces. |
Thanks! Sorry about the very long delay. |
Thank you guys for the very quick test and merge! When can we expect a release including this merge? |
Fixes #412
This is working fine on a private project, but I don't know much about linear algebra and there aren't nearly enough test cases to ensure this doesn't break a bunch of stuff, so someone who's more knowledgeable should double check this.