Zum Hauptteil springen

Electron becomes an OpenJS Foundation Impact Project

· Eine Minute Lesezeit

At OpenJS World this morning, we announced that Electron has officially graduated from the OpenJS Foundation's incubation program, and is now an OpenJS Foundation Impact Project.

Electron entered incubation in December of 2019, at the last OpenJS Foundation global conference in Montreal. We're excited to take a larger role in the JavaScript community as an Impact Project, and continue our partnership with the OpenJS Foundation.


Learning more

You can read up on the foundation, its mission, and its members on the OpenJSF website. The OpenJS Foundation is host to a number of open source JavaScript projects including jQuery, Node.js, and webpack. It's supported by 30 corporate and end-user members, including GoDaddy, Google, IBM, Intel, Joyent, and Microsoft.

Electron is an open–source framework for building cross-platform desktop applications with web technologies. To learn more about the humans behind Electron and how they work together, take a look at our Governance page.

To get started with Electron itself, take a peek at our documentation.

Google Season of Docs

· Die Lesezeit beträgt 3 min

Electron ist stolz darauf, an der zweiten Auflage der Initiative "Season of Docs" von Google teilzunehmen die Mentoren von Open-Source-Organisationen mit technischen Autoren kombiniert, um die Projektdokumentation zu verbessern.


What is Season of Docs?

Season of Docs logo

Season of Docs is a program that fosters collaboration between technical writers and open source communities to the benefit of both parties. Open source maintainers utilize the writer's technical writing expertise to improve the structure and content of their documentation, while the technical writer is introduced to an open-source community under the guidance of its mentors. Learn more about it on the Google's Season of Docs website.

For our first time participating in the program, we'll be mentoring a single technical writer who will be working alongside Electron's Ecosystem Working Group to reshape large parts of our documentation. You can learn more about the timeline of the whole project here.

How do I sign up?

Are you interested in collaborating with us as a technical writer? First, get familiar with Google's tech writer guide for this year's program, and check out the two project idea drafts that we have prepared.

In order to be selected as Electron's technical writer for Season of Docs, candidates will need to apply on the Google Season of Docs website during the Technical Writer Application phase that is running from June 8 to July 9..

Your application should include a proposal, which is a written document that describes in detail what you plan to achieve on the Electron docs over the course of 3 months. This proposal can either develop on one of the starting points mentioned in our Project Idea doc, or can be something entirely new. Don't know where to start? You can check out last year's list of accepted proposals for inspiration.

Aside from the proposal, we'll also be looking at your background as a technical writer. Please include a copy of your resume with an emphasis on relevant writing experience, as well as technical writing samples (these samples could be existing documentation, tutorial, blog posts, etc.)

If you want to discuss project proposals, shoot us an email at season-of-docs@electronjs.org and we can chat from there!

References

Electron 9.0.0

· Die Lesezeit beträgt 5 min

Electron 9.0.0 wurde veröffentlicht! Es enthält Upgrades auf Chromium 83, V8 8.3und Node.js 12.14. Wir haben einige neue API-Integrationen für unsere Rechtschreibprüfung, den aktivierten PDF-Viewer und vieles mehr hinzugefügt!


Das Electron Team freut sich über die Veröffentlichung von Electron 9.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. Der Release ist voll mit Upgrades, Korrekturen und neuen Features. Wir können nicht warten, was du mit ihnen baust! Lesen Sie weiter für Details zu dieser Version und teilen Sie bitte Ihr Feedback!

Bemerkenswerte Änderungen

  • Mehrere Verbesserungen der Rechtschreibprüfungs-Funktion. Weitere Details finden Sie in #22128 und #22368.
  • Verbesserte Fenster-Event-Handler Effizienz unter Linux. #23260.
  • PDF-Viewer aktivieren. #22131.

Eine vollständige Liste der neuen Funktionen und Änderungen finden Sie in den 9.0.0 Versionshinweisen.

Bevorstehende Electron-Veröffentlichungen

