Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
6735 commits
Select commit Hold shift + click to select a range
818d6a5
tools/mpy_ld.py: Add support for R_ARM_GOT_PREL relocations.
agatti Jun 5, 2026
eb3ef9f
examples/natmod/btree: Fix building with Clang toolchains.
agatti Jun 6, 2026
99bd05b
examples/natmod/deflate: Fix building with Clang toolchains.
agatti Jun 4, 2026
b343d2e
examples/natmod/features2: Fix building with Clang toolchains.
agatti Jun 5, 2026
1428e58
examples/natmod/framebuf: Fix building with Clang toolchains.
agatti Jun 4, 2026
1454c3e
examples/natmod/re: Fix building with Clang toolchains.
agatti Jun 4, 2026
3fff033
tools/ci.sh: Use an i686 cross-compiler for Unix/x86 bit builds.
agatti Jan 9, 2026
8070534
unix: Remove MICROPY_FORCE_32BIT flag usage.
agatti Jan 9, 2026
13303f8
py/py.mk: Move MICROPY_FORCE_32BIT to the Windows port's Makefile.
agatti Jan 9, 2026
c8e440e
esp32: Add support for ESP32-H2 along with two board definitions.
rafal-kw Jun 4, 2026
b9116c3
tests: Update tests for compatibility with ESP32-H2.
Jun 13, 2026
b1125d7
tools/ci.sh: Build ESP32_GENERIC_H2 as part of esp32 CI.
dpgeorge Jul 6, 2026
6d1c47b
esp32/lockfiles: Add lockfile for ESP32-H2.
dpgeorge Jul 6, 2026
5e19abd
py/mpconfig: Add MICROPY_PY_BUILTINS_BYTES_DECODE_ERRORS.
Josverl Jun 28, 2026
bcde6f5
py/objstr: Implement bytes.decode() 'ignore' and 'replace' modes.
Josverl Jun 28, 2026
770bb3b
py/objstr: Validate encoding for decode and encode.
Josverl Jun 28, 2026
ed90710
py/objstr: Enhance utf-8 character handling in string formatting.
Josverl Jun 28, 2026
70666e7
py/objstr: Fix str_center for Unicode strings.
Josverl Jun 28, 2026
b2b86db
py/objstr: Optimize character handling and encoding validation.
Josverl Jun 28, 2026
641fa01
docs: Document Unicode support and limitations.
Josverl Jun 28, 2026
a6f1149
tests/cpydiff: Document unicode differences.
Josverl Jun 28, 2026
f5283f2
tests/run-tests.py: Specify UTF-8 encoding when opening test files.
Josverl Jun 28, 2026
afc31ce
tests/unicode: Remove known differences from test.
Josverl Jun 28, 2026
79d0896
tests/unicode: Add tests for unicode character formatting.
Josverl Jun 28, 2026
f95cec3
tests/unicode: Test str.center() with Unicode characters.
Josverl Jun 28, 2026
6a03bd9
tests/unicode: Test bytes.decode() and str.encode().
Josverl Jun 28, 2026
23f500a
tests/unicode: Test surrogate characters and memoryview encoding.
Josverl Jun 28, 2026
754cece
tests/unicode: Test unicode str from bytearray and memoryview.
Josverl Jul 1, 2026
f67ab9e
tests/basics: Update t-string test cases for unicode.
Josverl Jun 28, 2026
a7507fb
tests/extmod: Rewrite with unittest select/socket tests that use UDP.
dpgeorge Jun 11, 2026
8f2ed62
tests/extmod: Add .py.exp file for select_poll_eintr test.
dpgeorge Jun 11, 2026
9f7a6df
py/mpconfig: Enable unicode support at the basic feature level.
dpgeorge Apr 30, 2026
6145cc7
docs/reference/unicode_support: Update where unicode is enabled.
dpgeorge Jul 8, 2026
ff2ed49
docs/library/machine: Add port availability notes.
mattytrentini Jun 30, 2026
a5bac1b
webassembly/library: Fix ccall ABI for mp_hal_get_interrupt_char.
o-murphy Jun 26, 2026
b8a9782
esp32/network_lan: Add support for OPENETH LAN PHY.
mzakharo Dec 13, 2024
f71a231
esp32: Add QEMU support for ESP32_GENERIC_C3 board.
mzakharo Dec 18, 2024
8f9f5c5
esp32/network_lan: Add mDNS support for Ethernet interface.
jetpax May 8, 2026
67f7fdd
esp32/boards/ESP32_GENERIC_H2: Disable mDNS.
dpgeorge Jul 13, 2026
5cd4813
stm32/boards/PYBD_SF2: Free up more space in internal flash.
dpgeorge Jul 9, 2026
42a8911
tools/mpy_ld.py: Fix aligned jump target in natmod trampolines.
agatti Jul 9, 2026
99e3706
samd/mcu/samd21/mpconfigmcu: Drop features of the SAMD21 minimal build.
robert-hh Jul 9, 2026
43229ce
tools/ci.sh: Build SPARKFUN_SAMD21_DEV_BREAKOUT firmware in samd CI.
robert-hh Jul 10, 2026
e686426
docs/library/os: Add addendum to sync regarding different ports.
massimosala Jun 20, 2024
5598814
docs/library/machine: Add note about memory reads being signed integers.
massimosala Jun 20, 2024
e1f8f20
tools/{mpremote,pyboard.py}: Add PTY device detection for QEMU.
pi-anl Mar 27, 2026
17f3041
cc3200/ftp: Fix ftp_pop_param buffer overflows.
iCMDdev Oct 13, 2025
1557d83
cc3200/FreeRTOS/Source/queue: Add assert for potential integer overflow.
npt-1707 Jul 13, 2025
fe96314
pyproject.toml: Enforce trailing newline on python files.
pi-anl Jun 3, 2025
99c5fe8
rp2/machine_i2c: Allow disabling hardware I2C.
PepperoniPingu Jun 13, 2025
37f9ecf
rp2/machine_spi: Allow disabling hardware SPI.
PepperoniPingu Jun 13, 2025
f309e01
rp2/mpconfigport: Allow board definition of float implementation.
PepperoniPingu Jun 13, 2025
89e2c00
rp2/mpconfigport: Allow board definition of GC stack entry type.
PepperoniPingu Jun 13, 2025
fc6402f
rp2/mpconfigport: Allow disabling software I2C.
PepperoniPingu Jun 13, 2025
532428c
rp2/mpconfigport: Allow disabling I2S.
PepperoniPingu Jun 13, 2025
67524d6
esp32/machine_timer: Use GPTimer and ESP Timer, support virtual timers.
DvdGiessen Apr 28, 2026
96de72d
esp32/machine_timer: Remove deinit_all because timers have finalisers.
DvdGiessen Apr 29, 2026
4d68c16
tests/extmod/machine_timer: Enable virtual timer tests for all ports.
DvdGiessen Jul 3, 2026
c891536
esp32/machine_uart: Default to virtual timer for RXIDLE.
DvdGiessen Apr 29, 2026
ca8bceb
esp32/build: Support building against IDFv5.4.3.
DvdGiessen May 5, 2026
833ad9f
esp32/machine_sdcard: Make default SPI pins board-configurable.
pavelrevak Jul 1, 2026
c808ad2
esp32/boards: Add default SD card SPI pins to boards with an SD slot.
pavelrevak Jul 1, 2026
8c86232
stm32/boards/ARDUINO_PORTENTA_H7: Add high-density pin names.
loopback Apr 1, 2024
501fb91
stm32/octospi: Add memory-mapped feature to OCTOSPI.
yn386 Aug 2, 2025
af2c479
stm32/rng: Add retry process for RNG.
yn386 Aug 2, 2025
f6b148a
stm32/boards/WEACTSTUDIO_MINI_STM32H723: Add WeAct H723VG board support.
yn386 Aug 2, 2025
003ba9b
extmod/machine: Add machine.mem_backup function.
pi-anl Apr 18, 2026
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
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