Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5855 commits
Select commit Hold shift + click to select a range
559eb7c
zephyr/CMakeLists.txt: Fix FS config options being ignored.
VynDragon Oct 1, 2025
a40aba3
zephyr/boards: Setup rpi_pico to use Zephyr FS instead of MPY FS.
VynDragon Oct 1, 2025
0ebaad2
zephyr/modules: Add Zephyr FileSystem support to _boot.py.
VynDragon Oct 25, 2025
c07fda7
docs/mimxrt/pinout: Use Dxx pin identifiers for Teensy boards.
robert-hh Nov 15, 2025
48d96b4
py/builtinimport: Support relative import in custom __import__ callback.
zsquareplusc Nov 30, 2020
4593843
extmod/asyncio: Pass globals in __import__ call.
zsquareplusc Dec 1, 2020
1284203
py/objdict: Implement bool and len unary ops for dict views.
dpgeorge Nov 19, 2025
7a15c97
docs/library/os: Clarify ilistdir tuples size element.
alectric-tr Nov 19, 2025
40df953
rp2: Fix RP2350 and RP2350B pin alt functions.
Gadgetoid Jul 16, 2025
5b3c928
unix/main: Use standard pyexec REPL for unix and windows ports.
andrewleech Oct 25, 2023
3b2b8dd
shared/runtime/pyexec: Set __file__ for file input when enabled.
pi-anl May 26, 2025
7b3a0fc
shared/runtime/pyexec: Provide support for compile-only mode.
pi-anl May 26, 2025
7ac8fcf
unix: Enable compile-only mode with shared pyexec REPL.
pi-anl May 26, 2025
e067d96
tests/run-tests.py: Add general newline normalization function.
pi-anl May 26, 2025
e06ac9c
unix/main: Replace execute_from_lexer with pyexec in do_file and do_str.
pi-anl Jul 22, 2025
fd1ddc3
shared/runtime/pyexec: Call mp_hal_stdio_mode_orig/raw as appropriate.
dpgeorge Oct 8, 2025
5f815b8
unix: Enable exit code handling for sys.exit().
pi-anl Nov 5, 2025
a686410
shared/runtime/pyexec: Set PYEXEC_FORCED_EXIT flag for SystemExit.
pi-anl Nov 5, 2025
db8273d
shared/tinyusb: Add macro to override TinyUSB callbacks.
iabdalkader Nov 21, 2025
c9af4e1
tools/mpy-tool.py: Add Compiler Explorer JSON output.
AJMansfield Nov 9, 2025
25dde83
nrf/drivers/usb: Provide macros for nrf errata.
dpgeorge Nov 12, 2025
7059e07
lib/tinyusb: Update to version 0.19.0-24.
dpgeorge Nov 12, 2025
207562d
shared/tinyusb: Remove macro guard for tx_overwritabe_if_not_connected.
dpgeorge Nov 17, 2025
be8d5fc
esp32/README: Update the README details to account for newer chips.
projectgus Jul 29, 2025
de2ace7
esp32/modespnow: Fix espnow rate setting.
projectgus Nov 19, 2025
7e10d22
esp32,docs: Add constants and documentation for espnow data rates.
projectgus Nov 20, 2025
938e2c0
tests/multi_espnow: Add test case for espnow rate changes.
projectgus Nov 20, 2025
c22ff43
github/workflows: Bump actions/checkout from 5 to 6.
dependabot[bot] Nov 20, 2025
d1caa9d
unix/modsocket: Add IP ADD and DROP MEMBERSHIP to socket constants.
alectric-tr Nov 22, 2025
4633d2a
tools/ci.sh: Add zsh and fish shell completion support.
agatti Nov 19, 2025
1c47db3
docs/library: Document OrderedDict.popitem()'s CPython differences.
Josverl Nov 6, 2025
9b3b3a5
docs/library: Fix typos under I2CTarget irq method description.
alectric-tr Nov 25, 2025
d5ad2cd
docs/library: Add machine.DAC documentation.
mattytrentini Sep 2, 2025
bd111cc
zephyr: Allow a custom dts.
VynDragon Nov 20, 2025
3d9a3e8
zephyr: Add support for GC split-heap.
VynDragon Oct 25, 2025
65f994e
py/compile: Allow NULL emitter table entries.
agatti Nov 4, 2025
6b661ca
github/workflows: Test mpy-cross debug emitter.
agatti Nov 5, 2025
b087cb4
stm32/mpconfigboard_common: Define TinyUSB MCU type for N6.
iabdalkader Nov 24, 2025
cad9bb3
stm32: Add support for STM32F469xx MCUs.
miketlk Oct 13, 2025
b4d546d
stm32/boards/STM32F469DISC: Add new board definition files.
miketlk Oct 13, 2025
22cff2f
stm32/boards/STM32F469DISC: Add board.json file.
dpgeorge Nov 27, 2025
9b73e34
stm32/boards/WEACTSTUDIO_MINI_STM32H743: Add WeAct H743VI board support.
yn386 Jul 25, 2025
14b5080
shared/tinyusb: Add optional port-specific hook on USBD init.
dpgeorge Nov 27, 2025
f43810b
stm32/usbd_conf: Clean up USBD hardware initialization functions.
dpgeorge Nov 27, 2025
63c94fe
stm32: Fix init sequence of USB hardware and TinyUSB stack.
dpgeorge Nov 27, 2025
41acdd8
stm32/rtc: Make sure RTC is using LSE on N6 MCUs.
dpgeorge Nov 26, 2025
9c2b0cd
stm32/usbd_conf: Fix build for boards with USB disabled.
dpgeorge Nov 29, 2025
f63e64f
tools/ci.sh: Install latest ARM toolchain for stm32 CI.
dpgeorge Nov 29, 2025
2fbd72a
tools/ci.sh: Build all stm32 MCU families in stm32 CI functions.
dpgeorge Oct 13, 2025
83131c1
pyproject.toml: Update ruff configuration to target Python 3.8.
Josverl Nov 18, 2025
521b2f8
shared/tinyusb: Remove USBD_RHPORT constant.
projectgus Nov 21, 2025
604cda5
esp32: Support building with network and/or bluetooth disabled.
projectgus Nov 21, 2025
e6f1f78
esp32: Add support for ESP32-P4.
Vincent1-python Aug 15, 2025
50a06b6
esp32/boards/ESP32_GENERIC_P4: Add board definition for ESP32P4.
Vincent1-python Aug 15, 2025
eb5d89c
esp32/usb_serial_jtag: Flush usb_serial_jtag TXFIFO from ISR.
projectgus Nov 20, 2025
ff7f744
py/emitglue: Add hook for RV32 arch to flush D-cache for native emitter.
dpgeorge Nov 30, 2025
bdf7613
esp32/mphalport: Enable D-cache flushing on P4 for native code.
dpgeorge Nov 30, 2025
7357fc5
esp32/boards/SOLDERED_NULA_MINI: Add new board definition.
JosipKuci Sep 18, 2025
bfacf82
rp2/boards/WEACTSTUDIO_RP2350B_CORE: Add board.pinout.
mattytrentini Apr 25, 2025
8dc05cd
rp2/main: Add guard around machine_i2s_init0().
dlech Nov 25, 2025
1ef76c7
rp2: Add HSTX alternate function.
sfe-SparkFro Nov 21, 2025
b24c9cf
rp2/rp2_dma: Properly close DMA channels.
sfe-SparkFro Nov 24, 2025
2db2f53
rp2/rp2_pio: Fix support for pin wrapping and RP2350B upper-bank pins.
AJMansfield Mar 21, 2025
e6a7dc1
rp2/mpconfigport: Enable MD5, SHA1 and cryptolib on all boards.
dpgeorge Nov 30, 2025
797925c
esp32: Fix board images for ESP32_GENERIC_[C2|C5|P4].
projectgus Dec 2, 2025
a94f811
esp32/boards/ESP32_GENERIC_P4: Add variants to board.json and .md files.
dpgeorge Dec 2, 2025
5ea9a26
esp32: Don't disable component manager when updating submodules.
projectgus Dec 3, 2025
0b1a6be
docs/library/machine.Timer: Explain the id parameter in more detail.
projectgus Nov 5, 2025
3f796b6
tools/autobuild: Make firmware destination directory configurable.
dpgeorge Dec 3, 2025
37bac07
tests/serial_test.py: Factor common reset code into send_script func.
dpgeorge Nov 11, 2025
9939eae
tests/serial_test.py: Add a serial echo test.
dpgeorge Nov 11, 2025
d357eff
tests/net_inet: Update micropython.org certificate for SSL tests.
dpgeorge Dec 2, 2025
d3391b7
py/asmbase: Cast prior to bitwise invert when the type is widened.
dpgeorge Dec 5, 2025
4538599
py/emitinlinerv32: Change mask arg of is_in_signed_mask to uint32_t.
dpgeorge Dec 5, 2025
8406126
py/builtinhelp: Don't print removed sentinel entries.
AJMansfield Dec 5, 2025
c25667f
tests/basics/builtin_help.py: Test correct handling of deleted entries.
AJMansfield Dec 5, 2025
4d7c2fd
stm32/system_stm32: Fix clock config for STM32G4.
yn386 Dec 7, 2025
504adc6
stm32/boards/NUCLEO_G474RE: Restore disabled modules on g474re.
sanbeg Dec 6, 2025
365cdb6
esp32/boards: Enable ESP32P4_REV_MIN_0 option for P4 boards.
dpgeorge Dec 4, 2025
7702f7f
esp32/main: Update esp_hosted component to latest version 2.7.0.
dpgeorge Dec 7, 2025
2bd337e
lib/micropython-lib: Update submodule to latest.
dpgeorge Dec 4, 2025
78ff170
all: Bump version to 1.27.0.
dpgeorge Dec 9, 2025
099cc9f
all: Bump version to 1.28.0-preview.
dpgeorge Dec 14, 2025
9274f80
esp32/boards/ESP32_GENERIC_S3: Reinstate old FLASH_4M variant.
dpgeorge Dec 10, 2025
5305285
esp8266/boards/ESP8266_GENERIC: Remove OTA board variant.
dpgeorge Dec 10, 2025
b78fac1
tests/ports/esp32/check_err_str.py: Preallocate global variable.
dpgeorge Dec 10, 2025
ef567dc
tests/basics/string_fstring.py: Test fstring nested replacement fields.
jepler Nov 30, 2025
750a366
tests/run-tests.py: Skip list sort stress test for ESP8266.
agatti Dec 10, 2025
dbf59db
tests/extmod/vfs_blockdev_invalid.py: Handle low memory conditions.
agatti Dec 10, 2025
9c9b996
tests/target_wiring: Provide an ESP8266 target wiring module.
agatti Dec 17, 2025
8b8cd82
py/misc: Remove unused mp_check function.
jepler Nov 28, 2025
50a5fe0
docs/library/network.WLAN: Fix typo for ESP32 protocol constants.
Dec 9, 2025
e67d4a2
esp32/machine_sdcard: Fix SDMMC slot assignment for non-default slots.
Dec 16, 2025
f0895f0
py/emitnative: Optimise register clearing.
agatti Nov 4, 2025
cb9d8fc
tests/run-tests.py: Discover RV32 extension inlineasm tests.
agatti Oct 28, 2025
d938d5a
qemu/Makefile: Allow usage of a custom QEMU binary to run code.
agatti Nov 10, 2025
1df8651
py/asmrv32: Reserve a flag for the Zcmp RV32 CPU extension.
agatti Oct 28, 2025
7a69b2d
py/asmrv32: Use Zcmp opcodes for function prologues and epilogues.
agatti Nov 10, 2025
0809639
rp2/mpconfigport: Enable Zcmp opcodes for RP2350 in RV32 mode.
agatti Nov 10, 2025
ec5f2bc
rp2/CMakeLists.txt: Set the appropriate mpy-cross flags on all targets.
agatti Nov 10, 2025
6341258
esp32/mpconfigport: Enable Zcmp opcodes for ESP32P4.
agatti Dec 11, 2025
b0f3ecd
py/persistentcode: Decouple native code loading from emitters' presence.
agatti Dec 20, 2025
5ae928a
py/persistentcode: Detect the target architecture from compiler defines.
agatti Dec 19, 2025
9e9da6c
py/emitglue: Flush caches when loading native code without emitters.
agatti Dec 20, 2025
2b82f51
unix/alloc: Map executable memory for code loading when needed.
agatti Dec 20, 2025
ecf8873
qemu/Makefile: Allow overriding the test natmods list.
agatti Dec 20, 2025
14ea6d7
esp8266/modesp: Allocate executable memory when needed.
agatti Dec 20, 2025
14152e7
nrf/main: Allocate executable memory when needed.
agatti Dec 20, 2025
7173dde
tests/run-natmodtests.py: Explicitly open prelude file.
agatti Dec 20, 2025
8fb848f
mpy-cross/mpconfigport: Explicitly disable native code loading.
agatti Dec 22, 2025
984027b
tools/mpy_ld.py: Fix R_RISCV_GOT32_PCREL handling.
agatti Nov 17, 2025
1f67289
tools/mpy_ld.py: Fix handling of R_RISCV_TLSDESC_LOAD_LO12.
agatti Dec 30, 2025
e939d3e
tools/mpy_ld.py: Add RV64 natmod support.
agatti Nov 17, 2025
9af1033
qemu: Enable loading natmods on RV64.
agatti Nov 17, 2025
d44685e
unix/mpconfigport: Enable natmod loading for RISC-V builds.
agatti Jan 1, 2026
d871c97
tools/ci.sh: Run natmod tests as part of CI for Unix/RV64.
agatti Jan 1, 2026
b857a91
mimxrt: Add support for VfsRom filesystem.
robert-hh Nov 21, 2024
c07b178
samd: Add support for VfsRom filesystem for SAMD21 and SAMD51.
robert-hh Nov 19, 2024
cee9506
renesas-ra: Add support for VfsRom filesystem.
robert-hh Dec 11, 2024
6105520
nrf: Add support for VfsRom filesystem.
robert-hh Nov 25, 2024
049cdd0
cc3200/mods/pybpin: Reduce footprint of AF pin structures.
agatti Nov 14, 2025
8bda61a
mimxrt/pin: Reduce footprint of pin structures.
agatti Nov 14, 2025
fb8ecae
renesas-ra/pin: Reduce footprint of pin structures.
agatti Nov 14, 2025
31deee9
rp2/machine_pin: Reduce footprint of pin structures.
agatti Nov 14, 2025
6572ce8
samd/pin_af: Reduce footprint of pin structures.
agatti Nov 14, 2025
11861e9
nrf/modules/machine/pin: Reduce footprint of pin structures.
agatti Nov 15, 2025
d468ccc
extmod/modopenamp: Rework trace buffer setup procedure.
agatti Nov 30, 2025
3980a0c
py/misc: Add byte-swapping macros.
agatti Dec 7, 2025
678dbd2
alif/Makefile: Do not hardcode the python interpreter name.
agatti Dec 30, 2025
2554e41
alif/Makefile: Enable job server support on Ubuntu LTS.
agatti Dec 30, 2025
ab5f47c
alif/ospi_flash: Remove workaround for P10_7 OSPI pinmux issue.
iabdalkader Dec 6, 2025
1174dda
alif/boards/OPENMV_AE3: Update romfs partition size.
iabdalkader Dec 20, 2025
75eb197
alif/boards/OPENMV_AE3: Make JTAG pins controllable as GPIOs.
kwagyeman Dec 28, 2025
1947759
renesas-ra/boards/ARDUINO_PORTENTA_C33: Increase TinyUSB queue size.
iabdalkader Dec 23, 2025
2cb41ff
github/workflows: Bump actions/upload-artifact from 4 to 6.
dependabot[bot] Dec 12, 2025
99c59fa
github/workflows: Bump actions/cache from 4 to 5.
dependabot[bot] Dec 12, 2025
0aa6115
github/workflows: Introduce and use ci_esp32_idf_ver helper.
jepler Oct 9, 2025
6c7edce
github/workflows: Add esp32 to code size report.
jepler Oct 8, 2025
569ebaa
tools/ci.sh: Put embedding build rules in ci.sh.
jepler Nov 28, 2025
6dea53c
tools/ci.sh: Update Unix/MIPS target to Ubuntu 24.04 LTS.
agatti Jan 2, 2026
16844bb
tools/ci.sh: Update Unix/Arm target to Ubuntu 24.04 LTS.
agatti Jan 2, 2026
31fe865
tools/ci.sh: Use CPython 3.11 for Unix/RV64.
agatti Jan 5, 2026
26c1696
github/workflows: Use same Ubuntu for code_size as ports_esp32.
jepler Jan 6, 2026
21e4c03
tools/ci.sh: Update Unix/x86 target to Ubuntu 24.04 LTS.
agatti Jan 7, 2026
0fd0843
tools/mpy_ld.py: Optimise MPY trampoline sizes if possible.
agatti Nov 21, 2025
b87d73f
tools/mpy_ld.py: Write architecture flags to output natmod if needed.
agatti Nov 28, 2025
83996f0
github/workflows: Bump actions/cache from 4 to 5.
dependabot[bot] Jan 5, 2026
3a487c3
all: Fix spelling of Micropython -> MicroPython.
dpgeorge Sep 11, 2025
e52916d
github/workflows: Add check for misspelling of "MicroPython".
dpgeorge Sep 11, 2025
b105677
esp32/machine_pin: Rename legacy CONFIG_ESP32_SPIRAM_SUPPORT option.
dpgeorge Dec 11, 2025
85a15f9
esp32/machine_uart: Change default UART(1) pins on ESP32 with SPIRAM.
dpgeorge Dec 11, 2025
da6a18f
esp32/esp32_rmt: Update FIXME on RMT module.
elvis-epx Dec 27, 2025
07540a8
esp32/modesp32: Update available RTC pins for ESP32C6.
Jan 1, 2026
e48b985
stm32/main: Enable all AHB5 GRP1 clocks in low power mode.
dpgeorge Dec 17, 2025
bc7d264
stm32/sdcard: Use high speed mode for SD transfers on H5/H7/N6.
dpgeorge Dec 17, 2025
e9bd1e2
stm32: Add support for all STM32F412xx MCUs.
oliver-joos Aug 18, 2021
4e98486
stm32/boards: Add linker script for STMF412xE with 512k flash.
oliver-joos Aug 18, 2021
ee0b5ab
stm32/boards/NUCLEO_H753ZI: Add NUCLEO_H753ZI board support.
oliver-joos Nov 27, 2025
6b13e6c
stm32/boards/NUCLEO_H7x3: Fix st-flash and add openocd configuration.
oliver-joos Dec 14, 2025
230bbbb
stm32/boards/NUCLEO_H7x3: Add UART1, remove UART5, slow down PLL1Q.
oliver-joos Dec 18, 2025
e66a1a3
tests/basics/try_finally: Fix try/finally flow tests under CPython 3.14.
agatti Jan 12, 2026
eae83df
tests/float/math_fun: Fix domain error tests with CPython 3.14.
agatti Jan 15, 2026
b14d129
tests/float/complex1.py: Fix CPython 3.14 deprecation.
agatti Jan 15, 2026
f1363d8
github: Install Python 3.11 for Windows CI runs.
projectgus Jan 22, 2026
b792efc
tests/run-tests.py: Re-add stress_schedule.py for GitHub Actions.
jepler Nov 15, 2025
cfaba32
tests/thread/stress_schedule.py: Decrease backoff time.
jepler Nov 15, 2025
16ccf55
unix/modtime: Handle pending events during sleep(0).
jepler Nov 15, 2025
8e3ee30
unix/unix_mphal: Ensure mp_hal_delay_ms handles pending tasks.
jepler Nov 19, 2025
baf75e2
docs/library: Document that sleep(0)/sleep_ms(0) run the scheduler.
jepler Nov 28, 2025
8248d11
qemu/mphalport: Ensure mp_hal_delay_ms(0) handles pending tasks.
jepler Nov 28, 2025
2782d45
extmod/modselect: Handle pending events before entering poll.
jepler Nov 28, 2025
f387484
tests/micropython: Add new schedule_sleep.py test.
jepler Nov 28, 2025
78ec31b
tests/run-tests.py: Re-enable some asyncio tests for the native emitter.
jepler Dec 1, 2025
f918e33
tests/thread/stress_schedule.py: Remove decorator/inaccurate comment.
jepler Dec 1, 2025
894d7a5
extmod/modlwip: Fix latent bug with partially created socket object.
dpgeorge Aug 20, 2025
33474a6
extmod/modlwip: Adjust logic for determining a listening socket.
dpgeorge Aug 20, 2025
c696ca9
extmod/modlwip: Narrow error_lookup_table type to int8_t.
dpgeorge Dec 11, 2025
a7cd418
extmod/modlwip: Keep TCP data on remote RST.
dpgeorge Aug 19, 2025
25b400f
tests/multi_net/tcp_client_rst.py: Improve and extend test.
dpgeorge Dec 11, 2025
a5bda23
py/emitglue: Check for bytecode with MICROPY_PY_FUNCTION_ATTRS_CODE.
dpgeorge Jan 15, 2026
03f50d3
py/mpconfig: Enable MICROPY_PY_FUNCTION_ATTRS_CODE when marshal enabled.
dpgeorge Jan 15, 2026
384cc62
py/persistentcode: Support saving functions with children.
dpgeorge Jan 15, 2026
878f800
py/objfun: Support __code__ on functions with children.
dpgeorge Jan 15, 2026
93692ca
extmod/modmarshal: Support marshal.dumps of functions with children.
dpgeorge Jan 15, 2026
85e9d75
mimxrt/machine_adc: Initialize LPADC2 for rt117x.
alonbl Aug 9, 2025
2b07661
mimxrt/machine_adc: Support ADC channel groups on rt117x.
alonbl Aug 9, 2025
2a5a8cc
mimxrt/eth: Add DP83867 PHY driver support.
pi-anl Aug 14, 2025
5021137
mimxrt/boards/MIMXRT1170_EVK: Remove obsolete pin defines.
pi-anl Nov 11, 2025
77e62f6
mimxrt/eth: Improve Dual Ethernet configuration.
pi-anl Nov 20, 2025
af88d65
mimxrt: Add ALT11 pin mode support for MIMXRT1176.
APIUM Dec 8, 2025
1b2f6e3
mimxrt: Increase resolution of RTC to 1/32768 seconds.
dpgeorge Jan 15, 2026
be15be3
docs/mimxrt: Add docs for mimxrt.Flash.
pi-anl Nov 24, 2025
af76da9
stm32: Default to --connect-under-reset if flashing via deploy-stlink.
projectgus Dec 18, 2025
96bce47
tests: Factor out common helper functions to separate Python module.
dpgeorge Oct 21, 2025
0e3cc29
mimxrt: Add PSRAM implementation.
sfe-SparkFro Oct 16, 2025
b0feb9c
mimxrt/Makefile: Add CXXFLAGS, and libstdc++ to LDFLAGS.
sfe-SparkFro Oct 17, 2025
cf048e0
lib/nxp_driver: Update mimxrt SDK to MCUX_2.16.100.
pi-anl Apr 1, 2024
0e9e661
mimxrt/machine_uart: Use a wrapper function to handle IRQ idle support.
pi-anl Nov 14, 2024
1046b5d
mimxrt/Makefile: Make board linker scripts configurable.
sfe-SparkFro Jan 30, 2026
023a49c
mimxrt/boards/PHYBOARD_RT1170: Add PHYBOARD-RT1170 board support.
pi-anl Nov 11, 2025
1ecec98
lib/pico-sdk: Update pico-sdk to 2.2.0 release.
peterharperuk Nov 24, 2025
63dbaca
rp2: Add pico_platform_common to sdk components.
peterharperuk Nov 24, 2025
6ce0214
rp2: Remove build patch for Findpioasm.cmake.
peterharperuk Nov 24, 2025
2b4b05a
rp2: Fix linker scripts to match SDK 2.2.0.
peterharperuk Nov 24, 2025
e40d609
tests/multi_net: Skip all ssl/tls tests on axTLS.
dpgeorge Aug 4, 2025
edab53c
tests/multi_net: Use random.getrandbits instead of random.randrange.
dpgeorge Jan 13, 2026
e5f772a
tests/extmod/machine_spi_rate.py: Use target wiring for SPI instances.
dpgeorge Jan 21, 2026
d291a28
tests/target_wiring: Add SPI instance for mimxrt, nrf, renesas-ra, samd.
dpgeorge Jan 21, 2026
cef2538
tests/target_wiring/README: Add README describing target_wiring specs.
dpgeorge Jan 26, 2026
a1d4f62
tests/run-tests.py: Exit with error code 2 if test runner fails.
dpgeorge Feb 1, 2026
f624200
tests/test_utils.py: Abort test if serial port fails at start.
dpgeorge Feb 1, 2026
6436f8b
tests/run-tests.py: Abort test run if enter_raw_repl fails many times.
dpgeorge Feb 1, 2026
60c37a2
py/vstr: Make vstr_ins_byte/char functions inline to reduce code size.
dpgeorge Dec 19, 2025
5f59f39
py/vstr: Add vstr_ins_strn helper function.
dpgeorge Dec 18, 2025
bfb5e77
py/vstr: Don't check for byte_len>0 in vstr_ins_blank_bytes.
dpgeorge Jan 4, 2026
617c7db
py/lexer: Use null char as lexer EOF sentinel.
dpgeorge Dec 22, 2025
7ea88f7
py/lexer: Add support for nested f-strings within f-strings.
dpgeorge Dec 18, 2025
c9f747c
py/lexer: Move f-string completion code to more logical location.
dpgeorge Jan 6, 2026
570744d
py/runtime: Make import-all support non-modules via __dict__/__all__.
dpgeorge Jan 12, 2026
adbdded
ports: Remove incorrect and unnecessary mp_handle_pending declaration.
dpgeorge Jan 12, 2026
2984574
py/runtime: Reorder mp_handle_pending_behaviour_t enum.
dpgeorge Jan 12, 2026
7484598
py/runtime: Rename mp_handle_pending_internal to mp_handle_pending.
dpgeorge Jan 12, 2026
0c7726a
all: Use enum instead of bool argument to mp_handle_pending.
dpgeorge Jan 12, 2026
e07bad9
py/misc: Remove unused CHECKBUF macros.
dpgeorge Jan 13, 2026
cf90c8d
py/objmodule: Move decl of mp_obj_module_get_globals to objmodule.h.
dpgeorge Jan 13, 2026
60fa4ab
py/objfun: Move decl of mp_obj_fun_get_name to objfun.h.
dpgeorge Jan 13, 2026
512da03
py/objfun: Rename mp_obj_fun_get_name to mp_obj_fun_bc_get_name.
dpgeorge Jan 25, 2026
1199015
py/objlist: Move all list helper declarations to objlist.h.
dpgeorge Jan 13, 2026
8c1462b
py/objlist: Make three list helper functions inline.
dpgeorge Jan 25, 2026
90f259f
py/objtuple: Move all tuple helper declarations to objtuple.h.
dpgeorge Jan 13, 2026
71b6a85
py/objtuple: Make mp_obj_tuple_get an inline function.
dpgeorge Jan 25, 2026
b2073a0
py/emitinlinextensa: Refactor handling of selected opcodes.
agatti Dec 10, 2025
53d9004
py/objarray: Avoid double zero init on sized bytearrays.
Gadgetoid Feb 4, 2026
1095bbb
py/objstr: Avoid double zero init on sized bytes.
Gadgetoid Feb 4, 2026
ee99014
tests/run-tests.py: Broaden the check for raw REPL failure.
dpgeorge Feb 6, 2026
ed7bfcb
esp32: Add LDO driver for ESP32-P4.
artemy Dec 17, 2025
a63cc63
esp32/mphalport: Actually read from dupterm in mp_hal_stdin_rx_chr().
smurfix Dec 22, 2025
5e04827
esp32: Increase minimum CMake version to 3.16.
projectgus Jan 22, 2026
3ca2722
esp32: Fix linker errors with CMake <3.25 and libbtree.
projectgus Jan 22, 2026
115f413
docs/library/network.PPP: Document the optional poll() argument.
projectgus Jan 29, 2026
0b150d7
mimxrt/boards/PHYBOARD_RT1170: Update use of mp_handle_pending().
dpgeorge Feb 6, 2026
633a27b
extmod: Ensure stream ioctl's are a no-op for unknown requests.
DvdGiessen Nov 6, 2025
71866ed
py/stream: Use detailed error strings for TLS sockets.
DvdGiessen Oct 13, 2025
3332e1e
py/objzip: Adjust zip iter code to not use mp_obj_tuple_del.
dpgeorge Jan 13, 2026
a2aad14
py/objtuple: Remove unused mp_obj_tulpe_del function.
dpgeorge Jan 13, 2026
1ebeee0
windows: Compile printf.c for the msvc port.
stinos Feb 4, 2026
eaf03bd
py/gc: Trace all marked heads in debug log.
stinos Feb 4, 2026
39d777c
py/gc: Differentiate between root and subtree pointers for debug log.
stinos Feb 4, 2026
dc91fa6
py/misc: Fix truncating cast to char.
stinos Feb 5, 2026
9dcad25
py/emitinlinextensa: Add inline assembler support for windowed cores.
agatti Jan 28, 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.
33 changes: 33 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -1,3 +1,36 @@
# 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
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,17 @@

# These are binary so should never be modified by git.
*.a binary
*.ico binary
*.png binary
*.jpg binary
*.dxf binary
*.mpy binary
*.der 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
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
Loading