Releases: diesel-rs/diesel
Diesel 2.2.4
Diesel 2.2.3
- Support for libsqlite3-sys 0.30.0
- Fixed a possible vulnerability in how Diesel handled protocol level bind parameters.
See the SQL Injection isn't Dead: Smuggling Queries at Protocol Level presentation from DEF CON for details - Fixed an issue with a possibly ambiguous trait resolution in
#[derive(QueryableByName)]
You can support the development of diesel by contributions or by sponsoring the project on Github.
Full Changelog: v2.2.2...v2.2.3
Diesel 2.2.2
- Support for libsqlite3-sys 0.29.0
- Fixed a potential panic in the sqlite cursor implementation
- Fixed support for rust numeric operators with columns of the type
Numeric
- Removed the
SerializedDatabase::new
function due to unsoundness
You can support the development of diesel by contributions or by sponsoring the project on Github.
Full Changelog: v2.2.1...v2.2.2
Diesel 2.2.1
You can support the development of diesel by contributions or by sponsoring the project on Github.
- Fixed using
#[dsl::auto_type]
with functions that accept reference arguments - Fixed using
#[derive(Queryable)]
with structs that use a type namedRow
as field type - Fixed a regression that prevented using
mysqlclient-sys
0.2.x with diesel 2.2 - Fixed connecting to postgres database using the scram-sha-256 authentication method on windows while using the bundled postgres builds
- Improved the error messages in diesel-cli for cases where a file/folder was not found
- Fixed several version detection bugs in mysqlclient-sys to use pre-generated bindings in more situations
Full Changelog: v2.2.0...v2.2.1
Diesel 2.2.0
This release wouldn't be possible without the support of our contributors and sponsors. If you want to support diesels development, consider joining the reviewer team, submitting PR's, help writing documentation or sponsor the maintainers.
Added
- Support
[print_schema] exclude_custom_type_definitions = ["Vector"]
. If acustom type
matches one element on the list it's skipped. - Added automatic usage of all sqlite
rowid
aliases when no explicit primary key is defined forprint-schema
- Added a
#[dsl::auto_type]
attribute macro, allowing to infer type of query fragment functions - Added the same type inference on
Selectable
derives, which allows skipping specifyingselect_expression_type
most of the time, in turn enabling most queries to be written using just aSelectable
derive. - Added an optional
#[diesel(skip_insertion)]
field attribute to theInsertable
derive macro, allowing fields which map to generated columns to be skipped during insertion. - Support for connection instrumentation. This allows to inspect any query run by your application
- Logging in diesel-cli
- Support for libsqlite3-sys 0.28
- Add
sqlite-integer-primary-key-is-bigint
configuration option, usable with SQLite 3.37 or above, allowing to useBigInt
forINTEGER PRIMARY KEY
columns in SQLite for tables without theWITHOUT ROWID
attribute (SQLite doc). - Support for multiple
print_schema
entry indiesel.toml
(e.g.[print_schema.user1]
), which allows generating multiple schema.rs files - Add support for
COPY TO
andCOPY FROM
statements - Add support for mapping
chrono::Duration
to postgresql'sINTERVAL
sql type - Added
serialize_database_to_buffer
anddeserialize_readonly_database_from_buffer
methods inSqliteConnection
to support serialization/deserialization of SQLite databases to and from byte buffers. - Added
SerializedDatabase
wrapper type for a serialized database that is dynamically allocated by callingserialize_database_to_buffer
. This RAII wrapper deallocates the memory when it goes out of scope withsqlite3_free
.
Changed
- The minimal officially supported rustc version is now 1.78.0
- Deprecated
sql_function!
in favour ofdefine_sql_function!
which provides compatibility with#[dsl::auto_type]
- Deserialization error messages now contain information about the field that failed to deserialize
New Contributors
- @tp-woven made their first contribution in #3650
- @aumetra made their first contribution in #3657
- @sintemal made their first contribution in #3660
- @DannyGoldberg made their first contribution in #3681
- @ernest-rudnicki made their first contribution in #3690
- @cr0sh made their first contribution in #3699
- @dsp made their first contribution in #3713
- @snf made their first contribution in #3714
- @moulins made their first contribution in #3724
- @surban made their first contribution in #3734
- @gmanninglive made their first contribution in #3725
- @BlackDex made their first contribution in #3747
- @retro-git made their first contribution in #3792
- @moyeah made their first contribution in #3805
- @kriswuollett made their first contribution in #3777
- @szepeviktor made their first contribution in #3821
- @hgzimmerman made their first contribution in #3841
- @brocaar made their first contribution in #3854
- @peter-scholtens made their first contribution in #3855
- @formlogic-kirk made their first contribution in #3862
- @yagince made their first contribution in #3888
- @c410-f3r made their first contribution in #3879
- @dullbananas made their first contribution in #3904
- @colem213 made their first contribution in #3908
- @greyblake made their first contribution in #3917
- @longsleep made their first contribution in #3926
- @dennybiasiolli made their first contribution in #3939
- @epompeii made their first contribution in #3849
- @stormshield-kg made their first contribution in #3940
- @sabify made their first contribution in #3943
- @forest1102 made their first contribution in #3796
- @dvogel made their first contribution in #3921
- @Tanguille made their first contribution in #3956
- @ISibboI made their first contribution in #3751
- @DavisRayM made their first contribution in #3982
- @kornelski made their first contribution in #3980
- @momobel made their first contribution in #3977
- @Sagebati made their first contribution in #4002
- @MixusMinimax made their first contribution in #4026
- @tommymcc made their first contribution in #4021
- @dessalines made their first contribution in #4019
- @bachmannscode made their first contribution in #4015
- @McDic made their first contribution in #4037
- @z33ky made their first contribution in #4030
- @JonBoyleCoding made their first contribution in #3944
Full Changelog: v2.1.0...v2.2.0
Diesel 2.1.6
- Fix using
BoxableExpression
with having clauses - Fix using numeric expressions with aliased fields
- Minor documentation fixes
You can support the development of diesel by contributions or by sponsoring the project on Github.
Full Changelog: v2.1.5...v2.1.6
Diesel 2.1.5
- Fix
impl SqlOrd
postgres > postgres_backend feature flag. - Allow
Queryable
to be used with multiple table names. - Update
libsqlite3-sys
to allow version 0.28 as well
Full Changelog: v2.1.4...v2.1.5
Diesel 2.1.4
- Update
libsqlite3-sys
to allow version 0.27 as well
You can support the development of diesel by contributions or by sponsoring the project on Github.
Diesel 2.1.3
- Increased accidentally decreased limit around element count in
DISTINCT ON
andORDER BY
clauses again as that broke existing code
Diesel 2.1.2
- Fixed another potential breaking chaneg around queries containing
DISTINCT ON
andORDER BY
clauses consisting of custom sql expressions (e.g..nullable()
) - Fixed an issue where
#[derive(Selectable)]
and#[diesel(check_for_backend)]
generates invalid rust code if the struct contains lifetimes/generic types
You can support the development of diesel by contributions or by sponsoring the project on Github.