Electron 3.0.0
Electronチームは、Electron 3の最初の安定版リリースがelectronjs.orgおよびnpm install electron@latest
から入手可能になったことを発表できることを嬉しく思います! アップグレード、修正、新機能が満載で、皆さんがそれらを使って何を構築するのか、待ちきれません。以下は、このリリースに関する詳細です。ぜひご意見をお寄せください。
リリースプロセス
v3.0.0
の開発に着手するにあたり、プログレッシブベータリリースのフィードバックプロセスを公式化することにより、安定版リリースの基準をより経験的に定義しようとしました。 v3.0.0
は、ベータサイクル中に早期のテストとフィードバックを提供してくれたアプリフィードバックプログラムパートナーなしでは実現できませんでした。Atlassian、Atom、Microsoft Teams、Oculus、OpenFin、Slack、Symphony、VS Code、その他のプログラムメンバーの皆様のご尽力に感謝いたします。今後のベータ版に参加されたい場合は、info@electronjs.orgまでメールでお問い合わせください。
変更/新機能
Chrome v66.0.3359.181
、Node v10.2.0
、V8 v6.6.346.23
など、Electronのツールチェーンの重要な部分にメジャーバージョンアップを行いました。
- [#12656] 機能:
app.isPackaged
- [#12652] 機能:
app.whenReady()
- [#13183] 機能:
process.getHeapStatistics()
- [#12485] 機能:ウィンドウのzオーダーを最上位に移動するための
win.moveTop()
- [#13110] 機能:TextFieldおよびButton API
- [#13068] 機能:動的ログ制御のためのnetLog API
- [#13539] 機能:サンドボックスレンダラーで
webview
を有効化 - [#14118] 機能:
fs.readSync
が巨大ファイルで動作するようになりました - [#14031] 機能:
fs.realpathSync.native
およびfs.realpath.native
を使用できるようにするためのnodefs
ラッパー
APIの破壊的変更
- [#12362] 機能:メニュー項目の順序制御の更新
- [#13050] リファクタリング:ドキュメント化された非推奨APIを削除
- 詳細はドキュメントを参照してください
- [#12477] リファクタリング:
did-get-response-details
およびdid-get-redirect-request
イベントを削除 - [#12655] 機能:ドラッグアンドドロップでのナビゲーションをデフォルトで無効化
- [#12993] 機能:
electron
npmモジュールを使用するには、Nodev4.x
以降が必要です - [#12008] [#12140] [#12503] [#12514] [#12584] [#12596] [#12637] [#12660] [#12696] [#12716] [#12750] [#12787] [#12858] リファクタリング:
NativeWindow
- [#11968] リファクタリング:
menu.popup()
- [#8953] 機能:JSONを使用して
ipcRenderer.sendSync
の結果を送信しなくなりました - [#13039] 機能:URLに続くコマンドライン引数をデフォルトで無視
- [#12004] リファクタリング:
api::Window
をapi::BrowserWindow
に名前変更 - [#12679] 機能:ビジュアルズームがデフォルトでオフになりました
- [#12408] リファクタリング:app-command
media-play_pause
をmedia-play-pause
に名前変更
macOS
- [#12093] 機能:ワークスペース通知のサポート
- [#12496] 機能:トレイのダブルクリックイベントを無視するための
tray.setIgnoreDoubleClickEvents(ignore)
- [#12281] 機能:macOSでのマウスフォワード機能
- [#12714] 機能:画面ロック/ロック解除イベント
Windows
- [#12879] 機能:DIPと画面座標間の変換を追加
ご注意ください: このバージョンを実行した後に古いバージョンの Electron に切り替える場合は、古いバージョンがクラッシュするのを避けるために、ユーザーデータディレクトリをクリアする必要があります。ユーザーデータディレクトリを取得するには、console.log(app.getPath("userData"))
を実行するか、詳細についてはドキュメントを参照してください。
バグ修正
- [#13397] 修正:
fs.statSyncNoException
が例外をスローする問題 - [#13476, #13452] 修正: jQuery を使用したサイトの読み込み時にクラッシュする問題
- [#14092] 修正:
net::ClientSocketHandle
デストラクタでのクラッシュ - [#14453] 修正: フォーカスの変更を次のティックではなく、すぐに通知する
macOS
- [#13220] 修正:
<input file="type">
ファイルを開くダイアログでバンドルを選択できる問題 - [#12404] 修正: 非同期ダイアログ使用時にメインプロセスがブロックされる問題
- [#12043] 修正: コンテキストメニューのクリックコールバック
- [#12527] 修正: タッチバーアイテムの再利用時のイベントリーク
- [#12352] 修正: トレイタイトルのクラッシュ
- [#12327] 修正: ドラッグ不可領域
- [#12809] 修正: メニューが開いている間のメニュー更新を防止する
- [#13162] 修正: トレイアイコンの境界で負の値が許可されない
- [#13085] 修正: 強調表示時にトレイタイトルが反転しない
- [#12196] 修正:
enable_run_as_node==false
の場合の Mac ビルド - [#12157] 修正: ビブランシーを使用したフレームレスウィンドウの追加の問題
- [#13326] 修正:
app.removeAsDefaultProtocolClient
の呼び出し後に Mac プロトコルを none に設定する - [#13530] 修正: MAS ビルドでのプライベート API の誤った使用
- [#13517] 修正:
tray.setContextMenu
クラッシュ - [#14205] 修正: ダイアログで Escape キーを押すと、
defaultId
が設定されている場合でもダイアログが閉じるようになった
Linux
- [#12507] 修正: オフスクリーンウィンドウの
BrowserWindow.focus()
その他の注意事項
- PDF ビューアは現在動作していませんが、作業中であり、まもなく再び機能するようになります。
TextField
およびButton
API は実験的であるため、デフォルトではオフになっています。- これらは
enable_view_api
ビルドフラグで有効にすることができます。
- これらは
今後の予定
Electron チームは、Chromium、Node、および V8 の開発ケイデンスとのパリティを最終的に維持することを目指し、より迅速かつスムーズなアップグレードのプロセス定義に取り組んでいます。