diff --git a/RELEASE-NOTES-zh-CN.md b/RELEASE-NOTES-zh-CN.md new file mode 100644 index 000000000..d10aa55c5 --- /dev/null +++ b/RELEASE-NOTES-zh-CN.md @@ -0,0 +1,435 @@ +ZeroTier 发布说明 +====== + +## 2025-08-21 -- 版本 1.16.0 + + * 许可证变更 + * 核心 (`node/` 和 `include/`) 以及服务 (`service/` 和 `osdep/`) 现在采用 Mozilla 公共许可证 (MPL)。 + * 网络控制器 (`controller/`) 现在采用商业源代码可用许可证。 + * 使用 `make ZT_NONFREE=1` 构建非 MPL 组件。 + * 使用 `ZT_NONFREE=1` 构建会将生成的可执行文件的许可证更改为专有商业许可证而不是 MPL。 + * 默认二进制构建不再包含控制器。 + * 网络特定中继(预览 / 测试版) + * 现在可以将一个或多个节点指定为网络特定中继,以优先于根节点用于网络成员之间的中继流量。这些节点不一定需要是网络的成员。 + * "Moons" 现在被认为是更加额外的 *已弃用*,不应在新部署中使用。 + * 我们将在与一些用户合作测试并进行更多内部验证后宣布对网络特定中继的支持。 + * 通过在 `local.conf` 中启用 `encryptedHelloEnabled` 设置,现在可以使用 HELLO 数据包加密。 + * HELLO 数据包不包含数据,仅包含公钥和非常基本的元数据(如协议版本信息)。 + * 大多数用户不会关心这一点,但如果您出于合规性等原因需要此功能,可以启用。这会在 HELLO 登录过程中增加少量 CPU 和带宽开销。 + * 小修复 + * 代码已使用存储库中的 `.clang-format` 定义通过 `clang-format` 重新格式化。键入 `make clang-format` 可对所有主要核心和服务 C++ 文件执行此操作。 + * 桥接器不再计入多播限制。 + * 修复了多路径场景下桥接流量的流指定问题。 + * 更新了 OIDC 和其他功能的库版本。 + * 出于预防原因删除了过时且未使用的软件更新代码。 + * 通过删除某些平台上已弃用函数的使用来消除编译器警告。 + * 其他小错误修复。 + + * 合并的 PR: + * PR #2495: 托管控件器更改以支持 cv1 os/arch 报告 + * PR #2493: 添加关于 Linux 上缺少 DNS 功能的警告 + * PR #2491: 修复:标准化绑定链接选择方法 JSON 字段命名 + * PR #2489: 修复绑定 CLI 中的链接选择字段 + * PR #2487: Windows 安装程序修复 + * PR #2486: 在验证操作中添加 'apt update' + * PR #2482: 在中央控制器中添加 OpenTelemetry 支持 + * PR #2481: Rust 警告移除,clippy 允许,更新库版本 + * PR #2477: 不将桥接器计入多播限制。发送到所有桥接器 + * PR #2475: clang-format + * PR #2474: Hello 加密 + * PR #2452: CV2 数据库模式支持 + * PR #2451: 将 /rustybits 中的 crossbeam-channel 从 0.5.13 升级到 0.5.15 + * PR #2450: 将 /rustybits 中的 tokio 从 1.42.0 升级到 1.43.1 + * PR #2449: 将 /rustybits 中的 openssl 从 0.10.70 升级到 0.10.72 + * PR #2445: 允许从 Docker 环境变量设置 local.conf 内容 + * PR #2444: Temporal sdk 修复 + * PR #2443: 修复未设置 AuthInfo 提供程序的问题 + * PR #2442: 将 /rustybits 中的 ring 从 0.17.8 升级到 0.17.13 + * PR #2441: 在拉取请求上运行 CI + * PR #2438: 为第三方设备供应商添加自定义控制平面 + * PR #2432: 更新 upload-artifact 操作以使用 v4 + * PR #2430: 将 /rustybits 中的 openssl 从 0.10.68 升级到 0.10.70 + * PR #2427: 修复主动备份链接选择 + * PR #2417: 更新 rust 依赖项 + * PR #2409: 将 /rustybits 中的 rustls 从 0.23.15 升级到 0.23.18 + * PR #2405: OpenBSD 的构建修复 - 请参见工单 #2397 + +---- + +# 1.14 + +## 2024-10-23 -- 版本 1.14.2 + + * 修复 macOS Sequoia 上缺少的授权问题。 + * 修复正确解析 local.conf 以启用低带宽模式的问题。 + * 增加一些依赖库的版本。 + * 其他修复。 + +## 2024-09-12 -- 版本 1.14.1 + + * 多线程数据包 I/O 支持!目前仅适用于 Linux,必须在 local.conf 中启用。在 CPU 是瓶颈且需要高吞吐量的小型多核设备上,这可能会产生最大的差异。未来可能会默认启用,但我们希望进行彻底测试。由于需要保持数据包顺序和平衡负载,这比乍看起来要困难一些。 + * 多路径的几个错误修复。 + * 更新了与 OIDC 支持和 HTTP 相关的一些库的版本。 + * MacOS .app 现在在其 Info.plist 清单中显示正确的版本。 + * 清理 JSON 格式规则解析器中的 MAC 地址。 + * 加入网络时,现在会向网络控制器报告一些关于平台的基本信息(操作系统、CPU 架构),以便网络管理员显示,并在未来用于策略检查和库存操作。 + +## 2024-05-02 -- 版本 1.14.0 + + * Linux 在高负载下的 I/O 性能改进 + * 多路径改进 + * 修复端口重新绑定“昏迷”错误(某些笔记本用户离线一段时间后) + * 修复规则引擎的怪癖/歧义(GitHub 问题 #2200) + * 控制器 API 增强:节点名称和其他节点元数据 + * 其他错误修复 + +---- + +# 1.12 及更早版本 + +## 2023-09-12 -- 版本 1.12.2 + + * 更多 macOS 全隧道模式的改进。 + * 物理网络设置更改后更快的恢复。 + +## 2023-08-25 -- 版本 1.12.1 + + * 次要版本,修复 Linux 中的端口绑定问题。 + * 更新 Debian 依赖项。 + * 其他平台无更改。 + +## 2023-08-23 -- 版本 1.12.0 + + * Windows ARM64 实验性支持 + * 修复 macOS 和其他平台上的众多睡眠/唤醒问题 + * 物理网络设置更改后更快的恢复 + * Prometheus 兼容的指标支持! + * 修复最新 macOS 版本上的全隧道模式 + * 众多 macOS DNS 修复 + * Linux 上 10-30% 的速度提升 + +## 2023-03-23 -- 版本 1.10.6 + + * 防止在 macOS 上绑定临时 ipv6 地址 (#1910) + * 防止路径学习循环 (#1914) + * 防止托盘应用中 UAC 提示的无限循环 + +## 2023-03-10 -- 版本 1.10.5 + + * 修复 Windows 上的高 CPU 使用率错误 + +## 2023-03-07 -- 版本 1.10.4 + + * 安全修复 (Windows):此版本修复了 Windows 上的一个文件权限问题,该问题可能允许 Windows 系统上的非特权用户读取 ZeroTier 服务工作目录中的特权文件。这可能允许没有适当本地权限的非特权本地 Windows 用户管理本地 ZeroTier 实例。此问题不会远程利用,除非远程用户可以读取任意本地文件,并且不会影响其他操作系统。 + * 修复在 macOS 上处理多个 IP 地址分配给虚拟接口时的错误。 + +## 2023-02-15 -- 版本 1.10.3 + + * 修复客户端中的重复路径问题。可能导致连接问题。影响所有平台。 + * 修复以太网 Tap MTU 设置,Linux 上不会正确应用。 + * 修复默认路由错误(macOS。) + * 为 ZeroTier 适配器自动启用 Ping(Windows。) + * SSO 更新和小错误修复。 + * 添加低带宽模式。 + * 添加 forceTcpRelay 模式(可选择启用。) + * 修复阻止设置自定义 TCP 中继地址的错误。 + * 构建脚本改进和错误修复。 + +## 2022-11-01 -- 版本 1.10.2 + + * 修复 zeroidc 中的另一个 SSO "卡住客户端" 问题。 + * 通过本地 JSON API 暴露根报告的外部 IP/端口信息,以获得更好的诊断。 + * 多路径:CLI 输出改进,用于检查绑定 + * 多路径:平衡感知模式 + * 多路径:自定义策略 + * 多路径:链路质量测量改进 + +请注意,由于我们的大部分开发工作都投入到版本 2 中,因此发布的频率会越来越少。 + +## 2022-06-27 -- 版本 1.10.1 + + * 修复可能导致 SSO 客户端卡在过时认证 URL 上的问题。 + * 其他一些 SSO 相关的错误修复。 + +## 2022-06-07 -- 版本 1.10.0 + + * 修复在 SSO 网络中使用 `zerotier-cli` 时的格式问题。 + * 修复一些其他 SSO 登录中的小错误,为正式发布做准备。 + * 删除桌面 UI 中对 webview 的要求,而是通过托盘下拉/菜单提供所有功能。使用 [libui-ng](https://github.com/libui-ng/libui-ng) 进行次要提示对话框。节省空间并消除 Windows 上的安装问题。 + * 修复桌面 UI 中的 SSO "垃圾邮件" 错误。 + * 使用系统默认浏览器进行 SSO 登录,以便所有插件、MFA 设备、密码管理器等都能按您配置的方式工作。 + * 绑定/多路径的小修复。 + +## 2022-05-10 -- 版本 1.8.10 + + * 修复了阻止 Windows 上 SSO 登录的错误。 + +## 2022-04-25 -- 版本 1.8.9 + + * 修复了一个长期存在的奇怪错误,该错误导致间歇性的"幻影"数据包身份验证失败。这不是安全问题,但可能是某些条件下链接失败报告的原因。 + * 修复了 SSO/OIDC 支持中的内存泄漏。 + * 修复了 SSO/OIDC 在 CLI 上的显示错误。 + * 修复了导致节点有时无法相互推送证书的错误(主要影响 SSO/OIDC 使用场景)。 + * 修复了离开 SSO/OIDC 管理网络时的死锁错误。 + * 在构建子系统中添加了一些新的 Linux 发行版。 + +## 2022-04-11 -- 版本 1.8.8 + + * 修复 Windows 安装程序中的本地权限提升错误。 + * 修复某些 Ubuntu 版本的依赖项问题。 + * 其他平台无更改。建议 Windows 用户升级,其他用户可选。 + +## 2022-03-30 -- 版本 1.8.7 + + * 修复 Windows MSI 包中的依赖安装问题。 + * 修复非超级用户运行时的桌面 UI 设置问题。 + * 修复本地 OIDC / SSO 支持中 auth0 和其他提供商的错误。 + * 其他针对旧 Linux 发行版的小修复。 + +## 2022-03-04 -- 版本 1.8.6 + + * 修复了未加入任何网络时可能导致 UI 无响应的问题。 + * 修复 Debian 和 RedHat 包中某些发行版(Fedora、Mint)的依赖问题。 + * 提升了对等体缓存序列化版本,以防止由于路径逻辑更改与旧值行为不良而导致升级时出现"昏迷"问题。 + +## 2022-02-22 -- 版本 1.8.5 + + * 为端点设备 SSO 支持进行底层管道工作。 + * 修复 LinuxEthernetTap 以支持非常旧(2.6)Linux 内核上的 tap 设备支持。 + * 修复了一个可能导致自托管根("moons")无法协助对等体建立直接链接的错误。(GitHub 问题 #1512) + * 合并了 Joseph Henry(ZeroTier)的一系列更改,这些更改应修复 ZeroTier 会"遗忘"有效路径的一些边缘情况。 + * 为自动路径协商进行的小幅多路径改进。 + +## 2021-11-30 -- 版本 1.8.4 + + * 修复了某些较旧 macOS 版本上的丑陋字体问题。 + * 修复了 Windows 上可能导致桌面托盘应用控制面板在一段时间后停止打开的错误。 + * 修复了 macOS 上可能导致较旧 macOS 版本崩溃的可能的双重"释放"问题。 + * 修复了 32 位 Windows 10 上的安装问题。 + * 修复了可能导致 ZeroTier 在较旧 ARM32 CPU 上崩溃的构建标志问题。 + +## 2021-11-15 -- 版本 1.8.3 + + * 移除有问题的自旋锁,该自旋锁仅在 x86_64 上使用。始终使用 pthread。 + * 修复 MacOS 上导致一段时间后无响应的 fd 泄漏问题。 + * 修复 Debian 安装脚本,将 /usr/sbin/nologin 设置为服务用户的 shell。 + * 修复可能导致托管路由无法删除的回归问题。 + * DesktopUI:移除 NSDate:now() 调用,现在可在 MacOS 10.13 或更新版本上工作! + +## 2021-11-08 -- 版本 1.8.2 + + * 修复 Linux 上的多播。 + * 修复可能导致 Linux 上的 tap 适配器具有错误 MAC 地址的错误。 + * 更新构建标志以可能支持早于 10.14 的 MacOS,但还需要更多工作。可能尚无法工作。 + * 修复 Windows 上的路径变量设置。 + +## 2021-10-28 -- 版本 1.8.1 + + * 修复 1.8.0 中的众多 UI 问题(从未完全发布)。 + * 移除对真正古老的 1.1.6 或更早网络控制器的支持。 + * MacOS IPv6 不再绑定到临时地址,因为这些地址过期时可能会导致中断。 + * 添加了针对网络上的地址冒充的额外加固(也在 1.6.6 中)。 + * 修复可能导致在重新启动时破坏 MacOS IP 路由设置的问题。 + + * 注意:不再支持 Windows 7!Windows 7 用户必须使用 1.6.5 或更早版本。 + +## 2021-09-15 -- 版本 1.8.0(仅预览版) + + * 为 Mac 和 Windows *完全* 重写的桌面 UI! + * 实现了一个解决"昏迷"错误潜在来源的变通方法,该错误可能在有问题的 NAT/路由器停止允许服务在给定端口上通信时发生。除非在 local.conf 中手动指定辅助端口,否则 ZeroTier 现在会在离线一段时间后重新分配新的辅助端口。解决有问题的路由器问题是持续的努力。 + * 修复 MacOS 上 feth 设备的 MTU 限制问题 + * 修复某些平台上为 v4 路由错误使用 v6 源地址的问题 + * 停止绑定到临时 IPv6 地址 + * 在启动 Linux TAP 链接之前设置 MAC 地址 + * 检查是否需要在 macOS 上应用 DNS 服务器 + * 将 json.hpp 依赖项升级到版本 3.10.2 + +## 2021-09-21 -- 版本 1.6.6 + + * 回传 COM 哈希检查缓解措施以防止网络成员冒充。 + +## 2021-04-13 -- 版本 1.6.5 + + * 修复潜在网络路径过滤中的一个错误,该错误在某些情况下可能导致"软件激光"效应。 + * 修复 zerotier-cli 中的 printf 溢出(不可利用或安全风险) + * Windows 现在查找 ZeroTier 设备的名称,而不是依赖于它们在其中包含"ZeroTier"。 + +## 2021-02-15 -- 版本 1.6.4 + + * 土拨鼠看到了他的影子,这意味着"连接昏迷"错误仍然存在。我们这次认为找到了它。 + +## 2021-02-02 -- 版本 1.6.3 + + * 可能修复 GitHub 问题 #1334,该问题可能导致 ZeroTier 在某些网络上进入"昏迷"状态。 + * 也是土拨鼠节 + +## 2020-11-30 -- 版本 1.6.2 + + * 修复 ARM 硬件 AES 加密问题(不是可利用的漏洞)。 + * 修复由于互斥锁死锁导致的 Linux 网络离开挂起。 + +## 2020-11-24 -- 版本 1.6.1 + +此版本修复了 1.6.0 中的一些小错误和其他问题。 + + * 修复了一个导致 203.0.0.0/8 块中的 IP 地址被错误分类为不在全局范围内的错误。 + * 更改 Linux 构建以(希望)修复 LXC 和 SELinux 问题。 + * 修复导致在 ARM 架构的 FreeBSD 系统上崩溃的未对齐内存访问。 + * 将用于控制绑定设备的 CLI 选项合并到 beta 多路径代码中。 + * 使用 Microsoft 交叉签名更新 Windows 驱动程序以修复某些 Windows 系统上的问题。 + +## 2020-11-19 -- 版本 1.6.0 + +版本 1.6.0 是一个主要版本,它包含了从仍在开发中的 2.0 分支回传的功能。它还修复了许多问题。 + +新功能和改进(包括在 1.5.0 下列出的功能): + + * **Apple Silicon** (MacOS ARM64) 原生支持通过通用二进制。ZeroTier 现在需要最新的 Xcode 来构建。 + * **Linux 性能改进** 在多核系统上最高可提高 25% 的 tun/tap I/O 性能。 + * **多路径支持** 模式基于 Linux 内核的绑定驱动程序建模。这包括主被动和主主动模式,具有快速故障转移和负载均衡。请参阅手册第 2.1.5 节。 + * **DNS 配置** 从网络控制器推送到终端节点,具有本地可配置的权限以允许或不允许推送。 + * **AES-GMAC-SIV** 加密模式,它在支持 AES 加速的硬件上比旧的 Salsa20/12-Poly1305 模式更安全且显著更快。这包括几乎所有的 X86-64 芯片和大多数 ARM64。此模式基于 AES-SIV,并已由 Trail of Bits 审计以确保其安全性相当。 + +错误修复: + + * **托管路由分配修复** 以消除 Linux 上的缺失路由,并且我们相信这是解决 MacOS 上间歇性高 CPU 使用率的根源。 + * **关机时挂起** 的问题应该已修复。 + * **间歇性多播中断** 应该已修复。 + +已知的剩余问题: + + * AES 硬件加速尚未在 32 位 ARM、PowerPC(32 或 64 位)或 MIPS(32 或 64 位)系统上支持。目前支持的是具有加密扩展的 X86-64 和 ARM64/AARCH64。 + +# 2020-10-05 -- 版本 1.5.0(实际上是 1.6.0-beta1) + +版本 1.6.0(1.5.0 是测试版!)是一个重要版本,它包含了从 ZeroTier 2.0 树回传的许多修复和功能。 + +主要新功能包括: + + * **多路径支持** 模式基于 Linux 内核的绑定驱动程序建模。这包括主被动和主主动模式,具有快速故障转移和负载均衡。请参阅手册第 2.1.5 节。 + * **DNS 配置** 从网络控制器推送到终端节点,具有本地可配置的权限以允许或不允许推送。 + * **AES-GMAC-SIV** 加密模式,它在支持 AES 加速的硬件上比旧的 Salsa20/12-Poly1305 模式更安全且显著更快。这包括几乎所有的 X86-64 芯片和大多数 ARM64。此模式基于 AES-SIV,并已由 Trail of Bits 审计以确保其安全性相当。 + +此测试版中尚未修复的已知问题: + + * 一些 Mac 用户报告了在离开已加入一段时间的网络后,kernel_task 出现 100% CPU 使用率和连接不稳定的情况,或者需要杀死 ZeroTier 并重新启动以完成离开网络。这似乎并不影响所有用户,我们尚未诊断出根本原因。 + * 服务有时在关机时挂起,需要 kill -9。这也并不影响所有系统或用户。 + * AES 硬件加速尚未在 32 位 ARM、PowerPC(32 或 64 位)或 MIPS(32 或 64 位)系统上支持。目前支持的是具有加密扩展的 X86-64 和 ARM64/AARCH64。 + * 一些用户报告了持续长达 30 秒的多播/广播中断。仍在调查中。 + +我们正在尝试在 1.6.0 发布前修复所有这些问题。请继续关注。 + +## 2019-08-30 -- 版本 1.4.6 + + * 更新默认根列表至最新 + * ARM32 平台构建和标志修复 + * 在 LICENSE.txt 中添加澄清行 + * 修复 CLI 中的许可证消息 + * Windows 服务现在查找服务命令行参数 + * 修复可能导致过多排队多播的错误 + +## 2019-08-23 -- 版本 1.4.4 + + * 将许可证从 GPL3 更改为 BSL 1.1,请参阅 LICENSE.txt + * 修复与 "ipauth" 规则和自动生成的不可伪造 IPv6 地址相关的问题 + * 修复在 Linux 上设置 IP 和路由时的套接字/绑定错误 + +## 2019-08-12 -- 版本 1.4.2 + + * 修复某些平台上的高 CPU 使用率错误 + * 修复 PostgreSQL 控制器数据库问题(仅影响 Central) + * 恢复与 10.13 之前 MacOS 版本的向后兼容性 + +## 2019-07-29 -- 版本 1.4.0 + +### 重大变更 + + * Mac 版本不再需要内核扩展,而是使用 [feth 接口](https://apple.stackexchange.com/questions/337715/fake-ethernet-interfaces-feth-if-fake-anyone-ever-seen-this)。 + * 增加了对并发多路径(同时使用多条路径)的支持,通过链路质量和快速恢复丢失链路进行流量加权。 + * 增加了底层对 QoS(尚未公开)的支持,最终将通过我们的规则引擎进行配置。 + +### 次要变更和错误修复 + + * 实验性的控制器数据库驱动程序,用于 [LF](https://github.com/zerotier/lf) 以存储网络控制器数据(LFDB.cpp / LFDB.hpp)。 + * 修改了凭证推送和直接路径推送的时间和算法,以在空闲时稍微减少协议的"冗余"。更彻底的背景开销减少将不得不等到 2.x 系列。 + * 移除了我们与 Central 的测试版/半成品集成。我们将在未来为 Windows 和 Mac 做一个全新的 UI。 + * 修复了在使用 musl libc 的 Linux 版本上的堆栈溢出问题。 + * 修复了 ARM 和 ARM64 上报告的一些对齐问题,但我们无法重现一些报告,因此请报告任何问题,包括确切的芯片、操作系统/发行版和使用的 ZeroTier 版本。 + * 修复了许多其他小问题和错误,如导致某些设备崩溃的 ARM 对齐问题。 + * Windows 现在设置适配器名称,使其在 Windows UI 和命令行工具中保持一致。 + +## 2018-07-27 -- 版本 1.2.12 + + * 修复了 Mac 上由于大量冗余尝试删除托管路由而导致退出时间过长的错误。 + * 修复了 Windows 上导致 ZeroTier 服务耗尽套接字的问题,使得 UI 和 CLI 无法访问 API。 + * 修复了 ZeroTier Core 中的线程错误,尽管它从未在常规的 ZeroTier One 服务/客户端上表现出来。 + * 修复了如果授权的本地客户端通过控制 API 访问无效 URL,可能导致服务崩溃的错误。(不可利用,因为您需要管理员访问权限。) + +## 2018-05-08 -- 版本 1.2.10 + + * 修复加载 `moons.d/` 文件进行联合根操作的错误。 + * 修复某些版本的 `clang` 上的 ZT_DEBUG 编译问题 + * 修复与加载 `networks.d/` 缓存文件相关的网络启动缓慢错误 + +## 2018-04-27 -- 版本 1.2.8 + + * Linux 版本再次使用 PIE(位置无关可执行文件)标志构建 + * 修复 zerotier-idtool 文件签名和验证中的错误 + * 修复次要 OSX 应用程序拼写错误 + * 合并 NetBSD 支持的 alpha 版本(大部分未经测试,因此结果可能有所不同) + * 合并了几个次要的拼写错误和单行错误修复 + +## 2018-04-17 -- 版本 1.2.6 + + * 功能和核心改进 + * 路径选择已进行大修,以提高路径稳定性,简化代码,并为下一个主要版本中的多路径和聚合做好准备。 + * 此版本引入了远程跟踪以进行远程诊断。网络控制器可以设置一个节点(通常是控制器本身)来接收来自网络所有成员或选定成员的远程跟踪事件。出于安全原因,仅当事件涉及给定网络时才发送事件。 + * 多播复制现在可以由网络上的指定多播复制器(在控制器上标记)而不是发送方来完成。大多数用户不会想要这个,但对于集线器和分支网络以及低功耗设备的特殊用例很有用。 + * 多个平台上的加密性能改进。 + * 整个代码库中的多线程性能改进,包括对低争用资源使用内联轻量级自旋锁。 + * 修复的错误 + * 修复 Mac 上的消失路由(GitHub 问题 #600) + * 修复某些双栈 V4/V6 网络中的路由抖动和路径不稳定性 + * 修复黑名单(在 local.conf 中)不可靠的问题(GitHub 问题 #656) + * 修复由于时间比较中的无符号整数溢出导致的连接不稳定性(使用 int64_t 而不是 uint64_t) + * 修复某些较旧或低端 32 位 ARM 芯片上二进制文件不运行的构建问题(构建问题) + * 修复 ARM NEON 加密代码崩溃(构建问题) + * 修复了由 "valgrind" 工具揭示的一些锁排序问题 + * 通过命令行开关无法从 "zerotier-one" 访问 "zerotier-idtool" 命令 + * 修复某些平台上启用 uPnP/NAT-PMP 时的套接字泄漏 + * 修复了仅在某些系统上观察到的两个非常罕见的多线程问题 + * 平台特定更改 + * MacOS + * 安装程序现在立即加载内核扩展,以便 High Sierra 用户会看到授权提示。这在"安全与隐私"首选项窗格中完成,必须直接在控制台上完成(不能通过远程桌面)。在 High Sierra 及更新版本上,必须在控制台上通过安全设置系统首选项窗格授权 kext。 + * Windows + * Windows 安装程序现在应该在大多数情况下无需特殊提示即可安装驱动程序。这应该使我们的包更容易被 Chocolatey 存储库接受和更新,并且应该使使用 IT 管理和配置工具在机器组上执行远程安装变得更容易。 + * Windows 官方包现在使用 EV 证书(带硬件密钥)签名。 + * Windows UI 现在可以登录到 ZeroTier Central 并通过 Central API 加入网络。 + * `zerotier-idtool` 命令现在应该在 Windows 上无需丑陋的破解即可工作。 + * 升级了安装程序版本。 + * 做了一些更改,希望能修复间歇性的"无法卸载"问题,尽管我们自己无法复制这些问题。 + * Linux + * 设备名称现在基于网络 ID 确定性生成,用于所有新加入的网络。 + * Android + * 多播现在在大多数情况下在 Android 上工作!Android 应用可以发送和接收多播并订阅多播组 IP。请注意,在某些情况下,应用必须绑定到特定的正确接口才能工作。 + * 可以在 UI 中禁用 IPv6,以应对导致问题的情况。 + +## 2017-04-20 -- 版本 1.2.4 + + * 托管路由现在仅对默认路由进行分流。这是一个行为变更,但很少有人会注意到。分流所有托管路由对大多数用户来说造成的麻烦比好处更多。 + * 由于集成了来自 [supercop](http://bench.cr.yp.to/supercop.html) 代码库的快速汇编语言实现的 Salsa20/12,x86-64(除了 Windows)和 32 位 ARM 平台上的加密速度提高了 2 倍。这些是由 Daniel J. Bernstein 编写的,属于公共领域。我的 MacBook Pro(Core i5 2.8ghz)现在每个核心每秒执行近 1.5GiB 的 Salsa20/12,而 Raspberry Pi 获得了 2 倍的提升。64 位 ARM 支持和 Windows 支持需要一些工作,但应该不会太难。 + * 重构管理凭证的代码,以在大多数情况下大大减少内存使用。这也可能导致小的性能提升。 + * 重新设计和简化路径选择和优先级逻辑,以修复路径不稳定性和死路径持久性边缘情况。有一些关于持续路径不稳定性和死路径需要几分钟才能解决的零星报告。这些在内部很难重现,但希望这能修复它们。无论如何,这似乎在我们的测试中加快了路径建立,并且使代码更简单易读。 + * 从路径管理和对等类中消除了一些未使用的垃圾代码。 + * 修复了某些 MIPS 架构系统上的构建问题。 + * 修复了 Windows 在睡眠/唤醒或某些其他情况下忘记路由的问题。(GitHub 问题 #465) + +## 2017-03-17 -- 版本 1.2.2 + + * 导致不可靠多播传播的错误(GitHub 问题 #461)。 + * 由于构建链和标志问题导致的 ARM 二进制文件崩溃。 + * 网络控制器中阻止列出成员的错误(GitHub 问题 #460)。 + +## 2017-03-14 -- 版本 1.2.0 + +版本 1.2.0 是一个重要的里程碑版本,代表了近九个月的工作。它包括我们的规则引擎,用于分布式网络数据包过滤和安全监控,联合根,以及许多其他架构和 UI 改进及错误修复。 \ No newline at end of file