Releases: Ariel-Gal/PyMontage
Release list
v1.0.1 - Font Management & Cleanup System
🎯 PyMontage v1.0.1 - Font Management & Cleanup System
📋 Description
Release of version 1.0.1 with major improvements to font management, server cleanup, and code maintenance.
✨ New Features
-
Google Fonts Integration: Search and download any font directly from Google Fonts library
-
Real-time font search with live results (up to 15 matches)
-
One-click font download and installation
-
Auto-caching to avoid re-downloading
-
Enhanced Font System:
-
Built-in support for Windows system fonts (Arial, Trebuchet, Comic Sans, etc.)
-
Fallback resolution: absolute path → local cache → system fonts → auto-download
-
Downloaded fonts persist in
assets/fonts/directory
🧹 Improvements
-
Auto Cleanup System: Server now cleans up all temporary files on shutdown
-
Removes
temp_uploads/andtemp_outputs/directories -
Cleans Python cache (
__pycache__/,.pytest_cache/) -
Removes compiled Python files (
*.pyc,*.pyo) -
Cleans MoviePy temporary files
-
Graceful exit on CTRL+C (SIGINT) and system termination (SIGTERM)
-
Updated .gitignore: Added entries for all cleanup targets
-
*.pyo,.pytest_cache/for Python cache -
assets/fonts/for downloaded fonts (regenerated on demand) -
TEMP/,*.tmpfor MoviePy temporary files
📝 Changes
-
app.py:
-
Added
cleanup_temp_folders()function with comprehensive cleanup -
Added signal handlers for SIGINT and SIGTERM
-
Added
/fonts/searchendpoint (Google Fonts metadata API) -
Added
/fonts/downloadendpoint (font installation) -
video_engine.py:
-
Enhanced
install_google_font()with Google Fonts API integration -
Enhanced
resolve_font_path()with priority-based fallback -
Added tempfile import for cleanup support
-
templates/index.html:
-
Fixed JavaScript syntax errors (missing closing brace in
updateVideoDurationEstimate()) -
Added font search UI with real-time input
-
Added "Download & Use" buttons for Google Fonts
-
Auto-population of font dropdown with downloaded fonts
-
README.md: Updated documentation for v1.0.1 with new features
✅ Testing
- Font search returns correct results from Google Fonts
- Font download saves files to
assets/fonts/and persists across sessions - Server cleanup removes all temporary files on exit
- CTRL+C gracefully shuts down and cleans up
- Frontend font selection properly resolves through fallback system
📚 Documentation
See README.md for updated documentation on font features and configuration.
v1.0.0 - First Production Release 🚀
PyMontage v1.0.0 is here! 🎉
This is the first stable release of PyMontage, an automatic video slideshow creator powered by Flask and MoviePy.
✨ Key Features
- Smart Layouts: Automatically arranges photos in 2x2 grids, 1x3 vertical grids, or collages based on orientation.
- Audio Magic: Supports multiple audio tracks with automatic crossfading and beat synchronization.
- Web Interface: Full local web GUI (Flask + Bootstrap) with drag-and-drop support.
- Customization: Control resolution (up to 4K), transition speeds, fonts, and video quality (bitrate/FPS).
- Performance: GPU acceleration support (NVIDIA NVENC) and smart image downscaling for memory optimization.
🛠️ Installation
- Clone the repo.
- Install dependencies:
pip install -r requirements.txt - Run the app:
python app.py - Open
http://127.0.0.1:5000
Enjoy your slideshows! 🎬