跳到主要内容

更新日志

此项目的所有重要变更都将记录在此文件中。

格式基于 维护更新日志,并且该项目遵循 语义化版本

  • Added(新增) 新添加的功能。
  • Changed(变更) 对现有功能的变更。
  • Deprecated(废弃) 已经不建议使用,即将移除的功能。
  • Removed(移除) 已经移除的功能。
  • Fixed(修复) 对 bug 的修复。
  • Security(安全) 对安全性的改进。

[即将发布]

新增

  • Update the description of ZoomFactor and IsZoomControlEnabled attributes in the document. Added by @biuaxia in PR
  • Added Single Instance Lock support with passing arguments to first instance. Added by @APshenkin in PR
  • Added support for enabling/disabling swipe gestures for Windows WebView2. Added by @leaanthony in PR
  • When building with -devtools flag, CMD/CTRL+SHIFT+F12 can be used to open the devtools. Added by @leaanthony in PR – Added file association support for macOS and Windows. Added by @APshenkin in PR
  • Added support for setting some of the Webview preferences, textInteractionEnabled and tabFocusesLinks on Mac. Added by @fkhadra in PR
  • Added support for enabling/disabling fullscreen of the Webview on Mac. Added by @fkhadra in PR
  • Added French README.fr.md page. Added by @nejos97 in PR
  • New task created for linting v2 task v2:lint. Workflow updated to run the task. Added by @mikeee in PR
  • Added new community template wails-htmx-templ-chi-tailwind. Added by @pylotlight in PR
  • Added CPU/GPU/Memory detection for wails doctor. Added by @leaanthony in #d51268b8d0680430f3a614775b13e6cd2b906d1c
  • The AssetServer now injects the runtime/IPC into all index html files and into all html files returned when requesting a folder path. Added by @stffabi in PR
  • Added Custom Protocol Schemes associations support for macOS and Windows. Added by @APshenkin in PR

变更

  • AssetServer requests are now processed asynchronously without blocking the main thread on Windows. Changed by @stffabi in PR
  • AssetServer requests are now processed concurrently by spawning a goroutine per request. Changed by @stffabi in PR
  • Now building with -devtools flag doesn't enable the default context-menu. Changed by @mmghv in PR
  • Change Window Level. Changed by @almas1992 in PR

修复

v2.6.0 - 2023-09-06

重大变更

  • 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

修复

  • 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 filesystem watcher from filtering top level project directory if binary name is included in .gitignore. Added by @haukened in PR #2869
  • 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 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
  • Added a guide to describe a cross-platform build using GitHub Actions. Added by @dennypenta in PR

变更

  • 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 - 2023-05-16

重大变更

  • Go WebView2Loader 允许环境变量和注册表覆盖来更改 WebView2 的行为。 这在 Wails 使用原生 WebView2Loader 时是不可能的,根据 PR 应该是不可能的。 由 @stffabi 在这个 PR 中变更
  • wails dev 现在在 macOS 和 Linux 上为所有 Vite 版本使用自定义 schemes wails://。 这也修复了在 Linux 和 Windows 上多次快速保存后丢失的重新加载。 由 @stffabi 在这个 PR 中变更

修复

  • 修复了在 macOS 上快速重新加载请求期间的分段错误。 Fixed by @stffabi in PR
  • 修复了 Linux 上旧 WebKit2GTK 版本小于 2.36 的开发服务器。 Fixed by @stffabi in PR
  • 修复了 Windows 上可能触发 WebView2 挂起的 devserver。 Fixed by @stffabi in PR

v2.5.0 - 2023-05-13

重大变更

  • 如果使用 Vite >= v3.0.0wails dev 现在在 macOS 和 Linux 上使用自定义方案 wails://。 这使得开发应用程序的行为与最终生产应用程序一致,并修复了一些长期存在的不一致问题。 由 @stffabi 在这个 PR 中变更

