Skip to main content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

  • Added for new features.
  • Changed for changes in existing functionality.
  • Deprecated for soon-to-be removed features.
  • Removed for now removed features.
  • Fixed for any bug fixes.
  • Security in case of vulnerabilities.

[Unreleased]โ€‹

Addedโ€‹

  • Added Webview GPU acceleration options for Windows and Linux. Added by @Lyimmi in PR
  • 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 PR
  • Allow an AssetServer Middleware to specify the Content-Type of a file served by the Assets fs.FS. Added by @stffabi in PR
  • The AssetServer now detects more mimetypes by extension, e.g. .mjs. Added by @stffabi in PR

Changedโ€‹

  • Improved fullscreen mode for frameless window on Windows. Changed by @stffabi in PR, PR and PR
  • 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 PR
  • Frameless resize now sets the cursor on documentElement, otherwise resizing cursor won't be shown outside of the body rectangle. Changed by @stffabi in PR
  • Improved the --wails-draggable experience to be more reactive. Changed by @stffabi in PR
  • NSIS template now installs the shortcuts for all users and not only for the current user. Changed by @stffabi in PR

Fixedโ€‹

  • Fixed failing build hooks when build/bin was missing. Fixed by @Lyimmi in PR
  • Fixed fullscreen mode for frameless window on Windows to fully cover the taskbar when changing into fullscreen from maximised state. Fixed by @stffabi in PR
  • Fixed set window background colour on Windows when setting the colour via runtime. Fixed by @stffabi in PR
  • Fixed the showing of a white border around a fullscreen window when DisableWindowIcon is active on Windows. Fixed by @stffabi in PR
  • Fixed the sometimes lagging drag experience with --wails-draggable on Windows. Fixed by @stffabi in PR
  • 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 PR

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 an io.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. Properties prefix and suffix allow you to control the generated TypeScript entity name in the model.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 the go.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 in wails 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 tag native_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 - 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 reside
    • frontend:dir can be used to specify where the frontend files reside
    • If go.mod is not found in the same directory as wails.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 editing wails.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 https://github.com/wailsapp/wails/pull/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โ€‹

New Contributorsโ€‹

v2.1.0 - 2022-10-18โ€‹

Removedโ€‹

  • The RGBA option in options.App has now been removed. Use BackgroundColour instead.

Addedโ€‹

Fixedโ€‹

Changedโ€‹

New Contributorsโ€‹

v2.0.0 - 2022-09-22โ€‹

Fixedโ€‹

Changedโ€‹

New Contributorsโ€‹

v2.0.0-rc.1 - 2022-09-13โ€‹

Deprecatedโ€‹

  • The -noGen flag for the wails dev command has been replaced with -skipbindings. This is to align with the wails build command.

Addedโ€‹

Fixedโ€‹

Changedโ€‹

New Contributorsโ€‹

v2.0.0-beta.44 - 2022-08-20โ€‹

Deprecatedโ€‹

The data-wails-drag attribute is being deprecated in favour of the following CSS style: style="--wails-draggable:drag". You can use style="--wails-draggable:no-drag" to disable the drag behaviour. For this release only, you can test this by setting the following application option:

Experimental: &options.Experimental{
UseCSSDrag: true,
},

Addedโ€‹

Fixedโ€‹

Changedโ€‹

New Contributorsโ€‹

v2.0.0-beta.43 - 2022-08-08โ€‹

Addedโ€‹

Fixedโ€‹

Changedโ€‹

New Contributorsโ€‹

v2.0.0-beta.42 - 2022-07-25โ€‹

Addedโ€‹

  • Added options.NewRGBA and options.NewRGB functions to create *options.RGBA by @leaanthony

Fixedโ€‹

v2.0.0-beta.40 - 2022-07-24โ€‹

Addedโ€‹

Fixedโ€‹

Changedโ€‹

Deprecatedโ€‹

  • The Fullscreen application option is deprecated. Please use WindowStartState instead.

New Contributorsโ€‹

v2.0.0-beta.39.2 - 2022-07-20โ€‹

Addedโ€‹

Fixedโ€‹

v2.0.0-beta.39 - 2022-07-19โ€‹

Addedโ€‹

Fixedโ€‹

Changedโ€‹

New Contributorsโ€‹

Full Changelog: https://github.com/wailsapp/wails/compare/v2.0.0-beta.38...v2.0.0-beta.39

v2.0.0-beta.38 - 2022-06-27โ€‹

Addedโ€‹

Fixedโ€‹

Changedโ€‹

New Contributorsโ€‹

v2.0.0-beta.37 - 2022-05-26โ€‹

Addedโ€‹

Fixedโ€‹

Changedโ€‹

New Contributorsโ€‹

v2.0.0-beta.36 - 2022-04-27โ€‹

Fixedโ€‹

