v2.17.0 Release Notes¶
Release Date: 2026-02-15 Commit: 6db364f1
Overview¶
v2.17.0 represents a major milestone in the GeckoCIRCUITS modernization journey.
What's New¶
Features¶
- GitHub Actions automated release workflow (release.yml)
- Platform-specific build workflows:
- build-windows.yml - Windows desktop package
- build-macos.yml - macOS desktop package
- build-linux-wsl.yml - Linux and WSL packages with X11 support
- Matrix strategy for parallel builds (5 platforms simultaneously)
- Automatic GitHub release creation on version tag push
- Manual dispatch for testing individual platforms
- Distribution packages with platform-specific launchers:
- Windows: run-gecko.bat
- Linux: run-gecko-linux.sh
- macOS: run-gecko-macos.sh
- WSL: run-gecko-wsl.sh (X11 forwarding)
- Examples: Circuit files + tutorials
- PMD violations: 823 → 496 (-40%, total -86% from baseline)
- Code quality improvements:
- ForLoopCanBeForeach (94 violations fixed)
- CloseResource (52 violations fixed)
- CompareObjectsWithEquals (31 violations fixed)
- 6 violation categories eliminated to 0
Key Metrics¶
- CI/CD: Fully automated release pipeline
- Platforms: 5 distributions per release
- Artifact retention: 30-90 days
- PMD violations: 496 (code-style only)
- SpotBugs: 0 bugs maintained
Downloads¶
Distribution packages for all platforms:
System Requirements¶
- Java: OpenJDK 21 or later
- Memory: 4 GB RAM (8 GB recommended)
- Storage: 200 MB for application
- Display: 1280x720 resolution (HiDPI supported)
- WSL Only: X server (VcXsrv, Xming, or WSLg)
Installation & Getting Started¶
See the Installation Guide for detailed platform-specific instructions.
After installation, check out:
Full Changelog¶
Commits in this release¶
- 6db364f1 Add comprehensive release plan and execute v1.2.0-v1.9.0 releases
- ec32bdcd Add GitHub Actions workflows for desktop release packages
- 410823d7 Update documentation: <500 PMD violations target achieved!
- 1e4eaa0a Achieve <500 PMD violations target: 823 → 496 (-40%)
- 255f4c73 Update documentation: ForLoopCanBeForeach complete, PMD at 583
- 26679691 Complete ForLoopCanBeForeach cleanup: all 94 violations fixed
- 538d025f Fix CI: use install instead of package to make dependencies available
- 1e42c450 Fix CI compilation errors: add missing imports for moved classes
- c3668e7c Fix CI workflow: use reactor build to compile all modules
- 2a50cd6f Update documentation with final PMD cleanup results
- a600bf1e Fix 55 high-value PMD violations: resource leaks and exception handling
- 8057c904 Fix 59 PMD violations and exclude 116 false positives
- 682318d3 Update project documentation after PMD violation fixes
- f3ac9b01 Fix CI workflow: explicitly specify POM file for jacoco:report
- 2b3add3c Fix 37 ReturnEmptyCollectionRatherThanNull PMD violations
- 67747dd6 Fix CompareObjectsWithEquals bug in AxisLimits
- 33332759 Sprint 5 Phase 3 (Partial): Migrate source calculator dependencies to core
- e38425a5 Sprint 5 Phase 2: Implement circuit file operations REST endpoints
Links¶
Support¶
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: tinix84.github.io/GeckoCIRCUITS