· Eine Minute Lesezeit

Electron pausiert vorübergehend wichtige Veröffentlichungen


Was ist los?

Unser Haupt-Release-Kadenz-Zeitplan bewegt sich im Sperrschritt mit dem von Chromium, und das Chromium-Projekt hat vor kurzem die Entscheidung getroffen, seine Veröffentlichungen zu pausieren aufgrund von angepassten Arbeitszeiten. Das bedeutet, dass Electron für die Dauer von Chromiums veränderter Kadenz auch vorübergehend neue Hauptversionen anhalten wird.

Wir glauben, dass unsere beste Wahl darin besteht, Chromiums Fußstapfen zu folgen, und so wird sich das Electron-Team in der Zwischenzeit auf Vollzeit-Arbeit an Bugfixes, Sicherheit, Performance und Stabilität umstellen.

Wir wollen sicherstellen, dass sowohl unsere Betreuer als auch das Wohlergehen unserer Verbraucher in dieser Zeit Priorität haben. So freuen wir uns über Ihr Feedback und auf die Rückkehr zu unserem regulären Release-Zeitplan.

Für weitere Updates folgen Sie bitte unserem Twitter-Konto.

Bearbeitet (2020-03-30): Electron 9 stable zielt auf Chromium M83 und wird am 19. Mai 2020 freigegeben, als Antwort auf Chromiums Ankündigung das M82 stabile Datum zu überspringen und das M83 stabile Datum anzupassen.

Electron 8.0.0

· Die Lesezeit beträgt 7 min

Electron 8.0.0 wurde veröffentlicht! Es enthält Upgrades auf Chromium 80, V8 8.0 und Node.js 12.13.0. Wir haben Chromes eingebauten Rechtschreibprüfer und vieles mehr hinzugefügt!


Das Electron-Team freut sich über die Veröffentlichung von Electron 8.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. Der Release ist voll mit Upgrades, Korrekturen und neuen Features. Wir können nicht warten, was du mit ihnen baust! Lesen Sie weiter für Details zu dieser Version und teilen Sie bitte Ihr Feedback!

Bemerkenswerte Änderungen

  • Implementierte Nutzung von Chromes eingebauter Rechtschreibprüfung. Weitere Details finden Sie in #20692 und #21266.
  • IPC-Kommunikation verwendet nun v8 strukturierten Clone Algorithmus. Dies ist schneller, funktionsfähiger und weniger überraschend als die bestehende Logik und bringt eine 2x Leistungssteigerung für große Buffer und komplexe Objekte. Die Latenz für kleine Nachrichten ist nicht signifikant betroffen. Weitere Details finden Sie in #20214.

Eine vollständige Liste der neuen Funktionen und Änderungen finden Sie in den 8.0.0 Versionshinweise.

Electron joins the OpenJS Foundation

· Die Lesezeit beträgt 2 min

At Node+JS Interactive in Montreal, the OpenJS Foundation announced that it accepted Electron into the Foundation's incubation program. The Foundation is committed to supporting the healthy growth of the JavaScript ecosystem and web technologies by providing a neutral organization to host and sustain projects, as well as collaboratively fund activities for the benefit of the community at large.

The OpenJS Foundation is host to a number of open source JavaScript projects including jQuery, Node.js, and webpack. It's supported by 30 corporate and end-user members, including GoDaddy, Google, IBM, Intel, Joyent, and Microsoft. Electron is an open–source framework for building cross-platform desktop applications with web technologies.

This is an exciting move for Electron, and we see it as a next step in our evolution as an open-source project.


What this means for developers

Electron joining the OpenJS Foundation does not change how Electron is made, released, or used — and does not directly affect developers building applications with Electron. Even though Electron was originally created at GitHub in 2013, it is currently maintained by a number of organizations and individuals. In 2019, Electron codified its governance structure and invested heavily into formalizing how decisions affecting the entire project are made. We believe that having multiple organizations and developers investing in and collaborating on Electron makes the project stronger.

