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

「リリース」タグ付き投稿 41 件

新しいElectronリリースに関するブログ投稿

すべてのタグを表示

Electron 23.0.0

·読み時間3分

Electron 23.0.0がリリースされました!Chromium 110、V8 11.0、Node.js 18.12.1へのアップグレードが含まれています。さらに、Windows 7/8/8.1のサポートが終了しました。詳細については以下をお読みください!


Electronチームは、Electron 23.0.0のリリースを発表できることを嬉しく思います!npm install electron@latestでnpm経由でインストールするか、リリースウェブサイトからダウンロードできます。このリリースの詳細については、読み進めてください。

ご意見がありましたら、Twitterでお知らせいただくか、コミュニティDiscordにご参加ください!バグや機能リクエストは、Electronのイシュートラッカーで報告できます。

注目すべき変更点

スタックの変更点

新機能

  • Displayオブジェクトにlabelプロパティを追加しました。Display #36933
  • ユーザーのシステム言語を返すapp.getPreferredSystemLanguages() APIを追加しました。#36035
  • WebUSB APIのサポートを追加しました。#36289
  • SerialPort.forget()と、特定のオリジンが取り消されたときにSessionオブジェクトで発生する新しいイベントserial-port-revokedのサポートを追加しました。#35310
  • 開発者がmacOSでMission Controlをオプトアウトできるようにする新しいwin.setHiddenInMissionControl APIを追加しました。#36092

Windows 7/8/8.1サポートの終了

Electron 23では、Windows 7/8/8.1はサポートされなくなりました。Electronは計画されているChromiumの非推奨ポリシーに従っており、Chromium 109ではWindows 7/8/8.1とWindows Server 2012および2012 R2のサポートが非推奨になります(詳細はこちら)。

破壊的なAPIの変更点

以下は、Electron 23で導入された破壊的な変更です。これらの変更と今後の変更については、計画されている破壊的な変更ページで詳しく読むことができます。

削除済み:BrowserWindow scroll-touch-* イベント

BrowserWindowの非推奨となったscroll-touch-beginscroll-touch-endscroll-touch-edgeイベントが削除されました。代わりに、WebContentsで新しく利用できるようになったinput-eventイベントを使用してください。

// Removed in Electron 23.0
-win.on('scroll-touch-begin', scrollTouchBegin)
-win.on('scroll-touch-edge', scrollTouchEdge)
-win.on('scroll-touch-end', scrollTouchEnd)

// Replace with
+win.webContents.on('input-event', (_, event) => {
+ if (event.type === 'gestureScrollBegin') {
+ scrollTouchBegin()
+ } else if (event.type === 'gestureScrollUpdate') +{
+ scrollTouchEdge()
+ } else if (event.type === 'gestureScrollEnd') {
+ scrollTouchEnd()
+ }
+})

20.x.yのサポート終了

プロジェクトのサポートポリシーに従って、Electron 20.x.yのサポートが終了しました。開発者とアプリケーションは、新しいバージョンのElectronにアップグレードすることをお勧めします。

E22 (22年11月)E23 (23年2月)E24 (23年4月)E25 (23年5月)E26 (23年8月)
22.x.y23.x.y24.x.y25.x.y26.x.y
21.x.y22.x.y23.x.y24.x.y25.x.y
20.x.y21.x.y22.x.y23.x.y24.x.y

今後の予定

短期的な展望としては、チームはChromium、Node、V8を含むElectronを構成する主要コンポーネントの開発に追いつくことに引き続き注力すると予想されます。

Electronのパブリックタイムラインはこちらでご覧いただけます。

今後の変更に関する詳細は、計画されている破壊的変更ページをご覧ください。

Electron 22.0.0

·5分でお読みいただけます

Electron 22.0.0がリリースされました! 新しいユーティリティプロセスAPI、Windows 7/8/8.1サポートのアップデート、Chromium 108、V8 10.8、Node.js 16.17.1へのアップグレードが含まれています。詳細は以下をお読みください!


Electronチームは、Electron 22.0.0のリリースを発表できることを嬉しく思います!npm install electron@latestでnpmを使用してインストールするか、当社のリリースウェブサイトからダウンロードできます。このリリースに関する詳細は、読み進めてください。

ご意見がありましたら、Twitterでお知らせいただくか、コミュニティDiscordにご参加ください!バグや機能リクエストは、Electronのイシュートラッカーで報告できます。

注目すべき変更点

スタックの変更点

ハイライトされた機能

UtilityProcess API #36089

新しいUtilityProcessメインプロセスモジュールを使用すると、Node.js統合のみの軽量なChromium子プロセスを作成し、MessageChannelを使用してサンドボックス化されたレンダラーと通信することができます。このAPIはNode.jsのchild_process.forkに基づいて設計されており、移行を容易にするために設計されています。主な違いは1つで、エントリポイントmodulePathはパッケージ化されたアプリケーション内にある必要があり、信頼できるスクリプトのみがロードされるようにするためです。さらに、このモジュールはデフォルトでレンダラーとの通信チャネルの確立を防ぎ、メインプロセスがアプリケーションで唯一の信頼できるプロセスであるという契約を維持します。

当社のドキュメントで新しいUtilityProcess APIの詳細を読むことができます。

Windows 7/8/8.1サポートのアップデート

情報

2023/02/16: Windows Server 2012サポートに関するアップデート

