メインコンテンツへ飛ぶ

"Release" タグの記事が 1 件の投稿 件あります

新しい Electron リリースについてのブログ記事

全てのタグを表示

新しい Electron リリースケイデンス

· 読むのにかかる時間 1 分

2021 年 9 月から、Electron は 8 週間ごとに新規メジャー安定版をリリースするようになります。


2019 年、Chromium の 6 週間のリリースサイクルに合わせて Electron は 12 週間のリリースサイクルに移行 しました。 先日、Chrome と Microsoft の両方が変更を発表し、Electron の現在のリリースサイクルを再考することになりました。

  1. Chromium は、2021 年 9 月 21 日の Chrome 94 を皮切りに、4 週間 ごとに新規マイルストーンをリリースする予定です。また、このリリースサイクルでは 8 週間ごとに新しい拡張安定版オプションが追加され、すべてのセキュリティ修正が更新されます。

  2. Microsoft Store では、Chromium ベースのアプリが最新から 2 つのメジャーバージョン以内であることを要求するようになります。 例えば、Chromium の最新のメジャーバージョンが 85 の場合、Chromium をベースにしたブラウザは最低でも Chromium バージョン 83 以上でなければなりません。 このルールは Electron アプリも含みます。

Chromium の 8 週間の拡張安定版リリースに合わせて、Electron は 2021 年 9 月より 8 週間ごとに新しいメジャー安定版をリリースする予定です

Chromium 拡張安定版での最初のリリースは、Electron 152021 年 9 月 21 日 になります。

リリースケイデンスの変更は下流の他のアプリケーションにも影響を与えることがわかっているため、できるだけ早く開発者コミュニティに知らせたいと思っております。 2021 年のリリーススケジュールの詳細はこちらをご覧ください。

Electron 15: 臨時アルファ

当初の Electron 15 のリリースは拡張安定版ではないバージョンを対象としていたため (Chromium の拡張安定版バージョンは偶数番号のバージョンをベースにしています)、当初の目標リリース日を変更する必要がありました。 しかし、Electron アプリを Microsoft Store に登録するためには Chromium の最新から 2 つ以内のメジャーバージョンを使用する必要がありましたが、Chromium のバージョンを 2 つ待つことはできません。

この 2 つの要件を満たそうと、チームはタイミングのジレンマに陥りました。 Electron 15 に Chromium M94 を搭載することで、アプリケーション開発者は Chromium の最初の拡張安定版バージョンを利用できるようになりますが、ベータ版から安定版へのサイクルはわずか 3 週間にまで短くなります。

この切り替えを支援するため、Electron は Electron 15 リリースのみを対象とした臨時の アルファビルド を提供します。 このアルファビルドは開発者が Electron 15 のリリースに向けてテストや計画を立てるための時間を確保するためのもので、現在の nightly よりも安定したビルドになっています。

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

2021 年のリリース計画

現在の 2021 年のリリース予定は以下の通りです。

ElectronChromeアルファリリースベータリリース安定版リリース安定版の周期 (週間)
E13M91-2021-Mar-052021-May-2512
E14M93-2021-May-262021-Aug-3114
E15M942021-Jul-202021-Sep-012021-Sep-219 (アルファを含む)
E16M96-2021-Sep-222021-Nov-168
E17M98-2021-Nov-172022-Feb-0111

アルファチャンネルの追加により、Electron 15 のリリースまでの開発期間は 3 週間から 9 週間に延長されました。新しい 8 週間のサイクルに近づきつつ、Windows Store への提出要件を満たせます。

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

懸念事項への対応

リリースサイクルの変更予定よりかなり前に、この記事を公開しているのには理由があります。 リリースサイクルの高速化は、Electron アプリに大きな影響を与えると考えています。中には、私たちのメジャーリリースのペースがすでに積極的すぎると感じている人もいるかもしれません。

以下に、よくある質問をまとめてみました。

