Backend Development 9 min read

Apache Dubbo 3.0.4 Release: New Features, Bug Fixes, Optimizations, and Stability Improvements

Apache Dubbo 3.0.4, a high‑performance lightweight Java RPC framework, introduces several new capabilities such as logger disabling, background module startup, multi‑subscription extensions, native Dubbo 3.0.4 support, streamObserver cancellation, message compression, cache attributes, Maven plugin integration, and adds ExtensionClassLoaderPackages, while also fixing numerous bugs, optimizing code paths, and enhancing overall stability.

Laravel Tech Community
Laravel Tech Community
Laravel Tech Community
Apache Dubbo 3.0.4 Release: New Features, Bug Fixes, Optimizations, and Stability Improvements

Apache Dubbo 3.0.4 has been released. Dubbo is a high‑performance, lightweight open‑source Java RPC framework that provides interface‑based remote method invocation, intelligent fault‑tolerance and load balancing, and automatic service registration and discovery.

New Features

Add logger disabling option ( ExtensionLoader support for ExtensionClassLoaderPackages )

Support background module startup

Support multi‑subscription service extensions

Support native Dubbo 3.0.4

Support cancellation of streamObserver

Triple transport adds message compression

Support cache attribute in model fields

Run Dubbo native projects via Maven plugin

Add ExtensionClassLoaderPackages to ExtensionLoader

Bug Fixes

Fix appendAttribute key issue

Fix RpcContext overwrite problem

Fix StringIndexOutOfBoundsException in addParam()

Add null‑check in decode(Channel, InputStream)

Fix IllegalStateException and NPE in doOverrideIfNecessary

Add Zookeeper node data creation event check

Fix service start failure when multiple protocols with ports are used

Fix concurrent access to urlInvokerMap

Fix delayed injection of Deployer State in beans

Release CountDownLatch in ZookeeperRegistry and add UT

Fix serialVersionUID issues

Fix concurrent bean creation errors

Restore Servlet page API

Release CountDownLatch properly

Fix configuration view unavailable during subscription

Fix Class.forName when publishing ServiceDefinition

Socks proxy filters local addresses

Fix delayed export not applicable to ServiceConfig

Fix NPE in MergeableClusterInvoker

Add destroy() to close Tomcat server ports

Set client to null in LazyConnectExchangeClient close method

Fix telnet registry cast to AbstractRegistry error

Add volatile to serviceInstance in AbstractServiceDiscovery

Fix exception when address is empty in router

Reset ServiceModel in Injvm Invoke

Fix mesh routing URL parameter retrieval

Fix various exception messages

Restore Kryo serialization JDK detection

Fix duplicate ApplicationConfig errors

Cover removeFailedRegisteredTask and removeFailedSubscribedTask in testRecover()

Fix ConfigManagerTest typo

Fix concurrent SPI adaptive class creation

Fix early Listener initialization

Add ClosedChannelException check during shutdown

Correct parameter types in NotifyService callback

Start module check in applicationDeployer

Fix multi‑instance migration report

Fix NPE in get configuration

Add check for localMetadataService.blockUntilUpdated latch

Check applicationModel destroy state at blockUntilUpdated

Remove default implementation of RegistryFactory extension point

Fix instance update failure

Fix Tomcat port already in use causing process stop failure

Optimizations

Add ScopeModel to local calls

Fix field range optimization

Optimize parts of Dubbo metadata module

Suppress initial replaceWithLazyClient() warning

Unify error messages

Extract constants from MigrationRule

Improve MigrationRuleListener#destroy logic

Add ClassLoaderResourceLoader to cache ClassLoader resources

Timeout stream closure

Significantly reduce UnitTest execution time

Improve unit test efficiency

Cancel TimeoutCheckTask when DefaultFuture is cancelled

Remove meaningless code

Attempt class loading from interface parameters

Add ModuleModel qualifier for SpringBean Initializer

Convert TimeoutException when invoking timeout

Refactor MetricsConfig

Cancel TimeoutCheckTask when DefaultFuture2 is cancelled

Add reset frame handler

Optimize three‑server frame error handling

Optimize multiple code sections

Remove duplicate URLs in MultipleRegistry

Optimize generic calls in Gson format

MultiMessageHandler for caught() throwable

Refactor Injvm calls

Replace LinkedHashMap with HashMap in calls

Destroy executor and improve tests

Remove SimpleChannelInboundHandler

Optimize hash load‑balancing consistency with new algorithm

Add latch to wait for registration completion

Delete unused client handlers

Ignore generic calls for Injvm call copies

Inject applicationModel into TripleHttp2Protocol via ScopeModelAware

Refactor AbstractRegistry

Change local callers from Collections.singletonList to ArrayList

Add serializingExecutor

Send and delete logic no longer estimates header size

Add health service cancellation handler

Delete method‑level connection config

Extract constants and fix typos

Replace latch with future

Support deep copy of default service instances

Add issue template

Rebuild InstanceAddressURL to ServiceConfigURL for LazyConnectExchangeClient

Fill ListBoolMatch code and optimize DubboAttachmentMatch

Format ternary tuples

Manage global resources and executor services, fix ZK client connection

Add deprecated descriptions

Stability Improvements

Add annotation test case to ServiceDefinitionBuilderTest and remove unused parameters

Add unit tests for MetadataReportInstance and AbstractServiceNameMapping

Enhance unit tests for FailoverClusterInvoker, FailbackClusterInvoker, FailfastClusterInvokerTest, ForkingClusterInvoker

Add ZookeeperMetadataReportTest

Add ServiceInstanceMetadataUtilsTest

Add tests for CuratorFrameworkUtils and AbstractServiceDiscoveryFactory

Fix testInvoke_retryTimes_withBizException

Add tests for StandardMetadataServiceURLBuilder

Add several AvailableClusterInvoker unit tests

Add tests and optimizations (generic)

Patch shutdown hooks test

Enhance mergeable cluster call tests

Validate remote URL references

Add tri extension configuration for MultiplexProtocolConnectionManagerTest

Add unit tests for Http2ProtocolDetector and NettyEventLoopFactory

Fix AbstractMetadataReportTest and AbstractMetadataReportFactoryTest

Add unit tests for ChannelBuffers and ChannelBufferFactory

Add unit tests for dubbo‑registry‑nacos

JavaPerformanceBackend DevelopmentRPCApache DubboRelease Notes
Laravel Tech Community
Written by

Laravel Tech Community

Specializing in Laravel development, we continuously publish fresh content and grow alongside the elegant, stable Laravel framework.

0 followers
Reader feedback

How this landed with the community

login 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.