diff --git a/CHANGELOG.md b/CHANGELOG.md index 641d4671..c3728b19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,73 @@ All notable changes to Velxio will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [3.0.0] - 2026-06-11 + +### Added +- Custom retro CPU chips (Z80, 8080, 4004, 4040, 8086) with programmable ROM, board-less operation, and in-editor assembly support +- MicroSD card emulation over SPI for AVR, RP2040, and ESP32 with FAT16 image and upload panel +- Library Manager with per-board manifests, content-addressed cache, version management, uninstall, and autocomplete +- ePaper display emulation for SSD168x (B/W, tri-colour), UC8159c (ACeP 7-colour), and UC8179 (mono) panels +- Undo/redo for canvas operations (components, wires, moves, rotations, property changes) +- PinResolver abstraction enabling SPICE-resolved digital inputs for mixed-mode simulation +- Full ngspice WASM migration: one solver path across browser and Node tests +- SignalRouter for ESP32 GPIO Matrix routing, replacing the per‑peripheral ad‑hoc cache +- Oscilloscope trigger modes (Auto / Normal / Single) with edge selection and position control +- RP2040 real-time performance: IdleSpinDetector elides busy‑wait loops, WFI sleeps are bounded +- ESP32‑CAM emulation with real webcam frame bridge via QEMU +- Multi‑board wire‑aware interconnect (UART, I2C, SPI, digital pins) across all supported boards +- GitHub Sync, Share/Embed modal, BOM CSV export, schematic PNG export (Pro features) +- Desktop app welcome page, grace/license gating, native menubar bridge, in‑app update toast +- i18n support for 9 locales (en, es, pt‑br, it, fr, zh‑cn, de, ja, ru) across the UI +- Extension hooks for private overlays: auth/DB split, session, save action, agent chat slot +- .vlx project export/import for stateless OSS self‑hosters +- Board options modal, per‑target compilation console with status grouping +- Live compile log streaming for ESP‑IDF (cmake/ninja output) and arduino‑cli +- Visual LED test harness (CDP‑driven) and netlist snapshot tests for all gallery examples +- Over 100 new gallery examples (Pico Doom, ESP32‑CAM preview, ePaper dashboards, retro CPU demos, 100 Days of IoT, analog circuits, etc.) + +### Changed +- Library Manager redesigned: single unified tab with state‑aware row actions (Add to project, In project toggle, Uninstall/Remove) +- Compilation system: async job model with status polling, request dedup, concurrency semaphore, persistent ESP‑IDF build directory +- ESP‑IDF builds now use ccache with 8 GB cap, per‑variant persistent directories, and graceful fallback for incomplete manifests +- Server‑side library resolution scoped to content‑addressed cache; global volume retired +- ePaper rendering improved: native‑window compose, proper rotation, byte‑aware orientation, paged window union +- Canvas interactions enhanced: wires follow component rotation, minimap with draggable viewport, drag‑to‑move parts during simulation +- Bundle size reduced via manualChunks: main entry dropped from ~23 MB to ~2.68 MB; wokwi‑elements, PiTerminal, mcu‑emulators split +- Landing page refreshed with AI agent section, updated pricing tiers, licensing cards, and live editor hero screenshot +- Pricing copy updated to multiplier messaging (Pro = 20×, Pro Max = 50×) +- Desktop app hides marketing nav, redirects / → /editor, shows splash screen during boot +- CHANGELOG.md entries reflect all new features and changes for v3.0.0 + +### Fixed +- ESP32: WiFi/HTTP client link by enabling mbedTLS PSK; BLE stack switched to Bluedroid; LEDC duty routing for multi‑servo; flash image trimming (10× smaller JSON); sdkconfig defaults for cleaner serial output +- RP2040: delay()‑based sketches now run in real‑time on slow hosts; SPI0 routing fixed for Arduino init; UART TX waveform synthesized +- AVR: serial RX queue so `Serial.readStringUntil` sees full input; UART TX waveform at bit level; INPUT_PULLUP pin state; LED visualization through SPICE +- Multi‑board: initSimulator no longer wipes Interconnect’s UART wrapper; board removal reconciles `running` flag +- Canvas: wires follow component rotation; undo/redo state restored; component deletion cascades to wires; sensor panel opens on desktop click; wire color palette works +- i18n: index.html SEO fallback div removed after mount; missing locale keys for admin/user pages added +- Desktop: openExternal works via cascade of IPC paths; native menu routes navigate in‑window +- CI: Frontend Tests restored by patching RP2040 mocks and install‑libraries payload; backend e2e re‑enabled; worker heap limit bumped; cache storage growth limited +- Library: ArduinoJson and other src/‑layout libraries compile correctly by preserving directory structure +- ePaper: BUSY polarity per controller family; RAM Y‑counter wraps at window end; orientation correct across all boards +- Visual LED: RGB LED, 7‑segment, and PWM fade now correctly driven through SPICE‑resolved pins +- PinManager: updatePort respects DDR mask so INPUT_PULLUP does not falsely mark pin as output +- Many other bug fixes across compilation, simulation, UI, and platform compatibility + +### Performance +- Bundle size reduced by 88% for main entry via manualChunks +- ESP‑IDF warm compiles drop from 5–7 min to 5–30 s with ccache + persistent build dir +- Compilation dedup prevents multiple ninja jobs from racing on the same sketch +- Spice/I2C waveform rendering speed improved by batching SPI bytes in the worker +- Minimap and canvas rendering optimised for mid‑range hardware + +### Removed +- Legacy SpiceEngine (eecircuit‑engine) and CircuitScheduler replaced by ngspice WASM +- Dead auth/DB dependencies from OSS image (SQLAlchemy, JWT, etc.) +- Per‑board LEDC update fallback after SignalRouter rollout +- Unused files: `wireOffsetCalculator`, `wirePathGenerator`, `wireSegments` +- Global arduino‑libraries volume no longer needed for library resolution + ## [2.0.1] - 2026-04-22 ### Added @@ -75,3 +142,5 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fixed ESP32 compilation by adding missing dependencies (cmake, ninja-build, git, packaging, libusb) [2.0.1]: https://github.com/davidmonterocrespo24/velxio/releases/tag/v2.0.1 + +[3.0.0]: https://github.com/davidmonterocrespo24/velxio/releases/tag/v3.0.0 \ No newline at end of file diff --git a/frontend/package.json b/frontend/package.json index 2f337d66..7c3a53ee 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -2,7 +2,7 @@ "name": "velxio", "homepage": "https://velxio.dev", "private": true, - "version": "3.0.0", + "version": "3.0.1", "type": "module", "scripts": { "generate:metadata": "cd .. && npx tsx scripts/generate-component-metadata.ts",