0.02: Attempt to reset state of the interpreter better before loading an app 0.03: Fix issue switching clockfaces via menu 0.04: Add alarm functionality 0.05: Add Welcome screen on boot 0.06: Disable GPS time log messages, add (default=1) setting to hide log messages 0.07: Fix issues with alarm scheduling 0.08: Fix issues if BLE=off, 'Make Connectable' is chosen, and the loader resets Bangle.js (fix #108) 0.09: Only check GPS for time after a fresh boot 0.10: Stop users calling save() (fix #125) If Debug info is set to 'show' don't move to Terminal if connected! 0.11: Added vibrate as beep workaround 0.12: Add an event on BTN2 to open launcher when no clock detected (fix #147) 0.13: Now automatically load *.boot.js at startup Move alarm code into alarm.boot.js 0.14: Move welcome loaders to *.boot.js 0.15: Added BLE HID option for Joystick and bare Keyboard 0.16: Detect out of memory errors and draw them onto the bottom of the screen in red 0.17: Don't modify beep/buzz behaviour if firmware does it automatically 0.18: Fix 'GPS time' checks for western hemisphere 0.19: Tweaks to simplify code and lower memory usage 0.20: Allow Gadgetbridge to work even with programmable:off 0.21: Handle echo off char from Gadgetbridge app when programmable:off (fix #558) 0.22: Stop LCD timeout being disabled on first run (when there is no settings.json) 0.23: Move to a precalculated .boot0 file which should speed up load time 0.24: Add Bangle.setUI polyfill 0.25: Fix error in 'no clock app' message 0.26: Remove buzz in setUI polyfill (#750) 0.27: Update polyfill for most recent changes 0.28: Fix double clock load after settings are changed 0.29: Update boot0 to avoid code block (faster execution) Fix issues where 'Uncaught Error: Function not found' could happen with multiple .boot.js 0.30: Remove 'Get GPS time' at boot. Latest firmwares keep time through reboots, so this is not needed now 0.31: Add polyfills for g.wrapString, g.imageMetrics, g.stringMetrics 0.32: Fix single quote error in g.wrapString polyfill improve g.stringMetrics polyfill Fix issue where re-running bootupdate could disable existing polyfills 0.33: Add E.showScroller polyfill 0.34: Use Storage.hash if available Rearrange NRF.setServices to allow .boot.js files to add services (eg ANCS) 0.35: Add Bangle.appRect polyfill Don't set beep vibration up on Bangle.js 2 (built in) 0.36: Add comments to .boot0 to make debugging a bit easier 0.37: Remove Quiet Mode settings: now handled by Quiet Mode Schedule app 0.38: Option to log to file if settings.log==2 0.39: Fix passkey support (fix https://github.com/espruino/Espruino/issues/2035) 0.40: Bootloader now rebuilds for new firmware versions 0.41: Add Keyboard and Mouse Bluetooth HID option 0.42: Sort *.boot.js files lexically and by optional numeric priority, e.g. appname..boot.js 0.43: Fix Gadgetbridge handling with Programmable:off 0.44: Write .boot0 without ever having it all in RAM (fix Bangle.js 1 issues with BTHRM) 0.45: Fix 0.44 regression (auto-add semi-colon between each boot code chunk) 0.46: Fix no clock found error on Bangle.js 2 0.47: Add polyfill for setUI with an object as an argument (fix regression for 2v12 devices after Layout module changed) 0.48: Workaround for BTHRM issues on Bangle.js 1 (write .boot files in chunks) 0.49: Store first found clock as a setting to speed up further boots 0.50: Allow setting of screen rotation Remove support for 2v11 and earlier firmware 0.51: Remove patches for 2v10 firmware (BEEPSET and setUI) Add patch to ensure that compass heading is corrected on pre-2v15.68 firmware Ensure clock is only fast-loaded if it doesn't contain widgets 0.52: Ensure heading patch for pre-2v15.68 firmware applies to getCompass 0.53: Add polyfills for pre-2v15.135 firmware for Bangle.load and Bangle.showClock 0.54: Fix for invalid version comparison in polyfill 0.55: Add toLocalISOString polyfill for pre-2v15 firmwares Only add boot info comments if settings.bootDebug was set If settings.bootDebug is set, output timing for each section of .boot0 0.56: Settings.log = 0,1,2,3 for off,display, log, both 0.57: Handle the whitelist being disabled 0.58: "Make Connectable" temporarily bypasses the whitelist 0.59: Whitelist: Try to resolve peer addresses using NRF.resolveAddress() - for 2v19 or 2v18 cutting edge builds 0.60: Minor code improvements 0.61: Instead of breaking execution with an Exception when updating boot, just use if..else (fix 'Uncaught undefined')