Changes#
Version 1.2.3 (latest)#
Bug Fixes
Fixed crash when changing X2 spinbox values after clearing the graph
Fixed issue where X2 spinbox appeared unexpectedly for 1D scans after removing curves or switching between files
Fixed issue where 2D tab disappeared after switching to a 1D file in auto-add mode
Version 1.2.2#
Bug Fixes
Incomplete 2D Scan Handling: Fixed crash and display issues when loading aborted 2D scans
Version 1.2.1#
Bug Fixes
UI/UX Improvements: Fixed dark mode contrast issues in data table view
Data Visualization: Fixed X2 spinner control incorrectly appearing for 1D data files
Infrastructure
Build System: Commented out automatic release creation and fixed PyInstaller commands to properly include UI resources with –add-data flag
Documentation: Enhanced installation and build documentation
Version 1.2.0#
Major Features
2D Mesh Scan Visualization: Implemented 2D mesh scan support, enabling visualization of mesh scans in both 2D and 1D slice modes. 2D visualization is available in contour and heatmap modes, with multiple color palettes options.
Snap Cursor to Selected Curve: Added configurable cursor snapping functionality. Users can now toggle between snapping cursors to the nearest data point or placing them at exact mouse click locations.
Bug Fixes
Tab Switching Responsiveness: Fixed issue where curve remove button and plot controls became unresponsive after switching between 1D and 2D tabs.
2D Mode Auto-Replace Behavior: Improved user experience in 2D mode by addressing confusing behavior with forceAutoReplaceMode. The interface now provides more intuitive and predictable interactions.
Infrastructure Improvements
Logging System: Replaced print statements with proper logging infrastructure.
Documentation Updates: Comprehensive documentation updates including user guides, API documentation, and improved examples to support new features and functionality.
Type Safety Enhancements: Improved code quality with enhanced type annotations, stricter mypy configuration, and better error handling throughout the codebase.
Technical Notes
Enhanced type checking with proper Optional handling
Improved CI/CD pipeline with stricter quality checks
Updated dependencies and build configuration
Version 1.1.2#
Major Features:
PyQt6 Migration: Complete migration from PyQt5 to PyQt6 for future compatibility
Python 3.13+ Support: Ensured compatibility with Python 3.13 and future versions
Curve Unscaling: New “Un” column for rescaling curves to match the range of other Y curves
Multiple Selection Support: Enhanced table model to support multiple selections per row for data processing
Auto-Load Folders: Toggle auto-load in preferences
Technical Improvements:
CI/CD Pipeline: Comprehensive GitHub Actions workflows with cross-platform testing
Code Quality: Pre-commit hooks, ruff linting, mypy type checking
Testing: 244 tests passing with 47% coverage, automated testing on multiple Python versions
Bug Fixes:
Fixed PyQt6 API compatibility issues
Fixed time scan not displaying plot
Fixed data table view shrinking vertically
Version 1.1.1#
Bug Fixes:
Fixed Qt flags conversion error in MDAFileTableModel by using proper Qt constants instead of integer values
Fixed license dialog crashes the app
Version 1.1.0#
Features:
Implement lazy loading for improved performance
Increase file loading limit to 10,000 files
Add curve fitting functionality
Add I0 normalization feature
Add line style customization options
Add Ctrl+F search functionality to metadata
Add comprehensive test suite
Bug Fixes:
Fixed main window layout expansion issues
Fixed core dump when refresh button is triggered multiple times
Version 1.0.0#
Features:
Basic MDA data visualization
Interactive plotting with matplotlib
Folder navigation and file selection
Basic mathematical analysis tools
Remembers recently opened folders for quick access
Initial Release:
Core MVC architecture
Qt5-based user interface
Basic data loading and display
Cross-platform support