Saltar al contenido principal

Nueva cadencia de liberación de Electron

· 7 lectura mínima

A partir de septiembre de 2021, Electron lanzará una nueva versión principal estable cada 8 semanas.


En 2019, Electron comenzó un ciclo de 12 semanas para cada lanzamiento para coincidir con el ciclo de 6 semanas de Chromium. Recientemente, tanto Chrome como Microsoft anunciaron cambios que nos hicieron reconsiderar la cadencia de lanzamiento actual de Electron:

  1. Chromium planea lanzar un nuevo hito cada 4 semanas, comenzando con Chrome 94 el 21 de septiembre de 2021. Esta frecuencia también añade una nueva opción de Estabilidad Ampliada cada 8 semanas, que contendrá todas las correcciones de seguridad actualizadas.

  2. La tienda de Microsoft exigirá que las aplicaciones basadas en Chromium no tengan más de dos años de antigüedad. Por ejemplo, si la última versión principal publicada de Chromium es la 85, cualquier navegador basado en Chromium debe estar al menos en la versión 83 o superior. Esta norma incluye las aplicaciones Electron.

Empezando en septiembre de 2021, Electrón lanzará una nueva versión mayor estable cada 8 semanas, coincidiendo con las 8 semanas de Extensión de Lanzamientos Estables de Chromium.

Nuestro primer lanzamiento con la Extensión de Lanzamientos Estables de Chromium será Electrón 15 en el 21 de septiembre de 2021.

Sabiendo que un cambio en la frecuencia de lanzamiento afectará a otras aplicaciones posteriores, queríamos informar a nuestra comunidad de desarrolladores lo antes posible. Siga leyendo para conocer más detalles sobre nuestro calendario de lanzamientos para 2021.

Electron 15: Alpha temporal

Dado que nuestro lanzamiento original de Electron 15 apuntaba a una versión no estable extendida (las versiones estables extendidas de Chromium se basan en sus versiones pares), tuvimos que cambiar nuestra fecha original de lanzamiento. Sin embargo, una aplicación de Electron debe utilizar las dos versiones principales más recientes de Chromium para ser aceptada en la tienda de Microsoft, lo que hacía insostenible la espera de dos versiones de Chromium.

Con estos dos requisitos, nuestro equipo se enfrentó a un dilema de tiempos. Mover Electron 15 para incluir Chromium M94 permitiría a los desarrolladores de aplicaciones entrar en la primera versión estable extendida de Chromium; sin embargo, también acortaría el ciclo de beta estable a solo 3 semanas.

Para ayudar con este cambio, Electron ofrecerá una construcción alfa temporal, solo para la versión de Electron 15. Esta versión alfa permitirá a los desarrolladores disponer de más tiempo para probar y planificar el lanzamiento de Electron 15, con una versión más estable que las actuales versiones.

La compilación del canal alfa se lanzará para Electron 15 el 20 de julio de 2021. Pasará a una versión beta el 1 de septiembre de 2021 con un objetivo de lanzamiento estable el 21 de septiembre de 2021. Las siguientes versiones de Electron no tendrán versiones alfa.

Plan 2021 para lanzamientos

A continuación se muestra nuestro calendario de lanzamiento actual para 2021:

ElectronChromeLanzamiento alfaLanzamiento betaLanzamiento estableCiclo estable (semanas)
E13M91-2021-Mar-052021-May-2512
E14M93-2021-May-262021-Ago-3114
E15M942021-Jul-2001-Sept-202121-Sept-20219 (incluye alfa)
E16M96-2021-Sep-222021-nov-168
E17M98-2021-nov-172022-fe-0111

La incorporación del canal alfa amplía el tiempo de desarrollo antes del lanzamiento de Electron 15 de 3 a 9 semanas, más cerca de nuestro nuevo ciclo de 8 semanas, sin dejar de cumplir los requisitos para la presentación en la tienda de Windows.

