Releases: GIBIS-UNIFESP/wiRedPanda
Releases · GIBIS-UNIFESP/wiRedPanda
5.0.1-kde-test (KDE integration verification)
Pre-release built from the kde branch (tip 04bda75) to validate the KDE-integration work. Not for end users.
wiRedPanda 5.0.1
🐛 Bug Fixes
- Translation regression: fixed a bug introduced in 5.0.0 where only English was available in the language menu, even on systems configured for other languages. All 39 translations now load correctly on desktop, WASM, and every platform.
Full Changelog: 5.0.0...5.0.1
wiRedPanda 5.0.0
🎯 For Users
🚀 New Features
- 4-state logic: Signals now carry four states — Unknown, Inactive, Active, and Error — for more accurate simulation feedback
- Embedded ICs: ICs can be stored directly inside
.pandafiles, making circuits self-contained and easier to share - SystemVerilog export: Export circuits to SystemVerilog with hierarchical IC support
- Enhanced Arduino codegen: Improved code generation with IC support, board selection, and testbench validation
- Variable-size Mux/Demux: Multiplexer and demultiplexer elements with dynamic input/output sizing
- Wireless Node Tx/Rx: Nodes can operate in wireless transmitter/receiver mode for cleaner layouts
- Per-state appearance editing: Multi-state elements support editing appearances for each state
- Auto-update notifications: Checks for new releases from GitHub and notifies users
- Auto-migration: Automatic file format migration with versioned backup
- System theme: Follows the OS color scheme
- Buzzer improvements: Arbitrary frequency (20–20,000 Hz) and volume control
- Clock slider: Labeled slider for precise clock phase delay adjustment
⚡ Performance
- Batched grid rendering for significantly faster scene drawing
- Cached audio device detection on Windows
- Inlined simulation hot paths and pre-filtered IC boundary elements
- Throttled visual updates to monitor refresh rate during simulation
- Lightweight labels, cached pixmaps, and deferred font loading
🐛 Bug Fixes
- Fixed crashes when working with multiple tabs simultaneously
- Fixed IC loading failures across different operating systems
- Fixed macOS crash with Truth Table elements on Qt 6
- Fixed undo/redo instability when splitting connections or morphing elements
- Fixed inconsistent simulation behavior between runs and incorrect clock timing on resume
- Fixed Save As opening the target file instead of saving
- Fixed viewport jumps when dragging elements
- Fixed numerous IC-related issues: cycle detection, port numbering, embedded blob corruption, port metadata ordering
- Fixed flip horizontal doing nothing due to inverted condition check
- Fixed flip horizontal and vertical producing identical results on asymmetric elements (e.g., D-latch) by using true mirror transforms instead of rotation
- Fixed element icons not updating on theme switch
- Fixed Examples path resolution for AppImage/macOS bundles
- Fixed WebAssembly issues: persistent settings, bundled fonts for non-Latin scripts, dark/light theme detection, and preloaded examples
🔧 For Developers
🏗️ Architecture
- Complete simulation overhaul from boolean to four-state signal model
- New ICRegistry system supporting both embedded and file-based IC workflows
- Per-scene element ID management; removed global ID registry
- Eliminated GlobalProperties class; migrated to Application, Scene, and RecentFiles
- Eliminated LogicElement hierarchy — simulation runs directly on GraphicElement
- Unified external file dependency management via
GraphicElement::externalFiles() - Self-registering ElementMetadata with compile-time validated declarations
- Tarjan's SCC-based feedback detection for simulation priority ordering
- Separated file format version from application version
📦 Build & Infrastructure
- Qt 6.2+ required — dropped Qt 5 support
- CMake presets for all build variants (debug, release, coverage, sanitizers)
- Unity build + PCH for faster compilation
- Migrated to Ubuntu 24.04 LTS DevContainer with Qt 6.11.0
- Sentry improvements: breadcrumbs, user ID, tags, and deduplication
- Security-hardened GitHub Actions workflows with Dependabot
- AppImage now bundles glibc and all dependencies, removing previous distro compatibility limitations
- Windows 64-bit only
🧪 Testing
- Expanded from 36 tests to 1,722 tests in a single unified binary
- GUI-level test suites for MainWindow, BeWavedDolphin, and FileDialogProvider (developer-only, excluded from CI)
- Backward compatibility regression suite for
.pandafile formats - Parallel CTest execution
📚 Code Quality
- PascalCase standardization for all source files
- Scene, serialization, and module decomposition into single-responsibility components
- Procedural audio generation replacing embedded WAV assets
- Full Doxygen documentation setup
- Updated translations for 39 languages
📁 File Format
- V4.4: Wireless node mode
- V4.5: File-level metadata and embedded IC blob registry
- V4.6: Metadata map consolidation
- V4.7: QMap-based connection serialization
- V5.0: File format version bump for 5.0.0 release
- Auto-migration from older formats with versioned backups
🙏 Contributors
- @darktorres — Primary development
- @GabrielGA-01 — SystemVerilog codegen
- @gbonavina — Arduino codegen
- @mams76 — Wireless Node Tx/Rx and Embedded ICs
Full Changelog: 4.3.0...5.0.0
wiRedPanda 4.3.0
🎯 For Users
🌍 Major Internationalization Update
- 39 language support: Complete translation system covering European, Asian, and Middle Eastern languages
- Auto-language detection: Application automatically detects your system language on first launch
- Community translations: New Translation menu with direct link to Weblate for community contributions
- New languages added: Arabic, Bengali, Bulgarian, Croatian, Czech, Danish, Estonian, Finnish, Greek,
Hebrew, Hungarian, Persian, Hindi, Indonesian, Latvian, Lithuanian, Malaysian, Norwegian, Slovak, Swedish,
Thai, and more
🐛 Critical Bug Fixes
- IC file loading fix: Resolved "File not found" errors when loading IC files from older project formats
(< v4.1) caused by double path concatenation - AudioBox headless fix: Eliminated null pointer crashes in headless container environments - AudioBox now
works properly without audio devices - Simulation improvements: Implemented convergence algorithm with iterative settling (up to 10 iterations)
for better handling of cross-coupled feedback circuits
⚡ Performance & Stability
- Better error handling: Enhanced exception handling with dual-language support
🔧 For Developers
🏗️ Build System Overhaul
- CMake-only migration: Complete removal of qmake build system across all platforms and CI/CD workflows
- Cross-platform consistency: Unified build process for Ubuntu, Windows, macOS, and WebAssembly
- Parallel compilation: Added MSVC parallel compilation support with PCH (Precompiled Headers) reuse
- Faster builds: ccache integration and mold linker support for significantly improved build times
🐳 Development Environment
- DevContainer support: Full Ubuntu 22.04 LTS development environment with VS Code integration
- Development extensions: GitLens, GitHub Actions, Python tools, and Mermaid diagram support
- Consistent line endings: .gitattributes configuration ensures LF line endings across all platforms
🧹 Code Quality & Modernization
- Warning-free codebase: Eliminated all 119 compiler warnings across the entire project
- Code formatting: Applied consistent style standards with trailing whitespace cleanup and newline
enforcement - Lambda modernization: Updated lambda captures with Qt6 compatibility improvements
- Documentation updates: Standardized markdown structure and fixed formatting across all docs
🌐 WebAssembly & Deployment
- WASM modernization: Improved browser compatibility and cleaned deployment to copy only necessary files
- Release validation: Comprehensive artifact validation system for all release packages
- Deployment optimization: Streamlined Windows ZIP packaging and windeployqt integration
🔒 Monitoring & Reliability
- Sentry integration: Fixed crash reporting on macOS and Ubuntu with platform-specific backends
- Coverage collection: Added coverage collection script with dark theme integration
- Translation workflow: Modernized system with automatic Weblate fork PR handling
🗂️ Infrastructure
- Git workflow improvements: Fixed translation workflows for Weblate integration
- CMake feature parity: Standardized build system features and binary naming across platforms
- Qt version optimization: Reduced CI matrix to essential Qt versions for faster builds
🙏 Contributors
Thank you to our translation contributors who helped make wiRedPanda accessible in multiple languages:
- @Atalanttore - German translation contributions
- @NathanBnm - French translation contributions
Full Changelog: 4.2.6...4.3.0
wiRedPanda 4.2.6
What's Changed
- Fix translation regression by @darktorres in #253
- Fix "Save as" by @darktorres in #254
Full Changelog: 4.2.5...4.2.6
wiRedPanda 4.2.5
wiRedPanda 4.2.4
What's Changed
- Fix autosaves in macOS by @darktorres in #235
- Generate AppImage inside Docker for older Linux distros by @darktorres in #236
Full Changelog: 4.2.3...4.2.4
wiRedPanda 4.2.3
wiRedPanda 4.2.2
What's Changed
- Fix Zoom so that it centers on mouse by @darktorres in #218
- Fix deserialization regression by @darktorres in #223
- Add option to block truth table in CLI by @darktorres in #224
- Add 16-segment display by @joao-zip in #225
- Dolphin zoom rewrite and autocrop button by @joao-zip in #227
- Fix pixmap load by @darktorres in #228
- Fix port tooltip by @darktorres in #229
- Fix GND/VCC in IC by @darktorres in #230
Full Changelog: 4.2.1...4.2.2
wiRedPanda 4.2.1
What's Changed
- Add Spanish translation by @fabioamc in #170
- Fix wiRedPanda zoom by @darktorres in #171
- Add audiobox element to play generic audio by @joao-zip in #176
- Fix opening files in WASM by @darktorres in #178
- Fix Rotary Switch in beWavedDolphin/Add contributors to about page/Removed default Buzzer label/Change waveform by double click/Fix waveform zoom/Zoom with mouse wheel/Add shortcuts for elements by @fabioamc, @joao-zip and @darktorres in #180
- Fix #160 by @darktorres in #181
- Fix Clock simulation by @darktorres in #182
- Fix theme change on connections by @darktorres in #184
- Cap simulation length to avoid freezing by @darktorres in #185
- Fix crash with IC/Fix simulation determinism by @darktorres in #188
- Fix crash with large circuits by @darktorres in #198
- Improve serialization/Tab tooltip by @darktorres in #199
- Add Qt Image Formats in Qt6 by @darktorres in #200
- Update file dialog filter to include supported image formats by @darktorres in #201
- Add SR Latch by @GabrielGA-01 in #202
- Fix themes in Qt6 by @darktorres in #203
- Add Clock delay/Background simulation option by @mams76 in #210
- Add Sentry/Crashpad by @darktorres in #211
Full Changelog: v4.1.12...4.2.1