All notable changes to BenchMesh will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Initial release preparation
- Electron desktop application wrapper
- GitHub Actions automated release workflow
-
Frontend UI
- React-based instrument control interface
- Real-time WebSocket data streaming
- Measurement recording and graphing
- Time-series graph visualization with independent Y-axis scaling
- CSV export functionality for measurements
- Node-RED integration with browser access
-
Instrument Support
- Generic DMM (Digital Multimeter) component with mode selection
- Generic PSU (Power Supply Unit) with voltage/current/power control
- Generic ELL (Electronic Load) support
- Generic AWG (Arbitrary Waveform Generator) placeholder
- Generic OSC (Oscilloscope) placeholder
- Generic LCR (LCR Meter) placeholder
- Generic SAL (Spectrum Analyzer) placeholder
- Dynamic range selection for DMM modes
- Temperature mode support (placeholder)
-
Backend Services
- FastAPI-based REST API
- WebSocket registry for real-time instrument data
- Serial device management
- Instrument driver system
- Multi-channel support
-
Automation
- Node-RED integration
- Local instance on port 1880
- Flow-based automation capabilities
-
Distribution
- Self-hosted web application mode
- Electron desktop application (Linux, Windows, macOS)
- AppImage for portable Linux deployment
- DEB packages for Debian/Ubuntu
- Windows installer and portable executables
- macOS DMG and ZIP packages
-
Development
- Unified startup script (
start.sh) - Development mode for Electron
- Automated build pipeline
- GitHub Actions CI/CD
- Unified startup script (
- Real-time instrument monitoring
- WebSocket-based data streaming
- Multi-instrument dashboard
- Configurable measurement sources
- Live graph updates with locked frequency during recording
- Independent Y-axis scaling for multiple data sources
- Measurement table with timestamped records
- User-friendly mode dropdowns with display names
- API endpoint tooltips for debugging
- Responsive UI with status indicators
- Python 3.8+ backend
- React 18+ frontend
- TypeScript support
- FastAPI with async/await
- WebSocket communication protocol
- Canvas-based graph rendering
- Electron 28+ for desktop apps
- Major (x.0.0): Breaking changes, major new features
- Minor (0.x.0): New features, backwards compatible
- Patch (0.0.x): Bug fixes, minor improvements