跳转到主内容

Community Discord Server and Hacktoberfest

· 阅读时间:约 3 分钟

Join us for community bonding and a month-long celebration of open-source.


Hacktoberfest and Discord banner

Electron Community Discord Launch

Electron’s Outreach Working Group is excited to announce the launch of our official community Discord server!

Why a new Discord server?

In its early days as the backbone of the Atom text editor, community discussion on the Electron framework occurred in a single channel in Atom’s Slack workspace. As time passed and the two projects were increasingly decoupled, the relevance of the Atom workspace to the Electron project decreased, and maintainer participation in the Slack channel declined in the same manner.

Up until now, we had still been redirecting our broader community to the Atom Slack workspace, even though we’ve had many reports from folks who have had trouble receiving invitations, and few of our core maintainers were frequenting the channel.

We’re setting up this shiny new server to be a central discussion hub for the community where you can get the latest news on all things Electron.

Get in here!

So far, the server’s membership consists of a few maintainers who have been working together to set it up, but we’re so excited to chat with you all! Come ask for help, keep up to date with Electron releases, or just hang out with other developers. We’ve got a handy invite for you that’ll give you access to the server!

Hacktoberfest 2020

作为一个大型和长期运行的开源项目,Electron如果没有其社区的所有 贡献就不会像现在这样成功。 从提交代码到错误报告到文档更改,还有更多。 That’s why we believe in the importance of participating in Hacktoberfest to usher in a wider community of developers of all skill levels into the project.

Odds and ends

This year, we don’t have a wider project to give you all to work on, but we’d like to focus on opportunities to contribute across the Electron JavaScript ecosystem.

Look out for issues tagged hacktoberfest across our various repositories, including the main electron/electron repository, the electron/electronjs.org website, electron/fiddle, and electron-userland/electron-forge!

P.S. If you're feeling particularly adventurous, we also have a backlog of issues marked with help wanted tags if you're looking for more of a challenge.

Stuck? Come chat with us!

Moreover, it’s also no coincidence that the grand opening of our Discord server coincides with the largest celebration of open-source software of the year. Check out the #hacktoberfest channel to ask for help on your Hacktoberfest PR. In case you missed it, here's the invite link again!

Electron 10.0.0

· 阅读时间:约 5 分钟

Electron 10.0.0 已发布! 它包括升级到 Chromium 85, V8 8.5, 和 Node.js 12.16。 我们添加了几个新的 API 集成和改进。 请阅读下文了解更多详情!


Electron 团队很高兴发布了 Electron 10.0.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. 这次发布包含升级、修复和新功能。

在 Electron 10 发布版中,我们还修改了我们的版本说明。 To make it easier to tell what's brand new in Electron 10 and what may have changed between Electron 10 and past releases, we now also include changes that were introduced to Electron 10, but backported to previous releases. We hope this makes it easier to apps to find new features and bug fixes when upgrading Electron.

We can't wait to see what you build with them! Continue reading for details about this release, and please share any feedback you have!

