Skip to content

Changelog

v0.7.2

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

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.

v0.7.0

The headline feature of this version is associations. Just add #[belongs_to(User)] above your struct, and it becomes incredibly easy to manipulate larger batches of data. See http://docs.diesel.rs/diesel/associations/index.html for a full guide.

Diesel is taking a slightly different approach to what you may have seen in the past, which I’m calling “non-invasive associations”. In contrast to something like Active Record or Ecto, where the association lives on the parent, the data is completely independent. The type of a user and all its posts is (User, Vec<Post>).

This release also marks the elimination of Diesel’s reliance on procedural macros. They’re still available as an option, and their usage is recommended. However, a lot of people have had a desire to shy away from them. For all of our code generation that does not perform IO, there is now a completely stable non-procedural macro, which has been designed to work with the custom_derive crate. See the CHANGELOG for a full list.

diesel_codegen has been split into two crates. This is a breaking change which will affect 100% of our users. Please see https://github.com/diesel-rs/diesel/commit/36b8801bf5e9594443743e6a7c62e29d3dce36b7 for more information on how to migrate.

This release has also had a contributor who has gone above and beyond to help out. I’d like to take this opportunity to announce the 4th addition to the Diesel core team, @killercup! Your contributions have been much appreciated, and your code review has been invaluable.

Thank you to everybody who contributed to this release.

  • derekdreery
  • kardeiz
  • Michael Macias
  • Mike Piccolo
  • Pascal Hertleif
  • Richard Dodd
  • Tim Brooks

On to 0.8! With this release, we are approaching the benchmarks I had set for 1.0. We will still have at least 2 more releases before the 1.0 release, but it’s quickly becoming the next target. We will be publishing a roadmap soon.