Saltar al contenido principal

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.