Update Rust crate sqlx to 0.8.0
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
sqlx | dependencies | minor |
0.7.4 -> 0.8.0
|
Release Notes
launchbadge/sqlx (sqlx)
v0.8.0
69 pull requests were merged this release cycle.
Breaking
- [#2973]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement [[@nitn3lav]]
- [#2482]: chore: bump syn to 2.0 [[@saiintbrisson]]
- Deprecated type ascription syntax in the query macros was removed.
- [#2736]: Fix describe on PostgreSQL views with rules [[@tsing]]
- Potentially breaking: nullability inference changes for Postgres.
- [#2869]: Implement PgHasArrayType for all references [[@tylerhawkes]]
- Conflicts with existing manual implementations.
- [#2940]: fix: Decode and Encode derives (#1031) [[@benluelo]]
- Changes lifetime obligations for field types.
- [#3064]: Sqlite explain graph [[@tyrelr]]
- Potentially breaking: nullability inference changes for SQLite.
- [#3123]: Reorder attrs in sqlx::test macro [[@bobozaur]]
- Potentially breaking: attributes on
#[sqlx::test]
usages are applied in the correct order now.
- Potentially breaking: attributes on
- [#3126]: Make Encode return a result [[@FSMaxB]]
- [#3130]: Add version information for failed cli migration (#3129) [[@FlakM]]
- Breaking changes to
MigrateError
.
- Breaking changes to
- [#3181]: feat: no tx migration [[@cleverjam]]
- (Postgres only) migrations that should not run in a transaction can be flagged by adding
-- no-transaction
to the beginning. - Breaking change: added field to
Migration
- (Postgres only) migrations that should not run in a transaction can be flagged by adding
- [#3184]: [BREAKING} fix(sqlite): always use
i64
as intermediate when decoding [[@abonander]]- integer decoding will now loudly error on overflow instead of silently truncating.
- some usages of the query!() macros might change an i32 to an i64.
- [#3252]: fix
#[derive(sqlx::Type)]
in Postgres [[@abonander]]- Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add
#[sqlx(no_pg_array)]
where conflicts occur. - Type equality for PgTypeInfo is now schema-aware.
- Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add
- [#3329]: fix: correct handling of arrays of custom types in Postgres [[@abonander]]
- Potential breaking change:
PgTypeInfo::with_name()
infers types that start with_
to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior.
- Potential breaking change:
- [#3356]: breaking: fix name collision in
FromRow
, returnError::ColumnDecode
forTryFrom
errors [[@abonander]]- Breaking behavior change: errors with
#[sqlx(try_from = "T")]
now returnError::ColumnDecode
instead ofError::ColumnNotFound
. - Breaking because
#[sqlx(default)]
on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs.- Instead, create a wrapper implementing
From
and apply the default explicitly.
- Instead, create a wrapper implementing
- Breaking behavior change: errors with
- [#3337]: allow rename with rename_all (close #2896) [[@DirectorX]]
- Changes the precedence of
#[sqlx(rename)]
and#[sqlx(rename_all)]
to match the expected behavior (rename
wins).
- Changes the precedence of
- [#3285]: fix: use correct names for sslmode options [[@lily-mosquitoes]]
- Changes the output of
ConnectOptions::to_url_lossy()
to match what parsing expects.
- Changes the output of
Added
- [#2917]: Add Debug impl for PgRow [[@g-bartoszek]]
- [#3113]: feat: new derive feature flag [[@saiintbrisson]]
- [#3154]: feat: add
MySqlTime
, auditmysql::types
for panics [[@abonander]] - [#3188]: feat(cube): support postgres cube [[@jayy-lmao]]
- [#3244]: feat: support
NonZero*
scalar types [[@AlphaKeks]] - [#3260]: feat: Add set_update_hook on SqliteConnection [[@gridbox]]
- [#3291]: feat: support the Postgres Bool type for the Any driver [[@etorreborre]]
- [#3293]: Add LICENSE-* files to crates [[@LecrisUT]]
- [#3303]: add array support for NonZeroI* in postgres [[@JohannesIBK]]
- [#3311]: Add example on how to use Transaction as Executor [[@Lachstec]]
- [#3343]: Add support for PostgreSQL HSTORE data type [[@KobusEllis]]
Changed
- [#2652]: MySQL: Remove collation compatibility check for strings [[@alu]]
- [#2960]: Removed
Send
trait bound from argument binding [[@bobozaur]] - [#2970]: refactor: lift type mappings into driver crates [[@abonander]]
- [#3148]: Bump libsqlite3-sys to v0.28 [[@NfNitLoop]]
- Note: version bumps to
libsqlite3-sys
are not considered breaking changes as per our semver guarantees.
- Note: version bumps to
- [#3265]: perf: box
MySqlConnection
to reduce sizes of futures [[@stepantubanov]] - [#3352]: chore:added a testcase for
sqlx migrate add ...
[[@CommanderStorm]] - [#3340]: ci: Add job to check that sqlx builds with its declared minimum dependencies [[@iamjpotts]]
Fixed
- [#2702]: Constrain cyclic associated types to themselves [[@BadBastion]]
- [#2954]: Fix several inter doc links [[@ralpha]]
- [#3073]: feat(logging): Log slow acquires from connection pool [[@iamjpotts]]
- [#3137]: SqliteConnectOptions::filename() memory fix (#3136) [[@hoxxep]]
- [#3138]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction [[@feikesteenbergen]]
- [#3146]: fix(sqlite): delete unused
ConnectionHandleRaw
type [[@abonander]] - [#3162]: Drop urlencoding dependency [[@paolobarbolini]]
- [#3165]: Bump deps that do not need code changes [[@GnomedDev]]
- [#3167]: fix(ci): use
docker compose
instead ofdocker-compose
[[@abonander]] - [#3172]: fix: Option decoding in any driver [[@pxp9]]
- [#3173]: fix(postgres) : int type conversion while decoding [[@RaghavRox]]
- [#3190]: Update time to 0.3.36 [[@BlackSoulHub]]
- [#3191]: Fix unclean TLS shutdown [[@levkk]]
- [#3194]: Fix leaking connections in fetch_optional (#2647) [[@danjpgriffin]]
- [#3216]: security: bump rustls to 0.21.11 [[@toxeus]]
- [#3230]: fix: sqlite pragma order for auto_vacuum [[@jasonish]]
- [#3233]: fix: get_filename should not consume self [[@jasonish]]
- [#3234]: fix(ci): pin Rust version, ditch unmaintained actions [[@abonander]]
- [#3236]: fix: resolve
path
ownership problems when usingsqlx_macros_unstable
[[@lily-mosquitoes]] - [#3254]: fix: hide
sqlx_postgres::any
[[@Zarathustra2]] - [#3266]: ci: MariaDB - add back 11.4 and add 11.5 [[@grooverdan]]
- [#3267]: ci: syntax fix [[@grooverdan]]
- [#3271]: docs(sqlite): fix typo - unixtime() -> unixepoch() [[@joelkoen]]
- [#3276]: Invert boolean for
migrate
error message. (#3275) [[@nk9]] - [#3279]: fix Clippy errors [[@abonander]]
- [#3288]: fix: sqlite update_hook char types [[@jasonish]]
- [#3297]: Pass the
persistent
query setting when preparing queries with theAny
driver [[@etorreborre]] - [#3298]: Track null arguments in order to provide the appropriate type when converting them. [[@etorreborre]]
- [#3312]: doc: Minor rust docs fixes [[@SrGesus]]
- [#3327]: chore: fixed one usage of
select_input_type!()
being unhygenic [[@CommanderStorm]] - [#3328]: fix(ci): comment not separated from other characters [[@hamirmahal]]
- [#3341]: refactor: Resolve cargo check warnings in postgres examples [[@iamjpotts]]
- [#3346]: fix(postgres): don't panic if
M
orC
Notice fields are not UTF-8 [[@YgorSouza]] - [#3350]: fix:the
json
-feature should activatesqlx-postgres?/json
as well [[@CommanderStorm]] - [#3353]: fix: build script new line at eof [[@Zarthus]]
- (no MR): activate
clock
andstd
features ofworkspace.dependencies.chrono
.
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.