Changelog
=========
All notable changes to QtPyGuiHelper will be documented in this file.
The format is based on `Keep a Changelog `_,
and this project adheres to `Semantic Versioning `_.
Version 1.0.0 (2025-01-08)
---------------------------
**Added**
- Initial release of QtPyGuiHelper
- Support for multiple GUI backends:
- Qt backend (PySide6/PyQt6) with qtpy abstraction
- tkinter backend with dark mode support
- wxPython backend with native widgets
- GTK backend for Linux/macOS
- Comprehensive widget support:
- Text input fields (single-line and multi-line)
- Password fields with hidden input
- Email and URL fields with validation
- Number and float fields with range validation
- Date, time, and datetime pickers
- Checkboxes and radio button groups
- Dropdown/combobox selections
- File selection dialogs
- Advanced form features:
- JSON-based configuration system
- Tabbed interface support
- Required field validation
- Custom button actions
- Field change callbacks
- Tooltips and help text
- Form data persistence (save/load JSON)
- Dark mode support:
- Automatic system theme detection
- Proper text visibility in dark themes
- Theme-aware widget styling
- Utility modules:
- ValidationUtils for field validation
- FileUtils for JSON data persistence
- PlatformUtils for system detection
- FormatUtils for data formatting
- LayoutUtils for UI layout helpers
- Configuration system:
- ConfigLoader for JSON configuration parsing
- ConfigValidator for configuration validation
- Comprehensive error handling
- Backend detection and automatic selection
- Extensive documentation and examples
- Comprehensive test suite
**Technical Details**
- Centralized file I/O operations using FileUtils
- Unified validation system across all backends
- Modular architecture with pluggable backends
- Type hints and comprehensive docstrings
- Cross-platform compatibility (Windows, macOS, Linux)
**Dependencies**
- Core: Python 3.8+
- Qt backend: PySide6 6.5.0+ or PyQt6 6.5.0+ with qtpy 2.0.0+
- wxPython backend: wxPython 4.2.0+
- GTK backend: PyGObject 3.42.0+
- tkinter backend: Included with Python
**Breaking Changes**
- N/A (Initial release)
**Deprecated**
- N/A (Initial release)
**Security**
- Input validation to prevent injection attacks
- Safe JSON parsing with error handling
- File path validation for security
**Performance**
- Lazy UI initialization for faster startup
- Efficient widget creation and management
- Optimized form data handling
- Memory-efficient backend selection
Future Releases
---------------
Planned features for future releases:
**Version 1.1.0 (Planned)**
- Additional widget types (sliders, progress bars)
- Enhanced validation rules and custom validators
- Improved theming and styling options
- Plugin system for custom widgets
- Internationalization (i18n) support
**Version 1.2.0 (Planned)**
- Visual form designer/editor
- REST API integration helpers
- Database connectivity modules
- Advanced layout management
- Performance optimizations
**Version 2.0.0 (Future)**
- Web backend support (HTML/JavaScript generation)
- Mobile app generation capabilities
- Cloud configuration management
- Advanced data binding and MVVM patterns
- Breaking changes for improved architecture
Contributing
------------
We welcome contributions! Please see our contributing guidelines for:
- Bug reports and feature requests
- Code contributions and pull requests
- Documentation improvements
- Testing and quality assurance
License
-------
QtPyGuiHelper is released under the MIT License. See LICENSE file for details.