Lifting Electron up from being owned by a single corporate entity and moving it into a neutral foundation focused on supporting the web and JavaScript ecosystem is a natural next step as we mature as an open-source project.

Learning more

You can read up on the foundation, its mission, and its members on the OpenJSF website. For more information and quotes about the acceptance of Electron into the OpenJSF incubation program, check out the official press release. To learn more about the humans behind Electron and how they work together, take a look at our Governance page.

To get started with Electron itself, take a peek at our documentation.

Chromium WebAudio Vulnerability Fix (CVE-2019-13720)

· Die Lesezeit beträgt 2 min

A High severity vulnerability has been discovered in Chrome which affects all software based on Chromium, including Electron.

This vulnerability has been assigned CVE-2019-13720. Mehr dazu erfahren Sie im Chrome Blog Post.

Please note that Chrome has reports of this vulnerability being used in the wild so it is strongly recommended you upgrade Electron as soon as possible.


Scope

This affects any Electron application that may run third-party or untrusted JavaScript.

Mitigation

Affected apps should upgrade to a patched version of Electron.

We've published new versions of Electron which include fixes for this vulnerability:

Electron 7.0.1 automatically included the fix from upstream, before the announcement was made. Electron 8 is similarly unaffected. The vulnerability did not exist in Electron 5, so that version is also unaffected.

Further Information

This vulnerability was discovered by Anton Ivanov and Alexey Kulaev at Kaspersky Labs and reported to the Chrome team. Der Chrome Blog Beitrag kann hier gefunden werden.

Um mehr über Best Practices für die Sicherheit Ihrer Electron-Apps zu erfahren, lesen Sie unsere -Sicherheitshinweise.

Please file a GitHub Security Advisory if you wish to report a vulnerability in Electron.

Electron 7.0.0

· Die Lesezeit beträgt 4 min

Electron 7.0.0 has been released! Es enthält Upgrades auf Chromium 78, V8 7.8 und Node.js 12.8.1. Wir haben ein Fenster auf Arm 64 Release hinzugefügt, schnellere IPC-Methoden, eine nativeTheme API und vieles mehr!


The Electron team is excited to announce the release of Electron 7.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. Der Release ist voll mit Upgrades, Korrekturen und neuen Features. Wir können nicht warten, was du mit ihnen baust! Lesen Sie weiter für Details zu dieser Version und teilen Sie bitte Ihr Feedback!

Bemerkenswerte Änderungen

  • Stack Upgrades:

    StackVersion in Electron 6Version in Electron 7Was ist neu
    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
  • Added Windows on Arm (64 bit) release. #18591, #20112

  • Added ipcRenderer.invoke() and ipcMain.handle() for asynchronous request/response-style IPC. These are strongly recommended over the remote module. See this "Electron’s ‘remote’ module considered harmful" blog post for more information. #18449

  • Added nativeTheme API to read and respond to changes in the OS's theme and color scheme. #19758, #20486

  • Switched to a new TypeScript Definitions generator. The resulting definitions are more precise; so if your TypeScript build fails, this is the likely cause. #18103

See the 7.0.0 release notes for a longer list of changes.

Breaking Changes

More information about these and future changes can be found on the Planned Breaking Changes page.

  • Removed deprecated APIs:
    • Callback-based versions of functions that now use Promises. #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() no longer allows filtering the cleared cache entries. #17970
  • Native interfaces on macOS (menus, dialogs, etc.) now automatically match the dark mode setting on the user's machine. #19226
  • Updated the electron module to use @electron/get. The minimum supported node version is now Node 8. #18413
  • The file electron.asar no longer exists. Any packaging scripts that depend on its existence should be updated. #18577

End of Support for 4.x.y

Electron 4.x.y has reached end-of-support as per the project's support policy. Developers and applications are encouraged to upgrade to a newer version of Electron.

App Feedback Programm

We continue to use our App Feedback Program for testing. Projects who participate in this program test Electron betas on their apps; and in return, the new bugs they find are prioritized for the stable release. If you'd like to participate or learn more, check out our blog post about the program.

