MicroPython 1.8.5 发布,该版本主要是加入了对Zephyr Project的支持(Zephyr Project是一个开源的RTOS)。
py core:
– asmthumb: flush D-cache, and invalidate I-cache on STM32F7
– makeqstrdefs.py: use python 2.6 syntax for set creation
– objnone: remove unnecessary handling of MP_UNARY_OP_BOOL
– move frozen modules rules from esp8266 port for reuse across ports
– combine 3 comprehension emit functions (list/dict/set) into 1
– combine 3 comprehension opcodes (list/dict/set) into 1
– vstr: remove vstr.had_error flag and inline basic vstr functions
– objnone: use mp_generic_unary_op instead of custom one
– showbc: make printf's go to the platform print stream
– remove 'name' member from mp_obj_module_t struct
– builtinimport: fix nanbox build after change to better handle -m modules
– stream: remove unnecessary check for NULL return from vstr_extend
– py.mk: suppress some compiler warnings when building berkeley-db
– shrink mp_arg_t struct by using reduced-size integer members
– update opcode format table because 3 opcodes were removed, 1 added
– parse: only replace constants that are standalone identifiers
– py.mk: add support for building modussl_mbedtls
– only store the exception instance on Py stack in bytecode try block
– vm: use MP_OBJ_FROM_PTR to cast a type to an object
– modmicropython: add micropython.const, alias for identity function
– objstr: remove unreachable function used only for terse error msgs
– emitbc: remove/refactor unreachable code, to improve coverage
– objfun: remove unnecessary check for viper fun with 5 or more args
– objfun: use if instead of switch to check return value of VM execute
– objset: use mp_check_self() to check args of set/frozenset methods
– objset: ensure that use of frozenset.update raises an exception
– compile: fix async-for/async-with to work with simpler exc on stack
– scope: use lookup-table to determine a scope's simple name
– scope: shrink scope_t struct by 1 machine word
– scope: factor common code to find locals and close over them
– compile: fix typo when checking for parse-node kind
– argcheck: simplify if-chain so that the last one is the default
– objbool: defer bool's unary op implementation to small int
– objbool: make a slight simplification of bool constructor
– modstruct: remove unreachable code, and add comment about CPy diff
– add mp_raise_OSError(errno) helper function
– objstringio: add readinto() method
– modmicropython: add micropython.opt_level([value]) function
– compile: remove unreachable code
– mpz: in divmod, replace check for rhs!=0 with assert
– mpz: use assert to verify mpz does not have a fixed digit buffer
– factor duplicated function to calculate size of formatted int
– objint: use size_t for arguments that measure bytes/sizes
– compile: remove debugging code for compiler dispatch
– lexer: remove unnecessary code, and unreachable code
– vstr: combine vstr_new_size with vstr_new since they are rarely used
– objdict: fix optimisation for allocating result in fromkeys
– objdict: actually provide the key that failed in KeyError exception
– use mp_raise_msg helper function where appropriate
– add the module specified by -m to sys.modules as '__main__'
更多内容请查看官方完整版更新日志
下载地址: