extmod/nimble/nimble.mk: Add -Wno-old-style-declaration.
extmod/btstack/btstack.mk: Add -Wimplicit-fallthrough=0.
tests/micropython/extreme_exc.py: Unlink alloc'd lists earlier in chain.
stm32: Support C++ code and user C modules written in C++.
stm32/boards: Factor out common data/bss/heap/stack linker sections.
py/binary: Fix sign extension setting wide integer on 32-bit archs.
extmod/moductypes: Fix storing to (U)INT64 arrays on 32-bit archs.
py/mpz: Do sign extension in mpz_as_bytes for negative values.
lib/utils/pyexec: Add MICROPY_BOARD hooks before/after executing code.
stm32/boardctrl: Define MICROPY_BOARD_EARLY_INIT alongside others.
stm32: Add MICROPY_BOARD calls in various places in stm32_main.
stm32/main: Move update_reset_mode to outside the soft-reset loop.
extmod/nimble: Make stm32 and unix NimBLE ports use synchronous events.
extmod/modbluetooth: Re-instate optional no-ringbuf modbluetooth.
extmod/nimble: Poll startup directly rather than using NimBLE sem.
extmod/modbluetooth: Combine gattc-data-available callbacks into one.
unix: Make mp_hal_delay_ms run MICROPY_EVENT_POLL_HOOK.
unix: Handle pending events/scheduler in MICROPY_EVENT_POLL_HOOK.
extmod/modbluetooth: Make UUID type accessible outside modbluetooth.c.
tests/run-multitests.py: Add a -p flag to run permutations of instances.
tests/multi_bluetooth: Improve reliability of event waiting.
tests/run-multitests.py: Fix diff order, show changes relative to truth.
stm32/rtc: Validate the RTC prescaler on boot and change if incorrect.
stm32/Makefile: Allow boards to extend all SRC variables.
extmod/machine_mem: Only allow integers in machine.memX subscript.
esp32/machine_pin: Reset pin if init sets mode.
stm32/Makefile: Make the generation of `firmware.bin` explicit.
tools/makeqstrdefs.py: Run qstr preprocessing in parallel.
esp32,esp8266: Remove "FAT" from warning message in inisetup.py.
stm32/rfcore: Depend on NimBLE only when BLE enabled.
stm32/rfcore: Don't send HCI ACL cmds while another is pending.
stm32/flash: Implement WB55 flash locking.
stm32/rfcore: Make RX IRQ schedule the NimBLE handler.
tests/multi_bluetooth: Add a test for WB55 concurrent flash access.
tests/multi_bluetooth: Change dict index-and-del to pop, to clear event.
extmod/nimble/modbluetooth_nimble: Fix build when l2cap unavailable.
tests/multi_bluetooth: Add L2CAP channels multi-test.
docs/library/ubluetooth.rst: Add docs for L2CAP channels.
extmod/modbluetooth: Add API for L2CAP channels.
extmod/machine_i2c: Add init protocol method for generic I2C bindings.
nrf/README: Describe Pin numbering scheme for nRF52840.
github/workflows: Run unix and qemu-arm workflows when tests change.
README: Update badges for new GitHub Actions workflows.
tests/run-tests: Update skipped tests on CI for GitHub Actions.
travis: Stop using Travis for CI.
github/workflows: Add workflows for all CI tasks, builds and tests.
tools/ci.sh: Add helper script to run CI tasks.
py/mpprint: Prevent case fall-through when assert is disabled.
tests/extmod: Add vfs_posix.py test for uos.VfsPosix class.