Releases: diesel-rs/diesel
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.
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 36b8801 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.