Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 16:25
· 1135 commits to main since this release

WallpaperMachine 1.0 ships as a drag-to-install disk image and adds a first-run guide with Steam sign-in, optional now-playing support for music wallpapers and many scene rendering fixes.

New

  • Downloads and in-app updates now come as a drag-to-install disk image with first-launch steps under System Settings → Privacy & Security → Open Anyway
  • A first-run welcome guide sets language and appearance, signs in to Steam and shares tips, and can be reopened from Settings → Library & Steam
  • Music wallpapers can optionally show the current track, cover art and playback state from your Mac's now-playing information once you allow media access
  • Play, pause, next and previous buttons inside music wallpapers can now control the player you are using, starting on the action the button's name suggests
  • Choose how many Workshop downloads run at once in Settings → Library & Steam → Downloads at once, from 1 to 6
  • Settings → General has a Language picker for System (Auto), English and Simplified Chinese that switches the panel in place
  • The control panel has a Wallpaper Engine-style filter sidebar with Workshop filters for type, age rating, resolution and tags, plus more Discover sort orders
  • Installed can be filtered with the same sidebar boxes as Discover and sorted by name, type, favorites, file size or date added
  • Wallpapers that let you choose your own picture now show the picture you pick instead of the packaged artwork
  • Tiles show corner marks for staff-approved items, favorites and wallpapers already in your library
  • Report a problem on GitHub now opens with the wallpaper's details filled in
  • Choose between new branded app icons
  • Settings → About shows what changed in the newest release
  • The optional Native Metal renderer now draws effects, video, text layers, puppets, particle trails and sprite sheets

Improved

  • Scenes with many large images open much faster because their images are decoded once and in parallel
  • Newly connected displays start enabled with the main display's wallpaper, and turning one off is remembered across reconnections
  • The Discover download ring names the current step, such as Connecting or Signing in, and shows Finishing while files are checked and imported
  • Discover previews download once, are kept on disk and play sooner, and resizing the window no longer reloads the page
  • The frame rate limit you set is now respected by wallpapers that react to the pointer
  • Changing tracks on a music wallpaper no longer reloads the whole wallpaper or restarts its videos
  • Heavy 3D wallpapers get more time to show their first frame, and later launches reach it faster
  • Scene wallpapers do less redundant drawing work while playing
  • Control panel text is rewritten in plain language and every message, menu and error is now translated into Simplified Chinese
  • Checking for updates no longer reports an error when no release has been published yet

Fixed

  • Wallpapers no longer disappear when you hide the app with Cmd-H or after activating a wallpaper
  • The app restores your own wallpapers at launch instead of posters or selections inherited from another display
  • Scene video textures no longer freeze after half a second, and 4K video scenes no longer fail with no first frame
  • The internal render scale setting now takes effect on scene wallpapers
  • Wallpaper buttons no longer stay stuck shrunk after being pressed
  • Sounds bound to a wallpaper's volume slider now follow the slider
  • Camera intros in 2D scenes play, and masked or parallax layers stay in place instead of sliding out of view
  • 2D wallpapers with a camera layer no longer show only a small patch in one corner
  • Blurred layers no longer flatten into a grey wash in the Compatibility renderer
  • Effects written for Wallpaper Engine that were silently dropped now appear on their layers
  • Audio-responsive elements react to sound on the Native Metal renderer instead of turning black
  • Heavy 3D scenes no longer collapse to a column or lose skies, rings and large meshes
  • Mouse trails follow the cursor near screen edges instead of drifting away from it
  • Parallax no longer pushes grouped layers aside and uncovers what is beneath them
  • Scripted dock icons in wallpapers now scale, fade and open as intended
  • Album covers keep their authored shape instead of turning into circles
  • Music wallpapers no longer go blank after changing a setting until playback is paused and resumed
  • The lock screen status row now shows the real reason the experimental animated lock screen failed to start
  • Applying a wallpaper no longer turns a mirrored display back into an independent one
  • Installed tiles no longer show a leftover Discover preview animation
  • Web wallpaper options keep their types and authored order
  • Some control panel error messages no longer appear in English when the panel is in Chinese

Full changelog: v0.5.0...v1.0.0

Install

  1. Download WallpaperMachine-1.0.0-arm64.dmg and open it.
  2. Drag WallpaperMachine onto the Applications folder in the window that opens. In-app updates
    replace a copy in /Applications or ~/Applications and nowhere else.
  3. The build is ad-hoc signed and not notarized, so macOS stops its first launch: open
    System Settings → Privacy & Security, click Open Anyway, and confirm.

