Releases: diesel-rs/diesel
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
v0.11.1
v0.11.0 (The one where we support MySQL)
The headline features for this release are MySQL support and limited PG upsert support. MySQL support works exactly as you'd expect. Just add features = ["mysql"]
to your Cargo.toml, pass a connection URL (where the scheme is mysql://
and the path is the name of the database) to MysqlConnection::establish
and you're off. Keep in mind that if you're following the getting started guide, MySQL does not support the RETURNING
clause, so methods like get_result
and get_results
won't work.
PostgreSQL upsert was a feature added in PG 9.5 and has been one of our most requested features. The full upsert API is quite complex, but we've added support for ON CONFLICT DO NOTHING
, as this covered the highest percentage of use cases with the lowest amount of work. You can see examples in the docs. Support for the full upsert syntax will be coming in 0.12
In addition to the headline features, there were plenty of quality of life improvements and bug fixes. As always, you can see a full list of changes by reading the changelog.
In addition to the Diesel core team, 6 additional contributors worked on this release. A huge thank you to:
- Brandon W Maister
- Eijebong
- Georg Semmler
- Jimmy Cuadra
- Jovansonlee Cesar
- jacob
I'd also like to thank everybody who helped this release by opening issues, finding bugs, and asking/answering questions in our gitter room.
v0.10.1
The one where we work on stable
v0.10.0 drops support for Rust 1.14 and earlier, and adds support for Rust 1.15 (ON STABLE). diesel_codegen_syntex
has been removed, and is no longer supported.
Additionally, this release adds initial support for the JSON data type in PostgreSQL. There is also a new print-schema
subcommand in Diesel CLI which will show you the code generated by infer_schema!()
. As always, you can find a full list of what has changed in the changelog.
In addition to the Diesel core team, 7 contributors worked on this release. A huge thank you to
- Adrian Perez de Castro
- Eric Kidd
- Georg Semmler
- Jake Goulding
- Sergio Benitez
- Severen Redwood
- Stu Black
I'd also like to thank everybody who helped this release by opening issues, finding bugs, and asking/answering questions in our gitter room.
There were several big features that I had hoped to get done in time for this release, but my daughter inherited my troll gene and decided to come early. If you were hoping for MySQL support, blame Ruby. In the mean time, here is a picture of Ruby.
Release v0.9.1
This release contains several minor bugfixes. These were not caused by the 0.9 release, but were bugs that I didn't want to leave unfixed until 0.10.
v0.9.0
0.9.0 is a fairly large release, bringing several important quality of life features. The main features of this release are:
- Support for composite primary keys
- Support for PG schemas other than public
- Batch insert support for SQLite
This release also includes numerous bug fixes. In particular several bugs which occurred from using empty arrays have all been fixed. For full release notes, see the CHANGELOG
v0.8.0
This release is primarily focused around diesel_codegen, which has been entirely rewritten to use the new Macros 1.1 framework. This means that Diesel should continue to work on all future nightlies, and will be much
more compatible with other crates which use codegen such as serde. This did reqiure some breaking changes to their API, but it should be a straightforward migration. the CHANGELOG has migration instructions.
The macros 1.1 rewrite took the majority of our time, so this release is fairly light on features, but we do have a few great quality of life additions. See the CHANGELOG for details.
A huge thank you to all the contributors who worked on this release:
- Cengiz Can
- Christopher Brickley
- David Szotten
- Georg Semmler
- Jimmy Cuadra
- Josh Holmer
- Rasmus Kaj
- Robert Maloney
- Sebastian Blei
v0.7.2
v0.7.1
This is a bugfix release containing two major fixes. Most importantly, the Copy
constraint has been removed from Identifiable::Id
. This was an oversight which ended up making it impossible to use #[changeset_for]
with string IDs. This fix does technically constitute a breaking change to public API, but I'm doing this in a patch release as it affects a recently introduced trait and I consider it more of a bugfix. We're still 0.x, so semver doesn't strictly hold yet. Additionally, the macro form of #[belongs_to]
supported specifying custom foriegn keys, while the procedural form did not. This has been remedied.