Releases: diesel-rs/diesel
v0.15.2
v0.15.0
This is a minor release containing a few quality of life features. We were originally planning to ship these with 1.0, but they're specifically needed by some production users.
The biggest feature here is the ability to manually specify the ON
clause of a join, which is separate from the associations API. You can also use this to join to tables which otherwise have no association between them (but this will also require you to invoke enable_multi_table_joins!
).
In addition to the Diesel core team, 6 people contributed to this release. A huge thank you to:
- Alex Kitchens
- Maciej Dziardziel
- Pyry Kontio
- Sunrin SHIMURA (keen)
- king6cong
- wangcong
v0.14.1
v0.13.1
v0.14.0 (The one with all the joins)
One of the oldest issues in Diesel was that we limited the number of tables that could appear in a single query to 2. The problem was never about having more than 2 tables, but safely and correctly proving in the type system what would and could not be selected from that join.
With 0.14, that restriction has been removed. The query builder now supports joins containing an arbitrary number of tables. You may find that you need to call enable_multi_table_joins!
for a few tables, but that need should go away in the future as specialization matures.
In addition to the headline feature, this release includes support for several new datatypes (including NUMERIC
/DECIMAL
which has been widely requested), and other small quality of life improvements. As always, you can see the CHANGELOG for the full release notes.
The Road to 1.0
A recent point of discussion among the core team has been what remaining blockers we have for releasing a version 1.0. The roadmap doesn't necessarily include everything that would make us "feature complete". It focuses on the set of changes that we think are likely to require breaking changes.
We expect that this will be the last 0.x release. You can follow the milestone here. Additionally, we all agreed that the biggest blocker to a 1.0 release is improvements to our documentation. We're going to be doing a big push in the coming months to clean things up, and are looking for help from the community. You can follow that project here, or just come join us in our gitter room to talk about how you can help.
There will be a blog post with more details about this in the coming weeks.
Contributors
In addition to the core team, 10 people contributed to this release. A huge thank you to:
- Dorian Scheidt
- FliegendeWurst
- Georg Semmler
- JD Gonzales
- Jim McGrath
- Kieran
- Ruben De Smet
- Sunrin SHIMURA (keen)
- Tshepang Lekhonkhobe
- theduke
Core Team Changes
With this release, we are also making some changes to the core team to better reflect the current active maintainers. In recognition of his fantastic work, we're pleased to welcome @Eijebong to the core team. Many early members of the team have also since moved onto other projects. To reflect that, Mike Piccolo, Matt Casper, and Sam Phippen are all being moved to the core team alumni.
0.13.0
This release adds support for date and time types with SQLite, allows for raw SQL to use bind parameters, and updates our dependencies (notably allowing serde 1.0).
As always, you can find the full release notes in the CHANGELOG
In addition to the core team, 11 people contributed to this release. A huge thank you to:
- Tobias Schottdorf
- Dorian Scheidt
- Danilo Bargen
- Enether
- John Gallagher
- James Kominick
- pfernie
- Blake Pettersson
- Mark Catley
- Bastien Orivel
- Sunrin SHIMURA (keen)
- kardeiz
v0.12.0
The main feature of this release is support for PG's ON CONFLICT DO UPDATE
, which brings our support for upsert on PG to nearly the entire range of possible syntax. Additionally, this release contains support for some new data types and operators, and several bug fixes.
Finally, the way that we handle joins has been going through a huge overhaul internally. For the most part this doesn't affect public API yet, but you may notice an increase in compile times, and more things "just working" the way you'd expect when working with joins. This work will hopefully lead to 3+ table joins in the next release.
As always, you can find the full release notes in the CHANGELOG
In addition to the core team, 11 people contributed to this release. A huge thank you to:
- Taryn Hill
- Eijebong
- Martijn de Haan
- Mrmaxmeier
- Daniel Durante
- Patrick Fernie
- Erich Cordoba
- Sid Ngeth
- pfernie
- John Gallagher
- theduke
v0.11.4
This release addresses a memory safety issue in our interaction with libmysqlclient. There was an undocumented assumption made by that library which we were not taking into consideration, resulting in a use-after-free bug. This was resulting in a segmentation fault on some systems.
While this issue is quite serious, we are not issuing a CVE or a security advisory. The bug resulted in 4 bytes being written to a handful of values. It could not be exploited to cause a security issue.
v0.11.3
v0.11.2
This release has no code changes other than bumping the allowed version
for pq-sys and mysqlclient-sys. The versions released alongside 0.11
attempted to generate the bindings at compile time. This required a
bleeding edge version of clang, and caused too many issues for too many
people. The latest versions of those two libraries include pre-generated
bindings.
If you need to use bindings generated by the old version, you can
explicitly depend on that version with cargo update --precise