Release 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][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][changelog] for details.

[changelog]: https://github.com/diesel-rs/diesel/blob/v0.8.0/CHANGELOG.md

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
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 13bbb11..8afc58d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,11 +4,11 @@
 This project adheres to [Semantic Versioning](http://semver.org/), as described
 for Rust libraries in [RFC #1105](https://github.com/rust-lang/rfcs/blob/master/text/1105-api-evolution.md)
 
-## Unreleased
+## [0.8.0] - 2016-10-10
 
 ### Added
 
-* Added support for composite primary keys.
+* Added partial support for composite primary keys.
 
 * Added support for PostgreSQL `NULLS FIRST` and `NULLS LAST` when sorting.
   See http://docs.diesel.rs/diesel/prelude/trait.SortExpressionMethods.html
diff --git a/diesel/Cargo.toml b/diesel/Cargo.toml
index 21ccd58..9aa1657 100644
--- a/diesel/Cargo.toml
+++ b/diesel/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "diesel"
-version = "0.7.1"
+version = "0.8.0"
 authors = ["Sean Griffin <sean@seantheprogrammer.com>"]
 license = "MIT OR Apache-2.0"
 description = "A safe, extensible ORM and Query builder"
diff --git a/diesel_cli/Cargo.toml b/diesel_cli/Cargo.toml
index f73f4a6..5aaad3a 100644
--- a/diesel_cli/Cargo.toml
+++ b/diesel_cli/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "diesel_cli"
-version = "0.7.0"
+version = "0.8.0"
 authors = ["Sean Griffin <sean@seantheprogrammer.com>"]
 license = "MIT OR Apache-2.0"
 description = "Provides the CLI for the Diesel crate"
@@ -15,7 +15,7 @@
 [dependencies]
 chrono = "0.2.17"
 clap = "2.11"
-diesel = { version = "0.7.0", default-features = false }
+diesel = { version = "0.8.0", default-features = false }
 dotenv = "0.8.0"
 
 [dev-dependencies]
diff --git a/diesel_codegen/Cargo.toml b/diesel_codegen/Cargo.toml
index 99a61cd..fefdcb1 100644
--- a/diesel_codegen/Cargo.toml
+++ b/diesel_codegen/Cargo.toml
@@ -1,13 +1,19 @@
 [package]
 name = "diesel_codegen"
-version = "0.7.2"
+version = "0.8.0"
 authors = ["Sean Griffin <sean@seantheprogrammer.com>"]
+license = "MIT OR Apache-2.0"
+description = "Custom derive and procedural macros for Diesel"
+documentation = "http://docs.diesel.rs"
+homepage = "http://diesel.rs"
+repository = "https://github.com/diesel-rs/diesel/tree/master/diesel_codegen"
+keywords = ["orm", "database", "postgres", "sql", "codegen"]
 
 [dependencies]
 syn = "0.8.5"
 quote = "0.2.1"
-diesel = { version = "0.7.1", default-features = false }
-diesel_codegen_shared = { path = "../diesel_codegen_shared", default-features = false }
+diesel = { version = "0.8.0", default-features = false }
+diesel_codegen_shared = { version = "0.8.0", default-features = false }
 
 [lib]
 proc-macro = true
diff --git a/diesel_codegen_shared/Cargo.toml b/diesel_codegen_shared/Cargo.toml
index 96f4b91..ab01a4b 100644
--- a/diesel_codegen_shared/Cargo.toml
+++ b/diesel_codegen_shared/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "diesel_codegen_shared"
-version = "0.7.0"
+version = "0.8.0"
 authors = ["Sean Griffin <sean@seantheprogrammer.com>"]
 license = "MIT OR Apache-2.0"
 description = "Shared code between `diesel_codegen` and `diesel_codegen_syntex`"
@@ -9,7 +9,7 @@
 repository = "https://github.com/diesel-rs/diesel"
 
 [dependencies]
-diesel = { version = "0.7.0", default-features = false }
+diesel = { version = "0.8.0", default-features = false }
 dotenv = { version = "0.8.0", optional = true }
 
 [dev-dependencies]
diff --git a/diesel_codegen_syntex/Cargo.toml b/diesel_codegen_syntex/Cargo.toml
index 85c55d4..f1be2d5 100644
--- a/diesel_codegen_syntex/Cargo.toml
+++ b/diesel_codegen_syntex/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "diesel_codegen_syntex"
-version = "0.7.2"
+version = "0.8.0"
 authors = ["Sean Griffin <sean@seantheprogrammer.com>"]
 license = "MIT OR Apache-2.0"
 build = "build.rs"
@@ -17,8 +17,8 @@
 [dependencies]
 syntex = { version = "0.44.0" }
 syntex_syntax = { version = "0.44.0" }
-diesel = { version = "0.7.0", default-features = false }
-diesel_codegen_shared = { path = "../diesel_codegen_shared", default-features = false }
+diesel = { version = "0.8.0", default-features = false }
+diesel_codegen_shared = { version = "0.8.0", default-features = false }
 
 [features]
 default = ["postgres", "dotenv"]
diff --git a/diesel_compile_tests/Cargo.toml b/diesel_compile_tests/Cargo.toml
index 9e127ac..c75c18a 100644
--- a/diesel_compile_tests/Cargo.toml
+++ b/diesel_compile_tests/Cargo.toml
@@ -4,11 +4,6 @@
 authors = ["Sean Griffin <sean@seantheprogrammer.com>"]
 
 [dependencies]
-diesel = { version = "0.7.1", features = ["sqlite", "postgres"] }
-diesel_codegen = { version = "0.7.2" }
+diesel = { version = "0.8.0", features = ["sqlite", "postgres"] }
+diesel_codegen = { version = "0.8.0" }
 compiletest_rs = "0.2.3"
-
-
-[replace]
-"diesel:0.7.1" = { path = "../diesel" }
-"diesel_codegen:0.7.2" = { path = "../diesel_codegen" }
diff --git a/diesel_tests/Cargo.toml b/diesel_tests/Cargo.toml
index ea82f87..3517630 100644
--- a/diesel_tests/Cargo.toml
+++ b/diesel_tests/Cargo.toml
@@ -15,7 +15,7 @@
 assert_matches = "1.0.1"
 chrono = { version = "^0.2.17" }
 diesel = { path = "../diesel", default-features = false, features = ["quickcheck", "chrono", "uuid"] }
-diesel_codegen = { version = "0.7.2", optional = true }
+diesel_codegen = { version = "0.8.0", optional = true }
 dotenv = "0.8.0"
 quickcheck = { version = "0.3.1", features = ["unstable"] }
 uuid = { version = ">=0.2.0, <0.4.0" }
@@ -40,8 +40,3 @@
 name = "benchmarks"
 path = "tests/bench.rs"
 bench = true
-
-[replace]
-"diesel:0.7.1" = { path = "../diesel" }
-"diesel_codegen:0.7.2" = { path = "../diesel_codegen" }
-"diesel_codegen_syntex:0.7.2" = { path = "../diesel_codegen_syntex" }
diff --git a/examples/getting_started_step_1/Cargo.toml b/examples/getting_started_step_1/Cargo.toml
index ab4351f..d659961 100644
--- a/examples/getting_started_step_1/Cargo.toml
+++ b/examples/getting_started_step_1/Cargo.toml
@@ -4,10 +4,6 @@
 authors = ["Sean Griffin <sean@seantheprogrammer.com>"]
 
 [dependencies]
-diesel = "0.7.1"
-diesel_codegen = { version = "0.7.2", features = ["postgres"] }
+diesel = "0.8.0"
+diesel_codegen = { version = "0.8.0", features = ["postgres"] }
 dotenv = "0.8.0"
-
-[replace]
-"diesel:0.7.1" = { path = "../../diesel" }
-"diesel_codegen:0.7.2" = { path = "../../diesel_codegen" }
diff --git a/examples/getting_started_step_2/Cargo.toml b/examples/getting_started_step_2/Cargo.toml
index ab4351f..fc0be66 100644
--- a/examples/getting_started_step_2/Cargo.toml
+++ b/examples/getting_started_step_2/Cargo.toml
@@ -4,10 +4,6 @@
 authors = ["Sean Griffin <sean@seantheprogrammer.com>"]
 
 [dependencies]
-diesel = "0.7.1"
+diesel = "0.8.0"
 diesel_codegen = { version = "0.7.2", features = ["postgres"] }
 dotenv = "0.8.0"
-
-[replace]
-"diesel:0.7.1" = { path = "../../diesel" }
-"diesel_codegen:0.7.2" = { path = "../../diesel_codegen" }
diff --git a/examples/getting_started_step_3/Cargo.toml b/examples/getting_started_step_3/Cargo.toml
index ab4351f..fc0be66 100644
--- a/examples/getting_started_step_3/Cargo.toml
+++ b/examples/getting_started_step_3/Cargo.toml
@@ -4,10 +4,6 @@
 authors = ["Sean Griffin <sean@seantheprogrammer.com>"]
 
 [dependencies]
-diesel = "0.7.1"
+diesel = "0.8.0"
 diesel_codegen = { version = "0.7.2", features = ["postgres"] }
 dotenv = "0.8.0"
-
-[replace]
-"diesel:0.7.1" = { path = "../../diesel" }
-"diesel_codegen:0.7.2" = { path = "../../diesel_codegen" }
diff --git a/examples/getting_started_step_4/Cargo.toml b/examples/getting_started_step_4/Cargo.toml
index a3ccc4a..176a2b0 100644
--- a/examples/getting_started_step_4/Cargo.toml
+++ b/examples/getting_started_step_4/Cargo.toml
@@ -6,19 +6,14 @@
 
 [build-dependencies]
 syntex = { version = "0.44.0", optional = true }
-diesel_codegen_syntex = { version = "0.7.2", features = ["postgres"], optional = true }
+diesel_codegen_syntex = { version = "0.8.0", features = ["postgres"], optional = true }
 
 [dependencies]
-diesel = "0.7.1"
-diesel_codegen = { version = "0.7.2", features = ["postgres"], optional = true }
+diesel = "0.8.0"
+diesel_codegen = { version = "0.8.0", features = ["postgres"], optional = true }
 dotenv = "0.8.0"
 
 [features]
 default = ["nightly"]
 with-syntex = ["syntex", "diesel_codegen_syntex"]
 nightly = ["diesel/unstable", "diesel_codegen"]
-
-[replace]
-"diesel:0.7.1" = { path = "../../diesel" }
-"diesel_codegen:0.7.2" = { path = "../../diesel_codegen" }
-"diesel_codegen_syntex:0.7.2" = { path = "../../diesel_codegen_syntex" }