Skip to content

Commit

Permalink
[release] Update changelog for 2024q4 release
Browse files Browse the repository at this point in the history
  • Loading branch information
salkinium committed Jan 1, 2025
1 parent 7ba2fbb commit ab7c1ca
Show file tree
Hide file tree
Showing 4 changed files with 285 additions and 0 deletions.
1 change: 1 addition & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ Hans Schily <hans.schily@rwth-aachen.de>
Henrik Hose <henrik.hose@rwth-aachen.de>
Jacob Schultz Andersen <schultz.jacob@gmail.com>
Jakob Riepler <jakob@chaosfield.at>
Jan-Gerd Meß <jan-gerd.mess@dlr.de>
Jeff McBride <mcbridejc@gmail.com>
Jens Böckmann <jensboe@outlook.de>
Jonas Kazem Andersen <jonas.kazem.andersen@gmail.com>
Expand Down
150 changes: 150 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,139 @@ pay attention to. Medium impact changes are also worth looking at.

<!--releases-->

## 2025-01-01: 2024q4 release

This release covers everything from 2024-10-01 and has been tested with avr-gcc
v13.2.0 from Upstream and arm-none-eabi-gcc v13.2.1 from xpack.

Breaking changes:

**Protothreads and Resumables are deprecated! Please use Fibers instead!**
Note that you can disable the deprecation by resetting the option
`modm:processing:protothread:use_fiber` to `false`, however, you will be limited
to using GCC12 as GCC13 and newer does not compile our implementation anymore.

A shim is provided to allow the use of Protothreads and Resumables with Fibers
without any significant modification of the existing code. However you must
replace the main loop calling all protothreads with the fiber scheduler:

```cpp
int main()
{
/*
while(true)
{
protothread1.update();
protothread2.update();
}
*/
modm::fiber::Scheduler::run();
return 0;
}
```

The `modm:processing:protothread` and `modm:processing:resumable` modules will
be removed by the end of 2025. Please port your code to use fibers instead.
Consult the `modm:processing:fiber` module docs for more information.

Features:

- Add efficient stack overflow check in fiber yield function.
- Enable D-Cache for Cortex-M7 if DMA is not used.
- Support for GCC13 which was blocked on deprecating Resumables and Protothreads.
- Add RTC driver for STM32.
- Enable low speed clock input on all STM32 boards.

Integrated Projects:

- CMSIS-Core upgraded to v6.1.0.
- CMSIS-DSP upgraded to v1.16.2.
- STM32L4 headers upgraded to v1.7.4.
- STM32F1 headers upgraded to v4.3.5.
- LVGL upgraded to v9.2.0.
- TinyUSB upgraded to v0.17.
- printf upgraded to v6.2.0.
- ETL upgraded to v20.39.4.
- nanopb upgraded to v0.4.9.

Fixes:

- Make AMNB usable in Fibers.
- Reset AVRs on abandonment.
- Prevent RX FIFO overflow in STM32 SPI master.
- Fix `Timeout::wait()` implementation not waiting.
- Fix IWDG prescaler computation on STM32.
- Support Python 3.13 in modm_tools.

New device drivers:

- DW3310 Ultra-Wide Band driver as [`modm:driver:dw3110`][].

New development boards:

- WeAct Studio STM32C011F6 as [`modm:board:weact-c011f6`][].

Known bugs:

