diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000000000000000000000000000000000000..cf2974e83ebb9a49beecdf57e672853636d365c4
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,12 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+This project adheres to [Semantic Versioning](http://semver.org/).
+
+## [Unreleased]
+
+## v0.1.0 - 2017-05-09
+
+- Initial release
+
+[Unreleased]: https://github.com/japaric/cortex-m-rtfm/compare/v0.1.0...HEAD
diff --git a/Cargo.toml b/Cargo.toml
index 60c2eaead72acbeaf9e41d5a74294b1025350f09..ec373d691017b74eecd4836f6445d518f0e1993b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -17,7 +17,7 @@ quote = "0.3.15"
 syn = "0.11.10"
 
 [dependencies]
-cortex-m = "0.2.5"
+cortex-m = "0.2.6"
 static-ref = "0.1.0"
 typenum = "1.7.0"
 
diff --git a/README.md b/README.md
index e20ee0a994aa32458e3ce5ba6f05becb80ce5c8a..eb9555f68665162fe1c108e325e00316fe2424a0 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,8 @@
 
 # `cortex-m-rtfm`
 
-> Real Time For the Masses (Cortex-M edition)
+> Real Time For the Masses (RTFM), a framework for building concurrent
+> applications, for ARM Cortex-M MCUs
 
 # [Manual](https://docs.rs/cortex-m-rtfm)
 
diff --git a/src/lib.rs b/src/lib.rs
index 57f7f4284e61f5683e35ef91220475a39f32f1c6..60cae6f9f3a28c7179b159a6c7beecf4c15675ba 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -18,10 +18,10 @@
 //!   multitasking**.
 //! - **Efficient and data race free memory sharing** through fine grained *non
 //!   global* critical sections.
-//! - **Deadlock free execution**, guaranteed at compile time.
+//! - **Deadlock free execution** guaranteed at compile time.
 //! - **Minimal scheduling overhead** as the scheduler has no "software
-//!   component"; the hardware does all the scheduling.
-//! - **Highly efficient memory usage**. All the tasks share a single call stack
+//!   component": the hardware does all the scheduling.
+//! - **Highly efficient memory usage**: All the tasks share a single call stack
 //!   and there's no hard dependency on a dynamic memory allocator.
 //! - **All Cortex M3, M4 and M7 devices are fully supported**. M0(+) is
 //!   partially supported as the whole API is not available due to missing
@@ -489,6 +489,8 @@ impl<T, TASK> Local<T, TASK> {
 unsafe impl<T, TASK> Sync for Local<T, TASK> {}
 
 /// A resource with ceiling `C`
+///
+/// A resource is used to share memory between two or more tasks
 pub struct Resource<T, C> {
     _ceiling: PhantomData<C>,
     data: UnsafeCell<T>,