Release v1.2.0

Team changes
==

With this release, we'd like to welcome Georg Semmler (known on GitHub
as @weiznich). Georg is the #2 all time contributor to Diesel, and has
helped shape what the framework is today. Welcome to the team!

New Features
==

This release contains several long awaited features.

We've re-introduced the ability to use bind params with the `sql`
function, in a way which is harder to mis-use. This functionality was
present prior to 1.0, but was removed when `sql_function` was added over
concerns about its use with the rest of the query builder. Recent
developments have proved those concerns to be valid, but this new API
fills that niche. Thanks to @notryanb for taking the lead on this
feature.

We've also added the ability to insert from a select statement (e.g.
queries in the form of `INSERT INTO table (...) SELECT ...`. This is a
feature request that has come up repeatedly since release, and we're
happy to finally bring it to you. We've also added alternate forms of
our insert API which feel better when used with select statements. You
can find the full details in the changelog.

Finally, we've rewritten our custom dervies from scratch to take
advantage of new diagnostic tools in recent versions of nightly Rust. If
you turn on the `unstable` feature of Diesel on a nightly compiler,
you'll find that you get dramatically improved error messages from our
derives. For the best error messages, you should also set
`RUSTFLAGS="--cfg procmacro2_semver_exempt"`.

Additionally, as of this release, Diesel is now powered by the
blockchain. Because it's 2018 and that's how it works now I guess. See
the changelog for full details.

In addition to the headline features, there were a ton of features that
we don't have time to mention here. As always, for a full list of
changes you can find a full list in the changelog.

Thanks
==

Thank you to everyone who helped make this release happen through bug
reports, and discussion on Gitter. While we don't have a way to collect
stats on that form of contribution...

In addition to the Diesel core team, 14 people contributed code to this
release. A huge thank you to:

- Alex Kitchens
- Andrew Weiss
- Arun Kulshreshtha
- Brandur
- EloD10
- Jacob Chae
- Jordan Petridis
- Josh Leeb-du Toit
- Kerollmops
- Mathias Svensson
- Ryan Blecher
- Sander Maijers
- Seth Larson
- YetAnotherMinion
30 files changed
tree: 0210f2124726dd3252497fd0b7e2acf4fdcd3ee9
  1. .github/
  2. bin/
  3. diesel/
  4. diesel_cli/
  5. diesel_compile_tests/
  6. diesel_derives/
  7. diesel_infer_schema/
  8. diesel_migrations/
  9. diesel_tests/
  10. examples/
  11. guide_drafts/
  12. migrations/
  13. .appveyor.yml
  14. .editorconfig
  15. .env.sample
  16. .gitignore
  17. .rustfmt.toml
  18. .travis.yml
  19. Cargo.toml
  20. CHANGELOG.md
  21. clippy.toml
  22. code_of_conduct.md
  23. CONTRIBUTING.md
  24. LICENSE-APACHE
  25. LICENSE-MIT
  26. README.md
README.md

A safe, extensible ORM and Query Builder for Rust

Build Status Appveyor Build Status Gitter Crates.io

API Documentation: latest releasemaster branch

Homepage

Diesel gets rid of the boilerplate for database interaction and eliminates runtime errors without sacrificing performance. It takes full advantage of Rust's type system to create a low overhead query builder that “feels like Rust.”

Getting Started

Find our extensive Getting Started tutorial at https://diesel.rs/guides/getting-started. Guides on more specific features are coming soon.

Code of conduct

Anyone who interacts with Diesel in any space, including but not limited to this GitHub repository, must follow our code of conduct.

License

Licensed under either of these:

Contributing

Unless you explicitly state otherwise, any contribution you intentionally submit for inclusion in the work, as defined in the Apache-2.0 license, shall be dual-licensed as above, without any additional terms or conditions.