简介

在第5版发布仅3个月后,流行的基于JavaScript的跨平台桌面应用程序构建平台达到了第6版,并使用了Chromium 76,Node 12.4和V8 7.6。

6.0.0发行说明

突破性变化

  • 升级到Chromium 76.0.3809.88,Node.js 12.4.0和V87.6.303.22
  • 修复了net模块头和Node.js http.IncomingMessage头之间的差异。#17517
  • 做ShowItemInFolder异步没有返回值。#17121
  • 使用新功能创建应用程序日志目录选择app.setAppLogsPath。#17841
  • 从WebContents模块中删除了API hasServiceWorker和unregisterServiceWorkerAPI。#16717

承诺

Electron 6.0继续在5.0开始的项目,以改善Promise的支持。

这些函数现在返回Promises并仍然支持旧的基于回调的调用:

  • contentTracing.getCategories() #16583
  • contentTracing.getCategories() #16583
  • contentTracing.getTraceBufferUsage() #16600
  • contents.executeJavaScript() #17312
  • cookies.flushStore() #16464
  • cookies.get() #16464
  • cookies.remove() #16464
  • cookies.set() #16464
  • dialog.showCertificateTrustDialog() #17181
  • inAppPurchase.getProducts() #17355
  • inAppPurchase.purchaseProduct()#17355
  • netLog.stopLogging() #16862
  • session.clearAuthCache() #17259
  • session.clearCache() #17185
  • session.clearHostResolverCache() #17229
  • session.clearStorageData() #17249
  • session.getBlobData() #17303
  • session.getCacheSize() #17185
  • session.resolveProxy() #17222
  • session.setProxy() #17222
  • webContents.hasServiceWorker() #16535
  • webContents.printToPDF() #16795
  • webContents.savePage() #16742
  • webFrame.executeJavaScript() #17312
  • webFrame.executeJavaScriptInIsolatedWorld() #17312
  • webviewTag.executeJavaScript() #17312

这些函数现在有两种形式,同步和基于Promise的异步:

  • dialog.showMessageBox() #17298
  • dialog.showOpenDialog() #16973
  • dialog.showSaveDialog() #17054

这些函数现在返回Promises:

  • app.dock.show() #16904

特征

  • 添加chrome.runtime.getManifest了Chrome扩展程序的API。#16891
  • 添加.getWebContentsId(),不依赖于remote模块。#17407
  • 添加了all_frames对Chrome扩展内容脚本的支持。#17258
  • 添加disableHtmlFullscreenWindowResize选项以webPreferences允许在进入HTML5全屏时阻止窗口调整大小。#17203
  • 添加了excludedFromShownWindowsMenu属性以允许从Windows菜单中排除窗口。#17404
  • 添加process.getSystemVersion(),可在沙盒渲染器中使用,并在macOS上返回实际的操作系统版本而不是内核版本。#16599
  • 添加process.versions.electron以在分叉过程中获取电子版本。#16450
  • 添加了renderer-process-crashed事件app,当任何渲染器进程崩溃时会发出该事件。#17315
  • 新增requestingUrl和isMainFrame属性的许可要求和权限检查处理细节的对象,这样应用程序可以检查请求的框架,而不是根帧的原点。#18772
  • 添加systemPreferences.getAnimationSettings()了Chromium提供的返回系统动画设置。#17382
  • 添加tray.getTitle()以允许用户查看macOS上状态栏图标旁边的标题集。#17385
  • 添加了一个新的Event属性triggeredByAccelerator,该属性在自定义click事件中回调MenuItems。#16954
  • 添加了功能禁用获取缩略图 desktopCapturer.getSources()。#14906
  • 为使用remote模块时引发的错误添加了其他错误信息。#17851
  • 添加了一个选项,以便MenuItems在macOS 上启用时可选visible: false。#16853
  • 在Linux中添加了文件选择器的文件预览。#16447
  • 为BrowserViews in 添加了灵活的自动调整大小选项BrowserWindow。#16184
  • 为macOS添加了原生Touch ID身份验证支持。#16707
  • 添加app.allowRendererProcessReuse了允许应用禁用网站实例覆盖的新属性Electron已修补到Chromium。这可用于防止Electron当前执行的自动渲染器进程重新启动。#18554
  • 添加了新app.userAgentFallback属性以允许全局设置应用程序的useragent。#18473
  • 增加了新的monochrome,internal,acceleratorEnabled,colorDepth和depthPerComponent属性显示的API结构。#16870
  • 添加了新的inspectSharedWorker()API,以便为共享工作者打开devtools。#16615
  • 添加更安全nativeImage.createFromBitmap(),不解码PNG / JPEG。#17337
  • 添加了对Scroll Lock加速器的支持。#16873
  • 为Chrome扩展程序内容脚本添加了世界隔离。#17032
  • 允许在app.setUserTasks()/中设置工作目录app.setJumpList()。#18291
  • 已启用标记的NodeIntegrationInSubFrames选项用法webview。#17226
  • 暴露colorSpace在Display物体上。#17405
  • 功能:为Windows和macOS添加本机表情符号和颜色选择器方法。#17359
  • BrowserWindow.moveTop()在Linux / X11上实现。#16629
  • 将webFrame自定义方案API移至浏览器进程下protocol。#16416
  • 进程现在在沙盒渲染器中发出“已加载”事件。#17680

