Skip to content
Internal changes, RAM and ROM reductions, new minimal port

py core:
- lots of small optimisations, cleanups and code size reduction
- move away from Plan 9 headers to traditional guarded ones
- improved and optimised float to int conversion
- fix right-shifting edge cases in mpz
- namedtuple: use sequence of strings for init
- namedtuple: allow keyword arguments in constructor
- ability to issue compile/runtime warnings
- str.format now has kwargs support
- put all global state togther in a state structure
- optimisation to cache map lookup results in bytecode
- fix handling of "0" in some mpz functions
- implement equality check for all types
- add qstr cfg capability
- can now configure qstr len storage; defaults to using 1 byte
- allow code to compile with lots more warnings enabled
- add LOAD_CONST_OBJ bytecode, to directly load Python objects
- never intern data of large str/bytes objects
- fix handling of default except in compiler
- add extra pass to bytecode compiler to compute stack size
- implement very simple frozen modules support
- implement __reversed__ slot
- implement proper re-raising in native codegen's finally handler

lib:
- move readline code from stmhal to lib/mp-readline/
- readline refactored to support event-driven usage
- add frexp and modf to libm

minimal port:
- new port, intended to represent minimal working code

stmhal port:
- collect root pointers together; improves GC speed
- add MICROPY_HW_USB_VBUS_DETECT_PIN option
- add MICROPY_HW_USB_OTG_ID_PIN option
- add support for FEZ Cerb40 II board
- bug fixes in network module and usocket.accept, setsockopt

qemu-arm port:
- enable GC and native code-gen
- add working tests
- get tests running under Travis CI

esp8266 port:
- use dedicated heap allocated as static array
- implement task-based, event-driven interface with UART
- implement pyb.hard_reset()