Releases: mandarwagh9/embedist
Release list
v0.37.0
Highlights
- Hardened AI tool-call protocol across chat/debug/plan/agent flows, including safer tool selection and stronger follow-up message sequencing.
- Added stronger root-boundary enforcement for code search and reveal-in-explorer operations.
- Improved provider handling so Ollama works without API key in chat and agent paths.
- Unified mode switching behavior across shortcuts and command palette; stabilized agent lifecycle and cancellation behavior.
- Fixed plan workflow reliability with rooted file exploration and selected-file context integration.
Artifacts
embedist.exe(portable)Embedist_0.37.0_x64-setup.exe(NSIS installer)
v0.36.0
Highlights
- Hardened filesystem safety in Tauri commands with safer path containment checks and stricter create/rename name validation.
- Improved agent execution safety by enforcing project-scoped tool paths and root-aware shell execution.
- Fixed file watcher path normalization so externally modified open files refresh reliably.
- Stabilized AI provider synchronization and active provider selection to prevent custom endpoint drift.
- Updated docs and metadata for v0.36.0.
Artifacts
embedist.exe(portable)Embedist_0.36.0_x64-setup.exe(NSIS installer)
v0.35.0 - Bug Fixes & Token Tracking
Bug Fixes
- Fixed Rust stable compilation (is_none_or -> is_some_and)
- Enabled DeepSeek tool calling in Agent mode
- Added token usage tracking for DeepSeek/Anthropic/Google
- Fixed BuildState clone with Arc
- Pass board parameter to upload_firmware
- Added error logging to empty catch blocks
- Better error messages when PlatformIO not installed
Version
v0.35.0
v0.34.0
v0.33.0
v0.33.0
Bug Fixes
- web_search tool invocation error: Fixed DuckDuckGo HTML parsing regex that was failing to extract search results in Plan mode. The parser now extracts titles/URLs and snippets separately and pairs them by index for reliable matching.
- Clippy warnings: Cleaned up unnecessary map_or calls and useless format! macro usage.
v0.32.0: Critical Windows Path Fix
Critical Windows Path Fix
Windows \\?\ Path Canonicalization Bug
Problem: On Windows, PathBuf::canonicalize() returns extended-length paths prefixed with \\?\ (e.g. \\?\C:\Users\...). The path being validated (e.g. C:\Users\...\src\main.cpp) does NOT have this prefix. The starts_with() comparison always failed, causing ALL file operations to be rejected as 'outside project root'.
Impact: Agent mode was completely broken on Windows — every write_file,
ead_file, create_file, list_directory call failed with 'Access denied: path is outside project root'.
Fix: Convert both paths to strings and strip the \\?\ prefix before comparison. All filesystem operations now work correctly on Windows.
v0.31.0: Web Search for Plan Mode
Web Search for Plan Mode
DuckDuckGo Web Search Integration
Plan mode can now search the internet in real-time to gather information before creating plans:
- No API key needed — Uses DuckDuckGo's HTML search interface
- Board datasheets — Search for pinout diagrams, specifications, memory limits
- Library documentation — Find the best Arduino/PlatformIO libraries for sensors
- Tutorials & examples — Discover proven code examples and wiring guides
- Best practices — Research common pitfalls and recommended approaches
How It Works
- Agent receives a planning task
- Reads platformio.ini to identify the board
- Searches the web for board specs, pinouts, and library docs
- Analyzes search results to gather real-time information
- Creates a research-backed implementation plan with references
The agent now has actual internet access instead of relying solely on its training data.
v0.30.0: Clean Flash Upload & Plan Mode Web Search
Clean Flash Upload & Plan Mode Web Search
Auto-Erase Flash Before Upload (ESP8266/ESP32)
Problem: When flashing new firmware to ESP boards, the old program remained in flash memory regions not overwritten by the new firmware. This caused conflicts — old WiFi configs, pin states, and partition data interfered with the new program.
Research: PlatformIO supports 'pio run --target erase' to wipe flash completely. This is the recommended approach per PlatformIO community.
Fix:
- upload_firmware now detects ESP boards by reading platformio.ini
for esp8266/esp32/espressif8266/espressif32 references - For ESP boards: runs 'pio run --target erase' BEFORE upload
- Shows progress: '[UPLOAD] Erasing flash before upload (ESP board detected)...'
- If erase fails, logs warning but continues with upload
- Added standalone erase_flash command for manual use
- Updated agent.md with Phase 4: Flash (Clean Upload)
Plan Mode — Web Search & Research
Plan mode now has full tool access including web search:
- web_search: Search for board datasheets, pinout diagrams, library docs, tutorials
- read_file: Read project files to understand current code
- search_code: Find specific patterns in source files
- list_directory / get_directory_tree: Explore project structure
The agent is now instructed to research BEFORE planning:
- Read platformio.ini to identify board
- Search web for board specs, pinouts, datasheets
- Search for best libraries and tutorials
- Ask clarifying questions if needed
- Create a research-backed implementation plan with references
v0.29.0: Agent Mode Rewrite (Claude Code Architecture)
Agent Mode Rewrite — Based on Claude Code, Cursor, Manus Patterns
After deep research of top AI IDE system prompts (Claude Code, Cursor, Manus, same.new, v0, Cline), completely rewrote the agent.md system prompt.
New Architecture (Claude Code-inspired)
- Explicit Agent Loop: analyze → understand → implement → verify → fix → repeat
- Batch Tool Calls: All independent reads/writes in single response
- Build Once: Build only after ALL writes complete, not after each file
- Error Resolution Table: 8 common PlatformIO error patterns with root causes and fixes
Board-Specific Knowledge
- ESP8266: ESP8266WiFi.h (NOT WiFi.h), GPIO mapping, memory constraints
- ESP32: WiFi.h, dual-core, ADC2+WiFi conflict, BLE
- Arduino: No WiFi, PROGMEM for constants, 2KB RAM limits
What Changed
- Agent now FORCED to read platformio.ini FIRST before writing any code
- Explicit 'What NOT to Do' section with 8 prohibitions
- Error resolution strategy: fix FIRST error (root cause), not last
- Memory constraints documented per board type
- WiFi best practices and pin conflict warnings
- Progress reporting after each tool batch
Why This Matters
The agent was previously writing code without knowing the board type, using wrong libraries (WiFi.h on ESP8266), and looping on build errors without reading them. The new prompt enforces understanding before implementation, matching how Claude Code and Cursor agents work.
v0.28.0: Agent Mode Intelligence
Agent Mode Intelligence
Board Awareness
- Agent now reads platformio.ini FIRST to identify board type before writing any code
- Detected board injected into system prompt (ESP8266, ESP32, Arduino)
- Board-specific knowledge for ESP8266 (ESP8266WiFi.h, GPIO mapping, memory)
- Board-specific knowledge for ESP32 (WiFi.h, dual-core, BLE, ADC)
Build Error Handling
- Build error output now includes 'Fix the errors and try again' hint
- Agent now sees FULL error output (not truncated)
- Common PlatformIO error patterns documented in system prompt:
- WiFi.h vs ESP8266WiFi.h confusion
- Missing library in lib_deps
- Undefined reference linker errors
- Missing include files
Agent Task Enhancement
- Every task now includes instruction: 'Before writing any code, read platformio.ini to identify the board type, platform, and libraries'
- Agent forced to understand project structure before implementing