❓ なぜこの変更を行うのでしょうか? 12 週間のリリース周期を維持しないのですか?

Electron で Chromium の最新バージョンを提供するには、そのスケジュールを追う必要があります。 Chromium のリリースサイクルに関する詳細は こちら を参照してください。

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

Chromium の各新規リリースには、新機能、バグ修正/セキュリティ修正、V8 の改善が含まれています。 アプリ開発者の皆様にはこれらの変更をタイムリーに受けていただきたいので、安定版のリリース日は他の Chromium 安定版のリリース日と一致させています。 アプリケーション開発者は、Chromium や V8 の新機能や修正に、これまでよりも早くアクセスできるようになります。

❓ 既存の 12 週間のリリーススケジュールでも、既に早いです。 アップグレードを容易にするには、チームでどのような段階を踏めばよいでしょうか?

より頻繁にリリースすることの利点は、より小さい リリースができることです。 Electron のメジャーバージョンのアップグレードは大変だと思います。 リリースを小さくするほど、1 回のリリースにおける Chromium や Node のメジャーの変更や破壊的変更が少なくなることを期待しています。

❓ 今後の Electron のバージョンに対応したアルファ版のリリースはありますか?

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

❓ Electron はバージョンのサポート数を増やしていくのでしょうか?

2022 年 5 月の Electron 19 のリリースまでは、サポートバージョンポリシーを最新 3 つから最新 4 つのバージョンに拡張する予定です。 Electron 19 のリリース後は、ベータや nightly リリースと同じく 最新のメジャーバージョン 3 つ をサポートする体制に戻ります。

