Download Latest Version diesel_cli-x86_64-apple-darwin.tar.xz (5.9 MB)
Email in envelope

Get an email when there's a new version of Diesel

Home / v2.3.0
Name Modified Size InfoDownloads / Week
Parent folder
sha256.sum 2025-09-12 613 Bytes
source.tar.gz 2025-09-12 1.0 MB
source.tar.gz.sha256 2025-09-12 81 Bytes
diesel_cli-x86_64-pc-windows-msvc.zip 2025-09-12 22.3 MB
diesel_cli-x86_64-pc-windows-msvc.zip.sha256 2025-09-12 105 Bytes
diesel_cli-x86_64-unknown-linux-gnu.tar.xz 2025-09-12 6.3 MB
diesel_cli-x86_64-unknown-linux-gnu.tar.xz.sha256 2025-09-12 110 Bytes
diesel_cli.cdx.xml 2025-09-12 154.1 kB
dist-manifest.json 2025-09-12 28.5 kB
diesel_cli-aarch64-apple-darwin.tar.xz 2025-09-12 5.7 MB
diesel_cli-aarch64-apple-darwin.tar.xz.sha256 2025-09-12 106 Bytes
diesel_cli-aarch64-unknown-linux-gnu.tar.xz 2025-09-12 6.3 MB
diesel_cli-aarch64-unknown-linux-gnu.tar.xz.sha256 2025-09-12 111 Bytes
diesel_cli-installer.ps1 2025-09-12 19.8 kB
diesel_cli-installer.sh 2025-09-12 50.7 kB
diesel_cli-x86_64-apple-darwin.tar.xz 2025-09-12 5.9 MB
diesel_cli-x86_64-apple-darwin.tar.xz.sha256 2025-09-12 105 Bytes
Diesel 2.3.0 source code.tar.gz 2025-09-12 1.0 MB
Diesel 2.3.0 source code.zip 2025-09-12 1.9 MB
README.md 2025-09-12 4.7 kB
Totals: 20 Items   50.8 MB 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 JSON and JSONB in 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() and offset() DSL to combination clauses such as UNION
  • Fixed #[derive(Identifiable)] ignoring attribute #[diesel(serialize_as)] on primary keys
  • Added embedded struct support for AsChangeset via #[diesel(embed)]
  • Added a #[diesel(skip_update)] attribute for the AsChangeset derive 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 their diesel::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 Json and Jsonb support for the SQLite backend.
  • Added a #[diesel::declare_sql_function] attribute macro to easily define support for multiple sql functions at once via an extern "SQL" block
  • Support [print_schema] allow_tables_to_appear_in_same_query_config = "fk_related_tables" to generate separate allow_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 same allow_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-unknown target support for sqlite backend.
  • Add support for the CAST operator
  • Support [print_schema] allow_tables_to_appear_in_same_query_config = "none" to generate no allow_tables_to_appear_in_same_query! calls. (Default: "all_tables".). (#4333)
  • Add [print_schema] pg_domains_as_custom_types parameter 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 if a and b were nullable.
  • Generate InstrumentationEvent::BeginTransaction for 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 ipnetwork to allow version 0.21.

Changed

  • Use distinct DIESEL_LOG logging filter env variable instead of the default RUST_LOG one (#4575)
  • The minimal supported Rust version is now 1.86.0

Full Changelog: https://github.com/diesel-rs/diesel/compare/v2.2.0...v2.3.0

Source: README.md, updated 2025-09-12