Wails v3 Alpha Release - v3.0.0-alpha.55
Changed
- Switch to goccy/go-json for all runtime JSON processing (method bindings, events, webview requests, notifications, kvstore), improving performance by 21-63% and reducing memory allocations by 40-60%
- Optimize BoundMethod struct layout and cache isVariadic flag to reduce per-call overhead
- Use stack-allocated argument buffer for methods with <=8 arguments to avoid heap allocations
- Optimize result collection in method calls to avoid slice allocation for single return values
- Use sync.Map for MIME type cache to improve concurrent performance
- Use buffer pool for HTTP transport request body reading
- Lazily allocate CloseNotify channel in content type sniffer to reduce per-request allocations
- Remove debug CSS logging from asset server
- Expand MIME type extension map to cover 50+ common web formats (fonts, audio, video, etc.)
Fixed
- Update all commands in Taskfile.yml files for all operating systems to accommodate spaces in variables such as
APP_NAMEby @ndianabasi
Removed
- Remove github.com/wailsapp/mimetype dependency in favor of expanded extension map + stdlib http.DetectContentType, reducing binary size by ~1.2MB
- Remove gopkg.in/ini.v1 dependency by implementing minimal .desktop file parser for Linux file explorer, saving ~45KB
- Remove samber/lo from runtime code by using Go 1.21+ stdlib slices package and minimal internal helpers, saving ~310KB
🤖 This is an automated nightly release generated from the latest changes in the v3-alpha branch.
Installation:
go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-alpha.55⚠️ Alpha Warning: This is pre-release software and may contain bugs or incomplete features.