E13 (May'21)E14 (Aug'21)E15 (Sep'21)E16 (Nov'21)E17 (Feb'22)E18 (Mar'22)E19 (May'22)
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

· 読むのにかかる時間 1 分

Electron 13.0.0 がリリースされました! これには Chromium 91 とV8 9.1 へのアップグレードが含まれています。 いくつかの API の更新、バグ修正、及び一般的な改善を行いました。 詳しくは以下をご覧ください!


Electron チームは、Electron 13.0.0 のリリース発表にワクワクしています! npm install electron@latest から npm でインストールするか、リリースウェブサイト からダウンロードできます。 このリリースの詳細については下に続きます。是非ご意見をお聞かせください!

注目すべき変更

累積的変更

注目の機能

  • process.contextIsolated プロパティを追加しました。これは現在のレンダラーコンテキストで contextIsolation が有効かどうかを示します。 #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 拡張機能のサービスワーカーの登録に対応しました。
  • ServiceWorker に '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

· 読むのにかかる時間 1 分

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 でインストールするか、リリースウェブサイト からダウンロードできます。 このリリースの詳細については下に続きます。是非ご意見をお聞かせください!

注目すべき変更

累積的変更

注目の機能

  • 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 の詳細に exitCode を追加しました (app と webContents)。 #27677
  • BrowserWindow API の変更:
    • BrowserWindow.isTabletMode() API を追加しました。 #25209
    • resized (Windows/macOS) と moved (Windows) イベントを BrowserWindow に追加しました。 #26216
    • システムコンテキストメニューの抑制とオーバーライドができる system-context-menu イベントを追加しました。 #25795
    • BrowserView を手前に移動できる win.setTopBrowserView() を追加しました。 #27713
    • webPreferences.preferredSizeMode を追加しました。これにより document の最小サイズに応じてビューのサイズを変更できます。 #25874
  • contextBridge API の変更:
    • ContextBridge の exposeInMainWorld メソッドが、非オブジェクトの API を公開できるようにしました。 #26834
  • display API の変更:
    • Display オブジェクトに displayFrequency プロパティを追加し、Windows でのリフレッシュレートに関する情報を取得できるようにしました。 #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.setPermissionRequestHandler のために display-capture API を追加しました。 #27696
    • session.setSSLConfigdisabledCipherSuites オプションを追加しました。 #25818
    • extension-loadedextension-unloadedextension-ready イベントを session に追加しました。 #25385
    • SSL の構成ができるように session.setSSLConfig() を追加しました。 #25461
    • session.setProxy() のモードへ directauto_detectsystem のいずれかを明示的に指定するサポートを追加しました。 #24937
    • Serial API サポートを追加しました。 #25237
    • スペルチェッカーを有効/無効にする API を追加しました。 #26276
  • shell API の変更:
    • 同期 API の shell.moveItemToTrash() に代わり、新しく非同期のshell.trashItem() API を追加しました。 #25114
  • webContents API の変更:
    • レンダラーのクラッシュのデバッグに役立つよう、コンソールに小さなコンソールヒントを追加しました。 #25317
    • webRequest ハンドラーの details オブジェクトに framewebContents のプロパティを追加しました。 #27334
    • ハングしたレンダラーの回復を支援するため、レンダラープロセスを強制的に終了させる webContents.forcefullyCrashRenderer() を追加しました。 #25580
    • レンダラーが作成した子ウィンドウ用の setWindowOpenHandler API を追加し、new-window イベントを非推奨にしました。 #24517
  • webFrame API の変更:
    • レンダラーにスペルチェックの API を追加しました。 #25060

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

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

  • remote モジュールを非推奨にしました。 これは @electron/remote に置き換えられます。 #25293
  • 非推奨だった crashReporter API を削除しました。 #26709
  • パッケージアプリのデフォルトの 'ヘルプ' メニューにある Electron ウェブサイトへのリンクを削除しました。 #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

· 読むのにかかる時間 1 分

Electron 11.0.0 がリリースされました! これには Chromium 87、V8 8.7、Node.js 12.18.3 へのアップグレードが含まれています。 Apple Sillicon のサポート追加に、ほか一般的な改善となりました。 詳しくは以下をご覧ください!


Electron チームは、Electron 11.0.0 のリリース発表にワクワクしています! npm install electron@latest から npm でインストールするか、リリースウェブサイト からダウンロードできます。 今回のリリースでは、アップグレード、修正、Apple の M1 ハードウェアの新規サポートなどが盛り込まれています。

新機能たちと共に何を作るのか、楽しみにしています! このリリースの詳細については下に続きます。是非ご意見をお聞かせください!

注目すべき変更

累積的変更

注目の機能

  • Apple M1 に対応: 11 月 10 日、Apple は 今後のハードウェア に内蔵される新しい M1 チップを発表しました。 Electron 11 から、Intel Mac (x64) 用と Apple の次期 M1 ハードウェア (arm64) 用の別々のバージョンを頒布する予定です。 Electron アプリを Apple の M1 ハードウェア上で動作させる方法については、こちら を参照してください。 #24545
  • crashReport の引数に V8 のクラッシュメッセージと位置情報を追加しました。 #24771
  • コンテキストブリッジを介して大きめのオブジェクトを送信する際のパフォーマンスを改善しました。 #24671

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

破壊的変更

  • 実験的 API の削除: BrowserView.{fromId, fromWebContents, getAllViews}BrowserViewid プロパティ。 #23578

これらの変更と将来の変更の詳細については、予定されている破壊的な変更 のページを参照してください。

API の変更

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

8.x.y サポート終了

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

次回予告

短期的には、Chromium、Node、V8 といった Electron を構成する主要コンポーネントの開発に遅れないでチームが注力し続けるでしょう。 リリース日について約束しないように注意していますが、予定では約四半期ごとに新しいメジャーバージョンの Electron を、各コンポーネントの新しいバージョンに対してリリースします。 仮 12.0.0 スケジュール では、Electron 12.0 開発ライフサイクルの主要な日付を示してあります。 また、Electron のバージョン管理の詳細については バージョン管理のドキュメントを参照 してください。

今後のバージョンの Electron で予定されている破壊的な変更の詳細については、予定されている破壊的な変更のドキュメントを参照してください

remote モジュールの非推奨化作業の継続

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

この Issue から、非推奨化の全計画と詳細をご確認ください。

ネイティブ Node モジュールで Context Aware や N-API を要求するようにする最終段階 (Electron 12 にて)

Electron 6 以降、レンダラープロセスで読み込まれる ネイティブ Node モジュール では、N-API または Context Aware のいずれかであることを要求するように下準備の作業が行われてきました。 この変更を適用することで、セキュリティの強化、パフォーマンスの高速化、保守作業の軽減が可能になります。 この計画の最終段階は、Electron 12 でレンダラープロセスの再利用を無効にする機能を削除することです。

提案のタイムラインを含む詳細は、この Issue をご参照ください。

Electron 10.0.0

· 読むのにかかる時間 1 分

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 を読んで経緯を知ってください。この Issue では、理由を説明し非推奨化予定のタイムラインを提案しています。
  • app.allowRendererProcessReuse の既定値を true に変更しました。 #22336 (Electron 9 でも)
    • これにより、コンテキスト未対応のネイティブモジュールがレンダラープロセスでロードされるのを防げます。
    • この Issue を読んで経緯を知ってください。この Issue では、理由を説明し非推奨化予定のタイムラインを提案しています。
  • macOS で OS のロケールが右書き言語 (アラビア語やヘブライ語など) に設定されている場合のウインドウボタンの位置を修正しました。 フレームレスウインドウのアプリは、この変化を考慮してウインドウのスタイルを作る必要があるかもしれません。 #22016

これらの変更と将来の変更の詳細については、予定されている破壊的な変更 のページを参照してください。

API の変更

  • Session: ses.isPersistent() API を呼び出すことで、与えられた session が永続的であるかどうかをチェックできるようになりました。 #22622
  • Contents: contents.getBackgroundThrottling() メソッドと contents.backgroundThrottling プロパティを追加しました。 #21036

非推奨となった API

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

  • 非推奨だった netLogcurrentlyLoggingPath プロパティを削除しました。 更に、netLog.stopLogging が記録したログのパスを返さなくなりました。 #22732
  • crashReporter での非圧縮形式のクラッシュのアップロードを非推奨化しました。 #23598

7.x.y サポート終了

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

次回予告

短期的には、Chromium、Node、V8 といった Electron を構成する主要コンポーネントの開発に遅れないでチームが注力し続けるでしょう。 リリース日について約束しないように注意していますが、予定では約四半期ごとに新しいメジャーバージョンの Electron を、各コンポーネントの新しいバージョンに対してリリースします。 仮 11.0.0 スケジュール では、Electron 11.0 開発ライフサイクルの主要な日付を示してあります。 また、Electron のバージョン管理の詳細については バージョン管理のドキュメントを参照 してください。

今後のバージョンの Electron で予定されている破壊的な変更の詳細については、予定されている破壊的な変更のドキュメントを参照してください

remote モジュールの非推奨化作業の継続 (Electron 11 にて)

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

ネイティブ Node モジュールで Context Aware や N-API を要求するようにする最終段階 (Electron 12 にて)

編集: 元々、このブログ記事では Electron 11 でレンダラープロセスの再利用が無効になると記載してありました。 レンダラープロセスの再利用を無効にする機能は Electron 12 に延期されました。

Electron 6 以降、レンダラープロセスで読み込まれる ネイティブ Node モジュール では、N-API または Context Aware のいずれかであることを要求するように下準備の作業が行われてきました。 この変更を適用することで、セキュリティの強化、パフォーマンスの高速化、保守作業の軽減が可能になります。 この計画の最終段階は、Electron 12 でレンダラープロセスの再利用を無効にする機能を削除することです。 提案のタイムラインを含む詳細は、この Issue をご参照ください。

Electron 9.0.0

· 読むのにかかる時間 1 分

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


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 を読んで経緯を知ってください。この Issue では、理由を説明し非推奨化予定のタイムラインを提案しています。
  • app.enableRendererProcessReuse の省略値を true にしました。 #22336
    • これは、レンダラープロセスにロードされるネイティブ Node モジュールは N-APIコンテキス対応 であるという将来の要件に対応する作業の一環です。 完全な情報と提案された時系列は、この Issue で詳しく説明しています。
  • IPC で非 JavaScript オブジェクトを送信すると、例外が送出されるようになりました。 #21560
    • この動作は、Electron 8.0 ではあまり価値がありませんでした。 Electron 9.0 からは、旧シリアライズアルゴリズムが削除されました。先ほどのシリアライズ不可能なオブジェクトを送信すると、"object could not be cloned" (オブジェクトを複製できませんでした) というエラーが送出されます。

これらの変更と将来の変更の詳細については、予定されている破壊的な変更 のページを参照してください。

API の変更

  • shell API の変更:
    • shell.openItem API は非同期の shell.openPath API に置き換えられました。 提案内容
  • session API の変更:
    • session.listWordsFromSpellCheckerDictionary API を追加し、辞書のカスタムな単語を列挙できるようになりました。 #22128
    • session.removeWordFromSpellCheckerDictionary API を追加し、辞書のカスタムな単語を削除できるようになりました。 #22368
    • session.serviceWorkerContext APIを追加し、サービスワーカーの基本情報にアクセスし、サービスワーカーからコンソールログを受信できるようになりました。 #22313
  • app API の変更:
    • macOS の app.focus() に新しく force パラメータを追加し、アプリが強制的にフォーカスを取得できるようにしました。 #23447
  • BrowserWindow API の変更:
    • BrowserWindow の一部のゲッター/セッターのペアがプロパティアクセスに対応しました。 #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) に変更します。

のcontextIsolationisolationの詳細について、特に簡単に有効にする方法とセキュリティ上の利点をコンテキスト分離文書を参照してください。

Electron 8.0.0

· 読むのにかかる時間 1 分

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 でインストールするか、リリースウェブサイト からダウンロードできます。 このリリースには、アップグレード、修正、新機能が含まれています。 新機能たちと共に何を作るのか、楽しみにしています! このリリースの詳細については下に続きます。是非ご意見をお聞かせください!

注目すべき変更

累積的変更

注目の機能

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

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

破壊的変更

  • コンテキスト対応モジュールの非推奨警告でその名前を表示します。 #21952
    • これは、レンダラープロセスにロードされるネイティブ Node モジュールは N-APIコンテキス対応 であるという将来の要件に対応する作業の一環です。 完全な情報と提案された時系列は、この Issue で詳しく説明しています。
  • IPC を介して送信される値が構造化複製アルゴリズムでシリアライズされるように. #20214
  • オフスクリーンレンダリングの機能を管理するメンテナーがいないため、これは現在無効になっています。 Chromium のアップグレード中に動作しなくなり、その後無効になりました。 #20772

これらの変更と将来の変更の詳細については、予定されている破壊的な変更 のページを参照してください。

API の変更

  • app API の変更:
    • app.getApplicationNameForProtocol(url) を追加しました。 #20399
    • app.showAboutPanel()app.setAboutPanelOptions(options) に Windows での対応を追加しました。 #19420
  • BrowserWindow API の変更:
    • BrowserWindow オプション hasShadow が全プラットフォームで利用可能であることを注意するようにドキュメントを更新しました #20038
    • BrowserWindow オプションに trafficLightPosition オプションを追加して、信号機ボタンのカスタム位置を指定できるようにしました。 #21781
    • アクセシブルウィンドウのタイトルを設定する accessibleTitle オプションを BrowserWindow に追加しました #19698
    • BrowserWindow.fromWebContents() が null も返すようになりました #19983
    • BrowserWindow.getMediaSourceId()BrowserWindow.moveAbove(mediaSourceId) を追加しました。 #18926
    • macOS での will-move イベントの対応を追加しました。 #19641
  • 以前にドキュメント化されていなかった crashReporter.getCrashesDirectory() をドキュメント化しました。 #20417
  • dialog API の変更:
    • dontAddToRecent プロパティを dialog.showOpenDialogdialog.showOpenDialogSync に追加しました。これは開くダイアログで書類を開いても Windows の最近開いたドキュメントに追加しません。 #19669
    • dialog.showSaveDialogdialog.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
  • macOS の shell.moveItemToTrash(fullPath[, deleteOnFail]) にオプションを追加しました。これは moveItemToTrash が失敗した場合の動作を指定します。 #19700
  • systemPreferences API の変更:
    • macOS の systemPreferences.getColor(color)ドキュメントを更新しました。 #20611
    • screen メディアタイプを systemPreferences.getMediaAccessStatus() に追加しました。 #20764
  • nativeTheme.themeSource を追加しました。これはアプリが Chromium と OS のテーマ選択をオーバーライドできるようにします。 #19960
  • TouchBar API の変更:
    • accessibilityLabel プロパティを TouchBarButtonTouchBarLabel に追加しました。これにより、TouchBarButton/TouchBarLabel のアクセシビリティを改善しました。 #20454
    • TouchBar に関するドキュメントを更新しました #19444
  • tray API の変更:
    • tray.displayBalloon() に以下の新しいオプションを追加しました。iconTypelargeIconnoSoundrespectQuietTime です。 #19544
    • tray.removeBalloon() を追加しました。これは、既に表示しているバルーン通知を削除します。 #19547
    • tray.focus() を追加しました。これは、タスクバーの通知領域にフォーカスを戻します。 機能: tray.focus() の追加 #19548
  • webContents API の変更:
    • contents.executeJavaScriptInIsolatedWorld(worldId, scripts[, userGesture]) を追加しました。これは webContents API 上での executeJavaScriptInIsolatedWorld を公開します。 #21190
    • 非表示の webContents をキャプチャするメソッドを追加しました。 #21679
    • 印刷ページのヘッダーとフッターのカスタマイズを有効にするオプションを webContents.print([options], [callback]) に追加しました。 #19688
    • webContents.getAllSharedWorkers()webContents.inspectSharedWorkerById(workerId) を介して特定の共有ワーカーをインスペクトする機能が追加されました。 #20389
    • WebContents.printToPDF() での fitToPageEnabledscaleFactor オプションの対応を追加しました。 #20436
  • webview.printToPDF のドキュメントを更新し、戻り値型が Uint8Array になったことを示しました。 #20505

非推奨となった API

これらの API は非推奨になりました。

  • BrowserWindow.setVisibleOnAllWorkspaces で機能していない visibleOnFullScreen オプションを非推奨にしました。これは次のメジャーリリースバージョンで削除します。 #21732
  • macOS の systemPreferences.getColor(color) での alternate-selected-control-text を非推奨にしました。 #20611
  • Chromium がこの機能を削除したため、webContentswebFrame<webview>setLayoutZoomLevelLimits を非推奨にしました。 #21296
  • app.allowRendererProcessReuse の省略値 false を非推奨にしました。 #21287
  • remote モジュールに依存するため、<webview>.getWebContents() を非推奨にしました。 #20726

5.x.y サポート終了

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

App のフィードバックプログラム

テストには引き続き アプリフィードバックプログラム を使用します。 このプログラムに参加するプロジェクトは、そのアプリで Electron ベータ版をテストします。見返りとして、発見した新しいバグは安定版リリースのために優先します。 参加や詳細については、当プログラムに関するブログ記事を確認してください

次回予告

短期的には、Chromium、Node、V8 といった Electron を構成する主要コンポーネントの開発に遅れないでチームが注力し続けるでしょう。 リリース日について約束しないように注意していますが、予定では約四半期ごとに新しいメジャーバージョンの Electron を、各コンポーネントの新しいバージョンに対してリリースします。 仮 9.0.0 スケジュール では、Electron 9 開発ライフサイクルの主要な日付を示してあります。 また、Electron のバージョン管理の詳細については バージョン管理のドキュメントを参照 してください。

今後のバージョンの Electron で予定されている破壊的な変更の詳細については、予定されている破壊的な変更のドキュメントを参照してください

remote モジュールの非推奨化 (Electron 9 から)

深刻なセキュリティ面の問題のため、Electron 9 から remote モジュール の非推奨化計画を始めています。 この Issue を読んで経緯を知ってください。この Issue では、理由を説明し非推奨化予定のタイムラインを提案しています。

Electron 7.0.0

· 読むのにかかる時間 1 分

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 install electron@latest から npm でインストールするか、リリースウェブサイト からダウンロードできます。 このリリースには、アップグレード、修正、新機能が含まれています。 新機能たちと共に何を作るのか、楽しみにしています! このリリースの詳細については下に続きます。是非ご意見をお聞かせください!

注目すべき変更

  • 累積的更新:

    累積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 にアップグレードすることを推奨します。

App のフィードバックプログラム

テストには引き続き アプリフィードバックプログラム を使用します。 このプログラムに参加するプロジェクトは、そのアプリで Electron ベータ版をテストします。見返りとして、発見した新しいバグは安定版リリースのために優先します。 参加や詳細については、プログラムに関するブログ記事を確認してください

次回予告

短期的には、Chromium、Node、V8 といった Electron を構成する主要コンポーネントの開発に遅れないでチームが注力し続けるでしょう。 リリース日について約束しないように注意していますが、予定では約四半期ごとに新しいメジャーバージョンの Electron を、各コンポーネントの新しいバージョンに対してリリースします。 仮 8.0.0 スケジュール では、Electron 8 開発ライフサイクルの主要な日付を示してあります。 また、Electron のバージョン管理の詳細については バージョン管理のドキュメントを参照 してください。

今後のバージョンの Electron で予定されている破壊的変更の詳細は、予定されている破壊的変更のドキュメントを参照してください

Electron 6.0.0

· 読むのにかかる時間 1 分

Electron チームは、Electron 6.0.0 のリリース発表にワクワクしています! npm install electron@latest から npm でインストールするか、リリースウェブサイト からダウンロードできます。 このリリースには、アップグレード、修正、新機能が含まれています。 新機能たちと共に何を作るのか、楽しみにしています! このリリースの詳細については下に続きます。是非ご意見をお聞かせください!


新機能

今日は Electron プロジェクトにとって初めてのことが起こりました。Electron の安定版リリースが、対応する Chrome 安定版リリース同日に リリースされたのです! 🎉

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

このリリースには、Electron の API の改善も含まれます。 リリースノート により詳細なリストがありますが、ここではハイライトを紹介します。

Promise 化

Electron 6.0 でも 5.0 から始まった近代化 イニシアチブ を継続し、Promise のサポート改善を行っています。

これらの関数は 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).appElectron Helper (Plugin).app

