This will allow more components to build on 1.64 stable, and contains a
fix relevant for https://github.com/RIOT-OS/RIOT/pull/18619.
CoAP modules are held back as they appear to need an even newer nightly
than in the current riotdocker to build without feature declarations.
Previously `shell_commands` was a "catch-all" module that included
shell commands for each and every used module that has a shell
companion. Instead, the new `shell_cmds` module is now used to provide
shell commands as individually selectable submodules, e.g.
`cmd_gnrc_icmpv6_echo` now provides the ICMPv6 echo command (a.k.a.
ping).
To still have a "catch all" module to pull in shell commands of modules
already used, `shell_cmds_default` was introduced. `shell_commands`
depends now on `shell_cmds_default` for backward compatibility, but
has been deprecated. New apps should use `shell_cmds_default`
instead.
For a handful of shell commands individual selection was already
possible. Those modules now depend on the corresponding `cmd_%` module
and they have been deprecated.
This will ignore files named `core` and `core.*` (except `core.c`,
`core.h`, `core.md`, `core.txt`) placed directly in the application
folder. This is where `make` is typically called and core dump due to
a crashing native application, flashing tool, or GDB would be placed.
The pattern is intentionally quite narrow, as there is e.g. a core
source folder that should still be monitored.
File systems should be mounted via `vfs_default`, not manually by
the application.
Also, `vfs` gained the `format` sub-command, so no need to provide
it in the example application.
A change in Rust nightly features broke version 0.2.5 of the `cstr`
crate, whose nightly-only features are enabled in some examples. The
breakage was quickly fixed upstream in the 0.2.6 version, this updates
the locks.
The riotmodules dependency was missed in bc8ec6d5, and while generally
it does not severly harm builds, it does harm builds riotdocker CI where
branches are switched, which is blocked by dirty files in the checkout.
The riot-wrappers version was missed when what is now 5e75f4bd was
rebased onto fdc4e11a.
d424aaedac introduced address families to
the RIOT interpretation of tinydtls-`session_t`s. However, while fixing
the naming for the `addr` field, it did not set the `family` member for
the sessions in the `dtls-echo` example, having that example run into [an
assertion][1]. This patch fixes that.
[1]: bda40789a7/session.c (L146)
The last element of a JSON array must not be terminated with a `,`
character. As such, the configuration documented currently in the
`README.md` file of gnrc_border_router is invalid and rejected by
Kea.
Examples have previously relied on the (really: some) nightly toolchain
to be the default. As that, in practice, is a problematic assumption,
the latest toolchain to use is now determined programmatically, and that
is set explicitly on the examples that use nightly.
Workaround-For: https://github.com/rust-lang/rustup/issues/3015
Add `esp32-ci` and `esp8266-ci` as external boards to cover optional modules by CI compilation:
- examples/gnrc_networking to cover ESP32/ESP8266 `esp_wifi_ap`
- examples/gnrc_minimal to cover ESP32 `esp_wifi_enterprise`