diff --git a/VERSION b/VERSION new file mode 100644 index 000000000000..d2177faf71b6 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +RIOT_VERSION = 2023.01 diff --git a/release-notes.txt b/release-notes.txt index d610c484bf7f..c56c13127790 100644 --- a/release-notes.txt +++ b/release-notes.txt @@ -1,3 +1,544 @@ +RIOT-2023.01 - Release Notes +============================ +RIOT is a multi-threading operating system which enables soft real-time +capabilities and comes with support for a range of devices that are typically +found in the Internet of Things: 8-bit and 16-bit microcontrollers as well as +light-weight 32-bit processors. + +RIOT is based on the following design principles: energy-efficiency, soft +real-time capabilities, small memory footprint, modularity, and uniform API +access, independent of the underlying hardware (with partial POSIX compliance). + +RIOT is developed by an international open-source community which is +independent of specific vendors (e.g. similarly to the Linux community) and is +licensed with a non-viral copyleft license (LGPLv2.1), which allows indirect +business models around the free open-source software platform provided by RIOT. + + +About this release +================== + +We are proud to announce the release of RIOT 2023.01, marking the tenth +anniversary of the project. Over the past decade, RIOT has become a thriving +open-source community, delivering cutting-edge technology for Internet of +Things (IoT) devices. This release builds on top of the hard work and +dedication of our developers, users, and contributors, and we would like to +extend a heartfelt thank you to everyone who has been a part of our journey. +Here's to another decade of innovation and growth! + +Noteworthy changes the 2023.01 release includes, among many fixes and little +things: + +- ztimer_ondemand: The next step towards seamless and automatic power management. +- The Rust examples now default to stable Rust. + +187 pull requests, composed of 570 commits, have been merged since the +last release, and 13 issues have been solved. 37 people contributed with +code in 58 days. 1248 files have been touched with 516544 (+) insertions and +12047 deletions (-). + + +Notations used below +==================== + + + means new feature/item + * means modified feature/item + - means removed feature/item + + +New features and changes +======================== + +Core +---- + +* core/lib: define MAYBE_UNUSED (#18884) +* core/marco: fix DIV_ROUND (#18858) + +System Libraries +---------------- + ++ congure_abe: initial import of TCP Alternative Backoff with ECN for + CongURE (#15968) ++ congure_quic: initial import of QUIC congestion control (#15952) ++ pkg/tinyusb: add common USB descriptors implementation (#18835) ++ sys/bitfield: add bf_find_first_{set, unset}() (#18833) ++ sys/bitfield: add bf_popcnt() (#18879) ++ sys/malloc_tracing: add module to trace dyn memory management (#18912) ++ sys/stdio_uart: add stdio_uart_onlcr (pseudo-) module (#18731) ++ sys/tiny_strerror: add tiny_strerror_minimal (#18768) ++ ztimer: add ztimer_ondemand module for implicit power management (#17607) +* rust: Use stable Rust (#18839) +* suit: start worker thread on demand, make suit_handle_url() public (#18551) +* sys/pm_layered: align pm_blocker_t for speed (#18846) +* sys/print_stack_usage: update MIN_SIZE (#18917) +* sys/shell: drop ping6 alias (#18931) +* sys: preprocessor successor module (#18299) +* tests/pbkdf2: de-flanky-fy test (#18932) +* usbus/hid: fix buffer overflow in hid_io (#18860) + +Networking +---------- + ++ examples/gcoap: add IPv4 support (#17763) ++ gnrc/ipv6_auto_subnets: add CONFIG_GNRC_IPV6_AUTO_SUBNETS_STATIC + option (#17429) ++ gnrc_sixlowpan_frag_sfr: add support for queue-based ECN (#16175) ++ gnrc_sixlowpan_frag_sfr: provide CongURE support (#16156) ++ nanocoap: add support for no-response option (#18154) ++ sys/net/nanocoap: introduce Accept option helper (#18772) ++ sys/net: add Size1 and Size2 option numbers (#18799) +* drivers/at86rf2xx: migrate to ztimer (#18822) +* gnrc: make pseudo-modules explicit + documentation improvements (#18727) +* gnrc_sock_udp: accept response from any address if remote is + multicast (#18854) +* gnrc_udp: use small stack-size (#18709) +* net/nanocoap: remove coap_pkt token ptr (#17983) +* paho: use GNRC instead of lwip (#18982) +* sys/include: remove kernel_defines.h where not needed (#18887) + +Packages +-------- + +* pkg/arduino_sdi_12: bump version, fix patches (#18796) +* pkg/lvgl: bump to 8.3.3 (#18794) +* pkg/tinyusb: support for multiple configuration descriptors (#18983) +* pkg/wamr: Update to WAMR-1.1.1 (#18994) + +Boards +------ + ++ boards/cc1350: add info concerning shell access (#18808) ++ boards/dwm1001: add saul_gpio support (#18818) ++ boards/lora-e5-dev: add arduino feature (#18792) ++ boards/nucleo-l496zg: add ADC support (#18940) ++ boards: add support for EFM32GG12 Thunderboard Kit (SLTB009A) (#18755) ++ cpu/efm32: add periph_adc support for Gecko Series 2 (#18933) ++ cpu/efm32: add periph_uart_modecfg support for Gecko Series 2 (#18946) ++ drivers/usbdev_synopsys_dwc2: add support for internal UTMI HS PHY (#18714) ++ EFM32: add cpu family EFR32ZG23 and board xG23-PK6068A (#18780) ++ pkg/tinyusb: add nrf52 support (#18781) ++ pkg/tinyusb: add STM32 USB FS device driver (#18786) ++ pkg/tinyusb: add ULPI and UTMI+ HS PHY support for STM32 USB OTG HS + ports (#18776) +* boards/blxxxpill-128kib: default to CDC ACM for stdio (#18743) +* boards/common/nrf52: improve default clock config (#18811) +* boards/im880b: refactor code (#18451) +* boards/nucleo-f207zg: support for ADC (#18847) +* boards/nucleo-l* and g*: update doc concerning Vbat (#18984) +* cpu/stm32: Fix stm clock configuration (#18797) + +CPU +--- + ++ cpu/saml21: add interaction with pm_layered for peripheral drivers (#18821) ++ cpu/stm32: add unused backup RAM as extra heap (#18921) ++ debug_irq_disable: add module to debug time spent in irq_disable (#18795) +* boards/native: Remove macOS as native target (#18735) +* cpu/efm32: preparing introduction of Gecko Series 2 (#18764) +* cpu/saml21/pm: allow blocking IDLE mode (#18825) +* cpu/stm32: improvement of USB device driver selection (#18787) +* makefiles/cflags.inc.mk: don't include absolute path in __FILE__ + macro (#18913) +* makefiles/gnu.inc.mk: set flags based on compiler version (#18935) +* pkg/gecko_sdk: Bump to version 4.1.2 (#18739) +* pkg/tinyusb: implement stdio via CDC ACM (#18804) +* sam0/rtc_rtt: optimizations to get around the painful long syncwaits (#18920) +* socket_zep: make use of crc16_ccitt_false_update() (#18779) +* treewide: replace RIOT_FILE_RELATIVE with __FILE__ (#18936) + +Device Drivers +-------------- + ++ drivers/at: add a function read a response plus the OK (#18753) ++ matrix_keypad: Add matrix-style keypad module (#18733) +* drivers/at86rf2xx: isolate netdev logic (#18988) +* drivers/sdcard_spi: make use of crc16_ccitt_false_update() (#18778) + +Documentation +------------- + +* boards/cc13xx_cc26xx: remove broken HTML links and headings in doc (#18809) +* boards/nucleo-l4r5zi: doc improvements (#18747) +* docs/kconfig: "not longer" -> "no longer" typo (#18922) +* pkg/tinyusb: update doc for tusb_app_config.h and common descriptor + handling (#18901) + +Build System / Tooling +---------------------- + ++ .vscode: import initial RIOT-OS style (#18945) ++ build-system: add capability to execute scripts with custom executor (#18770) ++ dist/tools: add "RESET_PIN" value for the dwm1001 (#18815) ++ examples/gnrc_border_router: add option to re-use existing TAP + interface (#18836) ++ makefiles/tools/serial.inc.mk: add support for bootterm (#18749) ++ tapsetup: add --loss & --delay option (#18885) ++ tools/cpy2remed: add support for NOD_xxxx removable media (#18824) +* build system: fix compilation with LLVM (#18845) +* CI: can_fast_ci_build.py unittests fix (#18996) +* dist/tools/pyterm: avoid deprecated .setDaemon (#18754) +* utils/uncrustify: display warning instead of error (#18877) + +Kconfig +------- + ++ pkg/tinyusb: add Kconfig support for stdio_tinyusb_cdc_acm (#19007) + +Examples +-------- + +* examples/gcoap: replace _parse_endpoint by sock_udp_name2ep (#17870) +* examples/timer_periodic_wakeup: switch to ztimer (#19001) +* examples: Remove macOS references in README (#18850) + +Testing +------- + ++ tests/pkg_tinyusb*: add a BOARD to make make build (#18888) +* CI: drop obsolete murdock note (#18905) +* CI: update murdock yml (#19022) +* test/unittest: cleanup most vera++ complains (#18807) +* tests/bitarithm_timings: shorten timeout from 5s to 200ms (#18894) +* tests/periph_timer: also test for spurious IRQs (#18963) +* unittests/uri_parser: Rework tests to be more verbose (#18734) + +API Changes +----------- + ++ nanocoap: add request context to coap_handle_req() (#18816) + +Uncategorized +------------- ++ release-notes.txt: add 2022.10 release notes (#18947) +* .drone: Remove unmaintained .drone file (#18832) +* README.md: update CI badge (#18685) +* README.md: update features (#18777) + +And 38 minor changes. + + +Bug fixes (44) +============== + +* pkg/tinyusb: add usb_board_reset support (#19006) +* boards/common/blxxxpill: Fix pin conflicts in periph_conf (#18785) +* boards/common/nrf52: fix timer config (#18948) +* boards/dwm1001: use lis2dh12_i2c instead of lis2dh12_spi (#18857) +* bootloaders/riotboot_dfu: fixes including sys/usb/usbus/dfu (#18964) +* core/mbox: fix race condition (#18955) +* cpu/atmega_common/periph_timer: fix spurious IRQs (#18978) +* cpu/efm32/pm: fix blocking EM1 (#18775) +* cpu/efm32/timer_series2: fix interaction with pm_layered (#18814) +* cpu/esp32: set bootloader XTAL frequency configuration to automatic (#18829) +* cpu/esp{32,8266}/periph_timer: allow changing callback or freq (#18971) +* cpu/nrf5x/timer: fix high current consumption in powered off state (#18953) +* cpu/nrf5x/uart: run STOPTX task after finished tx (#18954) +* cpu/nrf5x_common/periph_timer: fix spurious IRQs (#18970) +* cpu/qn908x: use bitarithm_test_and_clear() & fix cb (#18989) +* cpu/stm32/periph_timer: fix spurious IRQs and race conditions (#18969) +* cpu/stm32: fix periph_dma (#18711) +* cpu/stm32: fix RAM_LEN for F427, F429, F437, F439 models (#18919) +* dist/tools/usb-serial: fix exception on missing entries (#19011) +* drivers/atwinc15x0: don't disable interrupts (#18800) +* drivers/ethos: Fix off-by-one bug (#18823) +* drivers/slipdev: fix off-by-one error in _recv() (#18826) +* drivers/usbdev_synopsys_dwc2: small fixes (#18759) +* Fix kconfig mismatch breaking nightlies (#18805) +* gnrc: Fix unused function error when using LLVM (#18852) +* gnrc_sixlowpan: Various hardening fixes (#18817) +* makefiles/libc/picolibc.mk: fix compilation with modern binutils (#18893) +* nanocoap_sock: don't store entire sock in coap_block_request_t (#18827) +* nanocoap_sock: only re-transmit CON messages (#18819) +* pkg/nimble: signal LINK_UP on initialisation (#18979) +* pkg/tinyusb: fix the reset of the USB connection for STM32 boards + without internal D+ pullup (#18992) +* pkg/utensor: fix uninitialized variable (#18862) +* sam0_common: use size_t len for I2C transfers (fixes #19008) (#19009) +* sys/clif: Fixing out of bounds read under certain conditions (#18744) +* sys/net/gnrc/pkt: fix gnrc_pkt_delete() (#18874) +* sys/net/grnc/netreg: avoid freeing wild pointers (#18951) +* sys/stdio_uart: fix undefined behavior (#18774) +* sys/uri_parser: fixing potential out of bounds read when consuming + ports (#19016) +* sys/ztimer: model ztimer_periph_lptimer for Kconfig (#18783) +* test-on-iotlab: several fixes to make it runnable again (#18722) +* tests/congure_abe: reset node before starting terminal (#18769) +* tests/pkg_utensor: increase main threads stack size (#18952) +* tests/shell: fix failure on samr21-xpro (#18891) +* tests: set netdev `event_callback` before calling init (#18745) +* tools/backport_pr: finally fix running outside of repo's root (#18881) + + +Known issues +============ + +Network related issues (52) +--------------------------- + +* 6lo: RIOT does not receive packets from Linux when short_addr is set (#11033) +* [gcoap-dtls] Posting a message yields a stack overflow on the + `samr21-xpro` with ECC (#18292) +* Address registration handling inappropriate (#15867) +* app/netdev: application stops working after receiving frames with + assertion or completely without error (#8271) +* at86rf2xx: Dead lock when sending while receiving (#8242) +* CC2538 RF overlapping PIN usage (#8779) +* cpu/esp8266: Tracking open problems of esp_wifi netdev driver (#10861) +* dist/tools/sliptty/start_network.sh: IPv6 connectivity is broken on + PC (#14689) +* driver/mrf24j40: blocks shell input with auto_init_gnrc_netif (#12943) +* drivers/at86rf215: Incorrect channel number set for subGHz (#15906) +* DTLS examples cannot send message to localhost (#14315) +* Emcute cannot create a double-byte name (#12642) +* ethernet: Missing multicast addr assignment (#13493) +* ethos: fails to respond to first message. (#11988) +* ethos: Unable to choose global source address. (#13745) +* ethos: Unable to handle fragmented IPv6 packets from Linux kernel (#12264) +* examples/cord_ep: Dead lock when (re-)registering in callback + function (#12884) +* examples/gnrc_border_router: esp_wifi crashes on disconnect (#14679) +* Forwarding a packet back to its link layer source should not be + allowed (#5051) +* gcoap example request on tap I/F fails with NIB issue (#8199) +* gcoap: Suspected crosstalk between requests (possible NULL call) (#14390) +* gnrc ipv6: multicast packets are not dispatched to the upper layers (#5230) +* gnrc_border_router stops routing after a while (#16398) +* gnrc_icmpv6_echo: flood-pinging another node leads to leaks in own + packet buffer (#12565) +* gnrc_ipv6: Multicast is not forwarded if routing node listens to the + address (#4527) +* gnrc_netif_pktq leaks memory (#17924) +* gnrc_rpl: missing bounds checks in _parse_options (#16085) +* gnrc_rpl: nib route not updated when topology / DODAG changes (#17327) +* gnrc_rpl: takes unusually long time to start routing packets (#19147) +* gnrc_sock_udp: Possible Race condition on copy in application buffer (#10389) +* gnrc_tcp: gnrc_tcp_recv() never generates -ECONNABORTED (#17896) +* gomach: Resetting netif with cli doesn't return (#10370) +* ieee802154_submac: IPv6 fragmentation broken (#16998) +* LoRaWan node ISR stack overflowed (#14962) +* lwip_sock_tcp / sock_async: received events before calling + sock_accept() are lost due to race condition. (#16303) +* Missing drop implementations in netdev_driver_t::recv (#10410) +* Neighbor Discovery not working after router reboot when using SLAAC (#11038) +* netdev_ieee802154: Mismatch between radio ll address and in memory + address (#10380) +* nrf52: Not able to add global or ULA address to interface (#13280) +* nrfmin: communication not possible after multicast ping with no + interval (#11405) +* ping6 is failing when testing with cc2538dk (#13997) +* pkg/tinydtls: auxiliary data API does not work for async sockets (#16054) +* Possible memory leak in RIOT/build/pkg/ndn-riot/app.c (#15638) +* Riot-os freezes with lwip + enc28j60 + stm32L4 (#13088) +* samr30 xpro doesn't seem to use its radio ok (#12761) +* scan-build errors found during 2019.07 testing (#11852) +* send data with UDP at 10HZ, the program die (#11860) +* stale border router does not get replaced (#12210) +* test/lwip: enabling both, IPv4 and IPv6, results in unexpected + behavior (#18097) +* tests/lwip: does not compile for IPv4 on 6LoWPAN-based boards. (#17162) +* two nodes livelock sending neighbor solicitations back and forth + between each other (#16670) +* xbee: setting PAN ID sometimes fails (#10338) + +Timer related issues (9) +------------------------ + +* cpu/native: timer interrupt issue (#6442) +* misc issues with tests/trickle (#9052) +* MSP430: periph_timer clock config wrong (#8251) +* periph/timer: `timer_set()` underflow safety check (tracking issue) (#13072) +* periph_timer: systematic proportional error in timer_set (#10545) +* saml21 system time vs rtc (#10523) +* Sleep mode for Arduino (#13321) +* stm32_common/periph/rtc: current implementation broken/poor accuracy (#8746) +* sys/newlib: gettimeofday() returns time since boot, not current wall + time. (#9187) + +Drivers related issues (16) +--------------------------- + +* adc is not a ADC-Driver but a analog pin abstraction (#14424) +* at86rf2xx: Simultaneous use of different transceiver types is not + supported (#4876) +* cpu/msp430: GPIO driver doesn't work properly (#9419) +* driver/hts221: Temperature and Humidity readings incorrect (#12445) +* examples/dtls-wolfssl not working on pba-d-01-kw2x (#13527) +* fail to send data to can bus (#12371) +* floats and doubles being used all over the place. (#12045) +* mdt_erase success, but vfs_format resets board (esp32-heltec- + lora32-v2) (#14506) +* periph/spi: Switching between CPOL=0,1 problems on Kinetis with + software CS (#6567) +* periph: GPIO drivers are not thread safe (#4866) +* Potential security and safety race conditions on attached devices (#13444) +* PWM: Single-phase initialization creates flicker (#15121) +* STM32: SPI clock not returning to idle state and generating + additional clock cycles (#11104) +* TCP client cannot send read only data (#16541) +* tests/periph_flashpage: unexpected behavior on nucleo-l4r5zi (#17599) +* Two bugs may lead to NULL dereference. (#15006) + +Native related issues (4) +------------------------- + +* examples/micropython: floating point exception while testing on + native (#15870) +* native getchar is blocking RIOT (#16834) +* native not float safe (#495) +* native: tlsf: early malloc will lead to a crash (#5796) + +Other platforms related issues (15) +----------------------------------- + +* Failing tests on FE310 (Hifive1b) (#13086) +* [TRACKING] Fixes for automatic tests of ESP32 boards. (#12763) +* boards/hifive1: flashing issue (#13104) +* Cannot use LLVM with Cortex-M boards (#13390) +* cpu/sam0: flashpage write / read cycle produces different results + depending on code layout in flash (#14929) +* cpu/stm32f1: CPU hangs after wake-up from STOP power mode (#13918) +* esp32-wroom-32: tests/netstats_l2 failing sometimes (#14237) +* gcoap/esp8266: Stack overflow with gcoap example (#13606) +* MPU doesn't work on cortex-m0+ (#14822) +* newlib-nano: Printf formatting does not work properly for some + numeric types (#1891) +* periph_timer: Test coverage & broken on STM32F767ZI (#15072) +* riscv: ISR stack is too small for ENABLE_DEBUG in core files (#16395) +* stm32152re: hardfault when DBGMCU_CR_DBG* bits are set and branch + after __WFI() (#14015) +* stm32f7: Large performance difference between stm32f746 and stm32f767 (#14728) +* sys/riotboot/flashwrite: unaligned write when skipping + `RIOTBOOT_MAGIC` on stm32wb (#15917) + +Build system related issues (11) +-------------------------------- + +* `buildtest` uses wrong build directory (#9742) +* `make -j flash` fails due to missing make dependencies or `make + flash-only` rebuilds the .elf (#16385) +* Build dependencies - processing order issues (#9913) +* build: info-build doesn't work with boards without port set (#15185) +* BUILD_IN_DOCKER ignores USEMODULE (#14504) +* dist/tools/cppcheck/cppchck.sh: errors when running with Cppcheck + 1.89 (#12771) +* doxygen: riot.css modified by 'make doc' (#8122) +* macros: RIOT_FILE_RELATIVE printing wrong file name for headers (#4053) +* make: ccache leads to differing binaries (#14264) +* make: use of immediate value of variables before they have their + final value (#8913) +* Tracking: remove harmful use of `export` in make and immediate + evaluation (#10850) + +Other issues (44) +----------------- + +* [TRACKING] sys/shell refactoring. (#12105) +* _NVIC_SystemReset stuck in infinite loop when calling pm_reboot + through shell after flashing with J-Link (#13044) +* `make term` no longer works with JLinkExe v6.94 (#16022) +* Basic test for periph/rtt introduced in #15431 is incorrect (#15940) +* boards/esp32-wroom-32: tests/mtd_raw flakey (#16130) +* Bug: openocd 0.10.0-6 Ubuntu dies while debugging with -rtos auto (#13285) +* Can't build relic with benchmarks or tests (#12897) +* CC2538DK board docs: broken links (#12889) +* cpu/stm32/periph/rtc overflow error (#16574) +* cpu/stm32: some tests are failing on CM33 (l5, u5) (#17439) +* doc/LOSTANDFOUND: not rendered as expected (#17063) +* edbg: long lines flooded over serial become garbled (#14548) +* examples / tests: LoRa tests fail on platforms that don't support + LoRa (#14520) +* feather-m0: `make flash` reports "device unsupported" (#17722) +* flashing issue on frdm-k64f (#15903) +* frdm-k22f failing tests/periph_flashpage (#17057) +* I2C not working under RIOT with U8G2 pkg (#16381) +* ieee802154_security: Nonce is reused after reboot (#16844) +* lwip: drivers/at86rf2xx/at86rf2xx_netdev.c invalid state during TCP + disconnect (#17209) +* lwip: invalid state transition on ieee802154_submac users (#17208) +* Making the newlib thread-safe (#4488) +* mcuboot: flashes but no output (#17524) +* nanocoap: incomplete response to /.well-known/core request (#10731) +* newlib-nano: Printf formatting does not work properly with `"PRIu8"` (#17083) +* Order of auto_init functions (#13541) +* pkg/tinydtls: Multiple issues (#16108) +* pkg_libhydrogen tests fail / update libhydrogen (#18508) +* Potential race condition in compile_and_test_for_board.py (#12621) +* RIOT is saw-toothing in energy consumption (even when idling) (#5009) +* riotboot/nrf52840dk: flashing slot1 with JLINK fails (#14576) +* riotboot: ECC faults (eg. in STM32L5 or STM32WB) not handled + gracefully (#17874) +* rust-gcoap example is incompatible with littlefs2 (#17817) +* SPI access in LoRa-e5 and im880b? (#19025) +* stdio_ethos: infinite shell loop (#17972) +* sys/riotboot: documentation issues (#11243) +* sys/stdio_uart: dropped data when received at once (#10639) +* tests/cpp11_*: failing on i-nucleo-lrwan1 (#14578) +* tests/lwip target board for python test is hardcoded to native (#6533) +* tests/periph_flashpage: failing on stm32l475ve (#17280) +* tests/pkg_libhydrogen: test fails on master for the samr21-xpro with + LLVM (#15066) +* tests/test_tools: test fails while testing on samr21-xpro/iotlab-m3 (#15888) +* tests: broken with stdio_rtt if auto_init is disabled (#13120) +* tests: some tests don't work with `newlib` lock functions. (#12732) +* Use of multiple CAN bus on compatible boards (#14801) + +There are 151 known issues in this release + +Fixed Issues since the last release (2022.10) +============================================= + +- Race condition in SUIT around threads terminating (#19195) +- socket_zep: fragmentation broken if destination is multicast / + ACK_REQ not set (#19117) +- sam0_sdhc: SDXC cards are not detected / handled properly (#18458) +- semtech_loramac_init blocking (#17907) +- tests/thread_float: crashes on avr-rss2 (#16908) +- esp8266 precompiled bootloaders don't support partitions past 1MB (#16402) +- SIGFPE on native architecture when printing double floats on Ubuntu + 21.04 (#16282) +- I found stm32 DMA periph driver bugs! when I tested stm32l431rc + board. (#16242) +- pyterm on stdio_cdc_acm stops working after a few seconds (#16077) +- Unclear how Router Solicitations are (or should be) handled (#15926) +- examples/ccn-lite: floating point exception while testing on native (#15878) +- usb-serial/list-ttys.sh: Broken when a debugger offers multiple + serial ports (#15814) +- tests/pkg_tensorflow-lite: tests randomly failing on nrf52dk and + esp32-wroom-32 (#13133) + +13 fixed issues since last release (2022.10) + + +Acknowledgements +================ +We would like to thank all companies that provided us with hardware for porting +and testing RIOT-OS. Further thanks go to companies and institutions that +directly sponsored development time. And finally, big thanks to all of you +contributing in so many different ways to make RIOT worthwhile! + + +More information +================ +http://www.riot-os.org + + +Matrix and Forum +================ +* Join the RIOT Matrix room at: #riot-os:matrix.org +* Join the RIOT Forum at: forum.riot-os.org + + +License +======= +* The code developed by the RIOT community is licensed under the GNU Lesser + General Public License (LGPL) version 2.1 as published by the Free Software + Foundation. +* Some external sources and packages are published under a separate license. + +All code files contain licensing information. + + RIOT-2022.10 - Release Notes ============================ RIOT is a multi-threading operating system which enables soft real-time