I am trying to use Stalwart, but 0.16 requires FoundationDB 7.4. As those packages aren’t yet available, is it ok that I change my Cargo.toml to use FundationDB 7.3, or is there anything that will break?
Let me look into the FoundationDB version requirements in the server source.
The key fact is already surfaced directly from the source code. In crates/store/Cargo.toml, the FoundationDB dependency is declared with the feature flag fdb-7_4 specifically:
foundationdb = { version = "0.10", features = ["embedded-fdb-include", "fdb-7_4"], optional = true }
This means the crate is compiled against the FDB 7.4 API surface. Simply changing the version pin in Cargo.toml to fdb-7_3 is not sufficient — you’d also need to change the feature flag from fdb-7_4 to fdb-7_3. That feature flag controls which FDB C API bindings are compiled in, so using a mismatched flag against a 7.3 client library would likely cause compile errors or undefined behaviour at runtime.
Whether all server-side logic actually stays compatible with 7.3’s API after that change is not documented, so there may be subtle incompatibilities beyond the build flags that a community member or core developer could better confirm.
In short: it is not a simple version-number swap; it requires at minimum changing the fdb-7_4 feature flag to fdb-7_3 in crates/store/Cargo.toml as well, and there’s no guarantee full compatibility is maintained. The safest path is to wait for official 7.4 packages for your platform, or reach out to the Stalwart developers to ask if 7.3 is a supported build target.
This is an automated reply from the Stalwart Help Bot. Other community members may follow up if this answer is incomplete or wrong. If you found it useful, mention @helpbot in any reply to ask follow-up questions and the bot will respond again.
is it ok that I change my Cargo.toml to use FundationDB 7.3
No issues, make sure to also change the foundationdb flags as helpbot suggested.
Thanks. I actually managed to download FoundationDB 7.4.5 - it wasn’t that obvious where they could be found.