diff --git a/README.md b/README.md
index 5315c48..3f44d43 100644
--- a/README.md
+++ b/README.md
@@ -29,24 +29,31 @@
 
 It currently supports the following hardware platforms: 
     
-* Arduino Zero and Zero Pro
-* Nordic NRF51 and NRF52
-* Rigado BMD-300
-* STM32F3 and STMF32F4 
-* Native (simulated)
 
-Mynewt uses the [Newt](https://www.github.com/apache/incubator-mynewt-newt) 
-build and package management system, which allows you to compose your OS, and 
-only choose the components you need.  
+* nRF52 DK from Nordic Semiconductor (Cortex-M4)
+* nRF51 DK from Nordic Semiconductor (Cortex-M0)
+* BMD-300-EVAL-ES from Rigado (Cortex-M4)
+* STM32F3DISCOVERY from ST Micro (Cortex-M4)
+* STM32-E407 from Olimex (Cortex-M4)
+* Arduino Zero (Cortex-M0)
+* Arduino Zero Pro (Cortex-M0)
+* Arduino M0 Pro (Cortex-M0)
+
+
+Apache Mynewt uses the
+[Newt](https://www.github.com/apache/incubator-mynewt-newt) build and package
+management system, which allows you to compose your OS and choose only the
+components you need.
 
 This repository contains the core packages of the Apache Mynewt OS, including:
 
 * A Pre-emptive, Real Time OS Kernel
-* A open-source Bluetooth 4.2 stack (both Host & Controller), that completely replaces
-the proprietary SoftDevice on Nordic chipsets.
+* A open-source Bluetooth 4.2 stack (both Host & Controller), NimBLE, that
+completely replaces the proprietary SoftDevice on Nordic chipsets.
     - Support for 251 byte packet size
     - Support for all 4 roles concurrently - Broadcaster, Observer, Peripheral and Central
-    - Support for up to 32 simultaeneous connections. 
+    - Support for up to 32 simultaneous connections.
+    - Legacy SMP support (pairing and bonding).
 * A flash filesystem, NFFS, which is designed for tiny (128KB->16MB) flashes.
 * Bootloader support
 * Remote Software Upgrade
@@ -55,7 +62,7 @@
 * Statistics and Logging Infrastructure 
 
 For more information on the Mynewt OS, please visit our website [here](https://mynewt.apache.org/).  
-If you'd like to get started, visit the [Getting Started Guide](https://mynewt.apache.org/os/get_started/introduction/).
+If you'd like to get started, visit the [Quick Start Guide](http://mynewt.apache.org/quick-start/).
 
 ## Roadmap
 
@@ -68,7 +75,6 @@
     - Arduino Uno
     - Arduino Mega
 * Enhancements to BLE 4.2 support:
-    - Security Manager Protocol
     - LE Secure Connections
     - Random addresses for link-layer security
 
@@ -77,7 +83,7 @@
 If you are browsing around the source tree, and want to see some of the 
 major functional chunks, here are a few pointers: 
 
-- libs: Contains the core of the RTOS ([libs/os](https://github.com/apache/incubator-mynewt-core/tree/master/libs/os) 
+- libs: Contains the core of the RTOS ([libs/os](https://github.com/apache/incubator-mynewt-core/tree/master/libs/os))
 and a number of helper libraries for building applications.  Including a 
 console ([libs/console](https://github.com/apache/incubator-mynewt-core/tree/master/libs/console))), 
 shell ([libs/shell](https://github.com/apache/incubator-mynewt-core/tree/master/libs/shell))), and 
@@ -85,7 +91,7 @@
 supports software upgrade and remote fetching of logs and statistics.
 
 - net: Contains the networking packages.  Right now, net/ contains
-the nimble package.  [Nimble](https://github.com/apache/incubator-mynewt-core/tree/master/net/nimble)
+the NimBLE package.  [Nimble](https://github.com/apache/incubator-mynewt-core/tree/master/net/nimble)
 is a full Bluetooth host and controller implementation, that is written 
 from the ground up for the Apache Mynewt Operating System.   
 
@@ -117,6 +123,8 @@
   minimal packages to build the OS, and blink a LED!  
 * [slinky](https://github.com/apache/incubator-mynewt-core/tree/master/apps/slinky): A 
   slightly more complex project that includes the console and shell libraries. 
+* [bleprph](https://github.com/apache/incubator-mynewt-core/tree/master/apps/bleprph): An
+  implementation of a minimal BLE peripheral.
 * [bletiny](https://github.com/apache/incubator-mynewt-core/tree/master/apps/bletiny): A 
   stripped down interface to the Apache Mynewt Bluetooth stack.
 * [test](https://github.com/apache/incubator-mynewt-core/tree/master/apps/test): Test 
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index a721fb9..40a15f4 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -1,27 +1,19 @@
 # RELEASE NOTES
 
-16 Mar 2016 - Apache Mynewt V0.8 Beta 2
+30 Apr 2016 - Apache Mynewt v0.9.0
 
 For full release notes, please visit the
 [Apache Mynewt Wiki](https://cwiki.apache.org/confluence/display/MYNEWT/Release+Notes).
-For information about bugs fixed in beta 2, please view the
-[Issue Tracker Summary](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319221&version=12334805)
 
-This is the second source release of Apache Mynewt Core.  For more
+This is the fourth source release of Apache Mynewt Core.  For more
 information on Apache Mynewt, please visit the
 [Apache Mynewt Website](https://mynewt.apache.org/).
 
-As an early beta release of Apache Mynewt, all the normal caveats apply:
-
-  * APIs and commands may change
-
-  * There are definitely bugs hiding around many corners
-
-However, we believe this release of Apache Mynewt represents the going forward
-architecture and layout of the Apache Mynewt Operating System.  Further, we have
-been running Apache Mynewt stably on real hardware for over 6+ mos, without
-any issues.  So, people who are interested in playing around, and trying Mynewt,
-are encouraged to download and begin to evaluate it.
+As a beta release of Apache Mynewt, the normal caveat applies: APIs and
+commands are subject to change.  However, Apache Mynewt continues to stabilize
+with each release, and we believe this release is a further step forward.
+People who are interested in playing around, and trying Mynewt, are encouraged
+to download and begin to evaluate it.
 
 A full roadmap for Apache Mynewt is available on the [website](http://mynewt.apache.org/about/).
 In addition, a detailed view of what is being worked on, and all open feature
@@ -30,6 +22,6 @@
 
 More information is available in the [README](/README.md) file in this directory.
 
-The next release of Apache Mynewt is scheduled for April 2016.  If building
-an Operating System for Microcontrollers sounds fun to you, get in touch by sending
-a mail to the [Apache Mynewt Developer's list](mailto:dev@mynewt.incubator.apache.org).
+If building an Operating System for Microcontrollers sounds fun to you, get in
+touch by sending a mail to the [Apache Mynewt Developer's
+list](mailto:dev@mynewt.incubator.apache.org).