重要变化

  • Added contents.getBackgroundThrottling() method and contents.backgroundThrottling property. [#21036]
  • Exposed the desktopCapturer module in the main process. #23548
  • Can now check if a given session is persistent by calling the ses.isPersistent() API. #22622
  • Resolve network issues that prevented RTC calls from being connected due to network IP address changes and ICE. (Chromium issue 1113227). #24998

有关新功能和变更的完整列表,请参阅 10.0.0 发布通知

Electron becomes an OpenJS Foundation Impact Project

· 阅读时间:约 1 分钟

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 文档之季

· 阅读时间:约 3 分钟

Electron is proud to be participating in the second edition of Google's Season of Docs initiative, which pairs mentors from open source organizations with technical writers to improve project documentation.


什么是文档之季?

文档之季标志

文档之季是一个为促进技术作者与开源社区间合作而生的计划。 开源软件维护者利用作家们的技术写作专家知识来改进其文档的结构和内容。同时,技术作家在导师指导下被介绍给开源社区。 在Google的 文档之季网站 上了解更多信息。

这是我们第一次参加这项计划,我们将会指导一位将与生态项目组合作的技术作家,以大规模重塑我们的记录文档。 您可以在这里了解更多关于整个工程的时间线

我该如何参加?

您是否有兴趣作为技术撰稿人与我们合作? 首先,请了解谷歌今年的技术写作指南 。并查看我们编写的两个 项目构想草案

为了被选为 Electron 的 Season of Docs 技术撰稿人,参与者需要在 6 月 8 日至 7 月 9 日的技术撰稿人申请阶段在 Google Season of Docs 网站上申请。

您的申请应包括一份提案,这是一份书面文件,详细描述了您计划在3个月内在Electron文档上实现的目标。 该提案可以在我们的 “项目构想” (Project Idea) 文档中提到的起点之一上进行开发,也可以是全新的东西。 不知道从哪里开始? 您可以查看去年已接受的提案列表,以获取灵感。

除了提案之外,我们还将研究您作为技术作家的背景。 请附上您的简历副本,重点是相关的写作经验,以及技术写作样本(这些样本可能是现有的文档,教程,博客文章等)。

如果您想讨论项目提案,请在 season-of-docs@electronjs.org 上给我们发送电子邮件,我们可以从那里聊天!

引用

Electron 9.0.0

· 阅读时间:约 5 分钟

Electron 9.0.0 已发布! 它包括升级到 Chromium 83, V8 8.3, 和 Node.js 12.14。 We've added several new API integrations for our spellchecker feature, enabled PDF viewer, and much more!


Electron 团队很高兴发布了 Electron 9.0.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. 这次发布包含升级、修复和新功能。 We can't wait to see what you build with them! Continue reading for details about this release, and please share any feedback you have!

重要变化

  • Multiple improvements to the spellchecker feature. See more details in #22128 and #22368.
  • Improved window events handler efficiency on Linux. #23260.
  • Enable PDF viewer. #22131.

有关新功能和变更的完整列表,请参阅 9.0.0 发布通知

即将发布的 Electron 版本

· 阅读时间:约 1 分钟

Electron 正在暂停更新大型版本


发生了什么?

我们的 大型更新时间表 与Chromium 同步更新,Chromium项目最近由于调整工作时间表已决定 暂停更新。 这意味着,在Chromium经过改变的更新节奏期间,Electron也会暂时性地暂停重大更新。

我们认为,我们的最佳选择是沿着Chromium的脚步走下去, 因此,在过渡时期,Electron团队将转为全天候处理错误、安全、性能和稳定性问题。

我们希望确保我们的维护者和消费者的福利在这个时候都得到优先考虑。 因此,我们欢迎你们的反馈,并期待着恢复我们的正常发布时间表。

欲了解更多更新信息,请关注我们的 Twitter

编辑(2020-03-30):Election 9 稳定版将针对Chromium M83,并于2020年5月19日发布。 这针对 Chromium的声明 关于跳过M82稳定日期并调整M83稳定版发布日期。

Electron 8.0.0

· 阅读时间:约 7 分钟

Electron 8.0.0 已发布! 它包括升级到 Chromium 80, V8 8.0, 和 Node.js 12.13.0。 We've added Chrome's built-in spellchecker, and much more!


Electron 团队很高兴发布了 Electron 8.0.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. 这次发布包含升级、修复和新功能。 We can't wait to see what you build with them! Continue reading for details about this release, and please share any feedback you have!

重要变化

  • Implemented usage of Chrome's built-in spellchecker feature. See more details in #20692 and #21266.
  • IPC communication now uses v8's Structured Clone Algorithm. This is faster, more featureful, and less surprising than the existing logic, and brings about a 2x performance boost for large buffers and complex objects. Latency for small messages is not significantly affected. See more details in #20214.

有关新功能和变更的完整列表,请参阅 8.0.0 发布通知

Electron joins the OpenJS Foundation

· 阅读时间:约 2 分钟

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 漏洞修复 (CVE-2019-13720)

· 阅读时间:约 2 分钟

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

此漏洞已被分配 CVE-2019-13720。 您可以在 Chrome 博客文章 中阅读更多关于它的信息。

请注意,Chrome将这个漏洞报告为已经被利用,因此强烈建议您尽快升级 Electron


作用域

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 在发布通知之前已自动包含了上游的修复。 Electron 8同样不受影响。 该漏洞在Electron 5中不存在,因此该版本也不受影响。

Further Information

此漏洞由卡巴斯基实验室的 Anton Ivanov 和 Alexey Kulaev 发现,并报告给 Chrome 团队。 Chrome博客文章可以在这里找到

要了解更多关于维护您的 Electron 应用安全的最佳做法,请参阅我们的 安全教程

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

Electron 7.0.0

· 阅读时间:约 4 分钟

Electron 7.0.0 已发布! 它包括升级Chromium 78, V8 7.8和Node.js 12.8.1。 我们已经添加了一个窗口到Arm 64版本,更快的 IPC 方法,一个新的 本地主题 API,还有更多!


Electron 团队很高兴发布了 Electron 7.0.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. 这次发布包含升级、修复和新功能。 We can't wait to see what you build with them! Continue reading for details about this release, and please share any feedback you have!

重要变化

  • Stack Upgrades:

    StackVersion in Electron 6Version in Electron 7What's New
    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.

重大更改

有关这些和未来变化的更多信息可在 计划的破坏性变化 页面找到。

  • 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

终止对 4.x.y 的支持

Electron 4.x.y has reached end-of-support as per the project's support policy. 我们鼓励开发者将应用程序升级到更新的 Electron 版本。

应用反馈项目

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.

接下来

在短期内,您可以期待团队继续专注于跟上构成 Electron 的主要组件的开发,包括 Chromium、Node 和 V8。 尽管我们谨慎地避免对发布日期做出承诺,但我们的计划是大约每季度发布一次 Electron 的新主要版本以及这些组件的新版本。 暂定 8.0.0 时间表 展示了 Electron 8 开发生命周期中的关键日期。 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.