- 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.
- 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.
- 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.
- Moved `program_start` and `program_loop` to the top of the Program section in all toolboxes.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- OLED blocks can now select the display type: automatic, SSD1306, SSD1309, or SH1106.
- Added SPI OLED driver variant and improved SH1106 offset support.
- Bluetooth connection was adjusted for better compatibility with Apple devices.
- Improved BLE error reporting and transfer stability.
- Added WebSocket driver for the ESP IDE desktop application.
- Updated desktop connection flow without depending on WebSerial/WebBluetooth.
- 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).
- 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.
- 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.
- 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.
- 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.
- 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).
- Fixed offscreen workspace screenshot crop (no extra left empty area).
- Improved bounding-box + padding crop calculation.
- Other screenshot modes remain unchanged.
- 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.
- 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- 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.
- Minor fixes in file manager and loading its library
- Modified function for stopping the program for better reliability
- 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
- 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
- Reworked window size calculation on mobile devices
- Fixed bugs in file manager
- Added circular buffer to bluetooth library
- 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
- 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
- Added support for Bluetooth low energy
- Fixed some dialogs on mobile devices
- 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
- Added support for ESP8266 processors
- Added the function for installing libraries to the processor via USB
- Added support for RP2040 processors
- 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.
- Reworked functions for loading toolbox
- Optimized webserver
- Added file manager
- Compression of user projects to save FLASH memory
- Optimized webserver code
- Reworked I2C interface initialization.
- Bug fixes
- 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
- Added support for ESP32C3
- New interface for managing user blocks
- Implemented HTTP request block
- Try Catch and other functions.
- Virtual joysticks for easy control of robotic vehicles
- Implemented support for ESP Now communication between processors
- Optimized webserver.
- 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
- Created an image editor for OLED Display
- Experimental support for ESP8266.
- Added remote view of OLED Display.
- Expanded blocks for controlling the robot
- Optimized the webserver code
- Fixed bugs.
- First version of ESP IDE released.