From 7344b53f57f072029ca2c5a5130b5e12b39b655a Mon Sep 17 00:00:00 2001
From: theduke <chris@theduke.at>
Date: Sun, 3 Dec 2017 15:05:20 +0100
Subject: [PATCH] Add changelog for 0.9.0

---
 changelog/0.9.0.md                 | 89 ++++++++++++++++++++++++++++++
 CHANGELOG.md => changelog/older.md | 16 ------
 2 files changed, 89 insertions(+), 16 deletions(-)
 create mode 100644 changelog/0.9.0.md
 rename CHANGELOG.md => changelog/older.md (95%)

diff --git a/changelog/0.9.0.md b/changelog/0.9.0.md
new file mode 100644
index 00000000..bc9e2f7a
--- /dev/null
+++ b/changelog/0.9.0.md
@@ -0,0 +1,89 @@
+# [0.9.0] 2017-12-03
+
+## Changes
+
+This is the first release in a long time. 
+Quite a few changes have accumulated since `0.8.1`, including multiple breaking
+changes.
+
+### Custom derive & macros
+
+Juniper has gained custom derive implementations for input objects, objects and
+enums. 
+
+* `#[derive(GraphQLInputObject)]`
+* `#[derive(GraphQLEnum)]`
+* `#[derive(GraphQLObject)]`
+
+The `graphql_enum!` and `graphql_input_object!` macros did not provide any more
+benefits, so they have been removed! 
+All functionality is now covered by custom derive.
+Check the [docs](https://graphql-rust.github.io) to find out more.
+
+### Web framework integrations - Iron & Rocket
+
+The iron and rocket integrations were removed from the main crate, and are now
+available via the [juniper_iron](https://crates.io/crates/juniper_iron) and
+[juniper_rocket](https://crates.io/crates/juniper_rocket) crates.
+
+### FieldError - Custom data
+
+The `FieldError` type now supports custom data with the `Value` type from 
+serde_json. Use this to populate the `data` field in returned errors.
+
+### Dynamic Schemas
+
+Juniper has gained support for dynamic schemas, thanks to @srijs.
+
+That also means the type of `RootNode` has changed to include a lifetime.
+
+The repository was restructured to a multi crate workspace to enable several new 
+features like custom_derive and an extracted parser.
+
+#[#66](https://github.com/graphql-rust/juniper/pull/66)
+
+### Data Type Integrations
+
+Integrations with multiple popular crates was added to make working with them
+easier.
+
+* uuid
+* url
+* chrono
+
+### Field Order
+
+To better comply with the specification, order of requested fields is
+now preserved.
+
+[#82](https://github.com/graphql-rust/juniper/issues/82
+
+### From/ToInputValue
+
+The `::from` and `::to` methods in `From/ToInputValue` were renamed to 
+`from/to_input_value()` to not conflict with other methods.
+
+[#90](https://github.com/graphql-rust/juniper/pull/90)
+
+### Other changes
+
+* Several small performance improvements
+* Use [fnv](https://github.com/servo/rust-fnv) hash map for better performance
+
+
+## Contributors
+
+A big shoutout to the many contributors for this version, sorted alphabetically.
+
+* Cameron Eldridge <cameldridge+git@gmail.com>
+* Christian Legnitto <christian@legnitto.com>
+* Jacob Haslehurst <jacob@haslehurst.net>
+* Jane Keibler <wanderingelf14@gmail.com>
+* Magnus Hallin <mhallin@fastmail.com>
+* rushmorem <rushmore@webenchanter.com>
+* Rushmore Mushambi <rushmore@webenchanter.com>
+* Sagie Gur-Ari <sagiegurari@gmail.com>
+* Sam Rijs <srijs@airpost.net>
+* Stanko Krtalić <stanko.krtalic@gmail.com>
+* theduke <chris@theduke.at>
+* thomas-jeepe <penguinSoccer@outlook.com>
diff --git a/CHANGELOG.md b/changelog/older.md
similarity index 95%
rename from CHANGELOG.md
rename to changelog/older.md
index b8b294cd..182f201b 100644
--- a/CHANGELOG.md
+++ b/changelog/older.md
@@ -1,22 +1,6 @@
 Change log
 ==========
 
-## [Unreleased]
-
-The repository was restructured to a multi crate workspace to enable several new features like custom_derive and an extracted parser.
-
-### New features
-
-* New juniper_codegen crate which provides custom derives:
-  * `#[derive(GraphQLInputObject)]`
-  * `#[derive(GraphQLEnum)]`
-  * `#[derive(GraphQLObject)]`
-
-## Breaking changes
-
-* To better comply with the specification, order of requested fields is
-  now preserved.
-  ([#82](https://github.com/graphql-rust/juniper/issues/82)
 
 ## [0.8.1] – 2017-06-15