Releases: wailsapp/wails
Releases Β· wailsapp/wails
v2.6.0
v2.6.0 - 2023-09-06
Breaking Changes
- AssetServer RequestURI and URL are now RFC and Go Docs compliant for server requests. This means Scheme, Host and Fragments are not provided anymore. Changed by @stffabi in PR
Fixed
- Avoid app crashing when the Linux GTK key is empty. Fixed by @aminya in PR
- Fix issue where app would exit before main() on linux if $DISPLAY env var was not set. Fixed by @phildrip in PR
- Fixed a race condition when positioning the window on Linux. Added by @lyimmi in PR
- Fixed
SetBackgroundColour
so it sets the window's background color to reduce resize flickering on Linux. Added by @lyimmi in PR - Fixed disable window resize option and wrong initial window size when its enabled. Added by @lyimmi in PR
- Fixed build hook command parsing. Added by @smac89 in PR
- Fixed
-reloaddir
flag to watch additional directories (non-recursively). @haukened in PR #2871 - Fixed support for Go 1.21
go.mod
files. Fixed by @stffabi in PR
Added
- Added correct NodeJS and Docker package names for DNF package manager of Fedora 38. Added by @aranggitoar in PR
- Added
-devtools
production build flag. Added by @mmghv in PR - Added
EnableDefaultContextMenu
option to allow enabling the browser's default context-menu in production . Added by @mmghv in PR - Added smart functionality for the default context-menu in production with CSS styles to control it. Added by @mmghv in PR
- Added custom error formatting to allow passing structured errors back to the frontend.
- Added sveltekit.mdx guide. Added by @figuerom16 in PR
- Added ProgramName option to linux.Options. Added by @lyimmi in PR
- Added new community template wails-sveltekit-ts. Added by @haukened in PR
- Added support for retrieving the logical and physical screen size in the screen api. Added by @stffabi in PR
- Added new community template wails-sveltekit-tailwind. Added by @pylotlight in PR
- Added support for print dialogs. Added by @aangelisc in PR
- Added new
wails dev -nogorebuild
flag to prevent restarts on back end file changes. @haukened in PR #2870
Changed
- Now uses new
go-webview2
module. Added by @leaanthony in PR. - Changed styling of
doctor
command. Changed by @MarvinJWendt in PR - Enable HiDPI option by default in windows nsis installer. Changed by @5aaee9 in PR
- Now debug builds include the un-minified version of the runtime JS with source maps . Changed by @mmghv in PR
v2.5.1
Breaking Changes
- The Go WebView2Loader allowed env variable and registry overrides to change the behaviour of WebView2. This is not possible when using the native WebView2Loader with Wails and should not be possible according to PR. Changed by @stffabi in PR
wails dev
now uses the custom schemeswails://
on macOS and Linux for all Vite versions. This also fixes missing reloads after multiple fast savings on Linux and Windows. Changed by @stffabi in PR
Fixed
v2.5.0
Breaking Changes
wails dev
now uses the custom schemeswails://
on macOS and Linux if Vite >=v3.0.0
is used. This makes the dev application consistent in behaviour with the final production application and fixes some long-standing inconsistencies. Changed by @stffabi in PR
Added
- Added Nodejs version in
wails doctor
. Added by @misitebao in PR - Added support for WebKit2GTK 2.40+ on Linux. This brings additional features for the AssetServer, like support for HTTP Request Bodies. The app must be compiled with the Go build tag
webkit2_40
to activate support for this features. This also bumps the minimum requirement of WebKit2GTK to 2.40 for your app. Added by @stffabi in this PR - macOS: Added Window menu role with well known shortcuts "Minimize, Full-Screen and Zoom". Added by @stffabi in PR
- macOS: Added "Hide, Hide Others, Show Allβ to appmenu. Added by @stffabi in PR
- Windows: Added flag to disable the WebView2
RendererCodeIntegrity
checks, please see the comment on the flag for more information. Added by @stffabi in PR - Windows: Added handling of WebView2 process crashes, for unrecoverable errors an error message is shown that the app needs to be restarted. If an error occurs that shows a chromium error page, make sure the Window and the WebView2 is visible. Added by @stffabi in PR
Changed
- [v3] Typescript model generation using
StructDef
s from new AST-based parser. Added by @ATenderholt in PR1 and PR2.
Fixed
- Fixed console printing in
wails generate template
. Fixed by @misitebao in PR - Fixed unicode encoding of strings for multi-rune characters. Fixed by @joshbuddy in PR
- Fixed
-skipbindings
flag inwails dev
. Fixed by @stffabi in PR - Fixed
runtime.MenuUpdateApplicationMenu
on macOS. Fixed by @stffabi in PR - Fixed add package name for
libwebkit
/pkg-config
and use shell.RunCommandWithENV instead of shell.RunCommand inzypper.go
. Fixed by @wgjtyu in PR - Make sure to start the CommonFileDialogs on Windows on the Main-Thread. Fixed by @stffabi in PR
- Fixed generated typescript bindings. Fixed by @dominictwlee in PR
- Fixed
StartHidden
option not working on Linux. Fixed by @LGiki in PR
v2.4.1
v2.4.0
Added
- Added Webview GPU acceleration options for Windows and Linux. Added by @lyimmi in #2266
- Added EnableFraudulentWebsiteDetection option to opt-in to scan services for fraudulent content, such as malware or phishing attempts. Older releases had the scan services per default activated. Added by @stffabi in #2269
- Allow an AssetServer Middleware to specify the Content-Type of a file served by the Assets fs.FS. Added by @stffabi in #2286
- The AssetServer now detects more mimetypes by extension, e.g. .mjs. Added by @stffabi in #2391
Changed
- Improved fullscreen mode for frameless window on Windows. Changed by @stffabi in #2279, #2288 and #2299
- On Windows unmaximising a window has no effect anymore when the window is in fullscreen mode, this makes it consistent with e.g. macOS. Changed by @stffabi in #2279
- Frameless resize now sets the cursor on documentElement, otherwise resizing cursor won't be shown outside of the body rectangle. Changed by @stffabi in #2289
- Improved the --wails-draggable experience to be more reactive. Changed by @stffabi in #2302
- NSIS template now installs the shortcuts for all users and not only for the current user. Changed by @stffabi in #2373
Fixed
- Fixed failing build hooks when build/bin was missing. Fixed by @lyimmi in #2273
- Fixed fullscreen mode for frameless window on Windows to fully cover the taskbar when changing into fullscreen from maximised state. Fixed by @stffabi in #2279
- Fixed set window background colour on Windows when setting the colour via runtime. Fixed by @stffabi in #2279
- Fixed the showing of a white border around a fullscreen window when DisableWindowIcon is active on Windows. Fixed by @stffabi in #2299
- Fixed the sometimes lagging drag experience with --wails-draggable on Windows. Fixed by @stffabi in #2302
- Fixed applying the default arch to platform flag in wails cli. If only a GOOS has been supplied as platform flag e.g. wails build --platform windows the current architecture wasn't applied and the build failed. Fixed by @stffabi in #2309
- Fixed a segfault on opening the inspector on older macOS versions. Fixed by @stffabi in #2397
- Fixed the macos single architecture builds not respecting an output file name specified with the '-o' flag. Fixed by @gwynforthewyn in #2358
- Fixed undo/redo on macOS. Fixed by @stffabi in #2430
- Fixed Events* runtime functions in JavaScript not returning the function to cancel the watcher. Fixed by @zllovesuki in #2434
- Fixed AppOptions merging defaults when a custom logger is used. Fixed by @stffabi in #2452
- Fixed race condition and missing unlock of mutex in events handling. Fixed by @stffabi in #2453
v3.0.0-alpha.0
Because imports won't work without it!
v2.3.1
- Fix version
v2.3.0
v2.3.0 - 2022-12-29
Added
- Added
OpenInspectorOnStartup
to debug options to allow opening the WebInspector during startup of the application in debug mode. Added by @stffabi in PR - On macOS
wails doctor
now also shows the version of Xcode installed. Added by @stffabi in PR - The AssetServer now supports handling range-requests if the Assets
fs.FS
provides anio.ReadSeeker
. Added by @stffabi in PR - Add new property for the
wails.json
config file -bindings
. More information on the new property can be found in the updated schema. Propertiesprefix
andsuffix
allow you to control the generated TypeScript entity name in themodel.ts
file. Added by @OlegGulevskyy in PR - The
WindowSetAlwaysOnTop
method is now exposed in the JS runtime. Fixed by @gotid in PR - The AssetServer now supports serving the index.html file when requesting a directory. Added by @stffabi in PR
- Added support for WebKit2GTK 2.36+ on Linux. This brings additional features for the AssetServer, like support for HTTP methods and Headers. The app must be compiled with the Go build tag
webkit2_36
to activate support for this features. This also bumps the minimum requirement of WebKit2GTK to 2.36 for your app. Fixed by @stffabi in this PR - Added support for file input selection on macOS. Added by @stffabi in PR
- Added support Request/Response streaming of the AssetServer on macOS. Added by @stffabi in PR
- Added request path checks for the AssetServer. Added by @stffabi in PR
- Added new App Store guide. Added by @achhabra2 in PR
- Added extra libwebkit check for dnf package manager (required for latest Fedora). Fixed by @NullCode1337 in this PR
- Added new
-nomodsync
flag to disable the automatic syncing of thego.mod
file. Added by @leaanthony in PR - Added support for adding prefix and postfix text to generated Typescript classes. Added by @OlegGulevskyy in PR
- Added reference to NSIS as optional dependency. Added by @acheong08 in PR
- Added Korean translation for the website. Added by @cybertramp in PR
Fixed
- The
noreload
flag in wails dev wasn't applied. Fixed by @stffabi in this PR build/bin
folder was duplicating itself on each reload inwails dev
mode. Fixed by @OlegGulevskyy in this PR- Prevent a thin white line at the bottom of a frameless window on Windows. Fixed by @stffabi in this PR
- Better signal handling for Linux. Fixed by @leaanthony in this PR
- Running the docs locally was broken due to mandatory crowdin token requirement. Fixed by @OlegGulevskyy in this PR
- Generated typescript for Go functions that returned a single error was incorrect. Fixed by @ATenderholt in this PR
- The right mouse event was not being raised correctly for Linux. Fixed by @leaanthony in this PR
- Remove extra spaces in Wails version when querying
go.mod
. Fixed by @matholt in this PR - Fix go tests failure on Mac. Fixed by @avengerweb in this PR
- Fix go test errors. Fixed by @misitebao & @avengerweb in these PRs
- Added
WindowSetAlwaysOnTop
to the JS runtime. Fixed by @gotid in PR - Fixed obfuscated flag typo in docs. Fixed by @ckilb in PR
- Fixed React Hash Router link in docs. Fixed by @marvinhosea in PR
Changed
- Improve error message if no
index.html
could be found in the assets and validate assetserver options. Changed by @stffabi in this PR - Promote the Go WebView2Loader from experimental to stable. This means now per default all Wails build use the new loader introduced with
v2.2.0
. The old loader remains usable with build tagnative_webview2loader
for the next few releases. Changed by @stffabi in this PR - Refactored CLI. Changed by @leaanthony in this PR
- Remove unreachable code. Changed by @tmclane in this PR
v2.2.0
v2.2.0 - 2022-11-09
Added
- Wails now uses a purpose built, native Go implementation of Microsoft's webview2loader dll. This means there is no need to embed the
Webview2Loader.dll
file in your binaries, meaning filesizes will be ~130k smaller! Thanks to @stffabi for this awesome contribution! - This release provides much more control over custom asset handling via the new AssetServer options. This allows you to provide your own custom asset handler and hook into the request chain through middleware. Thanks to @stffabi for this awesome contribution and @mholt for the initial idea and extensive testing.
- It is now possible to customise the layout of your Wails projects using 2 new options in
wails.json
:build:dir
can be used to specify where the build files residefrontend:dir
can be used to specify where the frontend files reside- If
go.mod
is not found in the same directory aswails.json
, the cli will look up the parent directories to find it. Fixed by @leaanthony in this PR
- Colour output in the CLI can now be turned off by using the
--nocolor
flag. This is useful for CI/CD pipelines. Thanks to @scottopell for the PR - A JSON schema definition for the
wails.json
file has been added. IDEs should now provide code complete when editingwails.json
. Thanks to @binyamin for the PR - The
EventsOn*
methods now return a function that can be called to deregister the listener. Thanks to @joshbuddy for the PR
Fixed
- Webview2 on Windows returns a potential whitespace when defining the style like this style="--wails-draggable: drag". Fixed by @stffabi in #1989
- Bound structs that had
struct{}
field types would cause the Typescript generation to fail. Thanks to @ParkourLiu for the PR - When maximising a frameless window on Windows with multiple monitors, the window could sometimes become blank. Thanks to @stffabi for the fix
Changed
- The troubleshooting guide was updated to provide guidance when Vite fails to start. Thanks to @willdot for the PR.
- English, Chinese and Japanese documentation updates. Thanks to @misitebao.
Deprecated
- The AssetsHandler option has been deprecated. Please use the AssetServer option instead.
New Contributors
- @willdot made their first contribution in #2000
- @ParkourLiu made their first contribution in #1999
- @binyamin made their first contribution in #1864
- @joshbuddy made their first contribution in #1969
- @sgosiaco made their first contribution in #2062
v2.1.0
Removed
- The
RGBA
option inoptions.App
has now been removed. UseBackgroundColour
instead.
Added
- Support for defaulting to No button in Windows dialogs - @leaanthony in #1875
- Add missing resize for frameless window on Linux - @lyimmi in #1918
- Add window transparency for linux - @lyimmi in #1926
- Add WindowExecJS method - @leaanthony in #1927
- Add support for
Info.dev.plist
on macOS - @leaanthony in #1960 - Add ZoomFactor get/set and add the respective windows only options - @pierrejoye in #1463
Fixed
- Embed directories auto-created if they don't exist - @leaanthony in #1983
- Quote command arguments if they have a space - @leaanthony in #1892
- Fixed Linux frameless window drag - @lyimmi in #1916
- Fix gtk_window_begin_resize_drag's mouse button - @lyimmi in #1920
- Fix binding generation special cases - @JulioDRF in #1902
- Remove the
.git
directory in the template - @misitebao in #1929 - Fix wails dev - @JulioDRF in #1931
- Fix for considering new
go
files in dev filesystem watcher - @scottopell in #1946 - Prevent type parsing to interfere with Typescript package name - @ValentinTrinque in #1942
- [dev] Do not try to infer assetdir from fs.FS when a frontend dev server is in use - @stffabi in #1972
- Fix init command not listed in wails help message - @lyon-lee-dev in #1976
Changed
- Add PR checks - @leaanthony in #1879
- Auto label project cards - @leaanthony in #1881
- Add issue translator - @leaanthony in #1891
- Update label names in the issue template - @misitebao in #1893
- obfuscated instead of obfuscate in the docs - @arifali123 in #1895
- [assetHandler] Remove redundant log prefix - @stffabi in #1896
- [dev] Do not generate bindings in the dev app itself - @stffabi in #1899
- Update Chinese translation - @almas1992 in #1894
- Refactor app - @leaanthony in #1909
- Update documents - @misitebao in #1907 #1936
- Adding Tutorial link - @raguay in #1903
- Add react-ts-vite-tailwind template - @hotafrika in #1930
- Update README.zh-Hans.md - @o8x in #1949
- Add Elm Tailwind CSS community template - @rnice01 in #1939
- Chore/generate sponsors - @leaanthony in #1965
- Use swc + pnpm for website - @leaanthony in #1966
- Sort structs in models.ts - @leaanthony in #1961
- Update Sponsor Image - @github-actions in #1973
- docs: sync documents - @misitebao in #1968
- Update events.mdx - @cuigege in #1979
New Contributors
- @arifali123 made their first contribution in #1895
- @almas1992 made their first contribution in #1894
- @JulioDRF made their first contribution in #1902
- @hotafrika made their first contribution in #1930
- @scottopell made their first contribution in #1946
- @o8x made their first contribution in #1949
- @rnice01 made their first contribution in #1939
- @cuigege made their first contribution in #1979
- @lyon-lee-dev made their first contribution in #1976