diff --git a/CHANGELOG.md b/CHANGELOG.md
index 889863ad2db859d712d926f03e5bcc2fb018c0ee..4a0d614d49dc35b97cd9d1c9ed21f01697e57843 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,33 @@ This project adheres to [Semantic Versioning](http://semver.org/).
 
 ## [Unreleased]
 
+## [v0.2.0] - 2017-07-29
+
+### Added
+
+- The `app!` macro, a macro to declare the tasks and resources of an
+  application.
+
+- The `Resource` trait, which is used to write generic code that deals with
+  resources.
+
+### Changed
+
+- [breaking-change] The signature of the `atomic` function has changed.
+
+- [breaking-change] The threshold token has become a concrete type and lost its
+  `raise` method.
+
+### Removed
+
+- [breaking-change] The `tasks!` and `peripherals!` macros.
+
+- [breaking-change] The ceiling and priority tokens.
+
+- [breaking-change] The `Local`, `Resource` and `Peripheral` structs.
+
+- [breaking-change] The traits related to type level integers.
+
 ## [v0.1.1] - 2017-06-05
 
 ### Changed
@@ -15,5 +42,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
 
 - Initial release
 
-[Unreleased]: https://github.com/japaric/cortex-m-rtfm/compare/v0.1.1...HEAD
+[Unreleased]: https://github.com/japaric/cortex-m-rtfm/compare/v0.2.0...HEAD
+[v0.2.0]: https://github.com/japaric/cortex-m-rtfm/compare/v0.1.1...v0.2.0
 [v0.1.1]: https://github.com/japaric/cortex-m-rtfm/compare/v0.1.0...v0.1.1
diff --git a/Cargo.toml b/Cargo.toml
index f7fe92abfc154f9ac0f273a2a6692bdd0aa6081b..f2a63e5df025cd9b882570401028b95040fc1063 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -14,12 +14,10 @@ version = "0.2.0"
 
 [dependencies]
 cortex-m = "0.3.1"
+cortex-m-rtfm-macros = "=0.2.0"
 rtfm-core = "0.1.0"
 static-ref = "0.2.1"
 
-[dependencies.cortex-m-rtfm-macros]
-path = "macros"
-
 [target.'cfg(target_arch = "x86_64")'.dev-dependencies]
 compiletest_rs = "0.2.8"
 
diff --git a/macros/Cargo.toml b/macros/Cargo.toml
index a62d20892bd75e396b6ace60e3aa7ba0c344d960..eda10c57ddf223afd6e454316a10613fe8a6613f 100644
--- a/macros/Cargo.toml
+++ b/macros/Cargo.toml
@@ -1,7 +1,13 @@
 [package]
 authors = ["Jorge Aparicio <jorge@japaric.io>"]
+categories = ["concurrency", "embedded", "no-std"]
+description = "Procedural macros of the cortex-m-rtfm crate"
+documentation = "https://docs.rs/cortex-m-rtfm-macros"
+keywords = ["arm", "cortex-m"]
+license = "MIT OR Apache-2.0"
 name = "cortex-m-rtfm-macros"
-version = "0.1.0"
+repository = "https://github.com/japaric/cortex-m-rtfm"
+version = "0.2.0"
 
 [dependencies]
 error-chain = "0.10.0"
diff --git a/macros/src/lib.rs b/macros/src/lib.rs
index 2a1f72e418fc9b39ff5806ea5d38bc266d36bf4d..bef5dcc1255de8ef47da1ce4736041b691f054bb 100644
--- a/macros/src/lib.rs
+++ b/macros/src/lib.rs
@@ -1,4 +1,4 @@
-//! Procedural macros for the RTFM framework
+//! Procedural macros of the `cortex-m-rtfm` crate
 #![deny(warnings)]
 #![feature(proc_macro)]
 #![recursion_limit = "128"]
diff --git a/src/lib.rs b/src/lib.rs
index 6188ed317497e70ab58e215ef18b42a9792d11ad..30a490212d5efa02e3ff0dc02c8677ff3679b68d 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -30,7 +30,7 @@
 //! # Constraints
 //!
 //! - Tasks must run to completion. That's it, tasks can't contain endless
-//!   loops. However, you can run an endless event loop in the `idle` function.
+//!   loops. However, you can run an endless event loop in the `idle` *loop*.
 //!
 //! - Task priorities must remain constant at runtime.
 //!
@@ -44,7 +44,7 @@
 //! [`svd2rust`]: https://docs.rs/svd2rust/0..0/svd2rust/
 //! [`<cpu>`]: https://www.keil.com/pack/doc/CMSIS/SVD/html/elem_cpu.html
 //!
-//! # More documentation
+//! # `app!`
 //!
 //! The `app!` macro is documented [here](../cortex_m_rtfm_macros/fn.app.html).
 //!
@@ -52,6 +52,24 @@
 //!
 //! In increasing grade of complexity. See the [examples](./examples/index.html)
 //! module.
+//!
+//! # References
+//!
+//! - Baker, T. P. (1991). Stack-based scheduling of realtime processes.
+//!   *Real-Time Systems*, 3(1), 67-99.
+//!
+//! > The original Stack Resource Policy paper. [PDF][srp].
+//!
+//! [srp]: http://www.cs.fsu.edu/~baker/papers/mstacks3.pdf
+//!
+//! - Eriksson, J., Häggström, F., Aittamaa, S., Kruglyak, A., & Lindgren, P.
+//!   (2013, June). Real-time for the masses, step 1: Programming API and static
+//!   priority SRP kernel primitives. In Industrial Embedded Systems (SIES),
+//!   2013 8th IEEE International Symposium on (pp. 110-113). IEEE.
+//!
+//! > A description of the RTFM task and resource model. [PDF][rtfm]
+//!
+//! [rtfm]: http://www.diva-portal.org/smash/get/diva2:1005680/FULLTEXT01.pdf
 #![deny(missing_docs)]
 #![deny(warnings)]
 #![feature(proc_macro)]