ESP IDE changelog

Complete version overview from the changelog.txt file.

Back to main page
2.0.60
  • Local JS and CSS files loaded by `index.html` are now versioned consistently from `SW_VERSION`.
  • Fixed `js/new_menu.js` and `css/new_menu.css` loading, which still used the old `2026-05-29` query version and could keep the old menu on some devices.
2.0.59
  • Language JSON files `i18n/*.json` and Blockly translation files `js/{lang}.js` are now loaded with a version query based on the current ESP IDE version.
  • The service worker now respects query parameters for static files, so changing `?v=` reliably forces a fresh version to load.
  • Added `js/en.js` to the offline cache.
2.0.58
  • When automatic starter blocks are enabled, ESP IDE now asks whether to add them to the current project as well.
  • The prompt is shown only when the Blockly workspace has neither `program_start` nor `program_loop`; inserting the blocks does not replace the existing program.
2.0.57
  • Moved `program_start` and `program_loop` to the top of the Program section in all toolboxes.
2.0.56
  • Fixed generation order for the starter program blocks.
  • Code that runs once is now generated before the infinite loop even when the loop block is placed higher on the workspace.
2.0.55
  • On a clean editor start, the empty Blockly workspace now automatically receives starter blocks for code that runs once and an infinite loop.
  • Automatic insertion is skipped when loading a complete program from a link or opening an existing project.
  • Added a Settings option to enable or disable starter program blocks. The setting is stored in `localStorage` and defaults to enabled.
  • Added CZ/EN text and prepared caching for the `item_auto_start_blocks.png` icon.
2.0.54
  • Added program blocks for a `setup()` / `loop()` style flow: code that runs once and an infinite loop.
  • The infinite loop block generates `import utime` and calls `utime.sleep_ms(0)` on every iteration so interrupts and background tasks can be handled.
  • Added CZ/EN translations and made the blocks available in the Program category for all toolboxes.
2.0.53
  • Save dialogs now remember the last project name used.
  • After saving or loading a file, the name is propagated to both the PC save dialog and the ESP save dialog.
  • Text file names are stored in project dialogs without their extension, preventing doubled extensions when later saving a Blockly project.
2.0.52
  • Add-ons with `toolbox_mode: addon_only` no longer replace the toolbox automatically without confirmation.
  • Loading such an add-on now shows a dialog where the user can choose whether to replace the whole toolbox or only add the add-on blocks to the standard toolbox.
  • The user's choice is stored with the add-on and respected during later toolbox refreshes, project loads, and catalog installs.
  • Added CZ/EN dialog text for the add-on toolbox mode decision.
2.0.51
  • Servo library now provides much more precise position control using newer PWM write functions.
  • Updated related toolboxes, cache, and translations for the current beta build.
2.0.50
  • Added blocks for saving and loading variable values to an INI file.
  • New `pvstore.py` library keeps data types and reports errors to the console.
2.0.49
  • OLED blocks can now select the display type: automatic, SSD1306, SSD1309, or SH1106.
  • Added SPI OLED driver variant and improved SH1106 offset support.
2.0.48
  • Bluetooth connection was adjusted for better compatibility with Apple devices.
  • Improved BLE error reporting and transfer stability.
2.0.47
  • Added WebSocket driver for the ESP IDE desktop application.
  • Updated desktop connection flow without depending on WebSerial/WebBluetooth.
2.0.22
  • Stabilized add-on installation in Electron via `postMessage` transport.
  • Add-on catalog in Electron now opens with `transport=postmessage`.
  • Web installation via `localStorage` remains unchanged.
  • Backward compatibility kept for older IDE versions (`espide.install.done` fallback).
2.0.21
  • Fixed Service Worker update flow to prevent unexpected UI restarts.
  • On SW version mismatch, loading stays visible until update finishes and reload happens before normal UI is shown.
  • Added SW version check via `GET_VERSION` message.
  • Offline/PWA: added `toolbox_ESPBIT.xml`; manifest now uses relative `start_url`/`scope` and icon paths.
