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 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

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

Changed

  • Improve error message if no index.html could be found in the assets and validate assetserver options. Changed by @stffabi 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