From 7423ccb1cab74dbc343766ff6487819d238c58a9 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Thu, 16 Jun 2022 14:29:31 -0700 Subject: [PATCH] preparing 0.6.0 release --- CHANGELOG.md | 139 ++++++++++++++++++++++++++++++++++++++++- Cargo.lock | 10 +-- Cargo.toml | 6 +- sqlx-bench/Cargo.toml | 4 +- sqlx-cli/Cargo.toml | 4 +- sqlx-core/Cargo.toml | 6 +- sqlx-macros/Cargo.toml | 6 +- sqlx-rt/Cargo.toml | 2 +- 8 files changed, 157 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cfeb889ec9..4508f048b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,129 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +### 0.6.0 - 2022-06-16 + +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 +* [[#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 `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. +* [[#1612]]: Make all `ConnectOptions` types cloneable [[@05storm26]] +* [[#1618]]: SQLite `chrono::DateTime` timezone fix [[@05storm26]] + * `DateTime` 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, `.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()`. + +### Added +* [[#1843]]: Expose some useful methods on `PgValueRef` [[@mfreeborn]] +* [[#1889]]: SQLx-CLI: add `--connect-timeout` [[@abonander]] + * Adds a default 10 second connection timeout to all commands. +* [[#1890]]: Added test for mssql LoginAck [[@walf443]] +* [[#1891]]: Added test for mssql ProtocolInfo [[@walf443]] +* [[#1892]]: Added test for mssql ReturnValue [[@walf443]] +* [[#1895]]: Add support for `i16` to `Any` driver [[@EthanYuan]] +* [[#1897]]: Expose `ConnectOptions` and `PoolOptions` on `Pool` and database name on `PgConnectOptions` [[@Nukesor]] + +### Changed +* [[#1782]]: Reuse a cached DB connection instead of always opening a new one for `sqlx-macros` [[@LovecraftianHorror]] +* [[#1807]]: Bump remaining dependencies [[@paolobarbolini]] +* [[#1808]]: Update to edition 2021 [[@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. +* [[#1823]]: (sqlx-macros) Ignore deps when getting metadata for workspace root [[@LovecraftianHorror]] +* [[#1831]]: Update `crc` to 3.0 [[@djc]] +* [[#1887]]: query_as: don't stop stream after decoding error [[@lovasoa]] + +### Fixed +* [[#1814]]: SQLx-cli README: move `Usage` to the same level as `Install` [[@tobymurray]] +* [[#1815]]: SQLx-cli README: reword "building in offline mode" [[@tobymurray]] +* [[#1818]]: Trim `[]` from host string before passing to TcpStream [[@smonv]] + * This fixes handling of database URLs with IPv6 hosts. +* [[#1842]]: Fix usage of `serde_json` in macros [[@mfreeborn]] +* [[#1855]]: Postgres: fix panics on unknown type OID when decoding [[@demurgos]] +* [[#1856]]: MySQL: support COLLATE_UTF8MB4_0900_AI_CI [[@scottwey]] + * Fixes the MySQL driver thinking text columns are bytestring columns when querying against a Planetscale DB. +* [[#1861]]: MySQL: avoid panic when streaming packets are empty [[@e-rhodes]] +* [[#1863]]: Fix nullability check for inner joins in Postgres [[@OskarPersson]] +* [[#1881]]: Fix `field is never read` warnings on Postgres test [[@walf443]] +* [[#1882]]: Fix `unused result must be used` warnings [[@walf443]] +* [[#1888]]: Fix migration checksum comparison during `sqlx migrate info` [[@mdtusz]] +* [[#1894]]: Fix typos [[@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 + +[#1384]: https://github.com/launchbadge/sqlx/pull/1384 +[#1426]: https://github.com/launchbadge/sqlx/pull/1426 +[#1455]: https://github.com/launchbadge/sqlx/pull/1455 +[#1505]: https://github.com/launchbadge/sqlx/pull/1505 +[#1529]: https://github.com/launchbadge/sqlx/pull/1529 +[#1602]: https://github.com/launchbadge/sqlx/pull/1602 +[#1612]: https://github.com/launchbadge/sqlx/pull/1612 +[#1618]: https://github.com/launchbadge/sqlx/pull/1618 +[#1733]: https://github.com/launchbadge/sqlx/pull/1733 +[#1734]: https://github.com/launchbadge/sqlx/pull/1734 +[#1782]: https://github.com/launchbadge/sqlx/pull/1782 +[#1785]: https://github.com/launchbadge/sqlx/pull/1785 +[#1807]: https://github.com/launchbadge/sqlx/pull/1807 +[#1808]: https://github.com/launchbadge/sqlx/pull/1808 +[#1814]: https://github.com/launchbadge/sqlx/pull/1814 +[#1815]: https://github.com/launchbadge/sqlx/pull/1815 +[#1816]: https://github.com/launchbadge/sqlx/pull/1816 +[#1818]: https://github.com/launchbadge/sqlx/pull/1818 +[#1821]: https://github.com/launchbadge/sqlx/pull/1821 +[#1823]: https://github.com/launchbadge/sqlx/pull/1823 +[#1831]: https://github.com/launchbadge/sqlx/pull/1831 +[#1842]: https://github.com/launchbadge/sqlx/pull/1842 +[#1843]: https://github.com/launchbadge/sqlx/pull/1843 +[#1855]: https://github.com/launchbadge/sqlx/pull/1855 +[#1856]: https://github.com/launchbadge/sqlx/pull/1856 +[#1861]: https://github.com/launchbadge/sqlx/pull/1861 +[#1863]: https://github.com/launchbadge/sqlx/pull/1863 +[#1881]: https://github.com/launchbadge/sqlx/pull/1881 +[#1882]: https://github.com/launchbadge/sqlx/pull/1882 +[#1887]: https://github.com/launchbadge/sqlx/pull/1887 +[#1888]: https://github.com/launchbadge/sqlx/pull/1888 +[#1889]: https://github.com/launchbadge/sqlx/pull/1889 +[#1890]: https://github.com/launchbadge/sqlx/pull/1890 +[#1891]: https://github.com/launchbadge/sqlx/pull/1891 +[#1892]: https://github.com/launchbadge/sqlx/pull/1892 +[#1894]: https://github.com/launchbadge/sqlx/pull/1894 +[#1895]: https://github.com/launchbadge/sqlx/pull/1895 +[#1897]: https://github.com/launchbadge/sqlx/pull/1897 +[#1901]: https://github.com/launchbadge/sqlx/pull/1901 + ## 0.5.13 - 2022-04-15 This is a hotfix that reverts [#1748] as that was an accidental breaking change: @@ -1268,4 +1391,18 @@ Fix docs.rs build by enabling a runtime feature in the docs.rs metadata in `Carg [@mgrachev]: https://github.com/mgrachev [@tyrelr]: https://github.com/tyrelr [@SebastienGllmt]: https://github.com/SebastienGllmt - +[@e00E]: https://github.com/e00E +[@sebpuetz]: https://github.com/sebpuetz +[@pruthvikar]: https://github.com/pruthvikar +[@tobymurray]: https://github.com/tobymurray +[@djc]: https://github.com/djc +[@mfreeborn]: https://github.com/mfreeborn +[@scottwey]: https://github.com/scottwey +[@e-rhodes]: https://github.com/e-rhodes +[@OskarPersson]: https://github.com/OskarPersson +[@walf443]: https://github.com/walf443 +[@lovasoa]: https://github.com/lovasoa +[@mdtusz]: https://github.com/mdtusz +[@kianmeng]: https://github.com/kianmeng +[@EthanYuan]: https://github.com/EthanYuan +[@Nukesor]: https://github.com/Nukesor diff --git a/Cargo.lock b/Cargo.lock index 9c97ad8262..5e12776994 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2290,7 +2290,7 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.5.12" +version = "0.6.0" dependencies = [ "anyhow", "async-std", @@ -2326,7 +2326,7 @@ dependencies = [ [[package]] name = "sqlx-cli" -version = "0.5.12" +version = "0.6.0" dependencies = [ "anyhow", "async-trait", @@ -2349,7 +2349,7 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.5.12" +version = "0.6.0" dependencies = [ "ahash", "atoi", @@ -2490,7 +2490,7 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.5.12" +version = "0.6.0" dependencies = [ "dotenv", "either", @@ -2510,7 +2510,7 @@ dependencies = [ [[package]] name = "sqlx-rt" -version = "0.5.12" +version = "0.6.0" dependencies = [ "actix-rt", "async-native-tls", diff --git a/Cargo.toml b/Cargo.toml index 6f4116700d..dd26ec286f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ members = [ [package] name = "sqlx" -version = "0.5.12" +version = "0.6.0" license = "MIT OR Apache-2.0" readme = "README.md" repository = "https://github.com/launchbadge/sqlx" @@ -132,8 +132,8 @@ bstr = ["sqlx-core/bstr"] git2 = ["sqlx-core/git2"] [dependencies] -sqlx-core = { version = "0.5.12", path = "sqlx-core", default-features = false } -sqlx-macros = { version = "0.5.12", path = "sqlx-macros", default-features = false, optional = true } +sqlx-core = { version = "0.6.0", path = "sqlx-core", default-features = false } +sqlx-macros = { version = "0.6.0", path = "sqlx-macros", default-features = false, optional = true } [dev-dependencies] anyhow = "1.0.52" diff --git a/sqlx-bench/Cargo.toml b/sqlx-bench/Cargo.toml index 8f7b8495ba..d7b4026bce 100644 --- a/sqlx-bench/Cargo.toml +++ b/sqlx-bench/Cargo.toml @@ -38,8 +38,8 @@ postgres = ["sqlx/postgres"] criterion = "0.3.3" dotenv = "0.15.0" once_cell = "1.4" -sqlx = { version = "0.5", path = "../", default-features = false } -sqlx-rt = { version = "0.5", path = "../sqlx-rt", default-features = false } +sqlx = { version = "0.6", path = "../", default-features = false } +sqlx-rt = { version = "0.6", path = "../sqlx-rt", default-features = false } [[bench]] name = "pg_pool" diff --git a/sqlx-cli/Cargo.toml b/sqlx-cli/Cargo.toml index 3c0cad925f..4fcabb9811 100644 --- a/sqlx-cli/Cargo.toml +++ b/sqlx-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sqlx-cli" -version = "0.5.12" +version = "0.6.0" description = "Command-line utility for SQLx, the Rust SQL toolkit." edition = "2021" readme = "README.md" @@ -27,7 +27,7 @@ path = "src/bin/cargo-sqlx.rs" [dependencies] dotenv = "0.15.0" tokio = { version = "1.15.0", features = ["macros", "rt", "rt-multi-thread"] } -sqlx = { version = "0.5.12", path = "..", default-features = false, features = [ +sqlx = { version = "0.6.0", path = "..", default-features = false, features = [ "migrate", "any", "offline", diff --git a/sqlx-core/Cargo.toml b/sqlx-core/Cargo.toml index 96cca286fa..f3689e30b5 100644 --- a/sqlx-core/Cargo.toml +++ b/sqlx-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sqlx-core" -version = "0.5.12" +version = "0.6.0" repository = "https://github.com/launchbadge/sqlx" description = "Core of SQLx, the rust SQL toolkit. Not intended to be used directly." license = "MIT OR Apache-2.0" @@ -117,7 +117,7 @@ offline = ["serde", "either/serde"] paste = "1.0.6" ahash = "0.7.6" atoi = "1.0" -sqlx-rt = { path = "../sqlx-rt", version = "0.5.12"} +sqlx-rt = { path = "../sqlx-rt", version = "0.6.0" } base64 = { version = "0.13.0", default-features = false, optional = true, features = ["std"] } bigdecimal_ = { version = "0.3.0", optional = true, package = "bigdecimal" } rust_decimal = { version = "1.19.0", optional = true } @@ -187,5 +187,5 @@ hkdf = { version = "0.12.0", optional = true } event-listener = "2.5.2" [dev-dependencies] -sqlx = { version = "0.5.12", path = "..", features = ["postgres", "sqlite", "mysql"] } +sqlx = { version = "0.6.0", path = "..", features = ["postgres", "sqlite", "mysql"] } tokio = { version = "1", features = ["rt"] } diff --git a/sqlx-macros/Cargo.toml b/sqlx-macros/Cargo.toml index 4215247aa1..4a86dadb29 100644 --- a/sqlx-macros/Cargo.toml +++ b/sqlx-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sqlx-macros" -version = "0.5.12" +version = "0.6.0" repository = "https://github.com/launchbadge/sqlx" description = "Macros for SQLx, the rust SQL toolkit. Not intended to be used directly." license = "MIT OR Apache-2.0" @@ -84,8 +84,8 @@ heck = { version = "0.4", features = ["unicode"] } either = "1.6.1" once_cell = "1.9.0" proc-macro2 = { version = "1.0.36", default-features = false } -sqlx-core = { version = "0.5.12", default-features = false, features = ["any"], path = "../sqlx-core" } -sqlx-rt = { version = "0.5.12", default-features = false, path = "../sqlx-rt" } +sqlx-core = { version = "0.6.0", default-features = false, features = ["any"], path = "../sqlx-core" } +sqlx-rt = { version = "0.6.0", default-features = false, path = "../sqlx-rt" } serde = { version = "1.0.132", features = ["derive"], optional = true } serde_json = { version = "1.0.73", optional = true } sha2 = { version = "0.10.0", optional = true } diff --git a/sqlx-rt/Cargo.toml b/sqlx-rt/Cargo.toml index 2b8ef91e41..8d98009d89 100644 --- a/sqlx-rt/Cargo.toml +++ b/sqlx-rt/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sqlx-rt" -version = "0.5.12" +version = "0.6.0" repository = "https://github.com/launchbadge/sqlx" license = "MIT OR Apache-2.0" description = "Runtime abstraction used by SQLx, the Rust SQL toolkit. Not intended to be used directly."