Verify the download

shasum -a 256 -c WallpaperMachine-1.0.0-arm64.dmg.sha256

Apple silicon (arm64), macOS 26.0 or later.

Built from v1.0.0 at 1d5c9d25889b792a89b3bf6e886acffe2ab137cf (git rev-parse v1.0.0^{commit} must match).

104 commits in this release
  • test(brand): skip Icon Composer exports where ictool cannot render (7bbefd6)
  • ci(build): drop the licensing gate so the release image publishes (db519b9)
  • docs(readme): add linux.do friend link (36ebdd8)
  • docs(readme): rebuild the README on the website's structure (78a0800)
  • docs(licensing): record the free download and Supporter model (9d8a974)
  • Restore user wallpapers instead of posters or inherited selections; refresh welcome UI and docs (ca08dbd)
  • Keep wallpaper windows visible when the app hides (de7bf1d)
  • docs(testing): record the disk image and release-notes verification (401244b)
  • feat(release): ship a drag-to-install disk image with model-written notes (c1d75c9)
  • Log Release build verification after syncing origin/main (2567fd2)
  • Hide app after activating a wallpaper so it is visible (e8aab7b)
  • docs(provenance): record the crates/core demand-reason comment change (6106f50)
  • docs(testing): record the Lucy renderer fix verification and Release build (37f094e)
  • fix(scene): play 2D camera shots and keep masked and parallax layers in place (2af149c)
  • fix(shader): stop dropping effects that assign a wide vector to a narrow one (40b54e2)
  • feat(displays): start first-seen displays enabled with the primary wallpaper (e44b960)
  • fix(panel): stop Discover animations when the grid leaves Discover (93d6aa4)
  • docs(testing): record lock-screen fix verification and Release builds (aaed861)
  • fix(lock-screen): report extension acquire failures to the app (e8ccca1)
  • perf(scene): decode pass textures once and in parallel (d81942d)
  • perf: eliminate repeated uniform, audio and artwork work (259d54e)
  • feat(downloads): choose how many Workshop downloads run at once (9b07191)
  • fix(scene): offset camera parallax by a layer's scene position (5f05973)
  • test(panel): match the first-run guide to the window surface (e1e176a)
  • perf(scene): reduce redundant Metal work and bound poster retention (3c542df)
  • docs: update verification log with details of the 2026-09-22 Release build and cleanup (5a4201f)
  • fix(panel): refine macOS UI and distinguish empty update feeds (5ca5ca3)
  • feat(ui): improve settings, property presentation, and app branding (30e2ac7)
  • fix(web): preserve authored option types and property ordering (80f191b)
  • feat(release): write the notes from the commits and publish draft-first (1d7f181)
  • feat(appearance): add branded app icons and icon selection (c485de1)
  • fix(i18n): translate every user-facing message and rewrite the panel copy plainly (0e85acc)
  • fix(scene): let wallpapers use the pictures and the framing their users pick (2d6fbe6)
  • fix(scene): let heavy 3D wallpapers finish a frame and keep drawing (2e2109c)
  • docs: record the re-verification and Release build on the renamed tree (3d97613)
  • fix(scene): give the mouse trail the window's coordinates, not the canvas's (b4cc8b1)
  • chore: finish renaming the project to WallpaperMachine (916d43d)
  • fix(scene): stop a camera layer from reframing a 2D wallpaper (1bf2039)
  • fix(render): re-bake texture resolution once the screen size is known (bdd3118)
  • Revert the album-cover rejection: the measurement behind it was wrong (3efb4e4)
  • chore(xcode): regenerate after removing the dead media coordinator (9cd8719)
  • fix(metal): send scenes that draw the album cover back to Compatibility (c7fff8d)
  • fix(media): stop a trait default from swallowing the shortcut sink (c8c0155)
  • fix(media): let something actually wait for a wallpaper's button press (99c303a)
  • fix(media): send a host-supplied shortcut default to the scene engine (916b523)
  • fix(scene): give a button's release to whatever took its press (ee53a32)
  • fix(media): bind transport shortcuts by default, and pin what the progress bar is (fdd481a)
  • docs: record the two defects the restored dispatch exposed (264dceb)
  • fix(renderer): do not rebuild a Metal graph for a scale that has not moved (e91592a)
  • docs: record the power round, and what it did and did not explain (dce6f56)
  • test(panel): measure from a settled state instead of a fixed window (67d8279)
  • perf(renderer): stop deciding reuse for a graph that has none (b8a98ae)
  • fix(renderer): a cover is pixels, and the render scale now reaches the scene (a38b55d)
  • fix(renderer): keep a bound image alive while two names share it (fbb1916)
  • fix(media): stop feeding wallpapers nobody is looking at (73ed2a0)
  • fix(renderer): hold every frame request to the rate the user chose (b4c6f04)
  • feat(panel): filter Installed with Discover's sidebar boxes (05764a6)
  • test(renderer): dump targets and alpha from both backends, and name the diverging pass (06ac2ca)
  • test(renderer): pin that a button sound actually plays when asked (b837012)
  • docs(testing): record the release build after the revert (960c730)
  • docs: describe the shortcut chain, the moved pin and the new probe knobs (423543c)
  • Revert the video picker, and fix the sound volume claim (500e0c3)
  • docs(testing): record the release build (4d5ebf9)
  • fix(panel): offer a video where the wallpaper says it accepts one (5294fce)
  • fix(renderer): let a sound follow the slider its author bound it to (80958e5)
  • docs(testing): record the release build of the shortcut chain (90b9e9a)
  • feat(media): carry out the action a user bound to a wallpaper's button (0194594)
  • feat(bridge): carry shortcut presses to the host, gated on media consent (1bfd2ca)
  • fix(build): move the deployment target rather than dropping it (73e66fe)
  • fix(build): stop pinning a deployment target for cargo, and relay shortcuts in core (5c7437e)
  • feat(renderer): carry openUserShortcut requests to the FFI boundary (005fed9)
  • feat(renderer): implement engine.openUserShortcut (286c418)
  • docs(testing): correct what the Metal cloud measurement actually showed (d6ca1cf)
  • test(renderer): read any Metal render target, and stop leaking the optimisation flag (46b0314)
  • test(renderer): make the two scene backends comparable offscreen (6d3cda9)
  • test(renderer): make the consent test pin the clear it is named for (cf842ec)
  • test(renderer): cover the media replay at the SceneWallpaper level (0ddbb8b)
  • fix(renderer): keep media state across a scene rebuild; screenResolution is the display (6489c91)
  • feat(panel): full-window first-run welcome guide with Steam sign-in (794bc75)
  • fix(panel): localize remaining hardcoded action error messages (ae3c17b)
  • test(renderer): pin both halves of the texture-default combo rule (5498815)
  • fix(renderer): an annotation default is not the material binding a texture (5a2e295)
  • docs(testing): drop the three repaired shaders from known limitations (736d434)
  • fix(shader): one uniform array layout for both backends, and three author effects (62a134b)
  • feat(workshop): name the SteamCMD step in the tile download ring (d6e9b78)
  • chore(testing): quiet tool output, archive history, split large suites (f94ab32)
  • perf(testing): parallelise native tests, make live Steam cases opt-in (92782b6)
  • chore(testing): tiered verification gate and targeted test runs (110fe92)
  • feat(localization): in-app language picker and per-language panel catalogs (0ba421c)
  • docs: cap verification log at ten entries and archive older ones (6606867)
  • feat(media): add scene media wallpaper support and enhance media snapshot handling (8491c04)
  • Update verification log and provenance for media handling improvements and runtime image source adjustments. Documented the rebase of scene-media plumbing onto native Now Playing, including test results and fixes for thumbnail handling to ensure version consistency. Enhanced media thumbnail management in RuntimeImageSource to maintain image integrity during updates. (ffd3c76)
  • feat(media): integrate scene media support and enhance media handling (51a0e90)
  • feat(media): native now-playing integration and Leon scene fixes (f2cf701)
  • fix(renderer): unfreeze scene video textures and report the native first frame (06c5c38)
  • fix(panel): localize scaling option, resolve zh locales via Intl, guard i18n catalog (a9b2c79)
  • feat(renderer): add puppets and particle trails to Metal backend (77156e0)
  • feat(renderer): improve text layer handling and scene idling in Metal backend (4330fef)
  • feat(panel): Wallpaper Engine-style browser, Workshop filters, faster Discover previews (b3c83bd)
  • feat(renderer): enhance Metal backend with text layer support and runtime image handling (6723d61)
  • feat(video): add direct NV12 plane sampling and scene optimization reporting (c2dce0c)
  • feat(scene): scene optimisation on Metal, sprite sheets, 2D sprite pa… (#3) (0eaa9ed)
  • feat(renderer): native Metal effects, video, and poster support (5ec41d7)
  • feat(scene): whole-scene on-demand updating, native Metal backend, managed user assets (b595821)