Tags give the ability to mark specific points in history as being important
  • v1.3.10
    Bug fixes, CC3200 port, improved inline assembler
    py core:
    - big-int bug fixes
    - support for floats in struct module
    - vstr no longer null-terminates buff by default
    - properly handle CR/LF in triple-quoted string
    - list.sort now has O(log(N)) stack usage
    - parse big-int/float constants directly in parser
    - allow to subclass native buffer objects
    - reduce stack size of VM by 8 bytes on stmhal, 16 on x86
    - add ldrex, strex, push, pop, sdiv, udiv, clz, rbit to inline assembler
    - make inline assembler report line numbers on error
    - uzlib: raw deflate decoding support
    unix port:
    - add "coverage" makefile target for coverage testing
    stmhal port:
    - bug fixes in ADCAll object
    - bug fix in timer.deinit
    esp8266 port:
    - add esp module
    - add connect, disconnect, status functions
    cc3200 port:
    - new port to the CC3200 launchxl board
  • v1.3.9
    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
    - 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_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()
  • v1.3.8
    Feature additions to core, unix and stmhal; general improvements.
    py core:
    - implement +, +=, .extend for bytarray and array objs
    - add mem_info, qstr_info to micropython module
    - bytes/bytearray/array can be init'd by buffer protocol objs
    - optimised lexer by exposing lexer type; gives ROM savings
    - add sys.print_exception
    - allow builtins to be overridden
    - fixed all semantic issues with range optimisation
    - compiler gives proper SyntaxError exceptions for bad global/nonlocal
    - reduce VM exception stack size by 1 machine word per exception
    - make bytes objs work with more str methods
    - refactor and make mp_bytecode_print and friends more useful
    - start transition to guarded includes
    - lots of code cleanup
    - some ROM savings
    - add ubinascii module, with hexlify
    unix port:
    - add _os.unlink, _os.system functions
    - 64-bit clean in ffi module
    - time module renamed to utime
    stmhal port:
    - add USB_VCP.setinterrupt method, to disable CTRL-C
    - make pyb.[u]delay work when irqs are disabled
    - overhaul of internal network driver interface
    - bug fixes to CC3K and WIZNET5K network drivers
    - use DMA for SPI transfers (only if irqs enabled)
    - allow SPI.init to specify prescaler directly
    - enhance pyb.freq to configure bus frequencies
    - add more math functions (acosh, asinh, atanh, tan)
    - add execfile function
    - upgrade to latest FatFs driver (now in lib/)
    - add ability to mount custom block device
    esp8266 port:
    - put more rodata in irom section
    - add README.md
    - basic docs for uhashlib, ubinascii, ure, uzlib
    - links to LCD and AMP skin schematics
    - general improvements
  • v1.3.7
    Port to ESP8266, add uhashlib, improved CAN driver.
    py core:
    - support more ops for bytes/bytarray
    - support __hash__ for user-defined types
    - support for float/double arrays in array module
    - shorter error messages for TERSE message option
    - add seek via ioctl to stream protocol
    - add uhashlib with sha256
    unix port:
    - heapsize can take w specifier for word adjustment
    stmhal port:
    - CAN init now takes sjw, bs1, bs2 args
    - add CAN filter management
    - fix HAL error raising bug
    esp8266 port:
    - new port to ESP8266 wifi chip
    - minor additions
  • v1.3.6
    Improved documentation, and other small changes.
    py core:
    - add builtin round function
    - gc.enable/disable still allows manual GC (as per CPython)
    - fix builtin callable for user-defined types
    - fix bug for right shift of small int by large amount
    unix port:
    - add "fast" version
    - improve uctypes, including sizeof function
    stmhal port:
    - support for extended CAN frames
    - USB_VCP works with select
    - experimental support for RTS/CTS in UART
    - make UART bits count number of data bits, not incl parity
    - pyb.freq now allows 8MHz and 16MHz
    - revamp and merge all inline docs into Sphinx framework
    - add a few more tutorials
  • v1.3.5
    RAM savings, memoryview, quick-ref and more.
    Improvements to core:
    - make better use of bytecode coding space
    - about 10% RAM savings in bytecode
    - add uheapq module
    - add memoryview builtin
    - add compile builtin
    - support in VM for KeyboardInterrupt
    - fix integer modulo with negative arguments
    - small GC fixes
    - add 2nd arg to readinto
    New features in unix port:
    - CTRL-C raises KeyboardInterrupt
    - heapsize option takes K and M
    - -m option to execute library module
    stmhal improvements:
    - make MMA_INT/PB2 pin available
    - add pyb.hard_reset()
    - cc3k recv improments
    - all HAL errors now raise OSError with POSIX error code
    - USB config improved for windows (CDC on Windows 10 without driver)
    - use different USB PID when in CDC+HID mode (so HID works in Windows)
    - boot.py and main.py use \r\n for newlines
    - change SPI phase from 1,2 to 0,1 to match industry conventions
    - allow DAC object to be init'd from pin
    - improved raw REPL control codes
    - improved pyboard.py script
    - add quick reference page with pinout
  • v1.3.4
    Add regex and CAN, improve UART, and more.
    py core:
    - add basic regex support using re1.5 library
    - replace zlibd with uzlib
    - compiler returns proper exception on SyntaxError
    - proper context saving for eval/exec
    - use mp_[u]int_t in most places instead of [u]int
    - better ARM support in native emitter
    - autodetect machine endianness
    - better big endian support
    - memory errors from locked gc can be reported
    - more robust lexer when out of memory
    - rename modules to begin with u-, and add module weak links
    - more native binops in viper emitter
    - native pointers with load+store in viper
    - fix GC realloc so that chunks are shrunk correctly
    - compiler optimisations for constant if/while conds
    - add kwargs for builtin open() and FileIO
    - enable unicode on windows
    stmhal port:
    - add basic CAN bus support
    - overhaul UART class to use read/write
    - add NRF24L01 driver (in pure Python)
    - pyb.freq can change SYSCLK
    - add pyb.stop and pyb.standby
    - can set Timer freq using float
    - Timer supports complementary channel and deadtime
    - add retry for SD card init
  • v1.3.3
    0bbe4de5 · stmhal: Update help text. ·
    Network support in stmhal, and improved viper compiler.
    Changes in core:
    - tidy up native emitter and assemblers
    - viper can compiler more binary ops
    - viper supports casting (int, ptr8, ptr16)
    - viper can compile native stores (eg p[1] = 42)
    - remove IOError (use OSError instead)
    stmhal port:
    - fix OSX mass storage issue, so pyboard can be left plugged in
    - add network and usocket modules with CC3000 and WIZnet5k support
      (disabled by default)
    - improved percent option in timer PWM
    - add pyb.elapsed_millis, pyb.elapsed_micros
    - internal flash is labelled as "pybflash" on creation
    - don't init NSS pin when initialising SPI bus with NSS_SOFT mode
  • v1.3.2
    Changes in core:
    - bytecode prelude uses less RAM
    - free non-interned strings earlier
    - add builtins module
    - add ujson module with dumps and loads
    - mpz div changed so that mpz is more efficient
    - some compiler optimisations
    - some simplifications of the code
    - bug fix memcpy -> memmove
    - changed most instances of int/uint to mp_int_t/mp_uint_t
    - added ioctl method to stream protocol
    - divmod, % and // support for floating-point numbers
    Native emitter enhancements:
    - bug fixes
    - support for delete name and global
    - support for end finally
    - x86 support
    - x86-64 can use extended regs
    unix port:
    - MIPS compilation support
    stmhal port:
    - add generic select module
    - ability to select/poll on UART objects
    - proper SDHC support (cards > 4gb now work)
    - enhanced timer support (PWM, OC, IC)
    - big fix with miss-aligned stack pointer
    - more math functions implemented
    Added drivers subdirectory with WIZNet5200 support
    (disabled by default).
    Added docs subdirectory and moved to Sphinx docs.
    Improved teensy support.
  • v1.3.1
    Bug fixes, viper improvements, and more
    New features in core:
    - min and max accept key= argument
    - accepts user defined ==, >, <=, >=
    - native support for ARM (non thumb)
    - cut RAM and ROM usage of zlibd
    - significant GC allocation speed up
    Viper improvements:
    - type annotations
    - store to global
    - call functions with native types
    - raise exceptions
    Bug fixes to core:
    - fix multiplication of a sequence by negative number
    - GC bug fix where native code was being collected
    - int(b'1234') now works
    - can now make strings longer than 64k
    unix port:
    - modtermios for unix
    - make install for unix
    stmhal port:
    - reduced code size by 35k
    - put some code into first 16k block
    - in safe mode SD card is still presented as MSD
    - SD card init fixes; should be more reliable
    - added time.mktime; enhanced time.localtime
    - new Pin functions: mode, pull, af
    - nestable enable_irq/disable_irq
    - added pyb.micros()
    - added USB_VCP.any()
    - STM32F4DISC accel support via staccel.py script
  • v1.3
    v1.3: New features and many bug fixes.
    New features include:
    - file.flush, os.stat
    - unicode enabled by default on unix and stmhal ports
    - print function accepts file= argument
    - I2C object allows for 16-bit mem addr
    - emergency exception buffer for improved exception traceback
    - USB_VCP object
    - 0:/ and 1:/ changed to /flash and /sd
    - improved Pin object
    - can set pin alternate function from Python
    - builtin reversed, can len() and subscr range objects
    - added moductypes
    - added modzlibd for DEFLATE decompression
    Code improvements include:
    - more efficient line-number to bytecode mapping
    - new STM HAL driver v1.3.0
    Bug fixes include:
    - mpz (bignum) fixes
    - accel startup improved
    - important bug fix in GC
  • v1.2
    v1.2: Unicode support (disabled by default); bug fixes and minor features added.
  • v1.1.1
    v1.1.1: Improved LCD driver, UART REPL and some bug fixes.
    Bumping version because this binary will be put on the next batch of pyboards.
  • v1.1
    v1.1: Many bug fixes, enhancements and features.
  • v1.0.1
    v1.0.1: mostly bug fixes for stmhal/, features for py/.
    Main bug fixes: flushing USB CDC correctly, setting RTC.
    Main features for stmhal: improved native and viper emitters.
    This version goes on the next batch of pyboards.
  • v1.0
    Version 1.0!  This is shipping with the next batch of pyboards.
  • v1.0-rc1
    Preparing for v1.0.