変更履歴
Wails v3のバージョン履歴とリリースノート
凡例:
- - macOS
- ⊞ - Windows
- 🐧 - Linux
/_– このプロジェクトの特筆すべき変更は、すべてこのファイルに記録されます。
この形式はKeep a Changelogに基づいており、 このプロジェクトはセマンティック バージョニングに準拠しています。
- 新機能には
Added。 - 既存機能の変更には
Changed。 - 近く削除される機能には
Deprecated。 - 削除済みの機能には
Removed。 - バグ修正には
Fixed。 - 脆弱性がある場合には
Security。
_/
/_ * このファイルを更新しないでください * 更新内容はv3/UNRELEASED_CHANGELOG.mdに追加してください よろしくお願いします! _/
[未リリース]
v3.0.0-beta.21 - 2026-09-13
追加
- PR で、Wails の v3 ドキュメントを M-Press で配信(@leaanthony)
修正
- PR で、変更履歴の生成時に MPD フロントマターから JSON の slug 値を解析するように修正(@leaanthony)
- PR で、アップデーターがヘルパーの環境変数を消去し、バックアップに失敗した後に元のターゲットを再起動するように修正(@cnmax)
- PR で、App.Run の実行中にデフォルトのシグナルハンドラーを起動するように修正(@leaanthony)
- PR で、Windows メニューが nil メニューを処理し、置き換えられたリソースを解放して、メニューバーを再描画するように修正(@taliesin-ai)
- PR で、共有 YAML 設定を使用する新規プロジェクトの MSIX パッケージ化を復元(@leaanthony)
- ジェネリックモデルのクリエーターが後続のヘルパー宣言を参照すると、生成された JavaScript および TypeScript バインディングの読み込みに失敗する問題を修正し、相互依存するジェネリックモデルの作成時にスタックオーバーフローが発生しないように修正(#6062)
v3.0.0-beta.20 - 2026-09-10
変更
- Claveのショーケースリンクを現在のWebサイトとリポジトリに更新(@01xR4inによるPR)
修正
- Windowsで中止されたアセットリクエスト(ワーカーからのリクエストを含む)をキャンセルしつつ、ナビゲーションをまたいでkeepaliveハンドラーを維持。Appleプラットフォームでは、ネイティブリクエストのコンテキストをアプリケーションラッパー経由で転送。(#5963、#5969)
- 競合するプッシュが発生しても、再試行によって変更履歴のエントリを保持(@leaanthonyによるPR)
- モジュールに一度も同梱されていないバイナリを参照する埋め込みを削除し、すべてのプラットフォームで
pattern arm64/WebView2Loader.dll: no matching files foundによりgo mod vendorが失敗する問題を修正。これにより、#5782および#5376も修正(@Grantmartin2002によるPR)
削除
- 純Goローダーに置き換えられたネイティブWebView2ローダーのサポートを削除。これにより、埋め込まれていた
WebView2Loader.dllバイナリとgithub.com/jchv/go-winloader依存関係を廃止。native_webview2loaderビルドタグは引き続き受け付けられ、エラーも発生しなくなりましたが、v3ビルドには影響しません(@Grantmartin2002によるPR)。 - macOS APIガイドから未使用のビルドタグとFPSオプションを削除(@leaanthonyによるPR)
v3.0.0-beta.19 - 2026-09-09
追加
- オプトインで使用できるよう、macOSのプライベートAPIをビルドタグで制限。ドキュメント、ドキュメント、ドキュメント、ドキュメント、ドキュメント、ドキュメント、ドキュメント、ドキュメント、ドキュメントを参照(@leaanthonyによるPR)。
修正
- 64 MiBを超えるランタイムリクエストをHTTP 413で拒否(@leaanthonyによるPR)
セキュリティ
- トークン認証によりMCPのオリジンとリモートアクセスを強化(@leaanthonyによるPR)
v3.0.0-beta.18 - 2026-09-08
修正
- ポインタレシーバーを使用することで、LinuxおよびDarwinでのCallocのメモリリークを修正(@4RH1T3CT0R7によるPR)
v3.0.0-beta.17 - 2026-09-06
修正
- Windows:WebResourceRequestedハンドラー内の
GetRequestが失敗するかnilでも、プロセスが終了(log.Fatal/nil参照パニック)しないように変更。代わりにリクエストを破棄してログに記録(@midagedevによるPR)。
v3.0.0-beta.16 - 2026-08-29
変更
- 新しいターミナルウィンドウで公証用パスワードの入力を要求(@leaanthonyによるPR)
修正
- macOSでシステムトレイのクリック種別を正しく処理(@ChewbaccaCookieによるPR)
- CIで更新前に未使用のMicrosoft aptリポジトリを削除(@Grantmartin2002によるPR)
v3.0.0-beta.15 - 2026-08-27
修正
- WebView2の埋め込みタイムアウトを60秒に延長(@Grantmartin2002によるPR)
v3.0.0-beta.14 - 2026-08-26
修正
- macOSでControlキーと文字キーの組み合わせによる押下に正しい名前を付与(@taliesin-aiによるPR)
- WindowsでICO形式のトレイアイコンを修正し、タスクバーのテーマに追従するよう変更(@nik9playによるPR)
v3.0.0-beta.13 - 2026-08-25
修正
- macOSでモーダルループの実行中もメインスレッドの処理を継続(@leaanthonyによるPR)
- モバイルのセキュアストレージが失敗をエラーとして返せるようにし、失敗時はアクセスを拒否するよう変更(@mortenolsrudによるPR)
- リスナーが登録されていない場合でも、アプリケーションのイベントフックを実行(@archy-rock3t-cloudによるPR)
- コメントとローカライズ済みドキュメントの誤字を修正(@haoku123によるPR)
v3/examples以下にコミットされていたコンパイル済みmacOSバイナリを削除(@4RH1T3CT0R7によるPR)
v3.0.0-beta.12 - 2026-08-21
追加
- ライフサイクルとテレメトリの例を備えたmacOSノッチ通知ウィンドウを追加。ドキュメントを参照(@leaanthonyによるPR)。
- 新しいオプションとネイティブ統合を備えた macOS NSPanel ウィンドウのサポートを追加 — @leaanthony による PR(ドキュメントを参照)
修正
- 並行呼び出し時に SQLite Prepare がハングする問題を防止 — @archy-rock3t-cloud による PR
v3.0.0-beta.11 - 2026-08-20
削除
- ドキュメントから廃止済みの実装トラッカーを削除 — @leaanthony による PR
v3.0.0-beta.10 - 2026-08-19
修正
- GTK4 Linux ホストがカスタムプロトコルおよびファイル関連付けによる起動時の引数を破棄する問題を修正 — @midagedev による PR
- 変更履歴の検証で、削除された行と同一ソース内の修正を正しく処理 — @taliesin-ai による PR
v3.0.0-beta.9 - 2026-08-16
追加
- エージェント支援によるプロジェクト管理に対応する、安全な wails3 mcp サーバーを追加 — @leaanthony による PR
- バインディング内のモデルに関するドキュメントを追加 — @taliesin-ai による PR(ドキュメントを参照)
- Atomic Linux システムでの rpm-ostree によるインストールをサポート — @leaanthony による PR
- 週次のスター履歴チャートをネイティブに生成して公開する機能を追加 — @leaanthony による PR(ドキュメント、ドキュメント、ドキュメント、ドキュメント、ドキュメント、ドキュメント、ドキュメント、ドキュメント、ドキュメント、ドキュメントを参照)
- アプリケーションバンドルのリソースを解決する Darwin 専用の mac パッケージを追加 — @leaanthony による PR(ドキュメントを参照)
- Condui のショーケースページとインデックス項目を追加 — @mgueregath による PR(ドキュメントおよびドキュメントを参照)
- スクリーンショットとプロジェクトへのリンクを掲載した Redis Viewer のショーケースページを追加 — @redisviewer による PR(ドキュメントおよびドキュメントを参照)
変更
- Linux の GTK アプリケーションフラグを GAPPLICATIONNON_UNIQUE に更新 — @overlordtm による PR
- 存在しないウィンドウのイベントを警告レベルではなくデバッグレベルでログに記録 — @julianstorer による PR
修正
- 登録済みの macOS キーボードショートカットが webview より優先されるように修正 — @julianstorer による PR
- ドキュメントのサイドバーにある壊れたリンクを修復 — @northes による PR
- WebKit が対応するカスタムスキームのタスクを中止した際に、macOS および iOS のアセットリクエストコンテキストをキャンセル(#5963)
- WindowSetFullscreenButtonEnabled メッセージを処理 — @archy-rock3t-cloud による PR
- preact-ts テンプレートに Fragment をインポートし、ビルドエラーを解消 — @haoku123 による PR
- アクティブなウィンドウまたはディスプレイが利用可能になる前に画面検出が実行された場合に、従来の GTK3 サービス専用アプリケーションがクラッシュする問題を防止(#5966)
- 未リリースの変更履歴が空でも、バージョンを明示したリリース処理を続行できるように修正(#5977)
セキュリティ
- セキュリティアドバイザリに対処するため、Web サイトの nanoid ロックファイルを修正済みの 3.3.18 に更新 — @taliesin-ai による PR
v3.0.0-beta.8 - 2026-08-12
追加
- 変更履歴の自動生成項目にドキュメント URL の生成機能を追加 — @taliesin-ai による PR
- Streams を追加:WebSocket のプログラミングモデルを使用し、リッスンソケットを必要としない、Go と JavaScript 間の双方向バイトストリーム。Go では
app.HandleStream(name, handler)を使用してストリームを宣言し、フロントエンドからStream(name)を使用して接続します。これはWebSocketと同じ構造のオブジェクトを返します。Go→JS の通信はアセットサーバー経由でウィンドウごとに保持される単一のポーリングにより行われ、JS→Go の通信には通常の POST が使用されます。TCP ポートへのバインドは一切行われず、evaluateJavaScriptを経由する通信もありません。サーバービルド(-tags server)では、代わりに同じハンドラーが実際の WebSocket 経由で提供されるため、ビルドが異なってもアプリケーションコードは同一です。@leaanthony - mailbox の変更履歴項目を「未リリース」に移動 — @leaanthony による PR
変更
- ドキュメントのサイドバー自動生成とブログ著者型の導出を更新 — @leaanthony による PR
修正
- WebView2 の初期化で期限とメッセージポンプを使用 — @leaanthony による PR
- WebView2 の Cookie テストを、明示的に有効化しない限り CI ではスキップし、実行を現在の OS スレッドに固定 — @leaanthony による PR
- Windows のメニュービルダーで、サブメニューの親項目のコマンド ID を復元 — @gilad-ch による PR
- 公式のクロスコンパイル用イメージを GTK 4.14+ Linux のサポート基準に合わせる(#5928)
- 継承されたリンカーフラグを維持し、-ObjC を追加するように iOS Xcode プロジェクトを構成 — @mortenolsrud による PR
- 大規模なフロントエンドで
wails3 devアセットプロキシの TCP 接続が過剰に切り替わる問題を修正。この問題により、ホストのエフェメラルポートが枯渇し、無関係なプロセスでEADDRNOTAVAILエラーが発生する可能性がありました - 順序どおりのディスパッチとバックプレッシャーのため、ウィンドウごとのイベント JavaScript をキューに格納 — @leaanthony による PR
削除
- デスクトップバイナリのリリースパイプラインを削除。v3 のリリースはタグのみとなり、
wails3CLI はgo installを使用してインストールします。release-v3.ymlと、それを起動していた nightly ステップを削除 — @leaanthony による PR
v3.0.0-beta.7 - 2026-08-11
追加
変更
- PR(@savely-krasovsky)で、macOSのズームアニメーションにCADisplayLinkまたはNSTimerを使用し、動作をより滑らかに変更
修正
- PR(@mortenolsrud)で、継承されたリンカーフラグを保持し、-ObjCを追加するようにiOSのXcodeプロジェクトを構成
- 大規模なフロントエンドで
wails3 devアセットプロキシがTCP接続を過剰に切り替える問題を修正。この問題により、ホストのエフェメラルポートが枯渇し、無関係なプロセスがEADDRNOTAVAILで失敗する可能性があった - PR(@leaanthony)で、順序どおりのディスパッチとバックプレッシャーのため、ウィンドウごとのイベントJavaScriptをキューに格納
追加
- PR(@savely-krasovsky、@DevLumuz)で、イベントを順序どおりに配信するための汎用非同期FIFOメールボックスを実装
v3.0.0-beta.6 - 2026-08-09
追加
- PR(@leaanthony)で、サイズ超過イベント向けの容量制限付きホスト側ストレージと、順序どおりのJavaScript配信を実装
- PR(@julianstorer)で、ウィンドウの点滅機能をmacOSではDockアイコンのバウンドで実現
修正
- PR(@leaanthony)で、アセットサーバーがフラッシュ時にContent-Typeスニッファーのエラーと未書き込みのプレフィックスを保持するように修正
- Wailsのコールバックからアプリケーションメニューを置き換えたときに、macOSアプリケーションがクラッシュする問題を修正
- Windows 10 1809/Windows Server 2019(ビルド17763)でネイティブメニューが読めなくなる問題を修正。ダークモード用のuxthemeエクスポートはビルド18334を条件としていたため、これらのホストではアプリレベルのダークモードのオプトインが実行されていなかった。その結果、メニューの背景は暗く描画された一方、Windowsはライトテーマのメニューテキストを描画し続け、暗い背景に暗い文字が表示されていた。序数は17763以降に存在するため、条件をそれに合わせて修正
w32.GetStockObjectがGetStockObjectではなくGetDeviceCapsを呼び出し、すべてのストックオブジェクトに対して0を返していた問題を修正- PR(@jannskiee)で、WebView2ブートストラッパーのダウンロードエラー処理と報告を改善
v3.0.0-beta.5 - 2026-08-07
修正
- PR(@julianstorer)で、macOSアプリのアクティベーションが通常のアプリに限ってアクティベーションポリシーに従うように修正
- PR(@julianstorer)で、Linuxビルドにおける未初期化のGTKウィンドウを保護
- PR(@julianstorer)で、URLを読み込む前にLinuxのWebKitウィンドウへ明示的な不透明の背景色を設定
v3.0.0-beta.4 - 2026-08-05
変更
- PR(@mortenolsrud)で、Androidのビルドタスクのデフォルトをarm64に変更し、deploy-emulatorがホストアーキテクチャを選択するように変更
修正
- PR(@leaanthony)で、ドラッグ中にmacOSウィンドウのズーム状態を保持し、動きを抑制
webview_window_windows_nonclient.goのビルド制約に!serverを追加し、Windowsのサーバーモードビルドを修正
v3.0.0-beta.3 - 2026-08-03
追加
- PR(@leaanthony)で、フェーズ10のベータ検証完了を実装詳細に記載
修正
- PR(@leaanthony)で、WindowsのダークモードAPIにウィンドウハンドルを渡し、引数を検証
- PR(@taliesin-ai)で、macOSのフレームレスウィンドウにおけるタイトルバーボタンの状態解決を一元化
- Windowsアプリケーションがダークモードを要求している一方で、Windowsのアプリテーマがライトの場合に、ネイティブメニューの文字が読めなくなる問題を修正。Windowsがダークモード用のメニューテキストを描画できるようになるまでは、メニューに対応する明るいネイティブ背景を使用するように変更
- Windows 10 1809/Windows Server 2019(ビルド17763)でネイティブメニューが読めなくなる問題を修正。ダークモード用のuxthemeエクスポートはビルド18334を条件としていたため、これらのホストではアプリレベルのダークモードのオプトインが実行されていなかった。その結果、メニューの背景は暗く描画された一方、Windowsはライトテーマのメニューテキストを描画し続け、暗い背景に暗い文字が表示されていた。序数は17763以降に存在するため、条件をそれに合わせて修正
v3.0.0-beta.2 - 2026-08-02
変更
- v3をアルファ版からベータ版に昇格
- システムトレイのスマートデフォルトとポップアップの自動非表示動作を文書化し、クリックハンドラーの選択に対する回帰テストを追加(#5840)
- PR(@leaanthony)で、GitHubアップデーターがデフォルトでWindowsインストーラーのアセットを除外するように変更
- PR(@leaanthony)で、macOSのフレームレスウィンドウに、角丸、角型、カスタム半径のコーナーを追加
修正
- GTK4ウィンドウの現在のサイズを報告し、構成されたサーフェスからサイズ変更、最大化、最小化、フルスクリーンの状態イベントを発行するように修正(#5830)
- PR(@taliesin-ai)で、fetchリクエストにBlobまたはFormDataを指定して送信するとLinuxのWebKitがクラッシュする問題を修正
- PR(@leaanthony)で、Blob/FormDataヘッダーがない場合にfetch shimがundefinedを渡すように修正
v3.0.0-alpha2.122 - 2026-08-01
追加
変更
- PR(@leaanthony)で、macOSのフレームレスウィンドウに、角丸、角型、カスタム半径のコーナーを追加
修正
- PR(@leaanthony)で、Blob/FormDataヘッダーがない場合にfetch shimがundefinedを渡すように修正
v3.0.0-alpha2.121 - 2026-07-31
追加
- macOS向けDMGパッケージ作成のサポートを、新しいオプションおよびビルドタスクとともに追加(@leaanthonyによるPR)
変更
- GitHubアップデーターがデフォルトでWindowsインストーラーのアセットを除外するように変更(@leaanthonyによるPR)
修正
- fetchリクエストでBlobまたはFormDataを送信した際にLinuxのWebKitがクラッシュする問題を修正(@taliesin-aiによるPR)
v3.0.0-alpha2.120 - 2026-07-31
追加
- macOSのタイトルバーをダブルクリックした際に最大化または最小化するアクションを実装(@taliesin-aiによるPR)
変更
- QRサービスのチュートリアルをNewServiceWithOptionsを使用するよう更新し、スペースを追加(@jeongkyuによるPR)
修正
- macOSでのズーム中もWKWebViewが応答し続けるよう修正(@leaanthonyによるPR)
- GTK4のウィンドウサイズ取得を修正し、設定された
GdkSurfaceから、サイズ変更、最大化、最小化、およびフルスクリーンの状態イベントを発行するよう修正。
v3.0.0-alpha2.119 - 2026-07-27
修正
- 複数言語のドキュメントを更新し、アーキテクチャ図を追加(@taliesin-aiによるPR)
v3.0.0-alpha2.118 - 2026-07-26
追加
- アイコン生成の入力および出力にデフォルトパスを追加(@taliesin-aiによるPR)
- ランタイムのpackage.jsonのsideEffectsにソースエントリーモジュールを追加(@savely-krasovskyによるPR)
- コントリビューションガイドにライセンスおよび来歴のセクションを追加(@taliesin-aiによるPR)
修正
- GTK4のフレームなしウィンドウにスコープを限定したCSSを適用し、角丸を削除(@savely-krasovskyによるPR)
- Windowsでポップアップメニューの表示や画面列挙を行う際、カーソル位置の取得に失敗しても適切に処理するよう修正(@wayneforrestによるPR)
- macOSのファイルを開くダイアログで拡張子を正しくフィルタリングし、許可されたファイルを接尾辞で検証するよう修正(@phergulによるPR)
- Windowsのダークモード初期化でnilのAPIが呼び出されないようガードを追加(@roachadamによるPR)
- アップデーターの32ビットビルド失敗を修正。
GOARCH=386でfmt.Errorfに渡したmaxArchiveTotalSize定数(2 GiB)が、プラットフォームのintをオーバーフローしていました。この定数を明示的にint64型としました。 - Windows 10 1809 / Windows Server 2019(ビルド17763)など、ダークモードのuxtheme APIを読み込まないWindowsビルドで、ウィンドウがDark(またはシステムのダーク設定)のタイトルバーを使用すると、起動時にnilポインターによるパニックが発生する問題を修正。ウィンドウテーマの設定にある
AllowDarkModeForWindow呼び出しを、w32.SetMenuThemeですでに使用しているガードと同様にnilチェックで保護するようにしました。
v3.0.0-alpha2.117 - 2026-07-08
追加
- Windowsの非クライアント領域向けにカスタムヒットテストロジックを実装(@savely-krasovskyによるPR)
変更
- UseVisualHostingに基づいてWebView2のモニタースケール検出を構成(@wayneforrestによるPR)
v3.0.0-alpha2.116 - 2026-07-07
追加
- FAQドキュメントを更新し、Wails v3の機能とガイダンスに重点を置くよう変更(@taliesin-aiによるPR)
v3.0.0-alpha2.115 - 2026-07-06
修正
- GTK4 Linuxで
Menu.Update()がネイティブメニューを再構築しない問題を修正(#5659。@puneetdixit200も#5539で独自に診断し修正) - ディスプレイ変更時にmacOSの画面を列挙するとクラッシュする問題を、画面ID/名前の文字列をコピーし、件数のスナップショットを取得することで修正(#5565。@x-haoseも#5584で独自に診断し修正)
- 最小化/復元の遷移中に
GetClientRectがnilを返し、WM_ERASEBKGNDが単色の背景を描画するとWindowsでクラッシュする問題を修正(ガードは@sinspiredが#5636で報告) - フロントエンドバインディングのエラーが常にテキストとして解析される問題を修正(@mbaklorによる#5690)
serverビルドタグを使用した際にWindowsのビルドが失敗する問題を修正。原因は、macOSおよびLinuxの同等ファイルにはすでに存在する!serverビルド制約が、Windows GUIファイルにはなかったことです(#5680)。
v3.0.0-alpha2.114 - 2026-07-05
追加
- Update Manifestプロトコルおよびエンドポイントプロバイダーを実装(@taliesin-aiによるPR)
変更
webview2バインディングをv3/internal/webview2としてv3モジュールに統合し、独立したモジュール、そのナイトリーリリース/同期ワークフロー、およびgo.modのバージョン調整を削除(利用するのはv3のみ)(@taliesin-aiによるPR)
修正
- WebView2のモニタースケール検出およびDPI変更時のホスト再同期の修正を「未リリース」セクションへ移動(@taliesin-aiによるPR)
- float64およびBOOLパラメーターに対するWebView2のCOMマーシャリングを更新(@wayneforrestによるPR)
- Windowsのシステムトレイアイコンの更新および破棄時に発生するパニックとnil参照を防止(@wayneforrestによるPR)
- Windowsで非表示ウィンドウが正しく再度非表示にならない問題を修正(@wayneforrestによるPR)
- WebView2コントローラーの表示状態を、ウィンドウの最小化/最大化/復元と同期(@wayneforrestによるPR)
修正
- WebView2のモニタースケール検出を再び有効にし、DPI変更時にのみホストを再同期するよう制御(@taliesin-aiによるPR)。@randalmurphalが検証した修正を基に、@eleclinが根本原因を確認し、@qq540491950が実機テストを実施
v3.0.0-alpha2.113 - 2026-07-04
追加
ANDROID_KEYSTORE_FILEを設定せずにリリース用 AAB をビルドした場合の警告を追加し(Google Play はデバッグ署名されたバンドルを拒否します)、@taliesin-ai によるPRで App Bundle のパッケージ化と署名について文書化- @taliesin-ai によるPRで Why Wails ドキュメントを複数の言語で追加
- @fbbdev によるPRで、バインディングにおける Go の time.Time から JS の Date または string へのマッピングをサポート
- Play Store への提出用に Android App Bundle(AAB)のパッケージ化タスク(
bundle、bundle:fat、assemble:aab、assemble:aab:release)を追加。ローカル/エミュレーターでのテスト用 APK タスクは引き続き利用可能。@mortenolsrud によるPR(#5726を修正) - @taliesin-ai によるPRで、Android 実機向けタスクターゲットと、カメラ/位置情報の権限の再開処理を追加
変更
webview2を v1.0.28 に更新(リリースノート)。- @taliesin-ai によるPRで、Android テンプレートの
compileSdk/targetSdkを34から35へ更新。これは Google Play で新しいアプリを提出するために必要
修正
- @leaanthony によるPRで、sponsorkit に焼き込まれたアバターマスクを修正
- @taliesin-ai によるPRで、バージョンを辞書順で並べ替えることにより、Android AVD の自動作成時に誤ったシステムイメージまたは cmdline-tools のバージョンが選択される問題を修正
- @taliesin-ai によるPRで、セットアップウィザードが古い Android NDK バージョンを提案する問題を修正(現在は文書化された要件と一致する26.3.11579264)
- @leaanthony によるPRで、SvelteKit とオプションに関するフランス語ドキュメントを更新
- @flofreud によるPRで、ディスプレイ変更時に macOS の画面列挙処理で発生する SIGSEGV を修正
v3.0.0-alpha2.112 - 2026-07-03
追加
- @taliesin-ai によるPRで、Go ベースのコントリビューター SVG ジェネレーターを追加し、ドキュメント/Web サイトのクレジットページを更新
- @fbbdev によるPRで、バインディングにおける Go の time.Time から JS の Date または string へのマッピングをサポート
変更
- @taliesin-ai によるPRで、Node ベースのスポンサー画像パイプラインを Go ジェネレーターに置き換え
修正
- @taliesin-ai によるPRで、Android ビルドアセットの依存関係インストールスクリプトを修正
ValidateAndSanitizeURLで U+0085(NEXT LINE)制御文字を拒否するようにし、URL バリデーターの空白文字に関する網羅性を確保- @leaanthony によるPRで、フレームレスウィンドウの DPI 変更時に DWM フレームを再計算
- @yulesxoxo によるPRで、Windows の表示スケールが100% 以外の場合に DnD ドロップゾーンの検出が失敗する問題を修正
- @taliesin-ai によるPRで、Darwin のダイアログ、メニュー、トレイ、通知全体の Cocoa オブジェクトに明示的な Objective-C メモリ管理を追加
- @taliesin-ai によるPRで、Linux CGO バックエンドのバグとシステムトレイの問題を修正
v3.0.0-alpha2.111 - 2026-07-01
追加
- @Aliuyanfeng によるPRで、コミュニティショーケースに HappyTools を追加
- @triadmoko によるPRで、インドネシア語ロケールのサポートと包括的なドキュメントを追加
- @leaanthony によるPRで、WindowsWindow に DisableMenu オプションを追加
変更
- @leaanthony によるPRで、GOOS と ARCH を使用してビルド/パッケージタスクを振り分けるように Taskfile テンプレートと CLI を更新
修正
- @taliesin-ai によるPRで、macOS ウィンドウのタブ化に関する問題を修正
削除
- @taliesin-ai によるPRで、コントリビューション、機能、ガイドからドイツ語翻訳済み MDX ファイルを削除
v3.0.0-alpha2.110 - 2026-06-30
追加
- @wayneforrest によるPRで、macOS WebView の再読み込みと強制再読み込みを実装し、WebContent プロセス終了時の復旧処理を追加
- @leaanthony によるPRで、コントリビューション、機能、ガイドに関する包括的なドイツ語ドキュメントを追加
- @popaprozac によるPRで、通知にサウンド、添付ファイル、スケジュール設定、通知更新用 API を追加
修正
- @leaanthony によるPRで、フレームレスウィンドウの DPI 変更時に DWM フレームを再計算
- @yulesxoxo によるPRで、Windows の表示スケールが100% 以外の場合に DnD ドロップゾーンの検出が失敗する問題を修正
v3.0.0-alpha2.109 - 2026-06-29
追加
- @iamhabbeboy によるPRで、EventsEmit ドキュメントにコードサンプルを追加
- @MerIijn によるPRで、Windows WebView2 のビジュアルホスティングオプションを追加
- @SametKUM によるPRで、コミュニティショーケースのドキュメントに Klustr を追加
- @thiennguyen93 によるPRで、Kira をコミュニティショーケースに追加し、新しいページと変更履歴の項目も追加
- @taliesin-ai によるPRで、MCP サービスガイドにフィードバックセクションを追加
変更
- サーバーモードで、デスクトップのビルドタスクと一貫した正式な本番ビルドを利用できるようになりました(#5693)。
task build:serverはデフォルトで本番用バイナリ(-tags server,production、-trimpath、シンボル削除済み)をビルドし、DEV=true(開発サーバー)、OBFUSCATED=true(garble)、EXTRA_TAGSを受け付けます。task run:serverは開発サーバーを実行します。Dockerfile.server/task build:dockerは、まず本番サーバー(-tags server,production)と本番フロントエンドをビルドします。イメージはデフォルトで distroless/static 上の Pure Go 静的ビルドとなり、CGO アプリ向けにCGO_ENABLED、GO_IMAGE、RUNTIME_IMAGEを上書き可能なビルド引数として公開します。
修正
- 保留中の非同期呼び出しがあるウィンドウを閉じた際のクラッシュを防止(@leaanthony による PR)
- Windows で非表示のアプリを開いた際にウィンドウがアクティブになることを防止(@leaanthony による PR)
- WebKit のリクエストメタデータ、レスポンス完了処理、ボディストリーム処理が GTK メインスレッドで実行されることを保証(@taliesin-ai による PR)
- GTK4 Linux で
Menu.Update()がネイティブメニューを再構築しない問題を修正(#5659、@puneetdixit200 も #5539 で独自に診断して修正) - ディスプレイ変更時に macOS の画面を列挙するとクラッシュする問題を、画面の ID/名前文字列をコピーし、画面数のスナップショットを取得することで修正(#5565、@x-haose も #5584 で独自に診断して修正)
- Windows で異なる DPI のモニター間にウィンドウをドラッグした後、WebView2 のコンテンツが縮小してから消える問題を、最小化解除時の DPI 再同期と同様に
WM_DPICHANGEDハンドラー内でコントローラーの境界を再設定することで修正(#5677)
v3.0.0-alpha2.108 - 2026-06-28
追加
app.GlobalShortcut(Register、Unregister、UnregisterAll、IsRegistered、GetAll)によるグローバル(システム全体)キーボードショートカットを追加。アプリケーションにフォーカスがない場合でもショートカットが発火します。サードパーティ依存関係を使用せず、プラットフォームごとにネイティブ実装されています。macOS では Carbon ホットキー、Windows ではRegisterHotKey、X11 ではXGrabKey、Wayland では XDG Desktop Portal のグローバルショートカットインターフェースを使用します。- 組み込み MCP サーバーを追加。これは
mcpタグを指定してアプリケーションをビルドすると自動的に起動する Model Context Protocol サーバーで、LLM エージェントが実行中の Wails アプリケーションをテストおよび制御できます。ウィンドウ制御、DOM インスペクション、JavaScript の評価、バインドされたメソッドの呼び出し、イベント、および画面上のアニメーションカーソルで表示されるマウス/キーボード入力のシミュレーションに対応します。ユーザーコードは不要です。WAILS_MCP=1が設定されている場合、wails3 build/wails3 devによってmcpタグが自動的に追加されます。設定はすべて環境変数(WAILS_MCP_HOST、WAILS_MCP_PORT、WAILS_MCP_TIMEOUT、WAILS_MCP_HIDE_CURSOR)で行います。
修正
- GTK4 Linux で
Menu.Update()がネイティブメニューを再構築しない問題を修正(#5659、@puneetdixit200 も #5539 で独自に診断して修正) - ディスプレイ変更時に macOS の画面を列挙するとクラッシュする問題を、画面の ID/名前文字列をコピーし、画面数のスナップショットを取得することで修正(#5565、@x-haose も #5584 で独自に診断して修正)
v3.0.0-alpha2.107 - 2026-06-27
追加
- サイドバーナビゲーションを備えた実験的な Wake ドキュメントを追加(@leaanthony による PR)
v3.0.0-alpha2.106 - 2026-06-24
変更
-
webview2を v1.0.27 に更新。- ci(webview2): リリースビルドを修正(Windows のクロスコンパイルと完全な go.sum)(#5671)\
完全な差分: https://github.com/wailsapp/wails/compare/webview2/v1.0.26...webview2/v1.0.27
-
webview2 のリリースワークフローのクロスコンパイルから go vet を削除(@taliesin-ai による PR)
-
auto-changelog の OpenRouter モデルを google/gemini-2.5-flash-lite に更新(@taliesin-ai による PR)
-
webview2を v1.0.26 に更新。
修正
- 一時的なランタイム COM エラーで終了せず、復旧するように変更(#5658、#5580)。以前は
Chromium.errorCallbackがあらゆる COM エラーに対してos.Exit(1)を呼び出していたため、起動後に復旧可能な一時的不具合が発生しただけでも、アプリケーション全体が終了していました。ランタイムの処理経路(Resize/GetClientRect、Navigate/NavigateToString、Init、MessageReceived、PutZoomFactor、OpenDevToolsWindow)では、エラーをログに記録して復旧するようになりました。特に、MessageReceived内の不正な形式または信頼できない Web メッセージは、プロセスを停止させず破棄するようになりました。これにより、異なる DPI のモニター間を移動した際に発生する一連のクラッシュ(#5544、#5650)に対処します。環境およびコントローラーの作成処理経路では、引き続き致命的エラーとなります。\
完全な差分: https://github.com/wailsapp/wails/compare/webview2/v1.0.25...webview2/v1.0.26
修正
- release-webview2 ワークフローが go.sum ファイルを正しく処理するように修正(@taliesin-ai による PR)
- ネイティブメニューをクリアして再構築することで Linux GTK4 のメニュー更新を修正(@taliesin-ai による PR)
v3.0.0-alpha2.105 - 2026-06-21
追加
- 共有コードから実行時にプラットフォームを検出するための
application.Systemを追加。System.IsMobile()(iOS/Android)、System.IsDesktop()(macOS/Windows/Linux)、System.IsServer()(serverビルドタグ)、および単一のターゲットを直接テストするためのSystem.IsPlatform(application.PlatformMacOS|PlatformWindows|PlatformLinux|PlatformIOS|PlatformAndroid|PlatformServer)を提供します。すべてのターゲットでコンパイルできるため、ビルドタグを使わずに分岐できます。対応するフロントエンドヘルパー(System.IsMobile/IsDesktop/IsIOS/IsAndroid/...)は@wailsio/runtimeで利用できます。 - 独自の Vite プロジェクトを
frontend/に組み込む方法を示す「その他のフロントエンドフレームワークの使用」ガイドを追加(Solid、Preact、Lit、SvelteKit、Qwik、Angular などを対象) wails3 setupウィザードで、モバイル(iOS/Android)ツールチェーン(Xcode と iOS Simulator ランタイム、JDK、Android SDK/NDK、エミュレーター)を確認するようになりました。該当する場合は、ワンクリックインストールとコピー可能なシェル設定の修正方法も提供します。- 生成されるプロジェクトに、7 日間の
minimum-release-ageを設定するfrontend/.npmrcを同梱し、公開直後の(侵害されている可能性がある)パッケージにさらされるリスクを低減します(pnpm と bun では適用され、npm では問題なく無視されます)。
変更
- すべての組み込みスターターテンプレートを、新しいネオンマウンテンのヒーロービジュアル(Web、iOS、Android)で再設計
- TypeScript がスターターテンプレートのデフォルトとなり、修飾子のないテンプレート名を使用するようになりました。
wails3 init(-tなし)は TypeScript プロジェクトを生成します。-t vanilla、-t react、-t vue、-t svelteは TypeScript 版で、JavaScript 版はそれぞれ-t vanilla-js、-t react-js、-t vue-js、-t svelte-jsです。組み込みテンプレートはtemplate.yaml内のtypescript:で言語を宣言します。-tsサフィックスを使用するコミュニティテンプレートは、フォールバックとして引き続き機能します。 wails3 setupウィザードを、ネオン調の「digital Wails」テーマ(山を背景にしたすりガラス風の鮮やかな表現)で再設計
修正
- WebView2 が一時停止するか、そのレンダリング/GPU プロセスが再生成されるほど長時間アプリを最小化した後、復元すると Windows でクラッシュする問題を修正。最小化/復元時の DPI 再同期(#5544)では、ウィンドウの DPI が実際に変更された場合にのみ WebView2 コントローラーを操作するようになり、一般的な同一 DPI での復元時に、一時停止中のコントローラーに対して致命的な COM 呼び出しが行われることを回避(#5605)
- アセットやメディアを頻繁に読み込む、長時間稼働中の Linux アプリで、ネイティブの
SIGABRT/SIGSEGVクラッシュ(通常は GTK メインループ実行中のg_object_unref内)が繰り返し発生する問題を修正。アセットサーバーがワーカー goroutine からWebKitURISchemeRequestを完了させ、スレッドセーフでない WebKit2GTK 関数を GTK メインスレッド以外から呼び出していたため、完了処理(webkit_uri_scheme_request_finish_with_response/finish_error)をメインスレッドで実行するように変更。#5566 の部分的な修正を完了。GTK3 ビルドと GTK4/WebKitGTK 6.0 ビルドの両方に影響(#5631、#5557) - Linux/GTK3 の
setupSignalHandlersで断続的に発生するfatal error: invalid pointer found on stackを修正。シグナルのuser_dataとして渡されるウィンドウ ID が Go のローカルなunsafe.Pointerに保持されていたため、スタックコピー中にガベージコレクターがその(ポインターではない)値をスキャンすると異常終了していた。Go 側で ID を整数型(uintptr_t)のまま保持するようにし、GTK4 パスに #4958 で適用されたものと同じ修正を、従来の GTK3 パスにもバックポート。GTK4 パスでは、-race/checkptr エラーを解消するため、C のシグナル関数をuintptr_tに変更していた(#5631)
削除
react-swc、preact、lit、solid、qwik、sveltekitの各スターターテンプレート(およびそれらの-tsバリアント)を削除。サポート対象の組み込みテンプレートはvanilla、react、vue、svelteとなり、いずれもデフォルトでは TypeScript を使用し、JavaScript バリアントは-jsとなる。その他のフレームワークも、引き続き独自のフロントエンドを用意するか、カスタムテンプレートを使用して利用可能
v3.0.0-alpha2.104 - 2026-06-18
修正
- バインドされた Go サービスメソッドが空文字列を返した際に発生する iOS のクラッシュ(SIGABRT)を修正。iOS のアセットレスポンスライターが本文の長さではなく、
buf != nilで本文ポインターをチェックしていたため、長さゼロの本文で&buf[0]がパニックしていた。デスクトップ版のライターと同様に、長さをチェックするように変更
v3.0.0-alpha2.103 - 2026-06-15
変更
- iOS と Android のネイティブ機能をプラットフォームマネージャーへ移行。従来の
application.IOS*/application.Android*自由関数ではなく、application.IOS.*とapplication.Android.*(例:application.IOS.Haptic("medium")、application.Android.Share(payload))を介して呼び出すように変更(#5602) - モバイルブリッジイベントの名前を変更。クロスプラットフォームイベントでは
common:*プレフィックス(例:common:haptic、common:location)を使用し、プラットフォーム固有のイベントではios:*/android:*(例:ios:backgroundTask、android:foregroundService)を使用するようになった。native:*プレフィックスは廃止(#5602)
v3.0.0-alpha.102 - 2026-06-14
追加
- 対話形式のプロジェクトセットアップと依存関係チェックを行う、実験的な
wails3 setupウィザードを追加 - 機械可読な出力を生成する
--jsonフラグをwails3 doctorに追加 wails3 doctorコマンドに署名ステータスのセクションを追加
修正
- Linux での npm 検出を修正し、パッケージマネージャーに加えて PATH も確認するように変更
v3.0.0-alpha.101 - 2026-06-13
追加
- iOS:ネイティブメッセージダイアログ(UIAlertController)と、ファイル、複数ファイル、ディレクトリを開くダイアログ(UIDocumentPickerViewController)を追加。保存ダイアログは明示的なエラーを返す
- iOS:UIPasteboard によるクリップボード対応を追加
- iOS:UIScreen による実際の画面メトリクス(ポイント、ピクセル、スケール、セーフエリア内の作業領域)を追加
- iOS:実機向けビルド(
IOS_PLATFORM=device)、コード署名 ID/プロビジョニングプロファイル/entitlements のサポート、.ipaパッケージ化、devicectl を介したdeploy-deviceを追加 - iOS:設定可能な最小 iOS バージョン(build/config.yml の
ios.minIOSVersion)を追加 - iOS:macOS 上で
wails3 doctorが Xcode と iOS SDK の利用可否を報告するように変更 - iOS:バッテリー、ネットワーク、テーマ、画面ロック、メモリ不足の各システムイベントを、
events.IOS.*およびプラットフォーム非依存のevents.Common.*アプリケーションイベントとして公開 - iOS:ネイティブモバイル機能ブリッジ(エクスポートされる
application.IOS*)を追加。共有シート、URL を開く機能、スリープ防止、トーチ、セーフエリアのインセット、明るさ、アプリ情報、画面方向のロック、ステータスバー、生体認証(Face ID/Touch ID)、ローカル通知、Keychain によるセキュアストレージに対応 - iOS:センサーとハードウェア機能として、触覚フィードバック、単発の位置情報取得、加速度計、近接センサー、テキスト読み上げ、ストレージ情報、電源/バッテリー状態、ネットワーク状態、キーボードのインセット、画面キャプチャ検出を追加
- iOS:ドキュメント(IOS.md およびドキュメントサイトのガイド)を追加
- Android:ネイティブメッセージダイアログ(AlertDialog)と、ファイルおよび複数ファイルを開くダイアログ(Storage Access Framework。キャッシュのコピーとしてインポート)を追加。ディレクトリを開くダイアログと保存ダイアログは明示的なエラーを返す
- Android:ClipboardManager によるクリップボード対応を追加
- Android:WindowMetrics/DisplayMetrics による実際の画面メトリクス(dp、ピクセル、スケール、システムバーを除いた作業領域)を追加
- Android:触覚フィードバック(
Android.Haptics.Vibrate)、デバイス情報(Android.Device.Info)、トースト(Android.Toast.Show)のランタイムメソッドを追加 - Android:型付きライフサイクルイベント(
events.Android.*、events.txt から生成)を追加し、ActivityCreatedをCommon.ApplicationStartedにマッピング - Android:ビルドパイプラインで、インストール可能なデバッグ APK とリリース APK(
android:run、android:package、android:package:fat)を生成。リリース署名には、デフォルトでデバッグ用キーストアを使用するか、ANDROID_KEYSTORE_*環境変数を介して実際のキーストアを使用可能 - Android:
wails3 doctorが Android SDK、NDK、JDK を報告するように変更 - Android:バッテリー、ネットワーク、テーマ、画面ロック、メモリ不足の各システムイベントを、
events.Android.*およびプラットフォーム非依存のevents.Common.*アプリケーションイベントとして公開 - Android:ネイティブモバイル機能ブリッジ(エクスポートされる
application.Android*)を追加。共有、URL を開く機能、スリープ防止、トーチ、セーフエリアのインセット、明るさ、アプリ情報、画面方向のロック、ステータスバー、生体認証(BiometricPrompt)、ローカル通知、EncryptedSharedPreferences によるセキュアストレージに対応 - Android:センサーとハードウェア機能として、触覚フィードバック、単発の位置情報取得、加速度計、近接センサー、テキスト読み上げ、ストレージ情報、電源/バッテリー状態、ネットワーク状態、キーボードのインセット、FLAG_SECURE による画面キャプチャのブロックを追加
- Android:ドキュメント(ANDROID.md およびドキュメントサイトのガイド)を追加
- サンプル:
mobileの各種機能を網羅したデモに Mobile タブと Hardware タブを追加し、iOS と Android のネイティブ機能ブリッジを実演(ピル型タブは複数行に折り返し) - モバイル:バッテリー消費を抑えるため、アプリがバックグラウンドに移行すると、加速度計、近接センサー、トーチ、サンプルの定期クロックを一時停止し、復帰時に再開(Android ではバックグラウンドでもプロセスが実行され続け、iOS ではトーチが維持されるハードウェア状態である)。また、Android のシステムイベントレシーバーは、アプリがフォアグラウンドにある間だけ登録
- iOS:カメラ撮影 —
application.IOSCapturePhoto/IOSCaptureVideo(UIImagePickerController → base64 サムネイルを含むnative:captureイベント) - iOS:バックグラウンド実行 —
application.IOSBeginBackgroundTask/IOSEndBackgroundTask(UIApplication のバックグラウンドタスク実行時間枠)、および生成される Info.plist にUIBackgroundModesをテンプレート展開する、設定可能なios.backgroundModes(build/config.yml) - Android:カメラ撮影 —
application.AndroidCapturePhoto/AndroidCaptureVideo(FileProvider 経由のシステムカメラ →native:captureイベント) - Android:フォアグラウンドサービス —
application.AndroidStartForegroundService/AndroidStopForegroundService(継続的な通知を伴うWailsForegroundServiceにより、長時間実行されるバックグラウンド処理中もプロセスを維持) - 例:写真/動画撮影とバックグラウンド実行を実演する Camera タブ(Android ではフォアグラウンドサービス、iOS ではバックグラウンドタスク実行時間枠)
修正
- Linux で
getUserMediaが常にNotAllowedErrorで失敗する問題を修正しました。WebKitGTK は処理するハンドラーがないパーミッション要求を拒否しますが、permission-requestシグナルが接続されていませんでした。カメラ/マイクは、新しいクロスプラットフォームのWebviewWindowOptions.Permissionsマップ(map[PermissionType]Permission)に基づいて処理されるようになり、Linux(WebKitGTK)と Windows(WebView2)の両方で適用されます。ネイティブプロンプトがない Linux では、カメラ/マイクはデフォルトで許可され(getUserMediaの動作を復元)、PermissionDenyで無効にできます(#5552) - iOS:
GOOS=iosが再びコンパイル可能になりました(events.IOSのエクスポート、モバイル用メソッド名スタブ)。また、production タグ付きビルドもコンパイル可能になりました(pkg/application および複数のサービスのビルドタグを修正) - iOS:Go→JS イベントと ExecJS が動作するようになりました。起動時にページが二重に読み込まれなくなり、
wails:runtime:readyハンドシェイクが失われることもなくなりました - iOS:
ApplicationDidFinishLaunching/ApplicationStartedがアプリの起動と競合しなくなりました。固定の 2 秒の起動待機を削除しました - iOS:Go→JS の JavaScript 実行ごとに発生していた C 文字列のリークを修正しました
- iOS:
hasListenersが実際のリスナー登録状態を反映するようになりました - iOS:本番ビルドではフレームワークのデバッグログがコンパイル時に除外されるようになりました
- Android:
GOOS=androidが再びコンパイル可能になりました。events.Androidを定義し、範囲外アクセスを起こすevents_android.goリスナー配列を削除し、モバイル用メソッド名スタブを追加したほか、デスクトップ Linux 用ファイル(linux_cgo.*、events_linux.*、environment_linux.go)が Android ビルドに混入しないようにしました - Android:JS→Go バインディングが動作するようになりました。WebView は
fetch()の POST ボディをshouldInterceptRequestに渡せないため、ランタイム呼び出しは JavascriptInterface トランスポート(nativeHandleRuntimeCall)経由でルーティングされ、nil のリクエストボディによるクラッシュを回避します - Android:
Screens.*ランタイム呼び出しが実際のデータを返すようになりました。起動時に ScreenManager が設定されるようになりました(これまでは接続されていなかったため、GetAllが nil を返していました) - Android:本番ビルドではフレームワークのデバッグログがコンパイル時に除外され、デバッグビルドでは
Wailsタグで logcat に出力されるようになりました - Android:実際に機能する
hasListenersレジストリ、JNI の参照/例外処理、および単一読み込みのページライフサイクル(二重ナビゲーションなし)を実装しました - Vite 開発サーバーの実行中に Windows で
wails3 generate bindingsが「Access is denied」で失敗する問題を修正しました。出力ディレクトリを置き換えるように名前変更するのではなく、生成ファイルを出力ディレクトリ内に同期するようにしました(#5515) - ディスプレイ変更後に画面情報を読み取ると、macOS で断続的に致命的なクラッシュが発生する問題を修正しました。画面 ID と名前が、Go によるコピー前に解放される可能性のある autorelease 済みの
UTF8Stringバッファへのポインターを保持していました(解放後使用)。文字列はstrdupされ、変換後に解放されるようになりました。また、画面の列挙を明示的な autorelease pool 内で実行することで、Go の goroutine から呼び出した場合もリークしなくなりました(#5556) - assetserver が
WebKitURISchemeRequestを閉じる際、Linux で断続的に SIGSEGV が発生する問題を修正しました。最後のg_object_unrefが assetserver の goroutine 上で実行され、GTK メインスレッド外で WebKit GObject をファイナライズしていました。unref はg_main_context_invokeを介して GTK メインコンテキスト上にマーシャリングされるようになりました(#5557)
v3.0.0-alpha.100 - 2026-06-13
追加
MacWebviewPreferencesに WKWebView の追加設定オプションEnableAutoplayWithoutUserAction、AllowsAirPlayForMediaPlayback、AllowsMagnification、JavaScriptCanOpenWindowsAutomatically、MinimumFontSize、ApplicationNameForUserAgentを追加しました(#5549)
修正
- Vite 開発サーバーの実行中に Windows で
wails3 generate bindingsが「Access is denied」で失敗する問題を修正しました。出力ディレクトリを置き換えるように名前変更するのではなく、生成ファイルを出力ディレクトリ内に同期するようにしました(#5561) - Linux のフレームレスウィンドウで JS のリサイズイベントが発火しない問題と、フレームレスウィンドウのスクロールバー端検出を修正しました(#5368)
- 一時ディレクトリとインストールディレクトリが異なるボリュームにある場合、Windows のアップデーターが「invalid cross-device link」で失敗する問題を修正しました(#5560)
v3.0.0-alpha.99 - 2026-06-10
修正
- Vite 開発サーバーの実行中に Windows で
wails3 generate bindingsが「Access is denied」で失敗する問題を修正しました。出力ディレクトリを置き換えるように名前変更するのではなく、生成ファイルを出力ディレクトリ内に同期するようにしました(#5515)
v3.0.0-alpha.98 - 2026-06-03
修正
- アイドル時(インスペクターを開いている場合など)に Linux で WebKit UI がフリーズする問題を修正しました。JavaScriptCore の GC スレッド同期を破壊していた
SIGUSR1へのSA_ONSTACKの強制を廃止しました(#5527)
v3.0.0-alpha.97 - 2026-05-31
追加
- デバッグページと
runtime/traceの操作方法を追加しました
変更
- 不要な
_ "embed"インポートをいくつか削除し、コードを少し整理しました
修正
- Windows でウィンドウの最大化を解除した後、最小幅/高さの制約が適用されない問題を修正しました(#4593)
- Frameless + Transparent ウィンドウオプションを使用したフルスクリーンモードで、マウスクリックが背後に透過する問題を修正しました(#4408)
v3.0.0-alpha.96 - 2026-05-25
追加
- Garble 難読化のサポート(#4563)を追加しました。安定したバインディングメソッド ID、ビルド/Taskfile の連携(
build --obfuscated --garbleargs、generate bindings -obfuscated)、およびランタイム向けのすべてのペイロードへの JSON 構造体タグ(EnvironmentInfo、OSInfo、Screen、Rect、Point、Size、Capabilities)により、Garble がエクスポート済みフィールドの名前を変更してもワイヤーフォーマットが維持されます。
v3.0.0-alpha.95 - 2026-05-20
追加
- 不足していたプロジェクト構成ページを追加しました
変更
- ドキュメント:アーキテクチャページの図をいくつか変更し、よりすっきり表示されるようにシーケンス図を使用しました
- ドキュメント:実行の前提条件として D2 のインストールが必要であることを示す注記を追加
修正
- GTK4 がデフォルトの場合の
wails3 generate appimageを修正。バンドラーはランタイムファイルを検索する前にバイナリから GTK スタックを検出するようになったため、GTK4 ビルドではlibwebkitgtkinjectedbundle.so(webkitgtk-6.0/配下)を、-tags gtk3ビルドではlibwebkit2gtkinjectedbundle.so(webkit2gtk-4.1/配下)を選択します。.relr.dynのプローブでもlibgtk-4.so.1を確認するようになり、スタックにかかわらず、最新のツールチェーンではストリッピングが正しく無効化されます。(#5475) - 相対
-builddirを指定して呼び出すとwails3 generate appimageが失敗する問題を修正。バンドラーは-binary、-icon、-desktopfile、-builddir、-outputdirを処理の開始時に絶対パスへ解決するようになったため、処理途中のs.CDによって AppRun のダウンロード用 goroutine やコピー後のlddプローブが機能しなくなることはありません。 - デスクトップの
Name=フィールドがバイナリのベース名と一致しない場合に、wails3 generate appimageが最終的な AppImage を-outputdirへ移動できない問題を修正。バンドラーは、linuxdeploy の appimage プラグインに対し、デスクトップファイルから導出した名前ではなく<binary>-<arch>.AppImageへ AppImage を書き込むよう、OUTPUT環境変数を介して強制するようになりました。 - alpha.93 で GTK4 + WebKitGTK 6.0 スタックがデフォルトになった後、Linux で
events.Common.ApplicationStarted、Common.ThemeChanged、Common.SystemWillSleep、Common.SystemDidWakeが発生しない問題を修正。新しいデフォルトのapplication_linux.gorun()は、Linux.*イベントを対応するCommon.*へ転送するsetupCommonEvents()も、monitorPowerEvents()も呼び出していませんでした。DBus 電源監視ヘルパーは、application_linux_dbus.goを介して GTK3 と GTK4 のビルドパス間で共有されるようになりました。(#5474)
v3.0.0-alpha.94 - 2026-05-19
修正
- alpha.93 で GTK4 + WebKitGTK 6.0 スタックがデフォルトになった後、Linux で
events.Common.ApplicationStarted、Common.ThemeChanged、Common.SystemWillSleep、Common.SystemDidWakeが発生しない問題を修正。新しいデフォルトのapplication_linux.gorun()は、Linux.*イベントを対応するCommon.*へ転送するsetupCommonEvents()も、monitorPowerEvents()も呼び出していませんでした。DBus 電源監視ヘルパーは、application_linux_dbus.goを介して GTK3 と GTK4 のビルドパス間で共有されるようになりました。(#5474)
v3.0.0-alpha.93 - 2026-05-17
追加
- Linux の
wails3 doctor出力にXDG_SESSION_TYPEを追加(@leaanthony)
修正
- appmenu-gtk-module が実体化されていないウィンドウへアクセスすることによって発生する、Wayland 上のウィンドウメニューのクラッシュを修正(#4769、@leaanthony)
- アプリ名に無効な文字(空白、丸括弧など)が含まれる場合に GTK アプリケーションがクラッシュする問題を修正(@leaanthony)
- Windows でドラッグ&ドロップを初期化する際に発生する「メモリが不足しています」エラーを修正(#4701、@overlordtm)
- mainthread のコールバックストアで、マップからの削除に誤って RLock を使用していたことによる競合状態を修正(Linux、macOS、iOS)(#4424、@leaanthony)
- タスクへコマンドライン引数を渡す際の変数処理を修正しました。KEY=VALUE ペアで指定した CLI 変数が正しく初期化され、タスク実行全体へ伝播されるようになりました。
- macOS での NSWindowZoomButton の競合を修正。起動時と実行時の両方で、
MaximiseButtonStateとFullscreenButtonStateは、より制限の厳しい状態を適用するようになりました。どちらのセッターも、もう一方の設定を暗黙的に上書きすることはできません(#5319) - #5463 で CodeRabbit により明らかになった、従来の GTK3 ビルドパス(
-tags gtk3)に以前から存在していた一連のバグを修正。ファイル関連付けによる起動でスタートアップハンドラーがスキップされなくなりました。getThemeは境界および型に対して安全になりました。appNameは GLib が所有するメモリを解放しなくなりました。clipboardGetは GTK が返したgchar*をリークしなくなりました。Callocはポインタレシーバーを使用するようになり(また、NewCallocは*Callocを返すようになり)、プールが割り当てを実際に追跡するようになりました。zoomOutは、1.0 にクランプされる負の乗数ではなく、zoomInFactorの逆数を使用するようになりました。execJSは、呼び出しごとにC.CString("")をリークせず、事前割り当て済みの空のワールド名を再利用するようになりました。開発用のfmt.PrintlnをmenuItem.setAcceleratorから削除しました。#5465 を解決しました。 - デフォルトの GTK4 ビルドパス(
linux_cgo.go)にある、同じCallocの値レシーバーによるリークを修正。ポインタレシーバーとNewCalloc() *Callocにより、ウィンドウごとのc.String(...)の割り当てが実際に追跡され、解放されるようになりました。
v3.0.0-alpha.92 - 2026-05-15
追加
PACKAGE_MANAGERオプションを介して、使用するフロントエンドパッケージマネージャーを制御できるように Taskfile を変更- Taskfile テンプレートをより予測しやすく記述できるように、テンプレートデータへ
{{.Opn}}と{{.Cls}}を追加
変更
- 既存の Taskfile のうち数個を、
{{.Opn}} and {{.Cls}}を使用するように変更
修正
- パネルがトレイメニューを読み取っている間にメニューが更新されると、
linuxSystemTrayでconcurrent map read and map writeランタイム致命的エラーが発生する問題を修正。 - WebView2 のエラーおよびスタックトレースの出力に
fmtではなくlogを使用するように変更し、Windows でコンソールを接続せずにアプリを実行した場合でもメッセージが失われないようにしました。
v3.0.0-alpha.91 - 2026-05-12
変更
- スポンサー SVG を更新(
@github-actions[bot]による PR) - 破壊的変更(macOS): macOS の座標系を正規化し、
GetScreens、Position、SetPositionがすべて同じ座標空間(論理ポイント、Y 軸は下向き、プライマリ画面の左上を(0,0)とする)を使用するようにしました。これは Windows、GTK、および Electron と Web の公開 API と一致します。プライマリ画面より物理的に上にある画面では、Bounds.Yが正の値ではなく負の値として報告されるようになりました。また、Position()/SetPosition()の値はpoints × primaryScaleではなく論理ポイント単位になりました。Position()→SetPosition()の往復変換は維持されます。以前の alpha ビルドで記録した絶対値や、手動で計算した回避策(例:primaryScaleを掛ける、または画面の高さを基準に Y を反転する)は更新が必要です。#5117 を解決しました。
修正
- PR で DBus シグナル名とボディの長さを防御的に検証し、パニックを防止(@leaanthony)
- PR で Linux の GTK メニュー処理におけるメモリ安全性の問題を修正(@leaanthony)
- PR で NVIDIA GPU を検出し、Linux 上の DMA-BUF レンダラーを無効化(@leaanthony)
- macOS での
SetPositionの画面間 Y 座標変換を修正。#5117 でプライマリ画面の高さをグローバルな基準として使用し、プライマリディスプレイから垂直方向にずれたモニターでもウィンドウが正しい位置に配置されるようにしました。 - PR で、正しいフィードバック URL を指すように git PR テンプレートを修正(@wayneforrest)
- 壊れた
DestroyMenuシステムコールが1つではなく4つの引数を渡していたため、すべての呼び出しが FALSE を返し、何も解放されなかったことに起因する、一連の Windows システムトレイSetMenuクラッシュを修正。また、メニューの再構築時に HMENU および HBITMAP ハンドル(MenuItem.SetBitmapによって実行時に割り当てられたものを含む)を解放し、Win32Menu.Update内の古いチェックボックス/ラジオマップをリセットし、割り当てを倍増させていたsystemtray.updateMenu内の冗長なUpdate()呼び出しを削除。長時間稼働するシステムトレイアプリで、メニューを再構築するたびに GDI/USER オブジェクトがリークしなくなりました。
v3.0.0-alpha.90 - 2026-05-11
追加
- macOS の WKWebView User-Agent に設定可能なアプリケーション名を追加(@vinhvoit225 による PR)
- gin-service サンプルに間接依存関係 github.com/coder/websocket を追加(@taliesin-ai による PR)
- ビルドアセットのテストにディープイコール比較のサポートを追加(@leaanthony による PR)
変更
修正
- macOS のシングルインスタンスメッセージに通知オブジェクトを使用(@overlordtm による PR)
- 高負荷時の Promise 消失を防ぐため、Windows コールバックをバッチ処理(@taliesin-ai による PR)
v3.0.0-alpha.89 - 2026-05-10
追加
- Go テスト結果を集約する gotestresults ジョブを追加(@leaanthony による PR)
変更
- 大きな RPC ペイロードを条件に応じてチャンク化された POST リクエストに分割(@leaanthony による PR)
- すべてのフロントエンドテンプレートで Vite を 5.x.x から 8.0.0 にアップグレード(@leaanthony による PR)
- Vite 開発サーバーのポート設定を環境変数へ移行(@leaanthony による PR)
- すべてのテンプレートで Vite 開発サーバーが 127.0.0.1 にバインドするよう設定(@leaanthony による PR)
- スポンサー SVG を更新(
@github-actions[bot]による PR)
修正
- build-assets の更新時に Info.plist テンプレートスタブをサニタイズ(@leaanthony による PR)
- メニュー項目のミューテーター(
setMenuItemChecked()、setMenuItemLabel()、setMenuItemDisabled()、setMenuItemHidden()、setMenuItemTooltip())をメインスレッドで同期的に適用することで、macOS メニューの古い状態を修正。すばやく再表示した際にメニューが直前の状態で描画される原因となっていたdispatch_asyncの競合を解消しました(#5002) - 不要な再ビルドを防ぐため、開発モードで
*_test.goファイルを無視(@leaanthony による PR) - アプリが実行中でない場合に Menu.Update() でセグメンテーションフォルトが発生する問題を修正(@wucm667 による PR)
- Windows で lastSizeWParam を使用してメニューバーの再描画を制御(@taliesin-ai による PR)
v3.0.0-alpha.88 - 2026-05-09
変更
- HiddenOnTaskbar で WSEXTOOLWINDOW を使用するよう変更(@leaanthony による PR)
- 依存関係を並べ替え、go.mod から webview2 の replace ディレクティブを削除(@atterpac による PR)
- スポンサー SVG を更新(
@github-actions[bot]による PR)
修正
- ジェネリックな間接参照エイリアスを削除し、マップのキー型を統合(@fbbdev による PR)
削除
- PR-master ワークフローを削除し、ドキュメント、Go テスト、スキップテストを廃止(@leaanthony による PR)
v3.0.0-alpha.87 - 2026-05-07
追加
- Wails v3 の韓国語ドキュメントを追加(@leaanthony による PR)
- インストールとクイックスタートのフランス語ドキュメントを追加(@leaanthony による PR)
- クイックスタート、概念、コミュニティのポルトガル語ドキュメントを追加(@leaanthony による PR)
v3.0.0-alpha.86 - 2026-05-06
追加
変更
修正
- Linux のダイアログディスパッチを GTK3 と GTK4 に分割(@leaanthony による PR)
- ダイアログのコールバックが GTK スレッドで確実に実行されるようにし、セグメンテーションフォルトを修正(@leaanthony による PR)
v3.0.0-alpha.85 - 2026-05-05
追加
v3.0.0-alpha.84 - 2026-05-03
追加
- macOS で Escape キーによるフルスクリーン終了を無効にするオプションを追加(@leaanthony による PR)
- macOS で Escape キーによるフルスクリーン終了を無効にするオプションを追加(@leaanthony による PR)
- @yuseferi により、Pausa コミュニティショーケースのドキュメントをPRで追加
変更
- スポンサー SVG を更新(
@github-actions[bot]による PR) - @leaanthony により、未対応プラットフォームを処理できるようアイコン生成コマンドをPRで更新
- @leaanthony により、真偽値型のフルスクリーン API を三状態の ButtonState に置き換え、プラットフォームバインディングをPRで実装
修正
- @leaanthony により、コントローラーが nil の状態でも安全になるよう WebView2 のフォーカス操作をPRで保護
- @leaanthony により、PR のベースブランチを正しく参照するよう GitHub Actions ワークフローをPRで更新
- @leaanthony により、不要な再ビルドを防ぐため、開発モードで
*_test.goファイルを無視するようPRで修正 - @wucm667 により、アプリが実行されていないときに Menu.Update() でセグメンテーションフォールトが発生しないようPRで修正
v3.0.0-alpha.83 - 2026-05-02
追加
- @symball により、マシン単位またはユーザー単位のインストールに対応する InstallScope フラグとビルドオプションをPRで追加
- @leaanthony により、Window インターフェースを満たすため、何も行わない SetScreen メソッドを BrowserWindow にPRで追加
修正
- @leaanthony により、Linux で NVIDIA GPU を検出し、DMA-BUF レンダラーを無効にする処理をPRで追加
- @wayneforrest により、正しいフィードバック URL を参照するよう Git の PR テンプレートをPRで修正
- 1 個ではなく 4 個の引数を渡していた不正な
DestroyMenuシステムコールが原因で、すべての呼び出しが FALSE を返し、何も解放されなかったことにより発生していた、一連の Windows システムトレイSetMenuクラッシュを修正。また、メニューの再構築時に HMENU および HBITMAP ハンドル(実行時にMenuItem.SetBitmapを介して割り当てられたものを含む)を解放し、Win32Menu.Update内の古いチェックボックス/ラジオボタンのマップをリセットし、割り当てを倍増させていたsystemtray.updateMenu内の冗長なUpdate()呼び出しを削除。長時間実行されるシステムトレイアプリで、メニューを再構築するたびに GDI/USER オブジェクトがリークしなくなりました。
v3.0.0-alpha.82 - 2026-05-01
修正
- @leaanthony により、デスクトップ名を正しく処理するようデスクトップファイル生成をPRで修正
v3.0.0-alpha.81 - 2026-04-30
変更
- @leaanthony により、ナイトリーリリースのスケジュールを15:00 UTC にPRで調整
修正
- Retina Mac で Screen Bounds、WorkArea、Size の値が半分になる問題を修正 - (#5168)
v3.0.0-alpha.80 - 2026-04-29
変更
- @leaanthony により、ドキュメントの依存関係とコンテンツコレクションローダーをPRで更新
v3.0.0-alpha.79 - 2026-04-29
追加
- @leaanthony により、trigger-release ジョブに actions: write 権限をPRで付与
変更
- @leaanthony により、リリースタスクのデフォルトを master ブランチに変更し、変更履歴の文言をPRで更新
- @leaanthony により、最新バージョンを使用するよう自動変更履歴ワークフローをPRで更新
- @leaanthony により、パスフィルターを追加し、使用されていないワークフローを削除して、ワークフローの効率をPRで改善
- @leaanthony により、サンプルのリンクで master ブランチを参照するようドキュメントをPRで更新
- @leaanthony により、v3 向けのドキュメントとサンプルをPRで更新
修正
- @AkagiYui により、開発環境向けの再試行ロジックと IPv4 強制を追加して、リバースプロキシをPRで強化
- @leaanthony により、未リリース変更履歴のトリガーワークフローをPRで書き直し
削除
- @leaanthony により、さまざまなテスト用途のシェルテストスクリプトをPRで削除
- @leaanthony により、v3-alpha ドキュメントのデプロイワークフローと CNAME レコードをPRで削除
追加
- @leaanthony により、サイドバーナビゲーションに「フロントエンドルーティング」の項目をPRで追加
- @leaanthony により、フレームワークごとの推奨事項を含むフロントエンドルーティングガイドをPRで追加
- モーダルシートのサポートを追加(macOS)
- @leaanthony により、Apple デバイスのサポート向上のため ghw のバージョンを更新 (#4977)
- dock サービスに
GetBadgeメソッドを追加 - カスタム Go ビルドタグ(例:
wails3 build -tags gtk4)を渡すための-tagsフラグをwails3 buildコマンドに追加 (#4957) - 専用の Enums ページとサイドバーナビゲーションを含む、バインディングジェネレーターでの enum 自動生成に関するドキュメントを追加 (#4972)
- カスタム Go ビルドタグ(例:
wails3 build -tags gtk4)を渡すための-tagsフラグをwails3 buildコマンドに追加 (#4957) - Storage(localStorage、sessionStorage、IndexedDB、Cache API)、Network(Fetch、WebSocket、XMLHttpRequest、EventSource、Beacon)、Media(Canvas、WebGL、Web Audio、MediaDevices、MediaRecorder、Speech Synthesis)、Device(Geolocation、Clipboard、Fullscreen、Device Orientation、Vibration、Gamepad)、Performance(Performance API、Mutation Observer、Intersection/Resize Observer)、UI(Web Components、Pointer Events、Selection、Dialog、Drag and Drop)などの41ブラウザー API を示す Web API サンプルを
v3/examples/web-apis/に追加 - プラットフォーム間で200個以上のブラウザー API をテストする WebView API 互換性チェッカーのサンプル(
v3/examples/webview-api-check/)を追加 - 並列検索、キャッシュ、および Flatpak/Snap/Nix のサポートを備え、Linux 上でネイティブライブラリのパスを検索する
internal/libpathパッケージを追加 - WIP: Linux 向けの実験的な WebKitGTK 6.0 / GTK4 サポートを追加。
-tags gtk4で利用可能(GTK3/WebKit2GTK 4.1は引き続きデフォルト) - 注:タイル型ウィンドウマネージャー(Hyprland、Sway など)では、ウィンドウの配置とサイズを WM が制御するため、最小化/最大化の操作が期待どおりに機能しない場合があります
- @AbdelhadiSeddar により、JavaScriptでのイベントのリスニングのドキュメントに一度だけ実行するハンドラーの実装方法を追加
- @leaanthony により、Windows/Linux 上のウィンドウが
app.Menu.Set()で設定されたアプリケーションメニューを継承できるようにするUseApplicationMenuオプションをWebviewWindowOptionsに追加 - @wimaha により、Liquid Glass アイコンおよびアセットカタログ(macOS)の生成に
.iconファイル(Apple Icon Composer 形式)を使用するためのサポートを追加(#4934) - ヘッドレス/Web デプロイ向けの実験的なサーバーモード(
-tags server)を追加。ネイティブ GUI の依存関係なしで Wails アプリを HTTP サーバーとして実行できます。wails3 task build:serverでビルドしてください。詳細はexamples/serverを参照してください。 - 並列検索、キャッシュ、および Flatpak/Snap/Nix のサポートを備え、Linux 上でネイティブライブラリのパスを検索するための
internal/libpathパッケージを追加 - @leaanthony により、macOS の Spaces およびフルスクリーン全体でのウィンドウの動作を制御する
CollectionBehaviorオプションをMacWindowに追加(#4756) - @leaanthony により pkg/application の単体テストを追加
- @leaanthony により MSIX パッケージングにカスタムプロトコルのサポートを追加
- Linux にデスクトップ環境の検出機能を追加 PR #4797
- @leaanthony により、フロントエンドから印刷ダイアログを表示するための
Window.Print()メソッドを JavaScript ランタイムに追加(#4290) - @leaanthony により、Linux 上の
wails3 doctor出力にXDG_SESSION_TYPEを追加 - @leaanthony により、Linux 向けに WebKit2 の追加の読み込み状態変更イベント
WindowLoadStarted、WindowLoadRedirected、WindowLoadCommitted、WindowLoadFinishedを追加(#3896) - @leaanthony により、Linux 上の
wails3 doctor出力にXDG_SESSION_TYPEを追加 - Linux で、パッケージング時だけでなくビルド時にも
.desktopファイルを生成(#4575) - @leaanthony により、ディストリビューション固有のパッケージ名と nfpm のパッケージング例を含む Linux ランタイム依存関係のドキュメントを追加(#4339)
- @leaanthony により、Linux 上の
wails3 doctor出力に NVIDIA ドライバーのバージョン情報を追加 - PRで、@APshenkin により raw メッセージハンドラーにオリジンを追加
- PRで、@APshenkin により macOS のユニバーサルリンク対応を追加
- PRで、@APshenkin によりバインディングのトランスポート層をリファクタリング
- PRで、@chinenual により helloworld テンプレートに aria-label 識別子を追加し、Appium テストクライアントからサンプルアプリを容易にテストできるように変更
- PRで、@APshenkin により raw メッセージハンドラーにオリジンを追加
- PRで、@APshenkin により macOS のユニバーサルリンク対応を追加
- PRで、@APshenkin によりバインディングのトランスポート層をリファクタリング
- #4633で、@fbbdev と @ianvs により型付きイベントを追加
- ツールチップがリアルタイムに更新されるヘッドレストレイを示す
systray-clockサンプルを追加(#4653)。 - @Tolfx により、#4510で Windows 向けの NSIS Protocol テンプレートを追加
- @Tolfx により、#4510で build-assets のテストを追加
- macOS:@nidib により、#4588でメニューバーにネイティブのウィンドウコントロールを表示
- PRで、@popaprozac により Dock 内のアプリアイコンを非表示/表示にする macOS Dock サービスを追加
- PRで、@popaprozac により Dock 内のアプリアイコンを非表示/表示にする macOS Dock サービスを追加
- #4534で、@leaanthony により、NSGlassEffectView(macOS 15.0以降)と NSVisualEffectView へのフォールバックを使用した macOS ネイティブの Liquid Glass エフェクト対応を追加。包括的なマテリアルのカスタマイズオプションを含む
- #4500で、@leaanthony によりブラウザー URL のサニタイズ機能を追加。@APShenkin による#4484を基にしています。
- このPRで、@Taiterbaseによる元の実装を基に、@leaanthonyが Windows/Mac のコンテンツ保護機能を追加
- PRで、@leaanthony により、
wails3 buildおよびwails3 packageエイリアスを介して CLI 変数を Task コマンドに渡す機能を追加(#4422) - #4318で、@atterpacにより、ドロップされた要素のデータをイベントで提供するドロップゾーンをサポート
- WebView2 ブラウザーに追加のコマンドライン引数を渡せるように、
WindowsWindowのオプションへAdditionalLaunchArgsを追加。PR - wails init の実行後に go mod tidy を自動実行する機能を追加。PRで@triadmokoが実装
- PRで、@leaanthony により Windows Snapassist 機能を追加
- WebView2 ブラウザーに追加のコマンドライン引数を渡せるように、
WindowsWindowのオプションへAdditionalLaunchArgsを追加。PR - wails init の実行後に go mod tidy を自動実行する機能を追加。PRで@triadmokoが実装
- PRで、@leaanthony により Windows Snapassist 機能を追加
- PRで、@almas-xにより Windows 向けの
getAccentColor実装を追加 - PRで、@almas-xにより Windows 向けの
getAccentColor実装を追加 - Windows のダークテーマ対応メニューおよびメニューバー。a29b4f0861b1d0a700e9eb213c6f1076ec40efd5で @leaanthony が実装
- PRで、@popaprozac により、JS/TS バインディングをより明確にするため組み込みサービスの名前を変更
- ユーザーのシステムのアクセントカラーを取得する
app.Env.GetAccentColor。MacOS で動作します。@etesam913が実装 - #4137で、@atterpacにより
window.ToggleFrameless()API を追加 - @leaanthony により、Linux 向けにディストリビューション固有のビルド依存関係を追加(PR)
- @atterpac により、バインディングガイドを追加(PR)
- テストインフラストラクチャの整理:Docker のテストファイルを専用の
test/docker/ディレクトリへ移動し、イメージを最適化してビルドの信頼性を向上。@leaanthony による変更(#4359) - リソース管理パターンの改善:サンプルに、イベントハンドラーの適切なクリーンアップとコンテキストを考慮した goroutine 管理を追加。@leaanthony による変更(#4359)
- @AkshayKalose により、aarch64 AppImage のビルドをサポート(#3981)
- @leaanthony により、
wails doctorに診断セクションを追加 - @leaanthony により、サービスメソッドの呼び出し時にウィンドウをコンテキストへ追加
- @leaanthony により、どのウィンドウがサービスを呼び出しているかを確認する方法を示す
window-callサンプルを追加 - @leaanthony による新しい Menu ガイド
- @leaanthony により、panic 処理を改善
- @leaanthony による新しい Menu ガイド
- @fbbdev により、Service API のドキュメントコメントを追加(#4024)
- @leaanthony により、追加設定を使用してサービスを初期化する関数
application.NewServiceWithOptionsを追加(#4024) - @FalcoG と @leaanthony により、メニュー制御を改善(#4031)
- @leaanthony により、ドキュメントをさらに追加
- @leaanthony により、標準イベントリスナーでのイベントキャンセルをサポート
- @leaanthony により、Systray の
Hide、Show、Destroyをサポート - @leaanthony により、Systray の
SetTooltipをサポート。原案は @lujihong - @fbbdev により、未対応の型に関するバインディングジェネレーターの警告でパッケージパスを報告(#4045)
- @fbbdev により、バインディングジェネレーターでジェネリックエイリアスをサポート(#4045)
- @fbbdev により、バインディングジェネレーターで
omitzeroJSON フラグをサポート(#4045) - @fbbdev により、選択したサービスメソッドのバインディング生成を防止する
//wails:ignoreディレクティブを追加(#4045) - @fbbdev により、Go ではエクスポートされるが JS/TS ではエクスポートされない型を許可する
//wails:internalディレクティブをサービスとモデルに追加(#4045) - @fbbdev により、弱い型付けの列挙型を使用できるよう、バインディングジェネレーターでエイリアス型の定数をサポート(#4045)
- @fbbdev により、Go 1.24 の機能に対するバインディングジェネレーターのテストを追加(#4068)
- OS バージョン検出を改善するため、
OSInfo.Brandingに macOS 15「Sequoia」のサポートを追加(#4065) - @fbbdev により、シャットダウン処理の完了後にカスタムコードを実行する
PostShutdownフックを追加(#4066) - @fbbdev により、カスタムエラーハンドラーで致命的エラーを検出できるようにする
FatalError構造体を追加(#4066) - @fbbdev により、サービスの起動順序とシャットダウン順序を標準化し、文書化(#4066)
- @fbbdev により、アプリケーションの起動/シャットダウンシーケンス用テストハーネスと、サービスの起動/シャットダウンテストを追加(#4066)
- @fbbdev により、アプリケーション作成後にサービスを登録する
RegisterServiceメソッドを追加(#4066) - @fbbdev により、バインディング呼び出しのカスタムエラー処理用
MarshalErrorフィールドをアプリケーションとサービスのオプションに追加(#4066) - @fbbdev により、キャンセル要求を Promise チェーン全体へ伝播するキャンセル可能な Promise ラッパーを追加(#4100)
- @fbbdev により、バインディング呼び出しのキャンセルを
AbortSignalに関連付ける機能を追加(#4100) - @leaanthony により、WML で通常の
wml-*属性に加えてdata-wml-*属性をサポート - @fbbdev により、後からの設定/動的な再設定に使用する
Configureメソッドをすべてのサービスに追加(#4067) fileserverサービスが未設定の場合、503 Service Unavailable レスポンスを返すように変更。@fbbdev による変更(#4067)kvstoreサービスが未設定の場合、デフォルトでインメモリのキー値ストアを提供するように変更。@fbbdev による変更(#4067)- @fbbdev により、設定変更後にファイルからデータを再読み込みする
Loadメソッドをkvstoreサービスに追加(#4067) - @fbbdev により、すべてのキーを削除する
Clearメソッドをkvstoreサービスに追加(#4067) - @fbbdev により、JS 側にログレベル定数を提供する型
Levelをlogサービスに追加(#4067) - @fbbdev により、ログレベルを動的に指定する
Logメソッドをlogサービスに追加(#4067) sqliteサービスが未設定の場合、デフォルトでインメモリ DB を提供するように変更。@fbbdev による変更(#4067)sqliteサービスに、DB を手動で閉じるためのCloseメソッドを追加。#4067 で @fbbdev が実装sqliteサービスのクエリメソッドにキャンセル対応を追加。#4067 で @fbbdev が実装sqliteサービスに、JS バインディングを備えたプリペアドステートメント対応を追加。#4067 で @fbbdev が実装- Gin に対応。@AnalogJ によるこちらの PR の元の成果を基に、PR で Lea Anthony が実装
- 自動保存とパスワードの自動保存が常に有効になる問題を修正。#4134 で @oSethoum が実装
- ウィンドウにメニューを設定できるよう、ウィンドウに
SetMenu()を追加。@leaanthony が実装 - 通知に対応。#4098 で @popaprozac が実装
- mac のファイル関連付けに対応。#4177 で @wimaha が実装
- セマンティックバージョンを更新するための
wails3 tool versionを追加。@leaanthony が実装 - macOS と Windows のバッジ表示に対応。# で @popaprozac が実装
- 登録済みイベント/厳密に型付けされたイベントに対応。#4161 で @fbbdev と @IanVS が実装
- カスタムイベント用のフックを登録できる機能を追加。#4161 で @fbbdev と @IanVS が実装
pathのパスをシステムのファイルマネージャーで開くためのapp.OpenFileManager(path string, selectFile bool)を追加。selectFileによる任意の強調表示にも対応。@Krzysztofz01、@rcalixte が実装wails3 initコマンドに新しい-gitフラグを追加。@leaanthony が実装- 新しい
wails3 generate webview2bootstrapperコマンドを追加。@leaanthony が実装 - ランタイムを手動で初期化できるよう、ランタイムに
init()メソッドを追加。@leaanthony が実装 - Window の WindowOptions に
WindowDidMoveDebounceMSオプションを追加。@leaanthony が実装 - シングルインスタンス機能を追加。@leaanthony が実装。@APshenkin による v2 PR が基になっています。
wails3 generate templateコマンドを追加。@leaanthony が実装wails3 releasenotesコマンドを追加。@leaanthony が実装wails3 update cliコマンドを追加。@leaanthony が実装wails3 generate bindingsコマンドに-cleanオプションを追加。@leaanthony が実装- aarch64(arm64)向け AppImage の Linux ビルドに対応。#3981 で @AkshayKalose が実装
- スポンサーへのハイパーリンクを追加。#3958 で @ansxuman が実装
- deb、rpm、Arch Linux 形式の Linux パッケージのビルドに対応。実装者:
- Darwin のユニバーサルビルドおよびパッケージに対応。実装者:
- Web サイトにイベントのドキュメントを追加。実装者:
- 非 SSR 開発用に設定された sveltekit および sveltekit-ts のテンプレート
- 新しい
wails3 update build-assetsコマンドを使用してビルドアセットを更新。実装者: - HTML Drag and Drop API をテストするサンプル。実装者:
- ファイル関連付けに対応。実装者は leaanthony、対象:
- 新しい
wails3 generate runtimeコマンド。実装者: - 新しい
InitialPositionオプションで、ウィンドウを中央に配置するか、または applicationパッケージにPathおよびPathsメソッドを追加。実装者:- Windows の
GeneralAutofillEnabledおよびPasswordAutosaveEnabledオプションを追加 - サービスメソッドを呼び出したウィンドウを取得できる機能を追加。実装者:
- WebView2 に
EnabledFeaturesおよびDisabledFeaturesオプションを追加。実装者: - ⊞ 強化された高 DPI モニター対応のための新しい DIP システム。実装者:
- ⊞ ウィンドウクラス名のオプション。実装者は windom、対象:
- プラグイン機能を提供するようにサービスを拡張。実装者:
- 🐧 WindowDidMove / WindowDidResize イベント。対象:
- ⊞ WindowDidResize イベント。対象:
- Dock を処理できるように Event ApplicationShouldHandleReopen を追加
- 実装に getPrimaryScreen/getScreens を追加。@tmclane が次で実装:
- macOS のフルスクリーンモードでツールバーを表示するためのオプションを追加。実装者:
- 🐧 Linux のキー入力をアクセラレーターに変換する onKeyPress ロジックを追加
- 🐧 タスク
run:linuxを追加。実装者: SetIconメソッドをエクスポート。@almas-x が次で実装:OnShutdownを改善。@almas-x が次で実装:WindowインターフェースのToggleMaximiseメソッドを復元。実装者:Environment()に詳細情報を追加。@leaanthony が次で実装:WindowインターフェースでWebviewWindow.IsFocusedメソッドを公開。実装者:- WML システムで、スペース区切りの複数のトリガーイベントに対応。実装者:
- バンドル済み JS ランタイムスクリプトに ESM エクスポートを追加。実装者:
- 代わりにバンドル済み JS ランタイムスクリプトを使用するためのバインディングジェネレーターフラグを追加
- Linux に
setIconを実装。@abichinger が実装 - dev コマンドに
-portフラグを追加し、環境変数に対応 - バインドされたメソッド呼び出しのテストを追加。担当:
- ⊞ 作成済みのウィンドウに
SetIgnoreMouseEventsを追加。担当: - ウィンドウの重なりレベル(順序)を設定する機能を追加。担当:
修正
- Retina Mac で
Screen.Bounds、WorkArea、Sizeが半分の値になる問題を修正。NSScreen のポイント値をPhysical*フィールド内でデバイスピクセルに変換し、最上位のScreen.X/Yに値を設定することで、マルチモニター間の接触判定と作業領域への配置が正しくなるようにした(PR、@wayneforrest) - ディスプレイ構成の変更時(例:スリープ/復帰中の外部モニターのホットプラグ)に WebKit DisplayLink のデッドロックを引き起こす ScreenManager のデータ競合を修正
- Assets.car が存在する場合、CFBundleIconName を appicon に直接設定(PR、@symball)
- Fedora、openSUSE、Arch、NixOS で
wails3 doctorが誤った WebKitGTK パッケージを報告する問題を修正。v3 ではコンパイル時に 4.1 API が必要なため、4.0 のフォールバックエントリを削除(#5071) - openSUSE の webkit2gtk に対して doctor が示すパッケージ名を修正(
webkit2gtk4_1-devel→ 正しい openSUSE パッケージ名であるwebkit2gtk3-devel)(#5071) - デスクトップ開発モードで
/wails/custom.jsがない場合に発生するUnexpected token '<'エラーを修正。HTML SPA のフォールバックが JavaScript として挿入されないように、/wails/custom.js用の明示的な 404 ハンドラーと、大文字と小文字を区別しないContent-Type検証をloadOptionalScriptに追加(#5068) - macOS のシステムトレイメニューのハイライト状態を修正。メニューが開いているときに、アイコンが選択状態で表示されるようにした(#4910)
- macOS でシステムトレイに関連付けられたウィンドウがほかのウィンドウの背後に表示される問題を修正。適切なポップアップウィンドウレベルを使用するようにした(#4910)
- ドキュメント全体にある誤った
@wailsio/runtimeインポート例を修正(#4989) - darwin でフレームレスウィンドウを最小化できない問題を修正(#4294)
node_modules/を go-task の最新状態チェックから除外し、wails3 buildとwails3 devの実行中に 20-30 分間応答しなくなる問題を修正。従来はsources: "**/*"の glob パターンにより、go-task がnode_modules/内の全ファイル(MUI のような大規模な依存関係がある場合は 50000-100000 件以上)を列挙してチェックサムを計算していたため、特に Windows/NTFS で低速だった(#4939)- C の
Screentypedef と X11 の Xlib.h の衝突による GTK4 のビルド失敗を修正(#4957) - macOS の Dock バッジメソッド間の一貫性を修正
InvisibleTitleBarHeightがフレームレスウィンドウまたはタイトルバーが透明なウィンドウだけでなく、すべての macOS ウィンドウに適用される問題を修正(#4960)InvisibleTitleBarHeightが有効な状態で上隅からサイズを変更するとウィンドウが揺れる問題を、ウィンドウ端付近ではドラッグを開始しないことで修正(#4960)- JS/TS バインディングで enum キーを持つマップ型が正しく生成されない問題を修正(#4437、@fbbdev)
- Windows でディスプレイのスケーリングが 100% 以外の場合に、ファイルのドラッグ&ドロップが機能しない問題を修正
- Windows でファイルドロップを有効にすると、HTML5 の内部ドラッグ&ドロップが機能しなくなる問題を修正
- Windows でファイルのドロップ座標が誤ったピクセル空間(物理ピクセルと CSS ピクセル)になる問題を修正
- Linux でホバー効果を伴うファイルのドラッグ&ドロップが安定して機能しない問題を修正
- Linux でファイルドロップを有効にすると、HTML5 の内部ドラッグ&ドロップが機能しなくなる問題を修正
gtk_window_present()を使用し、Linux/GTK4 でウィンドウの表示/非表示を切り替えた際に、最小化された状態へ復元されることがある問題を修正(#4957)XTranslateCoordinates/XMoveWindowを介した X11 条件付きサポートを追加し、Linux/GTK4 でウィンドウ位置の取得/設定が常に 0,0 を返す問題を修正(#4957)- 削除された
gtk_window_set_geometry_hintsの代わりに、シグナルベースでサイズを上限に制限する処理を追加し、Linux/GTK4 でウィンドウの最大サイズが適用されない問題を修正(#4957) - PhysicalBounds の適切な計算と、
gdk_monitor_get_scaleを介した小数スケーリングのサポートを実装し、Linux/GTK4 の DPI スケーリングを修正(GTK 4.14 以降) - Linux/GTK4 で新しいウィンドウを作成するとメニュー項目が重複する問題を修正
- JS/TS バインディングで enum キーを持つマップ型が正しく生成されない問題を修正(#4437、@fbbdev)
- Windows でディスプレイのスケーリングが 100% 以外の場合に、ファイルのドラッグ&ドロップが機能しない問題を修正
- Windows でファイルドロップを有効にすると、HTML5 の内部ドラッグ&ドロップが機能しなくなる問題を修正
- Windows でファイルのドロップ座標が誤ったピクセル空間(物理ピクセルと CSS ピクセル)になる問題を修正
- Linux でホバー効果を伴うファイルのドラッグ&ドロップが安定して機能しない問題を修正
- Linux でファイルドロップを有効にすると、HTML5 の内部ドラッグ&ドロップが機能しなくなる問題を修正
- PhysicalBounds の適切な計算と、
gdk_monitor_get_scaleを介した小数スケーリングのサポートを実装し、Linux/GTK4 の DPI スケーリングを修正(GTK 4.14 以降) - Linux/GTK4 で新しいウィンドウを作成するとメニュー項目が重複する問題を修正
- JS/TS バインディングで enum キーを持つマップ型が正しく生成されない問題を修正(#4437、@fbbdev)
- App.Window.Current() で Main Thread から AppKit API にアクセスしていなかったために macOS で発生する「ゴーストウィンドウ」の問題を修正(#4947、@wimaha)
- WKUIDelegate runOpenPanelWithParameters を実装し、macOS で HTML の
<input type="file">が機能しない問題を修正(#4862) - macOS/Linux で
@wailsio/runtimenpm モジュールを使用している場合に、ネイティブのファイルドラッグ&ドロップが機能しない問題を修正(#4953、@leaanthony) - パッケージをまたぐ型エイリアスのバインディング生成を修正(#4578、@fbbdev)
- GTK のスレッドセーフティ違反によって Linux で OpenFileDialog がクラッシュする問題を修正(#3683、@ddmoney420)
- 非表示または破棄済みのウィンドウで
Focus()を呼び出した際に SIGSEGV でクラッシュする問題を修正(#4890、@ddmoney420) - Linux で空のアイコンまたはビットマップを設定した際に panic が発生する可能性がある問題を修正(#4923、@ddmoney420)
- macOS でサービスバインディングから ErrorDialog を呼び出した際にクラッシュする問題を修正(#3631、@leaanthony)
v3\examples\dialogsで Windows OS 上にメニューが表示されるように変更(@ndianabasi)- ページの再読み込み中に TypeError を引き起こす競合状態を修正(#4872、@ddmoney420)
Collector.IsVoidAlias()メソッドからグローバル状態を削除し、バインディングジェネレーターのテストで誤った出力が生成される問題を修正(#4941、@fbbdev)- macOS で
<input type="file">ファイルピッカーが機能しない問題を修正(#4862、@leaanthony) - macOSで
Position()とSetPosition()が異なる座標系を使用し、状態の保存/復元時にウィンドウ位置がずれる問題を修正(#4816、@leaanthony) - アプリケーションマニフェストですでにDPI認識が設定されている場合に発生するSetProcessDpiAwarenessContextの「Access is denied」エラーを修正(#4803)
- キーボードショートカットのドキュメントページを更新し、
KeyBinding.Addのコールバックパラメーターの型を修正(@ndianabasi) - カスタムバインディングの生成に関するドキュメントを修正。
-o Stringではなく-d Stringを使用する必要があります menu.Update()でメニューの子項目がクリアされない問題を修正- ドキュメント内の古いManager API参照を修正(31ファイルを更新し、
app.Window.New()、app.Event.Emit()などの新しいパターンを使用)(@leaanthony) - WebKitによるシグナルハンドラーの上書きが原因で、JSにバインドされたGoメソッドのpanic時にLinuxでクラッシュする問題を修正(#3965、@leaanthony)
- LinuxでSaveFileDialog.SetFilename()が機能しない問題を修正(#4841、@samstanier)
- ドラッグ&ドロップの例でドロップ座標がundefinedと表示される問題を修正
- APP_NAMEに空白が含まれる場合、ブレース展開の問題によりmacOSアプリバンドルの作成に失敗する問題を修正
- サービスメソッドの呼び出し時にWindowsで発生するインデックス範囲外のpanicを修正(goccy/go-jsonを元に戻しました)
- Windowsでディスプレイの拡大率が100%以外の場合にファイルのドラッグ&ドロップが機能しない問題を修正
- Windowsでファイルドロップを有効にすると、HTML5の内部ドラッグ&ドロップが機能しなくなる問題を修正
- Windowsでファイルのドロップ座標に誤ったピクセル空間(物理ピクセルとCSSピクセル)が使用される問題を修正
- Linuxでホバー効果を使用すると、ファイルのドラッグ&ドロップが安定して機能しない問題を修正
- Linuxでファイルドロップを有効にすると、HTML5の内部ドラッグ&ドロップが機能しなくなる問題を修正
APP_NAMEなどの変数に含まれる空白に対応するため、すべてのオペレーティングシステム向けのTaskfile.ymlファイル内の全コマンドを更新(@ndianabasi)- Linuxで’build:universal:lipo:go’タスクを実行する際のコマンド引数エラーを修正(@wux1an)
- Linuxで’wails3 build GOOS=darwin GOARCH=arm64’を実行した際に発生するDockerエラー「undefined symbol: **ubsanhandle_xxxxxxx」を修正(@wux1an)
- カスタムプロトコルのドキュメントを統合し、Universal Linksのセクションを追加(@leaanthony)
- TrackPopupMenuExの同時呼び出しを防ぐガードを追加し、アイコンを繰り返しクリックした際にWindowsのシステムトレイメニューがクラッシュする問題を修正(#4151、@leaanthony)
- app.Run()より前にsystray.Run()を呼び出した際にアプリがクラッシュするのを防止(@leaanthony)
- ApplicationShouldTerminateAfterLastWindowClosedが有効な状態でHide()/Show()によりウィンドウの表示/非表示を切り替えると、macOSでクラッシュする問題を修正(#4389、@leaanthony)
- macOSおよびWindowsでメニューを繰り返し開いた際に発生するコンテキストメニューのメモリリークを修正(#4012、@leaanthony)
- macOSでコンテキストメニューのネイティブリソースが再利用されず、表示のたびに新しいメニューが作成される問題を修正(#4012、@leaanthony)
Hidden: trueを指定してアプリを起動した場合、macOSのDockアイコンをクリックしても非表示のウィンドウが表示されない問題を修正(#4583、@leaanthony)- CGO呼び出しでウィンドウポインターの型が誤っていたため、macOSで印刷ダイアログが開かない問題を修正(#4290、@leaanthony)
- appmenu-gtk-moduleが未実体化のウィンドウにアクセスすることで、Wayland上のウィンドウメニューがクラッシュする問題を修正(#4769、@leaanthony)
- アプリ名に無効な文字(空白、丸括弧など)が含まれる場合にGTKアプリケーションがクラッシュする問題を修正(@leaanthony)
- Windowsでドラッグ&ドロップの初期化時に発生する「not enough memory」エラーを修正(#4701、@overlordtm)
- URIのエスケープが誤っていたため、Linuxでファイルエクスプローラーが別のディレクトリを開く問題を修正(#4397、@leaanthony)
.relr.dynELFセクションを自動検出してストリップを無効にすることで、最新のLinuxディストリビューション(Arch、Fedora 39以降、Ubuntu 24.04以降)でAppImageのビルドに失敗する問題を修正(#4642、@leaanthony)- Fedora/DNFベースのシステムで、
wails doctorがwebkitパッケージをインストール済みと誤って報告する問題を修正(#4457、@leaanthony) - デフォルトの
config.ymlがプロダクションビルドでwails3 devを実行してしまう問題を修正(@mbaklor) - 存在しないパッケージのインポートによりiOSサービススタブでビルドが失敗する問題を修正(@leaanthony)
- debug/infoメソッドの構造化ロギングで「no formatting directives」エラーが発生する問題を修正(@leaanthony)
- モバイルプラットフォームのマージから誤って含まれた一時的なデバッグ用print文を削除(@leaanthony)
- DMA-BUFレンダラーを自動的に無効化し、NVIDIA GPUを使用するWayland環境でWebKitGTKがクラッシュする問題(Error 71 Protocol error)を修正(@leaanthony)
- Linuxで
application.WebviewWindowOptions.BackgroundColourのアルファ値が無視される問題を解決(#4722、@BradHacker) - カスタムアイコンを指定していない場合、Windowsのシステムトレイアイコンにアプリケーションアイコンがデフォルトで使用されない問題を修正(#4704)
HICONの所有権を追跡し、ユーザーが作成したハンドルのみを破棄することで、Explorerの再起動時のクラッシュを防止(#4653)。- 破棄時にWindowsのシステムテーマリスナーと保持中のトレイアイコンを解放し、goroutineとデバイスコンテキストのリークを解消(#4653)。
- サロゲートペアやマルチバイトグリフの破損を防ぐため、トレイのツールチップを127 UTF-16単位で切り詰めるように変更(#4653)。
- Windowsのパッケージタスクが失敗する問題を修正(#4667)
- LinuxのtaskfileにあるLinux AppImageのappicon変数を修正(PR #4644)
- go-webview2 v1.0.22のシグネチャ変更により発生するWindowsのビルドエラーを修正(#4513、#4645)
- LinuxのtaskfileにあるLinux AppImageのappicon変数を修正(PR #4644)
<.Info.Protocol>を削除して<.Protocol>に変更し、Linuxのdesktop.tmplにあるプロトコルの反復処理を修正(@Tolfx、#4510)- liquid glassデモの再定義エラーを修正(#4542、@Etesam913)
- Linuxでのシステムトレイメニューの更新を修正(#4604、@JackDoan)
- Windowsで非表示ウィンドウを作成した際に白いウィンドウが表示される問題を修正(@leaanthony、#4612)
- ドキュメント内のnotificationsパッケージのインポートパスを修正(@rxliuli、#4617)
- npm パッケージ @wailsio/runtime の使用時にドラッグ&ドロップが機能しない問題を修正(#4489)。@leaanthony が #4616 で対応
- Windows:起動時にウィンドウがちらつく問題と、非表示ウィンドウが誤って表示される問題を修正。@leaanthony による PR
- Wayland でウィンドウを最大化した際のサイズ問題(https://github.com/wailsapp/wails/issues/4429)を修正。@samstanier が対応
- Wayland でウィンドウを最大化した際のサイズ問題(https://github.com/wailsapp/wails/issues/4429)を修正。@samstanier が対応
- リキッドガラスのデモで発生する再定義エラーを修正。@Etesam913 による #4542
- MacOS で AssetServer がクラッシュする可能性がある問題を修正。@jghiloni による #4576
- NextJs でのビルド時に発生するコンパイル問題を修正。@rev42 が #4585 で対応
- ナイトリーリリース用パイプラインを修正。@riadafridishibly による #4597
- リキッドガラスのデモで発生する再定義エラーを修正。@Etesam913 による #4542
- MacOS で AssetServer がクラッシュする可能性がある問題を修正。@jghiloni による #4576
- NextJs でのビルド時に発生するコンパイル問題を修正。@rev42 が #4585 で対応
- ナイトリーリリース用パイプラインを修正。@riadafridishibly による #4597
- リキッドガラスのデモで発生する再定義エラーを修正。@Etesam913 による #4542
- Windows の SetBackgroundColour を修正。@PPTGamer による PR
- Manager API のリファクタリングによる変更を反映するようドキュメントを更新。@yulesxoxo による PR #4476
- Linux の Taskfile にある .desktop ファイル用 appicon 変数を修正。PR #4477
- Manager API のリファクタリングによる変更を反映するようドキュメントを更新。@yulesxoxo による PR #4476
- #4456 で報告された Windows の nil ポインター参照バグを修正。@leaanthony による #4460
- 2 本指のスワイプによるナビゲーションジェスチャーを有効にするため、macOS の WKWebView で
allowsBackForwardNavigationGesturesをサポート(#1857) - 初期状態で無効に設定されたメニュー項目で onClick が機能しない問題を修正。@leaanthony による PR #4469。初期調査を行った @IanVS に感謝します。
- ビルド失敗時に Vite サーバーがクリーンアップされない問題を修正(#4403)
- Windows で
SaveFileDialogを閉じるかキャンセルした際に発生するパニックを修正。@hkhere が PR で対応 - Windows で HTML レベルのドラッグ&ドロップを修正。@mbaklor による #4259
- 2 本指のスワイプによるナビゲーションジェスチャーを有効にするため、macOS の WKWebView で
allowsBackForwardNavigationGesturesをサポート(#1857) - 初期状態で無効に設定されたメニュー項目で onClick が機能しない問題を修正。@leaanthony による PR #4469。初期調査を行った @IanVS に感謝します。
- ビルド失敗時に Vite サーバーがクリーンアップされない問題を修正(#4403)
- Windows での通知の解析処理を修正。@popaprozac による PR
- Windows SDK の依存関係を確認するよう doctor コマンドを修正。@kodumulo による #4390
- Mac の processURLRequest における nil ポインター参照を修正。@etesam913 による #4366
- Linux でフィルター付きダイアログを使用できないバグを修正。@bh90210 による #4287
- Windows および Linux の編集メニューに関する問題を修正。@leaanthony による #3f78a3a
- macOS の .plist ファイルにある最小システムバージョンを 10.13.0 から 10.15.0 に更新。@AkshayKalose による #3981
- ウィンドウ ID が飛ばされる問題を修正。@leaanthony が対応
- RegisterContextMenu の呼び出し時にメニューが nil になる問題を修正。@leaanthony が対応
- バインディングジェネレーターの出力における依存関係の循環を修正。@fbbdev による #4001
- バインディングジェネレーターの出力における定義前使用エラーを修正。@fbbdev による #4001
- ビルドフラグをバインディングジェネレーターに渡すよう変更。@fbbdev による #4023
- Windows 以外のプラットフォームでも動作するよう、windows Taskfile 内のパスをスラッシュ区切りに変更。@leaanthony が対応
- Mac および Mac の JS イベントを修正。@leaanthony が対応
- macOS でのイベントのデッドロックを修正。@leaanthony が対応
- Windows で HTML は指定されているものの JS が指定されていない場合に、Window の初期化で発生する
Parameter incorrectエラーを修正。@leaanthony が対応 - アセットサーバーでコンテンツタイプのスニッフィングに使用するレスポンスのプレフィックスサイズを修正。@fbbdev による #4049
- アセットサーバーのルートインデックスパスで、404 以外のレスポンスの処理を修正。@fbbdev による #4049
- バインディングジェネレーターでジェネリック型のプロパティを検査する際の未定義動作を修正。@fbbdev による #4045
- 基になる型のプロパティが名前付きラッパーと同一でない場合の、モデルに対するバインディングジェネレーターの出力を修正。@fbbdev による #4045
- マップのキー型および前処理に対するバインディングジェネレーターの出力を修正。@fbbdev による #4045
- マーシャラーインターフェースを実装する構造体に対するバインディングジェネレーターの出力を修正。@fbbdev による #4045
- バインディングジェネレーターで、ジェネリック型を含む型の循環検出を修正。@fbbdev による #4045
- バインディングジェネレーターの出力に含まれる、エクスポートされていないモデルへの無効な参照を修正(@fbbdev、#4045)
- 注入されるコードをサービスファイルの末尾に移動(@fbbdev、#4045)
- バインディングジェネレーターで、ファイルを閉じる処理から返されるエラーの扱いを修正(@fbbdev、#4045)
- ライフサイクルメソッドまたは http メソッドを定義しているものの、それ以外にバインドされたメソッドがないサービスに対する警告を抑制(@fbbdev、#4045)
- 非 React テンプレートで、システムのカラースキームがライトの場合に Hello World フッターが表示されない問題を修正(@marcus-crane、#4056)
- macOS で非表示のメニュー項目に関する問題を修正(@leaanthony)
- メッセージプロセッサーでのエラー処理と書式設定を修正(@fbbdev、#4066)
- アプリケーション終了時にサービスのシャットダウンが省略される問題を修正(@fbbdev、#4066)
- メニューの更新がメインスレッドで行われるように変更(@leaanthony)
- ドラッグとサイズ変更の仕組みをより堅牢にし、プラットフォームで期待される動作にさらに近づけた(@fbbdev、#4100)
- #4097 Webpack/angular がランタイム初期化コードを破棄する問題を修正(@fbbdev、#4100)
- 初期状態で非表示のメニュー項目に関する問題を修正(@IanVS、#4116)
- 拡張子のないリクエストで、
[request]が存在せず[request].htmlが存在する場合に、assetFileServer が.htmlファイルを配信しない問題を修正 - アイコン生成パスを修正(@robin-samuel、#4125)
fullscreen、unfullscreen、unminimise、unmaximiseイベントが発行されない問題を修正(@oSethoum、#4130)- 設定内のデフォルトバージョンに誤ったプレフィックスが付いていたために発生する NSIS エラーを修正(@robin-samuel、#4126)
- Windows で Dialogs ランタイム関数がエスケープされたパスを返す問題を修正(TheGB0077、#4188)
- HKCU 内の Webview2 検出パスを修正(@leaanthony)。
- macOS での入力の問題を修正(@leaanthony)。
- Windows アイコン生成タスクのファイル名を修正(@yulesxoxo、#4219)。
- @kron の成果を基に、フレームレスウィンドウの透過に関する問題を修正(@leaanthony)。
- @kron の成果を基に、ウィンドウが無効または最小化されている場合のフォーカス呼び出しを修正(@leaanthony)。
- @kron の成果を基に、タスクバーの再起動後にシステムトレイが表示されない問題を修正(@leaanthony)。
- fallbackResponseWriter が Flush() を実装していない問題を修正(#4245)
- fallbackResponseWriter が Flush() を実装していない問題を修正([@superDingda]、#4236)
- 非同期の Go バインド関数呼び出しが保留中のときに macOS でウィンドウを閉じるとクラッシュする問題を修正(@joshhardy、#4354)
- Windows の効率モード起動時の競合状態を修正(@leaanthony)
- Windows のアイコンハンドルのクリーンアップを修正(@leaanthony)。
- Windows での
OpenFileManagerを修正(@PPTGamer、#4375)。 - Linux の最小/最大幅オプションを修正(@atterpac、#3979)
- npm のバージョン更新により、TypeScript テンプレートの型定義を修正(@atterpac、#3966)
- Sveltekit テンプレートの CSS 参照を修正(@atterpac、#3945)
- window run() 内の主要なコールバックがメインスレッドで呼び出されるように変更(@leaanthony)
- ダイアログのディレクトリ選択の例を修正(@leaanthony)
- index.html が存在しない場合に表示する新しい中国語エラーページを作成(@leaanthony)
-
windowDidBecomeKeyコールバックがメインスレッドで実行されるように変更(@leaanthony) - フレームレスウィンドウのフルスクリーンをサポート(@leaanthony)
- ウィンドウ破棄ロジックを改善(@leaanthony)
- システムトレイに関連付けられている場合のウィンドウ位置ロジックを修正(@leaanthony)
- フレームレスウィンドウのフルスクリーンをサポート(@leaanthony)
- イベント処理を修正(@leaanthony)
- ウィンドウのシャットダウンロジックを修正(@leaanthony)
- 共通の taskfile で、TypeScript テンプレート用にデフォルトで TypeScript バインディングを生成するように変更(@leaanthony)
- ウィンドウが開いていない場合、またはシステムトレイのみの場合に、WM_CLOSE メッセージでアプリケーションを終了する処理を修正(@mmalcek、#3990)
- garble ビルドを修正(@5aaee9、#3192)
- Windows の NSIS ビルドを修正(@leaanthony)
- 閉じられていないことが原因で発生する、複数選択用 Linux ダイアログのデッドロックを修正
- Windows ビルド時の .syso ファイルに対するクロスプラットフォームのクリーンアップを修正(
- amd64 AppImage のコンパイルを修正(@atterpac、
- ビルドアセットの更新を修正(@ansxuman、
- @atterpac により Linux のシステムトレイの
OnClickおよびOnRightClickの実装を修正 - Mac で
AlwaysOnTopが動作しない問題を修正: -
application.NewEditMenuに重複が含まれる問題を修正 - 🐧 aarch64 でのコンパイルを修正
- ⊞ ラジオグループのメニュー項目を修正:
- MacOS で実行可能な .app をビルドする際のエラーを修正。その発生条件は ’name’ と ‘outputfilename’ が
- ドラッグ&ドロップのサンプルで customEventProcessor を使用した際のバグを修正:
- 🐧 IgnoreMouseEvents の追加によって発生した Linux のコンパイルエラーを修正:
- ⊞ syso アイコンファイル生成のバグを修正:
- 🐧 Wayland でネイティブに動作させるための修正を次から取り込み:
- 次で内部サービスメソッドをバインドしないように変更:
- ⊞ 次でシステムトレイの起動時パニックを修正:
- 次で内部サービスメソッドをバインドしないように変更:
- ⊞ 次でシステムトレイの起動時パニックを修正:
- メニュー項目を大幅にリファクタリングし、イベント処理を改善。現時点では主に macOS が改善されます。担当:
- 次でプラグインとイベントのリファクタリング後にテストを修正:
- ⊞
Failed to unregister class Chrome_WidgetWin_0の警告を修正。担当: - モジュールの問題
- atterpac により、次でサイズ変更イベントのメッセージングを修正:
- 🐧 NixOS でのテーマ処理エラーを修正:
- Windows でボリュームをまたぐプロジェクトのインストールを修正:
- フッターが表示されるように React テンプレートの CSS を修正:
- refresh を最新版に更新し、開発モードで作業中にゾンビプロセスが発生する問題を修正
- Atterpac により AppImage の WebKit ファイル取得を修正
- Atterpac により、次で Doctor の apt パッケージ検証を修正:
- @5aaee9 により、次で終了時にアプリケーションがフリーズする問題(Darwin)を修正:
- Windows 上のサンプルの背景色を修正:
- mmghv により、次でデフォルトのコンテキストメニューを修正:
- Darwin での矢印キーの16進値を修正:
- Windows のドラッグ&ドロップを動作するように修正。追加者:
- 適切なドライバーがない場合に Doctor で発生する Linux のバグを修正
- 起動時の DPI スケーリング(Windows)を修正。@almas-x により次で変更:
- 相対パスを使用するように
go.modの置換行を修正。次を含む Windows パスの問題を修正: - ウィンドウが関連付けられていない場合の MacOS のシステムトレイクリック処理を修正:
- 不明なオプションによって Windows のビルドが失敗する問題を修正:
- 次がない状態で Windows のシステムトレイアイコンを左クリックするとクラッシュする問題を修正:
- @5aaee9 により、ウィンドウを2回開いた際に baseURL が誤る問題を PR で修正
WebviewWindow.Restoreメソッド内の if 分岐の順序を修正:- 次の場合に、複数回の
GetStartURL呼び出しにわたってstartURLを正しく計算: Screen構造体の JS 型を、対応する Go の型と一致するように修正:- 登録済みイベントが適切にクリーンアップされるように
WML.Reloadメソッドを修正 - Linux でカスタムコンテキストメニューが即座に閉じる問題を修正:
- バインディングによって生成されるモデルファイルの出力パスと拡張子を修正
- バインディングによって生成される JS コード内のモデルファイルのインポートパスを修正
- 一部の Linux ディストリビューションでドラッグ&ドロップが動作しない問題を修正:
wails3 task devを使用する際に macOS 用タスクが欠落する問題を修正:- イベントの登録によって nil マップへの代入が発生する問題を修正:
- バインドされたメソッドのパラメーターのアンマーシャリングを修正:
- バインドされたメソッドからの複数の戻り値の処理を修正:
- システムパッケージマネージャーでインストールされていない npm を Doctor が検出できない問題を修正
- MicrosoftEdgeWebview2Setup.exe が欠落する問題を修正。協力:
- @leaanthony により、ウィンドウ ID の処理が原因で Linux 上でランダムにクラッシュする問題を修正。次に基づく:
- Linux で systemTray.setIcon がクラッシュする問題を修正:
setFrameless関数の初回呼び出し時にウィンドウフレームが確実に適用されるように修正:
変更
- 破壊的変更:生成された JS/TS バインディングのマップキーが、Go のマップのセマンティクスを正確に反映するため、オプションとしてマークされるようになりました。TypeScript でマップの値にアクセスすると、
TではなくT | undefinedが返されるようになり、null チェックまたはアサーションが必要です(#4943)。担当:@fbbdev @wailsio/runtimeの変更に従い、Eventの使用をEventsに変更し、Features/Events/Event Systemのドキュメント内の関数呼び出しも適切に変更:@AbdelhadiSeddarEnabledFeatures、DisabledFeatures、AdditionalBrowserArgsをウィンドウ単位のオプションからアプリケーションレベルのOptions.Windowsに移動(#4559):@leaanthonyDrag N Dropサンプルの README を更新し、このサンプルでInternal Drag and Dropを実演していることを強調:@ndianabasi- 各種デバッグログのレベルを Info から Debug に変更(@mbaklor)
- 破壊的変更: ウィンドウオプションの
EnableDragAndDropをEnableFileDropに改名 - 破壊的変更: イベントコンテキストの
DropZoneDetailsをDropTargetDetailsに改名 - 破壊的変更:
WindowEventContextのDropZoneDetails()メソッドをDropTargetDetails()に改名 - 破壊的変更:
WindowDropZoneFilesDroppedイベントを削除し、代わりにWindowFilesDroppedを使用 - 破壊的変更: HTML 属性を
data-wails-dropzoneからdata-file-drop-targetに変更 - 破壊的変更: CSS のホバークラスを
wails-dropzone-hoverからfile-drop-target-activeに変更 - 破壊的変更: Windows から
DragEffect、OnEnterEffect、OnOverEffectオプションを削除(削除された IDropTarget の一部) - ランタイムのすべての JSON 処理(メソッドバインディング、イベント、WebView リクエスト、通知、kvstore)を goccy/go-json に切り替え、パフォーマンスを 21-63% 向上し、メモリ割り当てを 40-60% 削減
- BoundMethod 構造体のレイアウトを最適化し、isVariadic フラグをキャッシュして呼び出しごとのオーバーヘッドを削減
- 引数が
<=8個のメソッドではスタックに割り当てた引数バッファを使用し、ヒープ割り当てを回避 - メソッド呼び出し時の結果収集を最適化し、戻り値が 1 つの場合のスライス割り当てを回避
- MIME タイプキャッシュに sync.Map を使用し、並行処理性能を向上
- HTTP トランスポートのリクエストボディ読み取りにバッファプールを使用
- コンテンツタイプスニファーで CloseNotify チャネルを遅延割り当てし、リクエストごとの割り当てを削減
- アセットサーバーから CSS のデバッグログを削除
- MIME タイプの拡張子マップを拡充し、一般的な Web 形式(フォント、音声、動画など)を 50 種類以上サポート
- Window の
X/Yオプションに関するドキュメントを更新(@ruhuang2001) - フロントエンドバインディングを生成するためのオプションを追加し、
Frontend Runtimeのドキュメントを更新(@ndianabasi) - Wails v3 Asset Server のドキュメントページを更新(@ndianabasi)
- 破壊的変更: パッケージレベルのダイアログ関数(
application.InfoDialog()、application.QuestionDialog()など)を削除。代わりにapp.Dialogマネージャーのapp.Dialog.Info()、app.Dialog.Question()、app.Dialog.Warning()、app.Dialog.Error()、app.Dialog.OpenFile()、app.Dialog.SaveFile()を使用 - 実際の API に合わせてダイアログのドキュメントを更新:
app.Dialog.*、コールバック付きのAddButton()(SetButtons()ではない)、SetDefaultButton(*Button)(文字列ではない)、AddFilter()(SetFilters()ではない)、SetFilename()(SetDefaultFilename()ではない)を使用し、フォルダーの選択にはapp.Dialog.OpenFile().CanChooseDirectories(true)を使用 - 破壊的変更:プロダクションビルドがデフォルトになりました。開発ビルドを作成するには、Taskfile で
DEV=trueを設定してください。設定例を確認するには、新しいプロジェクトを生成してください(@leaanthony) - データ引数が 0 個または 1 個のカスタムイベントを発行する場合、データ値はスライスでラップされず、Data フィールドに直接割り当てられるようになりました(@fbbdev、#4633)
- Windows のトレイで
NIS_HIDDENを切り替えることにより、SystemTray.Show()/Hide()が反映されるようになり、アプリを完全に非表示にしてから再表示できるようになりました(#4653)。 - トレイの登録で解決済みのアイコンを再利用し、
NOTIFYICON_VERSION_4を一度だけ設定するとともにNIF_SHOWTIPを有効にすることで、Explorer の再起動後にツールチップが復元されるようになりました(#4653)。 - macOS:メニューバーと Dock の領域を除外してウィンドウを中央に配置するため、
frameの代わりにvisibleFrameを使用 - macOS:メニューバーと Dock の領域を除外してウィンドウを中央に配置するため、
frameの代わりにvisibleFrameを使用 -configパラメーターを指定してwails3 update build-assetsを実行した場合、-product*パラメーターで設定した値はwindow.NativeWindowHandle()→window.NativeWindow()(@leaanthony、#4471)- 内部のウィンドウ処理をリファクタリング(@leaanthony、#4471)
application.WindowIDKeyとapplication.WindowNameKeyを削除(application.WindowKeyに置換)(@leaanthony)- ContextMenuData が any ではなく文字列を返すように変更(@leaanthony)
- JS/TS バインディングで、固定長配列型のクラスフィールドが空ではなく、想定される長さで初期化されるようになりました(@fbbdev、#4001)
- ContextMenuData が any ではなく文字列を返すように変更(@leaanthony)
application.NewServiceはオプションを省略可能なパラメーターとして受け付けなくなりました(代わりにapplication.NewServiceWithOptionsを使用)(@leaanthony、#4024)nanoidへの依存を削除(@leaanthony)- mica/acrylic/tabbed ウィンドウスタイルに対応するよう Window のサンプルを更新(@leaanthony)
- JS/TS バインディングから
internal.js/tsモデルファイルを削除し、すべてのモデルをmodels.js/tsで参照できるようになりました(@fbbdev、#4045) - JS/TS バインディングで、名前付き型が他の名前付き型のエイリアスとしてレンダリングされることはなくなり、従来の動作はエイリアスのみに限定されるようになりました(@fbbdev、#4045)
- JS/TS バインディングのクラスモードで、型パラメーターを型とする構造体フィールドは省略可能としてマークされ、自動的に初期化されなくなりました(@fbbdev、#4045)
- テンプレートから ESLint を削除(@IanVS、#4059)
- 著作権の日付を 2025 に更新(@IanVS、#4037)
- event.Sender のドキュメントを追加(@IanVS、#4075)
- Go 1.24 をサポート(@leaanthony)
ServiceStartupフックはapplication.New内ではなく、App.Runの呼び出し時に実行されるようになりました(@fbbdev、#4066)ServiceStartupのエラーはプロセスを終了させず、App.Runから返されるようになりました(@fbbdev、#4066)- JS からのバインディングおよびダイアログ呼び出しは、文字列ではなくエラーオブジェクトで reject されるようになりました(@fbbdev、#4066)
- Windows でのシステムトレイメニューの配置を改善(@leaanthony)
- JS ランタイムを TypeScript に移植(@fbbdev、#4100)
- runtime はインポートされるとすぐに初期化されるため、ウィンドウの読み込みを待つ必要がなくなりました。#4100 の @fbbdev による変更です
- runtime は init メソッドをエクスポートしなくなりました。副作用のためのインポートを使用して初期化できます。#4100 の @fbbdev による変更です
- バインドされたメソッドは、キャンセルされた場合に
CancelErrorで reject されるCancellablePromiseを返すようになりました。実際の呼び出し結果は破棄されます。#4100 の @fbbdev による変更です - 組み込みサービス型の名称を
Serviceに統一しました。#4067 の @fbbdev による変更です - オプションを受け取る組み込みサービス作成関数の名称を
NewWithConfigに統一しました。#4067 の @fbbdev による変更です - Go API との一貫性を保つため、
sqliteサービスのSelectメソッドをQueryに改名しました。#4067 の @fbbdev による変更です - テンプレート:runtime を「dependencies」に移し、package.json ファイルを整理しました。#4133 の @IanVS による変更です
- 特定の macOS API を利用できるように、開発時にアプリバンドルを作成してアドホック署名するようにしました。#4171 の @popaprozac による変更です
- ビルドアセットをプラットフォーム固有のディレクトリに移動しました。@leaanthony による変更です
- Taskfile をプラットフォーム固有のディレクトリに移動し、名前を変更しました。@leaanthony による変更です
index.htmlが見つからない場合のエクスペリエンスを大幅に改善しました。@leaanthony による変更です- [Windows] 最小化と復元のパフォーマンスを改善しました。@leaanthony による変更で、562589540 による元の PR を基にしています
ShouldCloseオプションを削除しました(代わりに events.Common.WindowClosing のフックを登録してください)。@leaanthony による変更です- [Windows] ウィンドウを開く際のちらつきを軽減しました。@leaanthony による変更です
- 内部関数として意図されていたため、
Window.Destroyを削除しました。@leaanthony による変更です WindowCloseイベントをWindowClosingに改名しました。@leaanthony による変更です- フロントエンドのビルドで、ビルド種別に応じて vite 環境「development」または「production」を使用するようになりました。@leaanthony による変更です
- go-webview2 v1.19 に更新しました。@leaanthony による変更です
- taskfile のフォークが確実に使用されるようにしました。@leaanthony による変更です
- 次の方法でインストールする際のバージョン問題を修正するため、Taskfile のフォークを更新
- 次の方法でインストールする際のバージョン問題を修正するため、Taskfile のフォークを使用
service.OnStartupは、エラー発生時にアプリケーションを終了し、次を実行するようになりました- ユーザー操作により適切に対応するよう、システムトレイのクリックメッセージ処理をリファクタリング。変更者:
- 次を生成するフレームワークに対応するため、埋め込みアセットに
all:frontend/distを追加 - Taskfile のリファクタリング。leaanthony により、次で実施:
go-webview2v1.0.16 にアップグレード。変更者:Screen型を修正し、IdではなくIDを含めるようにしました。変更者:application.ServiceOptionsに対応するため、go.mod.tmplの Wails バージョンを更新。変更者:- サービス名の判定を修正しました。windom により、次で実施:
- mkdocs serve が docker を使用するようになりました。leaanthony による変更です
- 開発用設定を
config.ymlに統合。変更者: - システムトレイのダイアログで、利用可能な場合はアプリケーションアイコンをデフォルトで使用するようにしました(Windows)。変更者:
- macOS での GPU とメモリのレポートを改善。変更者:
WebviewGpuIsDisabledとEnableFraudulentWebsiteWarningsを削除- Events API の変更:
On/Emit-> ユーザーイベント、OnApplicationEvent-> - Linux の Events API を修正しました。TheGB0077 により、次で実施:
- [CI] Actions を改善し、フォークでも Actions を実行できるようにしたほか、
AbsolutePosition()をPosition()に改名。変更者:- Linux の WebKit 依存関係を webkitgtk2-4.0 から webkit2gtk-4.1 に更新し、
- 同梱の JS runtime スクリプトが ESM モジュールになりました。このスクリプトをインポートする script タグは
@wailsio/runtimeパッケージは、その API をwindow.wailsに公開しません- Window API モジュール
@wailsio/runtime/src/windowが新たに公開するのは、格納元の - JS の Window API を、現在の Go
WebviewWindowと一致するように更新しました - バインディングジェネレーターは、デフォルトで ID による呼び出しを使用するようになりました。
-idCLI オプションは - 新しいバインディングコードのレイアウト:以前、出力ファイルはフォルダー内に整理されていました
- 構造体フィールド
application.Options.Bindの名前を次のように変更しました: - バインディングサービスの新しい構文:サービスインスタンスを次のものでラップする必要があります
- 非ターミナル環境または CI 環境ではスピナーを無効化。変更者:
削除
- BREAKING:ウィンドウごとの
WindowsWindowオプションからEnabledFeatures、DisabledFeatures、AdditionalLaunchArgsを削除しました。代わりに、アプリケーションレベルのOptions.Windows.EnabledFeatures、Options.Windows.DisabledFeatures、Options.Windows.AdditionalBrowserArgsを使用してください。これらのフラグは、共有 WebView2 環境全体に適用されます(#4559)。@leaanthony による変更です - Windows のネイティブ
IDropTarget実装を削除し、JavaScript ベースの手法に置き換えました(v2 の動作と同じです) - github.com/wailsapp/mimetype 依存関係を削除し、拡張した拡張子マップと標準ライブラリの http.DetectContentType に置き換え、バイナリサイズを約 1.2MB 削減しました
- Linux ファイルエクスプローラー用の最小限の .desktop ファイルパーサーを実装して gopkg.in/ini.v1 依存関係を削除し、約 45KB 削減しました
- Go 1.21以降の標準ライブラリの slices パッケージと最小限の内部ヘルパーを使用して、ランタイムコードから samber/lo を削除し、約310KBを削減
- Darwin の URL スキームハンドラーからデバッグ用の printf 文を削除(#4834)
- 破壊的変更:
linux:WindowLoadChangedイベントを削除。WebView の読み込み完了を検出するには、代わりにlinux:WindowLoadFinishedを使用(#3896、@leaanthony)
破壊的変更
- Manager API のリファクタリング:コード構成と見つけやすさを改善するため、application API をフラットな構造から体系化されたマネージャー構造へ再編。@leaanthonyによる変更(#4359)
app.NewWebviewWindow()→app.Window.New()app.CurrentWindow()→app.Window.Current()app.GetAllWindows()→app.Window.GetAll()app.WindowByName()→app.Window.GetByName()app.EmitEvent()→app.Event.Emit()app.OnApplicationEvent()→app.Event.OnApplicationEvent()app.OnWindowEvent()→app.Event.OnWindowEvent()app.SetApplicationMenu()→app.Menu.SetApplicationMenu()app.OpenFileDialog()→app.Dialog.OpenFile()app.SaveFileDialog()→app.Dialog.SaveFile()app.MessageDialog()→app.Dialog.Message()app.InfoDialog()→app.Dialog.Info()app.WarningDialog()→app.Dialog.Warning()app.ErrorDialog()→app.Dialog.Error()app.QuestionDialog()→app.Dialog.Question()app.NewSystemTray()→app.SystemTray.New()app.GetSystemTray()→app.SystemTray.Get()app.ShowContextMenu()→app.ContextMenu.Show()app.RegisterKeybinding()→app.KeyBinding.Register()app.UnregisterKeybinding()→app.KeyBinding.Unregister()app.GetPrimaryScreen()→app.Screen.GetPrimary()app.GetAllScreens()→app.Screen.GetAll()app.BrowserOpenURL()→app.Browser.OpenURL()app.Environment()→app.Env.GetAll()app.ClipboardGetText()→app.Clipboard.Text()app.ClipboardSetText()→app.Clipboard.SetText()- Service メソッドの名前を変更:
Name->ServiceName、OnStartup->ServiceStartup、OnShutdown->ServiceShutdown。@leaanthonyによる変更 PathメソッドとPathsメソッドをapplicationパッケージへ移動。@leaanthonyによる変更- アプリケーションメニューを macOS 専用に変更。@leaanthonyによる変更
v3.0.0-alpha.78 - 2026-04-21
追加
修正
v3.0.0-alpha.77 - 2026-04-18
修正
v3.0.0-alpha.76 - 2026-04-17
修正
v3.0.0-alpha.75 - 2026-04-16
修正
v3.0.0-alpha.74 - 2026-03-01
追加
修正
v3.0.0-alpha.73 - 2026-02-27
修正
v3.0.0-alpha.72 - 2026-02-16
修正
v3.0.0-alpha.71 - 2026-02-10
追加
修正
v3.0.0-alpha.70 - 2026-02-09
追加
修正
v3.0.0-alpha.69 - 2026-02-08
追加
修正
v3.0.0-alpha.68 - 2026-02-07
追加
変更
修正
v3.0.0-alpha.67 - 2026-02-04
追加
変更
修正
v3.0.0-alpha.66 - 2026-02-03
追加
変更
修正
削除
v3.0.0-alpha.65 - 2026-02-01
追加
v3.0.0-alpha.64 - 2026-01-26
追加
v3.0.0-alpha.63 - 2026-01-25
修正
v3.0.0-alpha.62 - 2026-01-22
修正
v3.0.0-alpha.61 - 2026-01-20
修正
v3.0.0-alpha.60 - 2026-01-14
修正
v3.0.0-alpha.59 - 2026-01-11
変更
v3.0.0-alpha.58 - 2026-01-09
修正
v3.0.0-alpha.57 - 2026-01-05
変更
修正
v3.0.0-alpha.56 - 2026-01-04
追加
変更
修正
削除
v3.0.0-alpha.55 - 2026-01-02
変更
修正
削除
v3.0.0-alpha.54 - 2025-12-29
追加
修正
削除
v3.0.0-alpha.53 - 2025-12-27
追加
修正
v3.0.0-alpha.52 - 2025-12-26
修正
v3.0.0-alpha.51 - 2025-12-23
修正
v3.0.0-alpha.50 - 2025-12-21
変更
v3.0.0-alpha.49 - 2025-12-18
変更
v3.0.0-alpha.48 - 2025-12-16
追加
変更
修正
v3.0.0-alpha.47 - 2025-12-15
追加
修正
v3.0.0-alpha.46 - 2025-12-14
追加
削除
v3.0.0-alpha.45 - 2025-12-13
追加
修正
v3.0.0-alpha.44 - 2025-12-12
追加
変更
修正
v3.0.0-alpha.43 - 2025-12-11
追加
v3.0.0-alpha.42 - 2025-12-10
追加
v3.0.0-alpha.41 - 2025-11-23
修正
v3.0.0-alpha.40 - 2025-11-13
修正
v3.0.0-alpha.39 - 2025-11-12
追加
変更
v3.0.0-alpha.38 - 2025-11-04
追加
変更
修正
v3.0.0-alpha.37 - 2025-11-02
修正
v3.0.0-alpha.36 - 2025-10-15
修正
v3.0.0-alpha.35 - 2025-10-14
修正
v3.0.0-alpha.34 - 2025-10-06
追加
修正
v3.0.0-alpha.33 - 2025-10-04
修正
v3.0.0-alpha.32 - 2025-10-02
修正
v3.0.0-alpha.31 - 2025-09-27
修正
v3.0.0-alpha.30 - 2025-09-26
修正
v3.0.0-alpha.29 - 2025-09-25
追加
変更
修正
v3.0.0-alpha.29 - 2025-09-25
追加
変更
修正
v3.0.0-alpha.27 - 2025-09-07
修正
v3.0.0-alpha.26 - 2025-08-24
追加
v3.0.0-alpha.25 - 2025-08-16
変更
無視されなくなり、設定値を上書きするようになりました。
v3.0.0-alpha.24 - 2025-08-13
追加
v3.0.0-alpha.23 - 2025-08-11
修正
v3.0.0-alpha.22 - 2025-08-10
追加
変更
- Linuxパッケージの過剰に広範な依存関係と、古くなったRPM依存関係を修正。
v3.0.0-alpha.21 - 2025-08-07
修正
v3.0.0-alpha.20 - 2025-08-06
修正
v3.0.0-alpha.19 - 2025-08-05
追加
修正
v3.0.0-alpha.18 - 2025-08-03
追加
修正
v3.0.0-alpha.17 - 2025-07-31
修正
v3.0.0-alpha.16 - 2025-07-25
追加
v3.0.0-alpha.15 - 2025-07-25
追加
v3.0.0-alpha.14 - 2025-07-25
追加
v3.0.0-alpha.12 - 2025-07-15
追加
修正
v3.0.0-alpha.11 - 2025-07-12
追加
v3.0.0-alpha.10 - 2025-07-06
破壊的変更
追加
修正
変更
v3.0.0-alpha.9 - 2025-01-13
追加
修正
変更
v3.0.0-alpha.8.3 - 2024-12-07
変更
v3.0.0-alpha.8.2 - 2024-12-07
変更
go install(@leaanthonyによる変更)
v3.0.0-alpha.8.1 - 2024-12-07
変更
go install(@leaanthonyによる変更)
v3.0.0-alpha.8 - 2024-12-06
追加
@atterpac が #3909 で対応 ansxuman が #3902 で対応 atterpac が #3867 で対応 atterpac が #3829 で対応 leaanthony FerroO2000 が #3856 で対応 #3873 leaanthony 指定された X/Y 座標に配置。 leaanthony が #3885 で対応 ansxuman と leaanthony が #3823 で対応 leaanthony が #3766 で対応 leaanthony が #3888 で対応 leaanthony。 -
変更
起動済みのすべてのサービスを対象とするservice.OnShutdownについて、@atterpac が #3920 で対応 @atterpac が #3907 で対応 サブフォルダーについて @atterpac が #3887 で対応 #3748 leaanthony etesam913 が #3778 で対応 northes が #3836 で対応 #3827 leaanthony @leaanthony @leaanthony (EnabledFeatures オプションと DisabledFeatures オプションに置き換え) leaanthony が対応
修正
channel 変数を修正。@michael-freling が #3925 で対応 ansxuman が #3924 で対応 #3898 #3901 #3886 で対応 leaanthony が #3841 で対応 Darwin の編集メニューにおける PasteAndMatchStyle ロールを修正。 johnmccabe が #3839 で対応 #3840 を #3854 で kodflow が対応 @leaanthony が異なる問題を修正。@nickisworking が #3789 で対応
v3.0.0-alpha.7 - 2024-09-18
追加
mmghv が #3665 で対応 #3682 atterpac と leaanthony が #3570 で対応
変更
アプリケーションイベント OnWindowEvent をウィンドウイベントに変更。 leaanthony が #3734 で対応 v3/ または v3- というプレフィックスが付いたブランチ。 stendler が #3747 で対応
修正
etesam913 が #3742 で対応 atterpac が #3721 で対応 atterpac が #3675 で対応 #1811 を #3614 で @stendler が対応 #3720 を leaanthony が対応 #3693 を @DeltaLaboratory が対応 #3720 を leaanthony が対応 #3693 を @DeltaLaboratory が対応 leaanthony #3746 を @stendler が対応 leaanthony
v3.0.0-alpha.6 - 2024-07-30
修正
v3.0.0-alpha.5 - 2024-07-30
追加
#3580 #3580 アイコンのクリック。@5aaee9 が #2991 で対応 #2618 @fbbdev が #3282 で対応 @Atterpac が #3022 で対応 @marcus-crane が #3146 で対応 PR PR @fbbdev が #3281 で対応 aba82cc @Mai-Lapyst による PR に基づく @fbbdev が #3295 で対応 @fbbdev が #3295 で対応 @fbbdev が #3295 で対応 npm パッケージ。@fbbdev が #3334 で対応 #3354 で対応 WAILS_VITE_PORT。@abichinger が #3429 で対応 @abichinger が #3431 で対応 @bruxaodev が #3667 で対応 @OlegGulevskyy が #3674 で対応
修正
#3606 tmclaneにより #3515で対応 atterpacにより #3512で対応 atterpacにより #3477で対応 Atterpacにより #3320で対応。 #3306で対応。 #2972。 #2982 mmghvにより #2750で対応。 #2753。 jaybeecaveにより #3052で対応。 @pylotlightにより PRで対応 インストール済み。@pylotlightにより PRで追加 PR スペース(@leaanthony)。 thomas-senechalにより PR #3207で対応 thomas-senechalにより PR #3208で対応 アタッチされたウィンドウ。tw1nkにより PR #3271で対応 #3273 @fbbdevにより #3279で対応 FRONTEND_DEVSERVER_URLが存在する。 #3299 @fbbdevにより #3295で対応 リスナー。@fbbdevにより #3295で対応 @abichingerにより #3330で対応 ジェネレーター。@fbbdevにより #3334で対応 ジェネレーター。@fbbdevにより #3334で対応 @abichingerにより #3346で対応 @hfoxyにより #3417で対応 @hfoxyにより #3426で対応 @fbbdevにより #3431で対応 @fbbdevにより #3431で対応 @pekimにより #3458で対応 @robin-samuel。 @5aaee9による PR #3466。 @windomにより #3636で対応。 Windows。@bruxaodevにより #3691で対応。
変更
mmghvにより #3611で対応 Ubuntu 24.04 LTS をサポート。atterpacにより #3461で対応 には type="module" 属性が必要。 @fbbdevにより #3295で対応 オブジェクトであり、WML システムを起動しない。この変更は、カプセル化を改善するために行われた。必要に応じて、新しい WML.Enable メソッドを呼び出すことで WML システムを手動で起動できる。バンドルされた JS ランタイムスクリプトは、引き続き両方の操作を自動的に実行する。@fbbdevにより #3295で対応 ウィンドウオブジェクトをデフォルトエクスポートとして提供する。ESM の名前付きインポート構文または名前空間インポート構文を使用して個別のメソッドをインポートすることは、今後できない。 API。一部のメソッドでは名前またはプロトタイプが変更された。具体的には、Screen は GetScreen に、GetZoomLevel/SetZoomLevel は GetZoom/SetZoom になった。GetZoom、Width、Height は、値をオブジェクト内にラップせず、直接返すようになった。@fbbdevにより #3295で対応 は削除された。名前による呼び出しに戻すには、-names CLI オプションを使用する。 @fbbdevにより #3468で対応 には従来、それらを含むパッケージに基づく名前が付けられていたが、現在はモジュールパスを含む完全な Go インポートパスが使用される。@fbbdevにより #3468で対応 application.Options.Services。@fbbdevにより #3468で対応 application.NewService の呼び出し。@fbbdevにより #3468で対応 @DeltaLaboratoryにより #3574で対応