+
Skip to content

Tags: tock/tock

Tags

tickv-2.0.0

Toggle tickv-2.0.0's commit message
TicKV crate version 2.0.0

This release continues to use the TicKV object storage version 1, but contains
code improvements, bug fixes and new features as described below. This is a
backwards compatible change for data stored in flash but will require
code changes to use the slightly modified APIs.

This is published from the `release-2.2` tag from the Tock repo.

Added
 - Return length of the value when retrieving key
 - Return length of the value when appending key
 - Return a `SuccessCode` when running async `garbage_collect()`
 - Support Zeroising a key

Fixed
 - Return errors instead of `panic`-ing when working with arrays
 - Ensure we return the value buffer after append operations
 - Improve and expand unit tests, espicially around region searching
 - Remove some `unwrap()`s

Changed
 - Simplify creating the `Crc32` struct
 - Change error and success reporting for async operations

Removed
 - Remove the `get_stored_value_buffer()` and `get_stored_buffer()` functions
 - Remove the offset argument from `read_region()`

release-2.2

Toggle release-2.2's commit message
Tock 2.2

Tock 2.2 represents two years of Tock development since v2.1.1. This release
contains almost 3900 commits made across 840 PRs by 90 contributors (of which 48
are new contributors!). It is the first Tock release that can compile on a
stable Rust toolchain, and contains many other important fixes, new subsystems,
new platforms, new drivers, and major refactors.

