chore: prepare 0.7.4 release

This commit is contained in:
Austin Bonander 2024-03-11 18:46:53 -07:00
parent d005111494
commit 248d6170a7
6 changed files with 640 additions and 524 deletions

View File

@ -5,6 +5,113 @@ 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.7.4 - 2024-03-11
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
* [[#2900]]: Show latest url to docs for macro.migrate [[@Vrajs16]]
* [[#2914]]: Use `create_new` instead of `atomic-file-write` [[@mattfbacon]]
* [[#2926]]: docs: update example for `PgConnectOptions` [[@Fyko]]
* [[#2989]]: sqlx-core: Remove dotenvy dependency [[@joshtriplett]]
* [[#2996]]: chore: Update ahash to 0.8.7 [[@takenoko-gohan]]
* [[#3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile [[@iamjpotts]]
* [[#3008]]: chore: Ignore .sqlx folder created by running ci steps locally [[@iamjpotts]]
* [[#3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 [[@iamjpotts]]
* [[#3010]]: chore(deps): Upgrade criterion to 0.5.1 [[@iamjpotts]]
* [[#3050]]: Optimize SASL auth in sqlx-postgres [[@mirek26]]
* [[#3055]]: Set TCP_NODELAY option on TCP sockets [[@mirek26]]
* [[#3065]]: Improve max_lifetime handling [[@mirek26]]
* [[#3072]]: Change the name of "inner" function generated by `#[sqlx::test]` [[@ciffelia]]
* [[#3083]]: Remove sha1 because it's not being used in postgres [[@rafaelGuerreiro]]
### Fixed
* [[#2898]]: Fixed docs [[@Vrajs16]]
* [[#2905]]: fix(mysql): Close prepared statement if persistence is disabled [[@larsschumacher]]
* [[#2913]]: Fix handling of deferred constraints [[@Thomasdezeeuw]]
* [[#2919]]: fix duplicate "`" in FromRow "default" attribute doc comment [[@shengsheng]]
* [[#2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from [[@tsing]]
* [[#2955]]: Minor fixes [[@Dawsoncodes]]
* [[#2963]]: Fixed ReadMe badge styling [[@tadghh]]
* [[#2976]]: fix: AnyRow not support PgType::Varchar [[@holicc]]
* [[#3053]]: fix: do not panic when binding a large BigDecimal [[@Ekleog]]
* [[#3056]]: fix: spans in sqlite tracing (#2876) [[@zoomiti]]
* [[#3089]]: fix(migrate): improve error message when parsing version from filename [[@abonander]]
* [[#3098]]: Migrations fixes [[@abonander]]
* Unhides `sqlx::migrate::Migrator`.
* Improves I/O error message when failing to read a file in `migrate!()`.
[#2891]: https://github.com/launchbadge/sqlx/pull/2891
[#2898]: https://github.com/launchbadge/sqlx/pull/2898
[#2900]: https://github.com/launchbadge/sqlx/pull/2900
[#2902]: https://github.com/launchbadge/sqlx/pull/2902
[#2905]: https://github.com/launchbadge/sqlx/pull/2905
[#2913]: https://github.com/launchbadge/sqlx/pull/2913
[#2914]: https://github.com/launchbadge/sqlx/pull/2914
[#2919]: https://github.com/launchbadge/sqlx/pull/2919
[#2926]: https://github.com/launchbadge/sqlx/pull/2926
[#2927]: https://github.com/launchbadge/sqlx/pull/2927
[#2932]: https://github.com/launchbadge/sqlx/pull/2932
[#2955]: https://github.com/launchbadge/sqlx/pull/2955
[#2963]: https://github.com/launchbadge/sqlx/pull/2963
[#2976]: https://github.com/launchbadge/sqlx/pull/2976
[#2989]: https://github.com/launchbadge/sqlx/pull/2989
[#2996]: https://github.com/launchbadge/sqlx/pull/2996
[#2997]: https://github.com/launchbadge/sqlx/pull/2997
[#3001]: https://github.com/launchbadge/sqlx/pull/3001
[#3004]: https://github.com/launchbadge/sqlx/pull/3004
[#3006]: https://github.com/launchbadge/sqlx/pull/3006
[#3007]: https://github.com/launchbadge/sqlx/pull/3007
[#3008]: https://github.com/launchbadge/sqlx/pull/3008
[#3009]: https://github.com/launchbadge/sqlx/pull/3009
[#3010]: https://github.com/launchbadge/sqlx/pull/3010
[#3011]: https://github.com/launchbadge/sqlx/pull/3011
[#3013]: https://github.com/launchbadge/sqlx/pull/3013
[#3018]: https://github.com/launchbadge/sqlx/pull/3018
[#3026]: https://github.com/launchbadge/sqlx/pull/3026
[#3037]: https://github.com/launchbadge/sqlx/pull/3037
[#3050]: https://github.com/launchbadge/sqlx/pull/3050
[#3053]: https://github.com/launchbadge/sqlx/pull/3053
[#3055]: https://github.com/launchbadge/sqlx/pull/3055
[#3056]: https://github.com/launchbadge/sqlx/pull/3056
[#3065]: https://github.com/launchbadge/sqlx/pull/3065
[#3072]: https://github.com/launchbadge/sqlx/pull/3072
[#3083]: https://github.com/launchbadge/sqlx/pull/3083
[#3089]: https://github.com/launchbadge/sqlx/pull/3089
[#3098]: https://github.com/launchbadge/sqlx/pull/3098
## 0.7.3 - 2023-11-22
38 pull requests were merged this release cycle.
@ -2135,3 +2242,22 @@ Fix docs.rs build by enabling a runtime feature in the docs.rs metadata in `Carg
[@Vrajs16]: https://github.com/Vrajs16
[@shiftrightonce]: https://github.com/shiftrightonce
[@tamasfe]: https://github.com/tamasfe
[@lily-mosquitoes]: https://github.com/lily-mosquitoes
[@larsschumacher]: https://github.com/larsschumacher
[@shengsheng]: https://github.com/shengsheng
[@Fyko]: https://github.com/Fyko
[@kshramt]: https://github.com/kshramt
[@Dawsoncodes]: https://github.com/Dawsoncodes
[@tadghh]: https://github.com/tadghh
[@holicc]: https://github.com/holicc
[@takenoko-gohan]: https://github.com/takenoko-gohan
[@iangilfillan]: https://github.com/iangilfillan
[@iamjpotts]: https://github.com/iamjpotts
[@Icerath]: https://github.com/Icerath
[@pawurb]: https://github.com/pawurb
[@darkecho731]: https://github.com/darkecho731
[@mirek26]: https://github.com/mirek26
[@Ekleog]: https://github.com/Ekleog
[@zoomiti]: https://github.com/zoomiti
[@ciffelia]: https://github.com/ciffelia
[@rafaelGuerreiro]: https://github.com/rafaelGuerreiro

1012
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@ members = [
"sqlx-macros-core",
"sqlx-test",
"sqlx-cli",
# "sqlx-bench",
# "sqlx-bench",
"sqlx-mysql",
"sqlx-postgres",
"sqlx-sqlite",
@ -23,7 +23,7 @@ members = [
]
[workspace.package]
version = "0.7.3"
version = "0.7.4"
license = "MIT OR Apache-2.0"
edition = "2021"
repository = "https://github.com/launchbadge/sqlx"
@ -114,17 +114,17 @@ regexp = ["sqlx-sqlite?/regexp"]
[workspace.dependencies]
# Core Crates
sqlx-core = { version = "=0.7.3", path = "sqlx-core" }
sqlx-macros-core = { version = "=0.7.3", path = "sqlx-macros-core" }
sqlx-macros = { version = "=0.7.3", path = "sqlx-macros" }
sqlx-core = { version = "=0.7.4", path = "sqlx-core" }
sqlx-macros-core = { version = "=0.7.4", path = "sqlx-macros-core" }
sqlx-macros = { version = "=0.7.4", path = "sqlx-macros" }
# Driver crates
sqlx-mysql = { version = "=0.7.3", path = "sqlx-mysql" }
sqlx-postgres = { version = "=0.7.3", path = "sqlx-postgres" }
sqlx-sqlite = { version = "=0.7.3", path = "sqlx-sqlite" }
sqlx-mysql = { version = "=0.7.4", path = "sqlx-mysql" }
sqlx-postgres = { version = "=0.7.4", path = "sqlx-postgres" }
sqlx-sqlite = { version = "=0.7.4", path = "sqlx-sqlite" }
# Facade crate (for reference from sqlx-cli)
sqlx = { version = "=0.7.3", path = ".", default-features = false }
sqlx = { version = "=0.7.4", path = ".", default-features = false }
# Common type integrations shared by multiple driver crates.
# These are optional unless enabled in a workspace crate.

View File

@ -159,7 +159,7 @@ where
/// Execute multiple queries and return the rows affected from each query, in a stream.
#[inline]
#[deprecated = "Only the SQLite driver supports multiple statements in one prepared statement and that behavior is deprecated. Use `sqlx::raw_sql()` instead."]
#[deprecated = "Only the SQLite driver supports multiple statements in one prepared statement and that behavior is deprecated. Use `sqlx::raw_sql()` instead. See https://github.com/launchbadge/sqlx/issues/3108 for discussion."]
pub async fn execute_many<'e, 'c: 'e, E>(
self,
executor: E,
@ -188,7 +188,7 @@ where
/// For each query in the stream, any generated rows are returned first,
/// then the `QueryResult` with the number of rows affected.
#[inline]
#[deprecated = "Only the SQLite driver supports multiple statements in one prepared statement and that behavior is deprecated. Use `sqlx::raw_sql()` instead."]
#[deprecated = "Only the SQLite driver supports multiple statements in one prepared statement and that behavior is deprecated. Use `sqlx::raw_sql()` instead. See https://github.com/launchbadge/sqlx/issues/3108 for discussion."]
// TODO: we'll probably still want a way to get the `DB::QueryResult` at the end of a `fetch()` stream.
pub fn fetch_many<'e, 'c: 'e, E>(
self,

View File

@ -104,7 +104,7 @@ where
/// Execute multiple queries and return the generated results as a stream
/// from each query, in a stream.
#[deprecated = "Only the SQLite driver supports multiple statements in one prepared statement and that behavior is deprecated. Use `sqlx::raw_sql()` instead."]
#[deprecated = "Only the SQLite driver supports multiple statements in one prepared statement and that behavior is deprecated. Use `sqlx::raw_sql()` instead. See https://github.com/launchbadge/sqlx/issues/3108 for discussion."]
pub fn fetch_many<'e, 'c: 'e, E>(
self,
executor: E,

View File

@ -99,7 +99,7 @@ where
/// Execute multiple queries and return the generated results as a stream
/// from each query, in a stream.
#[inline]
#[deprecated = "Only the SQLite driver supports multiple statements in one prepared statement and that behavior is deprecated. Use `sqlx::raw_sql()` instead."]
#[deprecated = "Only the SQLite driver supports multiple statements in one prepared statement and that behavior is deprecated. Use `sqlx::raw_sql()` instead. See https://github.com/launchbadge/sqlx/issues/3108 for discussion."]
pub fn fetch_many<'e, 'c: 'e, E>(
self,
executor: E,