nacos

an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.

APACHE-2.0 License

Stars
30.1K
Committers
409
nacos - 2.2.0 (Dec 14, 2022)

Published by KomachiSion almost 2 years ago

This version is an important version which include some large changes.

The first important change is remove the old redundant codes about 1.x naming and double write relative codes. After changed, The 2.2.0 version will can't upgraded from Nacos 1.X server, only can upgraded from at least version 2.0.0. The changes will not effect the adapt for 1.X client request, users can still use 1.X client with 2.2.0 version.

The second important change is adding several plugins:

  • datasource plugin, which added by Asoc 2022 project to support other DBs.
  • custom environment plugin, which added by community to handle configurations of Nacos server, such as decrypt database password.
  • connection limit plugin, which refactored from old limit module, to extend more abilities to protect Nacos server under high pressure.

The third important change is to enhance the beta feature Tracing plugin and batch register, which make them more easy to use.

Detail see:

feature

[#5863][#9331] Support batch register and batch deregister service.
[#8308] Add v2 openAPI for nacos 2.0.
[#8312] Support datasource plugins.
[#8481] Support track tracing plugins.
[#8694] Support prometheus http service discovery(prometheus http sd).
[#9318] Support caseSentive for Ldap auth plugin.
[#9366] Support Ldaps authentication.

Enhancement&Refactor

[#7930] Reomve old redundant codes about 1.x naming.
[#9391] Optimization Chooser.
[#9393] Make server stop auto when starting error.
[#9414] Optimize fuzzy queries to make SQL more general.
[#9415][#9449][#9466][#9497] Enhancement datasource plugins.
[#9423] ExternalDataSourceProperties add isEmpty check to support external config.
[#9459] Modify the method modifier of NacosApplicationListener to default.
[#9471] Keep console query condition in configuration After return list config pages.
[#9597] Keep console query condition in discovery After return list service pages.
[#9615] Enhance client choose server node to request server more dispersed.
[#9653] Refactor connection limit module to plugin.

BugFix

[#9334] Fix group_id data length different in many tables.
[#9341] Fix can not create bean ldapAuthenticationProvider.
[#9351] Fix instance count error in prometheus metrics.
[#9367] Fix auth plugin's property 'token.secret.key' base64 decode error.
[#9408][#9437] Fix console namespace list deploy problems.
[#9461] Fix ClientWorker NullPointer judgement order.
[#9474] Fix some instance is unhealthy after change to http health check.
[#9478] Fix the chooser bug when all instances have a zero weight.
[#9584] Fix console configuration query button overflow hidden problem.
[#9586] Fix problem of deregister instance failure after service expired metadata auto clean.

Dependency

[#9652] Upgrade ui dependencies to fix some depend vulnerability.

nacos - 2.2.0-BETA (Oct 28, 2022)

Published by KomachiSion almost 2 years ago

This version is an important version which include some large changes.

The first important change is remove the old redundant codes about 1.x naming and double write relative codes. After changed, The 2.2.0 version will can't upgraded from Nacos 1.X server, only can upgraded from at least version 2.0.0. The changes will not effect the adapt for 1.X client request, users can still use 1.X client with 2.2.0 version.

The second important change is merging some of Asoc2022 and Summer2022 topic results, such as v2.0 openAPI and datasource plugins. Other topics will publish in future versions.

The third important change is to enhance the beta feature Tracing plugin and batch register, which make them more easy to use.

Due to many important changes in this version, so community plan to do a pre-release BETA version. According the beta result, The next version plan to Beta2 or GA release.

Detail see:

feature

[#5863][#9331] Support batch register and batch deregister service.
[#8308] Add v2 openAPI for nacos 2.0.
[#8312] Support datasource plugins.
[#8481] Support track tracing plugins.
[#9366] Support Ldaps authentication.

Enhancement

[#7930] Remove old redundant codes about 1.x naming.

BugFix

[#9334] Fix group_id data length different in many tables.
[#9341] Fix can not create bean ldapAuthenticationProvider.
[#9351] Fix instance count error in prometheus metrics.

nacos - 2.1.2 (Oct 17th, 2022)

Published by KomachiSion about 2 years ago

This version mainly enhance the console UI, release pure nacos client without shaded and fix lots of bugs.

The next version plan to release 2.2.0, which include many of new plugins.

Detail see:

Enhancement

[#6112] Unified derby-data variables.
[#7929] Reduce nacos-client jar size by minijar.
[#8941] Support Fuzzy Query in Authority Control--for api change.
[#8956] Internationalize product description content in nacos console.
[#8976] Create new namespace with duplicate namespace show name.
[#9091] build pure nacos-client when release.
[#9210] Naming Distro sync support revision.

Refactor&dependency

[#8611] Close old datasource connection.
[#8650] Make cluster/report both receive and send metadata.
[#9013] refactor rpcClient and grpcClient to support set configuration.
[#9014] refactor TpsMonitorPoint.
[#9177] Upgrade org.yaml.snakeyaml version from 1.30 to 1.32
[#9325] Add switch for naming async query.

BugFix

[#8882] Fix nacos-client 2.1.0 start error when using endpoint configuration.
[#8910] Fix calculate instance count error when using batch register.
[#8925] Fix the value of hasQueryString is always false.
[#8928] Fix the replaceAll operation is invalid for server list.
[#8931] Fix BatchInstanceData can't serialize problem.
[#8934] Fix header lost when request retrying.
[#8947] Fix the authentication/encryption plugin are not loaded on the nacos server.
[#9023] Fix corner case config dataId 'cipher-' can't be create.
[#9047] Fix ServerListMgr is not shutdown in nacos-client.
[#9060] Fix print logs for NamingTraceEvent continuously.
[#9062] Fix unsubscribe service failed problem.
[#9101] Fix the ConnectionTimeout property in the datasource connection is overwritten problem.
[#9227] Fix instance change event subscribe failed in 2.1.1 when no setting scope.
[#9230] Fix error event order for snapshot loading.
[#9269] Fix RpcClient parse ipv6 address error problem.
[#9271][#6876] Fix 'JraftServer' NPE after server exceptionally shutdown.
[#9277] Fix ClientServiceIndex not clean when service removed.
[#9305] Fix build resource with error dataId.
[#9311] Fix cache not removed when listener adding delay.
[#9323] Fix service checking problem in 1.x http openAPI.

nacos - 2.1.1 (Aug 8th, 2022)

Published by KomachiSion about 2 years ago

This version mainly fix lots of bugs in 2.1.0 version and upgrade many dependencies to fix some big problem.

At the same time, community do some of enhancement for performance such as default auth plugin, Grpc request and distro protocol.

Finally, This version add two beta feature -- batchRegister and trace event. The first beta feature is used by proxy register situation like nacos-sync.
The second beta feature is used to get the information of config or service changes. It will be a new plugin for community.

Detail see:

Features

[#5863] (BETA) Support batch register service.
[#7424] Add version data compare in the history list.
[#8305] (REMOVE) Remove leave nacos server nodes API temporarily.
[#8481] (BETA) Add TRACE Event to server.
[#8755] Add default fuzzy search feature.

Enhancement

[#8099] Fast failure for distro sync task and verify task if cluster disconnect.
[#8150] Add the namespace description item to the namespace list page.
[#8345] Add validation for service cluster name.
[#8515] Optimize some code in InetUtils.
[#8561] Enhance default authentication plugin performance.
[#8574] Enhance filter service info for push callback.
[#8592] Ehhance GrpcUtil memory and cpu cost.
[#8622] Add NacosEnvironment and add some unit tests.

Refactor&dependency

[#8369] Remove mina dependency.
[#8383] Upgrade jackson version to 2.12.6.1.
[#8421] Remove commonOkHttp dependency.
[#8472] Remove useless dependency.
[#8479] Refactor singleton construction as private.
[#8540] Upgrade spring-boot version to 2.6.8.
[#8594] Makes distro data load timeout can be configured.
[#8596] Explicitly specify spring-boot-maven-plugin version same as spring-boot.
[#8623] Upgrade mysql-connector-java to 8.0.28.

BugFix

[#7039] Fix config encryptedData md5 calculation problem.
[#8153] Fix NPE for AutoExpireCache.
[#8243][#8653] Fix health check plugin problem.
[#8275] Fix can't register service when use skywalking.
[#8295] Fix can't login when use embedded storage in cluster model.
[#8318] Fix findAllConfigInfoForDumpAll sql args error.
[#8372] Fix client can't use https connection.
[#8424] Fix cycle dependency problem.
[#8428] Fix naming subscribe bug when multiple NamingService.
[#8505] Fix log configuration conflict in spring-boot project.
[#8514][#8539] Fix prometheus api error in client.
[#8516] Fix the persistent instance becomes a temporary instance.
[#8602] Fix display error after delete current namespace.
[#8632] Fix subscribe disabled instance problem in the first time.
[#8635] Fix NPE when call the shutdown method.
[#8720] Fix the problem that config aspect invalid problem.
[#8742] Fix change instance metadata, the revision of service not change.
[#8784] Fix some bugs for Console UI.
[#8833] Fix import config failed when open auth.
[#8880] Fix constantly loading config when not read permission.

Test

[#4982][#8344] Fix naming module unit test and generate jacoco coverage report.

nacos - 1.4.4 (Aug 8th, 2022)

Published by KomachiSion about 2 years ago

This version mainly upgrade the spring boot version to 2.6.6 to fix some spring's security problem, and apply many enhancements from 2.X.

Details see following:

Enhancement

[#5344] Reset raft cluster ops for no leader by JRaft Api.
[#5884][#7810] Add the permission for history config.
[#7284] Enhance print exception details.
[#7799] Enhance console exception handler.
[#7802] Enhance thread pool manager.
[#7801] Enhance connection release timeout between server.
[#7803] Apply some Jraft Enhancement from 2.X.
[#7925] Client stops the UpdateTask after a service is unsubscribed.
[#8072] Reduce memory cost in DistroProtocol initialization to avoid OutOfMemoryError.
[#8144] Add volatile modifier to NamingProxy.serversFromEndpoint.
[#8203] Fix the concurrency problem about the iterator of ServerListManager.
[#8434] Enhance DistroConsistencyServiceImpl listen/unListen.

BugFix

[#6198][#7809] Fix StringUtils.join throw NullPointerException.
[#6273] Fix loop leave server.
[#7141][#7804] Fix the problem of the operator column being empty while configuring adding and deleting records.
[#7750][#7869] Fix bug in permissions management module, such as redundant 'nacos,' when change password.
[#7757][#7761] Fix jraft request parse failed problem.
[#7807] Fix yaml parse concurrent problem.
[#7836] Fix nacos-client can't parse localhost problem.
[#8012] Fix NPE in DistroConsistencyServiceImpl.Notifier.
[#8283] Fix thread safety problem when concurrently registering with the same cluster.
[#8428] Fix naming subscribe bug when multiple NamingService .
[#8539] Fix prometheus api error.

Dependency

[#7813] Upgrade log4j2 to 2.17.1.
[#7813] Upgrade logback to 1.2.9.
[#7813] Upgrade Jraft to 1.3.9.
[#8421] Remove commonOkHttp dependency.
[#8169] Upgrade spring-boot version to 2.6.6.

nacos - 2.1.0 (Apr 29, 2022)

Published by KomachiSion over 2 years ago

This version mainly adds authentication plugin and configuration encryption plugin ability. And shutdown the ability to support upgraded from version 1.X by default.

For Client, this version refactor the classes scan logic and remove the org.reflections dependency to solve the incompatibility issues when org.reflections conflicts.

Finally, this version does some enhancement and fixes some bugs found in 2.0.4.

The detail change log following:

Features

[#5695] Add a plugin SPI for configuration encryption and decryption for Nacos 2.0
[#5696] Add a plugin SPI for authentication for Nacos 2.0.
[#7930] Default close support upgrade from 1.X feature.
[#7992] Support cluster grpc client to set thread pool size.
[#8220] Add reset raft cluster operation.

Enhancement & Refactor

[#7487] Add generics for the CacheBuilder.
[#7879] Refactor destroy method of AbstractMemberLookup.
[#7924][#8214] Add ldap auth plugin.
[#7952] Ignore read request for raft follower's state machine to enhance raft stability.
[#7966] Add more information in Auth/Distro/Curcuit-Filter when cause some server error.
[#7971] Stop version judge Task and release thread after upgrade completely.
[#8072] Enhance memory cost in DistroProtocol initialization.
[#8107] Enhance console change password operation.
[#8156] Support js and css of console auto-upgrade.

BugFix

[#1717][#7359] Fix XSS vulnerabilities.
[#6273] Fix loop request for offline server nodes API.
[#6999] Fix Nacos client does not support logback overload log configuration.
[#7757] Fix jraft read request deserialize to write request problem.
[#7780] Fix config a-b-a problem.
[#7941] Fix version comparison error in Config Detail page.
[#8087] Fix text out of box in configuration manager.
[#8108] Fix throw NPR for health check for v2.
[#8050] Fix configuration about Distro changes could not take effect.
[#8161] Fix console can't use relative path problem.
[#8163] Fix multi-instance share the same local snapshot.
[#8196] Fix subscriber api without count when the query number is more than subscriber count.

Dependency

[#7758] Update module nacos-consistency protobuf-maven-plugin version to 0.6.1.
[#7886] Enhance package scan logic and remove org.reflections dependency.

Tests

[#4981] Add much unit test.
[#8009] Fix NPE of unit test.

nacos - 2.1.0-BETA (Apr 01, 2022)

Published by KomachiSion over 2 years ago

This version mainly adds authentication plugin and configuration encryption plugin ability. And shutdown the ability to support upgraded from version 1.X by default.

For Client, this version refactor the classes scan logic and remove the org.reflections dependency to solve the incompatibility issues when org.reflections conflicts.

Finally, this version does some enhancement and fixes some bugs found in 2.0.4.

The detail change log following:

Features

[#5695] Add a plugin SPI for configuration encryption and decryption for Nacos 2.0
[#5696] Add a plugin SPI for authentication for Nacos 2.0.
[#7930] Default close support upgrade from 1.X feature.
[#7992] Support cluster grpc client to set thread pool size.

Enhancement & Refactor

[#7879] Refactor destroy method of AbstractMemberLookup.
[#7952] Ignore read request for raft follower's state machine to enhance raft stability.
[#7966] Add more information in Auth/Distro/Curcuit-Filter when cause some server error.
[#7971] Stop version judge Task and release thread after upgrade completely.

BugFix

[#1717][#7359] Fix XSS vulnerabilities.
[#7757] Fix jraft read request deserialize to write request problem.
[#7941] Fix version comparison error in Config Detail page.

Dependency

[#7758] Update module nacos-consistency protobuf-maven-plugin version to 0.6.1.
[#7886] Enhance package scan logic and remove org.reflections dependency.

Tests

[#4981] Add much unit test.
[#8009] Fix NPE of unit test.

nacos - 1.4.3 (Jan 27, 2022)

Published by realJackSun over 2 years ago

This version mainly optimizes the stability of config module, put forward the interactive experience of console.
What's more, this version also made a large improvement in terms of UT coverage rate, and fix many bugs of 1.4.x.
Details see following:

Features

[#6016] Support fetching server list from endpoint with namespace.
[#5672] relayout configurations page.

Enhancement

[7188] Add encryptedDataKey with LocalEncryptedDataKeyProcessor.getEncryptDataKeySnapshot into LocalConfigInfoProcessor.getSnapshot.
[#6663] Optimize GetServerListTask load priority.
[#1773] Let the importted config over the original config.
[#5635] Fix the problem of no Gap With CreateUser button & refresh.

Refactor & Code Quality

[#7480] Upgrade log4j to 2.17.0 for v1.x-develop.
[#7420] Upgrade log4j from 2.15.0 to 2.16.0.
[#5547] Optimize ConfigRequest and ConfigResponse code, extract common constants.
[#5621] Remove duplicated dependency.
[#5528] Optimize ParamUtil code and extract constants.
[#5587] Change the invalid compare in NotifySingleService.

BugFix

[#1733] Fix the problem of still getting the instance after register twice and deregister.
[#7191] Fix EncryptedData Long-Polling listerning bug in client(LongPollingRunnable).
[#3969] Fix the problem of searching for special character matching errors by group name.
[#5814] Fix the query param lost when use enter press to search in Nacos 1.x.
[#5747] When using the multi-registry feature of Dubbo with setting namingLoadCacheAtStart=true, the cache of NacosNamingService will overwrite each other.
[#5683] Fixes logical judgment expression.
[#5664] Fix the locales of field Action Type don't take effect in config history detail page.
[#3548] Fix the problem of the srcUser filling with username when auth is disabled.

Other

[#7342] Optimizing client beat log output, removing unnecessary error logs.

Test

[#5538] Fix some failed test cases.
[#5577] [#5600] [#5601] [#5484] [#5599] [#5595] [#5596] [#5579] [#5583] [#5539] [#5545] Adding Unit Tests for some classes in nacos-core and nacos-naming.

nacos - 2.0.4 (Jan 18, 2022)

Published by realJackSun almost 3 years ago

This version mainly adds config encrypting features, enhances the stability of grpc client and console, and fixes bugs in 2.0.x.
What's more, Nacos community do lots of refactors and unit test.
Detail see:

Features

[#5695] Make Import/export function compatible with configuration encryption and decryption.
[#5695] Add a plugin SPI for configuration encryption and decryption for Nacos 2.0, where EncryptedDataKey is persisted.
[#6430] Integrate the feature selector workflow into Nacos 2.0.x.
[#7262] Add ephmeral attribute in v2 service query api.

Enhancement

[#6999] Make nacos' logback and application's logback module decoupled.
[#7149] Add port offset configuration for the client when using reverse proxy of nacos expose different ports.
[#6572] add an OpenAPI to obtain the counting of Nacos2.x clients.
[#6296] Optimize the new config page (skip to config list page when create the config successfully).

Refactor

[#7500] update logback version 1.2.9.
[#7468] upgrade log4j to 2.17.0.
[#6733] Upgrade jraft version to 1.3.8 .
[#6628] Remove redundant functional interfaces

BugFix

[#6296] Fix a bug on console (while Deleting and then adding a config, Nacos Web displays existed config).
[#7502] Make serviceListRequestHandler return the correct count of serviceNames.
[#7591] Remove meaningless judgment conditions.
[#7550] Fix the problem of "subscribe service failed" when local filesystem has cache file
[#7411][#7415] fix NPE when the RpcClient shutdown, and when Dubbo shutdown.
[#7248] Fix update task can't stop after unsubscribe.
[#7141] Fix the problem of the operator column being empty while configuring adding and deleting records.
[#7225] To ignore the WebServerInitializedEvent if the name space of the spring context is management.
[#7001] To keep the count value in Nacos 2.x same with value Nacos 1.x, add a "throw the NacosException" logic.
[6535] Inconsistent results returned by different versions of the open-api/nacos/v1/ns/service.
[#6581] fix some bugs in ServiceController subscribers interface.

Test

[#5092] Add unit tests for module nacos-config in nacos 2.0.
[#5695] Add unit test for encrypting classes in nacos.client.config.*.
[#6894] add the unit test of com.alibaba.nacos.naming.remote.*.

nacos - 2.0.3 (July 28, 2021)

Published by KomachiSion about 3 years ago

In this version, Nacos community continue to do a lot of optimizations for the features of the upgrade from 1.X to 2.0.X, to improve the upgrade stability. And add an SPI to help server judge whether server is ready to upgrade.

At the same time, community add an redo feature for nacos client to make sure the instances and subscribers can be registered after failed to call from users.

What's more, Nacos community do lots of refactors and unit test.

Detail see:

Features

[#6384] Add redo feature for nacos client naming.

Enhancement

[#1469] Add cluster delete button.
[#5884] Add the permission for history config.
[#5909] Enhance LADP auth log print out when auth check failed.
[#5999] Adpat nacos endpoint in AddressServerMemberLookup.
[#6100] Enhance config managerment UI.
[#6129] Add ServerConfigChangeEvent when config file changed.
[#6142] Redo register and subscribe when reconnection auth check failed.
[#6160] Optimization of IP address acquisition method in nacos client.
[#6175] If the client already disconnect, ignore this request to avoid NPE.
[#6178] Unified configuration page style
[#6204] Get data from database if user or role info not found in cache.
[#6367] Add IOReactorExceptionHandler to avoid IOReactor out of loop when meet unknown Network error.
[#6386] Stop v1 distro verification when cluster upgraded to v2.
[#6403] Make the expired time of naming client be configurable in nacos-server.

Refactor

[#3102] Remove dependency of common-lang3.
[#5771][#5919][#6050] Improve code quality.
[#5845] Remove redundant code in InitUtils#initNamespaceForNaming.
[#6197] Remove unnecessary class.
[#6216] All SQL keywords are modified to uppercase.
[#6217] Add Add SPI for upgrade checker.
[#6272] Refactor Instance builder to build and handler request from http.
[#6446] Remove dependency of guava.

BugFix

[#6107] Fix Chinese account show with gibber in home page.
[#6109] Fix get InstanceUpgradeHelper instance error for double write service.
[#6116] Fix unable to check client beats when register same ip and port in old clients with high concurrent.
[#6169] Fix cluster page internationalization.
[#6198] Fix NPE when use StringUtils.join illegal.
[#6295] Fix instance metadata will not be removed for ip port client.
[#6335] Fix startup error when the JAVA_HOME path contains spaces under Linux/Unix/Mac system.
[#6382][#6476] Fix nacos-istio serviceInfo.getChecksum() always is empty.
[#6423] Fix yaml parse concurrent problem.

Test

[#4982][#5094][#5095][#5011][#5806][#6188] Add Unit test.
[#5985][#5990] Fix unit test problem.

nacos - 2.0.2 (Jun 11th, 2021)

Published by KomachiSion over 3 years ago

In this version, Nacos community have done a lot of optimizations for the features of the upgrade from 1.X to 2.0.X, such as fixed problems that may be encountered during the upgrade, and added some APIs to query and repair the data during the upgrade.

At the same time, Nacos community also strengthened features, such as configuring CAS release, adding Distro synchronization statistics, and optimizing log error information.

What's more, Nacos community do lots of refactors and unit test.

Detail see:

Features

[#2843] Adding CAS publish config in client.
[#5686] Add Distro monitor info in naming-performance log.
[#5719] Add some API to query and fix upgrade data.
[#5756] Support to specify ephemeral value for createService.
[#5952] Feature make naming rpc client aware of server list change.
[#6019] Support fetching server list from endpoint with namespace.

Enhancement

[#4208] Support config multiple server list by ',' and ';'.
[#5747] Support of specifying NAMING_CACHE_REGISTRY_DIR property.
[#5775] Persist the cluster upgrade state.
[#5713] Enhance the query config behavior in console.
[#5949] Enhance gRPC error hint logs.
[#6015] Add/Remove client instance cache before call server.

Refactor

[#3046] Enhancement for constant variables.
[#5689] Refactor nacos example.
[#5717][#5727][#5771][#5774][#5762][#5802][#5836][#5843][#5877][#5904][#5915][#6010] Enhance code quality.
[#5888] Refactor resourceParser groupName change the splicing method.

BugFix

[#5574] Remove downgraded member version info.
[#5559] Fix can't resolve symbol 'istio' when I switch branch of source code to 2.0.0.
[#5671] Fix dismiss service groupName after upgrade to 2.0.X.
[#5692] Fix Deleted service will still exist after upgrade to 2.0.X.
[#5765] Fix localhost can't be used in nacos-server.
[#5782] Fix persistent instances of v2 model cannot be removed by DoubleWrite removal tasks.
[#5798] Fix upgraded server cannot downgrade and upgrade again.
[#5831] Fix naming client may register the old one instance when reconnecting to server.
[#5835] Fix create user error.
[#5870] Fix doubleWrite may register persistence instance as ephemeral.
[#5872] Fix server may downgrade to 1.X model when one of node restart.
[#5918] Fix notifyCenter may cause naming data inconsistent.
[#5927] Fix tcp check will invalid after restart 2.0 model server.
[#5934] Fix can't overwrite the original configuration file when importing configuration file.
[#5937] Fix auth problem for client when use ak sk.
[#5971] Fix Naming API can't adapt after upgrading to v2.x.

Test

[#5805][#5123][#5153][#5521][#5522][#5663]Add unit test for nacos 2.0.

nacos - 2.0.1 (Apr 29th, 2021)

Published by KomachiSion over 3 years ago

Nacos2.0.1 Release Note

This version mainly fixes the stability for leader selection of Jraft in k8s environment and fixes the problem of throwing Server is Down error frequently.
What's more, 2.0.1 support the MCP over XDS protocol in nacos-istio plugin and module.

Details see following:

Features

-[#3484] Support ldap login.
-[#4856] Support mcp over xds.
-[#5137] Support service list add view subscriber.
-[#5367] Support client encryption plugin for nacos 2.0.

Enhancement

-[#5307] Push support config some parameters
-[#5334] Fix Server is Down problem in k8s environment.
-[#5361] Check isUseGrpcFeatures() when register instance using GRPC protocol

Refactor & Code Quality

-[#5486] Refactor Distro Config as singleton and replace GlobalConfig.

BugFix

-[#5169] Fix instance beat run only by responsible server.
-[#5175] Fix publishConfig lost type.
-[#5178] Fix NPE when init server list failed.
-[#5182] Fix throw NoSuchFieldException in ConfigController when service connect to nacos.
-[#5204] Fix query error when pageNo is larger than service number.
-[#5268] Fix subscriber app unknown
-[#5327] Fix ThreadPool usage problem and add some monitor for distro.
-[#5384] Fix the problem of unable to shutdown NacosConfigService.
-[#5404] Fix frequently udp push for client 1.X.
-[#5419] Fix Nacos 2.0 client auth may invalid for non public namespace.
-[#5442] change state to UP when received status form old version server.

Other

-[#5096] Add unit tests in nacos 2.0.
-[#5171][#5421][#5436][#5450][#5464] Fix It for nacos 2.0.

nacos - 1.4.2 (Apr 29th, 2021)

Published by KomachiSion over 3 years ago

This version mainly optimizes the stability of JRaft's leader selection, and cooperating with the latest nacos-k8s project, which can have a large degree of stability optimization.
What's more, this version also enhance some hint about Server is Down problem, and fix many bugs of 1.4.1.

Details see following:

Features

-[#4452] Add config compare features.
-[#4602] Add new way for export config.
-[#4996] Make log level changeable for nacos-core module.
-[#5367] Add pre-plugin in client for encrypting config.

Enhancement

-[#3922] Method createServiceIfAbsent in ServiceManager require sync.
-[#4274] skip master-select task when db.num is 1.
-[#4753] Use SafeConstructor to parse yaml configuration.
-[#4762] Naming health check thread num support user define it by self.
-[#4770] Beta publish: change the way of select betaIps, from input to select.
-[#4778] Make SecurityProxy.accessToken threadsafe in single writer multi reader.
-[#4903] Add securuty hint for login page.
-[#4917] Raft ops interface add auth.
-[#4980] Log4J2NacosLogging.loadConfiguration() return directly When location is blank.
-[#5010] Fix the usage of TemplateUtils.
-[#5190] Add some hint log when login failed.
-[#5234] Solve the problem that page can be edited while publishing-config request is processing.
-[#5331] Fix the mouse hovers over the margin in a pointer state and cannot be clicked.
-[#5350] Add hint and detail reason for consistence status Down.
-[#5439] Support specified naming UDP push port for client.
-[#5434] Optimize the ConfigType.isValidType method.

Refactor & Code Quality

-[#3779] Check groupName can't be empty.
-[#4661] ConfigServletInner#doGetConfig code optimization.

BugFix

-[#3610] Fix the press F1 to full screen issue in new config page.
-[#3876] Fix push empty service name.
-[#4306] Fix search service by group error problem.
-[#4573,#4629] Jraft leader status check error.
-[#4672] Fix cloning configuration lost description.
-[#4699] Fix metadata batch operation may delete instance problem.
-[#4756] Fix config list sort and search problem.
-[#4787] Losting member if parsing host throw UnknownHostException.
-[#4806] Fix addListener method comment.
-[#4829] Remove instance when distro and raft remove instances data.
-[#4852] Fix main.js is too large problem.
-[#4854] Modify Header to support Keys Ignore Case.
-[#4898] Fix instance list page bug.
-[#4925] Fix member list change will cover member status and metadata problem.
-[#5078] Fix the problem of inconsistent results for querying subscriber list data multiple times.
-[#5026] Fix MetricsHttpAgent metrics twice.
-[#5018] Check group and dataId in groupKey.
-[#5114] ConcurrentHashSet.java is not compatible with jdk1.6 or 1.7.
-[#5253] Fix missing auth identity header error.
-[#5291] Fix Beat task will stop when throw unexpected exception.
-[#5301] Respond all kinds of collections for istio's request.
-[#5351] Fix Consistence status can't switch to UP after Jraft election.
-[#5390] Fix ip verify error.
-[#5427] Fix NPE if Jraft leader is null in CurcuitFilter.
-[#5437] Fix config beta feature will lost dump event problem.
-[#5451] Fix the tag can't be removed problem.

Other

-[#4822][#4823][#4824][#4825][#4979][#5506] Fix dependency security problem.
-[#5277] Subscriber list servername add required.
-[#5380][#5418] Add and enhance unit test.

nacos - 2.0.0-bugfix (Mar 30th, 2021)

Published by KomachiSion over 3 years ago

This release mainly fix an Threadpool usage issue, which will cause nacos service discovery can't work as expected and refuse request under low performance machine environment.

What's more, this release also fix some simple bugs.

Detail see:

[#5233][#5237] Fix ThreadPool usage problem.

[#5169] Instance may deleted by un-responsible server when distro sync task failed.
[#5204] Fix query error when pageNo is larger than service number.

nacos - 2.0.0 (Mar 20th, 2021) (Please use 2.0.0-bugfix)

Published by KomachiSion over 3 years ago

This version add Grpc as the translating to replace HTTP between client and server.

Detail see:

Features

Add gRPC connection core feature to Nacos.

  • [#3328][#3739][#3749][#3776]

Config module support gRPC.

  • [#3334][#3344][#3357][#3808]

Naming module support gRPC.

  • [#3343][#3352][#3373][#3407][#3425][#3788][#3795][#3809][#3825][#3849][#3860][#4345][#4363][#4369][#4603][#4608][#4636]

Nacos Client Support gRPC.

  • [#3350][#3401][#3405]

Nacos gRPC Client support reconnection.

  • [#3365][#3367][#3385][#3420]

Support push data by gRPC.

  • [#3478][#3521]

Connection event notification for gRPC.

  • [#3611]

Load balance for Connection.

  • [#3630][#3751][#3752][#4217]

Support Auth for gRPC request.

  • [#3693][#3821][#3970][#4675]

Support metadata operation for Naming module by Jraft.

  • [#4204][#4260][#4279][#4354][#4367][#4733]

Support basic connection limit.

  • [#4651][#4752]

Support healthy check.

  • [#4728][#4750]

Support upgrading and downgrading.

  • [#4810][#4845]

Enhancement

Async execute some time-consuming operation.

  • [#4099][#4533][#4595][#4656]

Multiple language SDK.

  • [#4464]

Metric

  • [#4649]

Full support for registering custom instances.

  • [#4828]

Support single push when subscriber first subscribe service.

  • [#4998]

Support healthy protection by threshold.

  • [#5054]

Refactor

Naming Client refactor network proxy.

  • [#3386]

Refactor and adapt v1 openAPI.

  • [#3864][#3881][#4112][#4151][#4154][#4376][#4438][#4441][#4461][#4492][#4578][#4832]

BugFix

[#4489] Fix can't query non-default-group problem for catalog API.
[#4681] Fix config miss line break problem.
[#4788] Fix client id judgement error for ipv6.
[#4855] Fix high cpu problem.
[#4875] Fix config file read problem.
[#4882] Fix listen config without auth problem.
[#4883] Fix naming client NPE for Spas auth header.
[#4987] Fix NPE when build ClientInfo with empty user-agent.
[#4989] Fix NPE for service metadata is null during upgrade to v2.
[#5001] Fix returns empty list when service has no subscribers.
[#5028] Fix UpdateTask some logic errors.
[#5067] Fix console detail error instances list when healthy protection by threshold.
[#5080] Fix health checker pre-start logic.
[#5109] Fix TcpHealthCheckProcessor.TimeOutTask may block the next check task.

Dependency

[#4383] Upgrade Nacos Api/Client modules to support JDK 1.8 compilation.

Test

Add unit test for nacos 2.0

  • [#5032][#5036][#5037][#5103][#5034][#5107][#5117]
nacos - 2.0.0-BETA (Feb 5th, 2021)

Published by KomachiSion over 3 years ago

This version is an alpha version for 2.0.0. In this alpha2 version, it mainly fixes some bug found in 2.0.0-ALPHA.1, and implement some persistent service feature.
For performance, doing some performance enhancement and report a performance to compile with Nacos1.x version.

Detail see:

Features

Add gRPC connection core feature to Nacos.

  • [#3328][#3739][#3749][#3776]

Config module support gRPC.

  • [#3334][#3344][#3357][#3808]

Naming module support gRPC.

  • [#3343][#3352][#3373][#3407][#3425][#3788][#3795][#3809][#3825][#3849][#3860][#4345][#4363][#4369][#4603][#4608][#4636]

Nacos Client Support gRPC.

  • [#3350][#3401][#3405]

Nacos gRPC Client support reconnection.

  • [#3365][#3367][#3385][#3420]

Support push data by gRPC.

  • [#3478][#3521]

Connection event notification for gRPC.

  • [#3611]

Load balance for Connection.

  • [#3630][#3751][#3752][#4217]

Support Auth for gRPC request.

  • [#3693][#3821][#3970][#4675]

Support metadata operation for Naming module by Jraft.

  • [#4204][#4260][#4279][#4354][#4367][#4733]

Support basic connection limit.

  • [#4651][#4752]

Support healthy check.

  • [#4728][#4750]

Support upgrading and downgrading.

  • [#4810][#4845]

Enhancement

Async execute some time-consuming operation.

  • [#4099][#4533][#4595][#4656]

Multiple language SDK.

  • [#4464]

Metric

  • [#4649]

Full support for registering custom instances.

  • [#4828]

Refactor

Naming Client refactor network proxy.

  • [#3386]

Refactor and adapt v1 openAPI.

  • [#3864][#3881][#4112][#4151][#4154][#4376][#4438][#4441][#4461][#4492][#4578][#4832]

BugFix

[#4489] Fix can't query non-default-group problem for catalog API.
[#4681] Fix config miss line break problrm.
[#4788] Fix client id judgement error for ipv6.
[#4855] Fix high cpu problem.
[#4875] Fix config file read problem.
[#4882] Fix listen config without auth problem.
[#4883] Fix naming client NPE for Spas auth header.

Dependency

[#4383] Upgrade Nacos Api/Client modules to support JDK 1.8 compilation.

nacos - 1.4.1 (Jan 15, 2021)

Published by KomachiSion almost 4 years ago

This version mainly support IPv6 service register and support udp push for Csharp client.
What's more, add some console features to enhance users' usage. And Fix many bugs and do many refactor and enhancement to increase stability.

Details see following:

Features

-[#978] Support IPv6.
-[#3917] Add metadata filter in service detail page.
-[#4132] Service list API param groupName support '*' to get all group serviceName.
-[#4670] Support Udp push for CSharp client.

Enhancement

-[#3607][#4078][#4170] Datasource pool configuration can be configured.
-[#3832] When the nacos-server fails to start, shutdown all http clients.
-[#3907] When publishConfig, if type is absent, set default value 'text'.
-[#4066] Make serviceNameList followed string order.
-[#4090] Configuration file changes do not take effect.
-[#4286] When auth open, use resource parser cache to parse resource.
-[#4291] In stand-alone mode, the service module does not enable the Raft protocol.
-[#4355] Do not retry distro sync again if member has removed.
-[#4463] Add auth check for SQL query of config derby database.
-[#4513] Check instance illegal heart beat param before register.
-[#4593] Add server identity to replace user-agent white list.
-[#4662] Just choose one between nacosDomain mode and servers mode.

Refactor & Code Quality

-[#3831] Delete the old http client code.
-[#3832] Add common http client shutdown method.
-[#4093][#4125][#4310][#4346] Remove unused codes.
-[#4166] NotifyCenter code optimization.
-[#4225] Replace http client in HttpHealthCheckProcessor.
-[#4232] Use EnvUtil to replace ApplicationUtils about env operation.
-[#4293] Remove env operation code in ApplicationUtils.
-[#4275] Replace com.alibaba.nacos.config.server.result.ResultBuilder to RestResultUtil.
-[#4344] CacheMap property optimization.
-[#4567] Refactor nacos-client Load Logging Configuration code.
-[#4594][#4596] Fix IO close problem kind/code quality kind/refactor
-[#4631] Remove timer,Use ScheduledThreadPoolExecutor replaced.

BugFix

-[#3005] Fix ClusterController 403 and some display wrong.
-[#3406] Fix change self's password fail problem.
-[#3524][#4262] Fix public namespace permission problem.
-[#3880] NamingService Client support pushEmptyProtection.
-[#4073] Fix the problem for config default time zone may be wrong.
-[#4136] Fix ServiceInfo cann't correctlly instantiate from cache file.
-[#4181] Fix Auth may not work if contextPath is '/'.
-[#4187] Fix ProtocolManager#onEvent can't feel nodes extend.
-[#4199] Fix new http client do not support patch method problem.
-[#4236] Fix ProtocolException for apache http client Content-Length.
-[#4245] Fix sql injection bug.
-[#4264] Fix always load property when the contextPath is '/'.
-[#4282] Fix Service list Cannot query by group name.
-[#4311] Fix an exception will occur if the SQL include LIMIT, when use embedded data source.
-[#4320] Fix the Naming consistency module could not start in cluster mode.
-[#4333] Fix PaginationHelper will be abnormal in cluster mode.
-[#4342] Fix nacos.core.protocol.raft.data.read_index_type isn't effect.
-[#4364] Fix Cluster member state isn't updated to 'DOWN' after the node becomes down.
-[#4415] Fix NOW_WATCH_JOB_CNT record WatchDirJob count error.
-[#4424] Fixed issue where null values could not be converted to base parameters.
-[#4429] Fix mcp can't be open.
-[#4436] Fix parse label expression error problem.
-[#4450] Fix memberAddressInfos do not record Up State when member status updated.
-[#4467] Fix instanceId will be replaced when register twice.
-[#4477] Fix service list return error information if fromIndex > toIndex.
-[#4541][#4556] Fix the configuration file loading issue.
-[#4570] Fix cluster mode query config type is null.
-[#4583] Fix nacos client do not retry in DOMAIN mode.
-[#4643] Fix jraft response instance error.
-[#4701] Fix bypass authentication(identity) problem.

Other

-[#3102] Remove apache commons-lang3 dependency.
-[#4179] Add index for db.user and db.password.
-[#4339] Upgrade jraft to 1.3.5.
-[#4476] Update hint words in config list Fuzzy query.
-[#4632] Upgrade axios version to 0.21.1.

nacos - 2.0.0-ALPHA.2 (Jan 14, 2021)

Published by KomachiSion almost 4 years ago

This version is an alpha version for 2.0.0. In this alpha2 version, it mainly fixes some bug found in 2.0.0-ALPHA.1, and implement some persistent service feature.
For performance, doing some performance enhancement and report a performance to compile with Nacos1.x version.

Detail see:

Features

Add gRPC connection core feature to Nacos.

  • [#3328][#3739][#3749][#3776]

Config module support gRPC.

  • [#3334][#3344][#3357][#3808]

Naming module support gRPC.

  • [#3343][#3352][#3373][#3407][#3425][#3788][#3795][#3809][#3825][#3849][#3860][#4345][#4363][#4369][#4603][#4608][#4636]

Nacos Client Support gRPC.

  • [#3350][#3401][#3405]

Nacos gRPC Client support reconnection.

  • [#3365][#3367][#3385][#3420]

Support push data by gRPC.

  • [#3478][#3521]

Connection event notification for gRPC.

  • [#3611]

Load balance for Connection.

  • [#3630][#3751][#3752][#4217]

Support Auth for gRPC request.

  • [#3693][#3821][#3970][#4675]

Support metadata operation for Naming module by Jraft.

  • [#4204][#4260][#4279][#4354][#4367]

Support basic connection limit.

  • [#4651]

Enhancement

Async execute some time-consuming operation.
-[#4099][#4533][#4595][#4656]

Metric
-[#4649]

Refactor

Naming Client refactor network proxy.

  • [#3386]

Refactor and adapt v1 openAPI.

  • [#3864][#3881][#4112][#4151][#4154][#4376][#4438][#4441][#4461][#4492][#4578]

BugFix

[#4489] Fix can't query non-default-group problem for catalog API.
[#4681] Fix config miss line break problrm.

Dependency

[#4383] Upgrade Nacos Api/Client modules to support JDK 1.8 compilation.

nacos - 2.0.0-ALPHA.1 (Dec 5th, 2020)

Published by KomachiSion almost 4 years ago

This version mainly uses gRPC to replace HTTP as the communication between client and server.
And refactor the data model of naming module to adapt new communication model.

Feature/Enhancement/Refactor

[#3328] nacos support grpc ,base functions submit.
[#3334] Nacos config support gRPC.
[#3343] Add naming support gRPC for register and deregister instance.
[#3344] support config query in rpc channel ,add switch http/rpc at client side.
[#3350] add server side connection listener ,and add client version.
[#3352] Add naming support gRPC for query instance list and service info.
[#3357] response model optimize area/Config kind/feature.
[#3365] client reconnection optimize .
[#3367]client reconnect optimize, combine first time start and reconnect code.
[#3373] Naming support un/subscribe service by grpc.
[#3385] server side client connection listener optimize and listen context and notifier updated.
[#3386] Refactor for naming sdk.
[#3478][#3521] Add gprc support-> add server push ack.
[#3795][#3809][#3825][#3849][#3860] Adapt old client for naming module.
[#4099][#4260][#4279][#4354][#4367] Add metadata for service and use raft to consistence.
[#4383] Upgrade Nacos Api/Client modules to support JDK 1.8 compilation

There are many changes for this new feature. detail see https://github.com/alibaba/nacos/milestone/22?closed=1.

nacos - 1.4.0 (Nov 2, 2020)

Published by KomachiSion almost 4 years ago

This version mainly refactors the distro protocol of the naming module and sinks to the nacos-core module.
At the same time, jraft is used to replace the old self-implemented raft protocol to improve the performance and accuracy of raft semantics.
Secondly, this version completely unifies the http clients used by nacos, optimizes the usage of some http clients, and reduces connection cost, especially the number of CLOSE_WAIT connections.
Finally, fixed some old version bugs and optimized console usage, and added a BETA interface to modify service metadata separately.

[#1654] Fix content hightlight does not work in config detail page.
[#2792] Save user information in login when auth open.
[#2835] Fix the console loading continuously if there is no permission of the namespace.
[#2866] Fix client do not have permision for api /nacos/v1/ns/operator/metrics.
[#3117] Sink and Optimize the Notify implementation into common module.
[#3192] Unified http client in nacos server.
[#3315] nacos-client support https.
[#3397] Fix some error in start script.
[#3384] Fix raft information show error in console.
[#3500] Make page list of service manager same as config manager.
[#3509] Fix address server mode cannot be obtained application.properties.
[#3518] When binding roles, the user list is changed to the drop-down selection mode.
[#3530] Add refresh buttons for each page in console.
[#3533] Change client cache directory config.
[#3515][#3536][#3899] Upgrade dependency to fix security problem.
[#3528] Fix client get illegal project.version.
[#3550] Fix persistency file can't create in server side for raft protocol.
[#3560] Change title logo in browser.
[#3566] Extract and sink auth feature to nacos-auth from nacos-config.
[#3576] Adding the destroy lifecycle method on NamingMaintainService.
[#3592] Fix incorrect prompt when accessing unauthorized namespace.
[#3628] Enhance the client update interval when subscribe non-exist service.
[#3635] Replace raft of naming module by Jraft of consistency module.
[#3651] Enhance http client usage to reduce CLOSE_WAIT connection in nacos-server.
[#3661] Enhance raft group update logic for using Jraft.
[#3671] Move some util class into common package.
[#3676] Fix revert chunk does not work in Content Comparison page.
[#3692] Refactor Distro protocol in nacos naming module.
[#3687] Check serviceName's format in server and client.
[#3710] Fix service metadata can't be special words problem.
[#3781] Fix service list intermittently lost service.
[#3790] Fix the configuration garbled problem that may occur on the client.
[#3815] Fix client cache may be truncated when contain Chinese.
[#3833] Fix NotifyCenter will throw NullPointerException when no subscriber.
[#3855] Add changed detail from previous version in configuration detail page.
[#3904] Support operate instance's metadata alonely.
[#3909] Fix nacos server can't config domains.
[#3973] Fix load config failed during the first run.
[#4110] Naming modules failed to work properly during the nacos capacity expansion.