(since 1.0.0-rc.34)
Highlights
- Published the stable
sea-query 1.0.0release. - Published the companion crates as final non-rc versions.
- Updated the SQLx binder crate for SQLx 0.9.
- Fixed PostgreSQL array handling for null array elements.
- Fixed tokenizer handling of backend-specific backslash escaping.
- Updated README and examples from rc dependencies to the stable
1.0dependency line.
Breaking Changes
The SQLx binder line for SeaQuery 1.0 now targets SQLx 0.9. Users staying on SQLx 0.8 should use sea-query-sqlx 0.8.1; users on SQLx 0.9 should use sea-query-sqlx 0.9.0.
# SQLx 0.8 compatibility line
sea-query-sqlx = "0.8.1"
# SQLx 0.9 line
sea-query-sqlx = "0.9"sea-query-sqlx 0.8.0 was yanked. Use 0.8.1 for SQLx 0.8, or 0.9.0 for SQLx 0.9.
SQLx feature wiring was updated for the SQLx 0.9 runtime and TLS feature split. SeaQuery now exposes explicit TLS feature flags such as tls-none, tls-native-tls, tls-rustls, and the rustls provider variants. The older combined runtime/TLS feature names remain available as compatibility aliases.
- Temporarily gated Jiff SQLx binders on SQLx 0.9
Jiff SQLx binders were temporarily disabled because jiff-sqlx still targeted SQLx 0.8 at the time of the SeaQuery 1.0.0 release. Enabling Jiff values with SQLx 0.9 may panic for unsupported Jiff argument binding.
Stable Crate Versions
Use these stable companion crate versions with sea-query 1.0.0:
sea-query 1.0.0sea-query-derive 1.0.0sea-query-rusqlite 0.8.0sea-query-postgres 0.6.0sea-query-diesel 0.3.0sea-query-rbatis 0.2.0
sea-query = "1.0"
sea-query-derive = "1.0"
sea-query-rusqlite = "0.8"
sea-query-postgres = "0.6"
sea-query-diesel = "0.3"
sea-query-rbatis = "0.2"Fixes
- Fixed null element handling in PostgreSQL arrays #1068
PostgreSQL array values can now contain null elements without panicking during conversion. This fixes Value::Array conversion paths where arrays contain null values.
- Fixed tokenizer handling of backend-specific backslash escaping
The tokenizer now distinguishes MySQL, PostgreSQL, and SQLite string escaping rules. In particular, PostgreSQL backslash escaping is handled only for escape strings, avoiding incorrect parsing around single quotes and backslashes.
Dependency Updates
- Removed the
inherentdependency from the main crate. - Aligned
ipnetworkto0.21.1across SeaQuery and binder crates. - Updated
sea-query-postgres-typesto0.1.1. - Raised binder crate Rust versions to Rust
1.88.0where needed.
Documentation And Tests
- Updated README installation snippets from rc versions to stable versions.
- Updated SQLx examples for MySQL, PostgreSQL, and SQLite.
- Added regression coverage for null PostgreSQL array elements.
- Added tokenizer tests for backend-specific backslash escaping.
Migration Notes
- Use
sea-query-sqlx 0.8.1if your application still depends on SQLx 0.8. - Use
sea-query-sqlx 0.9.0with SQLx 0.9. - Review SQLx feature flags if your application used the old combined runtime/TLS feature names.
- Avoid enabling Jiff SQLx binding with SQLx 0.9 until
jiff-sqlxsupport is available for SQLx 0.9.