# Changelog All notable changes to this project will be documented in this file. ## [3.0.0] - 2026-07-15 ### โœจ Features - **Generic Host DI**: Integrated `Microsoft.Extensions.Hosting` to manage dependency injection and app lifecycle. - **Thumbnail Caching**: High-performance thread-safe `MemoryCache` that prefetches thumbnails in the background, minimizing UI flicker. - **Dynamic Categories**: Scraping categories dynamically from 4kwallpapers.com with robust hardcoded fallback. - **Wallpaper Search**: Dynamic search with full UI support and infinite scrolling pagination. - **Favorites & Bookmarks**: Save favorite wallpapers locally and browse them through a dedicated `โญ Favorites` category. - **Tray Menu Toggle**: Added a checkable "Auto-Change Enabled" option to the system tray context menu to pause and resume the scheduler. ### ๐Ÿ› Bug Fixes & Refactoring - **Structured Logging**: Replaced silent catch blocks with `Serilog` file logging for easier troubleshooting. - **Async Cancellations**: Implemented `CancellationToken` across all scraper, service, and view model async calls. - **Thread Safety**: Secured settings serialization using a thread-safe static lock block. - **Removed GC Anti-Patterns**: Removed outdated MemoryOptimizer to let the .NET GC manage RAM natively. --- ## [2.0.1] - 2026-02-24 ### ๐Ÿ› Bug Fixes - **Settings Persistence**: Application now remembers all settings (Auto-change, interval, category) across restarts. - **Category-Aware Auto-Change**: Fixed auto-change service to respect the user's selected category instead of always using "Recent". --- ## [2.0.0] - 2026-02-12 ### โœจ Features - **Major UI Redesign**: Introduced a modern, Deep Space themed interface using WPF UI. - **Improved Scraper**: Enhanced `WallpaperScraper` with Polly resilience and faster HTML parsing via HtmlAgilityPack. - **System Tray Integration**: Full support for background operation with tray icon, context menu, and desktop notifications. - **Startup Management**: Easy toggle for running the application on Windows startup. - **Interval Control**: Quick-select chips for wallpaper change frequency. ### ๐Ÿงน Cleanup & Refactoring - **Consolidated Architecture**: Merged `WallpaperAppV2` folder into project root. - **Clean Naming**: Removed "V2" suffixes from files, classes, and namespaces for a cleaner production state. - **Optimized Repository**: Updated `.gitignore` to exclude large binaries, significantly reducing repository size. --- ## [1.0.0] - 2026-01-25 ### โœจ Initial Release - Basic wallpaper changer functionality. - Initial implementation of the scraper for 4kwallpapers.com. - Manual wallpaper setting capabilities.