Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
6514 commits
Select commit Hold shift + click to select a range
a4d3262
esp32: Update to IDF v5.5.2 as recommended version.
dpgeorge Apr 24, 2026
e4006dc
esp32/tools/metrics_esp32.py: Add more boards and clean submodules.
dpgeorge Apr 24, 2026
aec2eb6
github/workflows: Disable MICROPY_MAINTAINER_BUILD for code size CI job.
dpgeorge Apr 25, 2026
31eb6c2
py/mpconfig: Enable select.select at the extra feature level.
dpgeorge May 13, 2026
a46258a
nrf: Properly configure asyncio at the makefile level.
dpgeorge May 13, 2026
0e8bb82
nrf: Move manifest.py from modules/ to boards/ directory.
dpgeorge May 14, 2026
2c44f04
samd/machine_uart: Only fire the TXIDLE event once.
dpgeorge May 13, 2026
1a63f10
samd/machine_uart: Only pass registered events through to Python IRQ.
dpgeorge May 13, 2026
b441fb8
alif/boards/OPENMV_AE3: Fix jump to bootloader.
iabdalkader May 2, 2026
1a1e625
alif/lptimer_ext: Move lptimer extension functions to separate file.
dpgeorge May 15, 2026
8ce7ff5
alif/lptimer_ext: Reset the lptimer at device start up.
dpgeorge May 15, 2026
319fed1
alif/lptimer_ext: Enable LPTIMER IRQ.
dpgeorge May 15, 2026
0b3cdef
alif/machine_rtc: Add machine_rtc_cancel_wakeup() helper function.
dpgeorge May 15, 2026
78ff8d8
alif/modmachine: Implement timeout argument to machine.lightsleep.
dpgeorge May 6, 2026
2ce3fcd
alif/machine_pin: Allow GPIO IRQs to work without a Python handler.
dpgeorge May 11, 2026
83599ef
alif/mphalport: Add mp_hal_pin_config_irq_rising helper function.
dpgeorge May 14, 2026
b9bedda
alif/boards/OPENMV_AE3: Configure SW to wake from standby/stop modes.
dpgeorge May 11, 2026
dc33f04
alif/mphalport: Clear GPIO interrupt flag when enabling IRQ.
dpgeorge May 16, 2026
0abed20
docs/rp2/quickref: Fix I2C default pins for Pico in hardware example.
anoshyn May 17, 2026
8f3a416
docs/library/rp2.DMA: Correct and add pack_ctrl defaults.
anoshyn May 17, 2026
649ce1c
docs/rp2/quickref: Make machine.PWM a cross-reference link.
anoshyn May 22, 2026
ed9c7e4
tests/feature_check: Merge inlineasm checks into one single script.
agatti May 20, 2026
6f70c13
tests/run-tests.py: Simplify thumb inlineasm test rejections.
agatti May 20, 2026
f13a5a9
stm32/timer: Add pulse_width_us and pulse_width_ns to TimerChannel.
May 13, 2026
7bf4410
stm32/boards/ESPRUINO_PICO: Disable MICROPY_PY_PYB_LEGACY.
dpgeorge May 25, 2026
96015c1
rp2/rp2_psram: Read clock frequency before entering direct mode.
phuzzyday May 15, 2026
51777eb
rp2: Split FLASH/FLASH_FS and detect firmware/filesystem overlap.
ddowling May 23, 2026
dd23554
rp2/boards/SOLDERED_NULA_MAX_RP2350: Add Soldered NULA Max board def.
JosipKuci May 21, 2026
bb9b8fc
rp2/boards/ADAFRUIT_FEATHER_RP2350: Add board definition.
gatesphere May 14, 2026
249bff1
extmod/machine_can: Preserve the raw bitrate for port-specific init.
robert-hh Mar 29, 2026
131a6a0
mimxrt/machine_can: Add initial version of CAN driver.
robert-hh Mar 29, 2026
dd78113
mimxrt/machine_can: Add CAN support with new API.
robert-hh Mar 29, 2026
4e9955a
mimxrt/boards: Add CAN settings for all remaining boards.
robert-hh Apr 4, 2026
6ae34f4
mimxrt/machine_can: Add filter masks and show the ID of recv'd messages.
robert-hh Apr 4, 2026
3e7f12d
mimxrt/machine_can: Accept upstream timing parameters as well.
robert-hh Apr 8, 2026
edfb843
mimxrt/machine_can: Use a single setting for filter count.
robert-hh Apr 8, 2026
49c7d63
mimxrt/machine_can: Implement cancel_send() according to RM 40.7.7.1.
robert-hh May 3, 2026
49510ef
mimxrt/machine_can: Support LOOPBACK, SILENT_LOOPBACK and SILENT modes.
robert-hh May 3, 2026
4c6892e
mimxrt/machine_can: Define CAN_HW_MAX_FILTER and CAN_TX_QUEUE_LEN.
robert-hh Apr 15, 2026
7bc3a0b
tests/target_wiring: Add a CAN interface configuration for mimxrt.
robert-hh May 1, 2026
1373dc0
tests: Align the CAN tests with the mimxrt port needs.
robert-hh May 10, 2026
8860d3e
mimxrt/machine_can: Improve the method to find a free MB.
robert-hh May 3, 2026
ab26d54
mimxrt/machine_can: Add IRQ_TX handling and rework the IRQ handler.
robert-hh May 12, 2026
fc0f3f6
mimxrt/machine_can: Improve the error and state handling.
robert-hh May 7, 2026
8519756
mimxrt/machine_can: Count and report RX FIFO overflow events.
robert-hh May 11, 2026
d364b7e
mimxrt/machine_can: Declare local functions static, use named constants.
robert-hh May 14, 2026
d8235ee
mimxrt/machine_can: Split filter setting into collection and activation.
robert-hh May 14, 2026
b532f96
stm32/machine_can: Add an empty function serving filter done.
robert-hh May 14, 2026
11d554e
extmod/machine_can: Add a call to signal that all filters are processed.
robert-hh May 14, 2026
b35383b
tests/multi_extmod/machine_can_05_tx_prio_cancel.py: Fix startup race.
robert-hh May 21, 2026
af34856
drivers/esp-hosted: Update protobuf protocol to the latest.
iabdalkader Feb 10, 2026
4c82b54
drivers/esp-hosted: Add support for the latest firmware.
iabdalkader Jan 2, 2026
0d26a85
drivers/esp-hosted/bthci_uart: Retry HCI reset on failure.
iabdalkader Dec 23, 2025
02e7bfd
drivers/esp-hosted: Use __func__ in logging macros.
iabdalkader Jan 2, 2026
8c57717
drivers/esp-hosted: Refactor driver to support full-duplex SPI.
iabdalkader Feb 17, 2026
9fe2c9d
esp32: Add generic mpconfigboard_xyz_common.cmake files.
projectgus Feb 25, 2026
4fd7295
esp32: Make a generic sdkconfig.flash_qio_80m config snippet.
projectgus May 28, 2026
9c0249c
tools/mpy-tool.py: Clean up escaped compiled module name.
agatti Mar 13, 2026
d05d988
tools/ci.sh: Reorder alif and webassembly CI sections alphabetically.
dpgeorge Apr 14, 2026
4d3e2c6
tools/autobuild: Remove the use of the "id" entry in board.json.
dpgeorge May 21, 2026
5885f6b
tools/autobuild: Print consistent msgs for start/pass/fail board build.
dpgeorge May 21, 2026
78fc0b2
tools/autobuild: Update example usage of script.
dpgeorge May 21, 2026
b8d43d8
webassembly: Fix GC tracing of object returned from top-level functions.
dpgeorge Oct 2, 2025
44780be
webassembly: Simplify proxy_c_to_js_get_type interface.
dpgeorge Apr 23, 2026
3bba838
webassembly: Support buffer protocol in jsffi.to_js.
dpgeorge Apr 23, 2026
4cee4d6
nrf/boards: Increase stack to 6k for nRF51x22 boards with 32k RAM.
dpgeorge May 10, 2026
3ba6eaa
esp32/network_wlan: Add channel bandwidth configuration parameter.
agatti May 22, 2026
1468ad6
mimxrt/machine_encoder: Fix the numeric values of UP and DOWN.
robert-hh May 26, 2026
ff6f2da
rp2/boards/NULLBITS_BIT_C_PRO: Use board header from pico-sdk.
dpgeorge May 26, 2026
e5a7c7b
rp2/boards/WEACTSTUDIO_RP2350B_CORE: Use board header from pico-sdk.
dpgeorge May 27, 2026
2696d56
rp2/boards/WEACTSTUDIO: Use board headers from pico-sdk.
dpgeorge May 27, 2026
5ce24ca
rp2/boards/SIL_RP2040_SHIM: Set PICO_FLASH_SIZE_BYTES at cmake level.
dpgeorge May 27, 2026
e9cc592
rp2/boards/WAVESHARE_RP2350B_CORE: Set PICO_FLASH_SIZE_BYTES for cmake.
dpgeorge May 27, 2026
dc3fb1c
rp2/boards/PIMORONI_PICOLIPO: Configure FLASH_STORAGE_BYTES per variant.
dpgeorge May 27, 2026
a0ae5c5
rp2/boards/PIMORONI_TINY2040: Configure FLASH_STORAGE_BYTES per variant.
dpgeorge May 27, 2026
94b9c36
rp2/boards/WAVESHARE_RP2040_PLUS: Configure STORAGE_BYTES per variant.
dpgeorge May 27, 2026
44a569b
rp2/CMakeLists.txt: Require boards to define PICO_FLASH_SIZE_BYTES.
dpgeorge May 27, 2026
3e5add3
tools: Formally recommend the micropython-uncrustify package.
projectgus Jun 3, 2026
935881e
tools/verifygitlog.py: Fix --pretty filter to inspect each arg.
finnmglas May 28, 2026
10d4018
tools/mpy_ld.py: Ignore R_XTENSA_NDIFF32 relocations.
agatti May 31, 2026
0d8256a
mpy-cross/main: Simplify integer architecture flag parsing.
agatti Dec 23, 2025
90ce8a1
py: Allow mpy-cross to exclude source lines.
romanz Apr 9, 2026
fcc8ad8
zephyr: Only enable PWM when PWM is enabled.
VynDragon Jun 2, 2026
3a85a18
zephyr/boards: Add M0Sense Board.
VynDragon May 23, 2026
be9a819
esp8266/network_wlan: Allow bytes() objects as MAC address.
agatti May 30, 2026
3160809
esp32: Fix espnow crash if falsey value supplied as peer argument.
projectgus Jun 3, 2026
75555f4
mimxrt: Mark boards with no TinyUF2 bootloader support.
projectgus Jun 3, 2026
4e32820
nrf/mphalport: Run events at least once in mp_hal_delay_ms.
dpgeorge Jun 1, 2026
af38ee1
samd/mphalport: Run events at least once in mp_hal_delay_ms.
dpgeorge Jun 1, 2026
8dfb700
esp32: Refactor LILYGO_T3_S3 config to use common cmake file.
projectgus Jun 4, 2026
1f50d05
mimxrt: Fix flash erase operations on Hyperflash boards.
projectgus Jun 3, 2026
2f6f9e3
esp32: Use ESP-IDF abstraction for CPU cycle count (fix ESP32-C5).
projectgus Jun 9, 2026
c6b40d5
esp32: Remove ESP32-S2 & S3-specific default spiram config items.
projectgus Jun 4, 2026
84cb12f
esp32: Don't enable the free_ram config for ESP32_GENERIC_C5.
projectgus Jun 4, 2026
df79f28
esp32: Enable PSRAM support on ESP32_GENERIC_C5.
projectgus Jun 4, 2026
7e55a73
esp32: Rename the sdkconfig.spiram_xxx config snippets.
projectgus Jun 4, 2026
aa25a4e
extmod/modtls_mbedtls: Add TLS-PSK support.
keenanjohnson May 29, 2026
1c5e309
extmod/vfs: Skip littlefs detection if mp_vfs_blockdev_read_ext() fails.
projectgus Jun 4, 2026
0d63638
WIO_TERMINAL Pins.csv: Correct name for I2S_BCLK pin.
ricksorensen Jun 10, 2026
5602c63
tests: Rewrite stm32 sdcard_dma_align test to work with machine.SDCard.
projectgus Jun 4, 2026
307b224
mimxrt: Workaround DCache invalidation problems with SDCard operations.
projectgus Jun 4, 2026
7b06871
tests/extmod_hardware/machine_sdcard_dma_align: Fix for native emitter.
projectgus Jun 11, 2026
18c6c47
tests/run-perfbench.py: Skip large tests based on bm_params.
dpgeorge Apr 16, 2026
3b2b3cf
tests/run-perfbench.py: Add "prologue" argument and set injected code.
dpgeorge May 13, 2026
2b02e3f
tests/run-tests.py: Remove unneeded import.
dpgeorge May 13, 2026
3b64a5d
tests/test_utils.py: Use stdin/out for mpy-cross instead of tempfile.
dpgeorge May 13, 2026
538ac78
tests/ports/unix/ffi: Fix tests on current FreeBSD version.
agatti Mar 5, 2026
b516d39
unix/mpconfigport: Provide the correct system path on FreeBSD.
agatti Mar 5, 2026
8fa4e00
unix/mpconfigport: Report the correct sys.platform name on FreeBSD.
agatti Mar 5, 2026
4cab065
extmod/modplatform: Add FreeBSD to the recognised platforms list.
agatti Mar 22, 2026
e90fb56
tests/extmod/select_poll_fd.py: Skip test on FreeBSD.
agatti Mar 22, 2026
29f70de
tools/mpy_ld.py: Optimise entry trampoline for x86/x64.
agatti Jun 4, 2026
d10f0d1
rp2: Add cross-reference table in the linker map file.
projectgus Jun 3, 2026
6552836
rp2: Build with nano.specs for newlib-nano.
projectgus Jun 3, 2026
434b9da
rp2/modmachine: Fix lightsleep watchdog interactions.
cpottle9 Jun 21, 2025
d21ebbe
extmod/vfs_blockdev: Provide and use func typedef for native read/write.
dpgeorge Nov 13, 2024
a5795ae
cc3200: Change sflash_disk functions to return int.
dpgeorge Nov 13, 2024
f7179ba
stm32/sdcard: Change type of sdcard_read/write_blocks to return int.
dpgeorge Nov 13, 2024
d6e0b56
stm32/storage: Change internal mp_uint_t to mp_int_t to match intent.
dpgeorge Nov 13, 2024
792304a
esp32/machine_sdcard: Change SDCard read/write-blocks to return int.
dpgeorge Nov 13, 2024
18349f2
extmod: Revert "Support bool return from Python read/write blocks.".
dpgeorge Jun 10, 2026
3171d82
extmod/vfs_blockdev: Make MP_BLOCKDEV_FLAG_NATIVE code optional.
dpgeorge Jun 10, 2026
df61f94
docs: Update vfs.AbstractBlockDev with return values for read/write.
dpgeorge Jun 11, 2026
19f9e57
tests/extmod_hardware: Remove return type compatibility for SDCard test.
dpgeorge Jun 12, 2026
d94f965
github/workflows: Bump codecov/codecov-action from 6 to 7.
dependabot[bot] Jun 8, 2026
19f1fea
stm32/boards/NUCLEO_N657X0: FIX Rev.B signing and add flash procedure.
Mrpli Jun 1, 2026
9161386
py: Add native NLR support for LoongArch64.
agatti Jun 1, 2026
e2e71a4
shared/runtime/gchelper: Add LoongArch64 GC helper.
agatti Jun 1, 2026
7f18ea5
unix/mpconfigport: Use platform GC helper for LoongArch64.
agatti Jun 1, 2026
36d8272
extmod/modplatform: Report LoongArch64 architecture.
agatti Jun 1, 2026
9ed0f5c
tools/ci.sh: Add LoongArch64 to the Unix port's targets list.
agatti Jun 1, 2026
f7b6d5b
github/workflows: Build and test Unix/LoongArch64 as part of CI.
agatti Jun 1, 2026
d901e98
unix/README: Update the supported targets list.
agatti Jun 1, 2026
9be33c1
tests/cpydiff/types_range_limits.py: Cover positive long-int range args.
anoshyn May 17, 2026
f3b9372
stm32/timer: Enable TIM1 on STM32N6.
dpgeorge Apr 7, 2026
8596dfc
stm32/timer: Fix configuring very small timer frequencies.
dpgeorge Apr 8, 2026
8d9892a
tests/ports/stm32: Generalise peripheral test for PYBx boards.
dpgeorge Apr 7, 2026
6dc701b
tests/ports/stm32: Update pyb tests to work across more MCU families.
dpgeorge Apr 7, 2026
5918080
py/emitnative: Change assert to exception for raise with 0 or 2 args.
dpgeorge May 19, 2026
c3ffca2
tests: Change most uses of "raise" with 0 args to have 1 arg.
dpgeorge May 19, 2026
9b6132e
tests/extmod: Fix tests with terse error messages.
agatti Jun 9, 2026
e561ad0
tests/run-tests.py: Update tests skip list with terse error messages.
agatti Jun 9, 2026
5770ced
tools/ci.sh: Add new Unix target with terse error messages.
agatti Jun 9, 2026
828a3b8
tools/codeformat.py: Update C source inclusions and exclusions.
Gadgetoid Mar 8, 2024
8d31abc
extmod/nimble: Improve code readability for use of m_free.
Gadgetoid Oct 31, 2024
48c7daa
all: Apply code formatting to new paths.
Gadgetoid Oct 31, 2024
21f5eb0
top: Update .git-blame-ignore-revs for latest formatting commit.
dpgeorge Jun 22, 2026
93d543c
shared/memzip/make-memzip.py: Update script to Python3.
agatti Jun 15, 2026
095227c
shared/memzip/make-memzip.py: Improve script resilience.
agatti Jun 15, 2026
531c80d
tools/mpy_ld.py: Do not share build directory across architectures.
agatti Jun 14, 2026
6bbeec2
py/dynruntime.mk: Use the final file name for intermediate outputs.
agatti Jun 17, 2026
b49f098
tools/mpy_ld.py: Allow overriding the internal MPY file name.
agatti Jun 14, 2026
c0a8bc3
all: Remove MICROPY_PY_LWIP_PPP.
Gadgetoid Aug 13, 2025
533a154
rp2: Enable PPP for Pico W.
Gadgetoid Dec 18, 2024
abaf6d0
tools/codeformat.py: Include more C source files in code formatting.
dpgeorge Jun 22, 2026
34417dd
all: Apply code formatting to new paths.
dpgeorge Jun 22, 2026
b67ac73
Revert "rp2: Build with nano.specs for newlib-nano.".
projectgus Jun 18, 2026
e1c1a9b
windows: Double the stack size allowance on windows port.
projectgus Feb 26, 2025
8551369
stm32/adc: Set values in array from smallint.
projectgus Jul 23, 2025
c4fa8cb
tools/ci: Don't include unittest tests in the merged .mpy.
projectgus Jul 23, 2025
e00daa3
py/binary,objint: Add overflow checks and int.to_bytes(signed=True).
projectgus Jun 24, 2026
e6380fa
py/makeqstrdefs.py: Filter out unneeded lines from qstr.i.last early on.
dpgeorge Jun 5, 2026
e62bd41
tests/run-tests.py: Add --trace-output option for board targets.
dpgeorge Jun 10, 2026
b5a681c
extmod/modmachine: Provide machine.SDCard entry for ports to use.
dpgeorge Jun 10, 2026
628864b
mimxrt/modmachine: Remove now-duplicate SDCard entry.
dpgeorge Jun 10, 2026
344cfc4
esp32: Rename MICROPY_HW_ENABLE_SDCARD to MICROPY_PY_MACHINE_SDCARD.
dpgeorge Jun 10, 2026
ab710e3
renesas-ra: Rename MICROPY_HW_HAS_SDHI_CARD-> MICROPY_PY_MACHINE_SDCARD.
dpgeorge Jun 10, 2026
b5ca385
stm32: Enable machine.SDCard if board has pyb.SDCard.
dpgeorge Jun 10, 2026
d5b8149
esp32: Add Wi-Fi CSI (Channel State Information) support.
francescopace Jun 12, 2026
0511125
esp32/boards/SEEED_XIAO_ESP32C3: Add new board definition.
pavelrevak Jun 22, 2026
9e76ed1
esp32/boards/SEEED_XIAO_ESP32C5: Add new board definition.
pavelrevak Jun 22, 2026
9d3881f
esp32/boards/SEEED_XIAO_ESP32S3: Add new board definition.
pavelrevak Jun 22, 2026
292b3e6
esp32/machine_i2c: Set default for new I2C driver at esp-idf >= v5.5.2.
robert-hh May 21, 2026
57219fc
esp32/machine_i2c: Restrict the new I2C driver to esp-idf >=v5.5.2.
robert-hh May 24, 2026
cd9ac95
py/stream: Use MP_SEEK_xxx constants instead of SEEK_xxx.
dpgeorge May 30, 2026
13f6a49
extmod: Use MP_SEEK_xxx constants where applicable.
dpgeorge May 30, 2026
249b468
ports: Remove SEEK_xxx constants from custom unistd.h files.
dpgeorge May 30, 2026
a1becee
py/runtime: Only build mp_raise_recursion_depth when STACK_CHECK is on.
dpgeorge Jun 4, 2026
9dd1849
mpy-cross/main: Remove unused mp_verbose_flag.
dpgeorge Jun 5, 2026
552fd21
py/mpstate: Move mp_verbose_flag to MP_STATE_VM struct.
dpgeorge Jun 5, 2026
b5c6ce3
extmod/machine_wdt: Allow any object as the id for machine.WDT.
dpgeorge Jun 23, 2026
ad64bb1
stm32/machine_wdt: Support strings to reference WDT instance.
dpgeorge Jun 23, 2026
cc0e275
stm32/machine_wdt: Implement WWDG watchdog peripheral.
dpgeorge Jun 17, 2026
fa1ec09
stm32/machine_wdt: Support up to 4 watchdogs on H7.
dpgeorge Jun 23, 2026
daf9858
docs/library/machine.WDT: Mention stm32 WWDG in WDT docs.
dpgeorge Jun 17, 2026
fdb1b7e
docs/library/machine.Signal: Document __call__ method.
hlovatt Jun 24, 2026
d9544b1
docs/library/machine.CAN: Add port availability note.
mattytrentini Jun 24, 2026
bd5ecab
esp32/machine_uart: Make default UART pins board-configurable.
pavelrevak Jun 24, 2026
225b7ac
py/nlrpowerpc: Don't clobber base register.
shenki Jun 29, 2026
562d6be
py/nlrpowerpc: Add r4 to the nlr_push asm clobber list.
shenki Jun 29, 2026
f452dab
rp2: Run vm/gc/parse from SRAM by fixing linker object suffix.
Gadgetoid Jun 23, 2026
765df74
esp32/boards: Add WAVESHARE_ESP32_S3_PICO board configuration.
Jul 1, 2026
235f356
tests/extmod/machine_timer: Reorganize and update supported platforms.
DvdGiessen May 1, 2026
3577927
tests/extmod/machine_timer: Skip virtual timer tests on ESP32.
DvdGiessen Jul 2, 2026
b3fb831
zephyr/machine_timer: Initialize kernel timer structure only once.
DvdGiessen May 4, 2026
4cb7b93
github/workflows: Bump actions/checkout from 6 to 7.
dependabot[bot] Jun 19, 2026
d42edb1
github/workflows: Bump actions/cache from 5 to 6.
dependabot[bot] Jun 23, 2026
21f47c2
py/emitglue: Refactor cache flushing on AArch32.
agatti Jun 26, 2026
8338f9a
rp2: Size IRQ array correctly for 48 pin variants.
Gadgetoid Jun 30, 2026
0d32675
rp2: Fix RP2350 watchdog time to ~16s.
Gadgetoid Jun 30, 2026
4edef87
stm32/main: Initialize network subsystem before boot.py.
pi-anl May 13, 2026
bb6adc6
stm32/eth: Add link detection polling and DHCP hot-plug support.
pi-anl May 13, 2026
caa9a47
stm32: Add support for FDCAN on the STM32N6.
kwagyeman Jun 6, 2026
34fcee1
stm32/boards/OPENMV_N6: Enable FDCAN on the OpenMV N6.
kwagyeman Jun 6, 2026
3ecd415
tests/ports/stm32/pyb_can.py: Update test to run on STM32N6.
dpgeorge Jun 12, 2026
644d03b
stm32/fdcan: Initialise all entries in FDCAN_InitTypeDef struct.
dpgeorge Jun 12, 2026
964803a
nrf: Restore interrupt-based I2C with nrfx v3.
pi-anl May 14, 2026
c864b8b
py: Fix build with no error detail reporting enabled.
agatti Jun 9, 2026
2fb658e
tests/feature_check/target_info.py: Work with error reporting disabled.
agatti Jun 9, 2026
3be043f
tests/run-tests.py: Update tests skip list for no detailed errors.
agatti Jun 9, 2026
91199cb
tests/basics: Fix tests with no error details.
agatti Jun 9, 2026
9207ce1
tests/extmod: Fix tests with no error details.
agatti Jun 9, 2026
6d87df5
tests/float/math: Fix tests with no error details.
agatti Jun 9, 2026
fcd9cca
tests/stress: Fix tests with no error details.
agatti Jun 9, 2026
8f741b9
tests/micropython: Fix tests with no error details.
agatti Jun 20, 2026
d8eb65b
tools/ci.sh: Add new Unix target with no error messages.
agatti Jun 9, 2026
c0928f0
tests/extmod/vfs_blockdev_invalid.py: Catch only expected exceptions.
dpgeorge Jun 12, 2026
2b599af
tests/extmod_hardware/machine_sdcard_dma_align.py: Allow skip on esp32.
dpgeorge Jun 12, 2026
31aa405
py/dynruntime.mk: Refactor Picolibc probing for RISC-V targets.
agatti Jun 17, 2026
baeaf86
py/dynruntime.mk: Let natmods be built with Clang.
agatti Jun 4, 2026
dd476ce
tools/mpy_ld.py: Align the trampoline if requested.
agatti Jun 28, 2026
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
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
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,18 @@

# These are binary so should never be modified by git.
*.a 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