System * Rework script synchronization mechanism (Now verifies scripts using CRC's when stop button is pressed. This can be 20x faster than the previous mechanism.) * Increase the ping timeout to avoid occasional spurious disconnects * Update Linux versions to use SDL 2.0.12 graphics library * Tweak Linux versions to handle change in font rendering introduced in Ubuntu 20.04 * Improve speed of tilt blocks by increasing i2c clock speed on boards that use Wire1 (internal i2c bus) * Optimize acceleration primitive * Remove IOT-BUS as a built-in, precompiled VM (sadly, OddWires has gone out of business) Libraries * Tone library: Tweak wording of "play note" block * Tone library: Use "ms" instead of "milliseconds" everywhere * Change range of tilt and acceleration blocks so that 1 gravity is 100 (previously 50) * Add support for M5StickC and Calliope to Tone library * Add José García's BMP and WAV libraries Examples * Update DAC pins in examples to work on both the ED1 and M5Stack out of the box * Update music example projects * Hide helper functions in some examples to speed up loading in browser version of MicroBlocks * Add HappyBirthday example * Add RadioTexting example Bug Fixes * Fix: Adding/deleting variables or libraries could result in script errors until "stop" button pressed * Fix: Make stopTone() also stop buffered sound output so stop button will turn off all sound output * Fix: i2c could hang when using Tone or Servos on micro:bit (e.g. using the tilt or acceleration blocks) * Fix: update project blockSpecs when auto-updating a library * Fix: fetchLatestVersionNumber missed the major version number (wasn't causing trouble yet because nil ~= 0) * Fix: Pasting empty scripts from clipboard resulted in error