先月、GoogleはChrome 109がWindows Server 2012およびWindows Server 2012 R2に対して2023年10月10日まで重要なセキュリティ修正を受け続けることを発表しました。それに従い、Electron 22(Chromium 108)の計画されている寿命終了日は、2023年5月30日から2023年10月10日に延長されます。Electronチームは、2023年10月10日まで、このプログラムの一部であるセキュリティ修正をElectron 22にバックポートし続けます。

Windows 7/8/8.1に対しては、追加のセキュリティ修正を行わないことにご注意ください。また、Electron 23(Chromium 110)は、以前発表したとおり、Windows 10以降でのみ動作します。

Electron 22は、Windows 7/8/8.1をサポートする最後のElectronメジャーバージョンになります。Electronは計画されたChromiumの非推奨ポリシーに従い、Chromium 109でWindows 7/8/8.1のサポートを廃止する予定です(詳細はこちら)。

Windows 7/8/8.1は、Electron 23以降のメジャーリリースではサポートされません。

その他のハイライトされた変更点

  • LinuxとWindowsでWeb Bluetooth PINペアリングのサポートを追加しました。#35416
  • LoadBrowserProcessSpecificV8Snapshotを新しいヒューズとして追加しました。これにより、メイン/ブラウザプロセスはbrowser_v8_context_snapshot.binのファイルからそのv8スナップショットをロードできます。他のプロセスは、現在使用されているものと同じパスを使用します。#35266
  • ウィンドウオープナーにアクセスするためのWebContents.openerと、WebFrameMainインスタンスに対応するWebContentsを取得するためのwebContents.fromFrame(frame)を追加しました。#35140
  • 新しいセッションハンドラーses.setDisplayMediaRequestHandlerを介してnavigator.mediaDevices.getDisplayMediaのサポートを追加しました。#30702

破壊的なAPIの変更点

以下は、Electron 22で導入された破壊的変更です。これらの変更と今後の変更については、計画されている破壊的変更ページで詳細を読むことができます。

非推奨: webContents.incrementCapturerCount(stayHidden, stayAwake)

webContents.incrementCapturerCount(stayHidden, stayAwake)は非推奨になりました。現在は、ページキャプチャが完了するとwebContents.capturePageによって自動的に処理されます。

const w = new BrowserWindow({ show: false })

- w.webContents.incrementCapturerCount()
- w.capturePage().then(image => {
- console.log(image.toDataURL())
- w.webContents.decrementCapturerCount()
- })

+ w.capturePage().then(image => {
+ console.log(image.toDataURL())
+ })

非推奨: webContents.decrementCapturerCount(stayHidden, stayAwake)

webContents.decrementCapturerCount(stayHidden, stayAwake)は非推奨になりました。現在は、ページキャプチャが完了するとwebContents.capturePageによって自動的に処理されます。

const w = new BrowserWindow({ show: false })

- w.webContents.incrementCapturerCount()
- w.capturePage().then(image => {
- console.log(image.toDataURL())
- w.webContents.decrementCapturerCount()
- })

+ w.capturePage().then(image => {
+ console.log(image.toDataURL())
+ })

削除: WebContents new-windowイベント

WebContentsのnew-windowイベントは削除されました。webContents.setWindowOpenHandler()に置き換えられました。

- webContents.on('new-window', (event) => {
- event.preventDefault()
- })

+ webContents.setWindowOpenHandler((details) => {
+ return { action: 'deny' }
+ })

非推奨: BrowserWindow scroll-touch-*イベント

BrowserWindowのscroll-touch-beginscroll-touch-endscroll-touch-edgeイベントは非推奨になりました。代わりに、WebContentsで新しく利用可能になったinput-eventイベントを使用してください。

// Deprecated
- win.on('scroll-touch-begin', scrollTouchBegin)
- win.on('scroll-touch-edge', scrollTouchEdge)
- win.on('scroll-touch-end', scrollTouchEnd)

// Replace with
+ win.webContents.on('input-event', (_, event) => {
+ if (event.type === 'gestureScrollBegin') {
+ scrollTouchBegin()
+ } else if (event.type === 'gestureScrollUpdate') {
+ scrollTouchEdge()
+ } else if (event.type === 'gestureScrollEnd') {
+ scrollTouchEnd()
+ }
+ })

19.x.yのサポート終了

プロジェクトのサポートポリシーに従って、Electron 19.x.yのサポートが終了しました。開発者とアプリケーションは、新しいバージョンのElectronへのアップグレードを推奨されています。

E19 (2022年5月)E20 (2022年8月)E21 (2022年9月)E22 (22年11月)E23 (2023年1月)
19.x.y20.x.y21.x.y22.x.y23.x.y
18.x.y19.x.y20.x.y21.x.y22.x.y
17.x.y18.x.y19.x.y20.x.y21.x.y

今後の予定

Electronプロジェクトは2022年12月を休止し、2023年1月に再開します。詳細は12月のシャットダウンブログ投稿をご覧ください。

短期的な展望としては、チームはChromium、Node、V8を含むElectronを構成する主要コンポーネントの開発に追いつくことに引き続き注力すると予想されます。

Electronのパブリックタイムラインはこちらでご覧いただけます。

今後の変更に関する詳細は、計画されている破壊的変更ページをご覧ください。

Electron 21.0.0

·読み時間3分

Electron 21.0.0がリリースされました!Chromium 106、V8 10.6、Node.js 16.16.0へのアップグレードが含まれています。詳細は以下をお読みください!


