Saltar al contenido principal

Electron 30.0.0

· 5 lectura mínima

¡Electron 30.0.0 ha sido liberado! Incluye actualizaciones a Chromium 124.0.6367.49, V8 12.4 y Node.js 20.11.1.


El equipo de Electron esta emocionado de anunciar el lanzamiento de Electron 30.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.

If you have any feedback, please share it with us on Twitter or Mastodon, or join our community Discord! Bugs and feature requests can be reported in Electron's issue tracker.

Notable Changes

Highlights

  • Fusible de integridad ASAR ahora soportado en Windows (#40504)
    • Las aplicaciones existentes con la integración ASAR habilitada pueden no funcionar en Windows si no están configuradas correctamente. Las aplicaciones que usan herramientas de empaquetado Electron deben actualizar a @electron/packager@18.3.1 o @electron/forge@7.4.0.
    • Eche un vistazo a nuestro tutorial de integración ASAR para más información.
  • Añadido WebContentsView y BaseWindow módulos de proceso principales, haciendo obsoleto y reemplazando BrowserView (#35658). Learn more about how to migrate from BrowserView to WebContentsView in this blog post.
    • BrowserView es ahora una corrección sobre WebContentsView y la implementación antigua ha sido eliminada.
    • Consulte nuestra documentación de Incrustaciones Web para una comparación de la nueva API WebContentsView a otras API similares.
  • Soporte implementado para File System API (#41827)

Stack Changes

Electron 30 actualiza Chromium de 122.0.6261.39 a 124.0.6367.49, Node de 20.9.0 a 20.11.1, y V8 de 12.2 a 12.4.

Nuevas características

  • Se añadió una preferencia web 'transparent' a las vistas web. (#40301)
  • Se añadió una nueva propiedad de instancia navigationHistory en la API webContents con el método navigationHistory.getEntryAtIndex, permitiendo a las aplicaciones recuperar la URL y el título de cualquier entrada de navegación dentro del historial de navegación. (#41662)
  • Se añadió el nuevo método BrowserWindow.isOccluded() para permitir que las aplicaciones revisen el estado de oclusión. (#38982)
  • Añadido soporte de configuración de proxy para peticiones realizadas con el módulo net del proceso de utilidad. (#41417)
  • Se ha añadido soporte para puertos Bluetooth solicitados por la clase de servicio ID en navigator.serial. (#41734)
  • Se añadió soporte para la bandera CLI de Node.js NODE_EXTRA_CA_CERTS. (#41822)

Restaurar archivos borrados

Behavior Changed: cross-origin iframes now use Permission Policy to access features

Iframes de origen cruzado deben ahora especificar características disponibles para un iframe dado a través del atributo allow para acceder a ellos.

Consulte documentación para más información.

Eliminado: El interruptor de línea de comando --disable-color-correct-rendering

Este interruptor nunca se documentó formalmente, pero su eliminación se muestra aquí de cualquier forma. Chromium itself now has better support for color spaces so this flag should not be needed.

Comportamiento cambiado: comportamiento BrowserView.setAutoResize en macOS

En Electron 30, BrowserView ahora es un envoltorio alrededor de la nueva API WebContentsView.

Anteriormente, la función setAutoResize de la API BrowserView fue respaldada por autoresizing en macOS, y por un algoritmo personalizado en Windows y Linux. For simple use cases such as making a BrowserView fill the entire window, the behavior of these two approaches was identical. However, in more advanced cases, BrowserViews would be autoresized differently on macOS than they would be on other platforms, as the custom resizing algorithm for Windows and Linux did not perfectly match the behavior of macOS's autoresizing API. The autoresizing behavior is now standardized across all platforms.

Si su aplicación utiliza BrowserView. etAutoResize para hacer algo más complejo que hacer que un BrowserView llene toda la ventana, es probable que tenga una lógica personalizada para manejar esta diferencia de comportamiento en macOS. If so, that logic will no longer be needed in Electron 30 as autoresizing behavior is consistent.

Eliminado: propiedad params.inputFormType en context-menu en WebContents

La propiedad inputFormType del objeto params en el evento context-menu de WebContents ha sido eliminada. En su lugar, utilice la nueva propiedad formControlType.

Eliminado: process.getIOCounters()

Chromium has removed access to this information.

Fin de soporte para 27.x.y

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

E30 (Apr'24)E31 (Jun'24)E32 (Ago'24)
30.x.y31.x.y32.x.y
29.x.y30.x.y31.x.y
28.x.y29.x.y30.x.y

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.

You can find Electron's public timeline here.

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