-
2.3.0 Stable
released this
2026-01-07 23:09:12 +01:00 | 0 commits to main since this releasePNG Metadata Editor v2.3.0 - Release Notes
Release Date: January 7, 2026
Overview
Version 2.3.0 represents a major update to PNG Metadata Editor with significant UI enhancements, critical bug fixes, and improved user experience. This release introduces an image browser with thumbnail previews, automatic dark mode detection, and intelligent JSON handling that preserves original formatting.
New Features
Image Browser with Thumbnails
- Browse Directory functionality loads all PNG files as 150x150 thumbnails
- Click any thumbnail to instantly load its metadata
- Auto-scroll centers selected images in the viewport
- Progress indicator shows loading status for large directories
- Smooth navigation between multiple files without reopening dialogs
Automatic Dark Mode Detection
- Detects system theme on macOS, Windows, and Linux
- Adaptive canvas and frame colors based on OS settings
- Dark mode: #2b2b2b backgrounds with white text
- Light mode: #f0f0f0 backgrounds with black text
- Seamless integration with no user configuration needed
Enhanced Scrolling
- Trackpad and mousewheel scrolling support
- Platform-specific scroll event handling (macOS, Windows, Linux)
- Triple scroll region update ensures reliable thumbnail browsing
- Smooth scrolling experience across all platforms
Smart JSON Handling
- format_value_for_display(): Pretty-prints JSON for readable editing
- flatten_json_if_valid(): Automatically flattens JSON on save
- Preserves original compact format in PNG metadata
- Example: Edit multi-line JSON, save as single-line automatically
- No user intervention required
Critical Bug Fixes
File Loading Issue (FIXED)
- Problem: Couldn't load second file after first load; application would hang or error
- Cause: PIL Image handles weren't being closed, leaving files locked
- Solution: Added
img.close()after metadata extraction - Impact: Now supports reliable sequential file loading
JSON Format Preservation (FIXED)
- Problem: Edited JSON values were saved in multi-line pretty-printed format instead of original compact format
- Cause: Pretty-printed JSON from editor was saved as-is
- Solution: New
flatten_json_if_valid()function automatically compresses JSON before saving - Impact: Maintains consistent metadata format:
{"key":"value"}not multi-line
Scroll Region Update (FIXED)
- Problem: Couldn't scroll to last thumbnails in directory
- Cause: Scroll region wasn't updated after thumbnail loading completed
- Solution: Triple update strategy (0ms, 100ms, 300ms) ensures proper scroll region
- Impact: Full access to all thumbnails regardless of directory size
Technical Improvements
File Handle Management
- Proper image closure after reading metadata
- Prevents file locking on Windows
- Enables reliable multi-file workflows
Code Architecture
- New helper functions for theme detection and JSON handling
- Platform-specific implementations for cross-platform compatibility
- Enhanced separation of concerns for maintainability
Performance
- Progress updates every 3 files during thumbnail loading
- Deferred scroll region updates prevent UI freezing
- Efficient thumbnail caching
Documentation Updates
README.md v2.3.0
- Complete feature list with organized categories
- Updated usage instructions with image browser workflow
- Dark mode explanation for all platforms
- Technical details on JSON handling
- Clean, emoji-free markdown for universal compatibility
Technical Documentation
- Four mermaid sequence diagrams showing component interactions
- Complete architecture overview with design patterns
- Comprehensive function documentation
- Troubleshooting section updated with v2.3.0 fixes
- ASCII-only formatting for maximum compatibility
Helper Functions Documentation
- Seven new helper functions documented
- Platform-specific implementation details
- Critical workflows explained (JSON, Theme, Image Loading)
- Best practices updated for v2.3.0
Upgrade Notes
For Users
- No configuration changes required
- Existing PNG files remain compatible
- Dark mode automatically detected on startup
- All features work out-of-the-box
For Developers
- Review helper functions documentation for new APIs
- Note:
flatten_json_if_valid()must be called before saving - Theme colors available via
get_theme_colors() - Image browser scroll binding via
bind_mousewheel()
Breaking Changes
None. This release is fully backward compatible with v1.0.0.
Known Issues
None reported at release time.
Installation
pip install pillow python png-meta-editor.pyOr use the provided build script:
python build.pyFiles Included
png-meta-editor.py- Main application (v2.3.0)README.md- User documentationTECHNICAL-DOCS.md- Technical reference with diagramsHELPER-FUNCTIONS.md- Helper function documentationbuild.py- Build script for distribution
Commit Message
feat: add JSON flattening and fix file loading with proper image handle cleanup (v2.3.0)Contributors
Robert Tusa (robert@tusa.at)
License
MIT License
What's Next
Future improvements planned for v2.4.0:
- Batch processing for multiple files
- Metadata validation rules
- Export/import to JSON
- Undo/redo support
- Reactive theme changes
- Async thumbnail loading
Download: Available in repository
Support: Open an issue for bugs or feature requestsDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
1 download
-
PNG Metadata Editor.zip
0 downloads · 15 MiB