Electronチームは、Electron 21.0.0のリリースを発表できることを嬉しく思います!npm install electron@latestでnpmを使用してインストールするか、当社のリリースウェブサイトからダウンロードできます。このリリースに関する詳細は、読み進めてください。

ご意見がありましたら、Twitterでお知らせいただくか、コミュニティDiscordにご参加ください!バグや機能リクエストは、Electronのイシュートラッカーで報告できます。

注目すべき変更点

スタックの変更点

新機能

  • webFrameMain.originを追加しました。#35534
  • 新しいWebContents.ipcおよびWebFrameMain.ipcAPIを追加しました。#35231
  • パネルのような動作のサポートを追加しました。ウィンドウはフルスクリーンのアプリの上にフロートできます。#34388
  • macOSアプリのAPNsからのプッシュ通知のサポートを追加しました。#33574

破壊的変更とAPIの変更

以下は、Electron 21で導入された破壊的変更です。

V8メモリケージ有効化

Electron 21は、ChromeのChrome 103でも同様の決定が行われたことに続き、V8サンドボックス化ポインタを有効にします。これには、ネイティブモジュールにいくつかの影響があります。この機能には、パフォーマンスとセキュリティ上の利点がありますが、ネイティブモジュールに新しい制限も課します(例:外部(「ヒープ外」)メモリを指すArrayBuffersの使用)。詳細については、このブログ投稿を参照してください。#34724

webContents.printToPDFのリファクタリング

Chromiumのヘッドレス実装に合わせてwebContents.printToPDFをリファクタリングしました。詳細は#33654を参照してください。

これらの変更と今後の変更に関する詳細は、計画されている破壊的変更ページをご覧ください。

18.x.yのサポート終了

プロジェクトのサポートポリシーに従って、Electron 18.x.yのサポートが終了しました。開発者とアプリケーションは、新しいバージョンのElectronへのアップグレードを推奨されています。

E18 (2022年3月)E19 (2022年5月)E20 (2022年8月)E21 (2022年9月)E22 (2022年12月)
18.x.y19.x.y20.x.y21.x.y22.x.y
17.x.y18.x.y19.x.y20.x.y21.x.y
16.x.y17.x.y18.x.y19.x.y20.x.y

今後の予定

短期的な展望としては、チームはChromium、Node、V8を含むElectronを構成する主要コンポーネントの開発に追いつくことに引き続き注力すると予想されます。

Electronのパブリックタイムラインはこちらでご覧いただけます。

今後の変更に関する詳細は、計画されている破壊的変更ページをご覧ください。

Electron 20.0.0

·閲覧時間:4分

Electron 20.0.0がリリースされました!Chromium 104、V8 10.4、Node.js 16.15.0へのアップグレードが含まれています。詳細については以下をお読みください!


Electronチームは、Electron 20.0.0のリリースを発表できることを嬉しく思います!npm install electron@latestでnpmを使用してインストールするか、当社のリリースウェブサイトからダウンロードできます。このリリースに関する詳細については読み進めていただき、フィードバックがあれば共有してください!

注目すべき変更点

新機能

  • Windowsで没入型ダークモードを追加しました。#34549
  • パネルのような動作のサポートを追加しました。ウィンドウは全画面表示アプリの上にフロート表示できます。#34665
  • Windows 11でよりネイティブな外観と感触になるように、Windowsコントロールオーバーレイボタンを更新しました。#34888
  • nodeIntegration: trueまたはsandbox: falseを指定しない限り、レンダラーはデフォルトでサンドボックス化されます。#35125
  • nanを使用してネイティブモジュールをビルドする際の安全対策を追加しました。#35160

スタックの変更点

破壊的変更とAPIの変更

以下は、Electron 20で導入された破壊的変更です。これらと今後の変更に関する詳細は、計画されている破壊的変更ページにあります。

デフォルトの変更:nodeIntegration: trueがないレンダラーは、デフォルトでサンドボックス化されます

以前は、プリロードスクリプトを指定したレンダラーは、デフォルトでサンドボックス化されていませんでした。これは、デフォルトでプリロードスクリプトがNode.jsにアクセスできることを意味していました。Electron 20では、このデフォルトが変更されました。Electron 20以降、nodeIntegration: trueまたはsandbox: falseを指定しない限り、レンダラーはデフォルトでサンドボックス化されます。

プリロードスクリプトがNodeに依存していない場合は、何もする必要はありません。プリロードスクリプトがNodeに依存する場合は、レンダラーからNodeの使用を削除するようにリファクタリングするか、関連するレンダラーに対してsandbox: falseを明示的に指定してください。

修正済み:nanネイティブモジュールでの突然のクラッシュ

Electron 20では、ネイティブモジュールに関連する2つの項目を変更しました。

  1. V8ヘッダーは、デフォルトでc++17を使用するようになりました。このフラグはelectron-rebuildに追加されました。
  2. インクルードファイルの欠落が、nanに依存するネイティブモジュールで突然のクラッシュを引き起こす問題を修正しました。

最高の安定性を得るには、特にnanに依存するモジュールを再ビルドする際に、node-gyp >=8.4.0およびelectron-rebuild >=3.2.9を使用することをお勧めします。詳細については、electron #35160およびnode-gyp #2497を参照してください。

削除済み:Linuxの.skipTaskbar

X11では、skipTaskbar_NET_WM_STATE_SKIP_TASKBARメッセージをX11ウィンドウマネージャーに送信します。Waylandには直接的な同等物がなく、既知の回避策には受け入れられないトレードオフがあります(例:GNOMEのWindow.is_skip_taskbarには安全でないモードが必要です)。そのため、ElectronはLinuxでこの機能をサポートできません。

