Wails v3 Alpha Release - v3.0.0-alpha2.105
Added
- Add
application.Systemfor runtime platform detection from shared code:System.IsMobile()(iOS/Android),System.IsDesktop()(macOS/Windows/Linux),System.IsServer()(theserverbuild tag), andSystem.IsPlatform(application.PlatformMacOS|PlatformWindows|PlatformLinux|PlatformIOS|PlatformAndroid|PlatformServer)to test a single target directly. It compiles on every target so you can branch without build tags. Matching frontend helpers (System.IsMobile/IsDesktop/IsIOS/IsAndroid/...) are available in@wailsio/runtime - Add a "Using Other Frontend Frameworks" guide showing how to drop your own Vite project into
frontend/(covers Solid, Preact, Lit, SvelteKit, Qwik, Angular, etc.) - The
wails3 setupwizard now checks the mobile (iOS/Android) toolchain — Xcode and the iOS Simulator runtime, JDK, Android SDK/NDK and emulator — with one-click install and copyable shell-config fixes where applicable - Generated projects ship a
frontend/.npmrcsetting a 7-dayminimum-release-ageto reduce exposure to freshly published (potentially compromised) packages (honoured by pnpm and bun; harmlessly ignored by npm)
Changed
- Redesign all built-in starter templates with a new neon-mountain hero look (web, iOS and Android)
- TypeScript is now the default for starter templates and owns the bare template name.
wails3 init(no-t) scaffolds a TypeScript project;-t vanilla,-t react,-t vueand-t svelteare TypeScript, with JavaScript variants at-t vanilla-js,-t react-js,-t vue-jsand-t svelte-js. Built-in templates declare their language withtypescript:intemplate.yaml; community templates using the-tssuffix continue to work as a fallback - Redesign the
wails3 setupwizard with the neon "digital Wails" theme (frosted-glass vibrancy over a mountain backdrop)
Fixed
- Fix crash on Windows when restoring an app that was minimised long enough for WebView2 to suspend or its render/GPU process to be recycled. The minimise/restore DPI resync (#5544) now only touches the WebView2 controller when the window's DPI actually changed, avoiding fatal COM calls into a suspended controller on the common same-DPI restore (#5605)
- Fix repeated native
SIGABRT/SIGSEGVcrashes (typically insideg_object_unrefduring the GTK main loop) on long-running Linux apps under frequent asset/media loads. The asset server completedWebKitURISchemeRequests from worker goroutines, calling thread-unsafe WebKit2GTK functions off the GTK main thread; completion (webkit_uri_scheme_request_finish_with_response/finish_error) now runs on the main thread. Completes the partial fix in #5566. Affects both the GTK3 and GTK4/WebKitGTK 6.0 builds (#5631, #5557) - Fix intermittent
fatal error: invalid pointer found on stackinsetupSignalHandlerson Linux/GTK3. Window IDs passed as signaluser_datawere held in a Gounsafe.Pointerlocal, so the garbage collector aborted when it scanned the (non-pointer) value during a stack copy. The ID is now kept integer-typed (uintptr_t) on the Go side, back-porting to the legacy GTK3 path the same fix #4958 applied to the GTK4 path (which switched the C signal functions touintptr_tto clear-race/checkptr errors) (#5631)
Removed
- Remove the
react-swc,preact,lit,solid,qwikandsveltekitstarter templates (and their-tsvariants). The supported built-in set is nowvanilla,react,vueandsvelte— each TypeScript by default, with-jsJavaScript variants. Any other framework can still be used by bringing your own frontend or via a custom template
🤖 This is an automated nightly release generated from the latest changes on master.
Installation:
go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-alpha2.105⚠️ Alpha Warning: This is pre-release software and may contain bugs or incomplete features.