7.5 KiB
7.5 KiB
Changelog
All notable changes to Velxio will be documented in this file. The format is based on Keep a Changelog.
3.0.0 - 2026-06-11
Added
- Digital Gate Engine: Event-driven logic gate evaluation for board‑less digital circuits (AND, OR, NOT, XOR, NAND, NOR, XNOR, multi‑input gates). Supports sequential logic: D, T, JK flip‑flops, 4‑bit ripple counter, and mixed digital/analog boundary handoff.
- Chip‑to‑Chip Bus: Custom chips can now share address/data buses via a 4‑valued logic kernel with drive‑strength tri‑state nets. Ships a complete Galaksija Z80 home computer example (keyboard, display, ROM, RAM) that boots in the browser.
- Retro CPU Custom Chips: Programmable Z80 and Intel 8080 CPU emulator chips with external ROM loaded from project files (assembly or C via SDCC). Includes i8080 Kill‑the‑Bit demo and Z80 Larson scanner examples.
- MicroSD Card Storage: SD‑over‑SPI card emulation for AVR, RP2040, and ESP32 boards. FAT16 image built from workspace files with an upload panel for extra files (gated by pro overlay).
- Signal Router: First‑class GPIO Matrix routing for ESP32 – per‑signal routing via
SignalRouterclass, replacing the previous ad‑hocledc_gpio_map. Multi‑servo control now works correctly. - Library Manager: Single unified tab with state‑aware row actions (Add to project, In project toggle, Uninstall/Remove). Per‑board library manifests (
velxio.json) autocomplete and persistence. - Oscilloscope Trigger Modes: Auto, Normal, and Single‑shot trigger with configurable source, edge, and position. ARMED/TRIGGERED/CAPTURED status badges.
- Undo/Redo: Command‑pattern undo/redo for canvas mutations (add/remove/move/rotate components, add/remove wires). Keyboard shortcuts (Ctrl+Z, Ctrl+Y) and toolbar buttons.
- i18n – Multilingual Support: Full internationalisation for the editor, landing page, examples gallery, and auth pages. 9 locales (en, es, pt‑br, it, fr, zh‑cn, de, ja, ru) with react‑i18next foundation.
- ESP32‑CAM Emulation: End‑to‑end emulation of the AI‑Thinker ESP32‑CAM with real webcam frame bridge.
esp_camera_fb_get()returns JPEG frames from user’s camera. Gallery example with ILI9341 live preview. - ePaper Display Support: SSD168x (mono/tri‑colour) and UC8159c (ACeP 7‑colour) decoder with SPI slave and canvas rendering. Works on AVR, RP2040, and ESP32.
- STM32 Board Emulation: Blue Pill, Black Pill, F4 Discovery, Olimex H405, Netduino 2/+2 – all via QEMU arm backend
2.0.1 - 2026-04-22
Added
- Enhanced electrical simulation with ngspice-WASM engine for accurate analog circuit analysis
- Expanded component catalog with 44 SPICE-compatible parts including logic gates, transistors, op-amps, regulators, and electromechanical components
- Added 40 new circuit examples demonstrating analog, digital, and electromechanical concepts
- Introduced custom web components for electronic elements (relays, resistors, capacitors, inductors, transistors)
- Implemented ESP32 ADC waveform simulation with periodic 12-bit waveform look-up tables and interpolation
- Added voltmeter and ammeter instrument components for real-time circuit measurements
- Created comprehensive end-to-end tests for electrical simulation including capacitor charging, rectifier behavior, and waveform analysis
- Added GitHub Actions workflow for circuit simulation testing on every push and PR
Changed
- Renamed all components to use 'velxio-' prefix for consistency
- Enabled electrical simulation by default (always-on SPICE mode) instead of requiring manual activation
- Enhanced LED brightness simulation to reflect actual current flow from SPICE calculations
- Updated backend to handle unhandled asyncio exceptions and prevent process crashes
- Improved component metadata generation to prevent CI drift and enforce up-to-date metadata
- Refactored property synchronization in simulation parts to use event-based system
- Expanded ADC pin mapping to support all 18 board types for full microcontroller integration
Fixed
- Fixed sitemap generation to include all circuit examples for better SEO visibility
- Resolved floating input node issues in RC low-pass filter circuits that caused SPICE singular matrix errors
- Updated proxy configuration to use 127.0.0.1 for improved compatibility
- Fixed metadata regeneration to properly include custom components in the component picker
- Improved backend entrypoint script to ensure clean container restarts when processes die
2.0.1 - 2026-04-17
Added
- Added ATtiny85 support with examples and simulation tests
- Added BMP280 sensor component with circuit preview and SVG representation
- Added example detail pages with improved SEO and sitemap generation
- Added MicroPython support for RP2040 (Pico), ESP32, ESP32-S3, and ESP32-C3 boards
- Added ability to upload precompiled firmware files (.hex, .bin, .elf) directly into the emulator
- Added ability to remove boards from workspace with confirmation dialog
- Added I2C sensor support with slave emulation for MPU6050, BMP280, DS1307, and DS3231 sensors
- Added ESP32 WiFi/BLE emulation with ESP-IDF compilation pipeline
- Added VS Code extension skeleton for local simulation
- Added comprehensive documentation for ESP32 GPIO sensor simulation, Docker infrastructure, and MicroPython implementation
- Added auto-compile feature that triggers compilation when pressing Play if code changed or no firmware loaded
- Added share functionality for projects and examples with visibility toggle
- Added component metadata overrides and enhanced property controls
- Added new CI/CD workflows for backend unit tests, end-to-end tests, and automated Discord release notifications
- Added Docker multi-architecture support (amd64 + arm64) and pre-built ESP-IDF toolchain image
Changed
- Enhanced auto-compile to use board's file group for WiFi detection instead of legacy global files
- Updated CircuitPreview component and implemented ShareModal using createPortal
- Enhanced Arduino pin tracing in DynamicComponent and updated LittleFS WASM initialization
- Enhanced ESP-IDF compiler library resolution logic and added support for dynamic library detection
- Enhanced wire connection handling and GND checks for components
- Enhanced logging for library loading and WiFi progress
- Updated Docker build processes with optimized build contexts and multi-architecture support
- Changed WiFi SSID normalization to match QEMU access points for reliable ESP32 WiFi connection
- Refactored I2C slave tests for ESP32 with improved event handling and ACK/NACK responses
Fixed
- Fixed container restart issue by monitoring both backend and nginx processes
- Fixed project saving to use active board files/kind and improved error messages
- Fixed ESP32 boot stability with deterministic instruction counting
- Fixed ESP32 Run button to auto-compile and recover firmware after page refresh
- Fixed LED ground check to require cathode wired to GND (or LOW GPIO) to light up
- Fixed MPU6050Slave I2C handling with improved WHO_AM_I read tracking
- Fixed ESP32 WiFi SSID/channel alignment with QEMU access_points array
- Fixed RISC-V toolchain paths for ESP32-C3 compilation
- Fixed ESP-IDF Python requirements installation in Docker
- Fixed SaveProjectModal to prevent saving to
/api/projects/nonewhen project ID is invalid - Fixed ESP32 compilation by adding missing dependencies (cmake, ninja-build, git, packaging, libusb)