Skip to content

Releases: diesel-rs/diesel

v0.11.2

19 Feb 15:32
Compare
Choose a tag to compare

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

17 Feb 20:21
Compare
Choose a tag to compare

This release is a minor bug fix release that handles two edge cases in 0.11's new behavior.

v0.11.0 (The one where we support MySQL)

16 Feb 21:19
Compare
Choose a tag to compare

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

08 Feb 16:20
Compare
Choose a tag to compare

This is a minor bugfix release to address a bug in 0.10.0 involving infer_table_from_schema! specifying a table from a schema other than public. Two version bumps which were backwards compatible have also been included.

The one where we work on stable

02 Feb 18:42
Compare
Choose a tag to compare

It's happening

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.

baby ruby

Release v0.9.1

11 Dec 10:41
Compare
Choose a tag to compare
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

08 Dec 21:31
Compare
Choose a tag to compare

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

10 Oct 19:31
Compare
Choose a tag to compare

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

20 Aug 13:13
Compare
Choose a tag to compare

This is an extremely minor update. It has no changes other than increasing the maximum allowed syntex version, and changing the nightly that we test against in .travis.yml

v0.7.1

11 Aug 11:40
Compare
Choose a tag to compare

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.