17.x.yのサポート終了

プロジェクトのサポートポリシーに従って、Electron 17.x.yのサポートが終了しました。開発者とアプリケーションは、新しいバージョンのElectronにアップグレードすることをお勧めします。

E18 (2022年3月)E19 (2022年5月)E20 (2022年8月)E21 (2022年9月)E22 (2022年12月)
18.x.y19.x.y20.x.y21.x.y22.x.y
17.x.y18.x.y19.x.y20.x.y21.x.y
16.x.y17.x.y18.x.y19.x.y20.x.y
15.x.y--------

今後の予定

短期的に、チームはChromium、Node、V8を含むElectronを構成する主要コンポーネントの開発を継続することに重点を置く予定です。リリース日については約束をしないように注意していますが、これらのコンポーネントの新しいバージョンを含むElectronの新しいメジャーバージョンのリリースを約2か月ごとにリリースする予定です。

Electronのパブリックタイムラインはこちらでご覧いただけます。

今後の変更に関する詳細は、計画されている破壊的変更ページをご覧ください。

Electron 19.0.0

·読み時間3分

Electron 19.0.0がリリースされました!Chromium 102、V8 10.2、Node.js 16.14.2へのアップグレードが含まれています。詳細については以下をお読みください!


Electronチームは、Electron 19.0.0のリリースを発表できることを嬉しく思います!npm install electron@latestでnpmを使用してインストールするか、当社のリリースウェブサイトからダウンロードできます。このリリースに関する詳細については読み進めていただき、フィードバックがあれば共有してください!

注目すべき変更点

Electronリリース頻度の変更

プロジェクトは、最新の3つのメジャーバージョンをサポートするという以前のポリシーに戻ります。バージョニングに関するドキュメントで、Electronのバージョニングとサポートに関する詳細情報をご覧ください。これは、Electron 15で開始された新しいリリース頻度にユーザーが適応するのを支援するために、一時的に4つのメジャーバージョンでした。詳細はこちらをご覧ください。

スタックの変更点

破壊的変更とAPIの変更

以下は、Electron 19で導入された破壊的変更です。これらと今後の変更に関する詳細は、計画されている破壊的変更ページにあります。

Linuxでサポートされません:.skipTaskbar

BrowserWindowコンストラクターオプションskipTaskbarは、Linuxではもはやサポートされていません。#33226で変更されました。

削除済み:WebPreferences.preloadURL

準公式ドキュメント化されていたpreloadURLプロパティがWebPreferencesから削除されました。#33228。代わりにWebPreferences.preloadを使用する必要があります。

15.x.yと16.x.yのサポート終了

Electron 14.x.yと15.x.yのサポートは両方とも終了しました。これにより、以前のポリシーに戻り、最新の3つのメジャーバージョンをサポートします。既存のポリシーに従って、開発者とアプリケーションは新しいバージョンのElectronにアップグレードすることをお勧めします。

E15 (2021年9月)E16 (2021年11月)E17 (2022年2月)E18 (2022年3月)E19 (2022年5月)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

今後の予定

短期的に、チームはChromium、Node、V8を含むElectronを構成する主要コンポーネントの開発を継続することに重点を置く予定です。リリース日については約束をしないように注意していますが、これらのコンポーネントの新しいバージョンを含むElectronの新しいメジャーバージョンのリリースを約2か月ごとにリリースする予定です。

Electronのパブリックタイムラインはこちらでご覧いただけます。

今後の変更に関する詳細は、計画されている破壊的変更ページをご覧ください。

Electron 18.0.0

·読み時間3分

Electron 18.0.0がリリースされました!Chromium 100、V8 10.0、Node.js 16.13.2へのアップグレードが含まれています。詳細については以下をお読みください!


Electronチームは、Electron 18.0.0のリリースを発表できることを嬉しく思います!npm install electron@latestでnpmを使用してインストールするか、当社のリリースウェブサイトからダウンロードできます。このリリースに関する詳細については読み進めていただき、フィードバックがあれば共有してください!

注目すべき変更点

Electronリリース頻度の変更

Electron 15以降、Electronは8週間ごとに新しいメジャー安定版をリリースします。詳細はこちらをご覧ください。

さらに、Electronは、2022年5月までサポート対象バージョンを最新の3バージョンから最新の4バージョンに変更しました。バージョニングに関するドキュメントで、Electronのバージョニングに関する詳細情報をご覧ください。2022年5月以降、最新の3バージョンをサポートすることに戻ります。

スタックの変更点

ハイライトされた機能

  • コードキャッシュディレクトリを設定するためのses.setCodeCachePath() APIを追加しました。#33286
  • window.openの古いBrowserWindowProxyベースの実装を削除しました。これにより、webPreferencesからnativeWindowOpenオプションも削除されます。#29405
  • WebContentsに「focus」と「blur」イベントを追加しました。#25873
  • macOSに置換メニューロールを追加しました:showSubstitutionstoggleSmartQuotestoggleSmartDashestoggleTextReplacement#32024
  • app.requestSingleInstanceLock()フローにfirst-instance-ackイベントを追加し、ユーザーが最初のインスタンスから2番目のインスタンスにシームレスにデータを送信できるようにしました。#31460
  • setBackgroundColorでより多くのカラーフォーマットをサポートしました。#33364

