embassy/embassy-executor/CHANGELOG.md
2023-12-06 11:59:22 +01:00

2 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

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).

0.3.3 - 2023-11-15

  • 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.

0.3.2 - 2023-11-06

  • Use atomic-polyfill for riscv32
  • Removed unused dependencies (static_cell, futures-util)

0.3.1 - 2023-11-01

  • Fix spurious "Found waker not created by the Embassy executor" error in recent nightlies.

0.3.0 - 2023-08-25

  • Replaced Pender. Implementations now must define an extern function called __pender.
  • Made raw::AvailableTask public
  • Made SpawnToken::new_failed public
  • You can now use arbitrary expressions to specify #[task(pool_size = X)]

0.2.1 - 2023-08-10

  • 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

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