Electron 25.0.0
¡Electron 25.0.0 ha sido liberado! Incluye actualizaciones a Chromium 114, V8 11.4, y Node.js 18.15.0. ¡Lea a continuación para más detalles!
El equipo de Electron esta emocionado de anunciar el lanzamiento de Electron 25.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 join our community Discord! Bugs and feature requests can be reported in Electron's issue tracker.
Soporte 22.x.y continuado
Como se indica en Farewell, Windows 7/8/8.1, Electron 22 (Chromium 108) planeado fin de la vida se ampliará del 30 de mayo de 2023 al 10 de octubre de 2023. The Electron team will continue to backport any security fixes that are part of this program to Electron 22 until October 10, 2023. La fecha de soporte de octubre sigue las fechas de soporte extendidas tanto de Chromium como de Microsoft. El 11 de octubre, el equipo Electron abandonará al mantenimiento a las tres últimas versiones estables más importantes, que ya no admitirán Windows 7/8/8.1.
| E25 (May'23) | E26 (Ago'23) | E27 (Oct'23) |
|---|---|---|
| 25.x.y | 26.x.y | 27.x.y |
| 24.x.y | 25.x.y | 26.x.y |
| 23.x.y | 24.x.y | 25.x.y |
| 22.x.y | 22.x.y | -- |
Notable Changes
- Se implementó
net.fetchen el módulo net de Electron, usando la pila de red de Chromium. Esto difiere delfetch()de Node, que usa la pila HTTP de Node.js. Ver #36733 y #36606. - Se añadió
protocol.handle, que reemplaza y depreca aprotocol.{register,intercept}{String,Buffer,Stream,Http,File}Protocol. #36674 - Se extiende el mantenimiento para Electron 22, para que coincida con el plan de desaprobación de Windows 7/8/8.1 de Microsoft. Ver detalles adicionales al final de esta entrada de blog.
Stack Changes
- Chromium
114 - Node.js
18.15.0 - V8
11.4
Restaurar archivos borrados
Deprecado: protocol.{register,intercept}{Buffer,String,Stream,File,Http}Protocol
Los métodos protocol.register*Protocol y protocol.intercept*Protocol han reemplazado por protocol.handle.
El nuevo método puede registrar un nuevo protocolo o interceptar un protocolo existente, y las respuestas pueden ser de cualquier tipo.
// Obsoleto en Electron 25
protocol.registerBufferProtocol('some-protocol', () => {
callback({ mimeType: 'text/html', data: Buffer.from('<h5>Response</h5>') });
});
// Reemplazar con
protocol.handle('some-protocol', () => {
return new Response(
Buffer.from('<h5>Response</h5>'), // También podría ser un string o ReadableStream.
{ headers: { 'content-type': 'text/html' } },
);
});
// Obsoleto en Electron 25
protocol.registerHttpProtocol('some-protocol', () => {
callback({ url: 'https://electronjs.org' });
});
// Reemplazar con
protocol.handle('some-protocol', () => {
return net.fetch('https://electronjs.org');
});
// Obsoleto en Electron 25
protocol.registerFileProtocol('some-protocol', () => {
callback({ filePath: '/path/to/my/file' });
});
// Reemplazar con
protocol.handle('some-protocol', () => {
return net.fetch('file:///path/to/my/file');
});
Deprecado: BrowserWindow.setTrafficLightPosition(position)
BrowserWindow.setTrafficLightPosition(position) ahora es obsoleto, la API BrowserWindow.setWindowButtonPosition(position) debe ser usada en su lugar, la cual acepta null en vez de { x: 0, y: 0 } para restablecer la posición al valor predeterminado del sistema.
// Obsoleto en Electron 25
win.setTrafficLightPosition({ x: 10, y: 10 });
win.setTrafficLightPosition({ x: 0, y: 0 });
// Reemplazar con
win.setWindowButtonPosition({ x: 10, y: 10 });
win.setWindowButtonPosition(null);
Deprecado: BrowserWindow.getTrafficLightPosition()
BrowserWindow.getTrafficLightPosition() ahora es obsoleto, la API BrowserWindow.getWindowButtonPosition() debe ser usada en su lugar, la cual retorna null en vez de { x: 0, y: 0 } cuando no hay una posición personalizada.
// Deprecated in Electron 25
const pos = win.getTrafficLightPosition();
if (pos.x === 0 && pos.y === 0) {
// No custom position.
}
// Reemplazar con
const ret = win.getWindowButtonPosition();
if (ret === null) {
// Sin posición personalizada.
}
Nuevas características
- Se añadió
net.fetch(). #36733net.fetchsoporta solicitudes a las URLfile:y a protocolos personalizados conprotocol.register*Protocol. #36606
- Se añadieron las APIs BrowserWindow.set/getWindowButtonPosition. #37094
- Se añadió
protocol.handle, que reemplaza y depreca aprotocol.{register,intercept}{String,Buffer,Stream,Http,File}Protocol. #36674 - Se añadió el evento
will-frame-navigateenwebContentsy la etiqueta<webview>, que dispara cada fotograma dentro de la jerarquía de fotogramas que se intenta navegar. #34418 - Se ha añadido información del iniciador a los eventos del navegador. Esta información permite distinguir
window.opende un marco antecesor causando una navegación, en lugar de una navegación iniciada por herederos. #37085 - Se añadió net.resolveHost que resuelve los host usando el objeto defaultSession. #38152
- Se añadió el nuevo evento 'did-resign-active' en
app. #38018 - Se añadieron varias opciones de tamaño de página estándar a
webContents.print(). #37159 - Se añadió el indicador
enableLocalEchoal manipulador de sesiónses.setDisplayMediaRequestHandler()callback para permitir que la entrada de audio remota se haga eco en el flujo de salida local cuandoaudioes unWebFrameMain. #37315 - Se añadió información de gestión térmica a
powerMonitor. #38028 - Permite pasar una ruta absoluta a la API session.fromPath(). #37604
- Expone el evento
audio-state-changedenwebContents. #37366
¿Y ahora, qué?
A corto plazo puedes esperar que el equipo continúe enfocándose en mantener al día con el desarrollo de los principales componentes que componen Electron, incluyendo Chromium, Node, y V8.
You can find Electron's public timeline here.
More information about future changes can be found on the Planned Breaking Changes page.