新機能と変更の完全なリストについては、18.0.0リリースノートを参照してください。

破壊的変更とAPIの変更

以下は、Electron 18で導入された破壊的変更です。これらと今後の変更に関する詳細は、計画されている破壊的変更ページにあります。

削除済み:nativeWindowOpen

Electron 15より前、window.openはデフォルトでBrowserWindowProxyを使用するようにシム化されていました。これは、window.open('about:blank')が同期的にスクリプト可能な子ウィンドウを開く際に動作しなかったことなど、いくつかの互換性の問題がありました。Electron 15以降、nativeWindowOpenはデフォルトで有効になっています。

詳細については、Electronのwindow.openのドキュメントを参照してください。#29405で削除されました。

14.x.yのサポート終了

プロジェクトのサポートポリシーに従って、Electron 14.x.yはサポート終了となりました。開発者とアプリケーションは、新しいバージョンのElectronへのアップグレードを推奨します。

Electron 15以降、サポート対象バージョンを最新の3バージョンから最新の4バージョンに変更しました(2022年5月、Electron 19まで)。Electron 19以降は、最新の3バージョンへのサポートに戻ります。このバージョンサポートの変更は、新しいリリースサイクル変更の一部です。詳細はこちらのブログ記事をご覧ください

E15 (2021年9月)E16 (2021年11月)E17 (2022年2月)E18 (2022年3月)E19 (2022年5月)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

今後の予定

短期的に、チームはChromium、Node、V8を含むElectronを構成する主要コンポーネントの開発を継続することに重点を置く予定です。リリース日については約束をしないように注意していますが、これらのコンポーネントの新しいバージョンを含むElectronの新しいメジャーバージョンのリリースを約2か月ごとにリリースする予定です。

Electronのパブリックタイムラインはこちらでご覧いただけます。

今後の変更に関する詳細は、計画されている破壊的変更ページをご覧ください。

Electron 17.0.0

読み時間3分

Electron 17.0.0がリリースされました!Chromium 98、V8 9.8、Node.js 16.13.0へのアップグレードが含まれています。詳細については下記をご覧ください!


Electronチームは、Electron 17.0.0のリリースを発表できることを嬉しく思います!npm install electron@latestでnpmを使用してインストールするか、当社のリリースウェブサイトからダウンロードできます。このリリースに関する詳細については、読み進めていただき、フィードバックをお寄せください!

注目すべき変更点

Electronリリース頻度の変更

Electron 15以降、Electronは8週間ごとに新しいメジャー安定版をリリースします。詳細はこちらをご覧ください。

さらに、Electronは、2022年5月までサポート対象バージョンを最新の3バージョンから最新の4バージョンに変更しました。バージョニングに関するドキュメントで、Electronのバージョニングに関する詳細情報をご覧ください。2022年5月以降、最新の3バージョンをサポートすることに戻ります。

スタックの変更点

ハイライトされた機能

  • webContents.getMediaSourceId()を追加しました。getUserMediaと共に使用して、WebContentsのストリームを取得できます。#31204
  • webContents.getPrinters()を非推奨とし、webContents.getPrintersAsync()を導入しました。#31023
  • desktopCapturer.getSourcesは、メインプロセスでのみ使用可能になりました。#30720

新機能と変更点の完全なリストについては、17.0.0リリースノートを参照してください。

破壊的変更

以下は、Electron 17で導入された破壊的変更です。これらと今後の変更に関する詳細情報は、計画されている破壊的変更ページにあります。

レンダラーでのdesktopCapturer.getSources

desktopCapturer.getSources APIは、メインプロセスでのみ使用可能になりました。これは、Electronアプリのデフォルトのセキュリティを向上させるために変更されました。

APIの変更

Electron 17ではAPIの変更はありませんでした。

削除/非推奨の変更

  • レンダラーでのdesktopCapturer.getSources APIの使用は削除されました。アプリでこのAPIを置き換える方法の詳細については、こちらを参照してください。

13.x.yのサポート終了

プロジェクトのサポートポリシーに従って、Electron 13.x.yはサポート終了となりました。開発者とアプリケーションは、新しいバージョンのElectronへのアップグレードを推奨します。

Electron 15以降、サポート対象バージョンを最新の3バージョンから最新の4バージョンに変更しました(2022年5月、Electron 19まで)。Electron 19以降は、最新の3バージョンへのサポートに戻ります。このバージョンサポートの変更は、新しいリリースサイクル変更の一部です。詳細はこちらのブログ記事をご覧ください

E15 (2021年9月)E16 (2021年11月)E17 (2022年2月)E18 (2022年3月)E19 (2022年5月)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

今後の予定

短期的に、チームはChromium、Node、V8を含むElectronを構成する主要コンポーネントの開発を継続することに重点を置く予定です。リリース日については約束をしないように注意していますが、これらのコンポーネントの新しいバージョンを含むElectronの新しいメジャーバージョンのリリースを約2か月ごとにリリースする予定です。

Electronのパブリックタイムラインはこちらでご覧いただけます。

今後の変更に関する詳細は、計画されている破壊的変更ページをご覧ください。

Electron 16.0.0

閲覧時間:4分

Electron 16.0.0がリリースされました!Chromium 96、V8 9.6、Node.js 16.9.1へのアップグレードが含まれています。詳細については下記をご覧ください!


Electronチームは、Electron 16.0.0のリリースを発表できることを嬉しく思います!npm install electron@latestでnpmを使用してインストールするか、当社のリリースウェブサイトからダウンロードできます。このリリースに関する詳細については、読み進めていただき、フィードバックをお寄せください!