修复

  • systemPreferences.isDarkMode()现在正确检测macOS Catalina上的暗模式。#18958
  • 'page-title-updated'在webContents文档中添加了缺少的事件。explicitSet发出时也固定转发参数BrowserWindow。#18319
  • 向后移植了一个修复了http / 2内存泄漏的Node.js 补丁:#18882
  • 更正了showSaveDialogWindows平台上取消值的撤消。#18383
  • 更正了showOpenDialogWindows上的布尔取消值。#18509
  • DevTools Extensions现在正确加载。#17614
  • 在macOS上启用自动填充弹出窗口。#16308
  • 确保webContents.hasServiceWorker()拒绝无效网址的错误。#16571
  • 确保使用--inspect-brk参数不会导致崩溃。#19332
  • 修复了未在沙盒渲染器中加载的Chrome扩展程序内容脚本。#16218
  • 修复了启用时无法在脚本化弹出窗口中工作的问题nativeWindowOpen。#19218
  • 修复了app.getAppPath()在electron app没有package.json或者运行的情况下运行返回default-app路径的问题electron app/index.js。现在返回包含执行文件的目录。#18888
  • 修复beginFrameSubscription了HiDPI显示屏上返回的模糊图像。#17444
  • 修复了fs.promises不支持ASAR路径的API。#18114
  • 修复了new-window没有从target="_blank"沙盒中的链接发出的事件 #18556
  • 修复了webContents.print()在所有情况下都没有正确返回布尔值的回调。#18803
  • 修复webFrame.setSpellCheckProvider内存泄漏。#16448
  • 修复了window.open()未在沙盒中设置null时未返回的问题#18556allowpopupswebview
  • window.opener在跨源导航后修复了null。#18624
  • 修复了崩溃问题systemPreferences.getAccentColor()。#18195
  • 修复了在Windows上无法获取desktopCapturer中的设备时发生崩溃的问题。#17973
  • 修复了没有传递BrowserWindow时对话框崩溃的问题。#18381
  • 修复了退出时可能发生的崩溃。#17879
  • 修复了Kerberos SPN生成中的回归问题。在M69升级中,该enable_negotiate_port选项的默认值无意中从false更改为true; 这恢复了以前的行为并与Chromium保持一致。#18285
  • 修复了不推荐使用的dialog.*方法中意外破坏API更改的问题。#18724
  • 修复了Windows上调用.show()BrowserWindow没有聚焦窗口的问题。#18081
  • 修复了阻止Flash插件在Linux上加载的问题。#17823
  • 修复了tray.destroy在某些Linux发行版上无法正常工作的问题。#18218
  • 修复了无框窗口最大化时无法显示自动隐藏任务栏的问题。#18373
  • 修复了在Windows 7中自动关闭第一个通知时,具有相同标记的通知不会多次显示的问题#18740
  • 固定建筑与enable_run_as_node残疾人。#18892
  • 修复了Promise返回的情况,如果在页面加载完成之前触发了虚拟导航loadURL,loadFile则会被拒绝ERR_ABORTED。例如使用history.pushState或设置location.hash。#18143
  • 修复了之后BrowserWindow析构函数崩溃的问题win.webContents.destroy()。#18793
  • 修复了加载某些chrome devtools扩展时可能发生的崩溃问题。#19105
  • 修复了电子从SMB网络共享运行时崩溃的问题。#17909
  • 修复了在display-*事件中创建某些类型的窗口时崩溃的问题。#19022
  • 修复了在连接了检查员的情况下退出Electron时的崩溃问题。#18077
  • 修复了开始时的崩溃问题--disable-gpu。#18904
  • 通过剥离swiftshader库(libEGL.so,libGLESv2.so)修复了电子.zip大小增加Linux上的回归(与Electron 3相比)。#18600
  • 修复了嵌入内容的退出html全屏模式。#18775
  • 修复了不一致的行为,修改缓冲区会改变nativeImage像素,而解码的PNG / JPEG数据是副本。#17843
  • 固定的问题,getEffectiveApperance并且getAppLevelAppearance将返回unknown,而不是正确的值的时候。#18690
  • 修复了require('timers').setTimeout有时在渲染器进程中永远不会触发的问题。#18961
  • 修复了shell.openExternal无法激活macOS上打开的窗口的问题。#18722
  • 修复了沙盒渲染器有时会在预加载脚本之外泄漏全局变量的问题。#17712
  • 修复了某些chrome://*网址无法正确呈现的问题。#18552
  • 修复了node_modules内部ASAR文件的加载。#18192
  • 修复了macOS breakpad符号文件以包含非公共符号。#19155
  • 修复了屏幕外渲染不能与viz compositor一起使用的问题。#17538
  • 修复了desktopCapturer模块中的竞争条件,其中某些源请求永远不会被解析,或者未处理的异常将在主进程中抛出。#18042
  • 修复了竞争条件,其中remote模块有时无法获取远程对象的属性。#17464
  • 修复了在执行全屏或工作区转换时在macOS上发生的随机闪烁。#18885
  • 修复了设置src 太慢的问题。#19190
  • 修复了跨平台的静态打印。#19037
  • 修复了一些chrome扩展通信(MessagePort.postMessage)无法正常工作。#19106
  • 修复了input[type=file]未显示文件对话框的元素。#18341
  • 修复了beginFrameSubscription传递Buffer而不是传递的回调NativeImage。#17548
  • 当用户在其他应用上处于活动状态时,焦点方法不再窃取焦点。#16400
  • 改进了Windows上无框窗口的处理方式。#16596
  • 有与内容脚本注入Chrome扩展.的pattern领域,现在把它作为原料.,而不是一个通配符。#17593
  • 迁移crashReporter以在Windows上使用crashpad。#18766
  • 内部预装脚本
  • 从分发包中删除了无意中包含的mojom.js文件。#18486
  • 从node.lib中删除了错误发布的内部V8符号和CRT方法,导致使用Windows上的动态CRT与Node.js模块发生堆损坏。#18619
  • 删除了不存在的gpu-crashed事件。#17317
  • 拼写检查提供者现在(再次)被称为收缩及其部分。#18538
  • 该prefers-color-schemeCSS媒体查询现在可以正常工作。#19250
  • .executeJavaScript现在永远不会让Promise悬空,未能执行的脚本将被正确拒绝。#18714
  • Uint8Array而Uint16Array现在可以在Chrome扩展正确发送MessagePort的情况。#19252
  • 修复了当nativeWindowOpen被禁用时的popup.location。* setters。#19494
  • 修复了以与某些符号工具不兼容的方式更改Windows符号文件的问题。#19504
  • 修复了有时异步node.js方法(如http,setImmediate和fs)不会在相当长的时间内调用其回调的问题。#19467
  • 在Windows 10上处于黑暗模式时修复了窗口菜单背景颜色。#19505

