Releases: invoke-ai/launcher
v1.3.0
Changes
- The installer no longer recreates the virtual environment on every install/update, except in repair mode.
- The installer no longer explicitly installs a managed python on every install/update, except in repair mode.
- Invoke app process exit reason logging is more accurate.
- Renamed "No GPU" option to "No dedicated GPU".
How to Install and Update
Downloads links are in the Assets section below. To update, overwrite your existing launcher with newly-downloaded file.
🚨 On macOS, you may need to use this workaround to run the launcher.
What's Changed
- feat: more efficient install logic by @psychedelicious in #42
- feat: better exit messages by @psychedelicious in #43
- feat: clearer copy for GPU selection by @psychedelicious in #44
- chore: bump version to v1.3.0 by @psychedelicious in #45
Full Changelog: v1.2.1...v1.3.0
v1.2.1
Changes
- Fix an issue where the portable python executable was installed to a temporary directory. This caused a number of user-facing issues, including "forgetting" installs, requiring reinstall on every launch and assorted FS errors. The problem wasn't caught while testing the previous release due to a fluke of dev environment setups.
- Fix the PyPI index URLs used for ROCm pytorch. We expect this to resolve issues for AMD users on Linux where the CPU was used instead of GPU. Thanks @Motschen!
- The dev console now starts in the selected install location if it is a directory.
- Launcher version is displayed in the banner.
How to Install and Update
Downloads links are in the Assets section below. To update, overwrite your existing launcher with newly-downloaded file.
🚨 On macOS, you may need to use this workaround to run the launcher.
What's Changed
- Update README.md by @psychedelicious in #34
- fix: use correct index URLs for ROCm pytorch by @Motschen in #33
- feat: start dev console in install location if possible by @psychedelicious in #35
- fix: use uv path for managed python installs by @psychedelicious in #36
- feat: add launcher version to banner by @psychedelicious in #37
New Contributors
Full Changelog: v1.2.0...v1.2.1
v1.2.0
Changes
- Set
PYTORCH_ENABLE_MPS_FALLBACK
when running on macOS/MPS. - Use loopback address instead of LAN IP in browser link.
- Bump
uv
to 0.5.14 (latest). - Add repair install mode, which forcibly reinstalls python and deletes the venv dir before installation resulting a "clean" install. This is kinda hidden right now: hold shift and the
Install
button changes toRepair
and triggers this behavior. - Python is now installed to the launcher's app directory, preventing conflicts with any other
uv
-managed python installations on the system. Existing virtual environments are unaffected by this change. - Added Apache 2 licence to repo. Thanks @rikublock!
How to Install and Update
Downloads links are in the Assets section below.
To update, overwrite your existing launcher with newly-downloaded file.
🚨 On macOS, you may need to use this workaround to run the launcher.
What's Changed
- docs: update README; add RELEASE by @psychedelicious in #25
- chore: update license by @rikublock in #28
- fix: add MPS fallback env var by @psychedelicious in #26
- fix: link to loopback url by @psychedelicious in #27
- chore: bump uv to 0.5.14 by @psychedelicious in #30
- feat: repair install mode by @psychedelicious in #32
New Contributors
- @rikublock made their first contribution in #28
Full Changelog: v1.1.0...v1.2.0
v1.1.0
Changes
- The launcher is renamed from
Invoke-Installer
toInvoke Community Edition
. Unfortunately, your settings for the launcher will be lost when you update, because your computer will think it's a different application. Your user data (generated images, models, etc) will not be affected by this change. - Rewrite installer logic in
node.js
to resolve issues with false positives from malware scanners. More details below. Server Mode
now configures Invoke to serve on your LAN by settinghost: 0.0.0.0
at runtime.- When serving on LAN with
host: 0.0.0.0
, the startup notification link uses your LAN IP. - The dev console now prepends
uv
to the system's path env var so you can use the bundleduv
executable.
node.js
rewrite
Previously, we used Nuitka to compile a python installer script into a portable binary. The python script was a simple wrapper around the portable uv
binary.
Unfortunately, Nuitka-compiled binaries trigger malware scanners like nobody's business, and the launcher kept getting quarantined on Windows.
This release ports the python script to node.js
, which should greatly reduce the number of false positives. It also offers a few indirect benefits:
- Simpler build process.
- Much faster build times.
- Better process management (no need to have the Nuitka-compiled binary between the electron app and
uv
).
The launcher is now open-source
We've moved the source for the launcher to this repo (https://github.com/invoke-ai/launcher).
We'll continue to do code signing privately, using the builds from this repo.
How to Install and Update
Downloads links are in the Assets section below.
To update, overwrite your existing launcher with newly-downloaded file.
What's Changed
- Update README.md by @psychedelicious in #12
- chore: import source by @psychedelicious in #14
- docs, tidy: comments, anti-footgun maneuvers by @psychedelicious in #15
- feat: server mode sets host: 0.0.0.0 by @psychedelicious in #17
- refactor: LogViewerStatusIndicator by @psychedelicious in #18
- ci: split jobs into build/check/test by @psychedelicious in #20
- feat: add uv to PATH when creating terminal by @psychedelicious in #19
- fix: restore missing log msg when install completes successfully by @psychedelicious in #22
- fix: flash of logs when quitting app by @psychedelicious in #23
- build: "Invoke-Installer" -> "Invoke Community Edition" by @psychedelicious in #24
Full Changelog: v1.0.0...v1.1.0
v1.1.0a2
Changes
- Rewrite installer logic in node.js to resolve issues with false positives from malware scanners. More details below.
Server Mode
now configures Invoke to serve on your LAN by settinghost: 0.0.0.0
at runtime.- When serving on LAN with
host: 0.0.0.0
, the startup notification link uses your LAN IP. - The dev console now prepends
uv
to the system's path env var so you can use the bundled binary.
The launcher is now open-source
We've moved the source for the launcher to this repo (https://github.com/invoke-ai/launcher).
We'll continue to do code signing privately, using the builds from this repo.
Python-less Installer
Previously, we used Nuitka to compile a python installer script into a portable binary. The python script was a simple wrapper around the portable uv
binary.
Unfortunately, Nuitka-compiled binaries trigger malware scanners like nobody's business, and the launcher kept getting quarantined on Windows.
This release ports the python script to node.js, which should greatly reduce the number of false positives. It also offers a few indirect benefits:
- Simpler build process.
- Much faster build times.
- Better process management (no need to have the Nuitka-compiled binary between the electron app and
uv
).
How to Install
To install, overwrite your existing launcher with newly-downloaded file.
Downloads links are in the Assets section below.
What's Changed
- Update README.md by @psychedelicious in #12
- chore: import source by @psychedelicious in #14
- docs, tidy: comments, anti-footgun maneuvers by @psychedelicious in #15
- feat: server mode sets host: 0.0.0.0 by @psychedelicious in #17
- refactor: LogViewerStatusIndicator by @psychedelicious in #18
- ci: split jobs into build/check/test by @psychedelicious in #20
- feat: add uv to PATH when creating terminal by @psychedelicious in #19
- fix: restore missing log msg when install completes successfully by @psychedelicious in #22
Full Changelog: v1.0.0...v1.1.0a2
v1.1.0a1
This release should resolve the false positives from malware scanners.
It's been tested on Windows and macOS, but not on Linux.
The launcher is now open-source
We've moved the source for the launcher to this repo.
We'll continue to do code signing privately, using the builds from this repo.
Python-less Installer
Previously, we used Nuitka to compile a python installer script into a portable binary. The python script was a simple wrapper around the portable uv
binary.
Unfortunately, Nuitka-compiled binaries trigger malware scanners like nobody's business, and the launcher kept getting quarantined on Windows.
This release ports the python script to Node.js, which should greatly reduce the number of false positives. It also offers a few indirect benefits:
- Simpler build process.
- Much faster build times.
- Better process management (no need to have the Nuitka-compiled binary between the electron app and
uv
).
To install, overwrite your existing launcher with newly-downloaded file.
Downloads links are in the Assets section below.
v1.0.0
Thanks for your testing as we worked to this first stable release of the Invoke Launcher!
Changes since v1.0.0a7
- Refactor install and app process lifecycles to handle various kinds of error states.
- Handle edge case where app log levels above
info
could prevent the UI window from opening. - Refresh the selected installation dir's installation status after the installer and app processes exit, addressing an edge case where a reinstall or upgrade failed and the launcher still thought the install was OK.
- On very first launch of the app (not the launcher), the window starts maximized. Subsequent launches remember the last size of the app window.
Downloads links are in the Assets section below.
v1.0.0a7
Changes since v1.0.0a6
- When an update is available, display the version number in the little notification.
- Updated notification styling.
- Handle clicks outside the console better.
- Escape closes console.
- When a valid install is selected, clicking the path opens it in the OS file browser.
- Added Discord and GitHub buttons.
- Update app icons to have rounded corners per macOS design guidelines. Windows/Linux don't have similar guidelines as far as I know, so they are the same as the macOS icons.
Downloads links are in the Assets section below.
v1.0.0a6
Changes since v1.0.0a5
-
Add missing
packaging
dependency topyproject.toml
. -
Add build script for macOS to compile the portable installer executable locally.
-
Allow the users to open the chrome devtools in the launcher for troubleshooting purposes.
-
Fixed race condition that could cause
Next
buttons in the install flow to be disabled. -
Fixed user's machine getting rate-limited by the GH API (60 requests / hr threshold) and failing to fetch updates.
Requests that respond with
304 Not Modified
do not count as requests for rate-limiting purposes, so we can use an ETag and a simple request cache to avoid rate-limiting.We now make a "real" request only at launch or if a new release is published. In the event of an unexpected state (no cached data + 304 response), the ETag is reset and the next request will be "real".
-
Log GH release fetching errors to JS console.
-
Check for updates every hour if the launcher window is currently focused. If the window is not focused, skip the request.
-
Check for updates when the launcher window is focused (e.g. user clicks on it after being in a different window), if the last update was > 1 hour ago.
-
Fix an issue where Windows's shell output added invisible carriage return characters to version strings, breaking version parsing and comparison. This was preventing users from getting past the version selection screen.
Downloads links are in the Assets section below.
v1.0.0a5
Changes since v1.0.0a4
- Fix
must be a valid semver version identifier
error during install.
Downloads links are in the Assets section below.