|
1 | 1 | SQLx Frequently Asked Questions
|
2 | 2 | ===============================
|
3 | 3 |
|
| 4 | +### What versions of Rust does SQLx support? What is SQLx's MSRV\*? |
| 5 | + |
| 6 | +Officially, we will only ever support the latest stable version of Rust. |
| 7 | +It's just not something we consider to be worth keeping track of, given the current state of tooling. |
| 8 | + |
| 9 | +Cargo does support a [`rust-version`] field now in the package manifest, however that will only ensure |
| 10 | +that the user is using a `rustc` of that version or greater; it does not enforce that the crate's code is |
| 11 | +actually compatible with that version of Rust. That would need to be manually enforced and checked with CI, |
| 12 | +and we have enough CI passes already. |
| 13 | + |
| 14 | +In practice, we tend not to reach for language or library features that are *too* new, either because |
| 15 | +we don't need them or we just worked around their absence. There are language features we're waiting to be |
| 16 | +stabilized that we want to use (Generic Associated Types and Async Traits, to name a couple) which we will |
| 17 | +be utilizing when they're available, but that will be a major refactor with breaking API changes |
| 18 | +which will then coincide with a major release. |
| 19 | + |
| 20 | +Thus, it is likely that a given SQLx release _will_ work with older versions of Rust. However, |
| 21 | +we make no guarantees about which exact versions it will work with besides the latest stable version, |
| 22 | +and we don't factor MSRV bumps into our semantic versioning. |
| 23 | + |
| 24 | +\*Minimum Supported Rust Version |
| 25 | + |
| 26 | +[`rust-version`]: https://doc.rust-lang.org/stable/cargo/reference/manifest.html#the-rust-version-field |
| 27 | + |
4 | 28 | ----------------------------------------------------------------
|
5 | 29 | ### How can I do a `SELECT ... WHERE foo IN (...)` query?
|
6 | 30 |
|
|
0 commit comments