メインコンテンツにスキップ

Electron 3.0.0

·4分の閲読

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を使用できるようにするためのnode fsラッパー

APIの破壊的変更

  • [#12362] 機能:メニュー項目の順序制御の更新
  • [#13050] リファクタリング:ドキュメント化された非推奨APIを削除
  • [#12477] リファクタリング:did-get-response-detailsおよびdid-get-redirect-requestイベントを削除
  • [#12655] 機能:ドラッグアンドドロップでのナビゲーションをデフォルトで無効化
  • [#12993] 機能:electron npmモジュールを使用するには、Node v4.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::Windowapi::BrowserWindowに名前変更
  • [#12679] 機能:ビジュアルズームがデフォルトでオフになりました
  • [#12408] リファクタリング:app-command media-play_pausemedia-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 の開発ケイデンスとのパリティを最終的に維持することを目指し、より迅速かつスムーズなアップグレードのプロセス定義に取り組んでいます。