All versions since Diesel 2.3.13
Diesel 2.3.13
Fixed
- Fixed interaction between
then_order_byanddistinct_onto reject otherwise broken SQL queries - Fix a
clippy::redundant_field_nameslint warning generated by#[derive(QueryableByName)] - MySQL and MariaDB now decode a value according to the signedness the server reports for its column, so a
SMALLINT UNSIGNEDholding 40000 read asIntegerreturns 40000 rather than -25536 - Potential stackoverflow on deeply nested JSONB values for the SQLite backend
- Fixed a possible null pointer dereference in the custom SQLite aggregate function support when SQLite fails to allocate the aggregate state
- Fixed undefined behavior in
SqliteConnection::serialize_database_to_bufferwhen SQLite returns a null buffer for an empty deserialized database or an allocation failure.SerializedDatabase::as_sliceis deprecated in favor of the newSerializedDatabase::try_as_slice, which reports the allocation failure as an error instead of panicking. - Fixed SQLite value reads to panic instead of creating invalid slices or returning incorrect data when SQLite allocation fails. Row iteration reports a failed value duplication as an error instead.
- Fixed a use after free where reading a SQLite value in a second representation, for example a blob as text, invalidated slices another
SqliteValueof the same field had returned. Such a read now works on a copy of the value. - Fixed broken prepared statement caching for queries using positional ordering and window functions with frame offset clauses
- Fixed a potential panic while deserializing a
PgIntervaltype from a too short buffer - Fixed encoding floating point values without a decimal part in a roundtrip safe way in SQLite’s jsonb encoding
- Fixed a potential panic while deserializing a
PgIntervaltype from a too short buffer - Fixed potential code injections in the generated schema.rs file caused by malicious database identifiers
I would like to thank @LucaCappelletti94 , @Eh2406 (as @rustfoundation AI security engineer) and @weareaisle for reporting issues covered in this release.
Full Changelog: https://github.com/diesel-rs/diesel/compare/v2.3.12…v2.3.13
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.14
Fixes
- Add support for sqlite-wasm-rs 0.6
- Fixed a failed top-level
COMMIT, such as a deferred foreign key violation on SQLite, leaving the transaction open - Fixed
embed_migrations!making the crate hash depend on the directory the crate is built in, which broke reproducible builds - Correctly implement
Error::sourcefor our error types - Workaround a potential future breaking change in rust
See here for the full changes: Full Changelog: https://github.com/diesel-rs/diesel/compare/v2.3.13…v2.3.14
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.4.0 Latest
I’m happy to announce the release of Diesel 2.4.0, a ORM and query builder for Rust. This release contains the development of the last 14 months, including the contributions of 76 people.
Headline features include:
- Support for database views
- Improved support for enums
- Support for batch update statements
- A distinct backend for MariaDB
- Extended support for SQLite functionality, including hooks, pragmas and BLOB’s
- Support for using Diesel (SQLite) in a no-std environment
- Migrations written in Rust
- Support for
diesel-asyncin#[derive(MultiConnection)]
See the announcement blog post about details to each feature: https://diesel.rs/news/2_4_0_release.html
I would like to use this possibility to thank all contributors and sponsors that made this release possible. A special thank goes to @LucaCappelletti94 for his large contributors to the release, to Prototype Fund for funding the development of the Database View support and to RustFoundation for funding the general maintainance.
Nevertheless, the Diesel project is always looking for support. You can help by:
- Contributing Code, Documentation, or Guides.
- Answering questions in our discussion forum
- Reporting bugs in our issue tracker
- Helping to triage issues in our issue tracker
- Sponsoring the maintainers.
- Filling out this survey about the current state and future developments of Diesel
Full Changelog: https://github.com/diesel-rs/diesel/compare/v2.3.0…v2.4.0