注目すべき変更点

Electronリリース頻度の変更

Electron 15以降、Electronは8週間ごとに新しいメジャー安定版をリリースします。詳細はこちらをご覧ください。

さらに、Electronは、2022年5月までサポート対象バージョンを最新の3バージョンから最新の4バージョンに変更しました。バージョニングに関するドキュメントで、Electronのバージョニングに関する詳細情報をご覧ください。2022年5月以降、最新の3バージョンをサポートすることに戻ります。

スタックの変更点

ハイライトされた機能

  • これでWebHID APIをサポートします。#30213
  • インスタンス間でデータを共有するために、app.requestSingleInstanceLockにdataパラメータを追加しました。#30891
  • メディアパーミッションリクエストハンドラーにsecurityOriginを渡します。#31357
  • commandLine.removeSwitchを追加しました。#30933

新機能と変更点の完全なリストについては、16.0.0リリースノートを参照してください。

破壊的変更

以下は、Electron 16で導入された破壊的変更です。これらと今後の変更に関する詳細情報は、計画されている破壊的変更ページにあります。

ネイティブモジュールのビルド

プロジェクトでnode-gypを使用してネイティブモジュールをビルドする場合は、プロジェクトの設定とElectronのバージョンによっては、--force-process-configを使用して呼び出す必要がある場合があります。この変更に関する詳細情報は、#2497にあります。

動作の変更:LinuxでのcrashReporterの実装がCrashpadに変更されました

LinuxでのcrashReporter APIの基本的な実装がBreakpadからCrashpadに変更され、WindowsとMacと一致します。その結果、子プロセスは自動的に監視されるようになり、Node子プロセスでprocess.crashReporter.startを呼び出す必要がなくなりました(2番目のCrashpadレポーターインスタンスが開始されるため、推奨されません)。

Linuxでのアノテーションの報告方法にも微妙な変更があります。具体的には、長い値が__1__2などで追加されたアノテーション間で分割されなくなり、代わりに(新しい、より長い)アノテーション値の制限で切り捨てられるようになりました。

APIの変更

Electron 16ではAPIの変更はありませんでした。

削除/非推奨の変更

  • レンダラーでのdesktopCapturer.getSources APIの使用は非推奨となり、削除される予定です。この変更により、Electronアプリのデフォルトのセキュリティが向上します。こちらで、アプリでこのAPIを置き換える方法の詳細を確認できます。

12.x.yのサポート終了

プロジェクトのサポートポリシーに従って、Electron 12.x.yはサポート終了となりました。開発者とアプリケーションは、新しいバージョンのElectronへのアップグレードを推奨します。

Electron 15以降、サポート対象バージョンを最新の3バージョンから最新の4バージョンに変更しました(2022年5月、Electron 19まで)。Electron 19以降は、最新の3バージョンへのサポートに戻ります。このバージョンサポートの変更は、新しいリリースサイクル変更の一部です。詳細はこちらのブログ記事をご覧ください

E15 (2021年9月)E16 (2021年11月)E17 (2022年2月)E18 (2022年3月)E19 (2022年5月)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

今後の予定

短期的に、チームはChromium、Node、V8を含むElectronを構成する主要コンポーネントの開発を継続することに重点を置く予定です。リリース日については約束をしないように注意していますが、これらのコンポーネントの新しいバージョンを含むElectronの新しいメジャーバージョンのリリースを約2か月ごとにリリースする予定です。

Electronのパブリックタイムラインはこちらでご覧いただけます。

今後の変更に関する詳細は、計画されている破壊的変更ページをご覧ください。

Electron 15.0.0

閲覧時間:4分

Electron 15.0.0がリリースされました!Chromium 94、V8 9.4、Node.js 16.5.0へのアップグレードが含まれています。APIの更新(window.open)、バグ修正、および一般的な改善が加えられました。詳細については下記をご覧ください!


Electronチームは、Electron 15.0.0のリリースを発表できることを嬉しく思います!npm install electron@latestでnpmを使用してインストールするか、当社のリリースウェブサイトからダウンロードできます。このリリースに関する詳細については、読み進めていただき、フィードバックをお寄せください!

注目すべき変更点

Electronリリース頻度の変更

Electron 15以降、Electronは8週間ごとに新しいメジャー安定版をリリースします。詳細はこちらをご覧ください

さらに、Electronは、2022年5月まで、サポート対象バージョンを最新の3バージョンから最新の4バージョンに変更します。Electronのバージョニングに関する詳細情報については、バージョニングドキュメントを参照してください

スタックの変更点

注目機能

  • nativeWindowOpen: trueは実験的ではなくなり、デフォルトになりました。
  • safeStorage文字列暗号化APIを追加しました。#30430
  • ページでフレームが作成されると発行されるWebContentsに 'frame-created' イベントを追加しました。#30801
  • BrowserWindowwill-resizeイベントにサイズ変更edge情報が追加されました。#29199

新機能と変更点の完全なリストについては、15.0.0リリースノートを参照してください。

破壊的変更

以下は、Electron 15で導入された破壊的変更です。これらと今後の変更に関する詳細情報は、計画されている破壊的変更ページにあります。

デフォルトの変更:nativeWindowOpenのデフォルトがtrueに

