diff --git a/CHANGELOG.md b/CHANGELOG.md index fb1102c0ea..b1a3373c18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,13 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] -## v0.5.0 - 2019-??-?? (ALPHA pre-release) +## v0.5.0 - 2019-09-?? (currently in beta pre-release) + +### Added + +- Experimental support for homogeneous and heterogeneous multi-core + microcontrollers has been added. Support is gated behind the `homogeneous` and + `heterogeneous` Cargo features. ### Changed @@ -23,6 +29,35 @@ This project adheres to [Semantic Versioning](http://semver.org/). instead of `AtomicUsize`; this reduces the static memory used by the framework. +- [breaking-change][] when the `capacity` argument is omitted, the capacity of + the task is assumed to be `1`. Before, a reasonable (but hard to predict) + capacity was computed based on the number of `spawn` references the task had. + +- [breaking-change][] resources that are appear as exclusive references + (`&mut-`) no longer appear behind the `Exclusive` newtype. + +- [breaking-change][] the `timer-queue` Cargo feature has been removed. The + `schedule` API can be used without enabling any Cargo feature. + +- [breaking-change][] when the `schedule` API is used the type of + `init::Context.core` changes from `cortex_m::Peripherals` to + `rtfm::Peripherals`. The fields of `rtfm::Peripherals` do not change when + Cargo features are enabled. + +- [breaking-change][] the monotonic timer used to implement the `schedule` API + is now user configurable via the `#[app(monotonic = ..)]` argument. + +- [breaking-change][] the `peripherals` field is not include in `init::Context` + by default. One must opt-in using the `#[app(peripherals = ..)]` argument. + +- [breaking-change][] the `#[exception]` and `#[interrupt]` attributes have been + removed. Hardware tasks are now declared using the `#[task(binds = ..)]` + attribute. + +- [breaking-change][] the syntax to declare resources has changed. Instead of + using a `static [mut]` variable for each resource, all resources must be + declared in a `Resources` structure. + ### Removed - [breaking-change] the integration with the `owned_singleton` crate has been diff --git a/book/en/src/preface.md b/book/en/src/preface.md index 4b53706514..00d378dc92 100644 --- a/book/en/src/preface.md +++ b/book/en/src/preface.md @@ -5,14 +5,14 @@ # Preface This book contains user level documentation for the Real Time For the Masses -(RTFM) framework. The API reference can be found [here](../../api/rtfm/index.html). +(RTFM) framework. The API reference can be found [here](../../api). There is a translation of this book in [Russian]. [Russian]: ../ru/index.html This is the documentation of v0.5.x of RTFM; for the documentation of version -v0.4.x go [here](../../0.4/book/en). +v0.4.x go [here](/0.4). **HEADS UP** This is a **beta** pre-release; there may be breaking changes in the API and semantics before a proper release is made.