******************************************************************************
*** ChibiOS 21.6.x Release Notes.                                          ***
******************************************************************************

ChibiOS 21.6.x is composed of several independent but inter-operable
sub-projects: RT, NIL, SB, HAL, EX. Plus several external libraries
integrated in our structure: WolfSSL, FatFS and lwIP.

*** ChibiOS 21.6.x highlights ****

- NEW RT 7.0.
- Support for RP2040 and Raspberry Pico board.
- Support for STM32L5xx, STM32WBxx and STM32WLxx families.
- Dynamic clock support in HAL.
- Improved STM32 HAL.
- Added ARMv8-M port.

*** ChibiOS 21.6.x general improvements ***

- Added chscanf() and buffered streams.
- Added option to LWIP bindings to use memory pools instead of heap allocator.
- Added dynamic reconfiguration API to lwIP bindings.
- Updated FatFS to version 0.14.
- Updated CMSIS headers for STM32F7, G0, G4, H7, L0, L4, L4+.
- Mail Queues test implementation in CMSIS RTOS wrapper.
- Added latency measurement test application.
- Simplified test XML schema.

*** What's new in RT/NIL ports ***

- Addes SMP port for Cortex-M0 required by RP2040.
- The old generic ARMCMx port has been split in ARMv6-M, ARMv7-M and ARMv8-M-ML
  ports.
- Simplified interface between RT/NIL and port layer.
- Removed duplicated files in port layers: chtypes.h, chcore_timer.h.

*** What's new in OS Library 1.3.0 ***

- Internal rework to make it compatible with RT 7.0.0 and NIL 4.1.0.

*** What's new in SB 1.1.0 ***

- Internal rework to make it compatible with RT 7.0.0.
- Safer messages mechanism for sandboxes.
  
*** What's new in RT 7.0.0 ***

- Support for full-SMP multi-core threading.
- Support for decoupled multi-core threading.
- Performance improvements thanks to code paths tuning using likely/unlikely
  macros. This feature requires compiler support and is currently enabled
  for GCC.
- 64 bits monotonic time stamps with the same resolution of system time.
- Much more efficient and accurate Virtual Timers in tick-less mode.
- Automatic reload of Virtual Timers, now both one-shot and continuous timers
  are supported.
- Internal reorganization to better fit the general architectural design. For
  example, lists/queues code has been centralized in a dedicated module.
- New trace event for entering the "ready" state.

*** What's new in NIL 4.1.0 ***

- Internal rework to make it compatible with RT 7.0.0.

*** What's new in HAL 7.2.0 ***

- Clocks reconfiguration API.
- Updated SIO driver model to support more use cases.

*** What's new in EX 1.2.0 ***

- Added support for ADXL355 Low Noise, Low Drift, Low Power, 3-Axis
  MEMS Accelerometers.

*** What's new in AVR HAL support ***

- None.

*** What's new in STM32 HAL support ***

- Dynamic clock support for L4+, G0 and G4 families.
- Improved PWR settings for L4+, G0 and G4 families.
- Support for more STM32 sub-families.
- Added MACv2 driver for STM32H7xx.
- Added support for UART9 and UART10 in STM32 USARTv1 drivers.
- Updated STM32F4xx platform with new IRQ handling, enabled the missing timers.
- SIO driver STM32 implementation for USARTv2 and USARTv3.
- Support for 3 analog watchdogs in ADCv3 (STM32F3, L4, L4+, G4).
- Support for 3 analog watchdogs in ADCv5 (STM32G0).

*** What's new in tools ***

- More configuration files updater scripts.