Electron 15より前は、window.openはデフォルトでBrowserWindowProxyを使用してシムされていました。つまり、window.open('about:blank')は、同期的にスクリプト可能な子ウィンドウを開くために機能せず、その他にも非互換性がありました。nativeWindowOpen: trueは実験的ではなくなり、デフォルトになりました。

詳細については、Electronのwindow.openのドキュメントを参照してください。

APIの変更

  • ページでフレームが作成されると発行されるWebContentsに 'frame-created' イベントを追加しました。#30801
  • safeStorage文字列暗号化APIを追加しました。#30430
  • dialog.showMessageBoxsignalオプションを追加しました。#26102
  • アプリケーションがロードするapp.asarファイルに対するコード署名を強制するためのElectron Fuseを追加しました。最新のasarモジュール(v3.1.0以上)が必要です。#30900
  • パッケージ化されたアプリでNODE_OPTIONS--inspectデバッグ引数を無効にするためのFuseを追加しました。#30420
  • ユーザーが割り当てたmacOSアクセラレータのオーバーライドを読み取るための新しいMenuItem.userAcceleratorプロパティを追加しました。#26682
  • Apple Silicon上のRosetta、またはARM用Windows上のWOWで実行されているかどうかを検出するための新しいapp.runningUnderARM64Translationプロパティを追加しました。#29168
  • 画像のアニメーション方法を制御するための新しいimageAnimationPolicy Webプリファレンスを追加しました。#29095
  • コンテキストブリッジを介したBlobの送信をサポートしました。#29247

削除/非推奨の変更

削除または非推奨になったAPIはありません。

サポートされているバージョン

Electron 15以降、サポートされるバージョンを最新の3バージョンから最新の4バージョンに変更します(2022年5月、Electron 19まで)。Electron 19以降は、最新の3バージョンへのサポートに戻ります。このバージョンサポートの変更は、新しいリリースサイクル変更の一部です。ブログ記事で詳細をご覧ください

開発者とアプリケーションは、新しいバージョンのElectronへのアップグレードを推奨されます。

E15 (2021年9月)E16 (2021年11月)E17 (2022年2月)E18 (2022年3月)E19 (2022年5月)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

今後の予定

短期的に、Chromium、Node.js、V8を含むElectronを構成する主要コンポーネントの開発を継続することに重点を置く予定です。リリース日に関する約束は慎重に行いますが、これらのコンポーネントの新しいバージョンを含むElectronの新しいメジャーバージョンのリリースを四半期ごとに計画しています。

Electronのパブリックタイムラインはこちらでご覧いただけます。

今後の変更に関する詳細は、計画されている破壊的変更ページをご覧ください。

Electron 14.0.0

·読了時間6分

Electron 14.0.0がリリースされました!Chromium 93とV8 9.3へのアップグレードが含まれています。いくつかのAPI更新、バグ修正、および一般的な改善を追加しました。詳細は以下をご覧ください!


Electronチームは、Electron 14.0.0のリリースを発表できることを嬉しく思います!npm install electron@latestでnpmを使用してインストールするか、リリースウェブサイトからダウンロードできます。このリリースに関する詳細については読み進めてください。フィードバックがあれば共有してください!

注目すべき変更点

Electronリリース頻度の変更

2021年9月、Electron 15から開始し、Electronは8週間ごとに新しいメジャー安定版をリリースします。詳細はこちらをご覧ください。Electron 15は2021年9月1日にベータ版を開始し、安定版は2021年9月21日にリリースされます。Electronのパブリックタイムラインはこちらをご覧ください。さらに、Electronはサポートされるバージョンを最新の3バージョンから最新の4バージョンに変更します(2022年5月まで)。Electronのバージョニングに関する詳細については、バージョニングドキュメントをご覧ください

スタックの変更点

注目機能

  • デフォルトの変更: nativeWindowOpenはデフォルトでtrueになりました。(ドキュメントを参照)
  • 子ウィンドウは、親ウィンドウからBrowserWindowの構築オプションを継承しなくなりました。#28550
  • セッション固有のデータのディスク上のパスを取得するための新しいsession.storagePath APIを追加しました。#28665
  • @electron/remoteで使用されるprocess.contextIdを追加しました。#28007
  • Electron Fuseの背後にある実験的なCookie暗号化サポートを追加しました。#29492

新機能と変更の完全なリストについては、14.0.0リリースノートを参照してください。

破壊的変更

以下は、Electron 14で導入された破壊的変更です。これらと将来の変更に関する詳細情報は、計画されている破壊的変更ページにあります。

削除済み: app.allowRendererProcessReuse

セキュリティ、パフォーマンス、保守性の向上のため、Chromiumのプロセスモデルにより密接に連携させる計画の一環として、app.allowRendererProcessReuseプロパティは削除されました。

詳細については、#18397を参照してください。

削除済み: Browser Windowのアフィニティ

セキュリティ、パフォーマンス、保守性の向上のため、Chromiumのプロセスモデルにより密接に連携させる計画の一環として、新しいBrowserWindowを構築する際のaffinityオプションは削除されました。

詳細については、#18397を参照してください。

APIの変更: window.open()

オプションパラメータframeNameは、ウィンドウのタイトルを設定しなくなりました。この動作は、windowNameパラメータについてネイティブドキュメントで説明されている仕様に従うようになりました。

このパラメータを使用してウィンドウのタイトルを設定していた場合は、代わりにwin.setTitle(title)メソッドを使用できます。

削除済み: worldSafeExecuteJavaScript

