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.
Notable Changes
Highlights
- Se implementó
net.fetch
en 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 soporte 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
The protocol.register*Protocol
and protocol.intercept*Protocol
methods have been replaced with 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.fetch
soporta 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-navigate
enwebContents
y el tag<webview>
, que dispara cada fotograma dentro de la jerarquía de fotogramas que se intenta navegar. #34418 - Added initiator information to navigator events. Esta información permite distinguir
window.open
de un frame padre causando una navegación, en lugar de una navegación iniciada por hijos. #37085 - Se añadió net.resolveHost que resuelve los hosts usando el objeto defaultSession. #38152
- Se añadió el nuevo evento 'did-resign-active' en
app
. #38018 - Added several standard page size options to
webContents.print()
. #37159 - Added the
enableLocalEcho
flag to the session handlerses.setDisplayMediaRequestHandler()
callback for allowing remote audio input to be echoed in the local output stream whenaudio
is aWebFrameMain
. #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-changed
enwebContents
. #37366
Soporte Continuado 22.x.y
As noted in Farewell, Windows 7/8/8.1, Electron 22's (Chromium 108) planned end of life date will be extended from May 30, 2023 to October 10, 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. On October 11, the Electron team will drop support back to the latest three stable major versions, which will no longer support Windows 7/8/8.1.
E25 (May'23) | E26 (Aug'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 | -- |
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.