Hardened Runtime を有効にするためには、書き込みと実行が可能なメモリや異なるチーム ID で署名されたコードの読み込みなどを制限するために、特別なコード署名権限を Helper に付与する必要がありました。

Chromium の Helper アプリに 3 つの新しい種別を 追加しました。1 つはレンダラー用 (Electron Helper (Renderer).app)、1 つは GPU プロセス用 (Electron Helper (GPU).app)、1 つはプラグイン用 (Electron Helper (Plugin).app) です。

electron-osx-sign で Electron アプリのコード署名を行っている方は、ビルドロジックを変更しなくても構いません。 カスタムスクリプトでアプリをコード署名する場合は、3 つの新しい Helper アプリケーションを正しくコード署名しているかどうか確認する必要があります。

これらの新しいヘルパーと共にアプリケーションを正しくパッケージするには、 electron-packager@14.0.4 以上を使用する必要があります。 electron-builder を使用している方は、この Issue を確認して、これらの新しいヘルパーのサポート状況を確認してください。

破壊的変更

  • これは、レンダラープロセスにロードされるネイティブ Node モジュールは N-APIコンテキス対応 であるという将来の要件に対応する作業の、下地づくりとして始めています。 この変更を行う理由は、パフォーマンス高速化、セキュリティ強化、保守作業を軽減するためです。 提案された時系列を含む詳細は、この Issue を読んでください。 この変更は Electron v11 で完了する予定です。

  • net.IncomingMessage ヘッダは、Node.js の動作、特に set-cookie の値や重複するヘッダの処理方法が厳密に一致するように 少し変更 されました。 #17517.

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

  • アプリで app.getPath('log') を使用する前に、新しい関数 app.setAppLogPath() を呼び出して明示的にログパスを設定しなければならないようになりました。 #17841

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

