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

「Release」タグの付いた投稿41件

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

すべてのタグを表示

新しいElectronリリースサイクル

6 分で読めます

2021 年 9 月以降、Electron は 8 週間ごとに新しいメジャー安定版をリリースします。


2019 年、Electron は Chromium の 6 週間リリースサイクルに合わせて、12 週間リリースサイクルに移行しました。最近、Chrome と Microsoft の両方が、Electron の現在のリリースサイクルを再検討させる変更を発表しました。

  1. Chromium は、2021 年 9 月 21 日の Chrome 94 以降、4 週間ごとに新しいマイルストーンをリリースする予定です。このリリースサイクルでは、すべての更新されたセキュリティ修正を含む 8 週間ごとの新しい Extended Stable オプションも追加されます。

  2. Microsoft Store では、Chromium ベースのアプリは、2 つのメジャーバージョンよりも古くないことが要求されます。例として、リリースされた Chromium の最新メジャーバージョンが 85 の場合、Chromium に基づくすべてのブラウザは、少なくとも Chromium バージョン 83 以上である必要があります。この規則には、Electron アプリも含まれます。

2021 年 9 月以降、Electron は Chromium の 8 週間 Extended Stable リリースに合わせて、8 週間ごとに新しいメジャー安定版をリリースします

Chromium Extended Stable を使用した最初のリリースは、2021 年 9 月 21 日Electron 15 になります。

リリースサイクルの変更が他のダウンストリームアプリケーションに影響を与えることを認識しているため、できるだけ早く開発者コミュニティにお知らせしたいと考えました。2021年のリリーススケジュールについて詳しくは、以下をお読みください。

Electron 15:一時的なアルファ

当初の Electron 15 リリースは、Extended Stable バージョンではない(Chromium の Extended Stable バージョンは、偶数番号のバージョンに基づいています)バージョンを対象としていたため、元のターゲットリリース日を変更する必要がありました。ただし、Electron アプリは、Microsoft Store に受け入れられるためには、Chromium の最新の 2 つのメジャーバージョンを使用する必要があるため、2 つの Chromium バージョンを待つことはできませんでした。

これら 2 つの要件により、当社のチームはタイミングのジレンマに直面しました。Chromium M94 を含めるように Electron 15 を移動すると、アプリ開発者は Chromium の最初の Extended Stable バージョンを利用できるようになりますが、ベータから安定版へのサイクルがわずか 3 週間に短縮されます。

この切り替えを支援するために、Electron は、Electron 15 リリースでのみ、一時的なアルファビルドを提供します。このアルファビルドにより、開発者は、現在のナイトリービルドよりも安定したビルドで、Electron 15 リリースのテストと計画により多くの時間を費やすことができます。

アルファチャンネルビルドは、2021 年 7 月 20 日Electron 15 用に出荷されます。2021 年 9 月 1 日にベータ版リリースに移行し、2021 年 9 月 21 日に安定版リリースを目標とします。その後の Electron リリースにはアルファリリースはありません。

2021 年のリリース計画

以下は、2021 年の現在のリリーススケジュールです。

ElectronChromeアルファリリースベータリリース安定版リリース安定版サイクル(週間)
E13M91-2021-03-052021-05-2512
E14M93-2021-05-262021-08-3114
E15M942021-07-202021-09-012021-09-219 (アルファを含む)
E16M96-2021-09-222021-11-168
E17M98-2021-11-172022-02-0111

アルファチャンネルを追加すると、Electron 15 のリリース前の開発期間が 3 週間から 9 週間に延長されます。これは、新しい 8 週間サイクルに近くなり、Windows ストアの提出要件を満たしています。

アプリ開発者をさらに支援するために、2021 年の残りの期間から 2022 年 5 月まで、サポートされるバージョンポリシーを、Electron の最新 3 バージョンから最新 4 バージョンにも拡大します。つまり、アップグレードスケジュールをすぐに変更できない場合でも、古いバージョンの Electron はセキュリティアップデートと修正プログラムを受け取ります。

懸念事項への対処

このリリースサイクルの変更がスケジュールされるかなり前に、この投稿を公開する理由があります。リリースサイクルが速くなることで、Electron アプリに実際の影響があることを認識しています。その一部は、すでにメジャーリリースのペースが積極的だと感じている可能性があります。

一般的な懸念事項への対処を以下に試みました。

❓ なぜこの変更を行うのですか?12 週間のリリースサイクルを維持しないのはなぜですか?

Electron で最新バージョンの Chromium を提供するには、スケジュールを Chromium のスケジュールに合わせて調整する必要があります。Chromium のリリースサイクルに関する詳細については、こちらをご覧ください。

さらに、現在の12週間のリリースサイクルでは、Microsoft Storeの新しい提出要件に対応することができません。最新の安定版Electronを使用しているアプリでさえ、新しいセキュリティ要件の下では、約2週間の間アプリが拒否される可能性があります。

新しいChromiumのリリースには、新しい機能、バグ修正/セキュリティ修正、およびV8の改善が含まれています。アプリ開発者である皆様にこれらの変更をタイムリーに提供したいと考えており、安定版のリリース日は、Chromiumの安定版リリースごとに合わせる予定です。アプリ開発者の皆様は、以前よりも早く新しいChromiumおよびV8の機能と修正にアクセスできるようになります。

❓ 既存の12週間のリリーススケジュールはすでに速いペースです。チームはアップグレードを容易にするためにどのような対策を講じていますか?

リリース頻度を上げる利点の1つは、より小さいリリースになることです。Electronのメジャーバージョンをアップグレードするのが難しいことは理解しています。より小さなリリースでは、リリースごとに導入されるChromiumとNodeの主要な変更、および破壊的な変更が少なくなることを期待しています。

❓ 将来のElectronバージョンでアルファリリースは利用できますか?

現時点では、恒久的なアルファリリースをサポートする予定はありません。このアルファ版は、リリース期間が短縮された中で、開発者がより簡単にアップグレードできるように、Electron 15のみを対象としています。

❓ Electronはサポートされるバージョンの数を増やしますか?

Electron 19のリリースに伴い、2022年5月までは、サポートされるバージョンポリシーを最新の3バージョンから最新の4バージョンに拡張します。Electron 19がリリースされた後は、最新の3つのメジャーバージョン、およびベータ版とナイトリー版をサポートするという方針に戻ります。

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

