Uh oh!
There was an error while loading. Please reload this page.
Bump version to v5, allow v5 use v4-sys - #407
Conversation
kornelski
commented
Nov 14, 2025
nox
commented
Nov 20, 2025
We actually need an update of BoringsSSL itself in boring-sys, which I think makes this irrelevant? |
Irrelevant in what sense? You haven't released v5 to crates.io yet, so I don't think anybody has experienced yet the pain I'm trying to prevent here. |
nox
commented
Nov 24, 2025
boring 5 can't work with boring-sys 4 if it uses new APIs that are only present in boring-sys 5. |
I've ran the tests on v5 with boring-sys v4, and it seems to be fine? (apart from minor tweaks that were fixed here: #406) |
nox
commented
Dec 5, 2025
Because AFAIK we haven't bumped BoringSSL in boring-sys yet. |
rushilmehra
commented
Dec 5, 2025
Do you have an example of one of the new APIs? |
nox
commented
Dec 5, 2025
As an example, the BoringSSL bump I'm working on needs changes to |
rushilmehra
commented
Dec 5, 2025
Yeah I see what you mean. This might be overkill but could we make a build.rs to feature flag APIs based on crate version? Alternatively, would solving #197 also solve this problem? |
rushilmehra
commented
Dec 5, 2025
I think it will. If you can wait until the weekend I'll put up a PR |
nox
commented
Dec 5, 2025
#197 breaks FIPS. |
nox
commented
Dec 5, 2025
via email
thinking twice about this I don’t understand why we want boring 5 to be compatible with boring-sys 4. I think it would be preferable to make boring 4 compatible with boring-sys 5 once the latter is released. |
kornelski
commented
Dec 5, 2025
Extra functions can be made to work. v4 sys crate can contain dummy definitions of future functions to avoid compilation errors. or new functionality in v5 that calls new functions can be behind a feature flag. It will work if the flag isn't enabled. |
kornelski
commented
Dec 5, 2025
Yeah, we could make it flexible in the other direction instead. |
Making it compatible in the other direction is complicated by removal of Cargo features from the sys crate:
it requires re-adding at least dummy feature flags: #410 |
kornelski
commented
Jan 20, 2026
abf77a9 to
903fe70Compare903fe70 to
58a947bCompare
When #406 is released, this will be backwards-compatible with projects using
boring-sysv4.This will be crucial for users of
boring, becauseboringv4 and v5 can co-exist in the dependency tree (it's merely a bloat), butboring-sysv4 and v5 can't (due to linking C having globals all over the place). boring v5 with boring-sys v4 will let projects upgrade their dependencies gradually.