aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md158
1 files changed, 137 insertions, 21 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 860dad7..faecd10 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,115 @@ This project adheres to [Semantic Versioning](http://semver.org/).
## [Unreleased]
+## [v0.5.5] - 2020-08-27
+
+- Includes the previous soundness fix.
+- Fixes wrong use of the `cortex_m` crate which can cause some projects to stop compiling.
+
+## [v0.5.4] - 2020-08-26 - YANKED
+
+- **Soundness fix in RTIC**, it was previously possible to get the `cortex_m::Peripherals` more than once, causing UB.
+
+## [v0.5.3] - 2020-06-12
+
+- Added migration guide from `cortex-m-rtfm` to `cortex-m-rtic`
+- No code changes, only a version compatibility release with `cortex-m-rtfm` to ease the transition
+for users.
+
+## [v0.5.2] - 2020-06-11
+
+- Using safe `DWT` interface
+- Using GitHub Actions now
+- Improved CI speed
+- Now `main` can be used as function name
+- Fixed so one can `cfg`-out resources when using a newer compiler
+
+## [v0.5.1] - 2019-11-19
+- Fixed arithmetic wrapping bug in src/cyccntr.rs
+ elapsed and duration could cause an internal overflow trap
+ on subtraction in debug mode.
+
+- Fixed bug in SysTick implementation where the SysTick could be disabled by
+ accident
+
+## [v0.5.0] - 2019-11-14
+
+### Added
+
+- Experimental support for homogeneous and heterogeneous multi-core
+ microcontrollers has been added. Support is gated behind the `homogeneous` and
+ `heterogeneous` Cargo features.
+
+### Changed
+
+- [breaking-change][] [RFC 155] "explicit `Context` parameter" has been
+ implemented.
+
+[RFC 155]: https://github.com/rtic-rs/cortex-m-rtic/issues/155
+
+- [breaking-change][] [RFC 147] "all functions must be safe" has been
+ implemented.
+
+[RFC 147]: https://github.com/rtic-rs/cortex-m-rtic/issues/147
+
+- All the queues internally used by the framework now use `AtomicU8` indices
+ 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
+ `rtic::Peripherals`. The fields of `rtic::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. IMPORTANT:
+ it is now the responsibility of the application author to configure and
+ initialize the chosen `monotonic` timer during the `#[init]` phase.
+
+- [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
+ removed. You can use `heapless::Pool` instead of `alloc_singleton`.
+
+- [breaking-change] late resources can no longer be initialized using the assign
+ syntax. `init::LateResources` is the only method to initialize late resources.
+ See [PR #140] for more details.
+
+[PR #140]: https://github.com/rtic-rs/cortex-m-rtic/pull/140
+
+## [v0.4.3] - 2019-04-21
+
+### Changed
+
+- Checking that the specified priorities are supported by the target device is
+ now done at compile time.
+
+### Fixed
+
+- Building this crate with the "nightly" feature and a recent compiler has been
+ fixed.
+
## [v0.4.2] - 2019-02-27
### Added
@@ -20,7 +129,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
`binds` argument that lets you give the handler an arbitrary name. For
example:
-[RFC 128]: https://github.com/japaric/cortex-m-rtfm/issues/128
+[RFC 128]: https://github.com/rtic-rs/cortex-m-rtic/issues/128
``` rust
// on v0.4.1 you had to write
@@ -52,8 +161,8 @@ fn on_new_frame() { .. }
### Added
-- The RTFM book has been translated to Russian. You can find the translation
- online at https://japaric.github.io/cortex-m-rtfm/book/ru/
+- The RTIC book has been translated to Russian. You can find the translation
+ online at https://japaric.github.io/cortex-m-rtic/book/ru/
- `Duration` now implements the `Default` trait.
@@ -93,11 +202,11 @@ Yanked due to a soundness issue in `init`; the issue has been mostly fixed in v0
`Resource.claim_mut` has been renamed to `Mutex.lock` and its signature has
changed (no `Threshold` token is required).
-- [breaking-change] The name of the library has changed to `rtfm`. The package
- name is still `cortex-m-rtfm`.
+- [breaking-change] The name of the library has changed to `rtic`. The package
+ name is still `cortex-m-rtic`.
-- [breaking-change] `cortex_m_rtfm::set_pending` has been renamed to
- `rtfm::pend`.
+- [breaking-change] `cortex_m_rtic::set_pending` has been renamed to
+ `rtic::pend`.
### Added
@@ -116,7 +225,7 @@ Yanked due to a soundness issue in `init`; the issue has been mostly fixed in v0
- [breaking-change] The `bkpt` and `wfi` re-exports have been removed.
-- [breaking-change] `rtfm::atomic` has been removed.
+- [breaking-change] `rtic::atomic` has been removed.
## [v0.3.4] - 2018-08-27
@@ -219,16 +328,23 @@ Yanked due to a soundness issue in `init`; the issue has been mostly fixed in v0
- Initial release
-[Unreleased]: https://github.com/japaric/cortex-m-rtfm/compare/v0.4.2...HEAD
-[v0.4.2]: https://github.com/japaric/cortex-m-rtfm/compare/v0.4.1...v0.4.2
-[v0.4.1]: https://github.com/japaric/cortex-m-rtfm/compare/v0.4.0...v0.4.1
-[v0.4.0]: https://github.com/japaric/cortex-m-rtfm/compare/v0.3.4...v0.4.0
-[v0.3.4]: https://github.com/japaric/cortex-m-rtfm/compare/v0.3.3...v0.3.4
-[v0.3.3]: https://github.com/japaric/cortex-m-rtfm/compare/v0.3.2...v0.3.3
-[v0.3.2]: https://github.com/japaric/cortex-m-rtfm/compare/v0.3.1...v0.3.2
-[v0.3.1]: https://github.com/japaric/cortex-m-rtfm/compare/v0.3.0...v0.3.1
-[v0.3.0]: https://github.com/japaric/cortex-m-rtfm/compare/v0.2.2...v0.3.0
-[v0.2.2]: https://github.com/japaric/cortex-m-rtfm/compare/v0.2.1...v0.2.2
-[v0.2.1]: https://github.com/japaric/cortex-m-rtfm/compare/v0.2.0...v0.2.1
-[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
+[Unreleased]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.5.5...HEAD
+[v0.5.5]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.5.4...v0.5.5
+[v0.5.4]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.5.3...v0.5.4
+[v0.5.3]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.5.2...v0.5.3
+[v0.5.2]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.5.1...v0.5.2
+[v0.5.1]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.5.0...v0.5.1
+[v0.5.0]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.4.3...v0.5.0
+[v0.4.3]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.4.2...v0.4.3
+[v0.4.2]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.4.1...v0.4.2
+[v0.4.1]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.4.0...v0.4.1
+[v0.4.0]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.3.4...v0.4.0
+[v0.3.4]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.3.3...v0.3.4
+[v0.3.3]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.3.2...v0.3.3
+[v0.3.2]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.3.1...v0.3.2
+[v0.3.1]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.3.0...v0.3.1
+[v0.3.0]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.2.2...v0.3.0
+[v0.2.2]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.2.1...v0.2.2
+[v0.2.1]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.2.0...v0.2.1
+[v0.2.0]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.1.1...v0.2.0
+[v0.1.1]: https://github.com/rtic-rs/cortex-m-rtic/compare/v0.1.0...v0.1.1