You are reading a single comment by @Gordon and its replies. Click here to read the full conversation.
  • Other boards

    • RuuviTag: invert LED1, LED2 & BTN in software so LED.set() does what you'd expect
    • Added RAK8212 (and include SMS/GPRS code in RAK8211/2 builds)
    • Increase size of saved code area from 3*4k to 10*4k on RAK821x boards
    • ESP8266: add CFLAGs to shrink binary files (fix #1499)
    • ESP8266: fully integration of analog pin A0 (fix #1495)
    • ESP32: update sdk to esp-idf 3.0.1, set Espruino build tools back to master branch
    • ESP8266: release heap used by logDebug(true) (fix #1508)
    • ESP8266: remove SHA256 SHA512 (fix #1517)
    • ESP8266: switch to SDK 2.2.1 (fix #1207)


    • changeInterval now works with large (>32 bit) intervals (fix #1438)
    • changeInterval now changes the interval immediately when it's called inside the interval it is changing (fix #1440)
    • Fix parsing of try..catch when not executing (fix #1439)
    • Allow Ctrl-C out of while...continue loop (fix #1441)
    • Fix bug if using an undefined member of an object for (fix #1437)
    • Fix stack overflow if interpreting a file full of '{' (fix #1448)
    • Fix exception when performing record access on object from getter (fix #1454)
    • Fix issue that caused 'dump()' not to report variables/functions on Pixl.js
    • Fix HTTP Chunked transfers when the server uses lowercase headers (fix #1458)
    • Fix TypedArray.indexOf (fix #1468)
    • Allow require('Storage').write('a','',0,15) (zero length data) (fix #1465)
    • Fixed bug when RegExp.match/test called on non-strings
    • Fix unreliable ArrayBufferView.indexOf (#1468)
    • parseFloat(".s") now returns NaN
    • Fixed /\S+/.test(" ")
    • Allow '.then' on already-resolved promise (fix #1476)
    • Stop atob adding trailing 0s when strings are not a multiple of 3 long
    • Fix Array.shift (returned a NAME, rather than the value)
    • Stop characters getting dropped when pasting large amounts of data into Linux build
    • Fix Math.round for numbers > 32 bit (fix #1485)
    • Fix JS state restoration issue (eg. inside switch would cause errors)
    • Fix setDeviceClockCmd: Unknown Device when using LoopbackB.setConsole() on WiFi board
    • Fix buffer overrun if we have to reallocate a pointer to argument lists when calling a function (fix #1491)
    • Fix stack overflow if executing regex full of hundreds of open brackets (fix #1487)
    • Fix issue where STM32F4 USB could lock up if TX during heavy RX
    • Fix 'Can't extend undefined' when using Object.setPrototypeOf on a function
    • Fixed hang if trying to allocate Storage greater than total storage size in a fully erased Storage area.
    • Fix assert fail when calling Function.apply with an Object with non-numeric keys
    • Fix issue when AT lib has to process multiple custom line handers in one packet
    • Espruino WiFi: Fix unreliable send when receiving lots of data on another socket
    • Espruino WiFi: Only rename EspruinoWiFi to WiFi if not found (allows easier debug)
    • Ensure that setBusyIndicator updates output state after the very first initialisation.
    • Ensure Date.getTimezoneOffset() returns the correct timezone offset (fix #1515)

    Features lost

    Unfortunately with all this work I've had to spend a lot of time stripping things back to keep Espruino building on the more constrained platforms. These changes have been made carefully to try and remove features that people weren't using anyway.

    • Lower saved code area to 2k on micro:bit (from 3)
    • Remove RGB colour handling in setColor on devices with low flash
    • Reduce available variable count on STM32VL - we were too low on RAM
    • Remove Graphics.scroll/drawCircle/fillCircle on devices with low flash to allow builds to fit again
    • On devices with low flash, ensure atan2 uses the slower/smaller atan implementation
    • Move FFT back to 64 bit if low flash (it uses less memory!) and optimise for flash space
    • Remove Olimexino from build (too difficult to slim down build and very low usage)
    • Remove HASH/hashlib from all builds as it was confusingly in some and not others. Now use 'crypto'
    • require('crypto').SHA1 is now JS in Espruino Original to cut down on the flash required
    • Pixl.js: reduce saved code area to 9 x 4kb to allow for extra features
    • microbit: remove line-by-line debug capability to free up some space

Avatar for Gordon @Gordon started