All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
v1.0.3 - 2023-02-26
- CI: Updated to checkout@v3
- CI: Use native Rustup
v1.0.2 - 2022-06-19
- Use of private
syn::groupmodule
v1.0.1 - 2022-04-13
- CI changelog entry enforcer
- Better errors for malformed
localexpressions - Use swatinem rust-cache for GHA CI
- Cryptic error message when writing
#[monotonic]
v1.0.0 - 2021-12-25
-
Allow annotating resources to activate special resource locking behaviour.
#[lock_free], there might be several tasks with the same priority accessing the resource without critical section.#[task_local], there must be only one task, similar to a task local resource, but (optionally) set-up by init. This is similar to move.
-
peripheralsis now enabled (true) by default, you no longer need to give#[app(..., peripherals = true)). This is the common case, and if forgotten it results in an error which may be confusing to the user. -
Improved ergonomics allowing separation of task signatures to actual implementation in extern block
extern "Rust" { #[task(..)] fn t(..); }.
-
Edition 2021
-
[breaking-change] Remove
Location, changes analysis struct contents:shared_resource_locations->shared_resources. Same for local. -
[breaking-change] "Resource handling take 2" implemented
-
[breaking-change] Move of dispatchers (interrupts) from
externto app arguments.app(..., dispatchers = [SSI0,...])This should also work for ram functions and other attributes, seeexamples/ramfunc.rs. -
[breaking-change] Rework whole spawn/schedule, support
foo::spawn( ... ),foo::schedule( ... ). -
[breaking-change]
struct Resourceschanged to attribute#[resources]on a struct. -
[breaking-change] Mod over const, instead of
const APP: () = {usemod app {. -
[breaking-change] Init function always return
LateResourcesfor a symmetric API. -
Multi-core support was removed to reduce overall complexity.
-
CI Changed from Travis to GitHub Actions.
-
[breaking-change] rtfm-syntax is now known as rtic-syntax.
v0.4.0 - 2019-11-14
- Several tests were ported from the cortex-m-rtic repository (pre-v0.5.0 state)
-
[breaking-change] syn, quote and proc-macro2 dependencies were bumped to version 1.0.
-
[breaking-change] syntax was changed to match RFCs approved for cortex-m-rtic v0.5.0 release. The field of most structures changed as well as their APIs.
v0.3.4 - 2018-08-28
- The build with recent nightlies
v0.3.3 - 2018-04-28
- A compilation error on the latest nightly
v0.3.2 - 2018-04-23
- Disabled the default features of the
eitherdependency
v0.3.1 - 2018-04-23
- Relax the version requirement of the
eitherdependency
v0.3.0 - 2018-04-16
- Updated the
syndependency to a recent release. Error and warning messages are now raised on parsing and checking issues. - [breaking-change] Changed the parsing and checking API (structs).
- The checking pass now checks the specification to, for example, reject a specification where a
task declares that it has access to a resource that wasn't declared in the top level
resourcesfield.
v0.2.1 - 2018-01-15
- An optional
init.resourcesfield
v0.2.0 - 2017-09-22
- [breaking-change] The
Static.exprfield is now optional.
- Initial release