release: 0.5.2

This commit is contained in:
Ryan Leckey 2021-04-15 18:38:50 -07:00
parent 73d35e73a6
commit f7775f7fde
8 changed files with 363 additions and 162 deletions

View File

@ -5,6 +5,68 @@ 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.5.2 - 2021-04-15
- [[#1149]] Tweak and optimize Pool internals [[@abonander]]
- [[#1132]] Remove `'static` bound on `Connection::transaction` [[@argv-minus-one]]
- [[#1128]] Fix `-y` flag for `sqlx db reset -y` [[@qqwa]]
- [[#1099]] [[#1097]] Truncate buffer when `BufStream` is dropped [[@Diggsey]]
[#1132]: https://github.com/launchbadge/sqlx/pull/1132
[#1149]: https://github.com/launchbadge/sqlx/pull/1149
[#1128]: https://github.com/launchbadge/sqlx/pull/1128
[#1099]: https://github.com/launchbadge/sqlx/pull/1099
[#1097]: https://github.com/launchbadge/sqlx/issues/1097
### PostgreSQL
- [[#1170]] Remove `Self: Type` bounds in `Encode` / `Decode` implementations for arrays [[@jplatte]]
Enables working around the lack of support for user-defined array types:
```rust
#[derive(sqlx::Encode)]
struct Foos<'a>(&'a [Foo]);
impl sqlx::Type<sqlx::Postgres> for Foos<'_> {
fn type_info() -> PgTypeInfo {
PgTypeInfo::with_name("_foo")
}
}
query_as!(
Whatever,
"<QUERY with $1 of type foo[]>",
Foos(&foo_vec) as _,
)
```
- [[#1141]] Use `u16::MAX` instead of `i16::MAX` for a check against the largest number of parameters in a query [[@crajcan]]
- [[#1112]] Add support for `DOMAIN` types [[@demurgos]]
- [[#1100]] Explicitly `UNLISTEN` before returning connections to the pool in `PgListener` [[@Diggsey]]
[#1170]: https://github.com/launchbadge/sqlx/pull/1170
[#1141]: https://github.com/launchbadge/sqlx/pull/1141
[#1112]: https://github.com/launchbadge/sqlx/pull/1112
[#1100]: https://github.com/launchbadge/sqlx/pull/1100
### SQLite
- [[#1161]] Catch `SQLITE_MISUSE` on connection close and panic [[@link2xt]]
- [[#1160]] Do not cast pointers to `i32` (cast to `usize`) [[@link2xt]]
- [[#1156]] Reset the statement when `fetch_many` stream is dropped [[@link2xt]]
[#1161]: https://github.com/launchbadge/sqlx/pull/1161
[#1160]: https://github.com/launchbadge/sqlx/pull/1160
[#1156]: https://github.com/launchbadge/sqlx/pull/1156
## 0.5.1 - 2021-02-04
- Update sqlx-rt to 0.3.
@ -53,7 +115,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [[#918]] Recover from dropping `wait_for_conn` inside Pool. [[@antialize]]
[#821]: https://github.com/launchbadge/sqlx/issues/821
[#918]: https://github.com/launchbadge/sqlx/pull/918
[#919]: https://github.com/launchbadge/sqlx/pull/919
[#983]: https://github.com/launchbadge/sqlx/pull/983
@ -123,7 +184,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
[#850]: https://github.com/launchbadge/sqlx/pull/850
[#845]: https://github.com/launchbadge/sqlx/pull/845
[#839]: https://github.com/launchbadge/sqlx/pull/839
[#747]: https://github.com/launchbadge/sqlx/issues/747
## 0.4.1 2020-11-13
@ -803,13 +863,13 @@ Fix docs.rs build by enabling a runtime feature in the docs.rs metadata in `Carg
[@mcronce]: https://github.com/mcronce
[@hamza1311]: https://github.com/hamza1311
[@augustocdias]: https://github.com/augustocdias
[@Pleto]: https://github.com/Pleto
[@pleto]: https://github.com/Pleto
[@chertov]: https://github.com/chertov
[@framp]: https://github.com/framp
[@markazmierczak]: https://github.com/markazmierczak
[@msrd0]: https://github.com/msrd0
[@joshtriplett]: https://github.com/joshtriplett
[@NyxCode]: https://github.com/NyxCode
[@nyxcode]: https://github.com/NyxCode
[@nitsky]: https://github.com/nitsky
[@esemeniuc]: https://github.com/esemeniuc
[@iamsiddhant05]: https://github.com/iamsiddhant05
@ -824,3 +884,9 @@ Fix docs.rs build by enabling a runtime feature in the docs.rs metadata in `Carg
[@fl9]: https://github.com/fl9
[@antialize]: https://github.com/antialize
[@dignifiedquire]: https://github.com/dignifiedquire
[@argv-minus-one]: https://github.com/argv-minus-one
[@qqwa]: https://github.com/qqwa
[@diggsey]: https://github.com/Diggsey
[@crajcan]: https://github.com/crajcan
[@demurgos]: https://github.com/demurgos
[@link2xt]: https://github.com/link2xt

10
Cargo.lock generated
View File

@ -2265,7 +2265,7 @@ dependencies = [
[[package]]
name = "sqlx"
version = "0.5.1"
version = "0.5.2"
dependencies = [
"anyhow",
"async-std",
@ -2298,7 +2298,7 @@ dependencies = [
[[package]]
name = "sqlx-cli"
version = "0.5.1"
version = "0.5.2"
dependencies = [
"anyhow",
"async-trait",
@ -2320,7 +2320,7 @@ dependencies = [
[[package]]
name = "sqlx-core"
version = "0.5.1"
version = "0.5.2"
dependencies = [
"ahash 0.7.2",
"atoi",
@ -2445,7 +2445,7 @@ dependencies = [
[[package]]
name = "sqlx-macros"
version = "0.5.1"
version = "0.5.2"
dependencies = [
"dotenv",
"either",
@ -2466,7 +2466,7 @@ dependencies = [
[[package]]
name = "sqlx-rt"
version = "0.3.0"
version = "0.5.2"
dependencies = [
"actix-rt",
"async-native-tls",

View File

@ -17,7 +17,7 @@ members = [
[package]
name = "sqlx"
version = "0.5.1"
version = "0.5.2"
license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/launchbadge/sqlx"
@ -27,11 +27,11 @@ edition = "2018"
keywords = ["database", "async", "postgres", "mysql", "sqlite"]
categories = ["database", "asynchronous"]
authors = [
"Ryan Leckey <leckey.ryan@gmail.com>", # ryan@launchbadge.com
"Austin Bonander <austin.bonander@gmail.com>", # austin@launchbadge.com
"Chloe Ross <orangesnowfox@gmail.com>", # chloe@launchbadge.com
"Daniel Akhterov <akhterovd@gmail.com>", # daniel@launchbadge.com
]
"Ryan Leckey <leckey.ryan@gmail.com>",
"Austin Bonander <austin.bonander@gmail.com>",
"Chloe Ross <orangesnowfox@gmail.com>",
"Daniel Akhterov <akhterovd@gmail.com>",
] # daniel@launchbadge.com
[package.metadata.docs.rs]
features = ["all", "runtime-async-std-native-tls"]
@ -52,7 +52,18 @@ offline = [ "sqlx-macros/offline", "sqlx-core/offline" ]
# intended mainly for CI and docs
all = ["tls", "all-databases", "all-types"]
all-databases = ["mysql", "sqlite", "postgres", "mssql", "any"]
all-types = [ "bigdecimal", "decimal", "json", "time", "chrono", "ipnetwork", "uuid", "bit-vec", "bstr", "git2" ]
all-types = [
"bigdecimal",
"decimal",
"json",
"time",
"chrono",
"ipnetwork",
"uuid",
"bit-vec",
"bstr",
"git2",
]
# previous runtimes, available as features for error messages better than just
# "feature doesn't exist"
@ -61,13 +72,37 @@ runtime-async-std = []
runtime-tokio = []
# actual runtimes
runtime-actix-native-tls = [ "sqlx-core/runtime-actix-native-tls", "sqlx-macros/runtime-actix-native-tls", "_rt-actix" ]
runtime-async-std-native-tls = [ "sqlx-core/runtime-async-std-native-tls", "sqlx-macros/runtime-async-std-native-tls", "_rt-async-std" ]
runtime-tokio-native-tls = [ "sqlx-core/runtime-tokio-native-tls", "sqlx-macros/runtime-tokio-native-tls", "_rt-tokio" ]
runtime-actix-native-tls = [
"sqlx-core/runtime-actix-native-tls",
"sqlx-macros/runtime-actix-native-tls",
"_rt-actix",
]
runtime-async-std-native-tls = [
"sqlx-core/runtime-async-std-native-tls",
"sqlx-macros/runtime-async-std-native-tls",
"_rt-async-std",
]
runtime-tokio-native-tls = [
"sqlx-core/runtime-tokio-native-tls",
"sqlx-macros/runtime-tokio-native-tls",
"_rt-tokio",
]
runtime-actix-rustls = [ "sqlx-core/runtime-actix-rustls", "sqlx-macros/runtime-actix-rustls", "_rt-actix" ]
runtime-async-std-rustls = [ "sqlx-core/runtime-async-std-rustls", "sqlx-macros/runtime-async-std-rustls", "_rt-async-std" ]
runtime-tokio-rustls = [ "sqlx-core/runtime-tokio-rustls", "sqlx-macros/runtime-tokio-rustls", "_rt-tokio" ]
runtime-actix-rustls = [
"sqlx-core/runtime-actix-rustls",
"sqlx-macros/runtime-actix-rustls",
"_rt-actix",
]
runtime-async-std-rustls = [
"sqlx-core/runtime-async-std-rustls",
"sqlx-macros/runtime-async-std-rustls",
"_rt-async-std",
]
runtime-tokio-rustls = [
"sqlx-core/runtime-tokio-rustls",
"sqlx-macros/runtime-tokio-rustls",
"_rt-tokio",
]
# for conditional compilation
_rt-actix = []
@ -94,8 +129,8 @@ bstr = [ "sqlx-core/bstr" ]
git2 = ["sqlx-core/git2"]
[dependencies]
sqlx-core = { version = "0.5.1", path = "sqlx-core", default-features = false }
sqlx-macros = { version = "0.5.1", path = "sqlx-macros", default-features = false, optional = true }
sqlx-core = { version = "0.5.2", path = "sqlx-core", default-features = false }
sqlx-macros = { version = "0.5.2", path = "sqlx-macros", default-features = false, optional = true }
[dev-dependencies]
anyhow = "1.0.31"

View File

@ -6,13 +6,31 @@ edition = "2018"
publish = false
[features]
runtime-actix-native-tls = [ "sqlx/runtime-actix-native-tls", "sqlx-rt/runtime-actix-native-tls" ]
runtime-async-std-native-tls = [ "sqlx/runtime-async-std-native-tls", "sqlx-rt/runtime-async-std-native-tls" ]
runtime-tokio-native-tls = [ "sqlx/runtime-tokio-native-tls", "sqlx-rt/runtime-tokio-native-tls" ]
runtime-actix-native-tls = [
"sqlx/runtime-actix-native-tls",
"sqlx-rt/runtime-actix-native-tls",
]
runtime-async-std-native-tls = [
"sqlx/runtime-async-std-native-tls",
"sqlx-rt/runtime-async-std-native-tls",
]
runtime-tokio-native-tls = [
"sqlx/runtime-tokio-native-tls",
"sqlx-rt/runtime-tokio-native-tls",
]
runtime-actix-rustls = [ "sqlx/runtime-actix-rustls", "sqlx-rt/runtime-actix-rustls" ]
runtime-async-std-rustls = [ "sqlx/runtime-async-std-rustls", "sqlx-rt/runtime-async-std-rustls" ]
runtime-tokio-rustls = [ "sqlx/runtime-tokio-rustls", "sqlx-rt/runtime-tokio-rustls" ]
runtime-actix-rustls = [
"sqlx/runtime-actix-rustls",
"sqlx-rt/runtime-actix-rustls",
]
runtime-async-std-rustls = [
"sqlx/runtime-async-std-rustls",
"sqlx-rt/runtime-async-std-rustls",
]
runtime-tokio-rustls = [
"sqlx/runtime-tokio-rustls",
"sqlx-rt/runtime-tokio-rustls",
]
postgres = ["sqlx/postgres"]
@ -21,7 +39,7 @@ criterion = "0.3.3"
dotenv = "0.15.0"
once_cell = "1.4"
sqlx = { version = "0.5", path = "../", default-features = false }
sqlx-rt = { version = "0.3.0", path = "../sqlx-rt", default-features = false }
sqlx-rt = { version = "0.5", path = "../sqlx-rt", default-features = false }
[[bench]]
name = "pg_pool"

View File

@ -1,6 +1,6 @@
[package]
name = "sqlx-cli"
version = "0.5.1"
version = "0.5.2"
description = "Command-line utility for SQLx, the Rust SQL toolkit."
edition = "2018"
readme = "README.md"
@ -12,7 +12,7 @@ license = "MIT OR Apache-2.0"
default-run = "sqlx"
authors = [
"Jesper Axelsson <jesperaxe@gmail.com>",
"Austin Bonander <austin.bonander@gmail.com>"
"Austin Bonander <austin.bonander@gmail.com>",
]
[[bin]]
@ -27,7 +27,12 @@ path = "src/bin/cargo-sqlx.rs"
[dependencies]
dotenv = "0.15"
tokio = { version = "1.0.1", features = ["macros", "rt", "rt-multi-thread"] }
sqlx = { version = "0.5.1", path = "..", default-features = false, features = [ "runtime-async-std-native-tls", "migrate", "any", "offline" ] }
sqlx = { version = "0.5.2", path = "..", default-features = false, features = [
"runtime-async-std-native-tls",
"migrate",
"any",
"offline",
] }
futures = "0.3"
clap = "=3.0.0-beta.2"
chrono = "0.4"

View File

@ -1,6 +1,6 @@
[package]
name = "sqlx-core"
version = "0.5.1"
version = "0.5.2"
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"
@ -21,25 +21,70 @@ migrate = [ "sha2", "crc" ]
# databases
all-databases = ["postgres", "mysql", "sqlite", "mssql", "any"]
postgres = [ "md-5", "sha2", "base64", "sha-1", "rand", "hmac", "futures-channel/sink", "futures-util/sink", "json", "dirs" ]
mysql = [ "sha-1", "sha2", "generic-array", "num-bigint", "base64", "digest", "rand", "rsa" ]
postgres = [
"md-5",
"sha2",
"base64",
"sha-1",
"rand",
"hmac",
"futures-channel/sink",
"futures-util/sink",
"json",
"dirs",
]
mysql = [
"sha-1",
"sha2",
"generic-array",
"num-bigint",
"base64",
"digest",
"rand",
"rsa",
]
sqlite = ["libsqlite3-sys"]
mssql = ["uuid", "encoding_rs", "regex"]
any = []
# types
all-types = [ "chrono", "time", "bigdecimal", "decimal", "ipnetwork", "json", "uuid", "bit-vec" ]
all-types = [
"chrono",
"time",
"bigdecimal",
"decimal",
"ipnetwork",
"json",
"uuid",
"bit-vec",
]
bigdecimal = ["bigdecimal_", "num-bigint"]
decimal = ["rust_decimal", "num-bigint"]
json = ["serde", "serde_json"]
# runtimes
runtime-actix-native-tls = [ "sqlx-rt/runtime-actix-native-tls", "_tls-native-tls", "_rt-actix" ]
runtime-async-std-native-tls = [ "sqlx-rt/runtime-async-std-native-tls", "_tls-native-tls", "_rt-async-std" ]
runtime-tokio-native-tls = [ "sqlx-rt/runtime-tokio-native-tls", "_tls-native-tls", "_rt-tokio" ]
runtime-actix-native-tls = [
"sqlx-rt/runtime-actix-native-tls",
"_tls-native-tls",
"_rt-actix",
]
runtime-async-std-native-tls = [
"sqlx-rt/runtime-async-std-native-tls",
"_tls-native-tls",
"_rt-async-std",
]
runtime-tokio-native-tls = [
"sqlx-rt/runtime-tokio-native-tls",
"_tls-native-tls",
"_rt-tokio",
]
runtime-actix-rustls = ["sqlx-rt/runtime-actix-rustls", "_tls-rustls", "_rt-actix"]
runtime-async-std-rustls = [ "sqlx-rt/runtime-async-std-rustls", "_tls-rustls", "_rt-async-std" ]
runtime-async-std-rustls = [
"sqlx-rt/runtime-async-std-rustls",
"_tls-rustls",
"_rt-async-std",
]
runtime-tokio-rustls = ["sqlx-rt/runtime-tokio-rustls", "_tls-rustls", "_rt-tokio"]
# for conditional compilation
@ -55,7 +100,7 @@ offline = [ "serde", "either/serde" ]
[dependencies]
ahash = "0.7.2"
atoi = "0.4.0"
sqlx-rt = { path = "../sqlx-rt", version = "0.3.0" }
sqlx-rt = { path = "../sqlx-rt", version = "0.5.2" }
base64 = { version = "0.13.0", default-features = false, optional = true, features = ["std"] }
bigdecimal_ = { version = "0.2.0", optional = true, package = "bigdecimal" }
rust_decimal = { version = "1.8.1", optional = true }
@ -81,7 +126,11 @@ hmac = { version = "0.10.1", default-features = false, optional = true }
itoa = "0.4.5"
ipnetwork = { version = "0.17.0", default-features = false, optional = true }
libc = "0.2.71"
libsqlite3-sys = { version = "0.22.0", optional = true, default-features = false, features = [ "pkg-config", "vcpkg", "bundled" ] }
libsqlite3-sys = { version = "0.22.0", optional = true, default-features = false, features = [
"pkg-config",
"vcpkg",
"bundled",
] }
log = { version = "0.4.8", default-features = false }
md-5 = { version = "0.9.0", default-features = false, optional = true }
memchr = { version = "2.3.3", default-features = false }

View File

@ -1,16 +1,16 @@
[package]
name = "sqlx-macros"
version = "0.5.1"
version = "0.5.2"
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"
edition = "2018"
authors = [
"Ryan Leckey <leckey.ryan@gmail.com>", # ryan@launchbadge.com
"Austin Bonander <austin.bonander@gmail.com>", # austin@launchbadge.com
"Chloe Ross <orangesnowfox@gmail.com>", # chloe@launchbadge.com
"Daniel Akhterov <akhterovd@gmail.com>", # daniel@launchbadge.com
]
"Ryan Leckey <leckey.ryan@gmail.com>",
"Austin Bonander <austin.bonander@gmail.com>",
"Chloe Ross <orangesnowfox@gmail.com>",
"Daniel Akhterov <akhterovd@gmail.com>",
] # daniel@launchbadge.com
[lib]
proc-macro = true
@ -20,13 +20,37 @@ default = [ "runtime-async-std-native-tls", "migrate" ]
migrate = ["sha2", "sqlx-core/migrate"]
# runtimes
runtime-actix-native-tls = [ "sqlx-core/runtime-actix-native-tls", "sqlx-rt/runtime-actix-native-tls", "_rt-actix" ]
runtime-async-std-native-tls = [ "sqlx-core/runtime-async-std-native-tls", "sqlx-rt/runtime-async-std-native-tls", "_rt-async-std" ]
runtime-tokio-native-tls = [ "sqlx-core/runtime-tokio-native-tls", "sqlx-rt/runtime-tokio-native-tls", "_rt-tokio" ]
runtime-actix-native-tls = [
"sqlx-core/runtime-actix-native-tls",
"sqlx-rt/runtime-actix-native-tls",
"_rt-actix",
]
runtime-async-std-native-tls = [
"sqlx-core/runtime-async-std-native-tls",
"sqlx-rt/runtime-async-std-native-tls",
"_rt-async-std",
]
runtime-tokio-native-tls = [
"sqlx-core/runtime-tokio-native-tls",
"sqlx-rt/runtime-tokio-native-tls",
"_rt-tokio",
]
runtime-actix-rustls = [ "sqlx-core/runtime-actix-rustls", "sqlx-rt/runtime-actix-rustls", "_rt-actix" ]
runtime-async-std-rustls = [ "sqlx-core/runtime-async-std-rustls", "sqlx-rt/runtime-async-std-rustls", "_rt-async-std" ]
runtime-tokio-rustls = [ "sqlx-core/runtime-tokio-rustls", "sqlx-rt/runtime-tokio-rustls", "_rt-tokio" ]
runtime-actix-rustls = [
"sqlx-core/runtime-actix-rustls",
"sqlx-rt/runtime-actix-rustls",
"_rt-actix",
]
runtime-async-std-rustls = [
"sqlx-core/runtime-async-std-rustls",
"sqlx-rt/runtime-async-std-rustls",
"_rt-async-std",
]
runtime-tokio-rustls = [
"sqlx-core/runtime-tokio-rustls",
"sqlx-rt/runtime-tokio-rustls",
"_rt-tokio",
]
# for conditional compilation
_rt-actix = []
@ -60,8 +84,8 @@ heck = "0.3.1"
either = "1.5.3"
once_cell = { version = "1.5.2", optional = true }
proc-macro2 = { version = "1.0.9", default-features = false }
sqlx-core = { version = "0.5.1", default-features = false, path = "../sqlx-core" }
sqlx-rt = { version = "0.3.0", default-features = false, path = "../sqlx-rt" }
sqlx-core = { version = "0.5.2", default-features = false, path = "../sqlx-core" }
sqlx-rt = { version = "0.5.2", default-features = false, path = "../sqlx-rt" }
serde = { version = "1.0.111", features = ["derive"], optional = true }
serde_json = { version = "1.0.30", features = ["preserve_order"], optional = true }
sha2 = { version = "0.9.1", optional = true }

View File

@ -1,6 +1,6 @@
[package]
name = "sqlx-rt"
version = "0.3.0"
version = "0.5.2"
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."
@ -12,7 +12,11 @@ authors = [
[features]
runtime-actix-native-tls = ["_rt-actix", "_tls-native-tls", "tokio-native-tls"]
runtime-async-std-native-tls = ["_rt-async-std", "_tls-native-tls", "async-native-tls"]
runtime-async-std-native-tls = [
"_rt-async-std",
"_tls-native-tls",
"async-native-tls",
]
runtime-tokio-native-tls = ["_rt-tokio", "_tls-native-tls", "tokio-native-tls"]
runtime-actix-rustls = ["_rt-actix", "_tls-rustls", "tokio-rustls"]