サポートポリシー に基づき、3.x.y は役目を終えました。 開発者とアプリケーションは新しいバージョンの Electron にアップグレードすることを推奨します。

App のフィードバックプログラム

テストには引き続き アプリフィードバックプログラム を使用します。 このプログラムに参加するプロジェクトは、そのアプリで Electron ベータ版をテストします。見返りとして、発見した新しいバグは安定版リリースのために優先します。 参加や詳細については、当プログラムに関するブログ記事を確認してください

次回予告

短期的には、Chromium、Node、V8 といった Electron を構成する主要コンポーネントの開発に遅れないでチームが注力し続けるでしょう。 リリース日について約束しないように注意していますが、予定では約四半期ごとに新しいメジャーバージョンの Electron を、各コンポーネントの新しいバージョンに対してリリースします。 仮 7.0.0 スケジュール では、Electron 7 開発ライフサイクルの主要な日付を示してあります。 また、Electron のバージョン管理の詳細については バージョン管理のドキュメントを参照 してください。

今後のバージョンの Electron で予定されている破壊的変更の詳細は、予定されている破壊的変更のドキュメントを参照してください

新しい Electron リリースケイデンス

· 読むのにかかる時間 1 分
⚡️ 更新 (2021-07-14): より速くなっています!

2021 年の第 3 四半期にて、Chrome チームは 6 週間ごとから 4 週間ごとへと リリースケイデンスを増やしました。 Electron のリリースはこれに準拠しています。 最新の情報につきましては、更新した 8 週間ごとのケイデンス のブログ記事をご覧ください。

