Video WallpaperGet it free

Releases

What changed, and what we still support

The current minor is supported. The one before it gets fixes for anything that loses data or stops the app launching. Everything older is end of life. Small enough that we can actually honour it, which is the only kind of policy worth publishing.

Supported macOS versions

macOSStatusNotes
macOS 27SupportedDeveloped and tested on this release.
macOS 26 (Tahoe)SupportedSame APIs; the display-native pipeline is unchanged.
macOS 15 (Sequoia)SupportedAVSampleBufferDisplayLayer path is identical.
macOS 14 (Sonoma)Security fixes onlyMinimum for CADisplayLink on AppKit, which the shared decode needs.
macOS 13 and earlierEnd of lifeBelow the build's deployment target; the app will not launch.

Releases

v1.14.2

CurrentSupported2026-09-04
  • Measured: the wallpaper adds 2-4 points of WindowServer CPU for two displays at 60 fps, not the 30-40 per display it was blamed for; the cost that is real is GPU time. Write-up in docs/RCA-2026-09-04-windowserver-tax.md
  • measure-gpu.sh now reports ControlCenter CPU and the gap-skip count for the window, the two things that made earlier readings lie

v1.14.1

Supported2026-09-03
  • Fixed: the Displays submenu closed on the first tick, so three displays took three trips to the menu bar. The rows are real checkboxes now and the menu stays open while you tick or untick as many as you like

v1.14.0

Supported2026-09-03
  • Displays submenu: one checkbox per attached display, internal or external. Untick one and its wallpaper stops while the others carry on; tick it back and it rejoins the running clip. Remembered per display across replugs and reboots
  • Fixed: losing or unticking one of two identical monitors restarted the clip on every display, because two same-size panels were counted as two decode sizes
  • CLI: videowallpaper --displays lists what is attached; --display <name> on|off is the same switch, scriptable

v1.10.1

Supported2026-08-09
  • 240 fps joins the frame rate menu, for footage shot at it. What reaches the screen is still capped by your fastest display
  • Fixed: one clip your Mac has no decoder for pinned half a core and showed nothing, because the decode loop retried it 3,300 times a second forever. Such clips are now detected before playback and passed over
  • 4K YouTube streams in full, as before. 1.10.0 briefly streamed the hardware-decoded 1080p instead and waited for the saved copy to take over — which for a video longer than the keep limit never happens, so it was 1080p for good on exactly the long footage this is for. Reverted

v1.3.1

Supported2026-08-04
  • Offline licence verification, and the Free / Pro / Studio tiers
  • Playlists: mix several folders into one rotation (Pro)
  • Fixed: the wallpaper flashed black at every clip change

v1.3.0

Supported2026-08-04
  • Only decode, scale and draw what the displays can actually show — the pipeline now renders at each display's own size and refresh rate

v1.2.0

Security fixes only2026-08-04
  • One decode shared by every screen, instead of one decode per screen

v1.1.0

Security fixes only2026-08-04
  • Menu bar app with settings, app icon and menu bar icon
  • Pauses when covered, when the display sleeps and in Low Power Mode
  • Starts at login and restarts on crash, via a LaunchAgent