其他变化

  • 替换powerMonitor querySystemIdleState并querySystemIdleTime使用同步API。#17144
  • 为Arm on Windows构建增加了实验支持。#18625
  • 转换accessibilitySupportEnabled为适当的JS属性app。#17362
  • 转换applicationMenu为app模块上的正确JS属性。#17361
  • 不推荐使用session.clearAuthCache的options参数。#18131
  • default_app中的启用sandbox和禁用remote模块。#17318
  • 启用了devtools和chrome扩展后台脚本宿主渲染器的沙箱。#16864
  • 从electron.zip中删除了Vulkan模拟ICD,仅用于Chromium开发。#18596
  • 从electron.zip中删除了Vulkan验证层DLL,这些DLL仅用于Chromium开发。#18062
  • 使用remote.require沙盒渲染器上下文在内部删除已弃用的模块。remote.require明确使用(除非禁用远程模块)。#15957
  • 删除arm / arm64的本机mksnapshot二进制文件,因为它们不再有效。#17561
  • 删除了强制dialog方法调用remote模块同步返回结果但不阻止主进程的特殊处理。#17412
  • clipboard渲染器中的模块不再依赖remote于Linux 上的模块。#17200
  • 改进了require沙盒渲染器失败时抛出的异常消息。#17413

electron增加导航按钮_Electron发布6.0 Released版本相关推荐

  1. 微信投屏服务器出错,微信发布7.0.21版本,修复异常问题,增加超实用新功能

    原标题:微信发布7.0.21版本,修复异常问题,增加超实用新功能 iOS微信又更新了,今天发布v7.0.21版本,距离上次更新才两个礼拜的时间.以往微信的更新频率是比较慢的,这次之所以如此之快地发布新 ...

  2. DAQWare for Digilent Analog Discovery发布1.0.4版本

    近日,DAQWare for Digilent AD发布1.0.4版本,主要更新以下内容: 1.优化"开始/暂停"功能控制 2.优化示波器"时基"操作控制 3. ...

  3. 番茄日志发布1.0.3版本-增加Kafka支持

    番茄日志(TomatoLog)能做什么 可能你是第一次听说TomatoLog,没关系,我可以从头告诉你,通过了解番茄日志,希望能帮助有需要的朋友,番茄日志处理将大大降低你采集.分析.处理日志的过程. ...

  4. Hazelcast发布Jet 0.6版本

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ 分布式计算技术和工具开发商Hazelcast正式发布了他们的开源流式处理引擎Jet 0.6. ...

  5. iOS微信发布8.0.29版本,苹果14用户快来

    这两天iOS微信发布了8.0.29版本,主要是针对iOS16系统,修复了一些Bug,对iPhone14用户非常靠谱. 新版苹果 14上线后,微信对它的兼容性还是有一些问题的,比如有网友反馈,在使用微信 ...

  6. Acro Multi-Language Suite for Win32发布6.0.4版本

    delphi应该是好多人不用了,这套多语言元件还有部分旧客户在使用,为付费用户偶尔更新一下.有问题qq:24495612 2020/5/16,    6.0.4 1.修改acroMultiResour ...

  7. rabbitmq 查询版本_Hyperf 发布 v2.0.14 版本 | 企业级的 PHP 微服务云原生协程框架

    更新内容 本周主要新增了 hyperf/scout hyperf/resource 和 hyperf/resource-grpc 三个组件,并修复了一些组件的 Bug,继续提升 Hyperf 的稳定性 ...

  8. html5导航 按钮,CSS实例:超酷的网站导航按钮

    CSS实例:超酷的网站导航按钮 互联网   发布时间:2009-04-02 19:35:20   作者:佚名   我要评论 网页制作Webjx文章简介:本文一步一步手把手教你打造一个极酷的三层分离的标 ...

  9. 最新艾咔二级域名分发系统更新v3.0.1版本

    介绍: 大家好我是艾咔这次给你们更新了二级域名分发系统上个版本v2.4大家还记得吧这次给你发布v3.0.1版本 演示站:http://dns.aiknet.cn 目前支持的域名解析平台有 dnspod ...

