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