Back to RWPP
Changelog
Changelog
All notable changes to RWPP are documented here.
v1.3.2
LatestAdded
- Frame Rate Limiting - New performance setting (Unlimited/60 FPS/30 FPS) to reduce CPU usage
- Performance Settings Section - Dedicated settings area for frame rate control
Fixed
- Animation Switch Crash - Fixed use-after-free crash when loading a new animation file (reuses windows instead of recreating)
- Mode Change Crash - Fixed crash when switching between combined and per-screen modes
- ViewModel Use-After-Free Crash - Fixed EXC_BAD_ACCESS when SwiftUI views accessed deallocated Rive instances during cleanup
- Gallery Sandbox Migration - Fixed gallery items disappearing after switching between sandboxed and non-sandboxed builds
Changed
- 30 FPS recommended for battery life - reduces CPU usage by ~50% with imperceptible difference for wallpapers
v1.3.1
Added
- Sliding Navigation Transitions - Smooth slide animations when navigating between screens
- Unit Test Suite - Comprehensive tests for AppState, Logger, Navigation, Gallery
- Sanity Test Script - Quick validation script for CI/CD and local checks
Fixed
- Export Log - Uses NSSavePanel for user-selected save location
- Gallery Delete/Clear - Confirmation dialogs use NSAlert.runModal() for menu bar context
Changed
- Single-Popover UI - All views stay inside menu bar popover instead of external windows
- Dynamic Popover Sizing - Automatically resizes to fit content, scrolls only when needed
- Improved Button Hitboxes - All buttons have proper contentShape for full clickable areas
v1.3.0
Added
- Dynamic ViewModel Controls - Color picker, toggle, slider, picker, and number controls
- Internal Animation Storage - Files persist even if originals are moved or deleted
- Multi-Artboard Support - Automatic orientation detection (landscape/portrait/combined)
- Combined Mode - Span animation seamlessly across all monitors
- Sync & Reset - Sync values between artboards, reset to defaults
- Confirmation Dialogs - Prevent accidental deletion from gallery
Fixed
- Crash on Cleanup - Fixed EXC_BAD_ACCESS when SwiftUI views accessed deallocated ViewModel instances
- Text Field Focus - Fields properly defocus when interacting with other controls
- Control Updates - Controls dynamically update on reset without closing panel
- Color/Picker Not Opening - Fixed tap gestures blocking native control popovers
- Value Persistence - Fixed values resetting after app restart (stable hash)
Changed
- Gallery items now stored internally with content-based deduplication
- Minimum macOS version updated to 14.0 (Sonoma)
v1.2.9
Fixed
- App Launch - Added code signing step to release workflow for proper DMG distribution
v1.2.8
Fixed
- App Icon - Fixed icon sizing to fill full canvas without black background
- App Launch - Fixed code signing for downloaded DMG (removed fileicon post-processing)
v1.2.7
Fixed
- What's New Section - Version now fetched from version.json instead of stats API
- What's New Section - Added cache-busting to prevent stale changelog data
- Docs Tables - Added remark-gfm for proper markdown table rendering
- Docs Sidebar - Fixed navigation links to correctly scroll to sections
- Docs Sidebar - Fixed Privacy & Security link (HTML entity decoding)
Changed
- What's New Section - Now displays full changelog with categorized sections (Added/Fixed/Changed)
v1.2.6
Added
- Dynamic Changelog - Changelog now fetched from Blob storage, auto-updates on release
- Dynamic Documentation - Docs page renders from markdown stored in Blob
- Floating Sidebar Navigation - Both docs and changelog pages have fixed navigation
- Extended Documentation - Added sections for getting animations, privacy, support, and roadmap
Fixed
- Download Counter - Fixed NULL handling in database increment
- Version Display - Reduced cache TTL for faster version updates
- Intel Mac References - Removed incorrect Intel support mentions from docs
Changed
- Release Workflow - Now automatically updates changelog.json in Blob storage
v1.2.5
Added
- Landing Page Migration - Web landing page now hosted from rwpp repo
- Automated CI/CD - Unified release workflow for both macOS app and landing page
Changed
- Hero Animation - Changed Rive animation fit from FitHeight to FitWidth
v1.2.4
Fixed
- DMG Volume Icon - Now uses proper .icns file (PNG wasn't supported by create-dmg)
- App Icon in DMG - Uses fileicon to set custom icon on app bundle
v1.2.3
Fixed
- GitHub Release Permissions - Added contents: write permission to release workflow
v1.2.2
Fixed
- DMG Volume Icon - Now uses create-dmg to bake volume icon into DMG
- DMG Layout - Styled DMG window with app icon and Applications folder shortcut
v1.2.1
Added
- Automated release pipeline - Builds DMG, uploads to Vercel Blob, creates GitHub Release
Changed
- App Icon Size - Scaled icon content to fill 95% of canvas
- Custom Icon Distribution - Both app bundle and DMG now display custom RWPP icon
v1.2.0
Added
- GitHub Actions workflow for automated releases
- Vercel Blob integration for DMG hosting
- Version info JSON for dynamic version display
Changed
- Release workflow now uploads directly to Vercel Blob
- Download links now point to blob storage
v1.1.0
Added
- Launch at Login - Option in Settings to auto-start RWPP on login
- Custom App Icon - Distinctive RWPP branding with R/play design
- Custom Menu Bar Icon - Template image that auto-adapts to light/dark mode
- Xcode Previews - All UI states previewable in Xcode Canvas
- User Documentation - Comprehensive user guide
- Instrumentation Scripts - Tools for monitoring and testing
Fixed
- Crash on Wallpaper Switch - Now reloads animation in existing windows
- Thumbnail Persistence - Thumbnails captured only once per animation
- Menu Click Responsiveness - Added NSApp.activate on menu appear
- Build Number Reset - Build number correctly resets to 1 on version change
Changed
- Menu bar icon sized to 18x18 points for proper display
- Header icon in popover now uses custom RWPP icon
v1.0.1
Added
- Gallery System - Grid view of previously played animations with thumbnails
- Settings Panel - Configuration options in dedicated view
- Thumbnail Generation - Captures screenshots from live wallpaper window
- Build Number Auto-Increment - Script automatically increments build
- Gallery Persistence - Played animations saved to UserDefaults
Fixed
- Stop Button Closing App - Now properly unloads animation without terminating
- File Picker Unresponsive - Changed from runModal() to begin() with completion handler
- Animation Not Playing After Stop - Clearing windowControllers ensures fresh windows
- Gallery Items Not Clickable - Changed from Button to onTapGesture
Changed
- Gallery and Settings render as inline views (not sheets)
- Added back button navigation from Gallery/Settings to main view
- Version and build number displayed in footer
v1.0.0
Added
- Initial Release of RWPP (Rive Wallpaper Player)
- Rive Animation Playback - Play .riv files as desktop wallpaper
- Multi-Display Support - Automatic detection for all screens
- Menu Bar App - Lightweight, stays out of the way
- File Selection - NSOpenPanel for selecting .riv files
- Play/Pause Controls - Toggle animation playback from menu bar
- Session Persistence - Remembers last animation using security-scoped bookmarks
- Auto-Restore - Optionally load last animation on app start
- Click-Through Windows - Wallpaper doesn't capture mouse events