最新文章

  1. python示例异常处理与程序调试_笔记:Python异常处理与程序调试
  2. HashTree(哈希树) ——和trie类似,只是将字符换成了质数,sphinx用到了???...
  3. python入门经典例题-Python入门经典练习题
  4. 严苛模式(StrictMode)
  5. weblogic 故障转移
  6. Eclipse 各种快捷键
  7. django中的反向解析的好处
  8. 10个JavaScript图像处理库,收藏好留备用
  9. Fiddler请求过滤
  10. centos 使用rz sz指令
  11. ArcGIS水文分析实战教程(7)细说流域提取
  12. 数据结构与算法 | Leetcode 19. Remove Nth Node From End of List
  13. python之模块随笔记-os
  14. 【洛谷1985】【USACO07OPEN】翻转棋
  15. 统一建模语言——UML
  16. DotFun Silverlight 整站系统Beta版上线!
  17. 编译OpenJDK8并生成CodeQL数据库
  18. 【计算机网络系列】链路层的差错控制与流量控制
  19. 信息安全技术——(五)信息隐藏技术
  20. 三国演义人物词频统计-4

热门文章

  1. CentOS 7 安装并启动Nginx
  2. oc 画一个圆弧_UG建模一个蜗杆的方法,纯手工建模无插件
  3. 复制给节点的命令_深入理解redis主从复制原理
  4. dram和nand哪个难生产_仅300名员工,年产7台,订单排到5年后,比光刻机还难买...
  5. gtj2018如何生成工程量报表_土建软件GTJ2018中的十个问题及解决方法
  6. 爬虫:验证码识别准确率(Tesseract-OCR)
  7. wget for windows 下载与安装
  8. 一篇文章带你搞懂 DEX 文件的结构
  9. Dom4j完整教程~XML文档简单操作
  10. Replace Array with Object(以对象取代数组)