worldSafeExecuteJavaScriptは代替手段なしに削除されました。このプロパティが有効な状態でコードが動作することを確認してください。Electron 12以降、デフォルトで有効になっています。

webFrame.executeJavaScriptまたはwebFrame.executeJavaScriptInIsolatedWorldのいずれかを使用している場合、この変更の影響を受けます。これらのメソッドは同じ値渡しセマンティクスを使用するため、どちらかのメソッドによって返される値がContext Bridge APIでサポートされていることを確認する必要があります。

デフォルトの変更: nativeWindowOpenのデフォルトはtrueになりました

Electron 14より前は、window.openはデフォルトでBrowserWindowProxyを使用するようにシムされていました。これは、他の非互換性の中でも、window.open('about:blank')が同期的にスクリプト可能な子ウィンドウを開くために機能しなかったことを意味します。nativeWindowOpenは実験的ではなくなり、デフォルトになりました。

詳細については、Electronのwindow.openのドキュメントを参照してください。

削除済み: 親ウィンドウから継承するBrowserWindowConstructorOptions

Electron 14より前は、window.openで開かれたウィンドウは、transparentresizableなどのBrowserWindowコンストラクタオプションを親ウィンドウから継承していました。Electron 14から、この動作は削除され、ウィンドウは親からBrowserWindowコンストラクタオプションを継承しなくなりました。

代わりに、setWindowOpenHandlerを使用して新しいウィンドウのオプションを明示的に設定してください。

webContents.setWindowOpenHandler((details) => {
return {
action: 'allow',
overrideBrowserWindowOptions: {
// ...
},
};
});

削除済み: additionalFeatures

new-windowおよびdid-create-windowイベントのWebContentsの非推奨となったadditionalFeaturesプロパティは削除されました。new-windowは位置引数を使用するため、引数は存在しますが、常に空の配列[]になります。(注:new-windowイベント自体は既に非推奨となっており、setWindowOpenHandlerに置き換えられています)。ウィンドウ機能のベアナキーは、オプションオブジェクトで値trueを持つキーとして表示されるようになりました。

// Removed in Electron 14
// Triggered by window.open('...', '', 'my-key')
webContents.on('did-create-window', (window, details) => {
if (details.additionalFeatures.includes('my-key')) {
// ...
}
});

// Replace with
webContents.on('did-create-window', (window, details) => {
if (details.options['my-key']) {
// ...
}
});

削除済み: remoteモジュール

Electron 12で非推奨となったremoteモジュールは、Electron自体から削除され、個別のパッケージ@electron/remoteに抽出されました。@electron/remoteモジュールは、メインプロセスからレンダラプロセスにJavaScriptオブジェクトをブリッジします。これにより、レンダラプロセスで利用可能なかのように、メインプロセスのみのオブジェクトにアクセスできます。これはremoteモジュールの直接的な代替手段です。移行手順と参照については、モジュールのREADMEを参照してください。

APIの変更

  • ウィンドウがフォーカス可能かどうかを判断するためのBrowserWindow.isFocusable()メソッドを追加しました。#28642
  • WebFrameMain.visibilityStateインスタンスプロパティを追加しました。#28706
  • setWindowOpenHandlerで登録されたウィンドウオープンハンドラに渡されるdetailsオブジェクトにdispositionreferrerpostBodyを追加しました。#28518
  • @electron/remoteで使用されるprocess.contextIdを追加しました。#28007
  • Electron Fuseの背後にある実験的なCookie暗号化サポートを追加しました。#29492
  • webRequestリスナの詳細に対する不足していたresourceType変換を追加しました: fontpingcspReportmediawebSocket#30050
  • セッション固有のデータのディスク上のパスを取得するための新しいsession.storagePath APIを追加しました。#28665
  • macOSでWindowsコントロールオーバーレイのサポートを追加しました。#29986
  • --log-file=.../path/to/file.logを使用してChromiumのログをファイルに送信するサポートを追加しました。また、最初のJSティック中にコマンドラインスイッチを追加することで、JavaScriptからログを有効にすることも可能になりました。#29963
  • Node.js cryptoでdes-ede3暗号のサポートを追加しました。#27897
  • コンテキストブリッジオブジェクトを変更できるContextBridgeMutability機能を追加しました。#27348

削除/非推奨の変更

以下のAPIは削除されたか、非推奨になりました。

  • Electron 12で非推奨となったremoteモジュールは削除されました。#25734
  • 子ウィンドウは、親ウィンドウからBrowserWindowの構築オプションを継承しなくなりました。#28550
  • new-windowおよびdid-create-window WebContentsイベントから非推奨のadditionalFeaturesプロパティを削除しました。#28548
  • 非推奨のapp.allowRendererProcessReuseとBrowserWindowのaffinityオプションを削除しました。#26874
  • crashReporter.startsubmitURL オプションは、uploadToServer が false の場合、必須引数ではなくなりました。#28105

11.x.y のサポート終了

プロジェクトのサポートポリシーに従い、Electron 11.x.y のサポートは終了しました。開発者とアプリケーションは、新しいバージョンの Electron にアップグレードすることをお勧めします。

今後の予定

短期的に、Chromium、Node.js、V8を含むElectronを構成する主要コンポーネントの開発を継続することに重点を置く予定です。リリース日に関する約束は慎重に行いますが、これらのコンポーネントの新しいバージョンを含むElectronの新しいメジャーバージョンのリリースを四半期ごとに計画しています。

今後の Electron バージョンで予定されている破壊的変更については、予定されている破壊的変更を参照してください。