Electron 6.0.0
El equipo de Electron esta emocionado de anunciar el lanzamiento de Electron 6.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. La versión está empaquetada con versiones nuevas, correcciones y características nuevas. ¡No podemos esperar a ver lo que construyes con ellos! ¡Sigue leyendo para obtener más detalles sobre esta versión, y por favor comparte tus comentarios!
¿Qué hay de nuevo?
Hoy marca una primera para el proyecto Electron: esta es la primera vez que hemos hecho un lanzamiento estable de Electron el mismo día que el correspondiente Chrome estable! 🎉
Gran parte de la funcionalidad de Electron es proporcionada por los componentes principales de Chromium, Node.js y V8. Electron se mantiene actualizado con estos proyectos para proporcionar a nuestros usuarios características nuevas de JavaScript, mejoras de rendimiento y correcciones de seguridad. Cada uno de estos paquetes tiene una versión mayor en Electron 6:
- Chromium
76.0.3809.88 - Node.js
12.4.0 - V8
7.6.303.22
Esta versión también incluye mejoras en las API de Electron. Las notas de lanzamiento tienen una lista más completa, pero aquí están los resaltados:
Promisificación
Electron 6.0 continúa la modernización iniciativa iniciada en 5.0 para mejorar Promise apoyo.
Estas funciones ahora devuelven Promesas y todavía soportan invocaciones antiguas basadas en retro-llamadas:
contentTracing.getCategories()#16583contentTracing.getCategories()#16583contentTracing.getTraceBufferUsage()#16600contents.executeJavaScript()#17312cookies.flushStore()#16464cookies.get()#16464cookies.remove()#16464cookies.set()#16464dialog.showCertificateTrustDialog()#17181inAppPurchase.getProducts()#17355inAppPurchase.purchaseProduct()#17355netLog.stopLogging()#16862session.clearAuthCache()#17259session.clearCache()#17185session.clearHostResolverCache()#17229session.clearStorageData()#17249session.getBlobData()#17303session.getCacheSize()#17185session.resolveProxy()#17222session.setProxy()#17222webContents.hasServiceWorker()#16535webContents.printToPDF()#16795webContents.savePage()#16742webFrame.executeJavaScript()#17312webFrame.executeJavaScriptInIsolatedWorld()#17312webviewTag.executeJavaScript()#17312
Estas funciones ahora tienen dos formas, sincrónicas y asíncronas basadas en promesa:
dialog.showMessageBox()/dialog.showMessageBoxSync()#17298dialog.showOpenDialog()/dialog.showOpenDialogSync()#16973dialog.showSaveDialog()/dialog.showSaveDialogSync()#17054
Estas funciones ahora solo devuelven Promises:
app.dock.show()#16904
Electron Helper (Renderer).app, Electron Helper (GPU).app y Electron Helper (Plugin).app
Para habilitar el tiempo de ejecución endurecido, el cual restringe cosas como memoria ejecutable de escritura y carga código firmado por un ID de equipo diferente, es necesario conceder al Ayudante derechos especiales de firma de código.
Mantener estos derechos a los tipos de proceso que los requieran, Chromium agregó tres nuevas variantes de la aplicación Helper: una para renderizadores (Electron Helper (Renderer).app), uno para el proceso GPU (Electron Helper (GPU).app) y otro para plugins (Electron Helper (Plugin).app).
La gente que usa electron-osx-sign para codiseñar su aplicación Electron no debería tener que hacer ningún cambio en su lógica de compilación. Si estás codiseñando tu aplicación con scripts personalizados, debes asegurarte de que las tres aplicaciones nuevas de Helper están correctamente codiseñadas.
Para empaquetar tu aplicación correctamente con estos ayudantes nuevos, necesitas usar electron-packager@14.0.4 o superior. Si estás usando electron-builder, deberías seguir este asunto para seguir la asistencia de estos ayudantes nuevos.
Restaurar archivos borrados
-
Esta versión comienza a sentar las bases para un futuro requisito de que los módulos nativos de Node cargados en el proceso de renderizador sean N-API o Conciente del Contexto. Las razones de este cambio son un rendimiento más rápido, una seguridad más fuerte, y una carga de trabajo de mantenimiento menor. Lea todos los detalles incluyendo la línea temporal propuesta en este asunto. Se espera que este cambio se complete en Electron v11.
-
Las cabeceras
net.IncomingMessagehan cambiado ligeramente para coincidir más estrechamente con el comportamiento de Node.js, particularmente con el valor deset-cookiey como son manejadas las cabeceras duplicadas. #17517. -
Ahora
shell.showItemInFolder()devuelve vacío y es una invocación asincrónica. #17121 -
Las aplicaciones ahora deben establecer explícitamente una ruta de registro invocando a la función
app.setAppLogPath()nueva antes de emplearapp.getPath('log'). #17841
Fin de soporte para 3.x.y
Por nuestra directiva de asistencia, 3.x.y ha llegado al fin de la vida. Se anima a los desarrolladores y aplicaciones a actualizar a una versión de Electron nueva.
Programa de retroalimentación
Continuamos usando nuestro Programa de Comentarios de para pruebas. Los proyectos quienes participan en este programa de pruebas de las betas de Electron en sus aplicaciones; y a cambio, los defectos nuevos que encuentran están priorizados para la versión estable. Si quieres participar o aprender más, revisa nuestra publicación de nuestro blog sobre el programa.
¿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. Aunque tenemos cuidado de no hacer promesas sobre las fechas de lanzamiento, nuestro plan es lanzar versiones nuevas importantes de Electron con versiones nuevas de esos componentes aproximadamente cada trimestre. El calendario tentativo 7.0.0 traza fechas claves en el ciclo de vida del desarrollo de Electron 7. Además, consulta nuestro documento de versionado para obtener información más detallada sobre el versionado en Electron.
Para obtener información sobre los cambios de ruptura previstos en las próximas versiones de Electron, consulte nuestro documento de Cambios Planificados de Ruptura.