ご質問はありますか?

📨 ご質問やご不明な点がございましたら、info@electronjs.orgまでメールでお問い合わせいただくか、Discordに参加してください。これは多くのアプリや開発者に影響を与える変更であり、皆様からのフィードバックは私たちにとって非常に重要です。皆様からのご意見をお待ちしております!

Electron 13.0.0

·3分で読めます

Electron 13.0.0がリリースされました!これには、Chromium 91およびV8 9.1へのアップグレードが含まれています。いくつかのAPIアップデート、バグ修正、および一般的な改善を追加しました。詳細については、以下をお読みください!


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

注目すべき変更点

スタックの変更点

ハイライト機能

  • 現在のレンダラーコンテキストでcontextIsolationが有効になっているかどうかを示すprocess.contextIsolatedプロパティを追加しました。#28252
  • セッション固有のデータのディスク上のパスを取得するための新しいsession.storagePath APIを追加しました。#28866
  • WebContentsnew-windowイベントを非推奨にしました。代わりにwebContents.setWindowOpenHandler()が使用されます。
  • @electron/remoteで使用されるprocess.contextIdを追加しました。#28251

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

破壊的な変更

  • window.open()のパラメータframeNameは、ウィンドウタイトルとして設定されなくなりました。#27481
  • session.setPermissionCheckHandler(handler)を変更して、handlerの最初のパラメータであるwebContentsnullにできるようにしました。#19903

これらの変更および今後の変更に関する詳細については、計画された破壊的な変更のページを参照してください。

APIの変更

  • BrowserWindowroundedCornersオプションを追加しました。#27572
  • セッション固有のデータのディスク上のパスを取得するための新しいsession.storagePath APIを追加しました。28866
  • コンテキストブリッジを介してDOM要素を渡すためのサポートを追加しました。#26776
  • サンドボックス化されたレンダラーにprocess.uptime()を追加しました。#26684
  • context-menuイベントの一部として発行されるパラメータに欠落しているフィールドを追加しました。#26788
  • Manifest V3拡張機能サービスワーカーの登録をサポートしました。
  • ServiceWorkersに「registration-completed」イベントを追加しました。#27562

削除/非推奨になった変更

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

  • WebContentsnew-windowイベントを非推奨にしました。代わりにwebContents.setWindowOpenHandler()が使用されます。

  • 非推奨になったshell.moveItemToTrash()を削除しました。#26723

  • 非推奨になった次のBrowserWindow拡張機能APIを削除しました

    • BrowserWindow.addExtension(path)
    • BrowserWindow.addDevToolsExtension(path)
    • BrowserWindow.removeExtension(name)
    • BrowserWindow.removeDevToolsExtension(name)
    • BrowserWindow.getExtensions()
    • BrowserWindow.getDevToolsExtensions()

    代わりにsession APIを使用してください

    • ses.loadExtension(path)
    • ses.removeExtension(extension_id)
    • ses.getAllExtensions()
  • 次のsystemPreferencesメソッドは非推奨になりました

    • systemPreferences.isDarkMode()
    • systemPreferences.isInvertedColorScheme()
    • systemPreferences.isHighContrastColorScheme()

    代わりに次のnativeThemeプロパティを使用してください

    • nativeTheme.shouldUseDarkColors
    • nativeTheme.shouldUseInvertedColorScheme
    • nativeTheme.shouldUseHighContrastColors

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

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

今後の予定

短期的には、チームがChromium、Node、V8を含むElectronを構成する主要コンポーネントの開発に引き続き注力していくことが予想されます。リリース日に関する約束は控えさせていただきますが、Electronの新しいメジャーバージョンを、これらのコンポーネントの新しいバージョンとともに、約四半期ごとにリリースする予定です。仮の14.0.0スケジュールには、Electron 14.0の開発ライフサイクルにおける重要な日付が示されています。また、Electronのバージョン管理の詳細については、バージョン管理ドキュメントを参照してください。

今後のElectronバージョンにおける計画された破壊的な変更については、計画された破壊的な変更ドキュメントを参照してください。

Electron 12.0.0

·5分で読めます

Electron 12.0.0がリリースされました!これには、Chromium 89、V8 8.9、およびNode.js 14.16へのアップグレードが含まれています。remoteモジュールへの変更、contextIsolationの新しいデフォルト値、新しいwebFrameMain API、および一般的な改善が追加されました。詳細については、以下をお読みください!


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

注目すべき変更点

スタックの変更点

ハイライト機能

  • ContextBridgeのexposeInMainWorldメソッドで、オブジェクト以外のAPIを公開できるようになりました。#26834
  • Node 12からNode 14にアップグレードしました。#23249
  • メインプロセスからWebContentsインスタンスのサブフレームにアクセスするための新しいwebFrameMain APIを追加しました。#25464
  • contextIsolationworldSafeExecuteJavaScriptのデフォルト値がtrueになりました。#27949 #27502

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

破壊的な変更

これらの変更および今後の変更に関する詳細については、計画された破壊的な変更のページを参照してください。