Para ayudar aún más a los desarrolladores de aplicaciones, durante lo que queda de 2021 hasta mayo de 2022, también ampliaremos nuestra política de versiones soportadas de las últimas 3 versiones a las últimas 4 versiones de Electron. Eso significa que, aunque no puedas modificar inmediatamente tu calendario de actualizaciones, las versiones más antiguas de Electron seguirán recibiendo actualizaciones y correcciones de seguridad.

Responder a las inquietudes

Hay una razón por la que publicamos este post mucho antes de que esté previsto este cambio de ciclo de lanzamiento. Sabemos que un ciclo de lanzamiento más rápido tendrá un impacto real en las aplicaciones de Electron, algunas de las cuales ya pueden encontrar nuestra frecuencia de lanzamiento mayor agresiva.

A continuación hemos tratado de responder a las preocupaciones más comunes:

¿Por qué hacer este cambio? ¿Por qué no mantener la cadencia de publicación de 12 semanas?

Para entregar las versiones más actualizadas de Chromium en Electron, nuestro programa necesita seguir el suyo. Puede encontrar más información sobre el ciclo de lanzamiento de Chromium aquí.

Además, la cadencia actual de publicación de 12 semanas sería insostenible con los nuevos requisitos de presentación de Microsoft Store. Incluso las aplicaciones en la última versión estable de Electron experimentarían un período de aproximadamente dos semanas en el que su aplicación puede ser rechazada bajo los nuevos requisitos de seguridad.

Cada nueva versión de Chromium contiene nuevas características, correcciones de errores / correcciones de seguridad y mejoras de V8. Queremos que usted, como desarrolladores de aplicaciones, tenga estos cambios en el momento oportuno, para que nuestras fechas de lanzamiento estables sigan coincidiendo con todas las otras versiones estables de Chromium. Como desarrollador de aplicaciones, tendrás acceso a las nuevas características de Chromium y V8 y los arreglos mucho antes.

❓ El programa de liberación de 12 semanas existente ya se mueve rápidamente. ¿Qué pasos está dando el equipo para facilitar la actualización?

Una ventaja de lanzamientos más frecuentes es tener versiones más pequeñas. Entendemos que actualizar las versiones más importantes de Electron puede ser difícil. Esperamos que los lanzamientos más pequeños introduzcan menos cambios importantes en Chromium y Node, así como menos cambios de ruptura, por lanzamiento.

❓ ¿Habrá una versión alfa disponible para futuras versiones de Electron?

No hay planes de soportar una versión alfa permanente en este momento. Este alfa sólo está pensado para Electron 15, como una manera de ayudar a los desarrolladores a actualizarse más fácilmente en el período de lanzamiento acortado.

❓ ¿Electron extenderá el número de versiones soportadas?

Ampliaremos nuestra política de versiones soportadas desde las últimas tres versiones hasta las últimas cuatro versiones de Electron hasta mayo de 2022, con el lanzamiento de Electron 19. Después de que Electron 19 sea lanzado, volveremos a soportar las tres últimas versiones principales, así como los lanzamientos beta y nocturnos.