新增

  • wails doctor 中添加了 Nodejs 版本。 由 @misitebao 在这个 PR 中添加。
  • 在 Linux 上添加了对 WebKit2GTK 2.40+ 的支持。 这为 AssetServer 带来了额外的特性,比如对 HTTP 请求体的支持。 应用程序必须使用 Go 构建标签 webkit2_40 进行编译,以激活对此功能的支持。 这也会将您应用程序的 WebKit2GTK 最低要求提高到 2.40。 由 @stffabi 在这个 PR 中添加。
  • macOS:添加了具有众所周知的快捷键“Minimize、Full-Screen 和 Zoom(最小化、全屏和缩放)”的窗口菜单角色。 Added by @stffabi in PR
  • macOS:在 appmenu 中添加了“Hide、Hide Others、Show All(隐藏、隐藏其他、显示所有)”。 Added by @stffabi in PR
  • Windows:添加了禁用 WebView2 RendererCodeIntegrity 检查的标志,请参阅标志上的注释以获取更多信息。 Added by @stffabi in PR
  • Windows:添加了对 WebView2 进程崩溃的处理,对于不可恢复的错误,会显示一条错误消息,提示应用需要重新启动。 如果发生显示 chromium 错误页面的错误,请确保 Window 和 WebView2 可见。 Added by @stffabi in PR

变更

  • [v3] 使用 StructDef 从新的基于 AST 的解析器生成 Typescript 模型。 由 @ATenderholt 在 PR1PR2 中添加

修复

  • 修复 wails generate template 的控制台打印。 由 @misitebao 在这个 PR 中修复。
  • 修复了多符号字符的字符串的 unicode 编码。 由 @joshbuddy 在这个 PR 中修复
  • 修复 wails dev-skipbindings 标志。 由 @stffabi 在这个 PR 中修复
  • 修复 macOS 上的 runtime.MenuUpdateApplicationMenu。 由 @stffabi 在这个 PR 中修复
  • 修复了为 libwebkit/pkg-config 添加包名称并在 zypper.go 中使用 shell.RunCommandWithENV 而不是 shell.RunCommand。 由 @wgjtyu 在这个 PR 中修复
  • 确保在 Windows 上的主线程上启动 CommonFileDialogs。 由 @stffabi 在这个 PR 中修复
  • 修复生成的 TypeScript 绑定。 由 @dominictwlee 在这个 PR 中修复。
  • 修复了 StartHidden 选项在 Linux 上不起作用的问题。 由 @LGiki 在这个 PR 中修复。

v2.4.1 - 2023-03-20

变更

  • 支持在窗口上再次单击带有 --wails-draggable: drag 的项。 由 @stffabi 在这个 PR 中变更

修复

  • 修复了使用 wails dev 和 AssetServer 尝试记录到记录器时的 panic。 由 @stffabi 在 PR 中修复
  • 修复了与 WebView2 运行时大于 110.0.1587.69 的兼容性,它在重新加载前端之前显示 connection refused 的 html 页面。 由 @stffabi 在 PR 中修复

v2.4.0 - 2023-03-08

新增

  • WindowsLinux 添加了WebView GPU 加速选项. @Lyimmi 在 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. @stffabi 在 PR 中添加
  • Allow an AssetServer Middleware to specify the Content-Type of a file served by the Assets fs.FS. @stffabi 在 PR 中添加
  • The AssetServer now detects more mimetypes by extension, e.g. .mjs. Added by @stffabi in PR

变更

  • 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. @stffabi 在 PR 中修改
  • Frameless resize now sets the cursor on documentElement, otherwise resizing cursor won't be shown outside of the body rectangle. @stffabi 在 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 failing build hooks when build/bin was missing. @Lyimmi 在 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
  • Fixed a segfault on opening the inspector on older macOS versions. Fixed by @stffabi in PR
  • Fixed the macos single architecture builds not respecting an output file name specified with the '-o' flag. Fixed by @gwynforthewyn in PR
  • Fixed undo/redo on macOS. Fixed by @stffabi in PR
  • Fixed Events* runtime functions in JavaScript not returning the function to cancel the watcher. Fixed by @zllovesuki in PR
  • Fixed AppOptions merging defaults when a custom logger is used. Fixed by @stffabi in PR
  • Fixed race condition and missing unlock of mutex in events handling. Fixed by @stffabi in PR

v2.3.0 - 2022-12-29