APIの変更

  • webFrameMain API を追加しました。webFrameMain モジュールを使用すると、既存の WebContents インスタンス間でフレームを検索できます。これは、既存の webFrame API のメインプロセス版です。この新しい API の詳細については、こちら、およびドキュメントを参照してください。
  • app API の変更
    • ローカライズされていない serviceName'child-process-gone' / app.getAppMetrics() に追加しました。#25975
    • Apple シリコンで Rosetta で実行されているかどうかを検出する新しい app.runningUnderRosettaTranslation プロパティを追加しました。#26444
    • render-process-gone の詳細 (app および webContents) に exitCode を追加しました。#27677
  • BrowserWindow API の変更
    • BrowserWindow.isTabletMode() API を追加しました。#25209
    • BrowserWindowresized (Windows/macOS) および moved (Windows) イベントを追加しました。#26216
    • システムコンテキストメニューを防止および上書きできる新しい system-context-menu イベントを追加しました。#25795
    • BrowserView を引き上げることができるように、win.setTopBrowserView() を追加しました。#27713
    • ドキュメントの最小サイズに従ってビューをサイズ変更できるように、webPreferences.preferredSizeMode を追加しました。#25874
  • contextBridge API の変更
    • ContextBridge の exposeInMainWorld メソッドでオブジェクト以外の API を公開できるようにしました。#26834
  • display API の変更
    • Windows でのリフレッシュレートに関する情報を取得できるように、Display オブジェクトに displayFrequency プロパティを追加しました。#26472
  • extensions API の変更
    • いくつかの chrome.management API のサポートを追加しました。#25098
  • MenuItem API の変更
    • macOS の共有メニューの表示のサポートを追加しました。#25629
  • net API の変更
    • net.request() の新しい credentials オプションを追加しました。#25284
    • インターネット接続が現在あるかどうかを検出するための net.online を追加しました。#21004
  • powerMonitor API の変更
    • powerMonitor.onBatteryPower を追加しました。#26494
    • macOS の powerMonitor に高速ユーザー切り替えイベントを追加しました。#25321
  • session API の変更
    • ses.loadExtension() API に allowFileAccess オプションを追加しました。#27702
    • session.setPermissionRequestHandlerdisplay-capture API を追加しました。#27696
    • session.setSSLConfigdisabledCipherSuites オプションを追加しました。#25818
    • sessionextension-loadedextension-unloaded、および extension-ready イベントを追加しました。#25385
    • SSL を構成できるように、session.setSSLConfig() を追加しました。#25461
    • session.setProxy()directauto_detect、または system モードを明示的に指定するサポートを追加しました。#24937
    • Serial API のサポートを追加しました。#25237
    • スペルチェッカーを有効/無効にする API を追加しました。#26276
  • shell API の変更
    • 同期 shell.moveItemToTrash() を置き換える、新しい非同期の shell.trashItem() API を追加しました。#25114
  • webContents API の変更
    • レンダラーのクラッシュをデバッグするのに役立つ小さなコンソールヒントをコンソールに追加しました。#25317
    • webRequest ハンドラーの詳細オブジェクトに frame および webContents プロパティを追加しました。#27334
    • ハングしたレンダラーの復旧を支援するために、レンダラープロセスを強制終了する webContents.forcefullyCrashRenderer() を追加しました。#25580
    • レンダラーで作成された子ウィンドウ用の setWindowOpenHandler API を追加し、new-window イベントを非推奨にしました。#24517
  • webFrame API の変更
    • スペルチェック API をレンダラーに追加しました。#25060

削除/非推奨になった変更

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

  • remoteモジュールを非推奨にしました。代わりに@electron/remoteが使用されます。#25293
  • 非推奨の crashReporter API を削除しました。#26709
  • パッケージ化されたアプリのデフォルトの「ヘルプ」メニューから Electron Web サイトへのリンクを削除しました。#25831

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

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

今後の予定

短期的には、チームは Chromium、Node、V8 を含む Electron を構成する主要コンポーネントの開発に対応することに引き続き注力します。リリース日についてはお約束できませんが、おおよそ四半期ごとにこれらのコンポーネントの新しいバージョンを含む Electron の新しいメジャーバージョンをリリースする予定です。暫定的な 13.0.0 スケジュールでは、Electron 13.0 の開発ライフサイクルの主要な日付が示されています。また、Electron のバージョン管理に関する詳細については、バージョン管理に関するドキュメントを参照してください。

今後のElectronバージョンにおける計画された破壊的な変更については、計画された破壊的な変更ドキュメントを参照してください。

Electron 11.0.0

·4分で読めます

Electron 11.0.0 がリリースされました!Chromium 87、V8 8.7、および Node.js 12.18.3 へのアップグレードが含まれています。Apple シリコンのサポートと一般的な改善が追加されています。詳細については、以下をお読みください!


Electron チームは、Electron 11.0.0 のリリースを発表できることを嬉しく思います!npm install electron@latest を使用して npm でインストールするか、リリース Web サイトからダウンロードできます。このリリースには、アップグレード、修正、Apple の M1 ハードウェアの新しいサポートが含まれています。

皆様がこれらを使ってどのようなものを構築されるか、楽しみにしています!このリリースに関する詳細については、引き続きお読みいただき、フィードバックをお寄せください!

注目すべき変更点

スタックの変更点

ハイライト機能

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

破壊的な変更

  • 実験的 API を削除しました:BrowserView.{fromId, fromWebContents, getAllViews} および BrowserViewid プロパティ。#23578

これらの変更および今後の変更に関する詳細については、計画された破壊的な変更のページを参照してください。

APIの変更

  • 特定のプロトコルを処理するアプリに関する詳細情報を返す app.getApplicationInfoForProtocol() API を追加しました。#24112
  • ファイルパスと最大サムネイルサイズを指定してファイルのプレビューイメージを返す app.createThumbnailFromPath() API を追加しました。#24802
  • ハングしたレンダラーの復旧を支援するために、レンダラープロセスを強制終了する webContents.forcefullyCrashRenderer() を追加しました。#25756

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

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

今後の予定

短期的には、Electronを構成する主要コンポーネントであるChromium、Node、V8の開発に引き続き注力します。リリース日については確約を避けますが、これらのコンポーネントの新しいバージョンに合わせて、Electronの新しいメジャーバージョンを四半期ごとにリリースする予定です。暫定的な12.0.0のスケジュールには、Electron 12.0の開発ライフサイクルにおける主要な日付が示されています。また、Electronのバージョン管理に関する詳細については、バージョン管理に関するドキュメントをご覧ください。

今後のElectronバージョンにおける計画された破壊的な変更については、計画された破壊的な変更ドキュメントを参照してください。

remoteモジュールの非推奨化に向けた継続的な取り組み

Electron 9remoteモジュールの削除作業を開始しました。Electron 14ではremoteモジュール自体を削除する予定です。

非推奨化の計画と詳細については、こちらのissueを参照してください。

ネイティブNodeモジュールをコンテキスト対応またはN-API対応とするための最終ステップ(Electron 12)

Electron 6以降、レンダラープロセスでロードされるネイティブNodeモジュールN-APIまたはコンテキスト対応のいずれかにすることを義務付けるための準備を進めてきました。この変更を強制することで、セキュリティの強化、パフォーマンスの向上、メンテナンス作業の軽減が可能になります。この計画の最終ステップとして、Electron 12でレンダラープロセスの再利用を無効にする機能を削除します。

提案されたタイムラインを含む詳細については、こちらのissueをご覧ください。

Electron 10.0.0

·5分で読めます