What's Next

In the short term, you can expect the team to continue to focus on keeping up with the development of the major components that make up Electron, including Chromium, Node, and V8. Although we are careful not to make promises about release dates, our plan is release new major versions of Electron with new versions of those components approximately quarterly. The tentative 8.0.0 schedule maps out key dates in the Electron 8 development life cycle. Also, see our versioning document for more detailed information about versioning in Electron.

For information on planned breaking changes in upcoming versions of Electron, see our Planned Breaking Changes doc.

Electron 6.0.0

· Die Lesezeit beträgt 6 min

Das Electron-Team freut sich über die Veröffentlichung von Electron 6.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. Der Release ist voll mit Upgrades, Korrekturen und neuen Features. Wir können nicht warten, was du mit ihnen baust! Lesen Sie weiter für Details zu dieser Version und teilen Sie bitte Ihr Feedback!


Was ist neu

Today marks a first for the Electron project: this is the first time we've made a stable Electron release on the same day as the corresponding Chrome stable release! 🎉

Much of Electron's functionality is provided by the core components of Chromium, Node.js, and V8. Electron keeps up-to-date with these projects to provide our users with new JavaScript features, performance improvements, and security fixes. Each of these packages has a major version bump in Electron 6:

This release also includes improvements to Electron's APIs. The release notes have a more complete list, but here are the highlights:

Promisification

Electron 6.0 continues the modernization initiative started in 5.0 to improve Promise support.

These functions now return Promises and still support older callback-based invocation:

  • 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

These functions now have two forms, synchronous and Promise-based asynchronous:

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

These functions now return Promises:

Electron Helper (Renderer).app, Electron Helper (GPU).app and Electron Helper (Plugin).app

In order to enable the hardened runtime, which restricts things like writable-executable memory and loading code signed by a different Team ID, special code signing entitlements needed to be granted to the Helper.

To keep these entitlements scoped to the process types that require them, Chromium added three new variants of the Helper app: one for renderers (Electron Helper (Renderer).app), one for the GPU process (Electron Helper (GPU).app) and one for plugins (Electron Helper (Plugin).app).

Folks using electron-osx-sign to codesign their Electron app shouldn't have to make any changes to their build logic. If you're codesigning your app with custom scripts, you should ensure that the three new Helper applications are correctly codesigned.

In order to package your application correctly with these new helpers you need to be using electron-packager@14.0.4 or higher. If you are using electron-builder you should follow this issue to track support for these new helpers.

Breaking Changes

  • This release begins laying the groundwork for a future requirement that native Node modules loaded in the renderer process be either N-API or Context Aware. The reasons for this change are faster performance, stronger security, and reduced maintenance workload. Read the full details including the proposed timeline in this issue. This change is expected to be completed in Electron v11.

  • net.IncomingMessage headers have changed slightly to more closely match Node.js behavior, particularly with the value of set-cookie and how duplicate headers are handled. #17517.

  • shell.showItemInFolder() now returns void and is an asynchronous call. #17121

  • Apps must now explicitly set a log path by calling the new function app.setAppLogPath() before using app.getPath('log'). #17841

Ende der Unterstützung für 3.x.y

Per our support policy, 3.x.y has reached end of life. Developers and applications are encouraged to upgrade to a newer version of Electron.

App Feedback Programm

We continue to use our App Feedback Program for testing. Projects who participate in this program test Electron betas on their apps; and in return, the new bugs they find are prioritized for the stable release. If you'd like to participate or learn more, check out our blog post about the program.

What's Next

In the short term, you can expect the team to continue to focus on keeping up with the development of the major components that make up Electron, including Chromium, Node, and V8. Although we are careful not to make promises about release dates, our plan is release new major versions of Electron with new versions of those components approximately quarterly. The tentative 7.0.0 schedule maps out key dates in the Electron 7 development life cycle. Also, see our versioning document for more detailed information about versioning in Electron.

