All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Changed GC protection to be automatically applied within
__init__- Instance is saved to
_instanceimmediately aftersuper().__init__()(protects from errors during UI initialization) - Documented GC collection conditions in detail within
__init__docstring
- Instance is saved to
- Removed
set_instance()class method (breaking change: no longer needed as internal implementation)
- Changed implementation to not inherit from
MayaQWidgetDockableMixin - Achieved equivalent functionality to the Mixin by overriding
setVisible()to callshow() - Set parent widget to
None(appropriately managed by WorkspaceControl) - Reorganized logging output and added debug logs to key methods
- Simplified error handling (due to stabilized core functionality)
- Reorganized documentation, separating implementation details from design philosophy
- Added comments to all entry point files (start.py, restart.py, restore.py)
- Fixed issue where window title was not updated during restore
- Enhanced encapsulation: WorkspaceControl processing is completely hidden within the class
- More robust implementation leveraging Qt virtual method overrides
- Improved code readability and maintainability
- Improved function naming
- Refactored workspace control attachment logic into reusable utility functions
- Fixed terminology consistency and language navigation links
- Fixed broken links in multilingual README files
- VS Code development environment auto-configuration (
.vscode/extensions.json,.vscode/settings.json) - Recommended settings for Python, Black, and isort extensions
- Package-level logging configuration functionality (
setup_logging()) - Systematic organization of multi-language documentation (
docs/folder structure) - Japanese contribution guide (
docs/CONTRIBUTING.ja.md) - English contribution guide (
CONTRIBUTING.md)
- Migration from
print()statements to Pythonloggingmodule - Improved documentation structure (multi-language support in
docs/folder) - Auto-formatting configuration for enhanced code quality
- Enhanced developer experience (VS Code environment auto-setup)
- Streamlined contributor guidelines
- Clarified project structure and documentation synchronization
- Added multi-language documentation files in "Project Structure" section of README
- Initial release of Maya PySide template window project
- Dockable and restorable window template using WorkspaceControl
- Maya 2022-2026 support (automatic PySide6/PySide2 switching)
- Type-safe Maya pointer management system (
MayaPointerNewType) - Hot reload functionality for development efficiency
- Advanced type hints using
TypeVarandType[T] - Circular import avoidance design with
_metadata.py - Automatic restore script generation using
inspect.getsource() - Instance management with GC protection features
- Error handling with contextual error messages
- Comprehensive Japanese documentation
- English documentation support
- Chinese documentation support
- Published under MIT license
- Complete API clarification with
__all__exports