Wails v3 Nightly - v3.1.0-nightly.20261028
Nightly preview of the upcoming v3.1.0.
Changed
- Improve changelog generation speed by reusing compiled regex patterns in PR by @taliesin-ai
- Reduce allocations when serving localized fallback pages in PR by @taliesin-ai
- Speed up AppImage runtime discovery by avoiding unnecessary metadata lookups in PR by @taliesin-ai
- Reuse compiled command routing patterns to improve wake performance in PR by @taliesin-ai
- Improve performance by avoiding rescanning of unfinished output lines in PR by @taliesin-ai
- Stream executable copies during MSIX package staging to reduce memory use and speed up builds in PR by @taliesin-ai
- Avoid copying unfinished command-output lines to improve performance in PR by @taliesin-ai
- Reduce allocations when generating name-based UUIDs in PR by @taliesin-ai
- Reduce allocations when formatting SQLite statement handles in PR by @taliesin-ai
- Reduce UUID string conversion to a single allocation in PR by @taliesin-ai
- Reduce allocations when formatting changelog bullet entries in PR by @taliesin-ai
- Reduce allocations when formatting terminal hyperlinks in PR by @taliesin-ai
- Reduce allocations when serving assets by sniffing MIME buffers lazily in PR by @taliesin-ai
- Skip debug log preparation in the asset server when debug logging is disabled in PR by @taliesin-ai
- Reduce allocations in webview request handling by avoiding discarded request contexts in PR by @taliesin-ai
- Speed up asset serving by skipping MIME sniffing for known file extensions in PR by @taliesin-ai
- Reduce allocations when serving assets by avoiding a reader for content sniffing in PR by @taliesin-ai
- Reduce allocations when serving non-seekable asset files in PR by @taliesin-ai
- Speed up asset server index root selection by avoiding candidate collection in PR by @taliesin-ai
- Improve asset server performance by formatting content lengths without fmt in PR by @taliesin-ai
- Reduce memory copying when reading desktop file explorer metadata in PR by @taliesin-ai
Fixed
- Retain source file permissions when copying to new destination files in PR by @taliesin-ai
- Keep fullscreen and maximised windows from resizing when min or max size constraints change in PR by @taliesin-ai
- Publish scheduled star history updates for the wailsapp/wails repository in PR by @taliesin-ai
- Stop discarding invalid Go test count flags in wake in PR by @taliesin-ai
- Preserve Mac icons when encoding fails in PR by @taliesin-ai
- Fix build cache misses for Go outputs with quoted or escaped spaces in PR by @taliesin-ai
- Serialize notification category persistence on Linux to prevent concurrent write races in PR by @taliesin-ai
- Keep shell command chains out of the implicit Go build cache in PR by @taliesin-ai
- Fix notification category maps failing to load when saved data is null in PR by @taliesin-ai
- Show diagnostics from failed variable shell commands in PR by @taliesin-ai
- Fix wake template matching when multiple equality candidates exist in PR by @taliesin-ai
- Serialize concurrent cache-file saves to prevent corrupted cache writes in PR by @taliesin-ai
- Prevent races when replacing the active reporter in PR by @taliesin-ai
- Report resource-generation failures accurately in the CLI in PR by @taliesin-ai
- Recognize stable versions that include build metadata in the CLI in PR by @taliesin-ai
- Serve assets whose request paths contain repeated leading slashes in PR by @taliesin-ai
- Fix shell fallback execution for wake on each platform in PR by @taliesin-ai
- Preserve previous Linux packages when a build fails in PR by @taliesin-ai
- Route command chains and redirections through the shell in PR by @taliesin-ai
- Preserve quoted regex and path backslashes in wake command parsing in PR by @taliesin-ai
- Preserve existing DMG files when packaging builds fail in PR by @taliesin-ai
- Replace symlinks with generated regular files in bindings output in PR by @taliesin-ai
- Preserve literal percent signs in Linux explorer commands in PR by @taliesin-ai
- Align precondition and task command directories so they resolve consistently in PR by @taliesin-ai
- Run default tasks in the executor base directory in PR by @taliesin-ai
- Prevent legacy checks from hiding cache misses in PR by @taliesin-ai
- Fix CLI prerelease numbering to increment without integer overflow limits in PR by @taliesin-ai
- Avoid a panic when cache entries decode as null in PR by @taliesin-ai
- Probe ports once per check in the CLI in PR by @taliesin-ai
- Include the task directory in cache identity to avoid stale wake results in PR by @taliesin-ai
- Prevent data loss when packaging copies a file onto itself in PR by @taliesin-ai
- Make status checks respect task directories in PR by @taliesin-ai
- Detect TODO, FIXME and TBD placeholders in changelog entries in PR by @taliesin-ai
- Generate runtime assets from embedded bundles in the CLI in PR by @taliesin-ai
- Separate stderr from parsed HEAD output in git commands in PR by @taliesin-ai
- Preserve the default in-memory SQLite database under concurrent access in PR by @taliesin-ai
- Return correct responses to HEAD requests for the fallback index page in PR by @taliesin-ai
- Handle SQLite statement preparation racing with database close or reopen in PR by @taliesin-ai
- Release prepared-statement handles when SQLite database is closed or reopened in PR by @taliesin-ai
- Keep extraction destination paths literal when using gosod in PR by @taliesin-ai
- Propagate errors from SQLite queries after partial row iteration in PR by @taliesin-ai
- Return snapshots for whole-store reads in kvstore in PR by @taliesin-ai
- Prevent write panics in kvstore after loading a JSON null value in PR by @taliesin-ai
- Print plain terminal messages without interpreting format verbs in PR by @taliesin-ai
- Surface errors when looking up the latest stable release in the updater in PR by @taliesin-ai
- Ignore hidden entries and headers in changelog comment blocks in PR by @taliesin-ai
- Install wails3 once and surface installer errors in the updater in PR by @taliesin-ai
- Preserve literal bracketed template paths in gosod in PR by @taliesin-ai
- Reject failed GitHub tag responses before decoding them in the updater in PR by @taliesin-ai
- Preserve cancellation errors during parallel library searches in PR by @taliesin-ai
- Close HTTP response bodies on every return path to prevent resource leaks in PR by @taliesin-ai
- Preserve request bodies when the development proxy retries requests in PR by @taliesin-ai
- Honor the launch deadline during desktop file explorer discovery in PR by @taliesin-ai
- Reject HTTP errors before saving AppImage tooling downloads in PR by @taliesin-ai
- Order oversized numeric prerelease identifiers correctly in semver comparisons in PR by @taliesin-ai
- Preserve escaped paths when routing services in the asset server in PR by @taliesin-ai
- Handle HEAD requests for the bundled runtime in the asset server in PR by @taliesin-ai
- Return 404 for missing bundled assets instead of an incorrect response in PR by @taliesin-ai
- Stop dev proxy retries when a request is cancelled in PR by @taliesin-ai
- Avoid shared start URL mutation and stale ports in the asset server in PR by @taliesin-ai
- Honor the optional logger configuration in the asset server in PR by @taliesin-ai
- Remove data race in library path cache invalidation in PR by @taliesin-ai
- Avoid false library matches when searching ldconfig output in PR by @taliesin-ai
- Prevent asset server queue growth and shrink oscillation under load in PR by @taliesin-ai
- Release callback captures after the debounce timer fires to avoid retaining stale references in PR by @taliesin-ai
- Preserve file explorer targets found inside executable paths in PR by @taliesin-ai
- Skip directories that shadow desktop entries in file explorer in PR by @taliesin-ai
- Fix asset server headers not being sent when a response body is empty in PR by @taliesin-ai
- Respect XDG desktop-file search directories when locating application icons in PR by @taliesin-ai
- Preserve file paths during field expansion in the file explorer in PR by @taliesin-ai
- Avoid duplicating expanded URI targets in file explorer in PR by @taliesin-ai
- Commit successful empty non-seekable asset responses instead of leaving them pending in PR by @taliesin-ai
- Fill MIME sniffing prefix correctly across short reads in the asset server in PR by @taliesin-ai
- Avoid reading full response bodies for non-seekable HEAD requests in the asset server in PR by @taliesin-ai
- Only serve exact index files when resolving directory requests in the asset server in PR by @taliesin-ai
- Fix dismissed Linux notifications being reported as clicks on servers without action support in PR by @bercedev
- Stop dev processes when the terminal closes in PR by @xmasdev
- Hold Windows taskbar restart debounce for one second before clearing the flag in PR by @taliesin-ai
- Fix fallback response headers being lost in the asset server in PR by @taliesin-ai
- Honor header deletions before fallback selection in the asset server in PR by @taliesin-ai
- Release removed ring queue references in the asset server to avoid memory leaks in PR by @taliesin-ai
- Release consumed content-sniffer buffers in the asset server to reduce memory use in PR by @taliesin-ai
- Recognize mixed-case asset file extensions when serving assets in PR by @taliesin-ai
- Correctly detect content type in asset server without retaining filenames in PR by @taliesin-ai
- Fall back to a default when a desktop entry has no command in PR by @taliesin-ai
- Stop the liquid-glass example from showing a dialog before the app starts on non-macOS in PR by @taliesin-ai
- Keep window size constraints when fullscreen starts from a constrained size on Windows in PR by @taliesin-ai
- Fix dialogs called before Run blocking forever instead of returning in PR by @taliesin-ai
Security
- Validate generated icon sizes before image allocation to prevent excessive memory use in PR by @taliesin-ai
- Validate release notes API responses before use in PR by @taliesin-ai
- Require complete hexadecimal statement handles in SQLite plugin in PR by @taliesin-ai
- Constrain filesystem library fallback matches to prevent loading unintended libraries in PR by @taliesin-ai
🤖 This is an automated nightly pre-release generated from the latest changes on master. It is not selected by @latest; install it by its exact tag.
Installation:
go install github.com/wailsapp/wails/v3/cmd/wails3@v3.1.0-nightly.20261028Tip: always pin an exact version (e.g. @v3.1.0-nightly.20261028) in go.mod and CI rather than @latest.