Changelog
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: https://github.com/diesel-rs/diesel/compare/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::newfunction due to unsoundness
You can support the development of diesel by contributions or by sponsoring the project on Github.
Full Changelog: https://github.com/diesel-rs/diesel/compare/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 namedRowas field type - Fixed a regression that prevented using
mysqlclient-sys0.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: https://github.com/diesel-rs/diesel/compare/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 typematches one element on the list it’s skipped. - Added automatic usage of all sqlite
rowidaliases 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
Selectablederives, which allows skipping specifyingselect_expression_typemost of the time, in turn enabling most queries to be written using just aSelectablederive. - Added an optional
#[diesel(skip_insertion)]field attribute to theInsertablederive 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-bigintconfiguration option, usable with SQLite 3.37 or above, allowing to useBigIntforINTEGER PRIMARY KEYcolumns in SQLite for tables without theWITHOUT ROWIDattribute (SQLite doc). - Support for multiple
print_schemaentry indiesel.toml(e.g.[print_schema.user1]), which allows generating multiple schema.rs files - Add support for
COPY TOandCOPY FROMstatements - Add support for mapping
chrono::Durationto postgresql’sINTERVALsql type - Added
serialize_database_to_bufferanddeserialize_readonly_database_from_buffermethods inSqliteConnectionto support serialization/deserialization of SQLite databases to and from byte buffers. - Added
SerializedDatabasewrapper 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 https://github.com/diesel-rs/diesel/pull/3650
- @aumetra made their first contribution in https://github.com/diesel-rs/diesel/pull/3657
- @sintemal made their first contribution in https://github.com/diesel-rs/diesel/pull/3660
- @DannyGoldberg made their first contribution in https://github.com/diesel-rs/diesel/pull/3681
- @ernest-rudnicki made their first contribution in https://github.com/diesel-rs/diesel/pull/3690
- @cr0sh made their first contribution in https://github.com/diesel-rs/diesel/pull/3699
- @dsp made their first contribution in https://github.com/diesel-rs/diesel/pull/3713
- @snf made their first contribution in https://github.com/diesel-rs/diesel/pull/3714
- @moulins made their first contribution in https://github.com/diesel-rs/diesel/pull/3724
- @surban made their first contribution in https://github.com/diesel-rs/diesel/pull/3734
- @gmanninglive made their first contribution in https://github.com/diesel-rs/diesel/pull/3725
- @BlackDex made their first contribution in https://github.com/diesel-rs/diesel/pull/3747
- @retro-git made their first contribution in https://github.com/diesel-rs/diesel/pull/3792
- @moyeah made their first contribution in https://github.com/diesel-rs/diesel/pull/3805
- @kriswuollett made their first contribution in https://github.com/diesel-rs/diesel/pull/3777
- @szepeviktor made their first contribution in https://github.com/diesel-rs/diesel/pull/3821
- @hgzimmerman made their first contribution in https://github.com/diesel-rs/diesel/pull/3841
- @brocaar made their first contribution in https://github.com/diesel-rs/diesel/pull/3854
- @peter-scholtens made their first contribution in https://github.com/diesel-rs/diesel/pull/3855
- @formlogic-kirk made their first contribution in https://github.com/diesel-rs/diesel/pull/3862
- @yagince made their first contribution in https://github.com/diesel-rs/diesel/pull/3888
- @c410-f3r made their first contribution in https://github.com/diesel-rs/diesel/pull/3879
- @dullbananas made their first contribution in https://github.com/diesel-rs/diesel/pull/3904
- @colem213 made their first contribution in https://github.com/diesel-rs/diesel/pull/3908
- @greyblake made their first contribution in https://github.com/diesel-rs/diesel/pull/3917
- @longsleep made their first contribution in https://github.com/diesel-rs/diesel/pull/3926
- @dennybiasiolli made their first contribution in https://github.com/diesel-rs/diesel/pull/3939
- @epompeii made their first contribution in https://github.com/diesel-rs/diesel/pull/3849
- @stormshield-kg made their first contribution in https://github.com/diesel-rs/diesel/pull/3940
- @sabify made their first contribution in https://github.com/diesel-rs/diesel/pull/3943
- @forest1102 made their first contribution in https://github.com/diesel-rs/diesel/pull/3796
- @dvogel made their first contribution in https://github.com/diesel-rs/diesel/pull/3921
- @Tanguille made their first contribution in https://github.com/diesel-rs/diesel/pull/3956
- @ISibboI made their first contribution in https://github.com/diesel-rs/diesel/pull/3751
- @DavisRayM made their first contribution in https://github.com/diesel-rs/diesel/pull/3982
- @kornelski made their first contribution in https://github.com/diesel-rs/diesel/pull/3980
- @momobel made their first contribution in https://github.com/diesel-rs/diesel/pull/3977
- @Sagebati made their first contribution in https://github.com/diesel-rs/diesel/pull/4002
- @MixusMinimax made their first contribution in https://github.com/diesel-rs/diesel/pull/4026
- @tommymcc made their first contribution in https://github.com/diesel-rs/diesel/pull/4021
- @dessalines made their first contribution in https://github.com/diesel-rs/diesel/pull/4019
- @bachmannscode made their first contribution in https://github.com/diesel-rs/diesel/pull/4015
- @McDic made their first contribution in https://github.com/diesel-rs/diesel/pull/4037
- @z33ky made their first contribution in https://github.com/diesel-rs/diesel/pull/4030
- @JonBoyleCoding made their first contribution in https://github.com/diesel-rs/diesel/pull/3944
Full Changelog: https://github.com/diesel-rs/diesel/compare/v2.1.0…v2.2.0
Diesel 2.1.6
- Fix using
BoxableExpressionwith 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: https://github.com/diesel-rs/diesel/compare/v2.1.5…v2.1.6
Diesel 2.1.5
- Fix
impl SqlOrdpostgres > postgres_backend feature flag. - Allow
Queryableto be used with multiple table names. - Update
libsqlite3-systo allow version 0.28 as well
Full Changelog: https://github.com/diesel-rs/diesel/compare/v2.1.4…v2.1.5
Diesel 2.1.4
- Update
libsqlite3-systo 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 ONandORDER BYclauses again as that broke existing code
Diesel 2.1.2
- Fixed another potential breaking chaneg around queries containing
DISTINCT ONandORDER BYclauses 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.
Diesel 2.1.1
Fixed
- Fixed an issue in diesel-cli that lead to using unquoted table names in one of the internal queries
- Fixed a bug in
diesel print-schemathat lead to generating invalidtable!macros if both the#[sql_name]and the#[max_lenght]attribute are present - Fixed an issue in diesel-cli that lead to ignoring certain foreign key constraints for postgresql
- Fixed an crash while using
diesel print-schemawith really old sqlite versions - Fixed an issue where
#[diesel(check_for_backend)]ignored#[diesel(deserialize_as)]attributes - Fixed several issues with the new
#[derive(MultiConnection)]feature - Fixed some edge cases in our sqlite timestamp parsing behaviour
diesel migration generate --diff-schemanow respects table filters as setup forprint-schemaviadiesel.toml- Fixed a potential breaking change around queries containing
DISTINCT ONandORDER BYclauses consisting of custom sql expressions (e.g.diesel::dsl::sql)
Added
- Support for bigdecimal 0.4
You can support the development of diesel by sponsoring the project on github