- STM32F723 is missing support to use built-in USB HS PHY. See [#1171][].
- OpenOCD cannot enable SWO on STM32H7 targets. See [#1079][].
- `arm-none-eabi-gdb` TUI and GDBGUI interfaces are not supported on Windows.
See [#591][].
- Generating modm on Windows creates paths with `\` that are not compatible with
Unix. See [#310][].
- `lbuild build` and `lbuild clean` do not remove all previously generated files
when the configuration changes. See [#285][].

Many thanks to all our contributors.
A special shoutout to first timers 🎉:

- Andrey Kunitsyn ([@andryblack][])
- Christopher Durand ([@chris-durand][])
- Elias H. 🎉
- Frank Altheim ([@frnktank][]) 🎉
- Jan-Gerd Meß ([@jgmess-dlr][]) 🎉
- Kaelin Laundry ([@WasabiFan][])
- Michael Jossen ([@Javask][])
- Niklas Hauser ([@salkinium][])
- Raphael Lehmann ([@rleh][])
- Rasmus Kleist ([@rasmuskleist][])
- Vishwanath Martur ([@vishwamartur][]) 🎉

PR [#1248][] -> [2024q4][].

<details>
<summary>Detailed changelog</summary>

#### 2025-01-01: Add WeAct Studio STM32C011F6 board

PR [#1249][] -> [7ba2fbb][].
Tested in hardware by [@salkinium][].

#### 2024-12-30: Add RTC peripheral driver for STM32

PR [#1242][] -> [f402893][].
Tested in hardware by [@salkinium][].

#### 2024-12-01: Deprecate Protothreads and Resumable Functions

PR [#1232][] -> [e92dc1d][].
Tested in hardware by [@salkinium][].

#### 2024-11-10: Add stack overflow check to fibers

Stack overflows lead to abandonment with the `fbr.stkof` assertion.

PR [#1219][] -> [ae74049][].
Tested in hardware by [@salkinium][].

#### 2024-11-05: Add driver for DW3110

PR [#1210][] -> [e579250][].
Tested in hardware by [@Javask][] and [@rleh][].

</details>


## 2024-10-01: 2024q3 release

This release covers everything from 2024-07-01 and has been tested with avr-gcc
Expand Down Expand Up @@ -3270,6 +3403,7 @@ Please note that contributions from xpcc were continuously ported to modm.
[2024q1]: https://github.com/modm-io/modm/releases/tag/2024q1
[2024q2]: https://github.com/modm-io/modm/releases/tag/2024q2
[2024q3]: https://github.com/modm-io/modm/releases/tag/2024q3
[2024q4]: https://github.com/modm-io/modm/releases/tag/2024q4
[@19joho66]: https://github.com/19joho66
[@ASMfreaK]: https://github.com/ASMfreaK
Expand Down Expand Up @@ -3302,11 +3436,13 @@ Please note that contributions from xpcc were continuously ported to modm.
[@dergraaf]: https://github.com/dergraaf
[@dhebbeker]: https://github.com/dhebbeker
[@el-han]: https://github.com/el-han
[@frnktank]: https://github.com/frnktank
[@gueldenstone]: https://github.com/gueldenstone
[@henrikssn]: https://github.com/henrikssn
[@hshose]: https://github.com/hshose
[@jasa]: https://github.com/jasa
[@jensboe]: https://github.com/jensboe
[@jgmess-dlr]: https://github.com/jgmess-dlr
[@kapacuk]: https://github.com/kapacuk
[@klsc-zeat]: https://github.com/klsc-zeat
[@lgili]: https://github.com/lgili
Expand Down Expand Up @@ -3335,6 +3471,7 @@ Please note that contributions from xpcc were continuously ported to modm.
[@twasilczyk]: https://github.com/twasilczyk
[@twast92]: https://github.com/twast92
[@victorandrehc]: https://github.com/victorandrehc
[@vishwamartur]: https://github.com/vishwamartur
[@xgzeng]: https://github.com/xgzeng
[`modm:board:arduino-nano`]: https://modm.io/reference/module/modm-board-arduino-nano
Expand Down Expand Up @@ -3374,6 +3511,7 @@ Please note that contributions from xpcc were continuously ported to modm.
[`modm:board:srxe`]: https://modm.io/reference/module/modm-board-srxe
[`modm:board:stm32_f32ve`]: https://modm.io/reference/module/modm-board-stm32_f32ve
[`modm:board:thingplus-rp2040`]: https://modm.io/reference/module/modm-board-thingplus-rp2040
[`modm:board:weact-c011f6`]: https://modm.io/reference/module/modm-board-weact-c011f6
[`modm:disco-f401vc`]: https://modm.io/reference/module/modm-disco-f401vc
[`modm:disco-f411ve`]: https://modm.io/reference/module/modm-disco-f411ve
[`modm:disco-f469ni:b-03`]: https://modm.io/reference/module/modm-disco-f469ni-b-03
Expand All @@ -3389,6 +3527,7 @@ Please note that contributions from xpcc were continuously ported to modm.
[`modm:driver:bno055`]: https://modm.io/reference/module/modm-driver-bno055
[`modm:driver:cat24aa`]: https://modm.io/reference/module/modm-driver-cat24aa
[`modm:driver:cycle_counter`]: https://modm.io/reference/module/modm-driver-cycle_counter
[`modm:driver:dw3110`]: https://modm.io/reference/module/modm-driver-dw3110
[`modm:driver:encoder.output`]: https://modm.io/reference/module/modm-driver-encoder-output
[`modm:driver:encoder_input.bitbang`]: https://modm.io/reference/module/modm-driver-encoder_input-bitbang
[`modm:driver:encoder_input`]: https://modm.io/reference/module/modm-driver-encoder_input
Expand Down Expand Up @@ -3489,7 +3628,13 @@ Please note that contributions from xpcc were continuously ported to modm.
[#1204]: https://github.com/modm-io/modm/pull/1204
[#1206]: https://github.com/modm-io/modm/pull/1206
[#1209]: https://github.com/modm-io/modm/pull/1209
[#1210]: https://github.com/modm-io/modm/pull/1210
[#1219]: https://github.com/modm-io/modm/pull/1219
[#122]: https://github.com/modm-io/modm/pull/122
[#1232]: https://github.com/modm-io/modm/pull/1232
[#1242]: https://github.com/modm-io/modm/pull/1242
[#1248]: https://github.com/modm-io/modm/pull/1248
[#1249]: https://github.com/modm-io/modm/pull/1249
[#132]: https://github.com/modm-io/modm/pull/132
[#136]: https://github.com/modm-io/modm/pull/136
[#153]: https://github.com/modm-io/modm/pull/153
Expand Down Expand Up @@ -3818,6 +3963,7 @@ Please note that contributions from xpcc were continuously ported to modm.
[77ae899]: https://github.com/modm-io/modm/commit/77ae899
[78d18f6]: https://github.com/modm-io/modm/commit/78d18f6
[7b5827f]: https://github.com/modm-io/modm/commit/7b5827f
[7ba2fbb]: https://github.com/modm-io/modm/commit/7ba2fbb
[7d1f7cc]: https://github.com/modm-io/modm/commit/7d1f7cc
[7d7490d]: https://github.com/modm-io/modm/commit/7d7490d
[7df2e7d]: https://github.com/modm-io/modm/commit/7df2e7d
Expand Down Expand Up @@ -3874,6 +4020,7 @@ Please note that contributions from xpcc were continuously ported to modm.
[a8edbe8]: https://github.com/modm-io/modm/commit/a8edbe8
[ab9bcee]: https://github.com/modm-io/modm/commit/ab9bcee
[ac46099]: https://github.com/modm-io/modm/commit/ac46099
[ae74049]: https://github.com/modm-io/modm/commit/ae74049
[af2b352]: https://github.com/modm-io/modm/commit/af2b352
[afaea7f]: https://github.com/modm-io/modm/commit/afaea7f
[afbd533]: https://github.com/modm-io/modm/commit/afbd533
Expand Down Expand Up @@ -3929,9 +4076,12 @@ Please note that contributions from xpcc were continuously ported to modm.
[e3c0321]: https://github.com/modm-io/modm/commit/e3c0321
[e46e7df]: https://github.com/modm-io/modm/commit/e46e7df
[e4b1a4a]: https://github.com/modm-io/modm/commit/e4b1a4a
[e579250]: https://github.com/modm-io/modm/commit/e579250
[e92dc1d]: https://github.com/modm-io/modm/commit/e92dc1d
[eb2748e]: https://github.com/modm-io/modm/commit/eb2748e
[eba68a4]: https://github.com/modm-io/modm/commit/eba68a4
[eda224e]: https://github.com/modm-io/modm/commit/eda224e
[f402893]: https://github.com/modm-io/modm/commit/f402893
[f4c7492]: https://github.com/modm-io/modm/commit/f4c7492
[f4d5d6c]: https://github.com/modm-io/modm/commit/f4d5d6c
[f5cdf6a]: https://github.com/modm-io/modm/commit/f5cdf6a
Expand Down
131 changes: 131 additions & 0 deletions docs/release/2024q4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
## 2025-01-01: 2024q4 release

This release covers everything from 2024-10-01 and has been tested with avr-gcc
v13.2.0 from Upstream and arm-none-eabi-gcc v13.2.1 from xpack.

Breaking changes:

**Protothreads and Resumables are deprecated! Please use Fibers instead!**
Note that you can disable the deprecation by resetting the option
`modm:processing:protothread:use_fiber` to `false`, however, you will be limited
to using GCC12 as GCC13 and newer does not compile our implementation anymore.

A shim is provided to allow the use of Protothreads and Resumables with Fibers
without any significant modification of the existing code. However you must
replace the main loop calling all protothreads with the fiber scheduler:

```cpp
int main()
{
/*
while(true)
{
protothread1.update();
protothread2.update();
}
*/
modm::fiber::Scheduler::run();
return 0;
}
```

The `modm:processing:protothread` and `modm:processing:resumable` modules will
be removed by the end of 2025. Please port your code to use fibers instead.
Consult the `modm:processing:fiber` module docs for more information.

Features:

- Add efficient stack overflow check in fiber yield function.
- Enable D-Cache for Cortex-M7 if DMA is not used.
- Support for GCC13 which was blocked on deprecating Resumables and Protothreads.
- Add RTC driver for STM32.
- Enable low speed clock input on all STM32 boards.

Integrated Projects:

- CMSIS-Core upgraded to v6.1.0.
- CMSIS-DSP upgraded to v1.16.2.
- STM32L4 headers upgraded to v1.7.4.
- STM32F1 headers upgraded to v4.3.5.
- LVGL upgraded to v9.2.0.
- TinyUSB upgraded to v0.17.
- printf upgraded to v6.2.0.
- ETL upgraded to v20.39.4.
- nanopb upgraded to v0.4.9.

Fixes:

- Make AMNB usable in Fibers.
- Reset AVRs on abandonment.
- Prevent RX FIFO overflow in STM32 SPI master.
- Fix `Timeout::wait()` implementation not waiting.
- Fix IWDG prescaler computation on STM32.
- Support Python 3.13 in modm_tools.

New device drivers:

- DW3310 Ultra-Wide Band driver as `modm:driver:dw3110`.

New development boards:

- WeAct Studio STM32C011F6 as `modm:board:weact-c011f6`.

Known bugs:

- STM32F723 is missing support to use built-in USB HS PHY. See #1171.
- OpenOCD cannot enable SWO on STM32H7 targets. See #1079.
- `arm-none-eabi-gdb` TUI and GDBGUI interfaces are not supported on Windows.
See #591.
- Generating modm on Windows creates paths with `\` that are not compatible with
Unix. See #310.
- `lbuild build` and `lbuild clean` do not remove all previously generated files
when the configuration changes. See #285.

Many thanks to all our contributors.
A special shoutout to first timers 🎉:

- Andrey Kunitsyn (@andryblack)
- Christopher Durand (@chris-durand)
- Elias H. 🎉
- Frank Altheim (@frnktank) 🎉
- Jan-Gerd Meß (@jgmess-dlr) 🎉
- Kaelin Laundry (@WasabiFan)
- Michael Jossen (@Javask)
- Niklas Hauser (@salkinium)
- Raphael Lehmann (@rleh)
- Rasmus Kleist (@rasmuskleist)
- Vishwanath Martur (@vishwamartur) 🎉

PR #1248 -> 2024q4.

<details>
<summary>Detailed changelog</summary>

#### 2025-01-01: Add WeAct Studio STM32C011F6 board

PR #1249 -> 7ba2fbb.
Tested in hardware by @salkinium.

#### 2024-12-30: Add RTC peripheral driver for STM32

PR #1242 -> f402893.
Tested in hardware by @salkinium.

#### 2024-12-01: Deprecate Protothreads and Resumable Functions

PR #1232 -> e92dc1d.
Tested in hardware by @salkinium.

#### 2024-11-10: Add stack overflow check to fibers

Stack overflows lead to abandonment with the `fbr.stkof` assertion.

PR #1219 -> ae74049.
Tested in hardware by @salkinium.

#### 2024-11-05: Add driver for DW3110

PR #1210 -> e579250.
Tested in hardware by @Javask and @rleh.

</details>
3 changes: 3 additions & 0 deletions tools/scripts/authors.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,14 @@
"Erik Henriksson": "henrikssn",
"Fabian Greif": "dergraaf",
"Felix Petriconi": "FelixPetriconi",
"Frank Altheim": "frnktank",
"Georgi Grinshpun": "georgi-g",
"Hannes Ellinger": "el-han",
"Hans Schily": "RzwoDzwo",
"Henrik Hose": "hshose",
"Jacob Schultz Andersen": "jasa",
"Jakob Riepler": "XDjackieXD",
"Jan-Gerd Meß": "jgmess-dlr",
"Jeff McBride": "mcbridejc",
"Jens Böckmann": "jensboe",
"Jonas Kazem Andersen": "JKazem",
Expand Down Expand Up @@ -96,6 +98,7 @@
"Tomasz Wasilczyk": "twasilczyk",
"Valeriy Osipov": "SgtPepperFTW",
"Victor Costa": "victorandrehc",
"Vishwanath Martur": "vishwamartur",
"Vivien Henry": "lukh",
"Zawadniak Pedro": "PDR5",
"Álan Crístoffer": "acristoffers",
Expand Down

0 comments on commit ab7c1ca

Please sign in to comment.