E13 (May'21)E14 (Ago'21)E15 (Sept'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--

¿Preguntas?

📨 Si tienes preguntas o preocupaciones, por favor envíanos un correo electrónico a info@electronjs.org o únete a nuestro Discord. Sabemos que esto es un cambio que afectará a muchas aplicaciones y desarrolladores, y tus comentarios son muy importantes para nosotros. ¡Queremos saber tu opinión!

Electron 13.0.0

· 3 lectura mínima

¡Electron 13.0.0 ha sido liberado! It includes upgrades to Chromium 91 and V8 9.1. We've added several API updates, bug fixes, and general improvements. ¡Lea a continuación para más detalles!


El equipo de Electron esta emocionado de anunciar el lanzamiento de Electron 13.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. Continue reading for details about this release, and please share any feedback you have!

Notable Changes

Stack Changes

Características Destacadas

  • Added process.contextIsolated property that indicates whether the current renderer context has contextIsolation enabled. #28252
  • Added new session.storagePath API to get the path on disk for session-specific data. #28866
  • Deprecated the new-window event of WebContents. Es reemplazado por webContents.setWindowOpenHandler()
  • Added process.contextId used by @electron/remote. #28251

Vea la notas de lanzamiento 13.0.0 para la lista completa de nuevas características y cambios.

Restaurar archivos borrados

  • window.open() parameter frameName is no longer set as window title. #27481
  • Changed session.setPermissionCheckHandler(handler) to allow for handler's first parameter, webContents to be null. #19903

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

API Modificada

  • Added roundedCorners option for BrowserWindow. #27572
  • Added new session.storagePath API to get the path on disk for session-specific data.28866
  • Added support for passing DOM elements over the context bridge. #26776
  • Added process.uptime() to sandboxed renderers. #26684
  • Added missing fields to the parameters emitted as part of the context-menu event.#26788
  • Added support for registering Manifest V3 extension service workers.
  • Added ‘registration-completed’ event to ServiceWorkers. #27562

Cambios Eliminado/Obsoletos

Las siguientes APIs han sido eliminadas o ahora están obsoletas:

  • Deprecated the new-window event of WebContents. Es reemplazado por webContents.setWindowOpenHandler()

  • Eliminado obsoleto shell.moveItemToTrash(). #26723

  • Removed the following deprecated BrowserWindow extension APIs:

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

    Use the session APIs instead:

    • ses.loadExtension(path)
    • ses.removeExtension(extension_id)
    • ses.getAllExtensions()
  • Los métodos siguientes de systemPreferences han quedado obsoletos:

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

    En su lugar, usa las siguientes propiedades nativeTheme:

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

Fin de soporte para 10.x.y

Electron 10.x.y ha alcanzado el fin de soporte según la política de soporte del proyecto. Developers and applications are encouraged to upgrade to a newer version of Electron.

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. El calendario tentativo 14.0.0 traza fechas claves en el ciclo de vida del desarrollo de Electron 14.0. 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 12.0.0

· 6 lectura mínima

¡Electron 12.0.0 ha sido liberado! Incluye actualizaciones para Chromium 89, V8 8.9 y Node.js 14.16. Hemos agregados cambios al módulo remoto, nuevos valores por defecto para contextIsolation, una nueva API webFrameMain y mejoras generales. ¡Lea a continuación para más detalles!


El equipo de Electron esta emocionado de anunciar el lanzamiento de Electron 12.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. Continue reading for details about this release, and please share any feedback you have!

Notable Changes

Stack Changes

Características Destacadas

  • El método ContextBridge exposeInMainWorld ahora puede exponer APIs non-object. #26834
  • Actualizado de Node 12 a Node 14. #23249
  • Se añadio nueva API webFrameMain para acceder a subframes de una instancia WebContents desde el main process. #25464
  • Los valores por defecto de contextIsolation y worldSafeExecuteJavaScript ahora son true. #27949 #27502

Vea la notas de lanzamiento 12.0.0 para la lista completa de nuevas características y cambios.

Restaurar archivos borrados

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

API Modificada

  • Agregada API webFrameMain: El módulo webFrameMain puede ser usado para buscar marcos a través instancias WebContents existentes. Este es el equivalente del proceso principal de la API existente webFrame. Más información acerca de esta nueva API puede ser encontrada aquí, y en nuestra documentación.
  • app Cambios en la API:
    • Se añadió non-localized serviceName a 'child-process-gone' / app.getAppMetrics(). #25975
    • Se añadió nueva propiedad app.runningUnderRosettaTranslation para detectar cuando se ejecuta bajo rosetta en Apple silicon. #26444
    • Se añadió exitCode a render-process-gone detalles (app & webContents). #27677
  • BrowserWindow Cambios en la API:
    • Se añadió API BrowserWindow.isTabletMode(). #25209
    • Se añadió los eventos resized (Windows/macOS) y moved (Windows) a BrowserWindow. #26216
    • Se añadió nuevo evento system-context-menu para permitir prevenir y anular el menú contextual del sistema. #25795
    • Se añadió win.setTopBrowserView() para que pueda ser lanzadado BrowserView. #27713
    • Se añadió webPreferences.preferredSizeMode para permitir el tamaño de las vista de acuerdo con el tamaño mínimo de su documento. #25874
  • contextBridge Cambios en la API:
    • Permitido el método ContextBridge exposeInMainWorld para exponer APIs non-object. #26834
  • display Cambios en la API:
    • Se añadió la propiedad displayFrequency al objeto Display para permitir obtener información sobre el ratio de actualización en Windows. #26472
  • extensions Cambios en la API:
    • Se añadió soporte para algunas APIs chrome.management. #25098
  • MenuItem Cambios API:
    • Se añadió para mostrar el menú compartir de macOS. #25629
  • net Cambios en la API:
    • Se añadió una nueva opción credentials para net.request(). #25284
    • Se añadió net.online para detectar si actualmente hay conexión a Internet. #21004
  • powerMonitor Cambios en la API:
    • Se añadió powerMonitor.onBatteryPower. #26494
    • Se añadió el evento cambio rápido de usuario a powerMonitor en macOS. #25321
  • session Cambios en la API:
    • Se añadió la opción allowFileAccess a la API ses.loadExtension() API. #27702
    • Se añadió la API display-capture para session.setPermissionRequestHandler. #27696
    • Se añadió una opción disabledCipherSuites a session.setSSLConfig. #25818
    • Se añadió los eventos extension-loaded, extension-unloaded, y extension-ready a session. #25385
    • Se añadió session.setSSLConfig() para permitir configurar SSL. #25461
    • Se añadió soporte para especificar específicamente los modos direct, auto_detect o system en session.setProxy(). #24937
    • Se añadió soporte Serial API. #25237
    • Se añadió APIs para activar/desactivar el corrector ortográfico. #26276
  • shell Cambios en la API:
    • Se añadió API asíncrona shell.trashItem(), en reemplazo de la sincróna shell.moveItemToTrash(). #25114
  • webContents Cambios en la API:
    • Se añadió una pequeña sugerencia de consola a la consola para ayudar a depurar los fallos del renderizador. #25317
    • Se añadió las propiedades frame y webContents al detalle del objeto en los manejadores webRequest. #27334
    • Añadido webContents.forcefullyCrashRenderer() para terminar forzosamente un proceso de renderizado para ayudar a recuperar un proceso de renderizado colgado. #25580
    • Se añadió la API setWindowOpenHandler para las ventanas hijas creadas por el renderer, y se desaprueba el evento new-window event. #24517
  • webFrame Cambios en la API:
    • Se añadió la API de revisión ortográfica al renderer. #25060

Cambios Eliminado/Obsoletos

Las siguientes APIs han sido eliminadas o ahora están obsoletas:

  • Obsoleto el módulo remote. Es reemplazado por @electron/remote. #25293
  • Se eliminaron APIs crashReporter obsoletas. #26709
  • Se eliminó los enlaces a la página web de Electron del menú 'Ayuda' por defecto en las aplicaciones empaquetadas. #25831

Fin de soporte para 9.x.y

Electron 9.x.y ha alcanzado el fin de soporte según la política de soporte del proyecto. Developers and applications are encouraged to upgrade to a newer version of Electron.

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. El calendario tentativo 13.0.0 traza fechas claves en el ciclo de vida del desarrollo de Electron 13.0. 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 11.0.0

· 4 lectura mínima

¡Electron 11.0.0 ha sido liberado! Incluye actualizaciones a Chromium 87, V8 8.7, y Node.js 12.18.3. Añadimos soporte para Apple silicon, y mejoras generales. ¡Lea a continuación para más detalles!


El equipo de Electron esta emocionado de anunciar el lanzamiento de Electron 11.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. La versión está llena de actualizaciones, correcciones y nuevo soporte para el hardware de Apple's M1.

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!

Notable Changes

Stack Changes

Características Destacadas

Vea la notas de lanzamiento 11.0.0 para la lista completa de nuevas características y cambios.

Restaurar archivos borrados

  • Eliminó APIs experimentales: BrowserView.{fromId, fromWebContents, getAllViews} y la propiedad id de BrowserView. #23578

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

API Modificada

  • Se añadió la API app.getApplicationInfoForProtocol() que devuelve información detallada acerca de la aplicación que maneja un determinado protocolo. #24112
  • Añadida app.createThumbnailFromPath() API que devuelve una imagen de vista previa de un archivo dada su ruta de archivo y un tamaño máximo de miniatura. #24802
  • Añadido webContents.forcefullyCrashRenderer() para terminar forzosamente un proceso de renderizado para ayudar a recuperar un proceso de renderizado colgado. #25756

Fin de soporte para 8.x.y

Electron 8.x.y ha alcanzado el fin de soporte según la política de soporte del proyecto. Developers and applications are encouraged to upgrade to a newer version of Electron.

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. Aunque tenemos cuidado de no hacer promesas sobre las fechas de publicación, nuestro plan es lanzar nuevas versiones importantes de Electron con nuevas versiones de esos componentes aproximadamente en cuarto. El calendario tentativo 12.0.0 traza fechas claves en el ciclo de vida del desarrollo de Electron 12.0. 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.

Trabajos continuados para la desaprobación del Módulo remote

Empezamos a trabajar para eliminar el módulo remote en Electron 9. Planeamos eliminar el módulo remote en sí mismo en Electron 14.

Sigue y lee este asunto para conocer los planes completo y detalles para la desaprobación.

Final Step for Requiring Native Node Modules to be Context Aware or N-API (in Electron 12)

From Electron 6 onwards, we've been laying the groundwork to require native Node modules loaded in the renderer process to be either N-API or Context Aware. Enforcing this change allows for stronger security, faster performance, and reduced maintenance workload. The final step of this plan is to remove the ability to disable render process reuse in Electron 12.

Sigue y lee este asunto para conocer los planes completo y detalles para la desaprobación.

Soporte de Apple Silicon

· 3 lectura mínima

Con el hardware de Apple Silicon que se publicará a finales de este año, ¿Cómo se ve la ruta para que tu aplicación Electron funcione en el nuevo hardware?


Con el lanzamiento de Electron 11.0.0-beta, el equipo Electron está enviando versiones de Electron que funcionan con el nuevo hardware de Apple Silicon que Apple planea enviar más adelante este año. Puedes obtener la última versión beta con npm install electron@beta o descargarla directamente desde nuestra página web de lanzamientos.

¿Cómo funciona?

A partir de Electron 11, enviaremos versiones separadas de Electron para Intel Macs y Apple Silicon Macs. Antes de este cambio, ya estábamos enviando dos artefactos, darwin-x64 y mas-x64, siendo este último para uso de compatibilidad de la App Store de Mac. Ahora estamos enviando otros dos artículos, darwin-arm64 y mas-arm64, que son los equivalentes de Apple Silicon de los principales artefactos.

¿Qué debo hacer?

Necesitarás enviar dos versiones de tu aplicación: una para x64 (Intel Mac) y otra para arm64 (Apple Silicon). La buena noticia es que electron-packager, electron-rebuild y electron-forge ya soportan la arquitectura arm64. Mientras estés ejecutando las últimas versiones de esos paquetes, tu aplicación debería funcionar sin problemas una vez que actualices la arquitectura de destino a arm64.

En el futuro, lanzaremos un paquete que te permite "combinar" tus arm64 y x64 aplicaciones en un solo binario universal, pero vale la pena señalar que este binario sería enorme y probablemente no sea ideal para enviar a los usuarios.

Actualización: Este paquete ya está disponible en @electron/universal. Puede usarlo para combinar dos aplicaciones x64 empaquetadas y arm64 en un solo binario.

Posibles problemas

Módulos nativos

Como está apuntando a una nueva arquitectura, necesitará actualizar varias dependencias que pueden causar problemas de compilación. La versión mínima de ciertas dependencias se incluye a continuación para su referencia.

DependenciaRequisitos de la versión
Xcode>=12.2.0
node-gyp>=7.1.0
electron-rebuild>=1.12.0
electron-packager>=15.1.0

Como resultado de estos requerimientos de la versión de dependencias, es posible que tengas que arreglar/actualizar ciertos módulos nativos. Una cosa importante es que la actualización de Xcode introducirá una nueva versión del SDK de macOS, que puede causar fallos en la compilación de sus módulos nativos.

¿Cómo lo compruebo?

Actualmente, las aplicaciones de Apple Silicon sólo funcionan con el hardware de Apple Silicon que no está disponible comercialmente en el momento de escribir este post en el blog. Si tienes un kit de transición de desarrollador, puedes probar tu aplicación con él. De lo contrario, tendrá que esperar a la liberación de la producción de hardware Apple Silicon para probar si su aplicación funciona.

¿Y qué ocurre con Rosetta 2?

Rosetta 2 es la última iteración de su tecnología de Rosetta que le permite ejecutar aplicaciones x64 Intel en su nuevo hardware de Apple Silicon arm64. Aunque creemos que las aplicaciones x64 Electron funcionarán en Rosetta 2, hay algunas cosas importantes a tener en cuenta (y razones por las que debería enviar un binario arm64 nativo).

  • El rendimiento de su aplicación se degradará significativamente. Electron / V8 usa la compilación JIT para JavaScript, y debido a cómo funciona Rosetta Usted ejecutará efectivamente JIT dos veces (una en V8 y otra en Rosetta).
  • Usted pierde el beneficio de la nueva tecnología en Apple Silicon, como el mayor tamaño de la página de memoria.
  • ¿Mencionamos que el rendimiento será significativamente degradado?

Servidor Comunitario de Discord y Hacktoberfest

· 3 lectura mínima

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


Hacktoberfest and Discord banner

Lanzamiento de la comunidad de Electron en Discord

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

¿Por qué un nuevo servidor de Discord?

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

As a large and long-running open-source project, Electron wouldn’t have been nearly as successful without all the contributions from its community, from code submissions to bug reports to documentation changes, and much more. 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 lectura mínima

¡Electron 10.0.0 ha sido liberado! Incluye actualizaciones a Chromium 85, V8 8.5y Node.js 12.16. Hemos agregado varias integraciones y mejoras a la API. ¡Lea a continuación para más detalles!


El equipo de Electron esta emocionado de anunciar el lanzamiento de Electron 10.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. The release is packed with upgrades, fixes, and new features.

En la versión 10 de Electron, también hicimos un cambio en nuestras notas de publicación. 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!

Notable Changes

Stack Changes

Características Destacadas

  • 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

Vea la notas de lanzamiento 10.0.0 para la lista completa de nuevas características y cambios.

Restaurar archivos borrados

  • Se cambió el valor por defecto de enableRemoteModule a false. #22091
    • This is part of our plans for deprecating the remote module and moving it to userland. You can read and follow this issue that details our reasons for this and includes a proposed timeline for deprecation.
  • Se cambió el valor por defecto de app.allowRendererProcessReuse a true. #22336 (Also in Electron 9)
    • This will prevent loading of non-context-aware native modules in renderer processes.
    • You can read and follow this issue that details our reasons for this and includes a proposed timeline for deprecation.
  • Fixed the positioning of window buttons on macOS when the OS locale is set to an RTL language (like Arabic or Hebrew). Frameless window apps may have to account for this change while styling their windows. #22016

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

API Modificada

  • Session: Can now check if a given session is persistent by calling the ses.isPersistent() API. #22622
  • Contents: Added contents.getBackgroundThrottling() method and contents.backgroundThrottling property. #21036

API Obsoletas

Las siguientes APIs ahora están marcadas como obsoletas o eliminadas:

  • Removed the deprecated currentlyLoggingPath property of netLog. Additionally, netLog.stopLogging no longer returns the path to the recorded log. #22732
  • Deprecated uncompressed crash uploads in crashReporter. #23598

Fin de soporte para 7.x.y

Electron 7.x.y ha alcanzado el fin de soporte según la política de soporte del proyecto. Developers and applications are encouraged to upgrade to a newer version of Electron.

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. El calendario tentativo 11.0.0 traza fechas claves en el ciclo de vida del desarrollo de Electron 11.0. 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.

Continued Work for Deprecation of remote Module (in Electron 11)

We started work to remove the remote module in Electron 9 and we're continuing plans to remove the remote module. En Electron 11, planeamos continuar el trabajo de refactorizar para implementar WeakRef como lo hemos hecho en Electron 10. Please read and follow this issue for full plans and details for deprecation.

Final Step for Requiring Native Node Modules to be Context Aware or N-API (in Electron 12)

Edit: Originally, this blog post stated that we would disable renderer process reuse in Electron 11. Disabling renderer process reuse has now been pushed to Electron 12.

From Electron 6 onwards, we've been laying the groundwork to require native Node modules loaded in the renderer process to be either N-API or Context Aware. Enforcing this change allows for stronger security, faster performance, and reduced maintenance workload. The final step of this plan is to remove the ability to disable render process reuse in Electron 12. Read this issue for full details including the proposed timeline.

Electron becomes an OpenJS Foundation Impact Project

· Lectura de un minuto

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

· 3 lectura mínima

Electron se enorgullece de estar participando en la segunda edición de la iniciativa de la Temporada de Documentación de Google (Google Season of Docs Initiative) que combina mentores de organizaciones de código abierto con escritores técnicos para mejorar la documentación del proyecto.


¿Qué es la Season of Docs?

Logo de Temporada de Documentos

Season of Docs es un programa que promueve la colaboración entre escritores técnicos y comunidades de código abierto en beneficio de ambas partes. Los mantenedores de código abierto utilizan la experiencia de escritura técnica del escritor para mejorar la estructura y el contenido de su documentación, mientras que el escritor técnico es presentado a una comunidad de código abierto bajo la guía de sus mentores. Obtenga más información sobre ello en el sitio web Season of Docs de Google.

Por primera vez participando en este programa, estaremos orientando a un solo escritor técnico que estará trabajando junto al Grupo de trabajo del ecosistema de Electron para remodelar partes de nuestra documentación. Puedes aprender más sobre la línea temporal de todo el proyecto aquí.

¿Cómo me registro?

¿Está interesado en colaborar con nosotros como escritor técnico? En primer lugar, familiarízate con la guía de escritura técnica de Google para el programa de este año y revisa los dos borradores de ideas del proyecto que hemos preparado.

Para ser seleccionado como escritor técnico de Electron para Season of Docs, los candidatos tendrán que solicitar en el sitio web de Google Season of Docs durante la fase de Solicitud de Escritor Técnico que se está ejecutando del 8 de junio al 9 de julio..

Tu solicitud debe incluir una propuesta, que es un documento escrito que describe en detalle lo que planeas lograr en los documentos de electrones durante el transcurso de 3 meses. Esta propuesta puede desarrollarse en uno de los puntos de partida mencionados en nuestro proyecto de idea doc, o puede ser algo completamente nuevo. ¿No sabes por dónde empezar? Puedes revisar la lista de propuestas aceptadas del año pasado para inspirarte.

Aparte de la propuesta, también estudiaremos sus antecedentes como escritor técnico. Por favor incluya una copia de su currículum con énfasis en la experiencia de escritura relevante, así como muestras técnicas de escritura (estas muestras podrían ser documentación existente, tutorial, artículos de blog, etc.)

Si quieres discutir las propuestas de proyecto, ¡envíanos un correo electrónico a season-of-docs@electronjs.org y podemos chatear desde ahí!

Referencias

Electron 9.0.0

· 4 lectura mínima

¡Electron 9.0.0 ha sido liberado! Incluye actualizaciones a Chromium 83, V8 8.3y Node.js 12.14. We've added several new API integrations for our spellchecker feature, enabled PDF viewer, and much more!


El equipo de Electron esta emocionado de anunciar el lanzamiento de Electron 9.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. The release is packed with upgrades, fixes, and new features. 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!

Notable Changes

Stack Changes

Características Destacadas

  • 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.

Vea la notas de lanzamiento 9.0.0 para la lista completa de nuevas características y cambios.

Restaurar archivos borrados

  • Deprecation warning when using remote without enableRemoteModule: true. #21546
    • This is the first step in our plans for deprecating the remote module and moving it to userland. You can read and follow this issue that details our reasons for this and includes a proposed timeline for deprecation.
  • Set app.enableRendererProcessReuse to true by default. #22336
    • This is continued work for a future requirement that native Node modules loaded in the renderer process be either N-API or Context Aware. Full info and proposed timeline is detailed in this issue.
  • Sending non-JavaScript objects over IPC now throws an exception. #21560
    • This behavior was depreciated in Electron 8.0. In Electron 9.0, the old serialization algorithm has been removed, and sending such non-serializable objects will now throw an "object could not be cloned" error.

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

API Modificada

  • shell Cambios en la API:
    • The shell.openItem API has been replaced with an asynchronous shell.openPath API. proposal
  • sessionAPI changes:
    • Added session.listWordsFromSpellCheckerDictionary API to list custom words in the dictionary. #22128
    • Added session.removeWordFromSpellCheckerDictionary API to remove custom words in the dictionary. #22368
    • Added session.serviceWorkerContext API to access basic service worker info and receive console logs from service workers. #22313
  • app Cambios en la API:
    • Added a new force parameter to app.focus() on macOS to allow apps to forcefully take focus. #23447
  • BrowserWindow Cambios en la API:
    • Added support for property access to some getter/setter pairs on BrowserWindow. #23208

API Obsoletas

Las siguientes APIs ahora están marcadas como obsoletas o eliminadas:

  • shell.openItem API is now depreciated, and replaced with an asynchronous shell.openPath API.
  • <webview>.getWebContents, which was deprecated in Electron 8.0, is now removed.
  • webFrame.setLayoutZoomLevelLimits, which was deprecated in Electron 8.0, is now removed.

Fin de soporte para 6.x.y

Electron 6.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.

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. El calendario tentativo 10.0.0 traza fechas claves en el ciclo de vida del desarrollo de Electron 10.0. 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.

Change the default of contextIsolation from false to true (Starting in Electron 10)

Without contextIsolation, any code running in a renderer process can quite easily reach into Electron internals or an app's preload script. That code can then perform privileged actions that Electron wants to keep restricted.

Changing this default improves the default security of Electron apps, so that apps will need to deliberately opt in to the insecure behaviour. Electron will depreciate the current default of contextIsolation in Electron 10.0, and change to the new default (true) in Electron 12.0.

For more information on contextIsolation, how to enable it easily and it's security benefits please see our dedicated Context Isolation Document.