nacos1.4.1~2.1.2版本变化详情

479 阅读18分钟

Nacos 2.0.1 + 1.4.2 Release

发布时间:2021-01-15

nacos.io/zh-cn/blog/…

Nacos 2.0.1

2.0.1主要变更为:

  1. 在nacos-istio插件及模块中,支持MCP-OVER-XDS协议,解决Nacos与Istio数据服务同步问题。
  2. 增强了Jraft协议在k8s环境中的Leader选举的稳定性。
  3. 修复了频繁抛出Server is Down错误的问题。
  • 特性:

-[#3484] 支持 LDAP 登录。

-[#4856] 通过 xds 支持 MCP。

-[#5137] 支持服务列表添加视图订阅者。

-[#5367] 支持 nacos 2.0 的客户端加密插件。

  • 强化:

-[#5307] 推送支持配置部分参数

-[#5334] 修复k8s环境下Server is Down问题。

-[#5361] 使用 GRPC 协议注册实例时检查 isUseGrpcFeatures()

Nacos 1.4.2

  1. 该版本优化了JRaft模块,与最新的nacos-k8s项目配合使用,极大增强集群选主的稳定性。
  2. 另外,该版本了修复有关“Server is Down”问题的提示及众多1.4.1版本中的Bug。

2.0.2 版本

发布时间:2021-03-21

  • 特性:

[#2843] 在客户端添加 CAS 发布配置。

[#5686] 在命名性能日志中添加 Distro 监视器信息。

[#5719] 添加一些 API 来查询和修复升级数据。

[#5756] 支持为 createService 指定临时值。

[#5952] 功能使命名 rpc 客户端知道服务器列表更改。

[#6019] 支持从具有命名空间的端点获取服务器列表。

  • 强化

[#4208]支持通过“,”和“;”配置多个服务器列表。

[#5747]支持指定NAMING_CACHE_REGISTRY_DIR属性。

[#5775]保持群集升级状态。

[#5713]增强控制台中的查询配置行为。

  • 重构

[#3046] 常量变量的增强。

[#5689] 重构 nacos 示例。 [#5717][#5727][#5771][#5774][#5762][#5802][#5836][#5843][#5877][#5904][#5915][#6010]增强代码质量。

[#5888] 重构resourceParser groupName改变拼接方式。

[#5949]增强 gRPC 错误提示日志。[#6015]在调用服务器之前添加/删除客户端实例缓存。

  • 修复错误

[#5574] 删除降级的成员版本信息。

[#5559] 修复了当我将源代码分支切换到 2.0.0 时无法解析符号“istio”的问题。

[#5671] 修复升级到 2.0.X 后关闭服务组名的问题。

[#5692] 修复升级到 2.0.X 后删除的服务仍然存在的问题。

[#5765] 修复nacos-server无法使用localhost的问题。

[#5782] 修复了无法通过 DoubleWrite 删除任务删除 v2 模型的持久实例。

[#5798] 修复升级后的服务器无法再次降级升级的问题。

[#5831] 修复命名客户端在重新连接到服务器时可能注册旧实例的问题。

[#5835] 修复创建用户错误。

[#5870] 修复 doubleWrite 可能会将持久性实例注册为临时实例。

[#5872] 修复其中一个节点重启时服务器可能降级到 1.X 模型的问题。

[#5918] 修复 notifyCenter 可能导致命名数据不一致的问题。

[#5927] 修复 2.0 模型服务器重启后 tcp 检查无效的问题。

[#5934] 修复导入配置文件时无法覆盖原配置文件的问题。

[#5937] 修复使用 ak sk 时客户端的授权问题。

[#5971] 修复升级到 v2.x 后 Naming API 无法适配的问题。

2.0.3 版本

nacos.io/zh-cn/blog/…

发布时间2021-07-28

在这个版本中,Nacos社区继续针对从1.X升级到2.0.X的特性做了很多优化,提高了升级的稳定性。并添加一个SPI来帮助服务器判断服务器是否准备好升级。同时,社区为nacos client增加了redo功能,保证用户调用失败后,实例和订阅者可以重新注册。更重要的是,Nacos 社区做了很多重构和单元测试。

  • 特性:

[#6384] 为 nacos 客户端命名添加重做功能

  • 强化:

[#1469] 添加集群删除按钮。

[#5884] 添加历史配置的权限。

[#5909] 增强验证检查失败时的 LADP 验证日志打印。

[#5999] AddressServerMemberLookup 中的 Adpat nacos 端点。

[#6100] 增强配置管理 UI。

[#6129] 配置文件更改时添加 ServerConfigChangeEvent。

[#6142] 重新连接验证检查失败时重做注册和订阅。

[#6160] nacos客户端获取IP地址方式优化。

[#6175] 如果客户端已经断开连接,请忽略此请求以避免 NPE。

[#6178] 统一配置页面样式

[#6204] 如果在缓存中找不到用户或角色信息,则从数据库中获取数据。

[#6367] 添加 IOReactorExceptionHandler 以避免 IOReactor 在遇到未知网络错误时跳出循环。

[#6386] 当集群升级到 v2 时停止 v1 发行版验证。

  • 重构:

[#3102] 删除对 common-lang3 的依赖。

[#5771][#5919][#6050]提高代码质量。

[#5845] 删除 InitUtils#initNamespaceForNaming 中的冗余代码。

[#6197] 删除不必要的类。

[#6216] 所有 SQL 关键字都修改为大写。

[#6217] 为升级检查器添加添加 SPI。

[#6272] 重构实例构建器以构建和处理来自 http 的请求。

[#6446] 移除 guava 的依赖。

[#6403] nacos-server 中可以配置命名客户端的过期时间。

  • 修复错误

[#6107]修复中文帐户在主页上显示 gibber 的问题。

[#6109]修复了双重写入服务的获取实例升级帮助程序实例错误。

[#6116]修复在具有高并发的旧客户端中注册相同 IP 和端口时无法检查客户端节拍的问题。

[#6169]修复集群页面国际化

。[#6198]修复了使用 StringUtils.join 非法时的 NPE。

[#6295]修复不会删除 IP 端口客户端的实例元数据。

[#6335]修复了 Linux/Unix/Mac 系统下JAVA_HOME路径包含空格时的启动错误。

[#6382][#6476]修复 nacos-istio serviceInfo.getChecksum() 总是为空。

[#6423]修复 yaml 解析并发问题。

2.0.4 版本

该版本主要增加了配置加密功能,增强了 grpc 客户端和控制台的稳定性,并修复了 2.0.x 中的 bug。更重要的是,Nacos社区做了大量的重构和单元测试。

发布时间:2022-01-18

  • 特性:

[#5695] 使导入/导出功能与配置加密和解密兼容。

[#5695] Nacos 2.0 增加配置加解密插件SPI,持久化EncryptedDataKey。

[#6430] 将特征选择器工作流程集成到 Nacos 2.0.x 中。

[#7262] 在 v2 服务查询 api 中添加临时属性。

  • 强化

[#6999]使 Nacos 的登录和应用程序的日志模块分离。

[#7149]使用反向代理时,为客户端添加端口偏移配置,以暴露不同的端口。

[#6572] 添加 OpenAPI 获取 Nacos2.x 客户端的计数。

[#6296]优化新建配置页面(创建配置成功后跳至配置列表页面)。

  • 重构

[#7500] 更新 logback 版本 1.2.9。

[#7468] 将 log4j 升级到 2.17.0。

[#6733] 升级 jraft 版本到 1.3.8 。

[#6628] 移除冗余功能接口

  • 修复错误

[#6296]修复控制台上的错误(删除然后添加配置时,Nacos Web 显示现有配置)。

[#7502]使 serviceListRequestHandler 返回正确的 serviceName 计数。

[#7591]删除无意义的判断条件。

[#7550]修复本地文件系统有缓存文件时“订阅服务失败”的问题

[#7411][#7415] 修复 RpcClient 关机和 Dubbo 关机时的 NPE 问题。

[#7248]修复退订后更新任务无法停止的问题。

[#7141]修复配置添加和删除记录时运算符列为空的问题。

[#7225]忽略 WebServerInitializedEvent 如果 spring 上下文的命名空间是管理。

[#7001]要使 Nacos 2.x 中的计数值与值 Nacos 1.x 相同,请添加“抛出 NacosException”逻辑。

[6535] 不同版本的 open-api/nacos/v1/ns/service 返回的结果不一致。

[#6581] 修复了服务控制器订阅者界面中的一些错误。

1.4.3版本

发布时间:2022-01-27

该版本主要优化了配置模块的稳定性,提出了控制台的交互体验。更重要的是,这个版本在UT覆盖率方面也做了很大的改进,并修复了1.4.x的许多bug。详细信息如下:

  • 特性:

[#6016] 支持从具有命名空间的端点获取服务器列表。

[#5672] 重新布局配置页面。

  • 强化:

[7188] 将带有 LocalEncryptedDataKeyProcessor.getEncryptDataKeySnapshot 的 encryptedDataKey 添加到 LocalConfigInfoProcessor.getSnapshot 中。

[#6663] 优化 GetServerListTask 加载优先级。

[#1773] 让导入的配置覆盖原始配置。

[#5635] 修复 CreateUser 按钮刷新无间隙问题。

  • 重构:

[#7480] 将 v1.x-develop 的 log4j 升级到 2.17.0。

[#7420] 将 log4j 从 2.15.0 升级到 2.16.0。

[#5547] 优化 ConfigRequest 和 ConfigResponse 代码,提取公共常量。

[#5621] 删除重复的依赖项。

[#5528] 优化 ParamUtil 代码并提取常量。

[#5587] 更改 NotifySingleService 中的无效比较。

  • 修改错误

[#1733] 修复注册两次注销后仍然获取实例的问题。

[#7191] 修复客户端 (LongPollingRunnable) 中的 EncryptedData 长轮询侦听错误。

[#3969] 修复按组名搜索特殊字符匹配错误的问题。

[#5814] 修复Nacos 1.x 回车搜索时查询参数丢失的问题。

[#5747] 使用 Dubbo 的多注册中心特性并设置 namingLoadCacheAtStart=true 时,NacosNamingService 的缓存会相互覆盖。

[#5683] 修复逻辑判断表达式。 [#5664] 修复配置历史详细信息页面中 Action Type 字段的语言环境不生效的问题。

[#3548] 修复禁用 auth 时 srcUser 填写用户名的问题。

2.1.0版本

发布时间:2022-4-29

该版本主要增加认证插件和配置加密插件能力。并默认关闭支持从1.X版本升级的能力。对于Client,该版本重构了类扫描逻辑,去除了org.reflections依赖,解决了org.reflections冲突时的不兼容问题。最后,该版本做了一些增强并修复了 2.0.4 中发现的一些错误。详细变更日志如下:

  • 特性

[#5695]添加插件 SPI 用于 Nacos 2.0 的配置加密和解密

[#5696] 添加插件 SPI,用于 Nacos 2.0 的身份验证。

[#7930]默认关闭支持从 1.X 功能升级。

[#7992]支持集群 grpc 客户端设置线程池大小。

 [#8220]增加复位筏簇操作。

  • 强化

[#7487]为 CacheBuilder 添加泛型。

[#7879]重构 AbstractMemberLookup 的销毁方法。

[#7924][#8214]添加 ldap 身份验证插件。

[#7952]忽略筏子跟随者状态机的读取请求,以增强筏子的稳定性。

[#7966]在导致某些服务器错误时在身份验证/发行版/Curcuit-Filter 中添加更多信息。

[#7971]完全升级后停止版本判断任务并释放线程。

[#8072]增强发行版协议初始化中的内存成本。

[#8107]增强控制台更改密码操作。

[#8156]支持控制台自动升级的 js 和 css。

  • 修复错误

[#1717][#7359]修复 XSS 漏洞。

[#6273]修复脱机服务器节点 API 的循环请求。

[#6999]修复 Nacos 客户端不支持日志重载日志配置的问题。

[#7757]修复 jraft 读取请求反序列化为写入请求的问题。

[#7780]修复配置 a-b-a 问题。

[#7941]修复配置详情页面的版本比较错误。

[#8087]修复配置管理器中的现成文本。

[#8108]修复了 v2 运行状况检查的抛出 NPR。

[#8050]修复有关发行版更改的配置无法生效。

[#8161]修复控制台无法使用相对路径的问题。

[#8163]修复多实例共享同一本地快照的问题。

[#8196]修复查询数量超过订阅者计数时没有计数的订阅者 API。

依赖

[#7758] 将模块 nacos-consistency protobuf-maven-plugin 版本更新为 0.6.1。

[#7886] 增强包扫描逻辑并删除 org.reflections 依赖项。

1.4.4版本

发布时间:2022-08-08

这个版本主要是将spring boot版本升级到2.6.6,修复了一些spring的安全问题,并应用了很多2.X的增强功能。详情见以下:

  • 强化

[#5344]通过 JRaft API 重置无领导者的筏筏集群操作。

[#5884][#7810]添加历史记录配置的权限。

[#7284]增强打印异常详细信息。

[#7799]增强控制台异常处理程序。

[#7802]增强线程池管理器。

[#7801]增强服务器之间的连接释放超时。

[#7803]从 2.X 应用一些 Jraft 增强功能。

[#7925] 客户端在取消订阅服务后停止更新任务。

[#8072]降低发行版协议初始化中的内存成本,以避免内存不足错误。

[#8144]将易失性修饰符添加到 NamingProxy.serversFromEndpoint。

[#8203]修复服务器列表管理器迭代器的并发问题。

[#8434]增强发行版一致性服务Impl listen/unListen。

  • 错误修复

[#6198][#7809]修复 StringUtils.join throw NullPointerException。

[#6273]修复循环离开服务器。

[#7141][#7804]修复配置添加和删除记录时运算符列为空的问题。

[#7750][#7869]修复权限管理模块中的错误,例如更改密码时冗余的“nacos”。

[#7757][#7761]修复 jraft 请求解析失败的问题。[#7807]修复 yaml 解析并发问题。

[#7836]修复 nacos-client 无法解析本地主机的问题。

[#8012]在DistroConsistencyServiceImpl.Notifier中修复NPE。

[#8283]修复同一集群同时注册时线程安全问题。[#8428]修复了多个命名服务时的命名订阅错误。

  • 依赖

[#7813] 将 log4j2 升级到 2.17.1。

[#7813] 将 logback 升级到 1.2.9。

[#7813] 将 Jraft 升级到 1.3.9。

[#8421] 删除 commonOkHttp 依赖项。

[#8169] 将 spring-boot 版本升级到 2.6.6。

2.1.1版本

发布时间:2022-08-08

这个版本主要修复了2.1.0版本中的很多bug,并升级了许多依赖项来修复一些大问题。 同时,社区对性能进行了一些增强,例如默认身份验证插件,Grpc请求和发行版协议。 最后,此版本增加了两个测试版功能——批处理注册和跟踪事件。第一个测试版功能由代理寄存器情况使用,如 nacos-sync。第二个测试版功能用于获取配置或服务更改的信息。这将是社区的新插件。

  • 特性

[#5863] (BETA) 支持批量注册服务。

[#7424] 在历史列表中添加版本数据比较。

[#8305] (REMOVE) 暂时移除离开 nacos 服务器节点的 API。

[#8481](测试版)向服务器添加 TRACE 事件。 [#8755] 添加默认的模糊搜索功能。

  • 强化

[#8099] 如果集群断开连接,分发同步任务和验证任务的快速失败。

[#8150] 将命名空间描述项添加到命名空间列表页面。

[#8345] 添加对服务集群名称的验证。

[#8515] 优化 InetUtils 中的部分代码。

[#8561] 增强默认身份验证插件性能。

[#8574] 增强推送回调的过滤器服务信息。

[#8592] Ehhance GrpcUtil 内存和 CPU 成本。

[#8622] 添加 NacosEnvironment 并添加一些单元测试。

  • 依赖和重构

[#8369] 删除 mina 依赖项。

[#8383] 将 jackson 版本升级到 2.12.6.1。

[#8421] 删除 commonOkHttp 依赖项。

[#8472] 删除无用的依赖项。

[#8479] 将单例构造重构为私有。

[#8540] 将 spring-boot 版本升级到 2.6.8。

[#8594] 可以配置发行版数据加载超时。

[#8596] 明确指定与 spring-boot 相同的 spring-boot-maven-plugin 版本。

[#8623] 将 mysql-connector-java 升级到 8.0.28。

  • 修复错误

[#7039] 修复config encryptedData md5计算问题。

[#8153] 修复 AutoExpireCache 的 NPE。

[#8243][#8653]修复健康检查插件问题。

[#8275] 修复使用 skywalking 时无法注册服务的问题。

[#8295] 修复在集群模型中使用嵌入式存储时无法登录的问题。

[#8318] 修复 findAllConfigInfoForDumpAll sql args 错误。

[#8372] 修复客户端无法使用 https 连接的问题。

[#8424] 修复循环依赖问题。

[#8428] 修复多个 NamingService 时的命名订阅错误。

[#8505] 修复spring-boot项目中日志配置冲突问题。

[#8514][#8539] 修复客户端prometheus api报错问题。

[#8516] 修复持久实例变为临时实例的问题。

[#8602] 修复删除当前命名空间后的显示错误。

[#8632] 第一时间修复订阅禁用实例问题。

[#8635] 修复调用关闭方法时的 NPE。

[#8720] 修复config aspect无效的问题。

[#8742] 修复更改实例元数据,服务的修订不更改。

[#8784] 修复控制台 UI 的一些错误。

[#8833] 修复打开 auth 时导入配置失败的问题。

[#8880] 修复在没有读取权限时不断加载配置。

2.1.2版本

发布时间:2022-10-17

nacos.io/zh-cn/blog/…

此版本主要增强控制台UI,发布纯nacos客户端,无阴影,并修复了很多bug。 下一个版本计划发布 2.2.0,其中包括许多新插件。 详情见:

  • 强化

[#6112]统一的德比数据变量。

[#7929]通过迷你罐减少 nacos-client jar 的大小。

[#8941]支持权限控制中的模糊查询 - 用于 API 更改。

[#8956]在 nacos 控制台中国际化产品描述内容。

[#8976]使用重复的命名空间显示名称创建新命名空间。

[#9091] 发布时构建纯 Nacos 客户端。

[#9210]命名发行版同步支持修订版。

  • 重构与依赖

[#8611] 关闭旧数据源连接。

[#8650] 使集群/报告接收和发送元数据。

[#9013] 重构 rpcClient 和 grpcClient 以支持集合配置。

[#9014] 重构 TpsMonitorPoint。

[#9177] 将 org.yaml.snakeyaml 版本从 1.30 升级到 1.32

[#9325] 添加命名异步查询的开关。错误修复

  • 修复错误

[#8882] 修复 nacos-client 2.1.0 使用端点配置时启动报错的问题。

[#8910] 修复使用批注册时计算实例计数错误。

[#8925] 修复 hasQueryString 的值始终为 false 的问题。

[#8928] 修复 replaceAll 操作对服务器列表无效的问题。

[#8931] 修复 BatchInstanceData 无法序列化的问题。

[#8934] 修复请求重试时丢失的标头。

[#8947] 修复nacos服务器未加载鉴权/加密插件的问题。

[#9023] 修复了无法创建极端案例配置 dataId 'cipher-' 的问题。

[#9047] 修复 nacos-client 中 ServerListMgr 未关闭的问题。

[#9060] 连续修复 NamingTraceEvent 的打印日志。

[#9062] 修复退订服务失败的问题。

[#9101] 修复数据源连接中的 ConnectionTimeout 属性被覆盖的问题。

[#9227] 修复 2.1.1 中没有设置范围时实例更改事件订阅失败的问题。

[#9230] 修复快照加载的错误事件顺序。

[#9269] 修复 RpcClient 解析 ipv6 地址错误的问题。

[#9271][#6876] 修复服务器异常关闭后的 'JraftServer' NPE。

[#9277] 修复服务移除时 ClientServiceIndex 不干净的问题。

[#9305] 修复带有错误 dataId 的构建资源。

[#9311] 修复了监听器添加延迟时未删除缓存的问题。

[#9323] 修复 1.x http openAPI 中的服务检查问题。