2023-04-27 18:19:07 +00:00
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog ](https://keepachangelog.com/en/1.0.0/ ),
and this project adheres to [Semantic Versioning ](https://semver.org/spec/v2.0.0.html ).
2023-12-03 21:25:51 +00:00
## Unreleased
2024-10-20 23:26:02 +00:00
## 0.6.1 - 2024-10-21
- Soundness fix: Deny using `impl Trait` in task arguments. This was previously accidentally allowed when not using the `nightly` feature,
and could cause out of bounds memory accesses if spawning the same task mulitple times with different underlying types
2024-10-21 14:20:40 +00:00
for the `impl Trait` . Affected versions are 0.4.x, 0.5.0 and 0.6.0, which have been yanked.
2024-10-20 23:26:02 +00:00
- Add an architecture-agnostic executor that spins waiting for tasks to run, enabled with the `arch-spin` feature.
- Update for breaking change in the nightly waker_getters API. The `nightly` feature now requires`nightly-2024-09-06` or newer.
- Improve macro error messages.
2024-08-05 06:58:56 +00:00
## 0.6.0 - 2024-08-05
2024-08-02 19:50:18 +00:00
- Add collapse_debuginfo to fmt.rs macros.
2024-10-20 23:26:02 +00:00
- initial support for AVR
2024-08-02 19:50:18 +00:00
- use nightly waker_getters APIs
2024-10-21 14:20:40 +00:00
## 0.5.1 - 2024-10-21
- Soundness fix: Deny using `impl Trait` in task arguments. This was previously accidentally allowed when not using the `nightly` feature,
and could cause out of bounds memory accesses if spawning the same task mulitple times with different underlying types
for the `impl Trait` . Affected versions are 0.4.x, 0.5.0 and 0.6.0, which have been yanked.
2024-01-11 21:57:29 +00:00
## 0.5.0 - 2024-01-11
- Updated to `embassy-time-driver 0.1` , `embassy-time-queue-driver 0.1` , compatible with `embassy-time v0.3` and higher.
2023-12-05 12:37:35 +00:00
## 0.4.0 - 2023-12-05
- Removed `arch-xtensa` . Use the executor provided by the HAL crate (`esp-hal`, `esp32s3-hal` , etc...) instead.
- Added an arena allocator for tasks, allowing using the `main` and `task` macros on Rust 1.75 stable. (it is only used if the `nightly` feature is not enabled. When `nightly` is enabled, `type_alias_impl_trait` is used to statically allocate tasks, as before).
2023-12-03 21:25:51 +00:00
2023-11-14 17:47:15 +00:00
## 0.3.3 - 2023-11-15
2023-11-14 21:32:48 +00:00
- Add `main` macro reexport for Xtensa arch.
- Remove use of `atomic-polyfill` . The executor now has multiple implementations of its internal data structures for cases where the target supports atomics or doesn't.
2023-11-06 20:50:40 +00:00
## 0.3.2 - 2023-11-06
2023-11-06 14:21:53 +00:00
- Use `atomic-polyfill` for `riscv32`
2023-11-06 20:50:40 +00:00
- Removed unused dependencies (static_cell, futures-util)
2023-11-06 14:21:53 +00:00
2023-10-31 23:17:44 +00:00
## 0.3.1 - 2023-11-01
- Fix spurious "Found waker not created by the Embassy executor" error in recent nightlies.
2023-08-25 21:32:00 +00:00
## 0.3.0 - 2023-08-25
2023-08-14 15:53:42 +00:00
- Replaced Pender. Implementations now must define an extern function called `__pender` .
2023-08-21 11:55:30 +00:00
- Made `raw::AvailableTask` public
- Made `SpawnToken::new_failed` public
2023-08-25 21:32:00 +00:00
- You can now use arbitrary expressions to specify `#[task(pool_size = X)]`
2023-08-14 15:53:42 +00:00
2023-08-10 21:15:29 +00:00
## 0.2.1 - 2023-08-10
2023-08-10 21:14:52 +00:00
- Avoid calling `pend()` when waking expired timers
- Properly reset finished task state with `integrated-timers` enabled
- Introduce `InterruptExecutor::spawner()`
- Fix incorrect critical section in Xtensa executor
2023-04-27 18:19:07 +00:00
## 0.2.0 - 2023-04-27
- Replace unnecessary atomics in runqueue
- add Pender, rework Cargo features.
- add support for turbo-wakers.
- Allow TaskStorage to auto-implement `Sync`
- Use AtomicPtr for signal_ctx, removes 1 unsafe.
- Replace unsound critical sections with atomics
## 0.1.1 - 2022-11-23
- Fix features for documentation
## 0.1.0 - 2022-11-23
- First release