2.0.20
  • Improved BLE diagnostics on iOS/Bluefy: numeric errors (for example `2`) are mapped to readable messages with CZ/EN i18n.
  • Unified asset cache-busting `?v=` parameters in main HTML.
  • SW registration now uses relative `sw.js` and URL-derived scope (removed hardcoded beta path).
  • Fixed `filemanager.html` paths and added missing files to SW precache.
2.0.14
  • Added compressed Blockly save to ESP (`.blk.gz` in `/BLK/`).
  • Added `save_esp_dialog`; text mode save behavior remains unchanged (no compression).
  • File Manager can open compressed Blockly files (`.blk.gz` and `.xml.gz`).
  • Improved overlay performance (removed `backdrop-filter`).
  • SW: bumped cache version and added `js/pako.min.js` to precache.
2.0.13
  • Introduced new top menu system (`css/new_menu.css`, `js/new_menu.js`, `media/new_menu/`).
  • Added 3 menu layouts (`layout1`, `layout2`, `original`) with legacy `more_menu` compatibility.
  • Stabilized `modeSwitch`, fixed quick-panel conflicts, and improved topbar responsiveness.
  • Reworked Device/Settings menu behavior (USB/BLE state rows, theme selector, `autoRunOnBootDefault`, toolbox icons).
  • Updated i18n labels, unified visual readability, and optimized `syncState()` (50 ms throttle).
  • SW: added new menu assets to precache.
2.0.12
  • Stabilized USB REPL initialization after connect.
  • Improved RAW REPL enter sequence/timing; unified USB and BLE behavior.
  • Added new C-shaped `program_section` block (label + enable/disable section toggle).
2.0.11
  • Fixed offscreen workspace screenshot crop (no extra left empty area).
  • Improved bounding-box + padding crop calculation.
  • Other screenshot modes remain unchanged.
2.0.10
  • Stabilized full-workspace screenshots at larger Blockly zoom values.
  • Offscreen capture now renders at stable scale 1.0 and increases resolution via render scale.
  • Preserved top-level block coordinates (no unintended reflow).
  • Removed temporary screenshot debug tooling.
2.0.9
  • Blockly PNG screenshots now use transparent background by default.
  • Added optional white background (`whiteBackground: true` / `background: "white"`).
  • Fixed background rendering in both `visible` and `offscreen` modes.
  • Offscreen full-workspace screenshots respect current Blockly zoom.
  • `Ctrl+Shift+S` now exports transparent screenshot by default.
2.0.8
  • Added universal toolbox `toolbox_Generic.xml` for generic MicroPython boards.
  • Added processor toolboxes for ESP32C6 and RP2350.
  • Added ESP32 ADC voltage blocks in mV and V.
2.0.7
  • USB init no longer overwrites existing `run_code()` / `stop_code()` in `boot.py`.
  • Extended `idecode` diagnostics (exception type, traceback, hints, better `MemoryError` handling).
  • Added Blockly screenshot features (visible/offscreen, PNG export, toolbox batch capture).
  • Added CZ/EN i18n texts for screenshot features.
  • Restored `index.html` encoding to UTF-8 without BOM.
2.0.6
  • Added binary BLE upload protocol (MAGIC/SEQ/LEN/CRC8) with window ACK.
  • Implemented transfer recovery (retry, NAK resync, expected SEQ status) plus CANCEL control frame.
  • Upload now stops running code first (Ctrl+C); added BLE Config negotiation (MTU/chunk).
  • Added fallback to legacy REPL upload when capability/config is unavailable.
  • Hardened BLE connect flow (GATT step timeouts + strict cleanup on error).
2.0.5
  • Added Bluetooth Settings dialog in menu (with CZ/EN texts).
  • Device name validation: 3-8 chars, basic ASCII.
  • Read/write BLE name in `/cfg/ble_name.cfg`; disabling Bluetooth removes config.
  • Fixed dialog close behavior and reduced REPL collisions during read/save.
  • Stabilized Service Worker update behavior.