Changedโ€‹

  • Added OnStartup method back to default templates

v2.0.0-beta.35 - 2022-04-27โ€‹

Breaking Changesโ€‹

  • When data was sent to the EventsOn callback, it was being sent as a slice of values, instead of optional parameters to the method. EventsOn now works as expected, but you will need to update your code if you currently use this. More information
  • The broken bindings.js and bindings.d.ts files have been replaced by a new JS/TS code generation system. More details here

Addedโ€‹

  • New Templates: Svelte, React, Vue, Preact, Lit and Vanilla templates, both JS and TS versions. wails init -l for more info.
  • Default templates now powered by Vite. This enables lightning fast reloads when you use wails dev!
  • Add support for external frontend development servers. See frontend:dev:serverUrl in the project config - @stffabi
  • Fully configurable dark mode for Windows.
  • Hugely improved WailsJS generation (both JavaScript and TypeScript)
  • Wails doctor now reports information about the wails installation - @stffabi
  • Added docs for code-signing and NSIS installer - @gardc
  • Add support for -trimpath build flag
  • Add support for a default AssetsHandler - @stffabi

Fixedโ€‹

  • Improved mimetype detection for BOM marker and comments - @napalu
  • Remove duplicate mimetype entries - @napalu
  • Remove duplicate TypeScript imports in generated definition files - @adalessa
  • Add missing method declaration - @adalessa
  • Fix Linux sigabrt on start - @napalu
  • Double Click event now works on elements with data-wails-drag attribute - @jicg
  • Suppress resizing during minimize of a frameless window - @stffabi
  • Fixed TS/JS generation for Go methods with no returns
  • Fixed WailsJS being generated in project directory

Changedโ€‹

  • Website docs are now versioned
  • Improved runtime.Environment call
  • Improve the close action for Mac
  • A bunch of dependabot security updates
  • Improved website content - @misitebao
  • Upgrade issue template - @misitebao
  • Convert documents that don't require version management to individual pages
  • Website now using Algolia search

v2.0.0-beta.34 - 2022-03-26โ€‹

Addedโ€‹

  • Add support for 'DomReady' callback on linux by @napalu in #1249
  • MacOS - Show extension by default by @leaanthony in #1228

Fixedโ€‹

  • [v2, nsis] Seems like / as path separator works only for some directives in a cross platform way by @stffabi in #1227

  • import models on binding definition by @adalessa in #123

    1

  • Use local search on website by @leaanthony in #1234

  • Ensure binary resources can be served by @napalu in #1240

  • Only retry loading assets when loading from disk by @leaanthony in #1241

  • [v2, windows] Fix maximised start state by @stffabi in #1243

  • Ensure Linux IsFullScreen uses GDK_WINDOW_STATE_FULLSCREEN bitmask appropriately. by @ianmjones in #1245

  • Fix memory leak in ExecJS for Mac by @leaanthony in #1230

  • Fix, or at least a workaround, for (#1232) by @BillBuilt in #1247

  • [v2] Use os.Args[0] for self starting wails by @stffabi in #1258

  • [v2, windows] Windows switch scheme: https -> http by @stefpap in #1255

  • Ensure Focus is regained by Webview2 when tabbing by @leaanthony in #1257

  • Try to focus window when Show() is called. by @leaanthony in #1212

  • Check system for user installed Linux dependencies by @leaanthony in #1180

Changedโ€‹

  • feat(website): sync documents and add content by @misitebao in #1215
  • refactor(cli): optimize default templates by @misitebao in #1214
  • Run watcher after initial build by @leaanthony in #1216
  • Feature/docs update by @leaanthony in #1218
  • feat(website): optimize website and sync documents by @misitebao in #1219
  • docs: sync documents by @misitebao in #1224
  • Default index page by @leaanthony in #1229
  • Build added win32 compatibility by @fengweiqiang in #1238
  • docs: sync documents by @misitebao in #1260

v2.0.0-beta.33 - 2022-03-05โ€‹

Addedโ€‹

  • NSIS Installer support for creating installers for Windows applications - Thanks @stffabi ๐ŸŽ‰
  • New frontend:dev:watcher command to spin out 3rd party watchers when using wails dev - Thanks @stffabi๐ŸŽ‰
  • Remote templates now support version tags - Thanks @misitebao ๐ŸŽ‰

Fixedโ€‹

  • A number of fixes for ARM Linux providing a huge improvement - Thanks @ianmjones ๐ŸŽ‰
  • Fixed potential Nil reference when discovering the path to index.html
  • Fixed crash when using runtime.Log methods in a production build
  • Improvements to internal file handling meaning webworkers will now work on Windows - Thanks @stffabi๐ŸŽ‰

Changedโ€‹

  • The Webview2 bootstrapper is now run as a normal user and doesn't require admin rights
  • The docs have been improved and updated
  • Added troubleshooting guide