新增

  • 添加 OpenInspectorOnStartup 到调试选项以允许在调试模式下启动应用程序期间打开 Web 检查器。 由 @stffabi 在这个 PR 中添加。
  • 在 macOS 上的 wails doctor,现在也会显示安装的 Xcode 版本。 由 @stffabi 在这个 PR 中添加。
  • 如果 Assets fs.FS 提供 io.ReadSeekerAssetServer 现在支持处理范围请求。 由 @stffabi 在这个 PR 中添加。
  • wails.json 配置文件添加新属性 - bindings。 关于新属性的更多信息可以在更新的 schema 中找到。 属性 prefixsuffix 允许您控制在 model.ts 文件中生成的 TypeScript 实体名称。 由 @OlegGulevskyy 在这个 PR 中修复。
  • WindowSetAlwaysOnTop 方法现在在 JS 运行时中公开。 由 @gotid 在这个 PR 中修复。
  • AssetServer 现在支持在请求目录时提供 index.html 文件。 由 @stffabi 在这个 PR 中添加
  • 在 Linux 上添加了对 WebKit2GTK 2.36+ 的支持。 这为 AssetServer 带来了额外的特性,例如对 HTTP 方法和标头的支持。 该应用程序必须使用 Go 构建标签 webkit2_36 进行编译,以激活对此功能的支持。 这也会将您应用程序的 WebKit2GTK 最低要求提高到 2.36。 由 @stffabi 在这个 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. 由 @OlegGulevskyy 在这个 PR 中修复。
  • Added reference to NSIS as optional dependency. Added by @acheong08 in PR
  • Added Korean translation for the website. Added by @cybertramp in PR

修复

  • wails dev 中 noreload 标志未被应用。 由 @stffabi 在这个 PR 中修复。
  • build/bin 文件夹在 wails dev 模式下每次重新加载时都会复制自身。 由 @OlegGulevskyy 在这个 PR 中修复。
  • 防止 Windows 上的无边框窗口底部出现细白线。 由 @stffabi 在这个 PR 中修复。
  • 更好的 Linux 信号处理。 由 @leaanthony 在这个 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. 由 @gotid 在这个 PR 中修复。
  • Fixed obfuscated flag typo in docs. Fixed by @ckilb in PR
  • Fixed React Hash Router link in docs. Fixed by @marvinhosea in PR

变更

  • 如果在资产中找不到 index.html 并且验证资产服务器选项,则改进错误消息。 由 @stffabi 在这个 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

新增

  • 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

修复

  • 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

变更

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

废弃

新贡献者

v2.1.0 - 2022-10-18

移除

  • options.App<code> 中的 <code>RGBA 选项现已被删除。 使用 BackgroundColour 代替。

新增

修复

变更

新贡献者

v2.0.0 - 2022-09-22

修复

变更

新贡献者

v2.0.0-rc.1 - 2022-09-13

废弃

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

新增

修复

变更

新贡献者

v2.0.0-beta.44 - 2022-08-20

废弃

data-wails-drag 属性正在被弃用,改为以下的 CSS 样式: style="--wails-dragable:drag 您可以使用 style="--wails-dragable:no-drag" 来禁用拖动操作。 You can use style="--wails-draggable:no-drag" to disable the drag behaviour. 仅限此版本,您可以通过设置以下应用程序选项来测试: 仅限此版本,您可以通过设置以下应用程序选项来测试:

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

新增

修复

变更

新贡献者

v2.0.0-beta.43 - 2022-08-08

新增

修复

变更

新贡献者

v2.0.0-beta.42 - 2022-07-25

新增

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

修复

v2.0.0-beta.40 - 2022-07-24

新增

修复

变更

废弃

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

新贡献者

v2.0.0-beta.39.2 - 2022-07-20

新增

修复

v2.0.0-beta.39 - 2022-07-19

新增

修复

变更

新贡献者

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

新增

修复

变更

新贡献者

v2.0.0-beta.37 - 2022-05-26

新增

修复

变更

新贡献者

v2.0.0-beta.36 - 2022-04-27

修复

变更

  • Added OnStartup method back to default templates

v2.0.0-beta.35 - 2022-04-27

重大变更

  • 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 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 More details here

新增

  • New Templates: Svelte, React, Vue, Preact, Lit and Vanilla templates, both JS and TS versions. wails init -l for more info. wails init -l for more info.
  • Default templates now powered by Vite. This enables lightning fast reloads when you use wails dev! This enables lightning fast reloads when you use wails dev!
  • Add support for external frontend development servers. 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

修复

  • 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

变更

  • 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

新增

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

修复

  • [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
  • 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 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 by @leaanthony in #1212
  • Check system for user installed Linux dependencies by @leaanthony in #1180

变更

  • 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

新增

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

修复

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

变更

  • 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