Whisky changelog
Back to Whisky14 releases since January 2026 · GitHub releases, checked Oct 26, 2026
3.7.0Latest
Whisky 3.7.0 opens onto a library of your games, adds ways to launch them from outside the window, turns on D3DMetal's Metal 4 path and MetalFX upscaling, and fixes a long list of things found while testing this release end to end.
- A library as the landing screen. Whisky opens onto your games and pinned programs across every bottle: Steam games show their store artwork, other programs get a backdrop from their icon, and cards show running state and last-played times. Bottles sit one click away under their own heading.
- Launch from outside the window. A whisky://launch?steam=<appid> or whisky://launch?pin=<name> URL launches a game after confirming what it is about to run (with a per-target "always allow"), the Dock menu and the optional menu bar extra list your pins, and dropping an executable on the window opens the run sheet.
- Metal 4 command encoding and MetalFX upscaling for D3DMetal, both on by default with per-bottle toggles, and a per-program switch to mask Metal 4 for D3D12 titles it does not suit. Apple's DLSS bridge and NVAPI are now deployed with the runtime so games using NVIDIA Streamline actually offer the DLSS option.
- Discord presence, off by default and per bottle. Whisky can publish the running program, and games that speak Discord's IPC themselves are bridged out of the bottle so their own rich presence works.
- British English localization, kept complete by a CI check.
- Failed dependency installs keep the last few KB of winetricks output next to the attempt.
- DLSS frame generation is its own bottle setting, off by default; on the machine it was measured on it took down the login session, while upscaling is unaffected. A few Streamline titles (Deep Rock Galactic among them) refuse to start with it off, so flip it for those bottles.
- The per-bottle Steam library screen is gone; the landing library does that job for every bottle. The bottle action bar makes Run its primary control. The Sequoia Compatibility Mode toggle is gone; what it claimed to control ships unconditionally.
- Visual C++ Runtime installs work again: the vcrun verbs run unattended and with --force, so the install neither waits on an invisible setup wizard nor aborts on Microsoft's rotated checksums.
- Games start and render: driver-version checks pass under D3DMetal (Helldivers 2's "GPU drivers are out of date" box is gone, #227); DirectX 12 games run again in bottles set to DXVK or DXMT instead of dying between translation layers; games that decode their own video no longer fall to a half-resolution path; Steam-launched games are offered frame generation; a D3DMetal bottle answers the GPU scheduling query; the shader cache toggle controls the cache DXVK actually reads and dxvk.conf is honored.
- Bottles on the GPTK-capable engine keep their profile: CrossOver-lineage Wine names the profile directory differently, so a bottle looked empty (Steam login gone, saves missing) depending on the engine. Both names now resolve to the same profile before every launch.
- Settings that did nothing now do: audio driver and latency reach the registry, the Play Test Tone button plays a tone, "Terminate Wine processes when Whisky closes" actually ends them, and applying a game configuration sets the graphics backend it lists.
- Diagnostics and troubleshooting: crash diagnosis covers games that die later in a session; the diagnosis, export, and audio sheets present with content and can be closed; export and view buttons enable; the guided wizard continues past its findings cards, shows the escalation screen instead of "Problem resolved" when it gives up, and its remediation cards apply what they say; diagnostic exports scrub common credential shapes from arguments and logs unless you opt in to raw output.
- Security: a bottle whose directory name carried shell syntax could have had it executed by the Winetricks screen's terminal command; every value is quoted now. An executable with a pathological icon header no longer crashes the library.
- Housekeeping: Export as Archive writes <folder>/... entries instead of your absolute home path; cancelling a dependency install stops it; the Terminal button works for bottle names with spaces; pins in a freshly created bottle appear everywhere at once; newly created bottles are immediately interactive; a dozen labels that showed raw localization keys show text.
Full details in CHANGELOG.md.
Requires macOS 15 or later. Existing installs update through Sparkle; brew upgrade --cask whisky follows within a few minutes of publishing.
3.6.1
Whisky 3.6.1 fixes a set of issues around graphics backend routing, external drives, and the bottle registry, and makes runtime downloads resumable.
- Graphics backends now apply per program instead of leaking: DLL overrides go through the prefix registry rather than the WINEDLLOVERRIDES environment variable, so a launcher's backend no longer silently becomes every game's backend, and per-program overrides actually take effect.
- A bottle no longer appears twice in the bottle list, and each of its games with it, when its path was registered in two URL forms; an already-duplicated registry heals itself on first launch.
- Bottles on external drives: non-APFS drives are no longer refused as "full", and the new location checks engage on every removable volume shape, disk images included.
- The DLL Overrides section reports the overrides actually in effect, and program settings resolve Recommended to the backend that really runs.
- Steam game routes are forgotten when their bottle is deleted, output from very short-lived Wine processes is no longer occasionally lost, and the CLI uses consistent exit codes with option passthrough for whisky run.
- With D3DMetal installed, Recommended resolves launchers to DXVK, since their Chromium-based clients cannot render on D3DMetal, while the games they start still get D3DMetal.
- Interrupted runtime downloads resume where they left off and retry transient failures instead of restarting from zero.
- Pressing Play materializes settings only for the program that launches, and waiting for a cold Steam client no longer spawns a Wine process every two seconds.
- Creating a bottle on an external or network volume checks the location up front: if macOS is withholding Files and Folders access, the creation sheet says so and links straight to the privacy settings instead of failing later with a cryptic prefix error.
SHA-256 (Whisky-3.6.1.dmg): d3e75b2f4573fe677856ace0d6d92a24750fc4a1df4cf371fa4d0a5aa6903962
3.6.0
Whisky 3.6.0 is the first fully localized release, alongside a Steam games library and Game Porting Toolkit support.
- Fully translated in 22 languages: the entire app is now localized, from Arabic to Vietnamese. Translations are managed on Crowdin; corrections and improvements from native speakers are welcome.
- Steam games library: bottles with Steam installed show your games with live state (running, downloading, update stalled). Play brings the client up quietly, starts the game, and applies its community configuration for that launch only. Per-program settings you have tuned yourself still win.
- Game Porting Toolkit import: point Settings at your own download of Apple's evaluation environment and the D3DMetal payload is validated, stored safely across engine updates, and deployed automatically once an engine capable of running it is installed.
- New command line tools: whisky games lists a bottle's installed Steam games and whisky launch <appid> starts one, both with --json output.
- Program shortcuts launch through the live pipeline instead of baking the environment in at creation time, so they pick up graphics, GameDB, and override changes. Recreate a shortcut to adopt the new behavior.
- The sidebar's running-status probe no longer writes a log file per check (previously ~1440 stray log files per idle bottle per day) and now asks wineserver directly, off the main thread.
- A failed bottle move rolls back cleanly instead of corrupting pin and blocklist paths and leaving the bottle stuck busy.
- Busy bottles can no longer be mutated mid-export, mid-duplicate, or mid-move when the bottle list reloads.
- Games installed in a Steam library are no longer mistaken for the Steam client and get their own launcher detection.
- Two programs sharing a filename no longer share one settings file; existing settings migrate automatically.
SHA-256 (Whisky-3.6.0.dmg): 12a7e24a9dd31879263c8d63059867c4c174cc8c8364affb4d27598f3e5b2319
3.5.2
Bug-fix release: fresh installs work in every locale, DirectX 11 games run on default settings, and lost bottles come back.
- Engine install on day-first-date locales — first-run setup failed with "Archive contains unsafe path" on systems whose language formats dates day-first (UK, French, and many others). The archive safety check no longer depends on the system language.
- DirectX 11 games on default settings — the "Recommended" graphics backend now resolves to a translation layer the installed engine actually provides (DXMT, otherwise DXVK) instead of one it doesn't ship, which silently fell back to WineD3D and broke DX11 titles on fresh installs.
- Backend picker honesty — D3DMetal is greyed out when the installed engine doesn't include it, and bottles already configured for D3DMetal show a clear warning instead of games failing silently at launch.
- Bottle registry resilience — a damaged bottle list is backed up and recovered instead of being silently wiped; bottle creation fails loudly if it can't be saved; creating a bottle without the engine installed points at Setup instead of a cryptic error.
- Lost-bottle recovery — bottles on disk that aren't in your library (created by an older version, left behind by a reset registry, or restored from a backup) are detected at startup and offered for one-click re-import.
- Safer engine extraction — archives are unpacked and their symlinks audited in a staging area; only content that passes every check reaches the destination, so a rejected archive leaves your existing installation untouched.
Thanks to @dappermint for three of these fixes and the reports behind them.
SHA-256: 5af79e903abac08a4755c4319029cd61d7fc58e5f6bf773a54a76159ac4de8a4
3.5.1
Bug-fix release.
Fixed
- Dependency installs now work out of the box. Installing components like the Visual C++ runtime, .NET, DirectX, and fonts — and the Winetricks verb browser — previously failed on a clean install because the winetricks tool was never bundled with the app or the runtime. winetricks (pinned to 20260125) and its verb catalog now ship inside the app, so dependency installation works with no extra setup (Closes #134).
3.5.0
Quality-of-life improvements across bottle settings, the menu bar, bottle loading, and update prompts.
Added
- Inline configuration help — bottle configuration options now show a one-line description of what each does, across the Wine section (Windows version, build, enhanced sync, DPI, Retina mode) and the DXVK section (DXVK, async, HUD). (whisky-app/whisky#807)
- Optional menu-bar extra (Settings → General, off by default) — launch a bottle's pinned programs, reopen Whisky, or quit without the main window focused; Whisky keeps running after the window closes so it stays reachable and running Wine processes aren't terminated. (whisky-app/whisky#571)
Changed
- Scanning a bottle for installed programs now runs off the main thread, so opening or switching to a bottle with many programs no longer hitches the UI; a progress indicator shows while scanning. (whisky-app/whisky#574)
- Scheduled update checks are gentler — a background check that finds a new version shows a Dock badge and an "Install Update…" menu item instead of a focus-stealing dialog. (whisky-app/whisky#765)
3.4.0
Per-bottle DXMT (Direct3D 11 → Metal) — a new experimental graphics backend you can select per bottle or per program — plus reliability fixes.
Added
- DXMT (Experimental) — Direct3D 11 → Metal, selectable per bottle and per program from the graphics picker. Deployed per-bottle like DXVK, so choosing it for one bottle never affects others. D3DMetal remains the recommended default; the backend card prompts you to update the Wine runtime when it isn't available yet.
Fixed
- Per-program graphics overrides now reliably win over the bottle's setting (a legacy flag could previously re-enable or disable the wrong translation layer).
- Installing or updating the Wine runtime no longer erases the rest of Whisky's Application Support folder.
- A launch error for a program opened from Finder now surfaces as a notification instead of failing silently.
3.1.1
Re-cut runtime activating the per-bottle DXMT backend. Wine 11.0 and DXVK 1.10.3 unchanged from v3.1.0; DXMT v0.80's D3D trio now ships as the native per-prefix variant (selectable per-bottle in Whisky 3.4+, deployed like DXVK), winemetal paired as a builtin. SHA-256: 01f3a1b43b98065fe20c529c1023b61dd79a6d2ad93bba6040865f646481ccf3
3.1.0
Adds DXMT 0.80 (Direct3D 11 → Metal, MIT; inert until the per-bottle backend ships in app 3.4.0). Wine 11.0 (Gcenx 11.0_1) and DXVK-macOS 1.10.3 unchanged from v3.0.0.
SHA-256 (Libraries.tar.gz): 86e2d54a60736f27e6ce82cacf2a91e500c20f6d32ae959a16afd912e6b03096
3.3.0
Crash-safe, forward-compatible bottle settings, hardened icon parsing, and optional opt-in anonymous telemetry.
Added
- Optional, opt-in anonymous usage telemetry. A checkbox during first-run setup (off by default, changeable anytime in Settings → Privacy) enables five anonymous events covering the first-run funnel — runtime install started/succeeded/failed (with a coarse reason), first bottle created, first program launch attempted — so install failures in the field become visible. The first-program-launch event now fires from both the programs list and a program's detail view, so no real launch path is missed. Nothing is sent without explicit consent; no person profile is created, and no personal data, paths, or raw error text is ever included. The full event list, the SDK context that accompanies it, and the IP/GeoIP handling are documented in the README and SECURITY.md.
Fixed
- The first-run telemetry opt-in is now always reachable: when the Wine runtime is missing, setup no longer skips straight past the welcome screen (the only place the consent checkbox lives) before you can make a choice.
- Bottle and per-program settings are now written atomically, so a crash mid-save can no longer leave a truncated settings file that wipes the configuration.
- Every persisted settings choice — graphics backend, performance and resolution presets, Windows version, launcher mode/type/locale and spoofed GPU vendor, audio driver/latency/output mode, clipboard and process-cleanup policies, and the per-program equivalents — now tolerates an unknown value written by a newer Whisky. A single unrecognized choice falls back to its default (per-program overrides fall back to inheriting the bottle's choice) instead of failing to load the entire bottle's settings.
- An unreadable settings file is no longer silently overwritten. When a bottle's Metadata.plist or a program's settings plist can't be decoded (corruption or an unexpected file version), the original is moved aside to a .corrupt-<timestamp> sibling before defaults are written, so the unreadable data is preserved for recovery rather than destroyed.
- Closed several crash vectors when opening a Windows executable with crafted or corrupt headers during icon extraction (also reached by the Finder thumbnail extension): overflow traps in resource-offset math, unbounded recursion on circular or pathologically deep resource directories, and header reads straddling the end of a truncated file. Resource offsets are now resolved with overflow-checked math, the directory walk is depth-capped, and short reads are rejected instead of loading past the buffer.
- Hardened icon and thumbnail extraction against crafted executables that could previously hang the parser or render garbage: resource directory entry counts are clamped to the file size, the whole resource walk shares a total-entry budget so fan-out can't amplify, and icon bitmap dimensions and palette lengths are validated before reading pixels. An executable with no usable icon now falls back to a generic system icon instead of showing a blank tile.
- The "Failed to Export Diagnostics Report" alert is now localizable instead of English-only, matching the rest of the launcher diagnostics UI.
SHA-256: 28b5764d07e8302dca22fee0c7f3024f2bb2630561a7a22d731ecb8556232d13
3.2.0
Verified Wine downloads, plus clearer and earlier errors when something goes wrong.
Added
- The Wine runtime download is now verified against a published SHA-256 before installation. A corrupted or truncated download is caught and rejected with a clear error and a retry, instead of unpacking a broken runtime. Runtime metadata that predates the published checksum still installs unchanged.
Fixed
- Bottle creation now validates the chosen location before doing any work: if the folder isn't writable or the disk is nearly full, you get a clear, actionable error up front instead of the bottle silently disappearing after a cryptic Wine failure.
- Runtime installation failures now surface their cause. install(from:) propagates the underlying error (missing tarball, disk full, archive extraction failure) instead of swallowing it, so the setup screen shows the specific reason and the diagnostics report captures it.
- A half-installed Wine runtime is no longer mistaken for a working one. The install check now requires the wine64 binary on disk, not just the version file, so a partial extraction or removal prompts a clean re-install.
- Bottle-creation error messages are now localizable instead of English-only.
Documentation
- Landing page now shows app screenshots and an honest "Graphics backends" section (D3DMetal default, why DXVK is pinned at 1.10.3 by design, the Wine-wide anti-cheat limitation).
- Replaced the dead "Game Support wiki" links across the README, landing page, and issue templates with the bundled Game Configurations database.
SHA-256: 9dc83e0176518045c61b4f45a99dd43e733ff82c1fb2d6bf5627622142f28c89
3.0.1
Patch release fixing the WhiskyWine install hang reported on 3.0.0.
- Installer no longer hangs at "Installing WhiskyWine — Almost there" (Tar.swift). Tar.validateArchivePaths was calling process.waitUntilExit() before draining the pipe; the verbose listing of the 313 MB Wine Libraries archive overflowed the pipe buffer, so tar -tvzf blocked writing while Whisky waited for it to finish — a pipe deadlock that froze the installer indefinitely.
Quit the stuck 3.0.0 if it's still open, drag this DMG to /Applications, replace existing app, and launch. The installer should complete in seconds.
SHA-256: 2d08dbe32cc74fd50bb3826b8ba922fe2d0a62f242eb5ef4df8daa753ae827e6
Existing 3.0.0 installs will be offered the update via Sparkle on next launch.
3.0.0Big update
Changed
- Upgraded Wine from 7.7 to 11.0 (Gcenx stable build) for improved application compatibility
- Updated DXVK to macOS-compatible v1.10.3
Fixed
- Steam "steamwebhelper is not responding" error caused by stubbed WSALookupServiceBegin (Issue #72)
- Improved networking stack for better launcher compatibility
Download: The Libraries.tar.gz file below contains Wine 11.0 and DXVK v1.10.3 for macOS.
2.5.0
Initial release of Whisky Wine binaries.