2.0.4
  • Added theme and language options in menu (saved to localStorage).
  • Stabilized I18N loading and auto-load of shared projects from URL.
  • Improved File Manager toolbar responsiveness and adaptive controls.
  • Improved Service Worker update flow and added startup options (force toolbox, lock processor, hide File Manager icon).
  • Installer updates: ESP8266 flash fixes and binary `.mpy` upload support.
2.0.3
  • Added dark mode with menu switch (saved to localStorage).
  • Updated UI, ACE editor, and terminal styling for light/dark themes.
  • Added loading screen with logo and spinner.
  • Added support for `dark_*` assets and automatic theme switching.
  • Updated File Manager styling and Service Worker cache for new dark assets.
2.0.2
  • Minor fixes in file manager and loading its library
  • Modified function for stopping the program for better reliability
2.0.1
  • Fixed broken dialogs after opening file manager
  • Fixed broken file manager after reconnecting device
  • Removed duplicate javascript imports in file manager
  • When close file manager cleanup and enable REPL
2.0.0
  • Fixed dialogs in file manager for desktop version
  • Modified bluetooth connection function in desktop version
  • Modified cache work for desktop application
  • Disabling joystick buttons and installing FW for desktop version
2.0.0_beta
  • Reworked window size calculation on mobile devices
  • Fixed bugs in file manager
  • Added circular buffer to bluetooth library
1.13.6
  • Added file manager
  • Rewrote Bluetooth library due to bug in Micropython
  • Added hack for stopping program in Bluetooth mode
  • Added functions for saving files to ESP
1.13.5
  • Optimized user interface for mobile devices
  • Upscale graphics for better display on high PPI displays
  • Handling switching between USB and Bluetooth connections
  • Added text mode with panels
  • Saving text editor content to localstorage
1.13.4
  • Added support for Bluetooth low energy
  • Fixed some dialogs on mobile devices
1.13.3
  • Extensions are saved to the project as comments in xml
  • Loading a project from a file sets the processor and integrates add-ons
  • Loading a project from a URL: sets the processor and integrates add-ons
  • Added the list of changes and editor versioning to the drop-down menu
1.13.2
  • Added support for ESP8266 processors
1.13.1
  • Added the function for installing libraries to the processor via USB
1.13.0
  • Added support for RP2040 processors
1.12.0
  • Released USB - Serial version of ESP IDE V1.12
  • Added support for ESP32S3
  • Added blocks for file system
  • Added blocks for VL53L0X laser rangefinder
  • Added blocks for PCF8574 port expander
  • Added blocks for UART communication
  • Toolbox layout adjustment.
1.11.0
  • Reworked functions for loading toolbox
  • Optimized webserver
  • Added file manager
  • Compression of user projects to save FLASH memory
1.10.0
  • Optimized webserver code
  • Reworked I2C interface initialization.
  • Bug fixes
1.10.0
  • New code for webserver implemented
  • Extended blocks for controlling DC motors using PWM
  • Added blocks for 5x5 neopixel matrix
  • Optimized user interface for mobile devices
1.08.0
  • Added support for ESP32C3
  • New interface for managing user blocks
  • Implemented HTTP request block
  • Try Catch and other functions.
1.7.0
  • Virtual joysticks for easy control of robotic vehicles
1.6.0
  • Implemented support for ESP Now communication between processors
  • Optimized webserver.
1.05.0
  • Added a block for reading ADC pins for the joystick
  • Added support for the TCS34725 sensor
  • Added support for Rotary encoders
  • Added support for the MPU6050 gyroscope
  • Added support for controlling model servo motors
1.03.0
  • Created an image editor for OLED Display
  • Experimental support for ESP8266.
1.02.0
  • Added remote view of OLED Display.
1.01.0
  • Expanded blocks for controlling the robot
  • Optimized the webserver code
  • Fixed bugs.
1.0.0
  • First version of ESP IDE released.