chore(deps): update rust crate sqlx to 0.8.0 #10

Open
renovate-bot wants to merge 1 commit from renovate/sqlx-0.x into master
Collaborator

This PR contains the following updates:

Package Type Update Change
sqlx build-dependencies minor 0.5.13 -> 0.8.0
sqlx dependencies minor 0.5.13 -> 0.8.0

Release Notes

launchbadge/sqlx (sqlx)

v0.8.2

Compare Source

10 pull requests were merged this release cycle.

This release addresses a few regressions that have occurred, and refines SQLx's MSRV policy (see the FAQ).

Added
Changed
Fixed

v0.8.1

Compare Source

16 pull requests were merged this release cycle.

This release contains a fix for RUSTSEC-2024-0363.

Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated:
#​3440 (comment)

MySQL and SQLite do not appear to be exploitable, but upgrading is recommended nonetheless.

Added
  • [#​3421]: correct spelling of MySqlConnectOptions::no_engine_substitution() [[@​kolinfluence]]
    • Deprecates MySqlConnectOptions::no_engine_subsitution() (oops) in favor of the correctly spelled version.
Changed
  • [#​3376]: doc: hide spec_error module [[@​abonander]]
    • This is a helper module for the macros and was not meant to be exposed.
    • It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API.
      Use at your own risk.
  • [#​3382]: feat: bumped to libsqlite3-sys=0.30.1 to support sqlite 3.46 [[@​CommanderStorm]]
  • [#​3385]: chore(examples):Migrated the pg-chat example to ratatui [[@​CommanderStorm]]
  • [#​3399]: Upgrade to rustls 0.23 [[@​djc]]
    • RusTLS now has pluggable cryptography providers: ring (the existing implementation),
      and aws-lc-rs which has optional FIPS certification.
    • The existing features activating RusTLS (runtime-tokio-rustls, runtime-async-std-rustls, tls-rustls)
      enable the ring provider of RusTLS to match the existing behavior so this should not be a breaking change.
    • Switch to the tls-rustls-aws-lc-rs feature to use the aws-lc-rs provider.
      • If using runtime-tokio-rustls or runtime-async-std-rustls,
        this will necessitate switching to the appropriate non-legacy runtime feature:
        runtime-tokio or runtime-async-std
    • See the RusTLS README for more details: https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers
Fixed

v0.8.0

Compare Source

70 pull requests were merged this release cycle.

#​2697 was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation.

Breaking
  • [#​2697]: fix(macros): only enable chrono when time is disabled [[@​saiintbrisson]]
  • [#​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.
  • [#​3126]: Make Encode return a result [[@​FSMaxB]]
  • [#​3130]: Add version information for failed cli migration (#​3129) [[@​FlakM]]
    • Breaking changes to MigrateError.
  • [#​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
  • [#​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.
  • [#​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.
  • [#​3356]: breaking: fix name collision in FromRow, return Error::ColumnDecode for TryFrom errors [[@​abonander]]
    • Breaking behavior change: errors with #[sqlx(try_from = "T")] now return Error::ColumnDecode instead of Error::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.
  • [#​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).
  • [#​3285]: fix: use correct names for sslmode options [[@​lily-mosquitoes]]
    • Changes the output of ConnectOptions::to_url_lossy() to match what parsing expects.
Added
Changed
Fixed

v0.7.4

Compare Source

38 pull requests were merged this release cycle.

This is officially the last release of the 0.7.x release cycle.

As of this release, development of 0.8.0 has begun on main and only high-priority bugfixes may be backported.

Added
  • [#​2891]: feat: expose getters for connect options fields [[@​saiintbrisson]]
  • [#​2902]: feat: add to_url_lossy to connect options [[@​lily-mosquitoes]]
  • [#​2927]: Support query! for cargo-free systems [[@​kshramt]]
  • [#​2997]: doc(FAQ): add entry explaining prepared statements [[@​abonander]]
  • [#​3001]: Update README to clarify MariaDB support [[@​iangilfillan]]
  • [#​3004]: feat(logging): Add numeric elapsed time field elapsed_secs [[@​iamjpotts]]
  • [#​3007]: feat: add raw_sql API [[@​abonander]]
    • This hopefully makes it easier to find how to execute statements which are not supported by the default
      prepared statement interfaces query*() and query!().
    • Improved documentation across the board for the query*() functions.
    • Deprecated: execute_many() and fetch_many() on interfaces that use prepared statements.
      • Multiple SQL statements in one query string were only supported by SQLite because its prepared statement
        interface is the only way to execute SQL. All other database flavors forbid multiple statements in
        one prepared statement string as an extra defense against SQL injection.
      • The new raw_sql API retains this functionality because it explicitly does not use prepared statements.
        Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is
        supported by all current databases. Due to their nature, however, one cannot use bind parameters with them.
      • If this change affects you, an issue is open for discussion: https://github.com/launchbadge/sqlx/issues/3108
  • [#​3011]: Added support to IpAddr with MySQL/MariaDB. [[@​Icerath]]
  • [#​3013]: Add default implementation for PgInterval [[@​pawurb]]
  • [#​3018]: Add default implementation for PgMoney [[@​pawurb]]
  • [#​3026]: Update docs to reflect support for MariaDB data types [[@​iangilfillan]]
  • [#​3037]: feat(mysql): allow to connect with mysql driver without default behavor [[@​darkecho731]]
Changed
Fixed

v0.7.3

38 pull requests were merged this release cycle.

Added
Changed
Fixed

v0.7.2

23 pull requests were merged this release cycle.

Added
Changed
Fixed

v0.7.1

Compare Source

This release mainly addresses issues reported with the 0.7.0 release.

16 pull requests were merged this release cycle.

Added
  • [#​2551]: Introduce build_query_scalar for QueryBuilder [[@​iamquang95]]
  • [#​2605]: Implement Default for QueryBuilder [[@​Xydez]]
  • [#​2616]: feat(sqlx-core): add table function to database error [[@​saiintbrisson]]
  • [#​2619]: feat: allow opt-out of PgHasArrayType with #[derive(sqlx::Type)] [[@​abonander]]
    • TL;DR: if you're getting errors from #[derive(sqlx::Type)] with #[sqlx(transparent)]
      regarding PgHasArrayType not being implemented, add #[sqlx(no_pg_array)] to fix.
Changed
Fixed

v0.7.0

Compare Source

At least 70 pull requests were merged this release cycle! (The exact count is muddied with pull requests for alpha
releases and such.) And we gained 43 new contributors! Thank you to everyone who helped make this release a reality.

Breaking

Many revisions were made to query analysis in the SQLite driver; these are all potentially breaking changes
as they can change the output of sqlx::query!() et al. We'd like to thank [[@​tyrelr]] for their numerous PRs to
this area.

The MSSQL driver has been removed as it was not nearly at the same maturity level as the other drivers.
As previously announced, we have plans to introduce a fully featured replacement as a premium offering,
alongside drivers for other proprietary databases, with the goal to support full-time development on SQLx.

If interested, please email your inquiry to sqlx@launchbadge.com.

The offline mode for the queries has been changed to use a separate file per query!() invocation,
which is intended to reduce the number of conflicts when merging branches in a project that both modified queries.
This means that CLI flag --merged is no longer supported. See [#​2363] for details and make sure that your
sqlx-cli version is in sync with the sqlx version in your project.

The type ascription override syntax for the query macros has been deprecated,
as parse support for it has been removed in syn 2.0, which we'll be upgrading to in the next breaking release.
This can be replaced with type overrides using casting syntax (as).
See [#​2483] for details.

  • [#​1946]: Fix compile time verification performance regression for sqlite [[@​liningpan]]
  • [#​1960]: Fix sqlite update return and order by type inference [[@​tyrelr]]
  • [#​1984]: Sqlite EXPLAIN type inference improvements [[@​rongcuid]]
  • [#​2039]: Break drivers out into separate crates, clean up some technical debt [[@​abonander]]
    • All deprecated items have been removed.
    • The mssql feature and associated database driver has been deleted from the source tree. It will return as part of our planned SQLx Pro offering as a from-scratch rewrite with extra features (such as TLS) and type integrations that were previously missing.
    • The runtime-actix-* features have been deleted. They were previously changed to be aliases of their runtime-tokio-* counterparts for backwards compatibility reasons, but their continued existence is misleading as SQLx has no special knowledge of Actix anymore.
      • To fix, simply replace the runtime-actix-* feature with its runtime-tokio-* equivalent.
    • The git2 feature has been removed. This was a requested integration from a while ago that over time made less and less sense to be part of SQLx itself. We have to be careful with the crates we add to our public API as each one introduces yet another semver hazard. The expected replacement is to make #[derive(sqlx::Type)] useful enough that users can write wrapper types for whatever they want to use without SQLx needing to be specifically aware of it.
    • The Executor impls for Transaction and PoolConnection have been deleted because they cannot exist in the new crate architecture without rewriting the Executor trait entirely.
      • To fix this breakage, simply add a dereference where an impl Executor is expected, as they both dereference to the inner connection type which will still implement it:
        • &mut transaction -> &mut *transaction
        • &mut connection -> &mut *connection
      • These cannot be blanket impls as it triggers an overflow in the compiler due to the lack of lazy normalization, and
        the driver crates cannot provide their own impls due to the orphan rule.
      • We're expecting to do another major refactor of traits to incorporate generic associated types (GAT).
        This will mean another major release of SQLx but ideally most API usage will not need to change significantly, if at all.
    • The fields of Migrator are now #[doc(hidden)] and semver-exempt; they weren't meant to be public.
    • The offline feature has been removed from the sqlx facade crate and is enabled unconditionally as most users are expected to have enabled it anyway and disabling it doesn't seem to appreciably affect compile times.
    • The decimal feature has been renamed to rust_decimal to match the crate it actually provides integrations for.
    • AnyDriver and AnyConnection now require either sqlx::any::install_drivers() or sqlx::any::install_default_drivers() to be called at some point during the process' lifetime before the first connection is made, as the set of possible drivers is now determined at runtime. This was determined to be the least painful way to provide knowledge of database drivers to Any without them being hardcoded.
    • The AnyEncode trait has been removed.
  • [#​2109]: feat: better database errors [[@​saiintbrisson]]
  • [#​2094]: Update libsqlite3-sys to 0.25.1 [[@​penberg]]
    • Alongside this upgrade, we are now considering the linkage to libsqlite3-sys to be semver-exempt,
      and we reserve the right to upgrade it as necessary. If you are using libsqlite3-sys directly or a crate that
      links it such as rusqlite, you should pin the versions of both crates to avoid breakages from cargo update:
[dependencies]
sqlx = { version = "=0.7.0", features = ["sqlite"] }
rusqlite = "=0.29.0"
Added
Changed
Fixed

v0.6.3

Compare Source

This is a hotfix to address the breakage caused by transitive dependencies upgrading to syn = "2".

We set default-features = false for our dependency on syn = "1" to be good crates.io citizens,
but failed to enable the features we actually used, which went undetected because we transitively depended on
syn with the default features enabled through other crates,
and so they were also on for us because features are additive.

When those other dependencies upgraded to syn = "2" it was no longer enabling those features for us,
and so compilation broke for projects that don't also depend on syn = "1", transitively or otherwise.

There is no PR for this fix as there was no longer a dedicated development branch for 0.6,
but discussion can be found in issue #​2418.

As of this release, the 0.7 release is in alpha and so development is no longer occurring against 0.6.
This fix will be forward-ported to 0.7.

v0.6.2

Compare Source

25 pull requests were merged this release cycle.

Added
Changed
Fixed

v0.6.1

Compare Source

33 pull requests were merged this release cycle.

Added
Changed
Fixed

v0.6.0

Compare Source

This release marks the end of the 0.5.x series of releases and contains a number of breaking changes,
mainly to do with backwards-incompatible dependency upgrades.

As we foresee many more of these in the future, we surveyed the community on how to handle this;
the consensus appears to be "just release breaking changes more often."

As such, we expect the 0.6.x release series to be a shorter one.

39 pull requests(!) (not counting "prepare 0.5.12 release", of course) were merged this release cycle.

Breaking
  • [#​1384]: (Postgres) Move server_version_num from trait to inherent impl [[@​AtkinsChang]]
  • [#​1426]: Bump ipnetwork to 0.19 [[@​paolobarbolini]]
  • [#​1455]: Upgrade time to 0.3 [[@​paolobarbolini]]
  • [#​1505]: Upgrade rustls to 0.20 [[@​paolobarbolini]]
    • Fortunately, future upgrades should not be breaking as webpki is no longer exposed in the API.
  • [#​1529]: Upgrade bigdecimal to 0.3 [[@​e00E]]
  • [#​1602]: postgres: use Oid everywhere instead of u32 [[@​paolobarbolini]]
    • This drops the Type, Decode, Encode impls for u32 for Postgres as it was misleading.
      Postgres doesn't support unsigned ints without using an extension. These impls were decoding Postgres OIDs
      as bare u32s without any context (and trying to bind a u32 to a query would produce an OID value in SQL).
      This changes that to use a newtype instead, for clarity.
  • [#​1612]: Make all ConnectOptions types cloneable [[@​05storm26]]
  • [#​1618]: SQLite chrono::DateTime<FixedOffset> timezone fix [[@​05storm26]]
    • DateTime<FixedOffset> will be stored in SQLite with the correct timezone instead of always in UTC.
      This was flagged as a "potentially breaking change" since it changes how dates are sent to SQLite.
  • [#​1733]: Update git2 to 0.14 [[@​joshtriplett]]
  • [#​1734]: Make PgLTree::push() infallible and take PgLTreeLabel directly [[@​sebpuetz]]
  • [#​1785]: Fix Rust type for SQLite REAL [[@​pruthvikar]]
    • Makes the macros always map a REAL column to f64 instead of f32 as SQLite uses only 64-bit floats.
  • [#​1816]: Improve SQLite support for sub-queries and CTEs [[@​tyrelr]]
    • This likely will change the generated code for some invocations sqlx::query!() with SQLite.
  • [#​1821]: Update uuid crate to v1 [[@​paolobarbolini]]
  • [#​1901]: Pool fixes and breaking changes [[@​abonander]]
    • Renamed PoolOptions::connect_timeout to acquire_timeout for clarity.
    • Changed the expected signatures for PoolOptions::after_connect, before_acquire, after_release
    • Changed the signature for Pool::close() slightly
      • Now eagerly starts the pool closing, .awaiting is only necessary if you want to ensure a graceful shutdown.
    • Deleted PoolConnection::release() which was previously deprecated in favor of PoolConnection::detach().
    • Fixed connections getting leaked even when calling .close().
  • [[#​1748]]: Derive PgHasArrayType for #[sqlx(transparent)] types [[@​carols10cents]]
Added
Changed
Fixed

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://github.com/launchbadge/sqlx) | build-dependencies | minor | `0.5.13` -> `0.8.0` | | [sqlx](https://github.com/launchbadge/sqlx) | dependencies | minor | `0.5.13` -> `0.8.0` | --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.2`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#082---2024-09-02) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.8.1...v0.8.2) 10 pull requests were merged this release cycle. This release addresses a few regressions that have occurred, and refines SQLx's MSRV policy (see [the FAQ](FAQ.md)). ##### Added - \[[#&#8203;3447]]: Clarify usage of Json/Jsonb in query macros \[\[[@&#8203;Lachstec](https://github.com/Lachstec)]] ##### Changed - \[[#&#8203;3424]]: Remove deprecated feature-names from `Cargo.toml` files in examples \[\[[@&#8203;carschandler](https://github.com/carschandler)]] ##### Fixed - \[[#&#8203;3403]]: Fix ([#&#8203;3395](https://github.com/launchbadge/sqlx/issues/3395)) sqlx::test macro in 0.8 \[\[[@&#8203;joeydewaal](https://github.com/joeydewaal)]] - \[[#&#8203;3411]]: fix: Use rfc3339 to decode date from text \[\[[@&#8203;pierre-wehbe](https://github.com/pierre-wehbe)]] - \[[#&#8203;3453]]: fix([#&#8203;3445](https://github.com/launchbadge/sqlx/issues/3445)): PgHasArrayType \[\[[@&#8203;joeydewaal](https://github.com/joeydewaal)]] - Fixes `#[sqlx(no_pg_array)]` being forbidden on `#[derive(Type)]` structs. - \[[#&#8203;3454]]: fix: non snake case warning \[\[[@&#8203;joeydewaal](https://github.com/joeydewaal)]] - \[[#&#8203;3459]]: Pgsql cube type compile fail \[\[[@&#8203;kdesjard](https://github.com/kdesjard)]] - \[[#&#8203;3465]]: fix(postgres): max number of binds is 65535, not 32767 (regression) \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3467]]: fix cancellation issues with `PgListener`, `PgStream::recv()` \[\[[@&#8203;abonander](https://github.com/abonander)]] - Fixes cryptic `unknown message: "\\0"` error - \[[#&#8203;3474]]: Fix try_get example in README.md \[\[[@&#8203;luveti](https://github.com/luveti)]] [#&#8203;3403]: https://github.com/launchbadge/sqlx/pull/3403 [#&#8203;3411]: https://github.com/launchbadge/sqlx/pull/3411 [#&#8203;3424]: https://github.com/launchbadge/sqlx/pull/3424 [#&#8203;3447]: https://github.com/launchbadge/sqlx/pull/3447 [#&#8203;3453]: https://github.com/launchbadge/sqlx/pull/3453 [#&#8203;3454]: https://github.com/launchbadge/sqlx/pull/3454 [#&#8203;3455]: https://github.com/launchbadge/sqlx/pull/3455 [#&#8203;3459]: https://github.com/launchbadge/sqlx/pull/3459 [#&#8203;3465]: https://github.com/launchbadge/sqlx/pull/3465 [#&#8203;3467]: https://github.com/launchbadge/sqlx/pull/3467 [#&#8203;3474]: https://github.com/launchbadge/sqlx/pull/3474 ### [`v0.8.1`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://github.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://github.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://github.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://github.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://github.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://github.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://github.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://github.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://github.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://github.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://github.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://github.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://github.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://github.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://github.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://github.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://github.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://github.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://github.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://github.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://github.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://github.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://github.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://github.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://github.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://github.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://github.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://github.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://github.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://github.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://github.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://github.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://github.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://github.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://github.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://github.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://github.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://github.com/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` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://github.com/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. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://github.com/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. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://github.com/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. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://github.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::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. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://github.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://github.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://github.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://github.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://github.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://github.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://github.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://github.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://github.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://github.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://github.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://github.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://github.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://github.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://github.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://github.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://github.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://github.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://github.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://github.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://github.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://github.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://github.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://github.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://github.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://github.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://github.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://github.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://github.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://github.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://github.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://github.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://github.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://github.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://github.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://github.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://github.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://github.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://github.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://github.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://github.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://github.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://github.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://github.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://github.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://github.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://github.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://github.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://github.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://github.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://github.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://github.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://github.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://github.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://github.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://github.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://github.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://github.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://github.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://github.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://github.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://github.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://github.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://github.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://github.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://github.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://github.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://github.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://github.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://github.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://github.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://github.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://github.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://github.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://github.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://github.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://github.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://github.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://github.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://github.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://github.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://github.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://github.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://github.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://github.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://github.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://github.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://github.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://github.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://github.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://github.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://github.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://github.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://github.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://github.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://github.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://github.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://github.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://github.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://github.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://github.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://github.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://github.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://github.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://github.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://github.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://github.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://github.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://github.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://github.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://github.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://github.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://github.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://github.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://github.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://github.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://github.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://github.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://github.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: https://github.com/launchbadge/sqlx/issues/3108 - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://github.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://github.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://github.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://github.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://github.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://github.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://github.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://github.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://github.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://github.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://github.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://github.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://github.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://github.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://github.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://github.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://github.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://github.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://github.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://github.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://github.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://github.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://github.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://github.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://github.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://github.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://github.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://github.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://github.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://github.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://github.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://github.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://github.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://github.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://github.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://github.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://github.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://github.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://github.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://github.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://github.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://github.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://github.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://github.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://github.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://github.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://github.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://github.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://github.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://github.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://github.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://github.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://github.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://github.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://github.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://github.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://github.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://github.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://github.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://github.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://github.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://github.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://github.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://github.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://github.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://github.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://github.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://github.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://github.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://github.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://github.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://github.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://github.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://github.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://github.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://github.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://github.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://github.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://github.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://github.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://github.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://github.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://github.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://github.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://github.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://github.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://github.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://github.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://github.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://github.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://github.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://github.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://github.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]] [#&#8203;2478]: https://github.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://github.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://github.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://github.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://github.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://github.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://github.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://github.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://github.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://github.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://github.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://github.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://github.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://github.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://github.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://github.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://github.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://github.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://github.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://github.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://github.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://github.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://github.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://github.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://github.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://github.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://github.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://github.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://github.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://github.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://github.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://github.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://github.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://github.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://github.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://github.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://github.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://github.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://github.com/launchbadge/sqlx/pull/2894 ### [`v0.7.2`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#072---2023-09-25) 23 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2121]]: Add JSON support to `FromRow` derive \[\[[@&#8203;95ulisse](https://github.com/95ulisse)]] - \[[#&#8203;2533]]: Implement mysql_clear_password \[\[[@&#8203;ldanilek](https://github.com/ldanilek)]] - \[[#&#8203;2538]]: cli: add --target-version CLI flags for migrate run/revert \[\[[@&#8203;inahga](https://github.com/inahga)]] - \[[#&#8203;2577]]: supplement Postgres listen example with a small chat example \[\[[@&#8203;JockeM](https://github.com/JockeM)]] - \[[#&#8203;2602]]: Support naming migrations sequentially \[\[[@&#8203;vmax](https://github.com/vmax)]] - \[[#&#8203;2634]]: Adding PgHasArrayType for &\[u8;N] \[\[[@&#8203;snf](https://github.com/snf)]] - \[[#&#8203;2646]]: Support for setting client certificate and key from bytes \[\[[@&#8203;wyhaya](https://github.com/wyhaya)]] - \[[#&#8203;2664]]: Automatically infer migration type \[\[[@&#8203;vmax](https://github.com/vmax)]] - \[[#&#8203;2712]]: Add impl for `Type`, `Decode`, and `Encode` for `Box<str>` and `Box<[u8]>` \[\[[@&#8203;grant0417](https://github.com/grant0417)]] ##### Changed - \[[#&#8203;2650]]: Cleanup format arguments \[\[[@&#8203;nyurik](https://github.com/nyurik)]] - \[[#&#8203;2695]]: remove \&mut PoolConnection from Executor docs \[\[[@&#8203;olback](https://github.com/olback)]] - This impl was removed in 0.7.0 because of coherence issues. - \[[#&#8203;2706]]: Clarify where optional features should be enabled \[\[[@&#8203;kryptan](https://github.com/kryptan)]] - \[[#&#8203;2717]]: Update README.md \[\[[@&#8203;fermanjj](https://github.com/fermanjj)]] - \[[#&#8203;2739]]: Bump mariadb CI images + mysql unpin \[\[[@&#8203;grooverdan](https://github.com/grooverdan)]] - \[[#&#8203;2742]]: Implemented poll_flush for Box\<S:Socket> \[\[[@&#8203;bobozaur](https://github.com/bobozaur)]] - \[[#&#8203;2740]]: Remove sealed trait comments from documentation \[\[[@&#8203;bobozaur](https://github.com/bobozaur)]] - \[[#&#8203;2750]]: Fix [#&#8203;2384](https://github.com/launchbadge/sqlx/issues/2384), bump flume to v0.11.0 \[\[[@&#8203;madadam](https://github.com/madadam)]] - \[[#&#8203;2757]]: Remove unused `remove_dir_all` crate from `sqlx-cli`, fixes RUSTSEC-2023-0018 \[\[[@&#8203;aldur](https://github.com/aldur)]] ##### Fixed - \[[#&#8203;2624]]: Documentation typo: BYTE -> BINARY \[\[[@&#8203;sebastianv89](https://github.com/sebastianv89)]] - \[[#&#8203;2628]]: docs: 0.7 is stable in the entire README \[\[[@&#8203;marcusirgens](https://github.com/marcusirgens)]] - \[[#&#8203;2630]]: fix(postgres): fix buffer management in PgCopyIn::read_from \[\[[@&#8203;tsing](https://github.com/tsing)]] - \[[#&#8203;2651]]: Chore: Fix few build warnings, and make CI fail on warn \[\[[@&#8203;nyurik](https://github.com/nyurik)]] - \[[#&#8203;2670]]: fix: ignore extra fields in Postgres describe parsing \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2687]]: docs: Fix description of `min_connections` \[\[[@&#8203;hakoerber](https://github.com/hakoerber)]] [#&#8203;2121]: https://github.com/launchbadge/sqlx/pull/2121 [#&#8203;2533]: https://github.com/launchbadge/sqlx/pull/2533 [#&#8203;2538]: https://github.com/launchbadge/sqlx/pull/2538 [#&#8203;2577]: https://github.com/launchbadge/sqlx/pull/2577 [#&#8203;2602]: https://github.com/launchbadge/sqlx/pull/2602 [#&#8203;2624]: https://github.com/launchbadge/sqlx/pull/2624 [#&#8203;2628]: https://github.com/launchbadge/sqlx/pull/2628 [#&#8203;2630]: https://github.com/launchbadge/sqlx/pull/2630 [#&#8203;2634]: https://github.com/launchbadge/sqlx/pull/2634 [#&#8203;2646]: https://github.com/launchbadge/sqlx/pull/2646 [#&#8203;2650]: https://github.com/launchbadge/sqlx/pull/2650 [#&#8203;2651]: https://github.com/launchbadge/sqlx/pull/2651 [#&#8203;2664]: https://github.com/launchbadge/sqlx/pull/2664 [#&#8203;2670]: https://github.com/launchbadge/sqlx/pull/2670 [#&#8203;2687]: https://github.com/launchbadge/sqlx/pull/2687 [#&#8203;2695]: https://github.com/launchbadge/sqlx/pull/2695 [#&#8203;2706]: https://github.com/launchbadge/sqlx/pull/2706 [#&#8203;2712]: https://github.com/launchbadge/sqlx/pull/2712 [#&#8203;2717]: https://github.com/launchbadge/sqlx/pull/2717 [#&#8203;2739]: https://github.com/launchbadge/sqlx/pull/2739 [#&#8203;2740]: https://github.com/launchbadge/sqlx/pull/2740 [#&#8203;2742]: https://github.com/launchbadge/sqlx/pull/2742 [#&#8203;2750]: https://github.com/launchbadge/sqlx/pull/2750 [#&#8203;2757]: https://github.com/launchbadge/sqlx/pull/2757 ### [`v0.7.1`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#071---2023-07-14) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.7.0...v0.7.1) This release mainly addresses issues reported with the 0.7.0 release. 16 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2551]]: Introduce build_query_scalar for QueryBuilder \[\[[@&#8203;iamquang95](https://github.com/iamquang95)]] - \[[#&#8203;2605]]: Implement Default for QueryBuilder \[\[[@&#8203;Xydez](https://github.com/Xydez)]] - \[[#&#8203;2616]]: feat(sqlx-core): add table function to database error \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - \[[#&#8203;2619]]: feat: allow opt-out of `PgHasArrayType` with `#[derive(sqlx::Type)]` \[\[[@&#8203;abonander](https://github.com/abonander)]] - TL;DR: if you're getting errors from `#[derive(sqlx::Type)]` with `#[sqlx(transparent)]` regarding `PgHasArrayType` not being implemented, add `#[sqlx(no_pg_array)]` to fix. ##### Changed - \[[#&#8203;2566]]: improve docs about migration files \[\[[@&#8203;jnnnnn](https://github.com/jnnnnn)]] - \[[#&#8203;2576]]: Major Version Update clap to 4.0 \[\[[@&#8203;titaniumtraveler](https://github.com/titaniumtraveler)]] - \[[#&#8203;2597]]: Bump webpki-roots to v0.24 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;2603]]: docs(changelog): be more verbose about offline mode breaking change \[\[[@&#8203;mrl5](https://github.com/mrl5)]] ##### Fixed - \[[#&#8203;2553]]: Implement `Clone` for `PoolOptions` manually ([#&#8203;2548](https://github.com/launchbadge/sqlx/issues/2548)) \[\[[@&#8203;alilleybrinker](https://github.com/alilleybrinker)]] - \[[#&#8203;2580]]: Update README.md now that 0.7.0 is no longer in alpha \[\[[@&#8203;saolof](https://github.com/saolof)]] - \[[#&#8203;2585]]: Fix for Issue [#&#8203;2549](https://github.com/launchbadge/sqlx/issues/2549) - cannot use feature "rust_decimal" without also using "bigdecimal" \[\[[@&#8203;deneut](https://github.com/deneut)]] - \[[#&#8203;2586]]: Fix optional dependency on sqlx-macros \[\[[@&#8203;kitterion](https://github.com/kitterion)]] - \[[#&#8203;2593]]: Correct mention of the `tls-native-tls` in the documentation. \[\[[@&#8203;denschub](https://github.com/denschub)]] - \[[#&#8203;2599]]: Remove incorrect CAST in test database cleanup for MySQL. \[\[[@&#8203;fd](https://github.com/fd)]] - \[[#&#8203;2613]]: Fix readme.md to reduce confusion about optional features (decimal->rust_decimal) \[\[[@&#8203;vabka](https://github.com/vabka)]] - \[[#&#8203;2620]]: fix(sqlite/any): encode bool as integer \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] [#&#8203;2551]: https://github.com/launchbadge/sqlx/pull/2551 [#&#8203;2553]: https://github.com/launchbadge/sqlx/pull/2553 [#&#8203;2566]: https://github.com/launchbadge/sqlx/pull/2566 [#&#8203;2576]: https://github.com/launchbadge/sqlx/pull/2576 [#&#8203;2580]: https://github.com/launchbadge/sqlx/pull/2580 [#&#8203;2585]: https://github.com/launchbadge/sqlx/pull/2585 [#&#8203;2586]: https://github.com/launchbadge/sqlx/pull/2586 [#&#8203;2593]: https://github.com/launchbadge/sqlx/pull/2593 [#&#8203;2597]: https://github.com/launchbadge/sqlx/pull/2597 [#&#8203;2599]: https://github.com/launchbadge/sqlx/pull/2599 [#&#8203;2603]: https://github.com/launchbadge/sqlx/pull/2603 [#&#8203;2605]: https://github.com/launchbadge/sqlx/pull/2605 [#&#8203;2613]: https://github.com/launchbadge/sqlx/pull/2613 [#&#8203;2616]: https://github.com/launchbadge/sqlx/pull/2616 [#&#8203;2619]: https://github.com/launchbadge/sqlx/pull/2619 [#&#8203;2620]: https://github.com/launchbadge/sqlx/pull/2620 ### [`v0.7.0`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#070---2023-06-30) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.6.3...v0.7.0) At least **70 pull requests** were merged this release cycle! (The exact count is muddied with pull requests for alpha releases and such.) And we gained 43 new contributors! Thank you to everyone who helped make this release a reality. ##### Breaking Many revisions were made to query analysis in the SQLite driver; these are all potentially breaking changes as they can change the output of `sqlx::query!()` *et al*. We'd like to thank \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] for their numerous PRs to this area. The MSSQL driver has been removed as it was not nearly at the same maturity level as the other drivers. [As previously announced][sqlx-pro], we have plans to introduce a fully featured replacement as a premium offering, alongside drivers for other proprietary databases, with the goal to support full-time development on SQLx. If interested, please email your inquiry to sqlx@launchbadge.com. The offline mode for the queries has been changed to use a separate file per `query!()` invocation, which is intended to reduce the number of conflicts when merging branches in a project that both modified queries. This means that CLI flag `--merged` is no longer supported. See \[[#&#8203;2363]] for details and make sure that your `sqlx-cli` version is in sync with the `sqlx` version in your project. The type ascription override syntax for the query macros has been deprecated, as parse support for it has been removed in `syn 2.0`, which we'll be upgrading to in the next breaking release. This can be replaced with type overrides using casting syntax (`as`). See \[[#&#8203;2483]] for details. - \[[#&#8203;1946]]: Fix compile time verification performance regression for sqlite \[\[[@&#8203;liningpan](https://github.com/liningpan)]] - \[[#&#8203;1960]]: Fix sqlite update return and order by type inference \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] - \[[#&#8203;1984]]: Sqlite EXPLAIN type inference improvements \[\[[@&#8203;rongcuid](https://github.com/rongcuid)]] - \[[#&#8203;2039]]: Break drivers out into separate crates, clean up some technical debt \[\[[@&#8203;abonander](https://github.com/abonander)]] - All deprecated items have been removed. - The `mssql` feature and associated database driver has been deleted from the source tree. It will return as part of our planned SQLx Pro offering as a from-scratch rewrite with extra features (such as TLS) and type integrations that were previously missing. - The `runtime-actix-*` features have been deleted. They were previously changed to be aliases of their `runtime-tokio-*` counterparts for backwards compatibility reasons, but their continued existence is misleading as SQLx has no special knowledge of Actix anymore. - To fix, simply replace the `runtime-actix-*` feature with its `runtime-tokio-*` equivalent. - The `git2` feature has been removed. This was a requested integration from a while ago that over time made less and less sense to be part of SQLx itself. We have to be careful with the crates we add to our public API as each one introduces yet another semver hazard. The expected replacement is to make `#[derive(sqlx::Type)]` useful enough that users can write wrapper types for whatever they want to use without SQLx needing to be specifically aware of it. - The `Executor` impls for `Transaction` and `PoolConnection` have been deleted because they cannot exist in the new crate architecture without rewriting the `Executor` trait entirely. - To fix this breakage, simply add a dereference where an `impl Executor` is expected, as they both dereference to the inner connection type which will still implement it: - `&mut transaction` -> `&mut *transaction` - `&mut connection` -> `&mut *connection` - These cannot be blanket impls as it triggers an overflow in the compiler due to the lack of lazy normalization, and the driver crates cannot provide their own impls due to the orphan rule. - We're expecting to do another major refactor of traits to incorporate generic associated types (GAT). This will mean another major release of SQLx but ideally most API usage will not need to change significantly, if at all. - The fields of `Migrator` are now `#[doc(hidden)]` and semver-exempt; they weren't meant to be public. - The `offline` feature has been removed from the `sqlx` facade crate and is enabled unconditionally as most users are expected to have enabled it anyway and disabling it doesn't seem to appreciably affect compile times. - The `decimal` feature has been renamed to `rust_decimal` to match the crate it actually provides integrations for. - `AnyDriver` and `AnyConnection` now require either `sqlx::any::install_drivers()` or `sqlx::any::install_default_drivers()` to be called at some point during the process' lifetime before the first connection is made, as the set of possible drivers is now determined at runtime. This was determined to be the least painful way to provide knowledge of database drivers to `Any` without them being hardcoded. - The `AnyEncode` trait has been removed. - \[[#&#8203;2109]]: feat: better database errors \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - \[[#&#8203;2094]]: Update libsqlite3-sys to 0.25.1 \[\[[@&#8203;penberg](https://github.com/penberg)]] - Alongside this upgrade, we are now considering the linkage to `libsqlite3-sys` to be **semver-exempt**, and we reserve the right to upgrade it as necessary. If you are using `libsqlite3-sys` directly or a crate that links it such as `rusqlite`, you should pin the versions of both crates to avoid breakages from `cargo update`: ```toml [dependencies] sqlx = { version = "=0.7.0", features = ["sqlite"] } rusqlite = "=0.29.0" ``` - \[[#&#8203;2132]]: fix: use owned Builder pattern for ConnectOptions \[\[[@&#8203;ar3s3ru](https://github.com/ar3s3ru)]] - \[[#&#8203;2253]]: Sqlite describe fixes \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] - \[[#&#8203;2285]]: `time`: Assume UTC when decoding a DATETIME column in sqlite \[\[[@&#8203;nstinus](https://github.com/nstinus)]] - \[[#&#8203;2363]]: \[offline] Change prepare to one-file-per-query \[\[[@&#8203;cycraig](https://github.com/cycraig)]] - \[[#&#8203;2387]]: PATCH: bump libsqlite3-sys to patched version \[\[[@&#8203;grantkee](https://github.com/grantkee)]] - \[[#&#8203;2409]]: fix([#&#8203;2407](https://github.com/launchbadge/sqlx/issues/2407)): respect the HaltIfNull opcode when determining nullability \[\[[@&#8203;arlyon](https://github.com/arlyon)]] - \[[#&#8203;2459]]: limit the number of instructions that can be evaluated \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] - \[[#&#8203;2467]]: Add and improve sqlite describe performance benchmarks \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] - \[[#&#8203;2491]]: sqlite date macro support \[\[[@&#8203;Arcayr](https://github.com/Arcayr)]] - Changes `OffsetDateTime` to be the first type used when deserializing a `timestamp` type. - \[[#&#8203;2496]]: Bump to libsqlite3-sys 0.26 \[\[[@&#8203;mdecimus](https://github.com/mdecimus)]] - \[[#&#8203;2508]]: Sqlite analytical \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] ##### Added - \[[#&#8203;1850]]: Add client SSL authentication using key-file for Postgres, MySQL and MariaDB \[\[[@&#8203;ThibsG](https://github.com/ThibsG)]] - \[[#&#8203;2088]]: feat: Add set_connect_options method to Pool \[\[[@&#8203;moatra](https://github.com/moatra)]] - \[[#&#8203;2113]]: Expose PoolOptions for reading \[\[[@&#8203;FSMaxB](https://github.com/FSMaxB)]] - \[[#&#8203;2115]]: Allow using complex types in `try_from` when deriving `FromRow` \[\[[@&#8203;95ulisse](https://github.com/95ulisse)]] - \[[#&#8203;2116]]: \[SQLite] Add option to execute `PRAGMA optimize;` on close of a connection \[\[[@&#8203;miles170](https://github.com/miles170)]] - \[[#&#8203;2189]]: Added regexp support in sqlite \[\[[@&#8203;VictorKoenders](https://github.com/VictorKoenders)]] - \[[#&#8203;2224]]: Add From impls for Json \[\[[@&#8203;dbeckwith](https://github.com/dbeckwith)]] - \[[#&#8203;2256]]: add progress handler support to sqlite \[\[[@&#8203;nbaztec](https://github.com/nbaztec)]] - \[[#&#8203;2366]]: Allow ignoring attributes for deriving FromRow \[\[[@&#8203;grgi](https://github.com/grgi)]] - \[[#&#8203;2369]]: new type support in query_as \[\[[@&#8203;0xdeafbeef](https://github.com/0xdeafbeef)]] - \[[#&#8203;2379]]: feat: add `Connection::shrink_buffers`, `PoolConnection::close` \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2400]]: fix(docs): example of `sqlx_macros_unstable` in config.toml \[\[[@&#8203;df51d](https://github.com/df51d)]] - \[[#&#8203;2469]]: Add Simple format for Uuid for MySQL & SQLite. \[\[[@&#8203;MidasLamb](https://github.com/MidasLamb)]] - \[[#&#8203;2483]]: chore: add deprecation notice for type ascription use \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - \[[#&#8203;2506]]: add args to query builder ([#&#8203;2494](https://github.com/launchbadge/sqlx/issues/2494)) \[\[[@&#8203;cemoktra](https://github.com/cemoktra)]] - \[[#&#8203;2554]]: Impl `AsMut` for advisory lock types ([#&#8203;2520](https://github.com/launchbadge/sqlx/issues/2520)) \[\[[@&#8203;alilleybrinker](https://github.com/alilleybrinker)]] - \[[#&#8203;2559]]: Add CLI autocompletion using clap_complete \[\[[@&#8203;titaniumtraveler](https://github.com/titaniumtraveler)]] ##### Changed - \[[#&#8203;2185]]: Initial work to switch to `tracing` \[\[[@&#8203;CosmicHorrorDev](https://github.com/CosmicHorrorDev)]] - \[[#&#8203;2193]]: Start testing on Postgres 15 and drop Postgres 10 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - We reserve the right to drop support for end-of-lifed database versions [as discussed in our FAQ][faq-db-version]. - \[[#&#8203;2213]]: Use `let else` statements in favor of macro \[\[[@&#8203;OverHash](https://github.com/OverHash)]] - \[[#&#8203;2365]]: Update dependencies \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;2371]]: Disable rustls crate logging feature by default up to date \[\[[@&#8203;sergeiivankov](https://github.com/sergeiivankov)]] - \[[#&#8203;2373]]: chore: Use tracing's fields to get structured logs \[\[[@&#8203;jaysonsantos](https://github.com/jaysonsantos)]] - \[[#&#8203;2393]]: Lower default logging level for statements to Debug \[\[[@&#8203;bnoctis](https://github.com/bnoctis)]] - \[[#&#8203;2445]]: Traverse symlinks when resolving migrations \[\[[@&#8203;tgeoghegan](https://github.com/tgeoghegan)]] - \[[#&#8203;2485]]: chore(sqlx-postgres): replace `dirs` with `home` & `etcetera` \[\[[@&#8203;utkarshgupta137](https://github.com/utkarshgupta137)]] - \[[#&#8203;2515]]: Bump mac_address to 1.1.5 \[\[[@&#8203;repnop](https://github.com/repnop)]] - \[[#&#8203;2440]]: Update rustls to 0.21, webpki-roots to 0.23 \[\[[@&#8203;SergioBenitez](https://github.com/SergioBenitez)]] - \[[#&#8203;2563]]: Update rsa to 0.9 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;2564]]: Update bitflags to v2 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;2565]]: Bump indexmap and ahash \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;2574]]: doc: make it clear that `ConnectOptions` types impl `FromStr` \[\[[@&#8203;abonander](https://github.com/abonander)]] ##### Fixed - \[[#&#8203;2098]]: Fix sqlite compilation \[\[[@&#8203;cycraig](https://github.com/cycraig)]] - \[[#&#8203;2120]]: fix logical merge conflict \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] - \[[#&#8203;2133]]: Postgres OID resolution query does not take into account current `search_path` \[\[[@&#8203;95ulisse](https://github.com/95ulisse)]] - \[[#&#8203;2156]]: Fixed typo. \[\[[@&#8203;cdbfoster](https://github.com/cdbfoster)]] - \[[#&#8203;2179]]: fix: ensures recover from fail with PgCopyIn \[\[[@&#8203;andyquinterom](https://github.com/andyquinterom)]] - \[[#&#8203;2200]]: Run CI on \*-dev branch \[\[[@&#8203;joehillen](https://github.com/joehillen)]] - \[[#&#8203;2222]]: Add context to confusing sqlx prepare parse error \[\[[@&#8203;laundmo](https://github.com/laundmo)]] - \[[#&#8203;2271]]: feat: support calling Postgres procedures with the macros \[\[[@&#8203;bgeron](https://github.com/bgeron)]] - \[[#&#8203;2282]]: Don't run EXPLAIN nullability analysis on Materialize \[\[[@&#8203;benesch](https://github.com/benesch)]] - \[[#&#8203;2319]]: Set whoami default-features to false \[\[[@&#8203;thedodd](https://github.com/thedodd)]] - \[[#&#8203;2352]]: Preparing 0.7.0-alpha.1 release \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2355]]: Fixed the example code for `sqlx::test` \[\[[@&#8203;kenkoooo](https://github.com/kenkoooo)]] - \[[#&#8203;2367]]: Fix sqlx-cli create, drop, migrate \[\[[@&#8203;cycraig](https://github.com/cycraig)]] - \[[#&#8203;2376]]: fix(pool): close when last handle is dropped, extra check in `try_acquire` \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2378]]: Fix README build badge \[\[[@&#8203;dbrgn](https://github.com/dbrgn)]] - \[[#&#8203;2398]]: fix(prepare): store temporary query files inside the workspace \[\[[@&#8203;aschey](https://github.com/aschey)]] - \[[#&#8203;2402]]: fix: drop old time 0.1.44 dep \[\[[@&#8203;codahale](https://github.com/codahale)]] - \[[#&#8203;2413]]: fix(macros-core): use of undeclared `tracked_path` \[\[[@&#8203;df51d](https://github.com/df51d)]] - \[[#&#8203;2420]]: Enable runtime-tokio feature of sqlx when building sqlx-cli \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;2453]]: in README.md, correct spelling and grammar \[\[[@&#8203;vizvasrj](https://github.com/vizvasrj)]] - \[[#&#8203;2454]]: fix: ensure fresh test db's aren't accidentally deleted by do_cleanup \[\[[@&#8203;phlip9](https://github.com/phlip9)]] - \[[#&#8203;2507]]: Exposing the Oid of PostgreSQL types \[\[[@&#8203;Razican](https://github.com/Razican)]] - \[[#&#8203;2519]]: Use ::std::result::Result::Ok in output.rs \[\[[@&#8203;southball](https://github.com/southball)]] - \[[#&#8203;2569]]: Fix broken links to mysql error documentation \[\[[@&#8203;titaniumtraveler](https://github.com/titaniumtraveler)]] - \[[#&#8203;2570]]: Add a newline to the generated JSON files \[\[[@&#8203;nyurik](https://github.com/nyurik)]] - \[[#&#8203;2572]]: Do not panic when `PrepareOk` fails to decode \[\[[@&#8203;stepantubanov](https://github.com/stepantubanov)]] - \[[#&#8203;2573]]: fix(sqlite) Do not drop notify mutex guard until after condvar is triggered \[\[[@&#8203;andrewwhitehead](https://github.com/andrewwhitehead)]] [sqlx-pro]: https://github.com/launchbadge/sqlx/discussions/1616 [faq-db-version]: https://github.com/launchbadge/sqlx/blob/main/FAQ.md#what-database-versions-does-sqlx-support [#&#8203;1850]: https://github.com/launchbadge/sqlx/pull/1850 [#&#8203;1946]: https://github.com/launchbadge/sqlx/pull/1946 [#&#8203;1960]: https://github.com/launchbadge/sqlx/pull/1960 [#&#8203;1984]: https://github.com/launchbadge/sqlx/pull/1984 [#&#8203;2039]: https://github.com/launchbadge/sqlx/pull/2039 [#&#8203;2088]: https://github.com/launchbadge/sqlx/pull/2088 [#&#8203;2092]: https://github.com/launchbadge/sqlx/pull/2092 [#&#8203;2094]: https://github.com/launchbadge/sqlx/pull/2094 [#&#8203;2098]: https://github.com/launchbadge/sqlx/pull/2098 [#&#8203;2109]: https://github.com/launchbadge/sqlx/pull/2109 [#&#8203;2113]: https://github.com/launchbadge/sqlx/pull/2113 [#&#8203;2115]: https://github.com/launchbadge/sqlx/pull/2115 [#&#8203;2116]: https://github.com/launchbadge/sqlx/pull/2116 [#&#8203;2120]: https://github.com/launchbadge/sqlx/pull/2120 [#&#8203;2132]: https://github.com/launchbadge/sqlx/pull/2132 [#&#8203;2133]: https://github.com/launchbadge/sqlx/pull/2133 [#&#8203;2156]: https://github.com/launchbadge/sqlx/pull/2156 [#&#8203;2179]: https://github.com/launchbadge/sqlx/pull/2179 [#&#8203;2185]: https://github.com/launchbadge/sqlx/pull/2185 [#&#8203;2189]: https://github.com/launchbadge/sqlx/pull/2189 [#&#8203;2193]: https://github.com/launchbadge/sqlx/pull/2193 [#&#8203;2200]: https://github.com/launchbadge/sqlx/pull/2200 [#&#8203;2213]: https://github.com/launchbadge/sqlx/pull/2213 [#&#8203;2222]: https://github.com/launchbadge/sqlx/pull/2222 [#&#8203;2224]: https://github.com/launchbadge/sqlx/pull/2224 [#&#8203;2253]: https://github.com/launchbadge/sqlx/pull/2253 [#&#8203;2256]: https://github.com/launchbadge/sqlx/pull/2256 [#&#8203;2271]: https://github.com/launchbadge/sqlx/pull/2271 [#&#8203;2282]: https://github.com/launchbadge/sqlx/pull/2282 [#&#8203;2285]: https://github.com/launchbadge/sqlx/pull/2285 [#&#8203;2319]: https://github.com/launchbadge/sqlx/pull/2319 [#&#8203;2352]: https://github.com/launchbadge/sqlx/pull/2352 [#&#8203;2355]: https://github.com/launchbadge/sqlx/pull/2355 [#&#8203;2363]: https://github.com/launchbadge/sqlx/pull/2363 [#&#8203;2365]: https://github.com/launchbadge/sqlx/pull/2365 [#&#8203;2366]: https://github.com/launchbadge/sqlx/pull/2366 [#&#8203;2367]: https://github.com/launchbadge/sqlx/pull/2367 [#&#8203;2369]: https://github.com/launchbadge/sqlx/pull/2369 [#&#8203;2371]: https://github.com/launchbadge/sqlx/pull/2371 [#&#8203;2373]: https://github.com/launchbadge/sqlx/pull/2373 [#&#8203;2376]: https://github.com/launchbadge/sqlx/pull/2376 [#&#8203;2378]: https://github.com/launchbadge/sqlx/pull/2378 [#&#8203;2379]: https://github.com/launchbadge/sqlx/pull/2379 [#&#8203;2387]: https://github.com/launchbadge/sqlx/pull/2387 [#&#8203;2393]: https://github.com/launchbadge/sqlx/pull/2393 [#&#8203;2398]: https://github.com/launchbadge/sqlx/pull/2398 [#&#8203;2400]: https://github.com/launchbadge/sqlx/pull/2400 [#&#8203;2402]: https://github.com/launchbadge/sqlx/pull/2402 [#&#8203;2408]: https://github.com/launchbadge/sqlx/pull/2408 [#&#8203;2409]: https://github.com/launchbadge/sqlx/pull/2409 [#&#8203;2413]: https://github.com/launchbadge/sqlx/pull/2413 [#&#8203;2420]: https://github.com/launchbadge/sqlx/pull/2420 [#&#8203;2440]: https://github.com/launchbadge/sqlx/pull/2440 [#&#8203;2445]: https://github.com/launchbadge/sqlx/pull/2445 [#&#8203;2453]: https://github.com/launchbadge/sqlx/pull/2453 [#&#8203;2454]: https://github.com/launchbadge/sqlx/pull/2454 [#&#8203;2459]: https://github.com/launchbadge/sqlx/pull/2459 [#&#8203;2467]: https://github.com/launchbadge/sqlx/pull/2467 [#&#8203;2469]: https://github.com/launchbadge/sqlx/pull/2469 [#&#8203;2483]: https://github.com/launchbadge/sqlx/pull/2483 [#&#8203;2485]: https://github.com/launchbadge/sqlx/pull/2485 [#&#8203;2491]: https://github.com/launchbadge/sqlx/pull/2491 [#&#8203;2496]: https://github.com/launchbadge/sqlx/pull/2496 [#&#8203;2506]: https://github.com/launchbadge/sqlx/pull/2506 [#&#8203;2507]: https://github.com/launchbadge/sqlx/pull/2507 [#&#8203;2508]: https://github.com/launchbadge/sqlx/pull/2508 [#&#8203;2515]: https://github.com/launchbadge/sqlx/pull/2515 [#&#8203;2519]: https://github.com/launchbadge/sqlx/pull/2519 [#&#8203;2554]: https://github.com/launchbadge/sqlx/pull/2554 [#&#8203;2559]: https://github.com/launchbadge/sqlx/pull/2559 [#&#8203;2563]: https://github.com/launchbadge/sqlx/pull/2563 [#&#8203;2564]: https://github.com/launchbadge/sqlx/pull/2564 [#&#8203;2565]: https://github.com/launchbadge/sqlx/pull/2565 [#&#8203;2569]: https://github.com/launchbadge/sqlx/pull/2569 [#&#8203;2570]: https://github.com/launchbadge/sqlx/pull/2570 [#&#8203;2572]: https://github.com/launchbadge/sqlx/pull/2572 [#&#8203;2573]: https://github.com/launchbadge/sqlx/pull/2573 [#&#8203;2574]: https://github.com/launchbadge/sqlx/pull/2574 ### [`v0.6.3`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#063---2023-03-21) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.6.2...v0.6.3) This is a hotfix to address the breakage caused by transitive dependencies upgrading to `syn = "2"`. We set `default-features = false` for our dependency on `syn = "1"` to be good crates.io citizens, but failed to enable the features we actually used, which went undetected because we transitively depended on `syn` with the default features enabled through other crates, and so they were also on for us because features are additive. When those other dependencies upgraded to `syn = "2"` it was no longer enabling those features for us, and so compilation broke for projects that don't also depend on `syn = "1"`, transitively or otherwise. There is no PR for this fix as there was no longer a dedicated development branch for `0.6`, but discussion can be found in [issue #&#8203;2418]. As of this release, the `0.7` release is in alpha and so development is no longer occurring against `0.6`. This fix will be forward-ported to `0.7`. [issue #&#8203;2418]: https://github.com/launchbadge/sqlx/issues/2418 ### [`v0.6.2`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#062---2022-09-14) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.6.1...v0.6.2) [25 pull requests][0.6.2-prs] were merged this release cycle. ##### Added - \[[#&#8203;1081]]: Add `try_from` attribute for `FromRow` derive \[\[[@&#8203;zzhengzhuo](https://github.com/zzhengzhuo)]] - Exemplifies "out of sight, out of mind." It's surprisingly easy to forget about PRs when they get pushed onto the second page. We'll be sure to clean out the backlog for 0.7.0. - \[[#&#8203;2014]]: Support additional SQLCipher options in SQLite driver. \[\[[@&#8203;szymek156](https://github.com/szymek156)]] - \[[#&#8203;2052]]: Add issue templates \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2053]]: Add documentation for `IpAddr` support in Postgres \[\[[@&#8203;rakshith-ravi](https://github.com/rakshith-ravi)]] - \[[#&#8203;2062]]: Add extension support for SQLite \[\[[@&#8203;bradfier](https://github.com/bradfier)]] - \[[#&#8203;2063]]: customizable db locking during migration \[\[[@&#8203;fuzzbuck](https://github.com/fuzzbuck)]] ##### Changed - \[[#&#8203;2025]]: Bump sqlformat to 2.0 \[\[[@&#8203;NSMustache](https://github.com/NSMustache)]] - \[[#&#8203;2056]]: chore: Switch to sha1 crate \[\[[@&#8203;stoically](https://github.com/stoically)]] - \[[#&#8203;2071]]: Use cargo check consistently in `prepare` \[\[[@&#8203;cycraig](https://github.com/cycraig)]] ##### Fixed - \[[#&#8203;1991]]: Ensure migration progress is not lost for Postgres, MySQL and SQLite. \[\[[@&#8203;crepererum](https://github.com/crepererum)]] - \[[#&#8203;2023]]: Fix expansion of `#[sqlx(flatten)]` for `FromRow` derive \[\[[@&#8203;RustyYato](https://github.com/RustyYato)]] - \[[#&#8203;2028]]: Use fully qualified path when forwarding to `#[test]` from `#[sqlx::test]` \[\[[@&#8203;alexander-jackson](https://github.com/alexander-jackson)]] - \[[#&#8203;2040]]: Fix typo in `FromRow` docs \[\[[@&#8203;zlidner](https://github.com/zlidner)]] - \[[#&#8203;2046]]: added flag for PIPES_AS_CONCAT connection setting for MySQL to fix [#&#8203;2034](https://github.com/launchbadge/sqlx/issues/2034) \[\[[@&#8203;marcustut](https://github.com/marcustut)]] - \[[#&#8203;2055]]: Use unlock notify also on `sqlite3_exec` \[\[[@&#8203;madadam](https://github.com/madadam)]] - \[[#&#8203;2057]]: Make begin,commit,rollback cancel-safe in sqlite \[\[[@&#8203;madadam](https://github.com/madadam)]] - \[[#&#8203;2058]]: fix typo in documentation \[\[[@&#8203;lovasoa](https://github.com/lovasoa)]] - \[[#&#8203;2067]]: fix(docs): close code block in query_builder.rs \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2069]]: Fix `prepare` race condition in workspaces \[\[[@&#8203;cycraig](https://github.com/cycraig)]]\\ - NOTE: this changes the directory structure under `target/` that `cargo sqlx prepare` depends on. If you use offline mode in your workflow, please rerun `cargo install sqlx-cli` to upgrade. - \[[#&#8203;2072]]: SqliteConnectOptions typo \[\[[@&#8203;fasterthanlime](https://github.com/fasterthanlime)]] - \[[#&#8203;2074]]: fix: mssql uses unsigned for tinyint instead of signed \[\[[@&#8203;he4d](https://github.com/he4d)]] - \[[#&#8203;2081]]: close unnamed portal after each executed extended query \[\[[@&#8203;DXist](https://github.com/DXist)]] - \[[#&#8203;2086]]: PgHasArrayType for transparent types fix. \[\[[@&#8203;Wopple](https://github.com/Wopple)]] - NOTE: this is a breaking change and has been postponed to 0.7.0. - \[[#&#8203;2089]]: fix: Remove default chrono dep on time for sqlx-cli \[\[[@&#8203;TravisWhitehead](https://github.com/TravisWhitehead)]] - \[[#&#8203;2091]]: Sqlite explain plan log efficiency \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] [0.6.2-prs]: https://github.com/launchbadge/sqlx/pulls?q=is%3Apr+is%3Aclosed+merged%3A2022-08-04..2022-09-14+ [#&#8203;1081]: https://github.com/launchbadge/sqlx/pull/1081 [#&#8203;1991]: https://github.com/launchbadge/sqlx/pull/1991 [#&#8203;2014]: https://github.com/launchbadge/sqlx/pull/2014 [#&#8203;2023]: https://github.com/launchbadge/sqlx/pull/2023 [#&#8203;2025]: https://github.com/launchbadge/sqlx/pull/2025 [#&#8203;2028]: https://github.com/launchbadge/sqlx/pull/2028 [#&#8203;2040]: https://github.com/launchbadge/sqlx/pull/2040 [#&#8203;2046]: https://github.com/launchbadge/sqlx/pull/2046 [#&#8203;2052]: https://github.com/launchbadge/sqlx/pull/2052 [#&#8203;2053]: https://github.com/launchbadge/sqlx/pull/2053 [#&#8203;2055]: https://github.com/launchbadge/sqlx/pull/2055 [#&#8203;2056]: https://github.com/launchbadge/sqlx/pull/2056 [#&#8203;2057]: https://github.com/launchbadge/sqlx/pull/2057 [#&#8203;2058]: https://github.com/launchbadge/sqlx/pull/2058 [#&#8203;2062]: https://github.com/launchbadge/sqlx/pull/2062 [#&#8203;2063]: https://github.com/launchbadge/sqlx/pull/2063 [#&#8203;2067]: https://github.com/launchbadge/sqlx/pull/2067 [#&#8203;2069]: https://github.com/launchbadge/sqlx/pull/2069 [#&#8203;2071]: https://github.com/launchbadge/sqlx/pull/2071 [#&#8203;2072]: https://github.com/launchbadge/sqlx/pull/2072 [#&#8203;2074]: https://github.com/launchbadge/sqlx/pull/2074 [#&#8203;2081]: https://github.com/launchbadge/sqlx/pull/2081 [#&#8203;2086]: https://github.com/launchbadge/sqlx/pull/2086 [#&#8203;2089]: https://github.com/launchbadge/sqlx/pull/2089 [#&#8203;2091]: https://github.com/launchbadge/sqlx/pull/2091 ### [`v0.6.1`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#061---2022-08-02) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.6.0...v0.6.1) [33 pull requests][0.6.1-prs] were merged this release cycle. ##### Added - \[[#&#8203;1495]]: Add example for manual implementation of the `FromRow` trait \[\[[@&#8203;Erik1000](https://github.com/Erik1000)]] - \[[#&#8203;1822]]: (Postgres) Add support for `std::net::IpAddr` \[\[[@&#8203;meh](https://github.com/meh)]] - Decoding returns an error if the `INET` value in Postgres is a prefix and not a full address (`/32` for IPv4, `/128` for IPv6). - \[[#&#8203;1865]]: Add SQLite support for the `time` crate \[\[[@&#8203;johnbcodes](https://github.com/johnbcodes)]] - \[[#&#8203;1902]]: Add an example of how to use `QueryBuilder::separated()` \[\[[@&#8203;sbeckeriv](https://github.com/sbeckeriv)]] - \[[#&#8203;1917]]: Added docs for `sqlx::types::Json` \[\[[@&#8203;jayy-lmao](https://github.com/jayy-lmao)]] - \[[#&#8203;1919]]: Implement `Clone` for `PoolOptions` \[\[[@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw)]] - \[[#&#8203;1953]]: Support Rust arrays in Postgres \[\[[@&#8203;e00E](https://github.com/e00E)]] - \[[#&#8203;1954]]: Add `push_tuples` for `QueryBuilder` \[\[[@&#8203;0xdeafbeef](https://github.com/0xdeafbeef)]] - \[[#&#8203;1959]]: Support `#[sqlx(flatten)]` attribute in `FromRow` \[\[[@&#8203;TheoOiry](https://github.com/TheoOiry)]] - \[[#&#8203;1967]]: Add example with external query files \[\[[@&#8203;JoeyMckenzie](https://github.com/JoeyMckenzie)]] - \[[#&#8203;1985]]: Add `query_builder::Separated::push_bind_unseparated()` \[\[[@&#8203;0xdeafbeef](https://github.com/0xdeafbeef)]] - \[[#&#8203;2001]]: Implement `#[sqlx::test]` for general use - Includes automatic database management, migration and fixture application. - Drops support for end-of-lifed database versions, see PR for details. - \[[#&#8203;2005]]: `QueryBuilder` improvements \[\[[@&#8203;abonander](https://github.com/abonander)]] - Raw SQL getters, new method to build `QueryAs` instead of `Query`. - \[[#&#8203;2013]]: (SQLite) Allow VFS to be set as URL query parameter \[\[[@&#8203;liningpan](https://github.com/liningpan)]] ##### Changed - \[[#&#8203;1679]]: refactor: alias actix-\* features to their equivalent tokio-\* features \[\[[@&#8203;robjtede](https://github.com/robjtede)]] - \[[#&#8203;1906]]: replaced all uses of "uri" to "url" \[\[[@&#8203;RomainStorai](https://github.com/RomainStorai)]] - \[[#&#8203;1965]]: SQLite improvements \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;1977]]: Docs: clarify relationship between `query_as!()` and `FromRow` \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2003]]: Replace `dotenv` with `dotenvy` \[\[[@&#8203;abonander](https://github.com/abonander)]] ##### Fixed - \[[#&#8203;1802]]: Try avoiding a full clean in `cargo sqlx prepare --merged` \[\[[@&#8203;LovecraftianHorror](https://github.com/LovecraftianHorror)]] - \[[#&#8203;1848]]: Fix type info access in `Any` database driver \[\[[@&#8203;raviqqe](https://github.com/raviqqe)]] - \[[#&#8203;1910]]: Set `CARGO_TARGET_DIR` when compiling queries \[\[[@&#8203;sedrik](https://github.com/sedrik)]] - \[[#&#8203;1915]]: Pool: fix panic when using callbacks \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;1930]]: Don't cache SQLite connection for macros \[\[[@&#8203;LovecraftianHorror](https://github.com/LovecraftianHorror)]] - \[[#&#8203;1948]]: Fix panic in Postgres `BYTEA` decode \[\[[@&#8203;e00E](https://github.com/e00E)]] - \[[#&#8203;1955]]: Fix typo in FAQ \[\[[@&#8203;kenkoooo](https://github.com/kenkoooo)]] - \[[#&#8203;1968]]: (Postgres) don't panic if `S` or `V` notice fields are not UTF-8 \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;1969]]: Fix sqlx-cli build \[\[[@&#8203;ivan](https://github.com/ivan)]] - \[[#&#8203;1974]]: Use the `rust-cache` action for CI \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;1988]]: Agree on a single default runtime for the whole workspace \[\[[@&#8203;crepererum](https://github.com/crepererum)]] - \[[#&#8203;1989]]: Fix panics in `PgListener` \[\[[@&#8203;crepererum](https://github.com/crepererum)]] - \[[#&#8203;1990]]: Switch `master` to `main` in docs \[\[[@&#8203;crepererum](https://github.com/crepererum)]] - The change had already been made in the repo, the docs were out of date. - \[[#&#8203;1993]]: Update versions in quickstart examples in README \[\[[@&#8203;UramnOIL](https://github.com/UramnOIL)]] [0.6.1-prs]: https://github.com/launchbadge/sqlx/pulls?page=1&q=is%3Apr+is%3Aclosed+merged%3A2022-06-17..2022-08-02 [#&#8203;1906]: https://github.com/launchbadge/sqlx/pull/1906 [#&#8203;1495]: https://github.com/launchbadge/sqlx/pull/1495 [#&#8203;1679]: https://github.com/launchbadge/sqlx/pull/1679 [#&#8203;1802]: https://github.com/launchbadge/sqlx/pull/1802 [#&#8203;1822]: https://github.com/launchbadge/sqlx/pull/1822 [#&#8203;1848]: https://github.com/launchbadge/sqlx/pull/1848 [#&#8203;1865]: https://github.com/launchbadge/sqlx/pull/1865 [#&#8203;1902]: https://github.com/launchbadge/sqlx/pull/1902 [#&#8203;1910]: https://github.com/launchbadge/sqlx/pull/1910 [#&#8203;1915]: https://github.com/launchbadge/sqlx/pull/1915 [#&#8203;1917]: https://github.com/launchbadge/sqlx/pull/1917 [#&#8203;1919]: https://github.com/launchbadge/sqlx/pull/1919 [#&#8203;1930]: https://github.com/launchbadge/sqlx/pull/1930 [#&#8203;1948]: https://github.com/launchbadge/sqlx/pull/1948 [#&#8203;1953]: https://github.com/launchbadge/sqlx/pull/1953 [#&#8203;1954]: https://github.com/launchbadge/sqlx/pull/1954 [#&#8203;1955]: https://github.com/launchbadge/sqlx/pull/1955 [#&#8203;1959]: https://github.com/launchbadge/sqlx/pull/1959 [#&#8203;1965]: https://github.com/launchbadge/sqlx/pull/1965 [#&#8203;1967]: https://github.com/launchbadge/sqlx/pull/1967 [#&#8203;1968]: https://github.com/launchbadge/sqlx/pull/1968 [#&#8203;1969]: https://github.com/launchbadge/sqlx/pull/1969 [#&#8203;1974]: https://github.com/launchbadge/sqlx/pull/1974 [#&#8203;1977]: https://github.com/launchbadge/sqlx/pull/1977 [#&#8203;1985]: https://github.com/launchbadge/sqlx/pull/1985 [#&#8203;1988]: https://github.com/launchbadge/sqlx/pull/1988 [#&#8203;1989]: https://github.com/launchbadge/sqlx/pull/1989 [#&#8203;1990]: https://github.com/launchbadge/sqlx/pull/1990 [#&#8203;1993]: https://github.com/launchbadge/sqlx/pull/1993 [#&#8203;2001]: https://github.com/launchbadge/sqlx/pull/2001 [#&#8203;2003]: https://github.com/launchbadge/sqlx/pull/2003 [#&#8203;2005]: https://github.com/launchbadge/sqlx/pull/2005 [#&#8203;2013]: https://github.com/launchbadge/sqlx/pull/2013 ### [`v0.6.0`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#060---2022-06-16) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.5.13...v0.6.0) This release marks the end of the 0.5.x series of releases and contains a number of breaking changes, mainly to do with backwards-incompatible dependency upgrades. As we foresee many more of these in the future, we [surveyed the community] on how to handle this; the consensus appears to be "just release breaking changes more often." As such, we expect the 0.6.x release series to be a shorter one. [39 pull requests(!)][0.6.0-prs] (not counting "prepare 0.5.12 release", of course) were merged this release cycle. ##### Breaking - \[[#&#8203;1384]]: (Postgres) Move `server_version_num` from trait to inherent impl \[\[[@&#8203;AtkinsChang](https://github.com/AtkinsChang)]] - \[[#&#8203;1426]]: Bump `ipnetwork` to 0.19 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;1455]]: Upgrade `time` to 0.3 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;1505]]: Upgrade `rustls` to 0.20 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - Fortunately, future upgrades should not be breaking as `webpki` is no longer exposed in the API. - \[[#&#8203;1529]]: Upgrade `bigdecimal` to 0.3 \[\[[@&#8203;e00E](https://github.com/e00E)]] - \[[#&#8203;1602]]: postgres: use `Oid` everywhere instead of `u32` \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - This drops the `Type`, `Decode`, `Encode` impls for `u32` for Postgres as it was misleading. Postgres doesn't support unsigned ints without using an extension. These impls were decoding Postgres `OID`s as bare `u32`s without any context (and trying to bind a `u32` to a query would produce an `OID` value in SQL). This changes that to use a newtype instead, for clarity. - \[[#&#8203;1612]]: Make all `ConnectOptions` types cloneable \[\[[@&#8203;05storm26](https://github.com/05storm26)]] - \[[#&#8203;1618]]: SQLite `chrono::DateTime<FixedOffset>` timezone fix \[\[[@&#8203;05storm26](https://github.com/05storm26)]] - `DateTime<FixedOffset>` will be stored in SQLite with the correct timezone instead of always in UTC. This was flagged as a "potentially breaking change" since it changes how dates are sent to SQLite. - \[[#&#8203;1733]]: Update `git2` to 0.14 \[\[[@&#8203;joshtriplett](https://github.com/joshtriplett)]] - \[[#&#8203;1734]]: Make `PgLTree::push()` infallible and take `PgLTreeLabel` directly \[\[[@&#8203;sebpuetz](https://github.com/sebpuetz)]] - \[[#&#8203;1785]]: Fix Rust type for SQLite `REAL` \[\[[@&#8203;pruthvikar](https://github.com/pruthvikar)]] - Makes the macros always map a `REAL` column to `f64` instead of `f32` as SQLite uses **only** 64-bit floats. - \[[#&#8203;1816]]: Improve SQLite support for sub-queries and CTEs \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] - This likely will change the generated code for some invocations `sqlx::query!()` with SQLite. - \[[#&#8203;1821]]: Update `uuid` crate to v1 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;1901]]: Pool fixes and breaking changes \[\[[@&#8203;abonander](https://github.com/abonander)]] - Renamed `PoolOptions::connect_timeout` to `acquire_timeout` for clarity. - Changed the expected signatures for `PoolOptions::after_connect`, `before_acquire`, `after_release` - Changed the signature for `Pool::close()` slightly - Now eagerly starts the pool closing, `.await`ing is only necessary if you want to ensure a graceful shutdown. - Deleted `PoolConnection::release()` which was previously deprecated in favor of `PoolConnection::detach()`. - Fixed connections getting leaked even when calling `.close()`. - \[\[[#&#8203;1748](https://github.com/launchbadge/sqlx/issues/1748)]]: Derive `PgHasArrayType` for `#[sqlx(transparent)]` types \[\[[@&#8203;carols10cents](https://github.com/carols10cents)]] - This change was released with 0.5.12 but [we didn't realize it was a breaking change] at the time.\ It was reverted in 0.5.13 and postponed until this release. ##### Added - \[[#&#8203;1843]]: Expose some useful methods on `PgValueRef` \[\[[@&#8203;mfreeborn](https://github.com/mfreeborn)]] - \[[#&#8203;1889]]: SQLx-CLI: add `--connect-timeout` \[\[[@&#8203;abonander](https://github.com/abonander)]] - Adds a default 10 second connection timeout to all commands. - \[[#&#8203;1890]]: Added test for mssql LoginAck \[\[[@&#8203;walf443](https://github.com/walf443)]] - \[[#&#8203;1891]]: Added test for mssql ProtocolInfo \[\[[@&#8203;walf443](https://github.com/walf443)]] - \[[#&#8203;1892]]: Added test for mssql ReturnValue \[\[[@&#8203;walf443](https://github.com/walf443)]] - \[[#&#8203;1895]]: Add support for `i16` to `Any` driver \[\[[@&#8203;EthanYuan](https://github.com/EthanYuan)]] - \[[#&#8203;1897]]: Expose `ConnectOptions` and `PoolOptions` on `Pool` and database name on `PgConnectOptions` \[\[[@&#8203;Nukesor](https://github.com/Nukesor)]] ##### Changed - \[[#&#8203;1782]]: Reuse a cached DB connection instead of always opening a new one for `sqlx-macros` \[\[[@&#8203;LovecraftianHorror](https://github.com/LovecraftianHorror)]] - \[[#&#8203;1807]]: Bump remaining dependencies \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;1808]]: Update to edition 2021 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - Note that while SQLx [does not officially track an MSRV] and only officially supports the latest stable Rust, this effectively places a lower bound of 1.56.0 on the range of versions it may work with. - \[[#&#8203;1823]]: (sqlx-macros) Ignore deps when getting metadata for workspace root \[\[[@&#8203;LovecraftianHorror](https://github.com/LovecraftianHorror)]] - \[[#&#8203;1831]]: Update `crc` to 3.0 \[\[[@&#8203;djc](https://github.com/djc)]] - \[[#&#8203;1887]]: query_as: don't stop stream after decoding error \[\[[@&#8203;lovasoa](https://github.com/lovasoa)]] ##### Fixed - \[[#&#8203;1814]]: SQLx-cli README: move `Usage` to the same level as `Install` \[\[[@&#8203;tobymurray](https://github.com/tobymurray)]] - \[[#&#8203;1815]]: SQLx-cli README: reword "building in offline mode" \[\[[@&#8203;tobymurray](https://github.com/tobymurray)]] - \[[#&#8203;1818]]: Trim `[]` from host string before passing to TcpStream \[\[[@&#8203;smonv](https://github.com/smonv)]] - This fixes handling of database URLs with IPv6 hosts. - \[[#&#8203;1842]]: Fix usage of `serde_json` in macros \[\[[@&#8203;mfreeborn](https://github.com/mfreeborn)]] - \[[#&#8203;1855]]: Postgres: fix panics on unknown type OID when decoding \[\[[@&#8203;demurgos](https://github.com/demurgos)]] - \[[#&#8203;1856]]: MySQL: support COLLATE_UTF8MB4\_0900\_AI_CI \[\[[@&#8203;scottwey](https://github.com/scottwey)]] - Fixes the MySQL driver thinking text columns are bytestring columns when querying against a Planetscale DB. - \[[#&#8203;1861]]: MySQL: avoid panic when streaming packets are empty \[\[[@&#8203;e-rhodes](https://github.com/e-rhodes)]] - \[[#&#8203;1863]]: Fix nullability check for inner joins in Postgres \[\[[@&#8203;OskarPersson](https://github.com/OskarPersson)]] - \[[#&#8203;1881]]: Fix `field is never read` warnings on Postgres test \[\[[@&#8203;walf443](https://github.com/walf443)]] - \[[#&#8203;1882]]: Fix `unused result must be used` warnings \[\[[@&#8203;walf443](https://github.com/walf443)]] - \[[#&#8203;1888]]: Fix migration checksum comparison during `sqlx migrate info` \[\[[@&#8203;mdtusz](https://github.com/mdtusz)]] - \[[#&#8203;1894]]: Fix typos \[\[[@&#8203;kianmeng](https://github.com/kianmeng)]] [surveyed the community]: https://github.com/launchbadge/sqlx/issues/1796 [0.6.0-prs]: https://github.com/launchbadge/sqlx/pulls?page=2&q=is%3Apr+is%3Amerged+merged%3A2022-04-14..2022-06-16 [does not officially track an MSRV]: /FAQ.md#what-versions-of-rust-does-sqlx-support-what-is-sqlxs-msrv [we didn't realize it was a breaking change]: https://github.com/launchbadge/sqlx/pull/1800#issuecomment-1099898932 [#&#8203;1384]: https://github.com/launchbadge/sqlx/pull/1384 [#&#8203;1426]: https://github.com/launchbadge/sqlx/pull/1426 [#&#8203;1455]: https://github.com/launchbadge/sqlx/pull/1455 [#&#8203;1505]: https://github.com/launchbadge/sqlx/pull/1505 [#&#8203;1529]: https://github.com/launchbadge/sqlx/pull/1529 [#&#8203;1602]: https://github.com/launchbadge/sqlx/pull/1602 [#&#8203;1612]: https://github.com/launchbadge/sqlx/pull/1612 [#&#8203;1618]: https://github.com/launchbadge/sqlx/pull/1618 [#&#8203;1733]: https://github.com/launchbadge/sqlx/pull/1733 [#&#8203;1734]: https://github.com/launchbadge/sqlx/pull/1734 [#&#8203;1782]: https://github.com/launchbadge/sqlx/pull/1782 [#&#8203;1785]: https://github.com/launchbadge/sqlx/pull/1785 [#&#8203;1807]: https://github.com/launchbadge/sqlx/pull/1807 [#&#8203;1808]: https://github.com/launchbadge/sqlx/pull/1808 [#&#8203;1814]: https://github.com/launchbadge/sqlx/pull/1814 [#&#8203;1815]: https://github.com/launchbadge/sqlx/pull/1815 [#&#8203;1816]: https://github.com/launchbadge/sqlx/pull/1816 [#&#8203;1818]: https://github.com/launchbadge/sqlx/pull/1818 [#&#8203;1821]: https://github.com/launchbadge/sqlx/pull/1821 [#&#8203;1823]: https://github.com/launchbadge/sqlx/pull/1823 [#&#8203;1831]: https://github.com/launchbadge/sqlx/pull/1831 [#&#8203;1842]: https://github.com/launchbadge/sqlx/pull/1842 [#&#8203;1843]: https://github.com/launchbadge/sqlx/pull/1843 [#&#8203;1855]: https://github.com/launchbadge/sqlx/pull/1855 [#&#8203;1856]: https://github.com/launchbadge/sqlx/pull/1856 [#&#8203;1861]: https://github.com/launchbadge/sqlx/pull/1861 [#&#8203;1863]: https://github.com/launchbadge/sqlx/pull/1863 [#&#8203;1881]: https://github.com/launchbadge/sqlx/pull/1881 [#&#8203;1882]: https://github.com/launchbadge/sqlx/pull/1882 [#&#8203;1887]: https://github.com/launchbadge/sqlx/pull/1887 [#&#8203;1888]: https://github.com/launchbadge/sqlx/pull/1888 [#&#8203;1889]: https://github.com/launchbadge/sqlx/pull/1889 [#&#8203;1890]: https://github.com/launchbadge/sqlx/pull/1890 [#&#8203;1891]: https://github.com/launchbadge/sqlx/pull/1891 [#&#8203;1892]: https://github.com/launchbadge/sqlx/pull/1892 [#&#8203;1894]: https://github.com/launchbadge/sqlx/pull/1894 [#&#8203;1895]: https://github.com/launchbadge/sqlx/pull/1895 [#&#8203;1897]: https://github.com/launchbadge/sqlx/pull/1897 [#&#8203;1901]: https://github.com/launchbadge/sqlx/pull/1901 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTkuMyIsInVwZGF0ZWRJblZlciI6IjM4LjY2LjEiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIiLCJsYWJlbHMiOlsicmVub3ZhdGUtYm90Il19-->
Author
Collaborator

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `sqlx`.
    ... required by package `dumbserve v0.1.0 (/tmp/renovate-bot-cache/repos/gitea/realaravinth/dumbserve)`
versions that meet the requirements `^0.8.0` are: 0.8.0

the package `dumbserve` depends on `sqlx`, with features: `offline` but `sqlx` does not have these features.


failed to select a version for `sqlx` which could resolve this conflict

### ⚠️ Artifact update problem Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens: - any of the package files in this branch needs updating, or - the branch becomes conflicted, or - you click the rebase/retry checkbox if found above, or - you rename this PR's title to start with "rebase!" to trigger it manually The artifact failure details are included below: ##### File name: Cargo.lock ``` Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --workspace Updating crates.io index error: failed to select a version for `sqlx`. ... required by package `dumbserve v0.1.0 (/tmp/renovate-bot-cache/repos/gitea/realaravinth/dumbserve)` versions that meet the requirements `^0.8.0` are: 0.8.0 the package `dumbserve` depends on `sqlx`, with features: `offline` but `sqlx` does not have these features. failed to select a version for `sqlx` which could resolve this conflict ```
renovate-bot force-pushed renovate/sqlx-0.x from 25040c269c to c865b3ef94 2024-07-11 02:31:17 +05:30 Compare
renovate-bot changed title from chore(deps): update rust crate sqlx to 0.7.0 to chore(deps): update rust crate sqlx to 0.8.0 2024-07-23 08:00:51 +05:30
renovate-bot force-pushed renovate/sqlx-0.x from c865b3ef94 to 517100fb3c 2024-07-23 08:00:51 +05:30 Compare
Some checks failed
renovate/artifacts Artifact file update failure
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/pr/woodpecker Pipeline failed
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/sqlx-0.x:renovate/sqlx-0.x
git checkout renovate/sqlx-0.x

Merge

Merge the changes and update on Forgejo.
git checkout master
git merge --no-ff renovate/sqlx-0.x
git checkout master
git merge --ff-only renovate/sqlx-0.x
git checkout renovate/sqlx-0.x
git rebase master
git checkout master
git merge --no-ff renovate/sqlx-0.x
git checkout master
git merge --squash renovate/sqlx-0.x
git checkout master
git merge --ff-only renovate/sqlx-0.x
git checkout master
git merge renovate/sqlx-0.x
git push origin master
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: realaravinth/dumbserve#10
No description provided.