🎉 Electron は 12 週ごとに新しいメジャー安定バージョンをリリースします! 🎉


⚡️ なんて速さだ! でもなんで?

簡単に言えば、Chromium は更新を止めないので Electron も遅くなりません。

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

🚀 なんで 12 週ごとに?

6 週ごとに、新しい機能、バグ修正/セキュリティ修正、V8 の改善が施された新しい Chromium リリースが出ます。 Electron ユーザーはこの変更を明確に待ち望んでおり、他の Chromium 安定リリースごとに安定リリース日を合わせていました。 最初に、Electron v6.0.0 には M76 が含まれます。これは、Chromium M76 と同じリリース日である 2019 年 7 月 30 日 で安定版リリースを予定しています。

🚧 私と自作 Electron アプリはどうなりますか?

新しい Chromium と V8 の機能と修正プログラムに以前よりも早くアクセスできるようになります。 重要なのは、これら新しい変更がいつ いつ 行われるかもわかるため、以前よりも良質な情報で計画できるということです。

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

💬 App のフィードバックプログラム

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

📝 Electronリリースの略歴

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

これらのアップグレード関連の作業を効率化するために、 ガバナンス システム内に アップグレードリリース の作業グループが作成されました。 これらにより、作業をより優先順位付けて委任できます。これは後のリリースごとに効果が出てくるでしょう。

Chromium のケイデンスと比較すると、我々の新たなケイデンスは以下のように位置します。

Electron と Chromium のバージョンを比較する折れ線グラフ

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