Sourced from sqlx's changelog.
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*()
andquery!()
.- Improved documentation across the board for the
query*()
functions.- Deprecated:
execute_many()
andfetch_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: launchbadge/sqlx#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 ofatomic-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
]]
... (truncated)
635dba5
fix: deprecation in postgres::types::chrono
a2b89d7
fix: deprecation warnings in sqlite::types::chrono
,
document DATETIME
beh...248d617
chore: prepare 0.7.4 released005111
fix: better I/O errors when migrate!()
cannot read a
file24be262
fix: restore Migrator
to the public APIbbfd0d7
fix: AnyRow not support PgType::Varchar (#2976)b29eab0
feat: add to_url_lossy
to connect options (#2902)34860b7
fix(ci): just cfg-out the whole
tests/sqlite/sqlcipher.rs
791a7f5
doc(pg): document behavior of bigdecimal
and
rust_decimal
with out-of-ran...e5c18b3
fix: gate sqlcipher
testing behind cfg
to make
development less annoying