Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
6804 commits
Select commit Hold shift + click to select a range
8d6ce0f
rp2: Enable machine.mem_backup via watchdog scratch registers.
Apr 18, 2026
bbd0d48
alif: Enable machine.mem_backup via backup SRAM.
Apr 18, 2026
ff5b9a3
esp32: Enable machine.mem_backup via RTC slow memory.
Apr 18, 2026
994f362
samd: Enable machine.mem_backup via backup RAM on SAMD51.
Apr 20, 2026
36870f4
docs/library: Document machine.mem_backup.
Apr 18, 2026
b10d1ea
py/binary: Use typed store for big-int array and struct writes.
Apr 18, 2026
4ca325a
github/workflows: Upload 32-bit unix coverage to codecov.
Apr 28, 2026
7b6130a
nrf: Enable machine.mem_backup via POWER GPREGRET registers.
Jun 2, 2026
fafd209
windows/msvc/paths.props: Dont add variant path to PyIncDirs.
Jun 6, 2023
d3d6364
py/asmrv32: Improve registers allocation.
Jul 8, 2026
b2ead63
py/asmrv32: Shrink emitter for indirect register loads.
Jul 8, 2026
c99cc72
py/dynruntime.mk: Build x64 native modules on non-x64 hosts.
Jul 7, 2026
d26c76d
tools/ci.sh: Add a QEMU/x64 target for Unix tests.
Jul 7, 2026
a7cc057
shared/runtime/gchelper: Add GC helper for PPC64.
Jun 17, 2026
13f644d
powerpc/main: Use PowerPC 64 specific GC helper.
Jun 17, 2026
12e5792
qemu/Makefile: Link binaries through the dedicated linker.
Jun 17, 2026
ae16718
qemu/Makefile: Let architectures choose how to run the image.
Jun 18, 2026
4de1b21
qemu/Makefile: Allow configuring the interpreter's stack size.
Jul 3, 2026
a17b995
tests/basics/string_fstring.py: Refactor the float part of the test.
Jul 3, 2026
68f8e26
qemu: Add POWERNV9 target for PowerPC 64-bit emulation.
Jun 17, 2026
8869e7b
tools/ci.sh: Add QEMU/PPC64 to the list of CI targets.
Jun 18, 2026
9c87c8e
powerpc: Remove PowerPC port.
Jun 18, 2026
2e4417e
alif/mpconfigport: Prepare build files for CAN support.
Jun 9, 2026
f745011
alif/boards: Configure the CAN interface name and the pins.
Jun 9, 2026
f612fd5
tests/target_wiring/alif.py: Define the CAN interface.
Jun 12, 2026
687dfde
tests/multi_extmod: Make small adaptions of CAN tests 04, 05, 07 and 08.
Jun 14, 2026
d94d7ca
docs/library/machine.CAN: Add Alif to the set of supported ports.
Jul 1, 2026
ed8d391
alif/machine_can: Implement CAN support.
Jun 9, 2026
0529d75
alif/machine_can: Use a ringbuf to queue the IRQ events.
Jun 30, 2026
7d5ce59
docs/library/machine.CAN: Add notes about alif-specific restrictions.
Jul 9, 2026
a7aebca
alif/machine_can: Set the IRQ priority to a reasonable level.
Jul 17, 2026
c2e3fe4
alif/cgu_ext: Add cgu_get_rtss_hx_clk_khz helper function.
Jun 29, 2026
152e422
alif/machine_wdt: Implement machine.WDT class using WDT peripheral.
Jun 29, 2026
374a872
docs/library/machine.WDT: Update WDT docs to include info about alif.
Jun 30, 2026
af47daf
mimxrt/eth: Sleep while waiting for ETH link to come up.
Jul 2, 2026
111d2e9
lib/pico-sdk: Update pico-sdk to 2.3.0.
Jul 3, 2026
f6c8c15
rp2: Migrate to pico-sdk 2.3.0 include-based linker scripts.
Jul 3, 2026
ba4415d
rp2: Reserve the ROMFS partition in the linker script.
Jul 3, 2026
ca209fd
rp2/clocks_extra: Sync clock init with pico-sdk 2.3.0.
Jul 3, 2026
772df1a
rp2: Build with -fno-math-errno to use the hardware sqrt instruction.
Jun 18, 2026
ea89725
rp2/CMakeLists.txt: Include hardware_powman in list of components.
Jul 20, 2026
d5b05ef
rp2: Fix syntax highlighting break in CMakeLists.txt.
Jul 3, 2026
542a671
lib/tinyusb: Update to version 0.21.0.
Jun 20, 2026
a721869
stm32/boards/OPENMV_N6: Update TinyUSB CDC buffers to 4KB size.
Apr 3, 2026
11d002b
py/objstr,unicode: Add support for decoding bytes as ascii.
Jul 16, 2026
a62626a
py/objstr: Add support for checking str.encode("ascii").
Jul 16, 2026
ba9ea94
docs: Document str & bytes encoding limitations.
Jul 16, 2026
f0908fc
esp32: Update mdns component to 1.3.x.
Jul 15, 2026
fb8418e
Revert "esp32/boards/ESP32_GENERIC_H2: Disable mDNS".
Jul 15, 2026
631b1bc
esp32/lockfiles: Add a note about how to update a component.
Jul 15, 2026
9fcba88
esp32: Disable pre-defined mDNS Wi-Fi interfaces on ESP32-H2.
Jul 15, 2026
8fc947a
esp32: Reduce code size of mp_hal_ticks_us.
Jul 17, 2026
63abd04
tools/mpremote: Fix fs_stat exception with namedtuples.
Jul 18, 2026
b50c280
tools/mpremote: Fix instructions for running single test.
Jul 18, 2026
f0cdba7
gitattributes: Add .FLM to not modify.
Mar 10, 2026
6bff2b0
gitmodules: Add psoc-edge port libs.
Mar 10, 2026
b17042e
docs: Add psoc-edge port docs.
Mar 10, 2026
533cea9
lib/psoc-edge: Add psoc-edge submodules libs.
Jul 14, 2026
9120cb7
pyproject.yml: Add psoc-edge bsp generated code to ignore.
Mar 10, 2026
8e7b3ed
README: Add psoc-edge port to TIER 2.
Jul 13, 2026
5572640
psoc-edge: Add PSOC Edge port basic enablement.
Jul 13, 2026
58b2e3c
tools/ci: Add ci setup and build for psoc-edge.
Jul 13, 2026
5b7c207
tools/autobuild: Add psoc-edge port to autobuild.
Jul 13, 2026
767097a
tests/extmod/machine_uart_irq_txidle: Add variable timing window.
Jul 13, 2026
6d177de
tests/extmod/machine_uart_tx: Add timing margin for psoc-edge.
Jul 13, 2026
5cd1a7e
tests/extmod_hardware/machine_uart_irq_break: Add psoc-edge support.
Jul 13, 2026
71a0ae8
tests/target_wiring: Add KIT_PSE84_AI with UART loopback.
Jul 13, 2026
49fe174
github/workflows/ports_psoc-edge.yml: Add psoc edge build ci check.
Jul 13, 2026
1a4df82
esp32/machine_sdcard: Expose SDMMC host bus slot width in board config.
Jul 21, 2026
8026c32
tools/mpy_ld.py: Automatically provide memset/memmove/memcpy if needed.
Jun 19, 2026
8fcd186
examples/natmod: Remove explicit memset/memmove/memcpy wrappers.
Jun 19, 2026
228d96d
tools/ci.sh: Test building and running natmods using clang.
Jul 10, 2026
b9cceaa
py/makeqstrdefs.py: Propagate out errors from parallel pp step.
Jul 20, 2026
215081b
rp2: Bring up PSRAM using the SDK's hardware_psram library.
Jul 3, 2026
d569751
rp2/boards/SEEED_XIAO_RP2350: Decrease filesystem size to 1408k.
Jul 21, 2026
072ff7b
stm32/boards/B_L072Z_LRWAN1: Enable MICROPY_PY_BUILTINS_MEMORYVIEW.
Jul 21, 2026
c82d9ca
tools/mpremote: Properly escape quotes for commands.
Jul 21, 2026
e7c29b9
tools/mpremote: Fix command expansion to handle `=`.
Jul 21, 2026
8b3491b
tools/mpremote: Fix UnicodeEncodeError on Windows consoles.
Jul 21, 2026
a5548fb
tools/mpremote: Convert string input to bytes in wr_bytes method.
Jul 21, 2026
be787b8
tools/mpremote/tests: Add `-t device` and skip functionality.
Jul 21, 2026
9a2ba6c
tools/mpremote/tests: Use a shared ramdisk script across tests.
Jul 21, 2026
b2dc14a
tools/mpremote/tests: Add test for unicode fixes.
Jul 21, 2026
6a689d3
shared/runtime/softtimer: Fix undefined behaviour with a NULL heap.
Jul 23, 2026
a53a0db
esp32/modmachine: Export machine_bootloader_rtc().
Aug 23, 2024
5aaa6d1
esp32/boards/ARDUINO_NANO_ESP32: Optionally use hardware bootloader.
Aug 22, 2024
e238a8d
tests/unicode: Split out unicode f-string test to separate file.
Jul 10, 2026
2264272
tests/run-multitests.py: Fix location of extmod for MICROPYPATH.
Jul 11, 2026
4a40f53
tests/net_inet: Use "ascii" encoding for HTTP Host.
Jul 24, 2026
7a61d7c
esp8266/Makefile: Specify --chip option to esptool.
Jul 27, 2026
f6c7803
tools/manifest: Add c_module() function for specifying user C modules.
May 23, 2026
9d7845e
py: Add build system support for c_module() in manifests.
May 23, 2026
10b1451
rp2: Resolve FROZEN_MANIFEST before usermod.cmake and quote for cmake.
May 23, 2026
ceaf65b
esp32: Quote FROZEN_MANIFEST when forwarding it to idf.py.
May 23, 2026
a28ce18
examples/usercmodule: Fix subpackage cmake source filename.
May 23, 2026
7909c9c
docs: Document c_module() manifest function.
May 23, 2026
9f4eeae
tests: Add shared manifest_c_module test for c_module() CI.
May 23, 2026
4033563
unix: Migrate coverage variant to use c_module() in manifest.
May 23, 2026
f076c0f
mimxrt/machine_pin: Call NVIC_SetPriority with non-neg IRQ number.
Jul 27, 2026
5ebe8dd
mimxrt/machine_can: Remove unused triggers and irq_flags variables.
Jul 27, 2026
c5401d6
nrf/modules/machine/uart: Fix ioctl to return the polling value.
Jul 27, 2026
59ee03d
renesas-ra/ra/ra_adc: Fix ra_adc_set_resolution to write hw register.
Jul 27, 2026
9dbb4b3
stm32/Makefile: Suppress ll_usb unused-but-set-variable error on F4/F7.
Jul 27, 2026
a7eb15b
Revert "stm32/main: Initialize network subsystem before boot.py.".
Jul 27, 2026
08a824a
unix: Don't generate debug info unless needed for final binary.
Jul 30, 2026
24c5974
unix: Build DEBUG as -ggdb3.
Jul 30, 2026
f013bb5
ci: Build esp32 port ESP32_GENERIC variant D2WD in CI.
Jul 29, 2026
7107875
stm32/boards/WEACT_F411_BLACKPILL: Document SPI flash pin usage and PB4.
May 17, 2026
72dee96
stm32: Add all alternate functions for STM32N6.
Jul 23, 2026
4137e7c
stm32/eth: Move DHCP restart to end of link-status poll.
Jul 17, 2026
0228d9c
stm32/eth: Remove dead re-check of last_link_status in poll.
Jul 17, 2026
664c8b7
stm32/mboot: Enable USB sleep clock for STM32N6.
Jul 30, 2026
1a76bc3
stm32/boards/OPENMV_N6: Fix MICROPY_HW_USRSW_PIN to use pyb_pin_SW.
Jul 31, 2026
2af2def
extmod/vfs: Specify new MP_VFS_ROM_IOCTL_GET_MIN_PREPARE function.
Jun 16, 2026
6ab7248
alif/vfs_rom_ioctl: Implement 4-arg WRITE_PREPARE and GET_MIN_PREPARE.
Jun 16, 2026
61d11a4
samd/samd_flash: Implement 4-arg WRITE_PREPARE and GET_MIN_PREPARE.
Jun 16, 2026
768bc8f
stm32/flash: Implement flash_get_max_sector_size helper function.
Jun 16, 2026
aef0403
stm32/vfs_rom_ioctl: Implement 4-arg WRITE_PREPARE and GET_MIN_PREPARE.
Jun 16, 2026
f777bc7
tools/mpremote: Implement incremental preparation for romfs deploy.
Jun 16, 2026
4f2c101
github/workflows: Bump actions/setup-python from 6 to 7.
Jul 31, 2026
61b2b4d
docs/psoc-edge/general: Fix product name typo.
Jul 28, 2026
6b3a468
docs/psoc-edge/quickref: Add link to latest dev fork.
Jul 28, 2026
06bcfd5
webassembly/main: Fix unused-variable build error in standard.
Jul 28, 2026
d9f669a
py/modmicropython: Support scheduling a KeyboardInterrupt from Python.
Jul 14, 2026
f623433
py/mpz: Fix 3-arg pow() with zero base and zero exponent.
Jul 21, 2026
ff318fa
py/mpz: Fix 3-arg pow() with zero exponent and negative modulus.
Jul 22, 2026
2210d28
py/emitnative: Do not clobber source register in unary operations.
Jul 23, 2026
5f2181f
py/gc: Track the min/max of the entire heap area when using split heap.
Jul 22, 2026
916f042
docs/rp2: Update general and PIO docs for RP2350 support.
Jan 17, 2026
af6ec91
docs: Improve micropython.const() documentation and consistency.
Jan 21, 2026
c78230b
docs/rp2/quickref: Add REPL over UART information.
Mar 7, 2026
0ee1eba
docs/reference/mpremote: Clarify how the run command treats main.py.
May 17, 2026
1645d3d
docs/library/machine: Clarify Signal constructor with inverted pins.
May 30, 2026
aee96a0
docs/esp32/quickref: Add config for ESP32-WROOM-32UE with KSZ8863 LAN.
Aug 3, 2026
fe22d57
docs/esp8266: Clarify flashing ESP8266 devices with >4 MB flash.
Jun 7, 2026
30f4b9a
esp8266/boards: Add note on flashing boards with >4MiB flash.
Jun 7, 2026
514eb3d
tests/README: Explain how to create cpydiff tests.
Aug 9, 2026
73080ef
pyproject.toml: Make ruff aware of MicroPython builtins.
Jul 21, 2026
3a89fc2
extmod/vfs_posix: Fix renaming with a non-empty VFS root.
Jul 31, 2026
0f8f60e
mpy-cross/mpconfigport: Use setjmp GC helper on macOS for Intel.
Jul 17, 2026
b006887
unix/mpconfigport: Use setjmp GC helper on macOS for Intel.
Jul 17, 2026
cfae255
esp32: Fix virtual timers on ESP32-C3.
Jul 30, 2026
7d7ac1c
tests/extmod/machine_timer: Add support for ESP32-C2.
Jul 30, 2026
3e89243
esp32/boards/esp32-p4: Support pre-v3 chip revisions as variants.
Jul 31, 2026
6f97ed8
esp32/machine_sdcard: Make default SDMMC pins board-configurable.
Jul 28, 2026
ba65ef0
esp32/boards/SEEED_XIAO_ESP32S3: Use native SD/MMC for the microSD.
Jul 28, 2026
2aa3966
esp32: Note CONFIG_SPI_FLASH_ROM_IMPL may cause cache error / MMU fault.
Jul 15, 2026
1345700
esp32: Only disable hardware timers that were previously enabled.
Jul 30, 2026
a1aae8d
esp32/boards: Fix ineffective ESP-Hosted WiFi buffer config.
Aug 7, 2026
83f92d5
extmod/network_wiznet5k: Avoid hardcoded socket count.
Aug 10, 2026
8356e67
extmod/mbedtls: Enable PEM parsing in common mbedTLS config.
Jul 31, 2026
e9236f2
tests/net_inet: Add test for tls loading a PEM certificate.
Jul 31, 2026
817b66b
docs/library/ssl: Mention that PEM certificates are now supported.
Aug 12, 2026
1538006
docs: Add ROMFS documentation.
Aug 10, 2026
8f6fe0d
stm32/uart: Add missing UART 11 and 12 and Flow Control.
Aug 6, 2026
764ff23
stm32/boards/NUCLEO_H563ZI: Add USART11, UART12 to mpconfigboard.h.
Aug 6, 2026
1827631
stm32/mpu: Reuse MPU_ATTRIBUTES_NUMBER0 for all non-cacheable uses.
Aug 5, 2026
c5d5e71
stm32/boards/NUCLEO_H723ZG: Enable MICROPY_HW_ENABLE_RNG.
Aug 5, 2026
798a61a
stm32/mpconfigport: Only enable RANDOM_SEED_INIT_FUNC if hw RNG avail.
Aug 5, 2026
7750bf8
stm32/mphalport: Only build mp_hal_get_random if hardware RNG available.
Aug 5, 2026
370d4ed
stm32/rng: Remove PRNG implementation of rng_get.
Aug 5, 2026
7a6c654
stm32/rng: Rename rng_get to mp_hal_get_hw_random_u32.
Aug 12, 2026
240240e
stm32/rng: Raise an exception if hardware RNG fails.
Aug 12, 2026
9e64b04
stm32/mpu: Support STM32F412 MCUs.
Jun 24, 2026
43efed3
stm32/boards/GARATRONIC_PYMATE_CORE8ADI8DOSC: Add new Garatronic board.
Jun 24, 2026
6bde1b5
shared/tinyusb: Use new static config for TX persistence.
Aug 12, 2026
791ba6e
lib/tinyusb: Update tinyusb submodule to MicroPython's fork.
Aug 12, 2026
2e3304a
shared/runtime/pyexec: Don't execute empty line in event driven REPL.
Aug 7, 2026
60c81a0
alif/modmachine: Reserve 16 bytes of backup SRAM for system use.
Aug 4, 2026
1f042fd
alif/modmachine: Implement the 5 states of machine.reset_cause.
Aug 4, 2026
9b2d80c
examples/rp2: Add PIO example for quadrature encoding.
Feb 13, 2021
537c2db
tests/multi_exmod/machine_can_05: Fix test setup race.
Aug 13, 2026
6adb278
qemu/mcu/arm: Refactor Cortex-M targets linkerscript.
Jul 26, 2026
61e751f
qemu/mcu/riscv: Refactor RISC-V targets linkerscript.
Jul 26, 2026
5d01396
stm32/boards/OPENMV_N6: Add a name for the camera FSYNC pin.
Aug 18, 2026
14ba594
alif/boards/OPENMV_AE3: Add a name for the camera FSYNC pin.
Aug 18, 2026
7de32aa
py/runtime: Ignore AttributeError when looking up __all__.
Aug 13, 2026
5d68d70
tests/extmod/vfs_basic.py: Tweak test to support namedtuple stat result.
Aug 17, 2026
0cf6f38
lib/micropython-lib: Update submodule to latest.
Aug 17, 2026
f86bd73
shared/tinyusb: Add USB Network (NCM) TinyUSB integration.
Jun 21, 2025
1c3c201
extmod: Add USB Network (NCM) driver implementation.
Jun 21, 2025
0fd6c57
all: Bump version to 1.29.0.
Aug 24, 2026
34f8568
all: Bump version to 1.30.0-preview.
Aug 25, 2026
0c9b385
esp32/main: Execute _boot.py via MICROPY_BOARD_FROZEN_BOOT_FILE.
Jan 6, 2024
b9ebb3e
esp32/machine_sdcard: Move SDMMC default slot/width defines to header.
Aug 14, 2026
4eb7e13
esp32/boards/ESP32_GENERIC_P4: Set default SDMMC slot and bus width.
Aug 14, 2026
8cf130d
esp32/modmachine: Use popcount to count wake pins.
Aug 14, 2026
3bd102d
esp32: Make ESP-IDF v5.5.5 the recommended version.
Jul 29, 2026
4d80ff0
tools/ci: Restore esp32 lockfiles when changing branches.
Jul 30, 2026
24a83ae
esp32: Remove non-functional ESP32.LDO.__del__().
Aug 19, 2026
f668077
esp32: Make esp32.LDO objects static, release on soft reset.
Aug 19, 2026
e6199ab
tools/mpremote: Flush stdout before writing unbuffered data.
Aug 12, 2026
62db8d4
tools/mpremote: Get test_resume passing on targets with shorter errors.
Aug 12, 2026
2ee0555
tools/mpremote: Skip various tests when the target cannot run them.
Aug 12, 2026
117e9fa
tools/mpremote: Ensure test_eval_exec_run has access to /tmp/run.py.
Aug 12, 2026
15ee8d4
zephyr/boards/frdm_mcxn947: Enable on-board flash FS and MikroBus SPI.
Aug 2, 2026
5b8c6d0
zephyr/boards: Update Bouffalolab boards.
Aug 13, 2026
7e85239
zephyr/boards: Add Pine64 PineCone board.
Aug 13, 2026
4d160b7
zephyr/boards: Add Ai-Thinker Ai-M64P-32S-Kit board.
Aug 13, 2026
47e9329
zephyr: Streamline and Fix Console terminal.
Aug 15, 2026
3dfb03e
zephyr: Introduce Zephyr displays API.
Aug 16, 2025
3db2704
docs: Add zephyr.Display documentation.
Aug 14, 2026
cf63249
py/objset: Allow intersection() to take multiple sets as args.
Sep 9, 2024
2497366
py/objdict: Make OrderedDict.fromkeys return an OrderedDict.
Aug 23, 2026
3ad3d91
py/objtype: Validate that __len__ returns an int.
Aug 24, 2026
d89c63c
py/objarray: Update slice data only if necessary.
Aug 27, 2026
8162451
tests/extmod/machine_mem_backup: Add slice read/write test.
Aug 27, 2026
336427f
tools/mpremote: Keep interpreter state between commands by default.
Jun 13, 2025
8cb7558
rp2/boards: Extend SEEED_XIAO_RP2040 to support new Plus boards.
May 21, 2026
852a751
esp32: Fix USB Serial/jTAG 64-byte tx race triggering stalled input.
Aug 27, 2026
e515ce2
tests/serial_test: Allow more time for soft reset of board.
Aug 27, 2026
5d592bd
esp32/usb_serial_jtag: Fix tick overflow issue in timeout.
Aug 27, 2026
1391a63
shared/runtime/softtimer: Use volatile instead of the CMSIS __IO macro.
Aug 13, 2026
b2feefd
qemu/mphalport: Add a Cortex-M atomic section.
Jul 26, 2026
0c5b006
qemu/mphalport: Service pending events during mp_hal_delay_ms.
Jul 26, 2026
d45ae38
qemu/ticks: Dispatch soft timers via PendSV.
Jul 26, 2026
2d690c7
qemu/lan9118: Add LAN9118 Ethernet controller driver.
Jul 26, 2026
51e5b45
qemu: Add full networking support.
Jul 26, 2026
29b7215
qemu/boards/MPS3_AN547: Enable Ethernet networking.
Jul 26, 2026
786e353
qemu/boards/MPS2_AN500: Enable Ethernet networking.
Jul 28, 2026
efa5acd
tools/ci: Fetch the lwip submodule for the qemu MPS2_AN500 build.
Jul 28, 2026
0ff4025
renesas-ra/mpnetworkport: Simplify soft timer (re)initialisation.
Aug 7, 2026
6e79dcf
extmod/modlwip: Poll the stack while waiting for TCP send memory.
Aug 16, 2026
7dc2b64
extmod/extmod.cmake: Fix a warning when building btree with cmake.
Aug 20, 2026
414229c
ports: Rename stray board readme/README files to board.md.
Aug 28, 2026
023c1e8
tests/multi_extmod: Enable and adapt test 04/05 for Alif boards.
Jun 20, 2026
7ce92d6
docs/library/machine.CAN: Remove two Alif restriction notes.
Jul 18, 2026
bb4fb14
alif/main: Replace printf() by mp_printf() in main.c's __assert_func().
Jul 30, 2026
bc1f9e4
alif/machine_can: Implement a software TX queue.
Jun 18, 2026
973be50
alif: Make the CYW43 WL_IRQ level sensitive.
Aug 16, 2026
fd98f27
alif: Run the CYW43 SPI bus at 32MHz.
Aug 16, 2026
0a1dfd4
alif/lwip_inc: Increase TCP buffers.
Aug 16, 2026
7f8aa2d
alif/Makefile: Allow build to work with spaces in the path.
Aug 28, 2026
a3b83af
stm32/eth: Program the RX DMA burst length on STM32N6.
Aug 15, 2026
fedc4c9
stm32/eth: Raise the AXI outstanding-request limits on STM32N6.
Aug 15, 2026
048d340
stm32/eth: Skip software RX checksum verification on STM32N6.
Aug 15, 2026
dc1858a
stm32/mpu: Reset the MPU to a clean state before configuring it.
Aug 15, 2026
2c41b40
stm32/lwip_inc: Increase the STM32N6 TCP receive window.
Sep 4, 2026
fc42b11
mimxrt/lwip_inc: Use full-size TCP segments and windows.
Sep 4, 2026
89d350e
stm32/rtc: Select the RTC prescalers at runtime by RTC clock source.
Sep 3, 2026
14e9793
stm32/boards: Use LSI-matched RTC prescalers on Arduino boards.
Sep 3, 2026
05a32fa
rp2: Fix permanent "core1 in use" error if OOM.
Sep 2, 2026
ce938dc
samd/boards: Extend SEEED_XIAO_SAMD21 to support new Plus board.
May 21, 2026
fde5628
zephyr: Expose zepyhr regulator api.
Jan 23, 2026
9704681
zephyr/machine_timer: Protect the timer list from concurrent access.
Sep 2, 2026
0414173
shared/tinyusb: Add back runtime CDC config for older TinyUSB.
Aug 26, 2026
fc90290
tests: Fix comparing performance with run-perfbench.
Sep 5, 2026
52b5fbc
tools/mpy-tool.py: Improve qstr printing in disassembly.
Sep 6, 2026
cc12057
rp2: Keep machine.RTC ticking while in lightsleep().
Sep 10, 2026
b0310f5
esp32/boards/SEEED_XIAO_ESP32C5: Use 0x2000 as the flash offset.
Sep 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
36 changes: 36 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -1,3 +1,39 @@
# all: Apply code formatting to new paths.
48c7daaa3d7068c127c5bc395ffa72029ab9bba1

