Releases: diesel-rs/diesel
Diesel 2.3.3
Fixed
- Fix displaying binds in instrumentations for
#[derive(MultiConnection)] - Support artifact attestation for binaries build for releases
- Stop using absolute paths in generated diesel.toml
- Explicitly qualify
Okin code generated by derives to avoid naming conflicts
Starting with Diesel-CLI 2.3.3 you can verify that you downloaded the correct binaries via GitHub's artifact attestation
gh attestation verify diesel_cli-x86_64-unknown-linux-gnu.tar.xz -R diesel-rs/diesel
Full Changelog: v2.3.2...v2.3.3
You can support the development of Diesel by:
- Contributing Code, Documentation or Guides. Checkout the planing for Diesel 2.4 for open tasks.
- Providing knowledge and help to maintain the MySQL/MariaDB backend. This is currently the only in-tree backend that is not used by any maintainers, so having someone around that actually uses this backend would be very helpful for the Diesel project.
- Answering questions in our discussion forum
- Reporting bugs in our issue tracker
- Helping triaging issues in our issue tracker
- Sponsoring the maintainers.
Diesel 2.3.2
Fixed
- Fixed an incompatibility with libmariadb versions shipped by debian
- Fixed docs.rs builds
- Fixed applying patch file schema.rs file with formatting
- Allow to compare DatabaseErrorKind values
(Diesel 2.3.1 did not contain any changes beside the version bump to retrigger the docs.rs build)
Full Changelog: v2.3.0...v2.3.2
You can support the development of Diesel by:
- Contributing Code, Documentation or Guides. Checkout the planing for Diesel 2.4 for open tasks.
- Providing knowledge and help to maintain the MySQL/MariaDB backend. This is currently the only in-tree backend that is not used by any maintainers, so having someone around that actually uses this backend would be very helpful for the Diesel project.
- Answering questions in our discussion forum
- Reporting bugs in our issue tracker
- Helping triaging issues in our issue tracker
- Sponsoring the maintainers.
Diesel 2.3.0
This release includes a several large extensions to the query DSL provided by Diesel and also helps increases the number of platforms you can use Diesel on out of the box. Notable changes include:
- Improved query construction via
#[derive(HasQuery)] - Added support for window functions
- Using SQLite with WASM in your browser
- Extended support for various types, functions and operators in the PostgreSQL backend
- Support for
JSONandJSONBin the SQLite backend
See the release blog for the full announcement
You can support the development of Diesel by:
- Contributing Code, Documentation or Guides. Checkout the planing for Diesel 2.4 for open tasks.
- Providing knowledge and help to maintain the MySQL/MariaDB backend. This is currently the only in-tree backend that is not used by any maintainers, so having someone around that actually uses this backend would be very helpful for the Diesel project.
- Answering questions in our discussion forum
- Reporting bugs in our issue tracker
- Helping triaging issues in our issue tracker
- Sponsoring the maintainers.
Added
- Added
limit()andoffset()DSL to combination clauses such asUNION - Fixed
#[derive(Identifiable)]ignoring attribute#[diesel(serialize_as)]on primary keys - Added embedded struct support for
AsChangesetvia#[diesel(embed)] - Added a
#[diesel(skip_update)]attribute for theAsChangesetderive to skip updating a field present in the struct - Support for libsqlite3-sys 0.35.0
- Add support for built-in PostgreSQL range operators and functions
- Support for postgres multirange type
- Added
diesel::r2d2::TestCustomizer, which allows users to customize theirdiesel::r2d2::Pools
in a way that makes the pools suitable for use in parallel tests. - Added support for built-in PostgreSQL range operators and functions
- Added support for various built-in PostgreSQL array functions
- Added
JsonandJsonbsupport for the SQLite backend. - Added a
#[diesel::declare_sql_function]attribute macro to easily define support for
multiple sql functions at once via anextern "SQL"block - Support
[print_schema] allow_tables_to_appear_in_same_query_config = "fk_related_tables"to generate separateallow_tables_to_appear_in_same_query!calls containing only tables that are related through foreign keys. (Default:"all_tables".) It is not possible to build queries using two tables that don't appear in the sameallow_tables_to_appear_in_same_query!call, but that macro generates O(n²) rust code, so this option may be useful to reduce compilation time. (#4333) - Added
wasm32-unknown-unknowntarget support for sqlite backend. - Add support for the
CASToperator - Support
[print_schema] allow_tables_to_appear_in_same_query_config = "none"to generate noallow_tables_to_appear_in_same_query!calls. (Default:"all_tables".). (#4333) - Add
[print_schema] pg_domains_as_custom_typesparameter to generate custom types for PostgreSQL domains that matches any of the regexes in the given list. (Default:[].) This option allows an application to selectively give special meaning for the serialization/deserialization of these types, avoiding the default behavior of treating the domain as the underlying type. (#4592) - Add support for batch insert and upsert statements with returning for SQLite
- Add support for window functions and aggregate expressions.
Fixed
- Fixed diesel thinking
a.eq_any(b)was non-nullable even ifaandbwere nullable. - Generate
InstrumentationEvent::BeginTransactionfor immediate and exclusive transactions in SQLite - Use a single space instead of two spaces between
DELETE FROM. - Diesel CLI now ensures that migration versions are always unique. If it fails to generate a unique version, it will return an error. The new version format remains compatible with older Diesel versions.
- Updated
ipnetworkto allow version 0.21.
Changed
- Use distinct
DIESEL_LOGlogging filter env variable instead of the defaultRUST_LOGone (#4575) - The minimal supported Rust version is now 1.86.0
Full Changelog: v2.2.0...v2.3.0
Diesel 2.2.12
Fixed
- Added support for libsqlite3-sys 0.35.0
- Fixed a wrong oid for the
oid[]type in the PostgreSQL backend - Worked around an issue with broken nullable detection with certain versions of libmysqlclient shipped by ubuntu
- Improved compiler errors in many more cases
You can support the development of Diesel by contributions or by sponsoring the project on GitHub
Call for Input
We are looking for input on a newly designed derive to make constructing queries easier. See here for details.
Full Changelog: v2.2.11...v2.2.12
Diesel 2.2.11
What's Changed
- Disallow mixing aggregate and non-aggregate expressions in
DISTINCT ONclauses - Fixed an item referenced by a non-absolute path in
#[derive(MultiConnection)] - Improved compiler errors in some cases
- Improved the documentation for creating SqliteConnections for concurrent applications
You can support the development of Diesel by contributions or by sponsoring the project on Github
Full Changelog: v2.2.10...v2.2.11
Diesel 2.2.10
Fixed
- Support for libsqlite3-sys 0.33.0
- Fixed potential ambiguities in code generated by various derives
You can support the development of diesel by contributions or by sponsoring the project on Github
Full Changelog: v2.2.9...v2.2.10
Diesel 2.2.9
Fixed
- Fix an issue where
diesel migration generate --diff-schemaincorrectly uses the primary key of table B as the referenced column rather than the primary key of table A when B has a foreign key pointing to table A. - Bump maximal supported libsqlite3-sys version to 0.32.0 and add explicit feature entries for the
uuidandserde_jsonfeature. - Fixed an issue where diesel generated unnamed prepared statements would fail with an
unanmed prepared statement not founderror with pgbouncer. - Fix an issue with converting
ipnet::Ipnetvalues with an subnet to SQL values
You can support the development of diesel by contributions or by sponsoring the project on Github
Full Changelog: v2.2.8...v2.2.9
Diesel 2.2.8
Fixed
- Allow
#[diesel(check_for_backend(_))]to check fields with#[diesel(embed)]annotations - Improve custom compile error message around
CompatibleType - Fix a bug that restricted the number of allowed columns in
COPY FROMstatements to 12 - Expose some SqliteValue helper functions
- Use consistent whitespace in
ASC/DESC,DISTINCT ON, andDELETE FROMclauses
You can support the development of diesel by contributions or by sponsoring the project on Github
Full Changelog: v2.2.7...v2.2.8
Diesel 2.2.7
Fixed
- Fixed diesel thinking
a.eq_any(b)was non-nullable even ifaandbwere nullable. - Generate
InstrumentationEvent::BeginTransactionfor immediate and exclusive transactions in SQLite - Minimize the amount of duplicated code generated for
diesel::debug_query - Updated
ipnetworkto allow version 0.21. - Updated
libsqlite3-systo allow version 0.31.0 - Updated
pq-systo allow version 0.7.0 - Add support for numeric operators (+-*/) in
#[diesel::auto_type] - Add support for joins to sub-jons to aliases
You can support the development of diesel by contributions or by sponsoring the project on Github
Full Changelog: v2.2.6...v2.2.7
Diesel 2.2.6
What's Changed
- Remove more mentions of gitter from the documentation
Full Changelog: v2.2.5...v2.2.6