Go 1.12 正式版发布,初步支持 TLS 1.3

· · 345 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Go 1.12 正式版发布了,距离上个正式发布版 Go 1.11 已经过去半年。跟往常一样,Go 1.12 保持了 Go 1 的兼容性承诺,预期所有 Go 程序会像之前一样正常编译。

Go 1.12 正式版发布,初步支持 TLS 1.3

新版本的更新亮点有 TLS 1.3 的初步支持 ,模块(module)支持的提升(目标在  Go 1.13 默认启用 module 模式),支持 windows/arm,以及 提升 macOS & iOS 的前向兼容性。

其中,安全传输层协议 TLS 1.3 比起以往版本,废弃了有安全隐患的 3DES、RC4、AES-CBC 等加密组件和 SHA1、MD5 等哈希算法,带来了更高的性能和安全性。

此外,值得关注的 Go 1.12 的更新内容有:

  • 新版在语言规范方面没做改动;
  • 工具方面的一些变动,有:
    • Go 1.12 在 trace 工具加入了 Mutator Utilization 图的支持,它可以方便发现 GC 性能受限的情况;
    • 不再支持 go tool vet
    • go tool tour 不再包含在主二进制发行版中,需要手动安装;
    • Go 1.12 是最后一个支持 binary-only packages 的版本;
    • ……
  • Runtime 方面,Go 1.12:
    • 提升了大量堆(Heap)活跃状态情况下的扫除(Sweeping)性能,这减少了垃圾回收之后的分配延迟,可以更好地将内存释放回操作系统;
    • Runtime 的 timer 和 deadline 代码随着 CPU 数目的增加,会有更好的表现。这提升了网络连接最后期限(deadline)相关操作的性能;
    • 通过大型堆分配的相关修复,提升了内存配置文件的精确性;
    • ……
  • 平台相关方面的一些改进。其中关于 FreeBSD 和 macOS,Go 1.12 是最后一个支持 FreeBSD 10.x 和 macOS 10.10 Yosemite 的版本。下个版本的 Go 1.13 将要求 FreeBSD 11.2+ 或 FreeBSD 12.0+,对于 macOS,则要求 macOS 10.11 El Capitan 或更新版本。
  • 考虑 Go 1 兼容性的前提下,对标准库做了一系列的小改动和更新;

具体的更新详情可查阅 Go 1.12 发布日志 。下载地址:https://golang.org/dl/

关注本站微信公众号(和以上内容无关)InfraPub ,扫码关注:InfraPub

345 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传