# all: Prune trailing whitespace.
dda9b9c6da5d3c31fa8769e581a753e95a270803

# all: Remove the "STATIC" macro and just use "static" instead.
decf8e6a8bb940d5829ca3296790631fcece7b21

# renesas-ra: Fix spelling mistakes found by codespell.
b3f2f18f927fa2fad10daf63d8c391331f5edf58

# all: Update Python formatting to ruff-format.
bbd8760bd9a2302e5abee29db279102bb11d7732

# all: Fix various spelling mistakes found by codespell 2.2.6.
cf490a70917a1b2d38ba9b58e763e0837d0f7ca7

# all: Fix spelling mistakes based on codespell check.
b1229efbd1509654dec6053865ab828d769e29db

# top: Update Python formatting to black "2023 stable style".
8b2748269244304854b3462cb8902952b4dcb892

# all: Reformat remaining C code that doesn't have a space after a comma.
5b700b0af90591d6b1a2c087bb8de6b7f1bfdd2d

# ports: Reformat more C and Python source code.
5c32111fa0e31e451b0f1666bdf926be2fdfd82c

# all: Update Python formatting to latest Black version 22.1.0.
ab2923dfa1174dc177f0a90cb00a7e4ff87958d2

# all: Update Python formatting to latest Black version 21.12b0.
3770fab33449a5dadf8eb06edfae0767e75320a6