Electron 10.0.0がリリースされました!Chromium 85、V8 8.5、Node.js 12.16へのアップグレードが含まれています。いくつかの新しいAPI統合と改善も追加されています。詳細については以下をお読みください!


Electronチームは、Electron 10.0.0のリリースを発表できることを嬉しく思います!npm install electron@latestでnpmを使用してインストールするか、リリースウェブサイトからダウンロードできます。このリリースには、アップグレード、修正、新機能が満載です。

Electron 10のリリースでは、リリースノートにも変更を加えました。Electron 10で何が新しく、Electron 10と過去のリリース間で何が変わったかを簡単に判断できるように、Electron 10で導入され、過去のリリースにバックポートされた変更も含まれています。これにより、Electronをアップグレードする際に、アプリが新機能やバグ修正を見つけやすくなることを願っています。

皆様がこれらを使ってどのようなものを構築されるか、楽しみにしています!このリリースに関する詳細については、引き続きお読みいただき、フィードバックをお寄せください!

注目すべき変更点

スタックの変更点

ハイライト機能

  • contents.getBackgroundThrottling()メソッドとcontents.backgroundThrottlingプロパティを追加しました。[#21036]
  • メインプロセスでdesktopCapturerモジュールを公開しました。#23548
  • ses.isPersistent() APIを呼び出すことで、特定のsessionが永続的かどうかを確認できるようになりました。#22622
  • ネットワークIPアドレスの変更とICEが原因でRTCコールが接続されなかったネットワークの問題を解決しました。(Chromium issue 1113227)。#24998

新機能と変更点の完全なリストについては、10.0.0のリリースノートをご覧ください。

破壊的な変更

  • enableRemoteModuleのデフォルト値をfalseに変更しました。#22091
    • これは、remoteモジュールを非推奨化し、ユーザーランドに移動させるための計画の一部です。この理由の詳細と非推奨化の提案されたタイムラインについては、こちらのissueをご覧ください。
  • app.allowRendererProcessReuseのデフォルト値をtrueに変更しました。#22336 (また、Electron 9にも含まれています)
    • これにより、レンダラープロセスでコンテキストに対応していないネイティブモジュールがロードされなくなります。
    • この理由の詳細と非推奨化の提案されたタイムラインについては、こちらのissueをご覧ください。
  • OSのロケールが(アラビア語やヘブライ語のような)RTL言語に設定されている場合、macOSでのウィンドウボタンの位置を修正しました。フレームレスウィンドウアプリは、ウィンドウをスタイリングする際にこの変更を考慮する必要がある場合があります。#22016

これらの変更および今後の変更に関する詳細については、計画された破壊的な変更のページを参照してください。

APIの変更

  • セッション: ses.isPersistent() APIを呼び出すことで、特定のsessionが永続的かどうかを確認できるようになりました。#22622
  • コンテンツ: contents.getBackgroundThrottling()メソッドとcontents.backgroundThrottlingプロパティを追加しました。#21036

非推奨API

以下のAPIは非推奨または削除されました。

  • netLogの非推奨のcurrentlyLoggingPathプロパティを削除しました。また、netLog.stopLoggingは記録されたログへのパスを返さなくなりました。#22732
  • crashReporterでの非圧縮クラッシュアップロードを非推奨にしました。#23598

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

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

今後の予定

短期的には、Electronを構成する主要コンポーネントであるChromium、Node、V8の開発に引き続き注力します。リリース日については確約を避けますが、これらのコンポーネントの新しいバージョンに合わせて、Electronの新しいメジャーバージョンを四半期ごとにリリースする予定です。暫定的な11.0.0のスケジュールには、Electron 11.0の開発ライフサイクルにおける主要な日付が示されています。また、Electronのバージョン管理に関する詳細については、バージョン管理に関するドキュメントをご覧ください。

今後のElectronバージョンにおける計画された破壊的な変更については、計画された破壊的な変更ドキュメントを参照してください。

remoteモジュールの非推奨化に向けた継続的な取り組み(Electron 11)

Electron 9でremoteモジュールの削除作業を開始し、remoteモジュールを削除する計画を継続しています。Electron 11では、Electron 10で行ったように、WeakRefを実装するためのリファクタリング作業を継続する予定です。非推奨化の計画と詳細については、こちらのissueを参照してください。

ネイティブNodeモジュールをコンテキスト対応またはN-API対応とするための最終ステップ(Electron 12)

編集: 当初、このブログ記事では、Electron 11でレンダラープロセスの再利用を無効にすると述べていました。レンダラープロセスの再利用の無効化は、Electron 12に延期されました。

Electron 6以降、レンダラープロセスでロードされるネイティブNodeモジュールN-APIまたはコンテキスト対応のいずれかにすることを義務付けるための準備を進めてきました。この変更を強制することで、セキュリティの強化、パフォーマンスの向上、メンテナンス作業の軽減が可能になります。この計画の最終ステップとして、Electron 12でレンダラープロセスの再利用を無効にする機能を削除します。提案されたタイムラインを含む詳細については、こちらのissueをご覧ください。

Electron 9.0.0

·4分で読めます

Electron 9.0.0がリリースされました!Chromium 83、V8 8.3、Node.js 12.14へのアップグレードが含まれています。スペルチェッカー機能のためのいくつかの新しいAPI統合、PDFビューアーの有効化など、多くの機能が追加されました!


Electronチームは、Electron 9.0.0のリリースを発表できることを嬉しく思います!npm install electron@latestでnpmを使用してインストールするか、リリースウェブサイトからダウンロードできます。このリリースには、アップグレード、修正、新機能が満載です。皆様がこれを使ってどのようなものを作成されるか、楽しみにしています!このリリースに関する詳細については以下をお読みいただき、フィードバックをお寄せください!

注目すべき変更点

スタックの変更点

ハイライト機能

  • スペルチェッカー機能に複数の改善が加えられました。詳細については、#22128および#22368をご覧ください。
  • Linuxでのウィンドウイベントハンドラーの効率が向上しました。#23260
  • PDFビューアーを有効にしました。#22131

新機能と変更点の完全なリストについては、9.0.0のリリースノートをご覧ください。

破壊的な変更

  • enableRemoteModule: trueを使用せずにremoteを使用した場合の非推奨警告。#21546
    • これは、remoteモジュールを非推奨とし、ユーザーランドに移行させる計画の第一歩です。この理由の詳細や非推奨化の提案されたタイムラインについては、このIssueを参照してください。
  • app.enableRendererProcessReuseをデフォルトでtrueに設定します。#22336
    • これは、レンダラープロセスでロードされるネイティブNodeモジュールが、N-APIまたはContext Awareのいずれかであるという将来の要件に向けた継続的な取り組みです。詳細と提案されたタイムラインは、このIssueで説明されています。
  • 非JavaScriptオブジェクトをIPC経由で送信すると、例外が発生するようになりました。#21560
    • この動作はElectron 8.0で非推奨となりました。Electron 9.0では、古いシリアライズアルゴリズムが削除され、シリアライズできないオブジェクトを送信すると、「オブジェクトを複製できませんでした」というエラーが発生するようになります。

これらの変更および今後の変更に関する詳細については、計画された破壊的な変更のページを参照してください。

APIの変更

  • shell API の変更
    • shell.openItem APIが、非同期のshell.openPath APIに置き換えられました。提案
  • sessionAPIの変更
    • 辞書内のカスタム単語を一覧表示するsession.listWordsFromSpellCheckerDictionary APIが追加されました。#22128
    • 辞書内のカスタム単語を削除するsession.removeWordFromSpellCheckerDictionary APIが追加されました。#22368
    • 基本的なサービスワーカー情報にアクセスし、サービスワーカーからコンソールログを受信するsession.serviceWorkerContext APIが追加されました。#22313
  • app API の変更
    • アプリに強制的にフォーカスを移すための新しいforceパラメータが、macOSのapp.focus()に追加されました。#23447
  • BrowserWindow API の変更
    • BrowserWindowの一部のgetter/setterペアへのプロパティアクセスがサポートされました。#23208

非推奨API

以下のAPIは非推奨または削除されました。

  • shell.openItem APIは非推奨となり、非同期のshell.openPath APIに置き換えられました。
  • Electron 8.0で非推奨になった<webview>.getWebContentsが削除されました。
  • Electron 8.0で非推奨になったwebFrame.setLayoutZoomLevelLimitsが削除されました。

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

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

今後の予定

短期的には、チームはChromium、Node、V8など、Electronを構成する主要コンポーネントの開発に注力し続ける予定です。リリース日について約束はできませんが、これらのコンポーネントの新しいバージョンを搭載したElectronの新しいメジャーバージョンを、およそ四半期ごとにリリースする予定です。暫定的な10.0.0のスケジュールでは、Electron 10.0の開発ライフサイクルにおける主要な日付が示されています。また、Electronでのバージョン管理の詳細については、バージョン管理に関するドキュメントを参照してください。

今後のElectronバージョンにおける計画された破壊的な変更については、計画された破壊的な変更ドキュメントを参照してください。

contextIsolationのデフォルトをfalseからtrueに変更(Electron 10から)

contextIsolationがないと、レンダラープロセスで実行されているコードは、Electronの内部構造やアプリのプリロードスクリプトに簡単にアクセスできます。そのコードは、Electronが制限したい特権的な操作を実行することができます。

このデフォルトを変更することで、Electronアプリのデフォルトのセキュリティが向上し、アプリは意図的に安全でない動作を選択する必要があります。Electronは、Electron 10.0で現在のcontextIsolationのデフォルトを非推奨とし、Electron 12.0で新しいデフォルト(true)に変更します。

contextIsolationの詳細、簡単に有効にする方法、およびそのセキュリティ上の利点については、専用のContext Isolationドキュメントを参照してください。

Electron 8.0.0

·6 分で読めます

Electron 8.0.0がリリースされました!Chromium 80、V8 8.0、Node.js 12.13.0へのアップグレードが含まれています。Chromeに組み込まれたスペルチェッカーなど、多くの機能が追加されました!


Electronチームは、Electron 8.0.0のリリースを発表できることを嬉しく思います!npm install electron@latestでnpmを使ってインストールするか、リリースWebサイトからダウンロードできます。このリリースには、アップグレード、修正、新機能が満載です。皆様がこれらを使ってどのようなものを構築するのか、楽しみにしています!このリリースに関する詳細については、以下をお読みください。フィードバックがあれば、ぜひお寄せください!

注目すべき変更点

スタックの変更点

ハイライト機能

  • Chromeに組み込まれたスペルチェッカー機能の使用を実装しました。詳細については、#20692#21266を参照してください。
  • IPC通信でv8の構造化クローンアルゴリズムを使用するようになりました。これにより、既存のロジックよりも高速で機能が豊富になり、驚きが少なくなりました。また、大きなバッファや複雑なオブジェクトでは、2倍のパフォーマンス向上が実現します。小さなメッセージのレイテンシーは、大幅には影響を受けません。詳細については、#20214を参照してください。

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

破壊的な変更

  • コンテキスト対応モジュールの非推奨警告でモジュール名を表示します。#21952
    • これは、レンダラープロセスでロードされるネイティブNodeモジュールが、N-APIまたはContext Awareのいずれかであるという将来の要件に向けた継続的な取り組みです。詳細と提案されたタイムラインは、このIssueで説明されています。
  • IPC経由で送信される値が、構造化クローンアルゴリズムでシリアライズされるようになりました。#20214
  • オフスクリーンレンダリングは、この機能に取り組むメンテナーがいないため、現在無効になっています。Chromiumのアップグレード中に破損したため、その後無効になりました。#20772

これらの変更および今後の変更に関する詳細については、計画された破壊的な変更のページを参照してください。

APIの変更

  • app API の変更
    • app.getApplicationNameForProtocol(url)が追加されました。#20399
    • Windowsでapp.showAboutPanel()app.setAboutPanelOptions(options)のサポートが追加されました。#19420
  • BrowserWindow API の変更
    • BrowserWindowオプションhasShadowがすべてのプラットフォームで利用可能であることがドキュメントに追記されました。#20038
    • 交通信号ボタンのカスタム配置を可能にするtrafficLightPositionオプションがBrowserWindowオプションに追加されました。#21781
    • アクセシブルなウィンドウタイトルを設定するためのaccessibleTitleオプションがBrowserWindowに追加されました。#19698
    • BrowserWindow.fromWebContents()がnullを返すようになりました。#19983
    • BrowserWindow.getMediaSourceId()BrowserWindow.moveAbove(mediaSourceId)が追加されました。#18926
    • macOSでwill-moveイベントのサポートが追加されました。#19641
  • 以前は文書化されていなかったcrashReporter.getCrashesDirectory()が文書化されました。#20417
  • dialog APIの変更
    • dialog.showOpenDialogおよびdialog.showOpenDialogSyncdontAddToRecentプロパティが追加され、オープンダイアログでドキュメントがWindowsの最近使ったドキュメントに追加されないようにします。#19669
    • dialog.showSaveDialogおよびdialog.showSaveDialogSyncにプロパティのカスタマイズが追加されました。#19672
  • Notification APIの変更
    • Linux/Windowsユーザーが通知のタイムアウトの種類を設定できるように、timeoutTypeオプションが追加されました。#20153
    • Linux通知に緊急度を設定するurgencyオプションが追加されました。#20152
  • session API の変更
    • session.setProxy(config)およびsession.setCertificateVerifyProc(proc)のドキュメントが、オプションのオプションを記述するように更新されました。#19604
    • BrowserWindowなしでダウンロードを開始できるsession.downloadURL(url)が追加されました。#19889
    • session.preconnect(options)preconnectイベントを介したHTTPプリコネクトリソースヒントのサポートが追加されました。#18671
    • 辞書にカスタム単語を追加できるsession.addWordToSpellCheckerDictionaryが追加されました。#21297
  • shell.moveItemToTrash(fullPath[, deleteOnFail])に、moveItemToTrashが失敗した場合の動作を指定するオプションがmacOSに追加されました。#19700
  • systemPreferences APIの変更
    • macOSのsystemPreferences.getColor(color)のドキュメントが更新されました。#20611
    • systemPreferences.getMediaAccessStatus()screenメディアタイプが追加されました。#20764
  • アプリがChromiumとOSのテーマ選択をオーバーライドできるようにするnativeTheme.themeSourceが追加されました。#19960
  • TouchBar APIの変更
    • TouchBarButton/TouchBarLabelのアクセシビリティを向上させるために、TouchBarButtonTouchBarLabelaccessibilityLabelプロパティが追加されました。#20454
    • TouchBar関連のドキュメントが更新されました。#19444
  • tray APIの変更
    • tray.displayBalloon()に、iconTypelargeIconnoSoundrespectQuietTimeという新しいオプションが追加されました。#19544
    • すでに表示されているバルーン通知を削除するtray.removeBalloon()が追加されました。#19547
    • タスクバーの通知領域にフォーカスを戻すtray.focus()が追加されました。feat: add tray.focus() #19548
  • webContents API の変更
    • webContents APIでexecuteJavaScriptInIsolatedWorldを公開するために、contents.executeJavaScriptInIsolatedWorld(worldId, scripts[, userGesture])が追加されました。#21190
    • 非表示のwebContentsをキャプチャするメソッドが追加されました。#21679
    • webContents.print([options], [callback]) に、印刷ページのヘッダーとフッターをカスタマイズするためのオプションが追加されました。#19688
    • webContents.getAllSharedWorkers() および webContents.inspectSharedWorkerById(workerId) を使用して、特定の共有ワーカーを検査する機能が追加されました。#20389
    • WebContents.printToPDF() に fitToPageEnabled および scaleFactor オプションのサポートが追加されました。#20436
  • webview.printToPDF のドキュメントが更新され、戻り値の型が Uint8Array であることが示されました。#20505

非推奨API

以下の API は非推奨になりました。

  • 次のメジャーリリースバージョンでの削除に先立ち、BrowserWindow.setVisibleOnAllWorkspaces 内の機能しない visibleOnFullScreen オプションが非推奨になりました。#21732
  • macOS の systemPreferences.getColor(color)alternate-selected-control-text が非推奨になりました。#20611
  • Chromium がこの機能を削除したため、webContentswebFrame、および <webview> TagsetLayoutZoomLevelLimits が非推奨になりました。#21296
  • app.allowRendererProcessReuse のデフォルト値である false が非推奨になりました。#21287
  • リモートモジュールに依存しているため、<webview>.getWebContents() が非推奨になりました。#20726

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

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

アプリフィードバックプログラム

私たちは、テストのためにアプリフィードバックプログラムを引き続き利用しています。このプログラムに参加しているプロジェクトは、アプリで Electron ベータ版をテストします。そして、見つかった新しいバグは、安定版リリースで優先的に対応されます。参加または詳細を知りたい場合は、プログラムに関するブログ投稿をご覧ください。

今後の予定

短期的には、Electron を構成する主要コンポーネント(Chromium、Node、V8 など)の開発に遅れないようにチームが注力し続けることが期待できます。リリース日についての約束は慎重に避けていますが、Electron の新しいメジャーバージョンを、これらのコンポーネントの新しいバージョンとともに、四半期ごとにリリースする予定です。暫定的な 9.0.0 スケジュールは、Electron 9 の開発ライフサイクルの主要な日付をマッピングしています。また、Electron のバージョニングの詳細については、バージョン管理に関するドキュメントをご覧ください。

今後のElectronバージョンにおける計画された破壊的な変更については、計画された破壊的な変更ドキュメントを参照してください。

remote モジュールの非推奨化(Electron 9 以降)

重大なセキュリティ上の責任があるため、Electron 9 以降でremote モジュールの非推奨化を開始する計画を立てています。この理由の詳細と、非推奨化の提案されたタイムラインを含むこの問題を読んでフォローできます。

Electron 7.0.0

·3分で読めます

Electron 7.0.0 がリリースされました! Chromium 78、V8 7.8、および Node.js 12.8.1 へのアップグレードが含まれています。Arm 64 リリースでの Windows、高速 IPC メソッド、新しい nativeTheme API などが追加されています!


Electron チームは、Electron 7.0.0 のリリースを発表できることを嬉しく思います!npm を介して npm install electron@latest でインストールするか、リリースウェブサイトからダウンロードできます。このリリースには、アップグレード、修正、および新機能が満載されています。皆様がこれらの機能でどのようなものを構築するのか、楽しみにしています!このリリースの詳細については引き続きお読みいただき、ご意見をお寄せください!

注目すべき変更点

  • スタックのアップグレード

    スタックElectron 6 のバージョンElectron 7 のバージョン新機能
    Chromium76.0.3809.14678.0.3905.177, 78
    V87.67.87.7, 7.8
    Node.js12.4.012.8.112.5, 12.6, 12.7, 12.8, 12.8.1
  • Arm (64 bit) リリースでの Windows を追加しました。#18591#20112

  • 非同期のリクエスト/レスポンススタイルの IPC 用に ipcRenderer.invoke() および ipcMain.handle() を追加しました。これらは remote モジュールよりも強く推奨されます。詳細については、「Electron の ‘remote’ モジュールは有害とみなされる」ブログ投稿を参照してください。#18449

  • OS のテーマとカラースキームの変更を読み取って応答するための nativeTheme API を追加しました。#19758#20486

  • 新しい TypeScript 定義ジェネレーターに切り替えました。結果として得られる定義はより正確になります。したがって、TypeScript ビルドが失敗する場合は、これが原因である可能性が高くなります。#18103

変更点の詳細については、7.0.0 リリースノートを参照してください。

破壊的な変更

これらの変更と将来の変更に関する詳細については、計画された破壊的変更ページで確認できます。

  • 非推奨の API を削除しました
    • 現在 Promise を使用する関数のコールバックベースのバージョン。#17907
    • Tray.setHighlightMode() (macOS)。#18981
    • app.enableMixedSandbox() #17894
    • app.getApplicationMenu(),
    • app.setApplicationMenu(),
    • powerMonitor.querySystemIdleState(),
    • powerMonitor.querySystemIdleTime(),
    • webFrame.setIsolatedWorldContentSecurityPolicy(),
    • webFrame.setIsolatedWorldHumanReadableName(),
    • webFrame.setIsolatedWorldSecurityOrigin() #18159
  • Session.clearAuthCache() で、クリアされたキャッシュエントリのフィルタリングが許可されなくなりました。#17970
  • macOS のネイティブインターフェース(メニュー、ダイアログなど)が、ユーザーのマシンのダークモード設定に自動的に一致するようになりました。#19226
  • electron モジュールを @electron/get を使用するように更新しました。サポートされる最小の node バージョンは Node 8 になりました。#18413
  • ファイル electron.asar が存在しなくなりました。その存在に依存するパッケージングスクリプトは更新する必要があります。#18577

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

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

アプリフィードバックプログラム

私たちは、テストのためにアプリフィードバックプログラムを引き続き利用しています。このプログラムに参加しているプロジェクトは、アプリで Electron ベータ版をテストします。そして、見つかった新しいバグは、安定版リリースで優先的に対応されます。参加または詳細を知りたい場合は、プログラムに関するブログ投稿をご覧ください。

今後の予定

短期的には、Electron を構成する主要コンポーネント(Chromium、Node、V8 など)の開発に遅れないようにチームが注力し続けることが期待できます。リリース日についての約束は慎重に避けていますが、Electron の新しいメジャーバージョンを、これらのコンポーネントの新しいバージョンとともに、四半期ごとにリリースする予定です。暫定的な 8.0.0 スケジュールは、Electron 8 の開発ライフサイクルの主要な日付をマッピングしています。また、Electron のバージョニングの詳細については、バージョン管理に関するドキュメントをご覧ください。

今後のバージョンの Electron で計画されている破壊的な変更については、計画された破壊的変更に関するドキュメントをご覧ください。

Electron 6.0.0

·4分で読めます

Electron チームは、Electron 6.0.0 のリリースを発表できることを嬉しく思います!npm を介して npm install electron@latest でインストールするか、リリースウェブサイトからダウンロードできます。このリリースには、アップグレード、修正、および新機能が満載されています。皆様がこれらの機能でどのようなものを構築するのか、楽しみにしています!このリリースの詳細については引き続きお読みいただき、ご意見をお寄せください!


新機能

今日は Electron プロジェクトにとって初めての出来事です。これは、対応するChrome の安定版リリース同じ日に、安定版の Electron リリースを行った初めての例です!🎉

Electron の機能の多くは、Chromium、Node.js、および V8 のコアコンポーネントによって提供されています。Electron はこれらのプロジェクトの最新情報を維持し、ユーザーに新しい JavaScript 機能、パフォーマンスの向上、およびセキュリティ修正を提供します。これらのパッケージのそれぞれが、Electron 6 でメジャーバージョンアップします。

このリリースには、Electron の API の改善も含まれています。リリースノートにはより完全なリストがありますが、ここではハイライトを示します

プロミスの化

Electron 6.0 は、Promise のサポートを改善するために 5.0 で開始されたイニシアチブの近代化を継続しています。

これらの関数は、Promise を返すようになり、以前のコールバックベースの呼び出しも引き続きサポートしています。

  • contentTracing.getCategories() #16583
  • contentTracing.getCategories() #16583
  • contentTracing.getTraceBufferUsage() #16600
  • contents.executeJavaScript() #17312
  • cookies.flushStore() #16464
  • cookies.get() #16464
  • cookies.remove() #16464
  • cookies.set() #16464
  • dialog.showCertificateTrustDialog() #17181
  • inAppPurchase.getProducts() #17355
  • inAppPurchase.purchaseProduct()#17355
  • netLog.stopLogging() #16862
  • session.clearAuthCache() #17259
  • session.clearCache() #17185
  • session.clearHostResolverCache() #17229
  • session.clearStorageData() #17249
  • session.getBlobData() #17303
  • session.getCacheSize() #17185
  • session.resolveProxy() #17222
  • session.setProxy() #17222
  • webContents.hasServiceWorker() #16535
  • webContents.printToPDF() #16795
  • webContents.savePage() #16742
  • webFrame.executeJavaScript() #17312
  • webFrame.executeJavaScriptInIsolatedWorld() #17312
  • webviewTag.executeJavaScript() #17312

これらの関数は、同期と Promise ベースの非同期の 2 つの形式を持つようになりました。

  • dialog.showMessageBox()/dialog.showMessageBoxSync() #17298
  • dialog.showOpenDialog()/dialog.showOpenDialogSync() #16973
  • dialog.showSaveDialog()/dialog.showSaveDialogSync() #17054

これらの関数は、Promise を返すようになりました。

Electron Helper (Renderer).appElectron Helper (GPU).app、および Electron Helper (Plugin).app

書き込み可能な実行可能メモリや、異なるチーム ID で署名されたコードのロードなどを制限するハードニングランタイムを有効にするために、特別なコード署名エンタイトルメントをヘルパーに付与する必要がありました。

これらのエンタイトルメントを、それらを必要とするプロセスタイプに限定するために、Chromium は、レンダラー用の(Electron Helper (Renderer).app)、GPU プロセス用の(Electron Helper (GPU).app)、プラグイン用の(Electron Helper (Plugin).app)の 3 つの新しいバリアントのヘルパーアプリを追加しました。

electron-osx-sign を使用して Electron アプリにコード署名するユーザーは、ビルドロジックを変更する必要はありません。カスタムスクリプトでアプリにコード署名する場合は、3 つの新しいヘルパーアプリケーションが正しくコード署名されていることを確認する必要があります。

これらの新しいヘルパーを使用してアプリケーションを正しくパッケージ化するには、electron-packager@14.0.4 以上を使用する必要があります。electron-builder を使用している場合は、これらの新しいヘルパーのサポートを追跡するために、この問題に従ってください。

破壊的な変更

  • このリリースでは、レンダラープロセスでロードされるネイティブ Node モジュールが、N-API または コンテキストアウェアのいずれかであるという将来の要件の基礎を築き始めています。この変更の理由は、パフォーマンスの向上、セキュリティの強化、およびメンテナンスワークロードの削減です。提案されたタイムラインを含む詳細については、この問題を参照してください。この変更は Electron v11 で完了する予定です。

  • net.IncomingMessage ヘッダーは、特に set-cookie の値と重複ヘッダーの処理に関して、Node.js の動作により厳密に一致するように、わずかに変更されました。#17517

  • shell.showItemInFolder() は、void を返すようになり、非同期呼び出しになりました。#17121

  • アプリは、app.getPath('log') を使用する前に、新しい関数 app.setAppLogPath() を呼び出して、ログパスを明示的に設定する必要があります。#17841

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

弊社のサポートポリシーに従い、3.x.y は寿命が尽きました。開発者とアプリケーションは、より新しいバージョンの Electron にアップグレードすることをお勧めします。

アプリフィードバックプログラム

私たちは、テストのためにアプリフィードバックプログラムを引き続き利用しています。このプログラムに参加しているプロジェクトは、アプリで Electron ベータ版をテストします。そして、見つかった新しいバグは、安定版リリースで優先的に対応されます。参加または詳細を知りたい場合は、プログラムに関するブログ投稿をご覧ください。

今後の予定

短期的には、Electron を構成する主要なコンポーネント(Chromium、Node、V8 など)の開発に引き続き注力していく予定です。リリース日については慎重に約束をしないようにしていますが、これらのコンポーネントの新しいバージョンを搭載した Electron の新しいメジャーバージョンを、約四半期ごとにリリースする予定です。暫定的な 7.0.0 スケジュールは、Electron 7 の開発ライフサイクルの主要な日付を示しています。また、Electron のバージョン管理の詳細については、バージョン管理に関するドキュメントを参照してください。

今後のバージョンの Electron で計画されている破壊的な変更については、計画された破壊的変更に関するドキュメントをご覧ください。

新しいElectronリリースサイクル

·3分で読めます
⚡️ 更新 (2021-07-14): さらに高速化しています!

2021 年の第 3 四半期に、Chrome チームはリリース頻度を 6 週間ごとから 4 週間ごとに増やしました。Electron のリリースもそれに倣いました。最新情報については、更新された 8 週間間隔のブログ記事をお読みください!

🎉 Electron は、12 週間ごとに新しいメジャー安定版をリリースするように移行しています! 🎉


⚡️ すごく早いですね! でも、なぜですか?

簡単に言うと、Chromium はリリースを止めないので、Electron も減速する予定はありません。

Chromium は、一貫した 6 週間のスケジュールでリリースされます。Electron で最新バージョンの Chromium を提供するには、スケジュールを Chromium のスケジュールと一致させる必要があります。Chromium のリリースサイクルに関する詳細については、こちらをご覧ください。

🚀 なぜ 12 週間ごとですか?

6 週間ごとに、新機能、バグ修正/セキュリティ修正、V8 の改善を含む新しい Chromium リリースが公開されます。Electron のユーザーは、これらの変更をタイムリーに求めていることを明確に表明しているので、安定版のリリース日を他の Chromium 安定版リリースに一致するように調整しました。最初は、Electron v6.0.0 に M76 が含まれ、2019 年 7 月 30 日に安定版としてリリースされる予定です。Chromium M76 と同じリリース日です。

🚧 これは私と私の Electron アプリにとって何を意味しますか?

これまでよりも早く、新しい Chromium および V8 の機能と修正にアクセスできるようになります。重要なことに、これらの新しい変更がいつ来るのかもわかるので、以前よりも優れた情報に基づいて計画を立てることができます。

Electron チームは、最新の 3 つのメジャーバージョンを引き続きサポートします。たとえば、2019 年 7 月 30 日に v6.0.0 が安定版になった場合、v6.x、v5.x、および v4.x をサポートしますが、v3.x は寿命終了になります。

💬 アプリフィードバックプログラム

ベータ版のテストと安定化にご協力いただくため、ぜひアプリフィードバックプログラムにご参加ください。このプログラムに参加するプロジェクトでは、アプリでElectronのベータ版をテストします。その見返りとして、発見された新しいバグは安定版リリースに向けて優先的に対応されます。

📝 Electronリリースの簡単な歴史

v3.0.0以前の安定版リリースに関する決定は、スケジュールに従っていませんでした。v3.0.0とv4.0.0でプロジェクトに内部スケジュールを追加しました。今年の初めには、Electron v5.0.0で初めて安定版リリース日を公表することにしました。安定版リリース日の発表は全体的に好意的に受け止められ、今後のリリースでも継続していくことを楽しみにしています。

これらのアップグレード関連の取り組みをより効率化するため、アップグレードリリースワーキンググループが、ガバナンスシステム内に設立されました。これらのグループによって、この作業の優先順位付けと委任が改善され、その効果は今後のリリースごとに顕著になっていくことを期待しています。

新しいケイデンスがChromiumのケイデンスと比較してどのようになるかを示します。

line graph comparing Electron versus Chromium versions

📨 ご質問がある場合は、info@electronjs.orgまでメールでお問い合わせください。