For information on planned breaking changes in upcoming versions of Electron, see our Planned Breaking Changes doc.

Neue Electron Veröffentlichungs-Kadenz

· Die Lesezeit beträgt 3 min
⚡️ Update (14.07.2021): Wir werden noch schneller!

In Q3 2021, das Chrome Team hat ihre Release Zeiträume von 6 Wochen auf 4 Wochen verkürzt. Die Veröffentlichungen von Electron folgten diesem Beispiel. Bitte lesen Sie den aktualisierten 8-Wochen-Kadenz Blogbeitrag für weitere aktuelle Informationen!

🎉 Electron ist dabei, alle 12 Wochen eine neue stabile Hauptversion zu veröffentlichen! 🎉


⚡ Wow, das ist schnell! Aber warum?

Einfach ausgedrückt: Chromium stellt seine Entwicklung nicht ein, also wird Electron auch nicht langsamer werden.

Chromium wird in einem konsistenten 6-wöchigen Zeitplan veröffentlicht. To deliver the most up-to-date versions of Chromium in Electron, our schedule needs to track theirs. More information around Chromium's release cycle can be found here.

: Rakete: Warum alle 12 Wochen?

Alle 6 Wochen kommt eine neue Chromium-Version mit neuen Features, Bugfixes / Sicherheits-Fixes und V8 Verbesserungen. Die Electron-Benutzer haben laut und deutlich gesagt, dass sie diese Änderungen zeitnah haben wollen, also haben wir unsere stabilen Veröffentlichungsdaten so angepasst, dass sie mit denen aller anderen stabilen Chromium-Veröffentlichungen übereinstimmen. Electron v6.0.0 wird M76 enthalten und soll am 30. Juli 2019, dem gleichen Tag wie Chromium M76, veröffentlicht werden.

🚧 Was bedeutet das für mich und meine Electron App?

Sie werden früher als bisher Zugang zu neuen Chromium- und V8-Funktionen und -Fixes haben. Wichtig ist, dass du auch wissen wirst, wenn diese neuen Änderungen kommen, so dass du mit besseren Informationen als bisher planen kannst.

Das Electron-Team wird den Support für die letzten drei Hauptversionen fortsetzen. Zum Beispiel, wenn v6.0.0 am 30. Juli 2019stabil wird, unterstützen wir v6.x, v5.x und v4.x, während v3.x Ende des Lebenszyklus erreichen wird.

💬 App Feedback Programm

Bitte erwägen Sie, unserem App Feedback Programm beizutreten, um uns beim Testen unserer Beta-Versionen und der Stabilisierung zu helfen. Projects who participate in this program test Electron betas on their apps; and in return, the new bugs they find are prioritized for the stable release.

📝 Eine kurze Geschichte der Electron-Veröffentlichungen

Die Entscheidungen über stabile Releases vor v3.0.0 folgten keinem Zeitplan. Wir haben dem Projekt interne Zeitpläne mit v3.0.0 und v4.0.0 hinzugefügt. Anfang dieses Jahres haben wir beschlossen, unser Stable-Veröffentlichungsdatum zum ersten Mal für Electron v5.0.0 bekannt zu geben. Die Ankündigung unserer stabilen Veröffentlichungsdaten wurde insgesamt positiv aufgenommen und wir freuen uns, dies für zukünftige Veröffentlichungen weiterhin tun zu können.

Um diese Verbesserungsbemühungen zu optimieren, wurden unsere Upgrades und Releases Arbeitsgruppen innerhalb unseres Governance Systems erstellt. Sie haben es uns ermöglicht, diese Arbeit besser zu priorisieren und zu delegieren, was hoffentlich mit jeder späteren Veröffentlichung deutlicher zutage treten wird.

Hier ist, wo unsere neue Kadenz uns im Vergleich zur Kadenz von Chromium platzieren wird:

line graph comparing Electron versus Chromium versions

📨 Wenn Sie Fragen haben, senden Sie uns bitte eine E-Mail an info@electronjs.org.