* Backwards Compatibility

  Tock 2.2 extends its system call interface through one new system call
  ([`Yield-WaitFor`](https://github.com/tock/tock/pull/3577)), but retains
  backwards compatibility with Tock 2.1.1 for its core system call interface and
  all [stabilized
  drivers](https://github.com/tock/tock/tree/7c88a6209e3960c0eb2081c5071693dc1987964d/doc/syscalls).

  In this release, we revised Tock's alarm system call driver implementation to
  predictably wrap its `ticks` values at `(2**32 - 1)` ticks, across all
  platforms. Before this change, hardware alarm implementations that were less
  than 32 bit wide would wrap before reaching `(2**32 - 1)` ticks, which
  complicated correct alarm handling in userspace. In Tock 2.2, these alarm
  implementations are scaled to 32 bit, while also scaling their advertised
  frequency appropriately. While this change is non-breaking and compatible with
  the previous alarm implementation, it can expose such scaled alarms to
  userspace at significantly higher advertised `frequency` values. Userspace
  alarm implementations that did not correctly handle such high frequencies may
  need to be fixed to support this new driver implementation.

  Relevant PRs:
  * [RFC] Yield-WaitFor syscall by @ppannuto in
    https://github.com/tock/tock/pull/3577
  * kernel/hil/time,capsules/alarm: pad Ticks to 32 bit for predictable wrapping
    by @lschuermann in https://github.com/tock/tock/pull/3973
  * capsules/alarm: left-justify 32 bit ticks, re-architect alarm, add unit
    tests by @lschuermann in https://github.com/tock/tock/pull/3975

* Security and `arch`-crate Fixes

  Tock 2.2 includes important and security-relevant fixes for its Cortex-M and
  RISC-V architecture support.

  * When switching between applications, the RISC-V PMP implementation did not
    correctly invalidate any additional memory protection regions that are not
    overwritten by the target app's PMP configuration. Under certain conditions
    this can allow an application to access private memory regions belonging to
    a different applications (such as when using IPC).

  * The Cortex-M (Armv7-M) and Cortex-M0/M0+ (Armv6-M) hard fault, interrupt and
    `svc` handlers contained a bug that could allow an application to execute in
    `privileged` mode after returning from the handler. This allows an
    application to execute code at kernel privileges and read / write arbitrary
    memory.

  Relevant PRs:
  * [RFC] Yield-WaitFor syscall by @ppannuto in
    https://github.com/tock/tock/pull/3577
  * kernel/hil/time,capsules/alarm: pad Ticks to 32 bit for predictable wrapping
    by @lschuermann in https://github.com/tock/tock/pull/3973
  * capsules/alarm: left-justify 32 bit ticks, re-architect alarm, add unit
    tests by @lschuermann in https://github.com/tock/tock/pull/3975

* Stable Rust Support

  This release removes all nightly Rust features from all of Tock's core kernel
  crates (such as `kernel`, `arch/*`, and `chips/*`). This allows Tock to be
  built on the Rust stable toolchain for the first time!

  We demonstrate this by switching the `hail` board to a stable toolchain in
  this release. We continue to compile other boards on the Rust nightly
  toolchain, as this enables some important code-size optimizations (such as by
  compiling our own, size-optimized core library).

  Relevant PRs:
  * [RFC] Yield-WaitFor syscall by @ppannuto in
    https://github.com/tock/tock/pull/3577
  * kernel/hil/time,capsules/alarm: pad Ticks to 32 bit for predictable wrapping
    by @lschuermann in https://github.com/tock/tock/pull/3973
  * capsules/alarm: left-justify 32 bit ticks, re-architect alarm, add unit
    tests by @lschuermann in https://github.com/tock/tock/pull/3975

* `AppID`, Credentials and Storage Permissions

  This Tock release revisits how applications are identified in the kernel, and
  introduces a set of mechanisms that allow developers to identify, verify, and
  restrict applications that are running on a Tock kernel. AppIDs are the core
  mechanism to enable this and identify an application contained in a userspace
  binary. AppIDs allow the kernel to apply security policies to applications as
  their code evolves and their binaries change. We specify AppIDs, Credentials
  and their interactions with process loading in [a draft
  TRD](https://github.com/tock/tock/blob/7c88a6209e3960c0eb2081c5071693dc1987964d/doc/reference/trd-appid.md).

  Additionally, we introduce a mechanism to assign applications permissions to
  access some persistent storage (e.g., keys in a key value store). This
  mechanism interacts with AppIDs (ShortIDs) and is also specified in a [a draft
  TRD](https://github.com/tock/tock/blob/7c88a6209e3960c0eb2081c5071693dc1987964d/doc/reference/trd-storage-permissions.md).

  Relevant PRs:
  * Adding App IDs and userspace binary integrity to the Tock kernel by
    @phil-levis in https://github.com/tock/tock/pull/2809
  * AppID/TBF: Add `ShortId` header by @bradjc in
    https://github.com/tock/tock/pull/4026
  * HIL: Add Signature::verify with `const L:usize` and process checker for
    signatures by @bradjc in https://github.com/tock/tock/pull/3878
  * TRD: Tock Storage Permissions by @bradjc in
    https://github.com/tock/tock/pull/4021
  * Add support for ECDSA NIST P256 signature credentials by @alistair23 in
    https://github.com/tock/tock/pull/4165
  * Storage Permissions: Implement to match TRD by @bradjc in
    https://github.com/tock/tock/pull/4031

* Major Refactors and Interface Changes

  We implement a number of kernel-internal refactors and interface changes:

  - System call drivers are now mandated to either return `Success` or
    `Failure(ErrorCode::NODEVICE)` for a `command` system call with command
    number `0`. Previously, some drivers used this command number to also convey
    additional information to userspace. This release does not change the
    interface of any [stabilized
    drivers](https://github.com/tock/tock/tree/7c88a6209e3960c0eb2081c5071693dc1987964d/doc/syscalls),
    which will be updated as part of Tock 3.0.

    Relevant PRs:
    * Syscall Spec: Allow Command 0 to return Success with value or lock it down
      by @ppannuto in https://github.com/tock/tock/pull/3626
    * Update command 0 comments on stabilized userspace drivers by @hudson-ayers
      in https://github.com/tock/tock/pull/3402
    * capsules: ensure driver existence check by @Samir-Rashid in
      https://github.com/tock/tock/pull/3613

  - Tock 2.2 introduces [a new policy to support external
    dependencies][external-deps] in the upstream Tock codebase. As part of this
    effort, we split up the existing, single `capsules` crate into multipe
    crates (such as `capsules-core`, `capsules-extra`, and `capsules-system`)
    with different guarantees concerning stability and use of external
    dependencies. The `core` capsules crate contains capsules deemed essential
    to most Tock systems, as well as virtualizers which enable a given single
    peripheral to be used by multiple clients. Other capsules have been moved to
    the `extra` capsules crate. The `system` capsules crate contains components
    that extend the functionality of the Tock core kernel, while not requiring
    `unsafe`.

    Relevant PRs:
    * doc: Add ExternalDependencies.md by @alistair23 in
      https://github.com/tock/tock/pull/3312
    * capsules: split into `core/` and `extra/` (implementing #3346) by
      @lschuermann in https://github.com/tock/tock/pull/3396
    * Create system capsules crate, move kernel implementations, update boards
      by @bradjc in https://github.com/tock/tock/pull/3992

  - Furthermore, the `DeferredCall` and `DynamicDeferredCall` subsystems have
    been replaced with a more lightweight and unified deferred call
    infrastructure. This new approach has a smaller code size overhead and
    requires less setup boilerplate code than `DynamicDeferredCall`.

    Relevant PR:
    * Replace `DeferredCall` and `DynamicDeferredCall` with a more
      general-purpose implementation by @hudson-ayers in
      https://github.com/tock/tock/pull/3382

  - `LeasableBuffer` has been renamed to `SubSlice` and features a significantly
    improved API. Multiple subsystems have been ported to this new type.

    Relevant PRs:
    * kernel: LeasableBuffer: fix double slice end value by @bradjc in
      https://github.com/tock/tock/pull/3511
    * kernel: leasablebuffer: add APIs by @bradjc in
      https://github.com/tock/tock/pull/3505
    * Rename `LeasableBuffer` to `SubSlice` by @bradjc in
      https://github.com/tock/tock/pull/3519
    * Switch SPI master HIL to leasable buffers instead of raw slices by @alevy
      in https://github.com/tock/tock/pull/4173
    * ot: tests: switch to subslice by @bradjc in
      https://github.com/tock/tock/pull/3570
    * ot: tests: LB->SS by @bradjc in https://github.com/tock/tock/pull/3573
    * Screen: update HIL to simplify, format, and use SubSlice by @bradjc in
      https://github.com/tock/tock/pull/3792
    * kernel: SubSlice: fix slice calculation by @bradjc in
      https://github.com/tock/tock/pull/3791

  - Tock 2.2 introduces "configuration boards": variants of in-tree board
    definition showcasing certain subsystems or peripherals. These boards (under
    `boards/configurations`) are implemented by converting some Tock boards into
    combined "lib + bin" crates and extending these boards.

    Relevant PRs:
      * boards: remove nrf52840dk demo by @bradjc in
        https://github.com/tock/tock/pull/3580
      * Add Configuration Boards by @bradjc in
        https://github.com/tock/tock/pull/3873
      * Add nRF52840DK-based Thread tutorial board definition by @lschuermann in
        https://github.com/tock/tock/pull/3979
      * boards/nrf52840dk: split into lib+bin crates for configuration/tutorial
        boards by @lschuermann in https://github.com/tock/tock/pull/3981
      * boards: add tutorial board for HOTP tutorial by @bradjc in
        https://github.com/tock/tock/pull/4027

  - Tock can now be built entirely using `cargo` and without its Makefiles. This
    change also simplifies downstream board definitions:

    Relevant PR:
    * Migrate build to be entirely cargo-based, with make as integration tool by
      @bradjc in https://github.com/tock/tock/pull/4075

  - A new `StreamingProcessSlice` helper provides a reusable data structure to
    convey a "stream" of data from capsures to userspace. This is used in Tock's
    new CAN driver, and is useful for ADC, networking, etc.

    Relevant PR:
    * Migrate build to be entirely cargo-based, with make as integration tool by
      @bradjc in https://github.com/tock/tock/pull/4075

  - Tock introduces a new interface for custom implementations of the
    userspace-syscall boundary to hook into the RISC-V trap handler, by
    specifying which registers are clobbered and providing a generic trampoline
    to jump to custom code on a trap.

    Relevant PR:
    * arch/rv32i: separate kernel and app trap handlers by @lschuermann in
      https://github.com/tock/tock/pull/4009

* New Boards

  This release features support for 7 new boards in the upstream Tock codebase:
  * sma_q3 by @dcz-self in https://github.com/tock/tock/pull/3182
  * particle_boron by @twilfredo in https://github.com/tock/tock/pull/3196
  * BBC HiFive Inventor by @mateibarbu19 in
    https://github.com/tock/tock/pull/3225
  * SparkFun LoRa Thing Plus by @alistair23 in
    https://github.com/tock/tock/pull/3273
  * makepython-nrf52840 by @bradjc in https://github.com/tock/tock/pull/3817
  * Nano33BLE Sense Rev2 by @TheButterMineCutter in
    https://github.com/tock/tock/pull/3717
  * VeeR EL2 simulation target by @wsipak in
    https://github.com/tock/tock/pull/4118

* New HILs, Drivers and Features

  Tock 2.2 features 6 new HILs:
  * CAN bus by @teonaseverin in https://github.com/tock/tock/pull/3301
  * `Buzzer` by @TeodoraMiu in https://github.com/tock/tock/pull/3084
  * `DateTime` by @Remus7 in https://github.com/tock/tock/pull/3559
  * `CycleCounter` by @codingHahn and @hudson-ayers in
    https://github.com/tock/tock/pull/3934
  * `public_key_crypto/SignatureVerify` by @bradjc in
    https://github.com/tock/tock/pull/3878
  * `Servo` by @inesmaria08 in https://github.com/tock/tock/pull/4126

  An additional 40 PRs added support for various hardware peripherals,
  subsystems and other features:
  * Add makepython-nrf52840 board, SSD1306 OLED driver, and SharedScreen
    SyscallDriver by @bradjc in https://github.com/tock/tock/pull/3817
  * Apollo3 Add support for SPI by @alistair23 in
    https://github.com/tock/tock/pull/3243
  * Sifive uart receive by @mateibarbu19 in
    https://github.com/tock/tock/pull/3240
  * Sifive uart abort by @mateibarbu19 in https://github.com/tock/tock/pull/3253
  * opentitan: add watchdog/aon_timer by @twilfredo in
    https://github.com/tock/tock/pull/3208
  * Initial VirtIO support for VirtIO Net & RNG on `qemu_rv32_virt` target by
    @lschuermann in https://github.com/tock/tock/pull/3110
  * PWM Syscall Driver by @TeodoraMiu in https://github.com/tock/tock/pull/3367
  * chips/qemu_rv32_virt_chip: implement basic UART RX and add process console
    to board by @lschuermann in https://github.com/tock/tock/pull/3365
  * capsules: Add support for AES GCM by @alistair23 in
    https://github.com/tock/tock/pull/3092
  * Add hmac-sha256 software capsule by @bradjc in
    https://github.com/tock/tock/pull/3502
  * capsules: kv_store: implement virtualization by @bradjc in
    https://github.com/tock/tock/pull/3490
  * Full KV stack update PR by @bradjc in https://github.com/tock/tock/pull/3508
  * nrf52: adc: Add highspeed implementation. by @bradjc in
    https://github.com/tock/tock/pull/3453
  * HMAC sha256: replace buffer and add verify support by @bradjc in
    https://github.com/tock/tock/pull/3561
  * Add `capsules/tutorials` crate and add encryption oracle capsule by
    @lschuermann in https://github.com/tock/tock/pull/3562
  * KV: Separate virtualization from KV implementation, New KV trait,
    Set/Add/Update by @bradjc in https://github.com/tock/tock/pull/3551
  * Basic system clock management for the STM32F4 family by @Ioan-Cristian in
    https://github.com/tock/tock/pull/3528
  * Component and Capsule for BMM150 Sensor by @TheButterMineCutter in
    https://github.com/tock/tock/pull/3713
  * Extend feature support for lowrisc UART by @jon-flatley in
    https://github.com/tock/tock/pull/3729
  * stm32f4xx: Add DAC Driver by @asbarnes in
    https://github.com/tock/tock/pull/3741
  * chips/apollo3: uart: Add UART receive support by @alistair23 in
    https://github.com/tock/tock/pull/3763
  * arch/rv32i: re-design PMP architecture & implement OpenTitan
    EarlGrey-specific ePMP by @lschuermann in
    https://github.com/tock/tock/pull/3597
  * Segger RTT Receive by @alevy in https://github.com/tock/tock/pull/4130
  * Screen driver for SMA Q3 by @alevy in https://github.com/tock/tock/pull/4132
  * chips: apollo3: Support the flash controller by @alistair23 in
    https://github.com/tock/tock/pull/4123
  * HC_SR04 Distance Sensor Driver by @cristianaprecup in
    https://github.com/tock/tock/pull/4138
  * Soil Moisture Sensor Support by @alistair23 in
    https://github.com/tock/tock/pull/4144
  * USB implementation for Raspberry Pi Pico by @TeodoraMiu in
    https://github.com/tock/tock/pull/3310
  * Capsule: AT24C32/64 support by @j-kk in
    https://github.com/tock/tock/pull/3547
  * Added Driver and Component for Hs3003 Sensor by @TheButterMineCutter in
    https://github.com/tock/tock/pull/3666
  * Component and Capsule for LPS22HB Sensor by @TheButterMineCutter in
    https://github.com/tock/tock/pull/3699
  * Add stm32f4xx HSE (high-speed external) clock support by @asbarnes in
    https://github.com/tock/tock/pull/3750
  * apollo3: Add support for the I2C slave hardware by @alistair23 in
    https://github.com/tock/tock/pull/3781
  * tock-registers: added `debug()` method in registers for better human
    readable debug output by @Amjad50 in https://github.com/tock/tock/pull/3771
  * capsules: add sh1106 OLED screen driver by @bradjc in
    https://github.com/tock/tock/pull/3944
  * Raw Receive by @tyler-potyondy in https://github.com/tock/tock/pull/3919
  * boards/apollo3: redboard_artemis_atp: Enable SPI controller by @alistair23
    in https://github.com/tock/tock/pull/3994
  * Initial support for the ATECC508A by @alistair23 in
    https://github.com/tock/tock/pull/3696
  * PIO support for RP2040 by @mateir-7 in
    https://github.com/tock/tock/pull/4179
  * Temporally order userspace print statements with kernel debug statements by
    @phil-levis in https://github.com/tock/tock/pull/3327

* IEEE 802.15.4 and 6LoWPAN Stack

  We can now join a Thread network by running OpenThread as a libtock-c
  userspace implementation, thanks to a major refactor and redesign of Tock's
  IEEE 802.15.4 and 6LoWPAN stack.

  **Known issue**: UDP transmit functionality is currently broken with a bug /
  inconsistency between the kernel and libtock-c implementation. When executing
  the transmit syscall, the libtock-c application fails to provide the src
  address and fails the error check that occurs for the transmit syscall. For
  more information, see the Tock 2.2 release testing issue:
  https://github.com/tock/tock/issues/4272#issuecomment-2569993915

  Relevant PRs:
  * Rewritten nRF52840 802.15.4 driver adding software ACK on receive by
    @tyler-potyondy in https://github.com/tock/tock/pull/3615
  * 15.4 link layer security - encryption/decryption by @tyler-potyondy in
    https://github.com/tock/tock/pull/3652
  * 6LoWPAN Packet Filtering by @tyler-potyondy in
    https://github.com/tock/tock/pull/3660
  * Thread Network Child Device by @tyler-potyondy in
    https://github.com/tock/tock/pull/3683
  * 802.15.4 Send Raw Syscall by @tyler-potyondy in
    https://github.com/tock/tock/pull/3851
  * 15.4 Radio channel Enum by @tyler-potyondy in
    https://github.com/tock/tock/pull/3904
  * 15.4 Receive Ring Buffer by @tyler-potyondy in
    https://github.com/tock/tock/pull/3899
  * EUI-64 Capsule by @tyler-potyondy in https://github.com/tock/tock/pull/3947
  * nrf52840 802.15.4 LQI by @tyler-potyondy in
    https://github.com/tock/tock/pull/3972
  * 802.15.4 HIL updates; nRF52840 IEEE 802.15.4 Driver Updates by @bradjc in
    https://github.com/tock/tock/pull/3995
  * 802.15.4: Add raw userspace driver by @bradjc in
    https://github.com/tock/tock/pull/4016
  * 802.15.4: Revert raw/encrypted receive by @bradjc in
    https://github.com/tock/tock/pull/4014
  * 802.15.4: Revert raw TX in 15.4 stack by @bradjc in
    https://github.com/tock/tock/pull/4015
  * boards: nrf52840dk: Make 15.4 stack optional; add raw 15.4 stack to tutorial
    board by @bradjc in https://github.com/tock/tock/pull/4018
  * 802.15.4: Add 15.4 Stack Readme by @bradjc in
    https://github.com/tock/tock/pull/4022
  * Add 802154 support to the nrf52833 and microbit v2 by @alevy in
    https://github.com/tock/tock/pull/4225
  * IEEE802.15.4 RxClient Encrypted Receive by @tyler-potyondy in
    https://github.com/tock/tock/pull/3940
  * nrf52840 IEEE802.15.4 driver drop corrupted packets by @tyler-potyondy in
    https://github.com/tock/tock/pull/3985

* Fixes, Improvements and Refactors

  Another 482 pull requests implement various fixes, improvements and refactors.

  Pull Request List:
  * LEDs array in LED Driver does not need to be mut by @brghena in
    https://github.com/tock/tock/pull/3135
  * Refresh the process console list command output by @bradjc in
    https://github.com/tock/tock/pull/3167
  * capsules: sha256: impl sha256 trait by @bradjc in
    https://github.com/tock/tock/pull/3172
  * arm/cortex-m/syscall: replace volatile userspace RAM accesses with regular
    pointer reads/writes by @lschuermann in
    https://github.com/tock/tock/pull/3095
  * Process Console New(ish) Commands by @bradjc in
    https://github.com/tock/tock/pull/3171
  * HIL: Make TemperatureClient receive Result<i32, ErrorCode> values by
    @dcz-self in https://github.com/tock/tock/pull/2967
  * Screen HIL: Fix set_brightness by @dcz-self in
    https://github.com/tock/tock/pull/3177
  * litex-sim-ci: update Tockloader & libtock-c rev, change to rv32imc by
    @lschuermann in https://github.com/tock/tock/pull/3210
  * boards/opentitan: fixup flash_ctrl test by @twilfredo in
    https://github.com/tock/tock/pull/3213
  * Revert "boards/redboard_artemis: Workaround Hard Fault Exception" by @bradjc
    in https://github.com/tock/tock/pull/3211
  * Added missing base frequency config for e310x by @mateibarbu19 in
    https://github.com/tock/tock/pull/3215
  * ESP32-c3 Build Fixes, add docs for flashing apps by @TheConner in
    https://github.com/tock/tock/pull/3218
  * microbit_v2: fixed openocd flashing script by @mateibarbu19 in
    https://github.com/tock/tock/pull/3226
  * cortex-m: mpu: simplify error check by @bradjc in
    https://github.com/tock/tock/pull/3201
  * tock-register-interface: don't encapsulate test_fields! tests in mod by
    @lschuermann in https://github.com/tock/tock/pull/3230
  * stm32f412g: make user/kernel code boundary fall on flash sector boundary by
    @hudson-ayers in https://github.com/tock/tock/pull/3181
  * imix: fix driver num for humidity used for component by @bradjc in
    https://github.com/tock/tock/pull/3236
  * boards: linker: remove MPU alignment by @bradjc in
    https://github.com/tock/tock/pull/3198
  * cortex-m: mpu: do not give all memory to process in certain case by @bradjc
    in https://github.com/tock/tock/pull/3200
  * `static_buf!()`: Remove `StaticUninitializedBuffer` and
    `UninitializedBuffer` in favor of `MaybeUninit`, update component
    conventions to match by @hudson-ayers in
    https://github.com/tock/tock/pull/3239
  * RFC: Cortex-M: Use two MPU regions for app memory rather than one by @bradjc
    in https://github.com/tock/tock/pull/3202
  * OpenTitan: Bump to the latest RTL SHA by @alistair23 in
    https://github.com/tock/tock/pull/3056
  * Fix UartMux to be able to use multiple muxes by @alexandruradovici in
    https://github.com/tock/tock/pull/3216
  * AppID: Remove OptionalCell by @bradjc in
    https://github.com/tock/tock/pull/3241
  * boards/opentitan: fixup tickv & flash: add safegaurds by @twilfredo in
    https://github.com/tock/tock/pull/3248
  * chips/earlgrey/aes: Fixup AES for Verilator by @twilfredo in
    https://github.com/tock/tock/pull/3214
  * Update components to use _static and static_buf!(): straightforward
    components by @bradjc in https://github.com/tock/tock/pull/3255
  * boards/opentitan: App loading for Verilator by @twilfredo in
    https://github.com/tock/tock/pull/3269
  * components: fxo: update to new _static by @bradjc in
    https://github.com/tock/tock/pull/3237
  * component: update process console by @bradjc in
    https://github.com/tock/tock/pull/3259
  * component: update udp to new static by @bradjc in
    https://github.com/tock/tock/pull/3260
  * component: update ft6x06 to new static by @bradjc in
    https://github.com/tock/tock/pull/3261
  * Component: Update bmX280 components by @bradjc in
    https://github.com/tock/tock/pull/3232
  * boards/opentitan/Makefile: add OT version check by @twilfredo in
    https://github.com/tock/tock/pull/3271
  * sifive: fix RX interrupt disable clobbering TX by @gemarcano in
    https://github.com/tock/tock/pull/3272
  * hifive1: reduce main() stack frame size by @gemarcano in
    https://github.com/tock/tock/pull/3265
  * boards/opentitan: add entrypoint override by @twilfredo in
    https://github.com/tock/tock/pull/3251
  * component: update ambient light by @bradjc in
    https://github.com/tock/tock/pull/3234
  * components: several updated components with complex macros by @bradjc in
    https://github.com/tock/tock/pull/3274
  * components: Update components used by OpenTitan by @bradjc in
    https://github.com/tock/tock/pull/3280
  * component: update alarm by @bradjc in https://github.com/tock/tock/pull/3281
  * component: update ieee802154 by @bradjc in
    https://github.com/tock/tock/pull/3284
  * component: update remaining sensors by @bradjc in
    https://github.com/tock/tock/pull/3285
  * Rename appid and app_id to processid by @alexandruradovici in
    https://github.com/tock/tock/pull/3291
  * components: update scheduler components by @bradjc in
    https://github.com/tock/tock/pull/3275
  * component: update debug_* to new static by @bradjc in
    https://github.com/tock/tock/pull/3282
  * component: update various bus components by @bradjc in
    https://github.com/tock/tock/pull/3286
  * component: update gpio to new static name by @bradjc in
    https://github.com/tock/tock/pull/3292
  * ADC: Add set_client() to AdcHighSpeed trait (take #2) by @bradjc in
    https://github.com/tock/tock/pull/3290
  * replace rf233 and usb imix components with generic components + update
    mock_udp component by @hudson-ayers in
    https://github.com/tock/tock/pull/3293
  * Component: Move ADC components to new _static macro by @bradjc in
    https://github.com/tock/tock/pull/3231
  * component: add a variety of new components to remove some `static mut` by
    @bradjc in https://github.com/tock/tock/pull/3288
  * kernel: remove static_init_half!() macro by @bradjc in
    https://github.com/tock/tock/pull/3287
  * kernel: don't use `static mut` when `const` would suffice by @hudson-ayers
    in https://github.com/tock/tock/pull/3298
  * Make generic BLE component by @hudson-ayers in
    https://github.com/tock/tock/pull/3296
  * virtual_alarm: add unit test for quick alarm case and fix by @jettr in
    https://github.com/tock/tock/pull/3277
  * RFC: remove kernel work counting optimization by @hudson-ayers in
    https://github.com/tock/tock/pull/3158
  * Make `Component::finalize()` a safe trait method by @hudson-ayers in
    https://github.com/tock/tock/pull/3297
  * esp32-c3-devkit-m1 GPIO Fixes by @TheConner in
    https://github.com/tock/tock/pull/3294
  * boards/opentitan: bump to latest master RTL SHA by @twilfredo in
    https://github.com/tock/tock/pull/3249
  * Decrease kernel size and return NODEVICE error by @alexandruradovici in
    https://github.com/tock/tock/pull/3276
  * kernel: hil: rsa_math: Fixup the mutable Client by @alistair23 in
    https://github.com/tock/tock/pull/3309
  * Increase the kernel flash space for Raspberry Pi Pico by @alexandruradovici
    in https://github.com/tock/tock/pull/3314
  * kernel: fixup typo for struct ProcessCustomGrantIdentifier | capsule: typo
    for TickFSFlashCtrl by @twilfredo in https://github.com/tock/tock/pull/3323
  * Apollo3: A collection of fixes and improvements by @alistair23 in
    https://github.com/tock/tock/pull/3324
  * chips/lowrisc/spi_host: refactor and rustify. by @twilfredo in
    https://github.com/tock/tock/pull/3329
  * boards/opentitan: fix verilator app support by @twilfredo in
    https://github.com/tock/tock/pull/3320
  * libraries/tock-cells/OptionalCell: remove `T: Default` constraint by
    @lschuermann in https://github.com/tock/tock/pull/3334
  * Increased the stack memory for the microbit board because of stack overflow
    by @JADarius in https://github.com/tock/tock/pull/3339
  * kernel/hil/flash: add memory protection, impl/connect/test for OpenTitan by
    @twilfredo in https://github.com/tock/tock/pull/3250
  * chips/sifive/clint: make generic over timebase `Frequency` by @lschuermann
    in https://github.com/tock/tock/pull/3333
  * chips/lowrisc: small refactor / reduce some bloat by @twilfredo in
    https://github.com/tock/tock/pull/3335
  * Only suggest make lst for libtock-c by @hudson-ayers in
    https://github.com/tock/tock/pull/3351
  * boards/apollo3: lora_things_plus: Expose SPI to userspace for SX1262 by
    @alistair23 in https://github.com/tock/tock/pull/3330
  * Update `VolatileCell` using the `vcell` crate's `VolatileCell`. by @jrvanwhy
    in https://github.com/tock/tock/pull/3344
  * Fix nano33 panic by incrementing number of deferred call clients by
    @hudson-ayers in https://github.com/tock/tock/pull/3362
  * Enable virtual function elimination by default for OpenTitan by @jwnrt in
    https://github.com/tock/tock/pull/3358
  * boards/opentitan: bump to latest rtl sha by @twilfredo in
    https://github.com/tock/tock/pull/3359
  * Re-add OpenTitan's VFUNC_ELIM flag by @jwnrt in
    https://github.com/tock/tock/pull/3374
  * Fix Imix to not require process credential checking by default by
    @hudson-ayers in https://github.com/tock/tock/pull/3376
  * Make the set_clocks functions of the RP2040 drivers public to crates only by
    @JADarius in https://github.com/tock/tock/pull/3373
  * debug_writer_component: make debug buffer size configurable; double default
    debug buffer size by @hudson-ayers in https://github.com/tock/tock/pull/3369
  * rv32i: force semihosting insn sequence to be contained in single page by
    @lschuermann in https://github.com/tock/tock/pull/3364
  * ADC pending command functionality by @TeodoraMiu in
    https://github.com/tock/tock/pull/3368
  * fixed i2c buffer len by @teonaseverin in
    https://github.com/tock/tock/pull/3384
  * sifive and hifive1: support 344MHz system clock by @gemarcano in
    https://github.com/tock/tock/pull/3283
  * MLFQSched: fixed invalid logic in redeem_all_procs by @D0x45 in
    https://github.com/tock/tock/pull/3390
  * kernel: sched: mlfq by @bradjc in https://github.com/tock/tock/pull/3391
  * multiple boards: refactored GET_PERIPHERALS by @RaresCon in
    https://github.com/tock/tock/pull/3385
  * Process console command history by @CosminGGeorgescu in
    https://github.com/tock/tock/pull/3381
  * boards/qemu_rv32_virt: set minimum reqd QEMU version to 7.2.0, fix Makefile
    rules, add documentation by @lschuermann in
    https://github.com/tock/tock/pull/3370
  * Update pinned Tockloader revision in shell.nix by @lschuermann in
    https://github.com/tock/tock/pull/3395
  * Update rp2040 boards by @alexandruradovici in
    https://github.com/tock/tock/pull/3399
  * Add reset to process console by @alexandruradovici in
    https://github.com/tock/tock/pull/3398
  * Fix temperature value by @alexandruradovici in
    https://github.com/tock/tock/pull/3400
  * Add correct handling of Userspace Binary version numbers to boot sequence by
    @phil-levis in https://github.com/tock/tock/pull/3307
  * kernel: util: static ref deref return type by @bradjc in
    https://github.com/tock/tock/pull/3392
  * Fix process console by @alexandruradovici in
    https://github.com/tock/tock/pull/3403
  * boards/opentitan: Enable SPI tests for QEMU by @twilfredo in
    https://github.com/tock/tock/pull/3295
  * Rename `matches_any()` to `any_matching_bits_set()`, implement new
    `matches_any()` by @hudson-ayers in https://github.com/tock/tock/pull/3336
  * Fixed svd2regs.py by @Ioan-Cristian in
    https://github.com/tock/tock/pull/3406
  * boards/opentitan: bump opentitan commit sha by @twilfredo in
    https://github.com/tock/tock/pull/3408
  * arch: cortex-m: format and comment assembly by @bradjc in
    https://github.com/tock/tock/pull/3306
  * arch/rv32i: clobber kernel registers instead of manual (un)stacking by
    @lschuermann in https://github.com/tock/tock/pull/3407
  * Update OpenTitan Makefile and build examples by @jwnrt in
    https://github.com/tock/tock/pull/3411
  * rust: update nightly apr 2023 by @bradjc in
    https://github.com/tock/tock/pull/3421
  * lora-phy: Add support for a LoRa capsule by @alistair23 in
    https://github.com/tock/tock/pull/3360
  * chips: apollo3: Set a second timer for alarms by @alistair23 in
    https://github.com/tock/tock/pull/3426
  * nrf52: support new access port protection mechanism on new nRF52 chips by
    @bradjc in https://github.com/tock/tock/pull/3422
  * shell.nix: change pytoml Tockloader dependency to toml by @lschuermann in
    https://github.com/tock/tock/pull/3436
  * Change the I2C implementation to use generics by @JADarius in
    https://github.com/tock/tock/pull/3431
  * UDPHeader Visibility by @tyler-potyondy in
    https://github.com/tock/tock/pull/3447
  * Implementing Escape State Machine for process console and command
    navigations by @mihai-negru in https://github.com/tock/tock/pull/3414
  * process: print: display credential, if available by @bradjc in
    https://github.com/tock/tock/pull/3451
  * hil: screen: make client 'a by @bradjc in
    https://github.com/tock/tock/pull/3461
  * Remove 'static from ADC HIL client by @bradjc in
    https://github.com/tock/tock/pull/3455
  * hil: remove 'static for client in radio by @bradjc in
    https://github.com/tock/tock/pull/3459
  * Update PWM components names by @bradjc in
    https://github.com/tock/tock/pull/3454
  * hil: i2c: remove 'static from client by @lschuermann in
    https://github.com/tock/tock/pull/3467
  * nRF52: update usb with new variant by @bradjc in
    https://github.com/tock/tock/pull/3438
  * TicKV: Use const parameter rather than assume 2048 byte pages by @bradjc in
    https://github.com/tock/tock/pull/3458
  * boards: nrf52840dk: fix ctap example code by @bradjc in
    https://github.com/tock/tock/pull/3439
  * make: llvm-tools no longer preview by @bradjc in
    https://github.com/tock/tock/pull/3443
  * kernel: minor updates to platform.rs by @bradjc in
    https://github.com/tock/tock/pull/3444
  * Fixes RNG capsule re-enter by @kaczmarczyck in
    https://github.com/tock/tock/pull/3475
  * capsules: remove lingering pub static mut by @bradjc in
    https://github.com/tock/tock/pull/3464
  * capsules: tickv: do operation after init on already init by @bradjc in
    https://github.com/tock/tock/pull/3456
  * siphash24: add test by @bradjc in https://github.com/tock/tock/pull/3473
  * hil: spi: remove 'static from client by @bradjc in
    https://github.com/tock/tock/pull/3460
  * hil: dac: remove init by @bradjc in https://github.com/tock/tock/pull/3463
  * chips: nrf52: spi: auto disable when unused by @bradjc in
    https://github.com/tock/tock/pull/3466
  * capsules: change ctap to usb hid by @bradjc in
    https://github.com/tock/tock/pull/3440
  * usb: add USB HID keyboard support by @bradjc in
    https://github.com/tock/tock/pull/3441
  * capsules: tickv: hashed keys big endian by @bradjc in
    https://github.com/tock/tock/pull/3474
  * kernel: hil: kv: clarify append semantics by @bradjc in
    https://github.com/tock/tock/pull/3487
  * tickv: return value buffer on append fail by @bradjc in
    https://github.com/tock/tock/pull/3488
  * capsules: kv driver: need to clear buffers by @bradjc in
    https://github.com/tock/tock/pull/3493
  * nrf52840dk board: comment and organize main.rs file by @bradjc in
    https://github.com/tock/tock/pull/3465
  * Fix single APP panic in kernel scheduler by @qazwsxedcrfvtg14 in
    https://github.com/tock/tock/pull/3498
  * makefile: bump qemu version by @twilfredo in
    https://github.com/tock/tock/pull/3501
  * kernel: StoragePermissions: add "kerneluser" storage access by @bradjc in
    https://github.com/tock/tock/pull/3470
  * Fix global pointer setup code by @nbdd0121 in
    https://github.com/tock/tock/pull/3516
  * increase stack size for microbit by @hudson-ayers in
    https://github.com/tock/tock/pull/3510
  * nRF52 AES Improvements by @bradjc in https://github.com/tock/tock/pull/3448
  * Ensure Rust code generated is eligible for linker relaxation by @nbdd0121 in
    https://github.com/tock/tock/pull/3517
  * Fix rustfmt errors by @bradjc in https://github.com/tock/tock/pull/3512
  * kernel: hil: Various spelling fixes by @bradjc in
    https://github.com/tock/tock/pull/3513
  * tools: run_cargo_fmt.sh: Don't run format on QEMU Rust code by @alistair23
    in https://github.com/tock/tock/pull/3525
  * Fix errors when running QEMU tests for OpenTitan by @nbdd0121 in
    https://github.com/tock/tock/pull/3530
  * chips: apollo3: Remove invalid interrupt config by @alistair23 in
    https://github.com/tock/tock/pull/3526
  * kernel: HIL: digest: add set_client() for `ClientDataHash` and
    `ClientDataVerify` by @bradjc in https://github.com/tock/tock/pull/3479
  * boards: apollo3: README: Update LoRa examples by @alistair23 in
    https://github.com/tock/tock/pull/3527
  * Redefine TBF `protected_size` field to a `protected_trailer_size` by
    @lschuermann in https://github.com/tock/tock/pull/3515
  * Fix negative padding reports in print_tock_memory_usage.py by @nbdd0121 in
    https://github.com/tock/tock/pull/3534
  * chips/earlgrey: convert CONFIG to trait, make board-configurable by
    @lschuermann in https://github.com/tock/tock/pull/3640
  * capsules: rename KVSystem to Kv by @bradjc in
    https://github.com/tock/tock/pull/3649
  * make: add libraries/tickv to cargo test by @bradjc in
    https://github.com/tock/tock/pull/3638
  * make: check for shasum (exists on mac) by @bradjc in
    https://github.com/tock/tock/pull/3655
  * capsules: BUGFIX: backspace/delete would send an extra EOL char by
    @george-cosma in https://github.com/tock/tock/pull/3654
  * components: hmac: use correct set_client by @bradjc in
    https://github.com/tock/tock/pull/3668
  * tickv: handle additional read by @bradjc in
    https://github.com/tock/tock/pull/3667
  * Fix Commented HID Initialization Code by @ethanzhouyc in
    https://github.com/tock/tock/pull/3669
  * OpenTitan: Switch the I2C driver to generated registers. by @jrvanwhy in
    https://github.com/tock/tock/pull/3689
  * derive Debug on Value by @andreeaflorescu in
    https://github.com/tock/tock/pull/3687
  * Capsules: temp/humidity: better handling of busy flag by @bradjc in
    https://github.com/tock/tock/pull/3679
  * Earlgrey: Update cw310 FPGA clock frequencies by @jrvanwhy in
    https://github.com/tock/tock/pull/3703
  * boards: opentitan: Fixup existing test cases by @alistair23 in
    https://github.com/tock/tock/pull/3685
  * HIL, Capsule, and Component for Pressure Sensors by @TheButterMineCutter in
    https://github.com/tock/tock/pull/3690
  * Flash error improvement by @Ioan-Cristian in
    https://github.com/tock/tock/pull/3697
  * HS3003: Removed Unnecessary Code by @TheButterMineCutter in
    https://github.com/tock/tock/pull/3708
  * OpenTitan Earlgrey pinmux implementations by @mazurek-michal in
    https://github.com/tock/tock/pull/3707
  * Add `pub type` to components by @bradjc in
    https://github.com/tock/tock/pull/3657
  * TicKV: Zeroizing a key to remove data by @AndrewImwalle in
    https://github.com/tock/tock/pull/3715
  * virtual_alarm: Do not disarm when setting client. by @jettr in
    https://github.com/tock/tock/pull/3712
  * Process trait improvements by @Ioan-Cristian in
    https://github.com/tock/tock/pull/3716
  * boards/opentitan: README: Fixup bitstream version by @alistair23 in
    https://github.com/tock/tock/pull/3718
  * libraries/tickv: Implement key Zeroise by @alistair23 in
    https://github.com/tock/tock/pull/3721
  * Make UART registers for Nrf52840 configurable by @Niederb in
    https://github.com/tock/tock/pull/3722
  * chips/lowrisc: spi_host: Enable interrupts before operation by @alistair23
    in https://github.com/tock/tock/pull/3730
  * shell.nix: use fenix overlay by @Samir-Rashid in
    https://github.com/tock/tock/pull/3727
  * scheduler/round_robin: Allow timeslice to be configured. by @granaghan in
    https://github.com/tock/tock/pull/3734
  * boards: particle_boron: collection of improvements by @twilfredo in
    https://github.com/tock/tock/pull/3733
  * arch/cortex-m: fix typo in asm comment of switch_to_user_arm_v7m by
    @lschuermann in https://github.com/tock/tock/pull/3742
  * Only write the no-wait flag in yield-no-wait. by @jrvanwhy in
    https://github.com/tock/tock/pull/3740
  * Fix RX race condition in lowrisc UART by @jon-flatley in
    https://github.com/tock/tock/pull/3743
  * cortex-m: cleanup linker constants by @ppannuto in
    https://github.com/tock/tock/pull/3150
  * Refactoring of Earlgrey GPIO driver by @mazurek-michal in
    https://github.com/tock/tock/pull/3710
  * nrf52: i2c: fixup buffer usage by @twilfredo in
    https://github.com/tock/tock/pull/3747
  * lowrisc: usb: change while to if by @bradjc in
    https://github.com/tock/tock/pull/3749
  * Temperature Stack: Use templated capsules by @bradjc in
    https://github.com/tock/tock/pull/3681
  * nrf5x: gpio: add i2c pin config | particle_boron: fixup i2c pin cfg by
    @twilfredo in https://github.com/tock/tock/pull/3746
  * Modified LPS22HB Capsule by @TheButterMineCutter in
    https://github.com/tock/tock/pull/3751
  * chips: nrf52: i2c: fixup register bitfield by @twilfredo in
    https://github.com/tock/tock/pull/3761
  * boards: hifive*: use start() by @bradjc in
    https://github.com/tock/tock/pull/3768
  * boards: clue-nrf52840: use start() by @bradjc in
    https://github.com/tock/tock/pull/3767
  * boards: acd52832: use start() by @bradjc in
    https://github.com/tock/tock/pull/3766
  * boards: arty: use start() by @bradjc in
    https://github.com/tock/tock/pull/3765
  * hil: digest: fix comment by @bradjc in
    https://github.com/tock/tock/pull/3773
  * capsules: i2c_master: Relay Nak to userspace by @alistair23 in
    https://github.com/tock/tock/pull/3764
  * chips/apollo: iom: Report Nacks to the caller by @alistair23 in
    https://github.com/tock/tock/pull/3762
  * boards: add wm1110-dev board by @bradjc in
    https://github.com/tock/tock/pull/3653
  * trd: legal: fix spdx url by @bradjc in
    https://github.com/tock/tock/pull/3784
  * Minor kernel doc improvements and updates by @bradjc in
    https://github.com/tock/tock/pull/3783
  * chips: apollo3: uart: Support recieve and transmit at the same time by
    @alistair23 in https://github.com/tock/tock/pull/3789
  * Update rust january 2024 by @bradjc in
    https://github.com/tock/tock/pull/3748
  * Component type keyboard hid by @bradjc in
    https://github.com/tock/tock/pull/3774
  * components: hmac: add component types by @bradjc in
    https://github.com/tock/tock/pull/3775
  * capsules: tickv: not ready cases need flash loop by @bradjc in
    https://github.com/tock/tock/pull/3776
  * capsules: i2c_master_slave_combo: Initial commit by @alistair23 in
    https://github.com/tock/tock/pull/3786
  * OpenTitan: Fix broken UART and missing test cases by @alistair23 in
    https://github.com/tock/tock/pull/3754
  * Update pinned tock-litex release to 2024011101 by @lschuermann in
    https://github.com/tock/tock/pull/3790
  * capsules: console/virtual_uart: Report receive errors to userspace by
    @alistair23 in https://github.com/tock/tock/pull/3787
  * components: console: support configurable buffers by @twilfredo in
    https://github.com/tock/tock/pull/3801
  * Disconnect debug-related pins from GPIO by default in OpenTitan by @jwnrt in
    https://github.com/tock/tock/pull/3809
  * Bus component bug fix by @CristianSLazar in
    https://github.com/tock/tock/pull/3810
  * boards: particle_boron: collection of updates/drop pconsole by @twilfredo in
    https://github.com/tock/tock/pull/3800
  * kernel: appchecker: compress: pass &Process by @bradjc in
    https://github.com/tock/tock/pull/3796
  * kernel: process: add get_short_id() to ProcessId by @bradjc in
    https://github.com/tock/tock/pull/3795
  * Common build.rs script by @jwnrt in https://github.com/tock/tock/pull/3782
  * doc: syscall: add K-V syscall doc by @bradjc in
    https://github.com/tock/tock/pull/3785
  * boards/apollo3: redboard_artemis_atp: Initial commit by @alistair23 in
    https://github.com/tock/tock/pull/3804
  * tock-tbf: fix footer parsing error type by @bradjc in
    https://github.com/tock/tock/pull/3793
  * humidity: Match temperature and use templated sensor by @bradjc in
    https://github.com/tock/tock/pull/3807
  * board: earlgrey: Fix number of IRQ in PLIC by @mazurek-michal in
    https://github.com/tock/tock/pull/3819
  * Add toml extension to .cargo/config files by @jwnrt in
    https://github.com/tock/tock/pull/3823
  * kernel: appchecker: add shortid based on names by @bradjc in
    https://github.com/tock/tock/pull/3818
  * opentitan: Rearrange UARTs and I2Cs. by @jrvanwhy in
    https://github.com/tock/tock/pull/3827
  * Boards: wm1110dev updates: remove build.rs, update readme by @bradjc in
    https://github.com/tock/tock/pull/3837
  * arch: cortex-v7m: use the same asm! format by @bradjc in
    https://github.com/tock/tock/pull/3832
  * kernel: utilities: add crc32_posix by @bradjc in
    https://github.com/tock/tock/pull/3829
  * chips/apollo3: A collection of I2C fixes by @alistair23 in
    https://github.com/tock/tock/pull/3840
  * litex-sim-ci: update pinned libtock-c, remove custom riscv toolchain by
    @lschuermann in https://github.com/tock/tock/pull/3848
  * Unbreak CI on master by @lschuermann in
    https://github.com/tock/tock/pull/3857
  * libraries: tock-tbf: fix footer parse error by @bradjc in
    https://github.com/tock/tock/pull/3846
  * boards: nordic: use start() by @bradjc in
    https://github.com/tock/tock/pull/3836
  * kernel: syscall: add driver_num helper functions by @bradjc in
    https://github.com/tock/tock/pull/3856
  * stm32f4xx: handle usart overrun error by @mattmart3 in
    https://github.com/tock/tock/pull/3844
  * components: Add types for several basic components by @bradjc in
    https://github.com/tock/tock/pull/3853
  * kernel: process_std: easy copy `make debug` by @bradjc in
    https://github.com/tock/tock/pull/3863
  * kernel: sched: round-robin: handle empty process array by @bradjc in
    https://github.com/tock/tock/pull/3870
  * Avoid creating intermediate Rust references when taking pointers of memory /
    extern statics by @lschuermann in https://github.com/tock/tock/pull/3824
  * process_console: display completion code as isize by @bradjc in
    https://github.com/tock/tock/pull/3862
  * process_console: fix char deletion handlers by @mattmart3 in
    https://github.com/tock/tock/pull/3868
  * boards: nucleo: use start() by @bradjc in
    https://github.com/tock/tock/pull/3860
  * Remove Redundant Imports by @bradjc in
    https://github.com/tock/tock/pull/3875
  * hmac test: fix set_client by @bradjc in
    https://github.com/tock/tock/pull/3869
  * Fix conditional compilation #[cfg( matches for arch & target_os by
    @lschuermann in https://github.com/tock/tock/pull/3865
  * IEEE802.15.4: Remove dyn, change to template by @bradjc in
    https://github.com/tock/tock/pull/3859
  * Resolve "unused import: `core::arch::global_asm`" warnings. by @jrvanwhy in
    https://github.com/tock/tock/pull/3887
  * Capsules: AES test: make decryption optional by @bradjc in
    https://github.com/tock/tock/pull/3872
  * Add a `CapsuleTest` trait by @bradjc in
    https://github.com/tock/tock/pull/3871
  * RNG: template and add `RngComponentType` by @bradjc in
    https://github.com/tock/tock/pull/3855
  * arch/cortex-m3: re-export `unhandled_interrupt()` by @wprzytula in
    https://github.com/tock/tock/pull/3889
  * stm32f4xx: expose clock frequency to peripherals by @mattmart3 in
    https://github.com/tock/tock/pull/3888
  * Fix panic printing by @Ioan-Cristian in
    https://github.com/tock/tock/pull/3896
  * print-tock-memory-usage.py: fix regex warnings by @hudson-ayers in
    https://github.com/tock/tock/pull/3893
  * capsules: test: sha256 implement CapsuleTest by @bradjc in
    https://github.com/tock/tock/pull/3897
  * test_fields!: stringify offset and size in error messages by @yuriishutkin
    in https://github.com/tock/tock/pull/3901
  * Arch: Cortex: Fix stack addresses for kernel hardfault debug message by
    @bradjc in https://github.com/tock/tock/pull/3900
  * Get Process Buffer API by @tyler-potyondy in
    https://github.com/tock/tock/pull/3861
  * arch/cortex-m3: re-export `initialize_ram_jump_to_main` by @wprzytula in
    https://github.com/tock/tock/pull/3917
  * TBF Header: Store slices instead of parsed objects by @bradjc in
    https://github.com/tock/tock/pull/3902
  * Doc: update boards readme with new boards and add script by @bradjc in
    https://github.com/tock/tock/pull/3908
  * tock-registers: Fix a `cargo miri test` memory leak error. by @jrvanwhy in
    https://github.com/tock/tock/pull/3918
  * boards: rpi: use start() by @bradjc in
    https://github.com/tock/tock/pull/3914
  * kernel: deferred call: better error panic by @bradjc in
    https://github.com/tock/tock/pull/3916
  * stm32f429zi: rtc deferred call by @bradjc in
    https://github.com/tock/tock/pull/3915
  * Code updates from new nightly by @bradjc in
    https://github.com/tock/tock/pull/3921
  * kernel: process loading: update comments & remove capabilities by @bradjc in
    https://github.com/tock/tock/pull/3509
  * tock-cells: change `OptionalCell::map` to pass a copy into the closure by
    @lschuermann in https://github.com/tock/tock/pull/3535
  * boards: microbitv2: use helper function in main by @bradjc in
    https://github.com/tock/tock/pull/3514
  * capsules: remove virtual_[digest|flash|sha].rs which do not virtualize by
    @bradjc in https://github.com/tock/tock/pull/3503
  * capsules: tickv: call error cb on append error by @bradjc in
    https://github.com/tock/tock/pull/3489
  * Switch to v0 mangling scheme and port print_tock_memory_usage.py by
    @nbdd0121 in https://github.com/tock/tock/pull/3539
  * tickv: remove get_buffer functions by @bradjc in
    https://github.com/tock/tock/pull/3491
  * kernel/platform/mpu: don't provide default impls for methods by @lschuermann
    in https://github.com/tock/tock/pull/3550
  * pconsole: display ShortID by @bradjc in
    https://github.com/tock/tock/pull/3548
  * tock-cells/OptionalCell: rename extract-method to get by @lschuermann in
    https://github.com/tock/tock/pull/3536
  * usb: keyboard: do not retry send on ctrl finish by @bradjc in
    https://github.com/tock/tock/pull/3545
  * Add reset function to cortexm::support by @alexandruradovici in
    https://github.com/tock/tock/pull/3404
  * Make StaticRef NonNull by @kupiakos in
    https://github.com/tock/tock/pull/3552
  * boards: apollo3: Use helper function in main by @alistair23 in
    https://github.com/tock/tock/pull/3520
  * Fix MapCell safety 2.0 by @kupiakos in
    https://github.com/tock/tock/pull/3537
  * boards: nrf52840: increase kernel space by @bradjc in
    https://github.com/tock/tock/pull/3565
  * storage permissions: clarify naming by @bradjc in
    https://github.com/tock/tock/pull/3554
  * usb_hid: disambiguate RESERVE/BUSY by @ppannuto in
    https://github.com/tock/tock/pull/3553
  * Fix NRF52 nvmc register offset and use by @bradjc in
    https://github.com/tock/tock/pull/3564
  * pconsole: support a "hibernation" mode by @bradjc in
    https://github.com/tock/tock/pull/3557
  * capsules/extra/tutorials/encryption_oracle: add DRIVER_NUM by @lschuermann
    in https://github.com/tock/tock/pull/3567
  * Add openocd to shell.nix by @alevy in https://github.com/tock/tock/pull/3571
  * kernel/process_standard: ensure kernel_memory_break align & cleanup by
    @lschuermann in https://github.com/tock/tock/pull/3556
  * capsules: virtual_uart: ensure inflight is None on error by @bradjc in
    https://github.com/tock/tock/pull/3584
  * kernel/platform/mpu: remove dependence on ProcessID and assumptions by
    @lschuermann in https://github.com/tock/tock/pull/3540
  * components: add SW SHA256 and HMAC-SHA256 by @bradjc in
    https://github.com/tock/tock/pull/3579
  * Update rust-toolchain to nightly of 2023-07-30 by @lschuermann in
    https://github.com/tock/tock/pull/3582
  * infra: upgrade to rust-toolchain.toml by @ppannuto in
    https://github.com/tock/tock/pull/3593
  * rustup: need version 1.23.0 by @bradjc in
    https://github.com/tock/tock/pull/3594
  * Update OpenTitan to `Earlgrey-M2.5.2-RC0` by @cfrantz in
    https://github.com/tock/tock/pull/3586
  * Use autogenerated register constants for OpenTitan by @cfrantz in
    https://github.com/tock/tock/pull/3587
  * Fix linker script calculations by @cfrantz in
    https://github.com/tock/tock/pull/3601
  * Update OpenTitan to use auto-generated base address constants by @cfrantz in
    https://github.com/tock/tock/pull/3598
  * boards: nano33ble: use start function by @bradjc in
    https://github.com/tock/tock/pull/3602
  * kernel_layout: remove eh_frame_hdr by @robyale in
    https://github.com/tock/tock/pull/3603
  * Update thiserror to 1.0.44. by @jrvanwhy in
    https://github.com/tock/tock/pull/3609
  * opentitan: tests: fix test order for flash/aes by @twilfredo in
    https://github.com/tock/tock/pull/3616
  * workflows/litex_sim: add mirror for the pre-compiled RISC-V toolchain by
    @lschuermann in https://github.com/tock/tock/pull/3621
  * New approach for kernel attributes by @bradjc in
    https://github.com/tock/tock/pull/3588
  * boards: nrf52840dk: increase RTT wait by @bradjc in
    https://github.com/tock/tock/pull/3625
  * litex_sim CI: fix RISC-V precompiled GCC toolchain URL by @lschuermann in
    https://github.com/tock/tock/pull/3630
  * shell.nix: update to Tockloader v1.10.0 with optional unfree pkgs by
    @lschuermann in https://github.com/tock/tock/pull/3629
  * Add TicKV to nrf52840dk by @bradjc in https://github.com/tock/tock/pull/3522
  * clippy: -D ptr_eq by @bradjc in https://github.com/tock/tock/pull/3636
  * clippy: -D unused_unit by @bradjc in https://github.com/tock/tock/pull/3634
  * TicKV: Fix garabage collect for async and update tests by @bradjc in
    https://github.com/tock/tock/pull/3619
  * Split out (almost) all remaining clippy lints by @bradjc in
    https://github.com/tock/tock/pull/3632
  * chips/lowrisc/uart: fix spurious RX buffer underrun error condition by
    @lschuermann in https://github.com/tock/tock/pull/3641
  * clippy: -D clippy::enum_glob_use by @bradjc in
    https://github.com/tock/tock/pull/3644
  * TicKV: Add a search test by @bradjc in
    https://github.com/tock/tock/pull/3623
  * rv32i: use la instruction, pass in linker vars by @bradjc in
    https://github.com/tock/tock/pull/3624
  * clippy: -D unnecessary_cast by @bradjc in
    https://github.com/tock/tock/pull/3633
  * clippy: -D needless_borrow by @bradjc in
    https://github.com/tock/tock/pull/3635
  * Update deprecated VSCode settings by @CosminGGeorgescu in
    https://github.com/tock/tock/pull/3628
  * kernel: export `StoppedExecutingReason` by @bradjc in
    https://github.com/tock/tock/pull/3648
  * boards/pico_explorer_base: add buzzer driver by @irina-nita in
    https://github.com/tock/tock/pull/3646
  * libraries: tickv: Fixup the broken region search by @alistair23 in
    https://github.com/tock/tock/pull/3618
  * Clippy: -D question_mark by @bradjc in
    https://github.com/tock/tock/pull/3645
  * clippy: -D clippy::manual-memcpy by @bradjc in
    https://github.com/tock/tock/pull/3656
  * clippy: Address several complexity lints by @bradjc in
    https://github.com/tock/tock/pull/3637
  * Clippy: Enable many style lints by @bradjc in
    https://github.com/tock/tock/pull/3643
  * clippy: fix some pedantic lints by @bradjc in
    https://github.com/tock/tock/pull/3664
  * clippy: now disallow everything by @bradjc in
    https://github.com/tock/tock/pull/3665
  * clippy: -D clippy::needless_lifetimes by @bradjc in
    https://github.com/tock/tock/pull/3674
  * clippy: -D clippy::bool_comparison by @bradjc in
    https://github.com/tock/tock/pull/3676
  * boards: fix clippy ==true by @bradjc in
    https://github.com/tock/tock/pull/3680
  * clippy: -D clippy::explicit_counter_loop by @bradjc in
    https://github.com/tock/tock/pull/3675
  * `clippy::unnecessary-cast` lint fixes by @lschuermann in
    https://github.com/tock/tock/pull/3726
  * Document Code Review Principles by @bradjc in
    https://github.com/tock/tock/pull/3596
  * capsules: remove doc leftovers on `SyscallDriver` impls by @elenaf9 in
    https://github.com/tock/tock/pull/3532
  * Clippy: Move configuration to Cargo.toml by @bradjc in
    https://github.com/tock/tock/pull/4082
  * clippy: deny `unnecessary_unwrap` by @bradjc in
    https://github.com/tock/tock/pull/4090
  * clippy: deny `needless_match` by @bradjc in
    https://github.com/tock/tock/pull/4091
  * clippy: deny `type_repetition_in_bounds` by @bradjc in
    https://github.com/tock/tock/pull/4092
  * clippy: deny `needless-if` by @bradjc in
    https://github.com/tock/tock/pull/4095
  * clippy: deny `explicit_auto_deref` by @bradjc in
    https://github.com/tock/tock/pull/4096
  * clippy: deny `borrow_deref_ref` by @bradjc in
    https://github.com/tock/tock/pull/4093
  * clippy: deny `from-over-into` by @bradjc in
    https://github.com/tock/tock/pull/4097
  * wm1110: add nonvolatile storage by @bradjc in
    https://github.com/tock/tock/pull/3920
  * makefile: add readme check target for CI by @bradjc in
    https://github.com/tock/tock/pull/3913
  * use `usize::checked_next_multiple_of` by @folkertdev in
    https://github.com/tock/tock/pull/3924
  * Add Asynchronous Process Loader, Split Credential Traits, Make Process
    Checking pre-Kernel Loop by @bradjc in
    https://github.com/tock/tock/pull/3849
  * Console: notify app if transmit fails by @bradjc in
    https://github.com/tock/tock/pull/3585
  * stm32f429idiscovery: make and openocd updates by @bradjc in
    https://github.com/tock/tock/pull/3925
  * Pin hail stable to 1.76 until static mut fixed by @alevy in
    https://github.com/tock/tock/pull/3930
  * boards: stm32: use std openocd config by @bradjc in
    https://github.com/tock/tock/pull/3926
  * Move MacOS build from regular CI to nightly by @alevy in
    https://github.com/tock/tock/pull/3932
  * arch/cortex-m3: re-export interrupt mask by @wprzytula in
    https://github.com/tock/tock/pull/3935
  * [opentitan] Fix spurious `0` byte reads on the LowRISC UART driver. by
    @jrvanwhy in https://github.com/tock/tock/pull/3927
  * capsules: ssd1306: fix column command fmt by @bradjc in
    https://github.com/tock/tock/pull/3943
  * IEEE802.15.4 Framer PSDU Offset Fix by @tyler-potyondy in
    https://github.com/tock/tock/pull/3933
  * boards: make: fix -Z build-std by @bradjc in
    https://github.com/tock/tock/pull/3950
  * make: check for semver and support mac and linux by @bradjc in
    https://github.com/tock/tock/pull/3953
  * boards: esp32-c3: fix test by @bradjc in
    https://github.com/tock/tock/pull/3951
  * make TakeCell::empty() const, and make nrf52840 GPIO pin initialization a
    const fn by @folkertdev in https://github.com/tock/tock/pull/3937
  * boards: opentitan: tests: fix flash warnings by @bradjc in
    https://github.com/tock/tock/pull/3952
  * boards: acd52832: simplify struct by @bradjc in
    https://github.com/tock/tock/pull/3968
  * boards: config: nrf52840dk kernel test: fix import by @bradjc in
    https://github.com/tock/tock/pull/3969
  * libraries: remove unused imports by @bradjc in
    https://github.com/tock/tock/pull/3966
  * kernel: process_checker: basic: make assigner pub by @bradjc in
    https://github.com/tock/tock/pull/3967
  * Stopgap changes to treatment of `static mut` to get around compiler
    warnings. by @alevy in https://github.com/tock/tock/pull/3965
  * rust: update nightly April 2024 by @bradjc in
    https://github.com/tock/tock/pull/3842
  * Remove Thread Capsule Debug Statements by @tyler-potyondy in
    https://github.com/tock/tock/pull/3976
  * Update pinned Tockloader rev to v1.12.0 by @lschuermann in
    https://github.com/tock/tock/pull/3982
  * boards: makepython: loader: register deferred call by @bradjc in
    https://github.com/tock/tock/pull/3984
  * kernel: add RestartWithDebugFaultPolicy by @lschuermann in
    https://github.com/tock/tock/pull/3986
  * Update nrf5x temperature calculation by @tyler-potyondy in
    https://github.com/tock/tock/pull/3988
  * chips/nrf5x: disallow registering multiple interrupts for a single GPIO by
    @lschuermann in https://github.com/tock/tock/pull/3989
  * capsules: tickv: invalidate may need another read by @bradjc in
    https://github.com/tock/tock/pull/3983
  * chips: apollo3: iom: Support SPI operations larger then 32 bytes by
    @alistair23 in https://github.com/tock/tock/pull/3964
  * kernel: hil: radio: use standard rx client by @bradjc in
    https://github.com/tock/tock/pull/3997
  * ieee802154: Remove buffers from `initialize()` functions by @bradjc in
    https://github.com/tock/tock/pull/3993
  * boards/apollo3: Fixup the GPIO configurations by @alistair23 in
    https://github.com/tock/tock/pull/3990
  * capsules: spi_controller: Support read only and inline operations by
    @alistair23 in https://github.com/tock/tock/pull/3991
  * components/console: use snake case for variables by @wprzytula in
    https://github.com/tock/tock/pull/4007
  * stm32f4xx: clocks rework by @mattmart3 in
    https://github.com/tock/tock/pull/4008
  * Remove dead code by @alistair23 in https://github.com/tock/tock/pull/4013
  * bump Rust nightly to nightly-2024-05-23 and set optimize_for_size by
    @alistair23 in https://github.com/tock/tock/pull/4002
  * appid: add null checker by @bradjc in https://github.com/tock/tock/pull/4019
  * boards: nrf52840dk: remove thread capsule by @bradjc in
    https://github.com/tock/tock/pull/4017
  * boards/apollo3: Update the flash layout by @alistair23 in
    https://github.com/tock/tock/pull/4030
  * Fix temperature sign in bme280 and bmp280 drivers by @brghena in
    https://github.com/tock/tock/pull/3112
  * build(deps): bump urllib3 from 2.1.0 to 2.2.2 in /tools/tockbot by
    @dependabot in https://github.com/tock/tock/pull/4035
  * opentitan: Add ROM_EXT-compatible ePMP setup. by @jrvanwhy in
    https://github.com/tock/tock/pull/4034
  * kernel: processstd: remove unsafe in version by @bradjc in
    https://github.com/tock/tock/pull/4038
  * Components: Add component for sequential process loader by @bradjc in
    https://github.com/tock/tock/pull/4036
  * kernel/collections/queue: rename `remove_first` to `remove_first_matching`
    by @lschuermann in https://github.com/tock/tock/pull/4033
  * kernel: process standard: stop in YieldedFor by @bradjc in
    https://github.com/tock/tock/pull/4039
  * boards: HOTP Tutorial: Enable screen by @bradjc in
    https://github.com/tock/tock/pull/4040
  * capsules: appid: names: simplify implementation by @bradjc in
    https://github.com/tock/tock/pull/4041
  * nrf52: Expose SPI0 and TWI1 (and not TWI0 and SPI1) by @bradjc in
    https://github.com/tock/tock/pull/4042
  * nrf52840: IEEE802154 TX Buf Length Fix by @tyler-potyondy in
    https://github.com/tock/tock/pull/4047
  * IPC: Avoid double grant entry by @bradjc in
    https://github.com/tock/tock/pull/4053
  * Fix module name for TextScreen by @U-alb in
    https://github.com/tock/tock/pull/4056
  * boards: teensy: use start() by @bradjc in
    https://github.com/tock/tock/pull/4060
  * kernel: process standard: do not store reference to process name by @bradjc
    in https://github.com/tock/tock/pull/4061
  * kernel crate: Improve comments and generated docs by @bradjc in
    https://github.com/tock/tock/pull/4080
  * kernel: syscall: fix missing comments by @bradjc in
    https://github.com/tock/tock/pull/4105
  * chips: apollo3: Handle the errata for clock double increments by @alistair23
    in https://github.com/tock/tock/pull/4063
  * libraries: tock-cells and enum_primitive: specify edition by @bradjc in
    https://github.com/tock/tock/pull/4067
  * chips/{litex/liteeth,lowrisc/usbdev}: remove dead code by @lschuermann in
    https://github.com/tock/tock/pull/4073
  * Update Rust nightly toolchain to nightly-2024-07-08 by @lschuermann in
    https://github.com/tock/tock/pull/4071
  * lib: tbf: parse header lengths without 'static by @bradjc in
    https://github.com/tock/tock/pull/4079
  * boards: use start() by @bradjc in https://github.com/tock/tock/pull/4085
  * Stm32 Boards: use start() by @bradjc in
    https://github.com/tock/tock/pull/4083
  * boards: litex: use start() by @bradjc in
    https://github.com/tock/tock/pull/4084
  * Fixing deferred calls registering for rp2040 rtc by @inesmaria08 in
    https://github.com/tock/tock/pull/4098
  * clippy: deny `wrong-self-convention` by @bradjc in
    https://github.com/tock/tock/pull/4089
  * chips: apollo3: stimer: Ensure alarm occurs if set in the past by
    @alistair23 in https://github.com/tock/tock/pull/4078
  * clippy: deny `redundant_field_names` by @bradjc in
    https://github.com/tock/tock/pull/4101
  * clippy: deny `overflow_check_conditional` by @bradjc in
    https://github.com/tock/tock/pull/4094
  * tickv: Remove the offset from read_region() by @alistair23 in
    https://github.com/tock/tock/pull/4069
  * AppID: Restore `AppIdPolicy` implementations' ability to use the accepted
    credential, and allow credential checkers to pass data with accepted
    credentials by @bradjc in https://github.com/tock/tock/pull/4028
  * Fix something that was not the root cause of relocation bug from #2219 at
    the time, the root cause was a bug in LLD, and now that bug is fixed, so we
    can use the canonical way of ensuring the relocation section has a
    predictable LMA by @alevy in https://github.com/tock/tock/pull/4108
  * loops: use .iter() rather than c loops by @bradjc in
    https://github.com/tock/tock/pull/4116
  * clippy: deny `unnecessary_struct_initialization` by @bradjc in
    https://github.com/tock/tock/pull/4115
  * arch: fix clippy warnings by @bradjc in
    https://github.com/tock/tock/pull/4117
  * clippy: deny `match-single-binding` by @bradjc in
    https://github.com/tock/tock/pull/4114
  * segger_rtt: mark allocated struct as `_SEGGER_RTT` in ELF by @alevy in
    https://github.com/tock/tock/pull/4124
  * Fix the GPIO pins of the Pico Explorer Base by @U-alb in
    https://github.com/tock/tock/pull/4131
  * Move Segger RTT to own chip crate and fix soundness issues with externally
    shared memory by @alevy in https://github.com/tock/tock/pull/4129
  * boards/apollo3: Fixup broken tests by @alistair23 in
    https://github.com/tock/tock/pull/4143
  * Add well-formedness check to CortexMRegion::new() by @enjhnsn2 in
    https://github.com/tock/tock/pull/4135
  * kernel: process loading: improve debug prints by @bradjc in
    https://github.com/tock/tock/pull/4149
  * Fix cooperative scheduler panic by @Ioan-Cristian in
    https://github.com/tock/tock/pull/4151
  * spi: add support for variable chip-select polarity by @alevy in
    https://github.com/tock/tock/pull/4136
  * Moving microbit_v2 away from openocd to probe-rs by @NegrilaRares in
    https://github.com/tock/tock/pull/4074
  * chips: apollo3: iom: Add delay when reading I2C by @alistair23 in
    https://github.com/tock/tock/pull/4155
  * chips: apollo3: iom: Support non 4-byte alligned SPI writes by @alistair23
    in https://github.com/tock/tock/pull/4156
  * Fix deferred calls by @Ioan-Cristian in
    https://github.com/tock/tock/pull/4161
  * fmt: make `panic!` error messages greppable by @Samir-Rashid in
    https://github.com/tock/tock/pull/4163
  * boards: linker: do not load .apps section by default by @bradjc in
    https://github.com/tock/tock/pull/4169
  * LPM013m126 Screen: Support RGB color formats by @alevy in
    https://github.com/tock/tock/pull/4180
  * boards: fixed STM systick frequency by @GabrielPavaloiu in
    https://github.com/tock/tock/pull/4182
  * Boards: Add a build_scripts crate by @bradjc in
    https://github.com/tock/tock/pull/4172
  * ot/earlgrey-cw310: custom build.rs that supports alternative linker script
    for tests by @hudson-ayers in https://github.com/tock/tock/pull/4190
  * Update .apps section by @alexandruradovici in
    https://github.com/tock/tock/pull/4191
  * Remove `.unwrap()` in `impl From` by @bradjc in
    https://github.com/tock/tock/pull/4195
  * kernel: debug: remove `Debug` trait by @bradjc in
    https://github.com/tock/tock/pull/4196
  * kernel/processbuffer: accept arbitrary Ranges in ProcessSlice::get by
    @lschuermann in https://github.com/tock/tock/pull/4192
  * Fix the bus library to support all the possible address widths by
    @inesmaria08 in https://github.com/tock/tock/pull/4099
  * Alarm Syscall: fix computed `dt` when both unshifted `reference` and `dt`
    from userspace have low-order bits. by @alevy in
    https://github.com/tock/tock/pull/4201
  * st7xx: flip 16-bit endianness of buffer before txn by @alevy in
    https://github.com/tock/tock/pull/4206
  * ProcessStandard: Make debugging data optional by @bradjc in
    https://github.com/tock/tock/pull/4188
  * boards/pico_explorer_base/src/main.rs: remove unused imports to fix clippy
    checks by @lschuermann in https://github.com/tock/tock/pull/4210
  * Bump QEMU version to 9.1.1 by @jwnrt in
    https://github.com/tock/tock/pull/4214
  * Pio last update by @mateir-7 in https://github.com/tock/tock/pull/4212
  * atecc508a: Support SHA256 Digests by @alistair23 in
    https://github.com/tock/tock/pull/4154
  * Small updates for better performance in screen driver by @alevy in
    https://github.com/tock/tock/pull/4215
  * rp2040: pio: replace unnecessary OptionalCell by @alevy in
    https://github.com/tock/tock/pull/4219
  * atecc508a: Support the SignatureVerify HIL by @alistair23 in
    https://github.com/tock/tock/pull/4159
  * arch: add cortex-m4f crate by @ppannuto in
    https://github.com/tock/tock/pull/4224
  * bme280: A collection of fixes by @alistair23 in
    https://github.com/tock/tock/pull/4223
  * capsules: spi_controller: Fix userspace operations by @alistair23 in
    https://github.com/tock/tock/pull/4234
  * chips: apollo3: iom: Work with new SPI HIL by @alistair23 in
    https://github.com/tock/tock/pull/4235
  * capsules: spi_controller: Fixup read operations by @alistair23 in
    https://github.com/tock/tock/pull/4236
  * kernel: split out encode_syscall_return to utilities module by @lschuermann
    in https://github.com/tock/tock/pull/4229
  * boards: apollo3: Support loading signed applications by @alistair23 in
    https://github.com/tock/tock/pull/4232
  * arch: cortex-m: register name is psr by @bradjc in
    https://github.com/tock/tock/pull/4239
  * Add `CapbilityPtr` and Add `SuccessAddr` and `SuccessPtr` syscall variants
    by @LawrenceEsswood in https://github.com/tock/tock/pull/4174
  * Enable RISC-V bitmanip extensions for OpenTitan by @jwnrt in
    https://github.com/tock/tock/pull/4145
  * capsules: chirp_i2c_moisture: Improve reliability and accuracy by
    @alistair23 in https://github.com/tock/tock/pull/4244
  * Enhance SiFive PLIC support by @ZhekaS in
    https://github.com/tock/tock/pull/4241
  * Update Rust Nightly to November 16 2024 by @bradjc in
    https://github.com/tock/tock/pull/4193
  * kernel: scheduler: Use NonZeroU32 instead of u32 for `start()` and
    `get_remaining_us()` by @Ioan-Cristian in
    https://github.com/tock/tock/pull/4254
  * USB HID/CTAP: General cleanup by @bradjc in
    https://github.com/tock/tock/pull/4251
  * kernel: kernel: Trace exit syscalls by @Ioan-Cristian in
    https://github.com/tock/tock/pull/4261
  * capsules: kv: Support 512 byte KV values by @alistair23 in
    https://github.com/tock/tock/pull/4248
  * nordic: components: startup: fix uicr pin check by @alevy in
    https://github.com/tock/tock/pull/4262
  * pconsole: increase command buffer size to 64 by @bradjc in
    https://github.com/tock/tock/pull/4265
  * pconsole: change `boot` cmd to use process.start() by @bradjc in
    https://github.com/tock/tock/pull/4264
  * Improv(docs): Fixed doc errors by @siddharthkumarjha in
    https://github.com/tock/tock/pull/4268
  * grant: added remove_pending_upcalls function by @GabrielPavaloiu in
    https://github.com/tock/tock/pull/4267
  * chips: apollo3: stimer: Reset the timer at startup by @alistair23 in
    https://github.com/tock/tock/pull/4270
  * boards: make: sleep on mac no units by @bradjc in
    https://github.com/tock/tock/pull/4276

* Documentation and Tests

  In this release, we moved a significant part of our documentation out of the
  Tock kernel repository, and into the Tock book itself. Nonetheless, this
  release includes 43 PRs to in-kernel documentation, in addition to the
  documentation changes included in all other PRs.

  Pull Request List:
  * static_init: add note about generic parameters by @ppannuto in
    https://github.com/tock/tock/pull/3146
  * boards/opentitan: add flash_ctl utests by @twilfredo in
    https://github.com/tock/tock/pull/3163
  * boards/opentitan/tests: fixup macro syntax by @twilfredo in
    https://github.com/tock/tock/pull/3245
  * boards/opentitan: Improve README for OT bump by @twilfredo in
    https://github.com/tock/tock/pull/3220
  * boards/qemu_rv32_virt: document known issue around app support by
    @lschuermann in https://github.com/tock/tock/pull/3331
  * Document the datacenter security model by @cfrantz in
    https://github.com/tock/tock/pull/3328
  * Document the Process Console by @JADarius in
    https://github.com/tock/tock/pull/3338
  * Doc: Update DRIVER_CHECK system call for alarm capsule by @L0g4n in
    https://github.com/tock/tock/pull/3353
  * fix: broken links on core capsules README by @cyril-marpaud in
    https://github.com/tock/tock/pull/3415
  * kernel: process: freshen comments by @bradjc in
    https://github.com/tock/tock/pull/3452
  * boards: apollo3: lora_things_plus: Fixup README by @alistair23 in
    https://github.com/tock/tock/pull/3538
  * boards: make: document objcopy flag by @bradjc in
    https://github.com/tock/tock/pull/3555
  * capsules: update spelling by @bradjc in
    https://github.com/tock/tock/pull/3566
  * doc: small grammar / style fixes in comments by @ppannuto in
    https://github.com/tock/tock/pull/3568
  * make: spelling fixes by @bradjc in https://github.com/tock/tock/pull/3595
  * doc: Update compilation document with information about fixed-address apps
    by @bradjc in https://github.com/tock/tock/pull/3611
  * Update Syscalls.md documentation by @bradjc in
    https://github.com/tock/tock/pull/3777
  * doc: remove courses by @bradjc in https://github.com/tock/tock/pull/3778
  * doc: move main docs to book by @bradjc in
    https://github.com/tock/tock/pull/3779
  * doc: syscall: reorg driver numbers by @bradjc in
    https://github.com/tock/tock/pull/3843
  * readme: add blurb on TockWorld7 by @bradjc in
    https://github.com/tock/tock/pull/3806
  * Capsules: update readme with new capsules by @bradjc in
    https://github.com/tock/tock/pull/3910
  * Tools: add readmes by @bradjc in https://github.com/tock/tock/pull/3911
  * chips: virtio: add readme by @bradjc in
    https://github.com/tock/tock/pull/3906
  * Update chips readme with chip support by @bradjc in
    https://github.com/tock/tock/pull/3907
  * tools: update check boards readme by @bradjc in
    https://github.com/tock/tock/pull/3949
  * capsules: readme: add eui64 by @bradjc in
    https://github.com/tock/tock/pull/3958
  * Fix alarm syscall driver command comments by @hudson-ayers in
    https://github.com/tock/tock/pull/3970
  * doc: Getting Started updates by @bradjc in
    https://github.com/tock/tock/pull/3978
  * boards: nrf52840dk: update readme by @bradjc in
    https://github.com/tock/tock/pull/3980
  * kernel: hil: 802.15.4: document the HIL by @bradjc in
    https://github.com/tock/tock/pull/3998
  * doc: scheduling: moved to book by @bradjc in
    https://github.com/tock/tock/pull/4043
  * readme: TockWorld 7 has completed by @bradjc in
    https://github.com/tock/tock/pull/4055
  * arch: cortex-m: fix docs by @bradjc in
    https://github.com/tock/tock/pull/4057
  * arch: rv32i: fix comments by @bradjc in
    https://github.com/tock/tock/pull/4059
  * docs: fix various links by @bradjc in https://github.com/tock/tock/pull/4087
  * main readme: Simplify and get right to the point with links by @bradjc in
    https://github.com/tock/tock/pull/4088
  * doc: kernel: improve comments in debug.rs and process.rs by @bradjc in
    https://github.com/tock/tock/pull/4113
  * kernel: improve deferred_call doc by @bradjc in
    https://github.com/tock/tock/pull/4128
  * kernel: hil: uart: improve rustdoc by @bradjc in
    https://github.com/tock/tock/pull/4148
  * kernel: hil: spi: improve rustdoc by @bradjc in
    https://github.com/tock/tock/pull/4170
  * kernel: Update documentation to utilities and debug by @bradjc in
    https://github.com/tock/tock/pull/4197
  * doc: Add example expansion for register_bitfields! macro by @Dragosh-C in
    https://github.com/tock/tock/pull/4230

* Internal Changes

  Last but not least, this release includes 206 contributions to internal
  documentation, tooling and CI.

  Pull Request List:
  * Add core working group notes of 2022-08-19 by @lschuermann in
    https://github.com/tock/tock/pull/3178
  * Update kernel version to 2.1+ after release by @bradjc in
    https://github.com/tock/tock/pull/3176
  * Update CHANGELOG for Tock 2.1 release by @brghena in
    https://github.com/tock/tock/pull/3199
  * litex-sim-ci: pin elf2tab to v0.9.0 to unbreak CI by @lschuermann in
    https://github.com/tock/tock/pull/3206
  * doc: lay out board 'tiers' by @ppannuto in
    https://github.com/tock/tock/pull/3191
  * OpenTitan: Prepare to bump to the latest RTL SHA by @alistair23 in
    https://github.com/tock/tock/pull/3205
  * Add Core Team Call Notes of 2022-09-02 by @lschuermann in
    https://github.com/tock/tock/pull/3192
  * Notes from Core Working Group call, Sep 09 by @brghena in
    https://github.com/tock/tock/pull/3207
  * doc: porting: note about HW fit by @bradjc in
    https://github.com/tock/tock/pull/3227
  * tock-registers: release v0.8.1 by @ppannuto in
    https://github.com/tock/tock/pull/3242
  * ci: add component label by @bradjc in https://github.com/tock/tock/pull/3262
  * Add notes for core WG discussion on 9-16-22. by @phil-levis in
    https://github.com/tock/tock/pull/3254
  * Add core WG notes for `2022-09-30`. by @jrvanwhy in
    https://github.com/tock/tock/pull/3264
  * Update nightly ~~September~~ October 2022 by @bradjc in
    https://github.com/tock/tock/pull/3168
  * Add core WG notes for 2022-10-07 by @jrvanwhy in
    https://github.com/tock/tock/pull/3289
  * doc: update porting guide with component updates by @bradjc in
    https://github.com/tock/tock/pull/3299
  * Add Core Team Call Notes of 2022-09-23 by @lschuermann in
    https://github.com/tock/tock/pull/3302
  * cargo: workspace: use package table by @bradjc in
    https://github.com/tock/tock/pull/3263
  * Add core WG notes for `2022-11-11`. by @jrvanwhy in
    https://github.com/tock/tock/pull/3326
  * Make `tools/` a cargo workspace. by @jrvanwhy in
    https://github.com/tock/tock/pull/3341
  * Add AmbiqSuite SDK license header to vendored files by @lschuermann in
    https://github.com/tock/tock/pull/3337
  * Add notes for core working group meeting on November 18, 2022 by
    @hudson-ayers in https://github.com/tock/tock/pull/3332
  * Core working group notes, December 9th by @brghena in
    https://github.com/tock/tock/pull/3352
  * Core notes of 2022-{10-14,11-04,12-02} by @lschuermann in
    https://github.com/tock/tock/pull/3363
  * License policy 2023-01-23 core call updates by @jrvanwhy in
    https://github.com/tock/tock/pull/3377
  * trd: license and copyright policy by @ppannuto in
    https://github.com/tock/tock/pull/3318
  * Add a license checking tool. by @jrvanwhy in
    https://github.com/tock/tock/pull/3345
  * Add the required `.` at the end of copyright lines. by @jrvanwhy in
    https://github.com/tock/tock/pull/3379
  * Add core WG notes for 2022-12-16. by @jrvanwhy in
    https://github.com/tock/tock/pull/3366
  * Core Working Group call notes, January 20th 2023 by @brghena in
    https://github.com/tock/tock/pull/3380
  * Add core WG notes for `2023-01-27`. by @jrvanwhy in
    https://github.com/tock/tock/pull/3386
  * `licensecheck`: Allow an empty comment line after the header. by @jrvanwhy
    in https://github.com/tock/tock/pull/3387
  * Add core team call notes of 2023-01-13 by @lschuermann in
    https://github.com/tock/tock/pull/3388
  * Add core notes from February 3rd 2023 by @hudson-ayers in
    https://github.com/tock/tock/pull/3394
  * add march 10 2023 core notes by @hudson-ayers in
    https://github.com/tock/tock/pull/3413
  * Core WG call notes, February 17th 2023 by @brghena in
    https://github.com/tock/tock/pull/3401
  * Notes from 03/03/2023 call. by @phil-levis in
    https://github.com/tock/tock/pull/3416
  * Add default license notice to all Rust files by @alevy in
    https://github.com/tock/tock/pull/3317
  * Core Working Group call notes, March 31st by @brghena in
    https://github.com/tock/tock/pull/3418
  * doc: notes: update dates and format by @bradjc in
    https://github.com/tock/tock/pull/3424
  * Add license headers to every file the license checker supports. by @jrvanwhy
    in https://github.com/tock/tock/pull/3420
  * Core working group call notes, April 14th by @brghena in
    https://github.com/tock/tock/pull/3425
  * notes: 2023-02-24 by @bradjc in https://github.com/tock/tock/pull/3423
  * add core wg notes 2023-04-21 by @hudson-ayers in
    https://github.com/tock/tock/pull/3427
  * Add core notes of 2023-04-28 by @lschuermann in
    https://github.com/tock/tock/pull/3429
  * Use a fallback syntect syntax rather than a custom Rust parser in the
    license checker. by @jrvanwhy in https://github.com/tock/tock/pull/3434
  * Core working group call notes, May 5th by @brghena in
    https://github.com/tock/tock/pull/3430
  * Create core-notes-2023-05-19.md by @ppannuto in
    https://github.com/tock/tock/pull/3437
  * Add support for block comments to the license checker. by @jrvanwhy in
    https://github.com/tock/tock/pull/3449
  * Add core team call notes of 2023-05-12 by @lschuermann in
    https://github.com/tock/tock/pull/3462
  * Improve the license checker's documentation. by @jrvanwhy in
    https://github.com/tock/tock/pull/3450
  * Convert all CRLF files to Unix line endings. by @jrvanwhy in
    https://github.com/tock/tock/pull/3469
  * Add license headers to the `.jlink` files. by @jrvanwhy in
    https://github.com/tock/tock/pull/3471
  * Add license headers to `.ld` files. by @jrvanwhy in
    https://github.com/tock/tock/pull/3472
  * `licensecheck`: document a block comment style that works. by @jrvanwhy in
    https://github.com/tock/tock/pull/3481
  * Prepare switch to GitHub merge queue by @lschuermann in
    https://github.com/tock/tock/pull/3483
  * Core Working Group call notes, June 9th 2023 by @brghena in
    https://github.com/tock/tock/pull/3476
  * Add license headers to `*.xml` files. by @jrvanwhy in
    https://github.com/tock/tock/pull/3482
  * Add docs-ci workflow to build docs through GitHub actions by @lschuermann in
    https://github.com/tock/tock/pull/3485
  * Avoid building PRs twice through the push and merge_group triggers by
    @lschuermann in https://github.com/tock/tock/pull/3486
  * Core WG notes for `2023-06-16`. by @jrvanwhy in
    https://github.com/tock/tock/pull/3492
  * `make stack-analysis`: demangle names by @bradjc in
    https://github.com/tock/tock/pull/3500
  * Add core team call notes of 2023-06-02 by @lschuermann in
    https://github.com/tock/tock/pull/3496
  * Notes from Core working group call, June 30 by @brghena in
    https://github.com/tock/tock/pull/3531
  * Small licence checker enhancements by @Ioan-Cristian in
    https://github.com/tock/tock/pull/3533
  * Core working group call notes, July 14th by @brghena in
    https://github.com/tock/tock/pull/3542
  * doc: add notes from short-lived repo by @ppannuto in
    https://github.com/tock/tock/pull/3560
  * Update EOL GitHub Actions dependencies by @jwnrt in
    https://github.com/tock/tock/pull/3591
  * doc: core-wg: update Leon's affiliation by @bradjc in
    https://github.com/tock/tock/pull/3592
  * doc: core-wg notes 2023-07-21 by @ppannuto in
    https://github.com/tock/tock/pull/3558
  * Networking Working Group by @alexandruradovici in
    https://github.com/tock/tock/pull/3578
  * doc: remove dangling reference to IRC by @ppannuto in
    https://github.com/tock/tock/pull/3620
  * Notes from Network working group call, August 10 by @brghena in
    https://github.com/tock/tock/pull/3604
  * tools: clippy: list all complexity and style lints by @bradjc in
    https://github.com/tock/tock/pull/3607
  * Notes from the 08-11-2023 call by @phil-levis in
    https://github.com/tock/tock/pull/3608
  * Core working group call notes, August 4th by @brghena in
    https://github.com/tock/tock/pull/3605
  * docs: wg-core: add notes for 2023-08-18 by @bradjc in
    https://github.com/tock/tock/pull/3642
  * Networking group notes from 2023.08.24 by @alexandruradovici in
    https://github.com/tock/tock/pull/3647
  * Add core WG notes for 2023-09-08 by @jrvanwhy in
    https://github.com/tock/tock/pull/3662
  * Labeler updates by @brghena in https://github.com/tock/tock/pull/3663
  * labeler.yml: add missing : by @bradjc in
    https://github.com/tock/tock/pull/3673
  * Network working group notes, September 7th 2023 by @brghena in
    https://github.com/tock/tock/pull/3661
  * Notes from Core Working Group call, September 15 by @brghena in
    https://github.com/tock/tock/pull/3672
  * Bug Fixes for Hs3003 sensor by @TheButterMineCutter in
    https://github.com/tock/tock/pull/3682
  * hail: use start() function by @bradjc in
    https://github.com/tock/tock/pull/3678
  * doc: 2023-09-22 core team notes by @ppannuto in
    https://github.com/tock/tock/pull/3688
  * Added networking groupm notes from September 21, 2023 by @alexandruradovici
    in https://github.com/tock/tock/pull/3686
  * Tock registers v0.9 by @ppannuto in https://github.com/tock/tock/pull/3693
  * Core team notes 2023-09-29 by @tyler-potyondy in
    https://github.com/tock/tock/pull/3698
  * Network working group meeting notes, October 5th by @brghena in
    https://github.com/tock/tock/pull/3705
  * Core working group call notes, October 13th by @brghena in
    https://github.com/tock/tock/pull/3711
  * doc: Core WG notes for 2023-10-27 by @ppannuto in
    https://github.com/tock/tock/pull/3725
  * Network Working Group call notes, October 19 by @brghena in
    https://github.com/tock/tock/pull/3723
  * Network working group call notes, November 2 2023 by @brghena in
    https://github.com/tock/tock/pull/3731
  * Add core WG notes for 2023-11-03 by @jrvanwhy in
    https://github.com/tock/tock/pull/3732
  * Core WG notes for 2023-10-06 by @jrvanwhy in
    https://github.com/tock/tock/pull/3736
  * Core working group call notes, Nov 10 2023 by @brghena in
    https://github.com/tock/tock/pull/3739
  * Network working group call notes, November 16 2023 by @brghena in
    https://github.com/tock/tock/pull/3744
  * core wg meeting notes 2023-11-17 by @hudson-ayers in
    https://github.com/tock/tock/pull/3745
  * Pin labeler action to v4.3.0 by @alevy in
    https://github.com/tock/tock/pull/3755
  * Core team notes 2023-12-08 by @tyler-potyondy in
    https://github.com/tock/tock/pull/3759
  * doc: core wg: add notes 2023-12-01 by @bradjc in
    https://github.com/tock/tock/pull/3753
  * Tock Core Working Group call notes: December 15 by @brghena in
    https://github.com/tock/tock/pull/3769
  * Network Working Group call notes: December 14 2023 by @brghena in
    https://github.com/tock/tock/pull/3770
  * Network working group call notes, Nov 30 2023 by @brghena in
    https://github.com/tock/tock/pull/3760
  * Network Working Group call notes, Jan 11th 2024 by @brghena in
    https://github.com/tock/tock/pull/3788
  * Add notes from January 12, 2024 meeting by @hudson-ayers in
    https://github.com/tock/tock/pull/3799
  * Core team notes 1-19-24 by @tyler-potyondy in
    https://github.com/tock/tock/pull/3814
  * Core Working Group call notes, January 26 2024 by @brghena in
    https://github.com/tock/tock/pull/3820
  * Doc: TRD: Finalize Legal TRD (TRD4) by @bradjc in
    https://github.com/tock/tock/pull/3821
  * wg: Add DOC Working Group by @bradjc in
    https://github.com/tock/tock/pull/3815
  * doc: wg: DOC: add date by @bradjc in https://github.com/tock/tock/pull/3831
  * doc: wg: core: add notes 2024-02-02 by @bradjc in
    https://github.com/tock/tock/pull/3830
  * Network Working Group call notes February 05 2024 by @brghena in
    https://github.com/tock/tock/pull/3834
  * doc: minor TRD102 fixes by @bradjc in https://github.com/tock/tock/pull/3838
  * Add notes of Networking Working Group call of 2024-01-22 by @lschuermann in
    https://github.com/tock/tock/pull/3835
  * doc: trd103: fix link by @bradjc in https://github.com/tock/tock/pull/3852
  * Core Working Group call notes, Feb 9 and 16 2024 by @brghena in
    https://github.com/tock/tock/pull/3858
  * Add @alexandruradovici to Core WG by @alevy in
    https://github.com/tock/tock/pull/3882
  * Add Tockbot, automatically assigning core team members to stale PRs by
    @lschuermann in https://github.com/tock/tock/pull/3822
  * build(deps): bump cryptography from 42.0.1 to 42.0.4 in /tools/tockbot by
    @dependabot in https://github.com/tock/tock/pull/3885
  * License checker: Use the fallback syntax for `.txt` files. by @jrvanwhy in
    https://github.com/tock/tock/pull/3884
  * Tockbot improvements by @lschuermann in
    https://github.com/tock/tock/pull/3886
  * Network working group call notes, Feb 19 2024 by @brghena in
    https://github.com/tock/tock/pull/3883
  * Add notes of core WG call from 2024-01-05 by @lschuermann in
    https://github.com/tock/tock/pull/3877
  * tools/tockbot: fix logic for ignoring PRs by labels by @lschuermann in
    https://github.com/tock/tock/pull/3891
  * Add notes from the March 01, 2024 meeting. by @phil-levis in
    https://github.com/tock/tock/pull/3892
  * New provisions for what Core WG vs other WGs do by @alevy in
    https://github.com/tock/tock/pull/3894
  * Network working group notes, March 04 2024 by @brghena in
    https://github.com/tock/tock/pull/3898
  * Core WG notes for 2024-03-08 by @jrvanwhy in
    https://github.com/tock/tock/pull/3909
  * core team notes 3-15-24 by @tyler-potyondy in
    https://github.com/tock/tock/pull/3929
  * Core working group notes, March 22nd 2024 by @brghena in
    https://github.com/tock/tock/pull/3931
  * Network working group notes, March 18 2024 by @brghena in
    https://github.com/tock/tock/pull/3936
  * doc: core: add notes from 2024-03-29 by @bradjc in
    https://github.com/tock/tock/pull/3942
  * tockbot: assign immediately by @bradjc in
    https://github.com/tock/tock/pull/3955
  * CI: synchronize with makefile by @bradjc in
    https://github.com/tock/tock/pull/3948
  * build(deps): bump idna from 3.6 to 3.7 in /tools/tockbot by @dependabot in
    https://github.com/tock/tock/pull/3959
  * Core working group call notes: April 12, 2024 by @brghena in
    https://github.com/tock/tock/pull/3960
  * Network working group call notes: April 15, 2024 by @brghena in
    https://github.com/tock/tock/pull/3963
  * Notes from Core working group call: April 19, 2024 by @brghena in
    https://github.com/tock/tock/pull/3971
  * Network working group call notes: April 01, 2024 by @brghena in
    https://github.com/tock/tock/pull/3961
  * Core working group call notes: May 3, 2024 by @brghena in
    https://github.com/tock/tock/pull/3977
  * Notes from Core working group call: May 10, 2024 by @brghena in
    https://github.com/tock/tock/pull/3987
  * Network working group call notes: April 29, 2024 by @brghena in
    https://github.com/tock/tock/pull/3974
  * build(deps): bump requests from 2.31.0 to 2.32.0 in /tools/tockbot by
    @dependabot in https://github.com/tock/tock/pull/4000
  * doc: add core wg notes 2024-05-17 by @bradjc in
    https://github.com/tock/tock/pull/3996
  * Notes from Core working group call: May 24, 2024 by @brghena in
    https://github.com/tock/tock/pull/4003
  * capsules: ignore broken doctests, enable doctests for ci-job-capsules by
    @lschuermann in https://github.com/tock/tock/pull/4010
  * Network working group call notes: June 10, 2024 by @brghena in
    https://github.com/tock/tock/pull/4024
  * Core Team Notes 6-7-24 by @tyler-potyondy in
    https://github.com/tock/tock/pull/4025
  * Add Core Team Call Notes of 2024-05-31 by @lschuermann in
    https://github.com/tock/tock/pull/4029
  * doc/reference/trd104: bump draft version and date modified by @lschuermann
    in https://github.com/tock/tock/pull/4032
  * ci: nightly: change syntax by @bradjc in
    https://github.com/tock/tock/pull/4045
  * Add notes from core wg meeting June 14, 2024 by @hudson-ayers in
    https://github.com/tock/tock/pull/4046
  * ci-nightly action: fix YAML workflow spec indentation by @lschuermann in
    https://github.com/tock/tock/pull/4049
  * Include Network WG in list of working groups by @brghena in
    https://github.com/tock/tock/pull/4050
  * Email group changed by @brghena in https://github.com/tock/tock/pull/4048
  * ci-nightly action: fix assignees attribute by @lschuermann in
    https://github.com/tock/tock/pull/4051
  * doc: wg: core: update Hudson's affiliation by @bradjc in
    https://github.com/tock/tock/pull/4052
  * makefile: run miri on all capsules by @bradjc in
    https://github.com/tock/tock/pull/4058
  * Makefile: remove `format` command in favor of simpler `format-check` by
    @lschuermann in https://github.com/tock/tock/pull/4037
  * build(deps): bump certifi from 2023.11.17 to 2024.7.4 in /tools/tockbot by
    @dependabot in https://github.com/tock/tock/pull/4065
  * Use `cargo doc --document-private-items` by @bradjc in
    https://github.com/tock/tock/pull/4068
  * make: simplify cargo doc rule by @bradjc in
    https://github.com/tock/tock/pull/4077
  * Notes from Core working group call: July 12, 2024 by @brghena in
    https://github.com/tock/tock/pull/4102
  * make: clippy error on warnings by @bradjc in
    https://github.com/tock/tock/pull/4106
  * Network working group call notes: July 15, 2024 by @brghena in
    https://github.com/tock/tock/pull/4107
  * Notes from 07/19/2024 core WG meeting. by @phil-levis in
    https://github.com/tock/tock/pull/4119
  * Add Core Notes July 26, 2024 by @hudson-ayers in
    https://github.com/tock/tock/pull/4120
  * Fix ci-job-rustdoc by building docs for host target by @lschuermann in
    https://github.com/tock/tock/pull/4121
  * Add rust-analyzer to rust-toolchain by @alevy in
    https://github.com/tock/tock/pull/4125
  * doc: wg: add notes from 2024-08-02 by @bradjc in
    https://github.com/tock/tock/pull/4127
  * Build docs for target-specific code independent of platform by @lschuermann
    in https://github.com/tock/tock/pull/4122
  * Notes from Core Working Group call: August 9, 2024 by @brghena in
    https://github.com/tock/tock/pull/4137
  * Network working group call notes: August 12, 2024 by @brghena in
    https://github.com/tock/tock/pull/4139
  * Core working group meeting notes: August 16, 2024 by @brghena in
    https://github.com/tock/tock/pull/4142
  * Assign all PRs nightly, even if reviews exist by @brghena in
    https://github.com/tock/tock/pull/4147
  * Core working group call notes: August 30, 2024 by @brghena in
    https://github.com/tock/tock/pull/4160
  * build(deps): bump cryptography from 42.0.4 to 43.0.1 in /tools/tockbot by
    @dependabot in https://github.com/tock/tock/pull/4162
  * doc: wg: core: notes 2024-09-06 by @bradjc in
    https://github.com/tock/tock/pull/4166
  * doc/wg/core: add notes from call of 2024-08-23 by @lschuermann in
    https://github.com/tock/tock/pull/4167
  * Network working group call notes: Sep. 23, 2024 by @brghena in
    https://github.com/tock/tock/pull/4178
  * Core WG notes for 2024-09-20. by @jrvanwhy in
    https://github.com/tock/tock/pull/4175
  * Add initial Treadmill Hardware CI workflow scaffold by @lschuermann in
    https://github.com/tock/tock/pull/4177
  * doc: add some found legacy notes by @ppannuto in
    https://github.com/tock/tock/pull/4186
  * ci: do not run nightly on forks by @Samir-Rashid in
    https://github.com/tock/tock/pull/4184
  * treadmill-ci: do not run on forks and PRs from other repositories by
    @lschuermann in https://github.com/tock/tock/pull/4187
  * Notes from Core working group call: Oct. 4, 2024 by @brghena in
    https://github.com/tock/tock/pull/4189
  * ci: update github action versions by @alevy in
    https://github.com/tock/tock/pull/4202
  * treadmill-ci: pin CLI client revision, switch to ARM64 Raspberry Pi hosts by
    @lschuermann in https://github.com/tock/tock/pull/4200
  * Core Working Group call notes: October 11, 2024 by @brghena in
    https://github.com/tock/tock/pull/4198
  * tools/license-checker: update syntect rev to accelerate tests by
    @lschuermann in https://github.com/tock/tock/pull/4211
  * Add Hardware Continuous Integration (HWCI) Framework for Writing Tests for
    Treadmill by @charles37 in https://github.com/tock/tock/pull/4205
  * Network working group call notes: October 21, 2024 by @brghena in
    https://github.com/tock/tock/pull/4213
  * doc: Fix `make doc` exiting with errors by @siddharthkumarjha in
    https://github.com/tock/tock/pull/4217
  * Core working group call notes: November 1st, 2024 by @charles37 in
    https://github.com/tock/tock/pull/4221
  * Core working group call notes: November 8, 2024 by @brghena in
    https://github.com/tock/tock/pull/4226
  * doc: core wg: add 2024-11-15 notes by @bradjc in
    https://github.com/tock/tock/pull/4238
  * Network working group call notes: November 18, 2024 by @brghena in
    https://github.com/tock/tock/pull/4240
  * Update `treadmill-ci` Workflow to Dynamically Select Hardware CI Tests by
    @charles37 in https://github.com/tock/tock/pull/4252
  * Core working group call notes: December 6, 2024 by @brghena in
    https://github.com/tock/tock/pull/4263
  * Add core wg 2024-12-13 notes by @hudson-ayers in
    https://github.com/tock/tock/pull/4269

release-2.2-rc1

Toggle release-2.2-rc1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #4267 from GabrielPavaloiu/grant-remove-upcalls

grant: added remove_pending_upcalls function

release-2.1.1

Toggle release-2.1.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge #3361

3361: Prepare for Tock 2.1.1 release tag r=lschuermann a=lschuermann

### Pull Request Overview

As promised, though slightly delayed, this PR prepares the `release-2.1` for a 2.1.1 patch release by adding release notes to the change log and bumping the `TOCK_KERNEL_VERSION` Makefile variable.


### Testing Strategy

N/A


### TODO or Help Wanted

Is there something else to do before we can tag the release?


### Documentation Updated

- [x] ~Updated the relevant files in `/docs`, or no updates are required.

### Formatting

- [ ] Ran `make prepush`.


Co-authored-by: Branden Ghena <brghena@berkeley.edu>
Co-authored-by: Leon Schuermann <leon@is.currently.online>

release-2.1

Toggle release-2.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge #3194 #3195

3194: chips/qemu_rv32_virt_chip: check mip.mtimer in pending IRQs r=bradjc a=lschuermann

### Pull Request Overview

This is a fix identical to that of #2571. It was not included in the qemu_rv32_virt board PR (#2516)  as that has been branched off before this fix was included in mainline.

### Testing Strategy

This pull request was tested by release tests (where before this change timer interrupts required pressing keys to trigger console interrupts, which are then registered as pending interrupts).


### TODO or Help Wanted

N/A

### Documentation Updated

- [x] Updated the relevant files in `/docs`, or no updates are required.

### Formatting

- [x] Ran `make prepush`.


3195: boards/qemu_rv32_virt: add IPC support r=bradjc a=lschuermann

### Pull Request Overview

This pull request adds IPC support to the QEMU RISC-V 32-bit "virt" platform board, which has been used during release testing.

### Testing Strategy

This pull request was tested by release testing.

### TODO or Help Wanted

N/A

### Documentation Updated

- [x] Updated the relevant files in `/docs`, or no updates are required.

### Formatting

- [x] Ran `make prepush`.


Co-authored-by: Leon Schuermann <leon@is.currently.online>

tock-registers-v0.8

Toggle tock-registers-v0.8's commit message
tock-registers: v0.8

`tock-registers` now supports stable Rust!

There is a small breaking change, documented below, required to support
Rust 2021 edition. Most of the remaining changes are improvements to the
internal self-testing infrastructure and documentation. There are also
some additions to `FieldValue` to improve ergonomics.

**Breaking Changes**

 - #2842: tock-registers: rename TryFromValue::try_from to try_from_value
 - #2838: Update to Rust 2021 edition

Other Changes

 - #3126: [trivial] tock-registers: mark two methods as `const`
 - #3088: tock_registers/test_fields: respect struct size padding w/ alignment
 - #3072: Update Rust nightly version + Expose virtual-function-elimination
     - libraries/tock-register-interface: Fixup register_structs documentation
 - #2988: Remove const_fn_trait_bound feature and update nightly (Mar 2022)
 - #3014: tock-registers: Implement From field enum value type for FieldValue
 - #3013: tock-register-interface: Provide none method for FieldValue type
 - #2916: tock-register-interface: improve read_as_enum documentation
 - #2922: tock-register-interface: replace register tests by const assertions

release-2.1-rc1

Toggle release-2.1-rc1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge #3131

3131: Tools: Catch error for size change estimates on new boards r=hudson-ayers a=ppannuto

### Pull Request Overview

Fixes https://github.com/tock/tock/runs/7697191986?check_suite_focus=true

This lets this check pass when there's no baseline.

### Testing Strategy

None.

### TODO or Help Wanted

None.

### Documentation Updated

- [x] Updated the relevant files in `/docs`, or no updates are required.

### Formatting

- [ ] Ran `make prepush`.


Co-authored-by: Pat Pannuto <pat.pannuto@gmail.com>

release-2.0

Toggle release-2.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge #2799

2799: doc: misc updates r=brghena a=bradjc

### Pull Request Overview

I did a quick pass on the doc folder and made some updates where I saw issues.


### Testing Strategy

n/a


### TODO or Help Wanted

n/a


### Documentation Updated

- [x] Updated the relevant files in `/docs`, or no updates are required.

### Formatting

- [x] Ran `make prepush`.


Co-authored-by: Brad Campbell <bradjc5@gmail.com>

release-2.0-rc2

Toggle release-2.0-rc2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #2735 from WyliodrinEmbeddedIoT/display_warn_hex_d…

…river_num

Display driver number in hex for allocation warning

release-2.0-rc1

Toggle release-2.0-rc1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge #2566

2566: Make SPI return buffers upon error r=hudson-ayers a=alexandruradovici

### Pull Request Overview

This pull request changes the SPI HIL so that function return the buffers to the caller in case of errors. It also adds deferred callbacks to the SPI Mux, similar to what the I2C Mux.

I have two questions that need some feedback:
1. Several drivers now output a warning due to unverified result. The two simple solutions are: use `let _ =` or use `.unwrap()`. I'm not sure which one would be best.
2. The setup functions, like `configure` or `set_rate` do have to return results,  as the Mux might fail to execute them. There is no callback function defined for this. Should I add a new callback function, something like `command_done` or simply remove the return from the functions?

### Testing Strategy

The PR still needs testing and review.

### TODO or Help Wanted

Testing on different boards would be very helpful. I can test on STM32F4 and Adafruit CLUE.

### Documentation Updated

- [ ] Updated the relevant files in `/docs`, or no updates are required.

### Formatting

- [ ] Ran `make prepush`.


Co-authored-by: Alexandru Radovici <msg4alex@gmail.com>
Co-authored-by: Philip Levis <pal@cs.stanford.edu>
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载