# tools/gen-cpydiff.py: Fix formatting of doc strings for new Black.
0f78c36c5aa458a954eed39a46942209107a553e

Expand Down
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,19 @@

# These are binary so should never be modified by git.
*.a binary
*.FLM binary
*.ico binary
*.png binary
*.jpg binary
*.dxf binary
*.mpy binary
*.der binary
*.bin binary

# These should also not be modified by git.
tests/basics/string_cr_conversion.py -text
tests/basics/string_crlf_conversion.py -text
tests/micropython/test_normalize_newlines.py.exp -text
ports/stm32/pybcdc.inf_template -text
ports/stm32/usbhost/** -text
ports/cc3200/hal/aes.c -text
Expand Down
109 changes: 109 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: Bug report
description: Report a bug or unexpected behaviour
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Please provide as much detail as you can, it really helps us find and fix bugs faster.

#### Not a bug report?

* If you have a question \"How Do I ...?\", please post it on [GitHub Discussions](https://github.com/orgs/micropython/discussions/) or [Discord](https://discord.gg/RB8HZSAExQ) instead of here.
* For missing or incorrect documentation, or feature requests, then please [choose a different issue type](https://github.com/micropython/micropython/issues/new/choose).

#### Existing issue?

* Please search for [existing issues](https://github.com/micropython/micropython/issues) matching this bug before reporting.
- type: input
id: port-board-hw
attributes:
label: Port, board and/or hardware
description: |
Which MicroPython port(s) and board(s) are you using?
placeholder: |
esp32 port, ESP32-Fantastic board.
validations:
required: true
- type: textarea
id: version
attributes:
label: MicroPython version
description: |
To find the version:

1. Open a serial REPL.
2. Type Ctrl-B to see the startup message.
3. Copy-paste that output here.

If the issue is about building MicroPython, please provide output of `git describe --dirty` and as much information as possible about the build environment.

If the version or configuration is modified from the official MicroPython releases or the master branch, please tell us the details of this as well.
placeholder: |
MicroPython v6.28.3 on 2029-01-23; PyBoard 9 with STM32F9
validations:
required: true
- type: textarea
id: steps-reproduce
attributes:
label: Reproduction
description: |
What steps will reproduce the problem? Please include all details that could be relevant about the environment, configuration, etc.

If there is Python code to reproduce this issue then please either:
a. Type it into a code block below ([code block guide](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks)), or
b. Post longer code to a [GitHub gist](https://gist.github.com/), or
c. Create a sample project on GitHub.

For build issues, please provide the exact build commands that you ran.
placeholder: |
1. Copy paste the code provided below into a new file
2. Use `mpremote run` to execute it on the board.
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behaviour
description: |
What did you expect MicroPython to do? If comparing output with CPython or a different MicroPython port/version then please provide that output here.
placeholder: |
Expected to print "Hello World".

Here is the correct output, seen with previous MicroPython version v3.14.159:

> [...]
- type: textarea
id: what-happened
attributes:
label: Observed behaviour
description: |
What actually happened? Where possible please paste exact output, or the complete build log, etc. Very long output can be linked in a [GitHub gist](https://gist.github.com/).
placeholder: |
This unexpected exception appears:

> [...]
validations:
required: true
- type: textarea
id: additional
attributes:
label: Additional Information
description: |
Is there anything else that might help to resolve this issue?
value: No, I've provided everything above.
- type: dropdown
id: code-of-conduct
attributes:
label: Code of Conduct
description: |
Do you agree to follow the MicroPython [Code of Conduct](https://github.com/micropython/micropython/blob/master/CODEOFCONDUCT.md) to ensure a safe and respectful space for everyone?
options:
- "Yes, I agree"
multiple: true
validations:
required: true
- type: markdown
attributes:
value: |
Thanks for taking the time to help improve MicroPython.
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: MicroPython GitHub Discussions
url: https://github.com/orgs/micropython/discussions
about: Community discussion about all things MicroPython. This is the best place to start if you have questions about using MicroPython or getting started with MicroPython development.
- name: MicroPython Documentation
url: https://docs.micropython.org/
about: Documentation for using and working with MicroPython and libraries.
- name: MicroPython Downloads
url: https://micropython.org/download/
about: Pre-built firmware and information for most supported boards.
46 changes: 46 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Documentation issue
description: Report areas of the documentation or examples that need improvement
title: "docs: "
labels: ["documentation"]
body:
- type: markdown
attributes:
value: |
This form is for reporting issues with the documentation or examples provided with MicroPython.

If you have a general question \"How Do I ...?\", please post it on [GitHub Discussions](https://github.com/orgs/micropython/discussions/) or [Discord](https://discord.gg/RB8HZSAExQ) instead of here.

#### Existing issue?

* Please search for [existing issues](https://github.com/micropython/micropython/issues) before reporting a new one.
- type: input
id: page
attributes:
label: Documentation URL
description: |
Does this issue relate to a particular page in the [online documentation](https://docs.micropython.org/en/latest/)? If yes, please paste the URL of the page:
placeholder: |
https://docs.micropython.org/en/latest/
- type: textarea
id: version
attributes:
label: Description
description: |
Please describe what was missing from the documentation and/or what was incorrect/incomplete.
validations:
required: true
- type: dropdown
id: code-of-conduct
attributes:
label: Code of Conduct
description: |
Do you agree to follow the MicroPython [Code of Conduct](https://github.com/micropython/micropython/blob/master/CODEOFCONDUCT.md) to ensure a safe and respectful space for everyone?
options:
- "Yes, I agree"
multiple: true
validations:
required: true
- type: markdown
attributes:
value: |
Thanks for taking the time to help improve MicroPython.
74 changes: 74 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Feature request
description: Request a feature or improvement
labels: ['enhancement']
body:
- type: markdown
attributes:
value: |
This form is for requesting features or improvements in MicroPython.

#### Get feedback first

Before submitting a new feature idea here, suggest starting a discussion on [Discord](https://discord.gg/RB8HZSAExQ) or [GitHub Discussions](https://github.com/orgs/micropython/discussions/) to get early feedback from the community and maintainers.

#### Not a MicroPython core feature?

* If you have a question \"How Do I ...?\", please post it on GitHub Discussions or Discord instead of here.
* Could this feature be implemented as a pure Python library? If so, please open the request on the [micropython-lib repository](https://github.com/micropython/micropython-lib/issues) instead.

#### Existing issue?

* Please search for [existing issues](https://github.com/micropython/micropython/issues) before opening a new one.
- type: textarea
id: feature
attributes:
label: Description
description: |
Describe the feature you'd like to see added to MicroPython. What does this feature enable and why is it useful?

* For core Python features, where possible please include a link to the relevant PEP or CPython documentation.
* For new architectures / ports / boards, please provide links to relevant documentation, specifications, and toolchains. Any information about the popularity and unique features about this hardware would also be useful.
* For features for existing ports (e.g. new peripherals or microcontroller features), please describe which port(s) it applies to, and whether this is could be an extension to the machine API or a port-specific module?
* For drivers (e.g. for external hardware), please link to datasheets and/or existing drivers from other sources.

If there is an existing discussion somewhere about this feature, please add a link to it as well.
validations:
required: true
- type: textarea
id: size
attributes:
label: Code Size
description: |
MicroPython aims to strike a balance between functionality and code size. Can this feature be optionally enabled?

If you believe the usefulness of this feature would outweigh the additional code size, please explain. (It's OK to say you're unsure here, we're happy to discuss this with you.)
- type: dropdown
id: implementation
attributes:
label: Implementation
description: |
What is your suggestion for implementing this feature?

(See also: [How to sponsor](https://github.com/sponsors/micropython#sponsors), [How to submit a Pull Request](https://github.com/micropython/micropython/wiki/ContributorGuidelines).)
options:
- I hope the MicroPython maintainers or community will implement this feature
- I intend to implement this feature and would submit a Pull Request if desirable
- I would like to sponsor development of this feature
multiple: true
validations:
required: true
- type: dropdown
id: code-of-conduct
attributes:
label: Code of Conduct
description: |
Do you agree to follow the MicroPython [Code of Conduct](https://github.com/micropython/micropython/blob/master/CODEOFCONDUCT.md) to ensure a safe and respectful space for everyone?
options:
- "Yes, I agree"
multiple: true
validations:
required: true
- type: markdown
attributes:
value: |
Thanks for taking the time to suggest improvements for MicroPython.
60 changes: 60 additions & 0 deletions .github/ISSUE_TEMPLATE/security.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Security report
description: Report a security issue or vulnerability in MicroPython
labels: ["security"]
body:
- type: markdown
attributes:
value: |
This form is for reporting security issues in MicroPython that are not readily exploitable.

1. For issues that are readily exploitable or have high impact, please email contact@micropython.org instead.
1. If this is a question about security, please ask it in [Discussions](https://github.com/orgs/micropython/discussions/) or [Discord](https://discord.gg/RB8HZSAExQ) instead.

#### Existing issue?

* Please search for [existing issues](https://github.com/micropython/micropython/issues) before reporting a new one.

- type: input
id: port-board-hw
attributes:
label: Port, board and/or hardware
description: |
Which MicroPython port(s) and board(s) are you using?
placeholder: |
esp32 port, ESP32-Duper board.
- type: textarea
id: version
attributes:
label: MicroPython version
description: |
To find the version:

1. Open a serial REPL.
2. Type Ctrl-B to see the startup message.
3. Copy-paste that output here.

If the version or configuration is modified from the official MicroPython releases or the master branch, please tell us the details of this as well.
placeholder: |
MicroPython v6.28.3 on 2029-01-23; PyBoard 9 with STM32F9
- type: textarea
id: report
attributes:
label: Issue Report
description: |
Please provide a clear and concise description of the security issue.

* What does this issue allow an attacker to do?
* How does the attacker exploit this issue?
validations:
required: true
- type: dropdown
id: code-of-conduct
attributes:
label: Code of Conduct
description: |
Do you agree to follow the MicroPython [Code of Conduct](https://github.com/micropython/micropython/blob/master/CODEOFCONDUCT.md) to ensure a safe and respectful space for everyone?
options:
- "Yes, I agree"
multiple: true
validations:
required: true
Loading