Cloud Native 14 min read

What’s New in Nacos 2.3.0? Key Plugins, Validation, and Future Roadmap

The Nacos 2.3.0 beta release introduces anti‑fragile, configuration‑change, and unified parameter‑validation plugins, adds ability negotiation, lists numerous feature enhancements and bug fixes, and outlines the roadmap toward Nacos 3.0 while highlighting community achievements in the 2023 Open‑Source Summer program.

Alibaba Cloud Native
Alibaba Cloud Native
Alibaba Cloud Native
What’s New in Nacos 2.3.0? Key Plugins, Validation, and Future Roadmap

After more than four months of community contributions, Nacos 2.3.0 entered the beta stage, following a series of security‑risk fixes in the 2.2.x line.

Anti‑Fragile Plugin

The anti‑fragile plugin, first added in 2.2.0 Alpha, has been refactored and stabilized and is now officially released in 2.3.0. It prevents capacity problems that can cause large‑scale failures when the Nacos cluster receives massive requests and connections. Users can adopt the default implementation or develop custom plugins following the documentation.

Configuration‑Change Plugin

Nacos’s core configuration management now supports a plug‑in mechanism for audit, change notification, and format validation. The plugin allows developers to hook into pre‑change and post‑change events, integrate with corporate audit or notification systems, and perform extra checks such as format validation and name normalization. A default webhook‑based plugin is provided.

Unified Request Parameter Validation

Previously, parameter checks were scattered across individual request handlers, leading to omissions and inconsistent rules. In 2.3.0, Nacos defines a unified validation rule set and implements a dedicated validation layer on the server side. Users can enable this feature to ensure that incoming request parameters conform to the defined rules, reducing errors, performance issues, and potential security risks.

Ability Negotiation

To improve client‑server compatibility as Nacos adds more features, a capability‑negotiation mechanism was introduced. When a client connects, both sides exchange supported feature lists and enable matching capabilities, avoiding unnecessary trial‑and‑error communication overhead.

Other Important Changes

The release also adds numerous features, enhancements, and bug fixes, including client‑exception metrics, gRPC long‑connection SSL support, control‑panel deactivation, and many refactorings. A representative excerpt of the changelog is shown below:

# feature
[#5698] Support nacos control plugin.
[#8458] Support ability negotiations between server and clients.
[#8460] Support config change hook plugin.
[#10117] Support metrics for nacos client request server exception.
[#10150] Support SSL for grpc connection.
[#10223] Support auto build instance id when client request instance id is null.
[#10288] Support get more module state and switches in console.
[#10734] Support validate most of request parameters.
[#10774] Support toml format for configuration in console ui.
[#10831] Support batch deregister instances for service.
[#10971] Support disable console ui and add guide information.

# Enhancement&Refactor
[#6819] Add page size selector in service details page.
[#8107][#9109][#10169][#10176] Enhance hint when console ui session expired for default auth plugin.
[#9085] Add the Reachability Metadata required by native-image.
[#9821] Enhance datasource plugin to make more datasource implementation easier.
[#9881] Enhance configuration page to supports folding when editing configuration.
[#10067] Enhance Windows compatibility for configuration snapshot.
[#10155] Enhance hints for grpc request when request timeout.
[#10343] Use CMS as default GC when jdk less 9.
[#10361] Refactor module switches to make only load specified module but not only close in console ui.
[#10520] Validate for namespace show name when create new namespace.
[#10521] Enhance the hints for `No DataSourceSet` error by validate datasource after construction.
[#10539] Enhance logs when operation configuration failed.
[#10730] Link to v2 document for console ui.
[#10811] Enhance compatibility for colorful service healthy status in console ui.
[#10891] Support setting maximum number of push retries.
[#10930] Forward compatible old version secretKey for default auth plugin.
[#11129] Remove the namespace information from the node list page.
[#11231] Optimize the handleSpringBinder method in PropertiesUtil.

# BugFix
[#10056] Fix loss revision of client for distro sync.
[#10128] Fix wrong judgement in raft stateMachine.
[#10149] Fix dead lock on sending connection reset request on server over limit.
[#10271] Fix nacos-client failover switch file path.
[#10318] Fix import configuration problem.
[#10347] Fix only admin role user can register service into default namespace when enabled default auth plugin.
[#10406] Fix jraft install leader snapshot error after disconnection.
[#10427] Fix nacos client no response when handle server request with exception.
[#10464] Fix NPE when concurrent operations for client.
[#10470] Fix some missed i18n for console ui.
[#10509] Fix out data connection not be disconnect problem.
[#10548] Fix switch domain might not load snapshot after restart.
[#10556] Fix index loss for client and service in extreme scenarios.
[#10583] Fix some new API loss auth check.
[#10585] Fix selectInstances and selectOneHealthyInstance methods will not subscribe service problem.
[#10593] Fix invalid create `file:` dir under `nacos.home`.
[#10598] Fix nacos-client not random get server address when using address.
[#10606] Fix memory leak for nacos client when user create and shutdown client frequently.
[#10657] Fix NPE when using derby datasource for cluster mode.
[#10935] Fix startsWith judgement wrong when ignoreCase is true.
[#11056] Fix Batch register count size wrong, when batch register several time.
[#11059] Fix RPC_CLIENT_TLS_PROTOCOLS setting error.
[#11192] Fix batchRegisterInstance not recalculate revision problem.
[#11197] Fix frequent do query service when hit protect empty.

# Dependency
[#7698] Remove httpasyncclient version dependency management to avoid version conflicts.
[#10416] Upgrade console yaml editor.
[#10648] Optimize Guava Dependency.
[#10893] Upgrade spring boot to 2.7.15.
[#11199] Upgrade grpc version to 1.57.2.

Future Plans

From the 2.X series, the community will focus on fixing known issues and making minor optimizations in the upcoming 2.3.X releases. Version 2.4.0 will serve as a transition to Nacos 3.0, featuring extensive code refactoring, improved stability, better observability, and smoother migration.

For Nacos 3.0, the roadmap includes a unified control plane, support for domestic‑produced components, and a separation of storage and compute, among other architectural enhancements.

Community Highlights

During the 2023 Open‑Source Summer (OSPP) program, nine projects were launched, with six successfully matched to contributors. Notable projects include client subscriber merging, Spring Boot 3 adaptation for nacos‑spring‑boot‑starter, ConfigMap‑to‑Nacos sync tools, client observability metrics, fuzzy subscription capabilities, and partial xDS protocol implementation.

The Nacos community also received the “Excellent Community” award at the GLCC 2023 programming summer camp and was recognized by CCF Gitlink. A high‑demand distributed‑lock feature is slated for the Nacos 3.0 Alpha release.

Further details and discussion about Nacos 3.0 plans can be found at https://mp.weixin.qq.com/s?__biz=MzU4NzU0MDIzOQ==∣=2247511397&idx=3&sn=3ed3ef95e5ce1e396554ba4f370a0254#wechat_redirect.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

NacosParameter ValidationreleasePluginsAbility Negotiation
Alibaba Cloud Native
Written by

Alibaba Cloud Native

We publish cloud-native tech news, curate in-depth content, host regular events and live streams, and share Alibaba product and user case studies. Join us to explore and share the cloud-native insights you need.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.