ITADN
apache/incubator-seata

版本发布 8

V2.6.0v2.6.0预发布
? · 2026-01-24

Apache Seata(incubating) 2.6.0 Released. Apache Seata(incubating) is an easy-to-use, high-performance, open source distributed transaction solution. The version is updated as follows: ### feature: - [[#7485](https://github.com/apache/incubator-seata/pull/7485)] Add http request filter for seata-server - [[#7509](https://github.com/apache/incubator-seata/pull/7509)] Reuse connection to merge branch transactions - [[#7492](https://github.com/apache/incubator-seata/pull/7492)] upgrade HTTP client in common module to support HTTP/2 - [[#7503](https://github.com/apache/incubator-seata/pull/7503)] support fory serializer and fory undolog parser - [[#7551](https://github.com/apache/incubator-seata/pull/7551)] XAUtils add support for DM Database - [[#7559](https://github.com/apache/incubator-seata/pull/7559)] Introduce Cleanup API for TableMetaRefreshHolder Instance - [[#7669](https://github.com/apache/incubator-seata/pull/7669)] add support for Jackson serialization and deserialization of PostgreSQL array types - [[#7664](https://github.com/apache/incubator-seata/pull/7664)] support shentongdatabase XA mode - [[#7675](https://github.com/apache/incubator-seata/pull/7675)] support Oracle Batch Insert - [[#7663](https://github.com/apache/incubator-seata/pull/7663)] add Java 25 support in CI configuration files - [[#7851](https://github.com/apache/incubator-seata/pull/7851)] add support for managing transaction groups - [[#7857](https://github.com/apache/incubator-seata/pull/7857)] support displaying cluster information in the console - [[#7826](https://github.com/apache/incubator-seata/pull/7826)] Support HTTP/2 response handling for the Watch API in Server Raft mode - [[#7863](https://github.com/apache/incubator-seata/pull/7863)] Exclude namingserver and console module builds from build workflows with JDK versions less than 25 - [[#7870](https://github.com/apache/incubator-seata/pull/7870)] upgrade the namingserver and console modules to JDK 25 and SpringBoot 3.5, and add the spring-ai dependency in the console module. - [[#7872](https://github.com/apache/incubator-seata/pull/7872)] Automatically calculate the values for JVM parameters - [[#7876](https://github.com/apache/incubator-seata/pull/7876)] feature: add MCP custom configuration and authentication code - [[#7878](https://github.com/apache/incubator-seata/pull/7878)] console supports creation and modification of transaction groups for Raft clusters - [[#7893](https://github.com/apache/incubator-seata/pull/7893)] add global and branch session and lock management MCP tools ### bugfix: - [[#7471](https://github.com/apache/seata/issues/7471)] Fix SerialArray equals() method for multi-dimensional array comparison in Phase 2 rollback - [[#7482](https://github.com/apache/incubator-seata/pull/7482)] Github Action workflow does not run the corresponding Kotlin test - [[#7538](https://github.com/apache/incubator-seata/pull/7538)] unify DmdbTimestamp comparison via UTC Instant to prevent rollback failure - [[#7546](https://github.com/seata/seata/pull/7546)] fix client spring version compatible - [[#7505](https://github.com/apache/incubator-seata/pull/7505)] prevent Netty I/O thread blocking by async channel release via reconnectExecutor - [[#7563](https://github.com/apache/incubator-seata/pull/7563)] Fix NPE when server-side filter is disabled and filter chain is null. - [[#7570](https://github.com/apache/incubator-seata/pull/7570)] Fix order() behavior in GlobalTransactionalInterceptorHandler to ensure correct sorting of invocation handlers - [[#7596](https://github.com/apache/incubator-seata/pull/7596)] Fixed the issue where deserialization failed when the xss filter obtained the default keyword - [[#7613](https://github.com/apache/incubator-seata/pull/7613)] Fixed the SQL error in the datetime format time query in the global lock query - [[#7622](https://github.com/seata/seata/pull/7622)] adjust the order of org.apache.seata.saga.rm.SagaResourceManage - [[#7624](https://github.com/apache/incubator-seata/pull/7624)] fix the compatibility issue of yml configuration files - [[#7644](https://github.com/apache/incubator-seata/pull/7644)] fix the compatibility issue of spotless when java 25 - [[#7662](https://github.com/apache/incubator-seata/pull/7662)] ensure visibility of rm and The methods in MockTest are executed in order - [[#7683](https://github.com/apache/incubator-seata/pull/7683)] Override XABranchXid equals() and hashCode() to fix memory leak in mysql driver - [[#7643](https://github.com/apache/incubator-seata/pull/7643)] fix DM transaction rollback not using database auto-increment primary keys - [[#7708](https://github.com/apache/incubator-seata/pull/7708)] Use xaActive to determine whether xaResource needs to execute the end method - [[#7747](https://github.com/apache/incubator-seata/pull/7747)] undo log table name dynamic derivation - [[#7749](https://github.com/apache/incubator-seata/pull/7749)] fix error parsing application/x-www-form-urlencoded requests in Http2HttpHandler - [[#7761](https://github.com/apache/incubator-seata/pull/7761)] special handling is applied to the Byte[] type to ensure the correct primary key value - [[#7771](https://github.com/apache/incubator-seata/pull/7771)] Shentongdata xa mode should be hold the same connection - [[#7785](https://github.com/apache/incubator-seata/pull/7785)] fix the failure test - [[#7796](https://github.com/apache/incubator-seata/pull/7796)] fix the NPE on ConsulConfigurationTest method - [[#7839](https://github.com/apache/incubator-seata/pull/7839)] resolve TransactionAutoConfiguration compatibility with Spring Boot 4.x - [[#7843](https://github.com/apache/incubator-seata/pull/7843)] fix index type misjudgment in Dm/KingbaseTableMetaCache - [[#7856](https://github.com/apache/incubator-seata/pull/7856)] fix comma missing in package.json/min-document - [[#7860](https://github.com/apache/incubator-seata/pull/7860)] Fix the issue where delayed messages in RocketMQ transactions were silently ignored, now explicitly throwing an exception - [[#7879](https://github.com/apache/incubator-seata/pull/7879)] fix:correct server port and naming server port - [[#7881](https://github.com/apache/incubator-seata/pull/7881)] the vgroup_table in the SQL files of all databases should use a three-column unique constraint - [[#7891](https://github.com/apache/incubator-seata/pull/7891)] raft split-brain causes incorrect cluster information - [[#7908](https://github.com/apache/incubator-seata/pull/7908)] handle timestamp with time zone in postgresql primary key - [[#7938](https://github.com/apache/incubator-seata/pull/7938)] ensure the Jakarta-related package paths are correct. ### optimize: - [[#7460](https://github.com/apache/incubator-seata/pull/7460)] Remove hardcoded port configuration in core module test classes - [[#7478](https://github.com/apache/incubator-seata/pull/7484)] optimize: remove client id metric - [[#7557](https://github.com/seata/seata/pull/7557)] upgrade some npmjs dependencies - [[#7576](https://github.com/seata/seata/pull/7576)] Add empty push protection for Configuration - [[#7577](https://github.com/seata/seata/pull/7577)] remove the 4MB size limit when decompressing with zstd - [[#7578](https://github.com/seata/seata/pull/7578)] zstd decompression is changed from jni to ZstdInputStream - [[#7591](https://github.com/seata/seata/pull/7591)] Optimize default xssFilter config retrieval when no explicit configuration is provided - [[#7608](https://github.com/seata/seata/pull/7608)] modify the parameter name in refreshToken method - [[#7603](https://github.com/seata/seata/pull/7603)] upgrade Apache Tomcat dependency from 9.0.106 to 9.0.108 - [[#7614](https://github.com/seata/seata/pull/7614)] update README.md - [[#7443](https://github.com/seata/seata/pull/7443)] Replace @LocalTCC with @SagaTransactional in the saga annotation pattern - [[#7645](https://github.com/seata/seata/pull/7645)] simplifying the relevant transport.* configuration types - [[#7668](https://github.com/seata/seata/pull/7668)] correct variable name typo in DeflaterUtil - [[#7673](https://github.com/apache/incubator-seata/pull/7673)] bump @babel/runtime from ^7.26.10 to ^7.27.0 - [[#7689](https://github.com/apache/incubator-seata/pull/7689)] optimize source release - [[#7711](https://github.com/apache/incubator-seata/pull/7711)] add fastjson support for serialization and deserialization of PostgreSQL array types - [[#7722](https://github.com/apache/incubator-seata/pull/7722)] optimize serializer type meaning - [[#7739](https://github.com/apache/incubator-seata/pull/7739)] optimize docker image building process - [[#7741](https://github.com/apache/incubator-seata/pull/7741)] supports publishing image based on JDK 25 - [[#7743](https://github.com/seata/seata/pull/7743)] upgrade Apache Tomcat dependency from 9.0.108 to 9.0.109 - [[#7740](https://github.com/apache/incubator-seata/pull/7740)] enhance HttpClient to support h2c - [[#7744](https://github.com/apache/incubator-seata/pull/7744)] upgrade Apache Tomcat dependency from 9.0.109 to 9.0.110 - [[#7751](https://github.com/apache/incubator-seata/pull/7751)] remove unused dependency - [[#7807](https://github.com/apache/incubator-seata/pull/7807)] support mariadb 3.x - [[#7781](https://github.com/apache/incubator-seata/pull/7781)] highlight pmd-check log - [[#7704](https://github.com/apache/incubator-seata/pull/7704)] fix frontend security vulnerabilities - [[#7710](https://github.com/apache/incubator-seata/pull/7710)] fix some spell errors in code and comments - [[#7721](https://github.com/apache/incubator-seata/pull/7721)] optimize common module - [[#7768](https://github.com/apache/incubator-seata/pull/7768)] optimize docker image building process - [[#7809](https://github.com/apache/incubator-seata/pull/7809)] optimize README.md - [[#7813](https://github.com/apache/incubator-seata/pull/7813)] add decode buffer limit - [[#7822](https://github.com/apache/incubator-seata/pull/7822)] add the request and response objects in HTTP thread context - [[#7829](https://github.com/apache/incubator-seata/pull/7829)] optimize lz4 compressor - [[#7864](https://github.com/apache/incubator-seata/pull/7864)] automatically skip the compilation of console and namingserver modules in JDK<25 - [[#7867](https://github.com/apache/incubator-seata/pull/7867)] optimize global transaction support non-private modifier methods - [[#7868](https://github.com/apache/incubator-seata/pull/7868)] change build_arm64-binary CI to JDK25 Version and runs on ubuntu-24.04-arm - [[#7873](https://github.com/apache/incubator-seata/pull/7873)] upgrade jacoco plugin version from 0.8.7 to 0.8.14 in order to adapt JDK25 - [[#7885](https://github.com/apache/incubator-seata/pull/7885)] replace fury with fory - [[#7884](https://github.com/apache/incubator-seata/pull/7884)] upgrade tomcat-embed-core version to 11.0.10 - [[#7888](https://github.com/apache/incubator-seata/pull/7888)] bump org.apache.tomcat.embed:tomcat-embed-core - [[#7889](https://github.com/apache/incubator-seata/pull/7889)] bump org.apache.tomcat.embed:tomcat-embed-core in /console - [[#7894](https://github.com/apache/incubator-seata/pull/7894)] optimize method and class names in the saga module - [[#7905](https://github.com/apache/incubator-seata/pull/7905)] format content - [[#7909](https://github.com/apache/incubator-seata/pull/7909)] add comments to the namingserver address configuration in console application file - [[#7913](https://github.com/apache/incubator-seata/pull/7913)] remove @author info - [[#7931](https://github.com/apache/incubator-seata/pull/7931)] pin the Spring version for namingserver and console - [[#7942](https://github.com/apache/incubator-seata/pull/7942)] update jib-maven-plugin version and increase parallel test execution limits - [[#7935](https://github.com/apache/incubator-seata/pull/7935)] add OkHttp and MockWebServer dependencies to resolve version conflicts ### security: - [[#7632](https://github.com/apache/incubator-seata/pull/7632)] upgrade sha.js to version 2.4.12 - [[#7633](https://github.com/apache/incubator-seata/pull/7633)] Upgrade cipher-base to version 1.0.6 - [[#7716](https://github.com/apache/incubator-seata/pull/7716)] Update commons-lang to 3.18.0 - [[#7699](https://github.com/apache/incubator-seata/pull/7699)] Upgrade axios to version 1.12.2 - [[#7845](https://github.com/apache/incubator-seata/pull/7845)] upgrade node-forge to version 1.3.2 or later - [[#7849](https://github.com/apache/incubator-seata/pull/7849)] upgrade min-document to version 2.19.1 or later - [[#7847](https://github.com/apache/incubator-seata/pull/7847)] upgrade js-yaml to 3.14.2, 4.1.1 or later ### test: - [[#7635](https://github.com/apache/incubator-seata/pull/7635)] fix JUnit test method access modifiers and annotations - [[#7541](https://github.com/seata/seata/pull/7541)] fix jakarta UT failed in jdk17+ - [[#7540](https://github.com/seata/seata/pull/7540)] fix port of mock server - [[#7580](https://github.com/seata/seata/pull/7580)] fix the exception caused by the disorder of test case execution order - [[#7584](https://github.com/apache/incubator-seata/pull/7584)] deflake ConsulConfigurationTest#testInitSeataConfig with short await/retry to absorb CI timing delay - [[#7610](https://github.com/apache/incubator-seata/pull/7610)] Enable Nacos integration tests when nacosCaseEnabled is true - [[#7672](https://github.com/apache/incubator-seata/pull/7672)] Add unit tests for the `seata-common` module - [[#7679](https://github.com/apache/incubator-seata/pull/7679)] fix old version connect timeout - [[#7638](https://github.com/apache/incubator-seata/pull/7638)]Add unit tests for the `seata-common` module and remove a todo - [[#7709](https://github.com/apache/incubator-seata/pull/7709)] add UT for dm module - [[#7725](https://github.com/apache/incubator-seata/pull/7725)] add UT for compressor module - [[#7718](https://github.com/apache/incubator-seata/pull/7718)] add UT for config module - [[#7723](https://github.com/apache/incubator-seata/pull/7723)] add UT for fastjson2 to test PostgreSQL Array type - [[#7731](https://github.com/apache/incubator-seata/pull/7731)] add UT for rm.fence - [[#7737](https://github.com/apache/incubator-seata/pull/7737)] add UT for DefaultResourceManager and ClusterWatcherManager - [[#7757](https://github.com/apache/incubator-seata/pull/7757)] add UT for undo module - [[#7763](https://github.com/apache/incubator-seata/pull/7763)] add UT for RegistryNamingServerProperties and RegistryMetadataProperties - [[#7764](https://github.com/apache/incubator-seata/pull/7764)] add some UT for server/coordinator module - [[#7777](https://github.com/apache/incubator-seata/pull/7777)] add UT for seata-saga-statelang module - [[#7776](https://github.com/apache/incubator-seata/pull/7776)] add UT for XA module - [[#7788](https://github.com/apache/incubator-seata/pull/7788)] add some UT for rm-datasource module - [[#7774](https://github.com/apache/incubator-seata/pull/7774)] add some UT for server/console module - [[#7767](https://github.com/apache/incubator-seata/pull/7767)] add some UT for server/cluster module - [[#7750](https://github.com/apache/incubator-seata/pull/7750)] add some UT for server module - [[#7733](https://github.com/apache/incubator-seata/pull/7733)] add some UT for core module - [[#7728](https://github.com/apache/incubator-seata/pull/7728)] add some UT for compatible module - [[#7727](https://github.com/apache/incubator-seata/pull/7727)] add some UT for compatible module - [[#7803](https://github.com/apache/incubator-seata/pull/7803)] Fix flakiness in `DataCompareUtilsTest` caused by non-deterministic Map key iteration order. - [[#7804](https://github.com/apache/incubator-seata/pull/7804)] fix testXARollbackWithResourceLock() to ensure ci runs normally - [[#7779](https://github.com/apache/incubator-seata/pull/7779)] improve unit tests for RaftRegistryServiceImpl - [[#7801](https://github.com/apache/incubator-seata/pull/7801)] Fix non-deteriministic in JsonParserWrapTest#testToJSONString due to key order - [[#7800](https://github.com/apache/incubator-seata/pull/7800)] fix non-deterministic in StringUtilsTest#testToStringAndCycleDependency - [[#7802](https://github.com/apache/incubator-seata/pull/7802)] Fix non-deterministic in `ConnectionContextProxyTest`. - [[#7808](https://github.com/apache/incubator-seata/pull/7808)] Deflake multiple Insert Executor tests by fixing order-dependent primary key (PK) value comparison - [[#7815](https://github.com/apache/incubator-seata/pull/7815)] test: fix combine test to avoid failure due to ordering - [[#7819](https://github.com/apache/incubator-seata/pull/7819)] fix brittle RPC status test - [[#7827](https://github.com/apache/incubator-seata/pull/7827)] Fix non-deteriministic in TableMetaTest#testGetPrimaryKeyOnlyName - [[#7859](https://github.com/apache/incubator-seata/pull/7859)] Fix flaky tests in MetadataTest caused by shared state and brittle toString assertions - [[#7858](https://github.com/apache/incubator-seata/pull/7858)] Fix flakiness in HttpTest.convertParamOfJsonStringTest caused by non-deterministic Map iteration order - [[#7874](https://github.com/apache/incubator-seata/pull/7874)] add unit tests for DBType and RedisKeyConstants in core module - [[#7900](https://github.com/apache/incubator-seata/pull/7900)] add unit tests for ConnectionContext class - [[#7901](https://github.com/apache/incubator-seata/pull/7901)] add unit tests for core module (LockStatus, MessageType, ProtocolConstants) - [[#7906](https://github.com/apache/incubator-seata/pull/7906)] add test for Fury/Fory - [[#7907](https://github.com/apache/incubator-seata/pull/7907)] test: fixes CI errors caused by timing issues in ZkConfigurationTest - [[#7912](https://github.com/apache/incubator-seata/pull/7912)] test: add Antlr tests to improve test coverage - [[#7933](https://github.com/apache/incubator-seata/pull/7933)] oscar test cases should only run on Druid 1.2.5 and higher versions ### refactor: - [[#7615](https://github.com/seata/seata/pull/7615)] Refactor DataSourceProxy - [[#7617](https://github.com/seata/seata/pull/7617)] Refactor Alibaba Dubbo and HSF - [[#7688](https://github.com/seata/seata/pull/7688)] Reactor extensions module - [[#7719](https://github.com/apache/incubator-seata/pull/7719)] Replace synchronized with ReentrantLock in AbstractNettyRemotingClient to support virtual threads - [[#7789](https://github.com/apache/incubator-seata/pull/7789)] rename GROUP_UPDATE_TIME to GROUP_UPDATE_TERM in ClusterWatcherManager - [[#7698](https://github.com/apache/incubator-seata/pull/7698)] refactor test module - [[#7818](https://github.com/apache/incubator-seata/pull/7818)] run the HTTP filter as a chain of responsibility - [[#7904](https://github.com/apache/incubator-seata/pull/7904)] Unify HTTP client utility to OkHttp3 ### doc: - [[#7462](https://github.com/seata/seata/pull/7462)] improve TM module Javadoc with comprehensive English documentation - [[#7531](https://github.com/seata/seata/pull/7531)] Optimize the Readme and change documents - [[#7571](https://github.com/seata/seata/pull/7571)] Add hyperlink to CONTRIBUTING.md in pull request template - [[#7605](https://github.com/apache/incubator-seata/pull/7605)] Add the type of registry as seata in application.yml - [[#7625](https://github.com/apache/incubator-seata/pull/7625)] Polish Javadoc for @EnableAutoDataSourceProxy and DefaultFailureHandlerImpl - [[#7702](https://github.com/apache/incubator-seata/pull/7702)] change "whether use" to "whether to use" for correct syntax. Thanks to these contributors for their code commits. Please report an unintended omission. <!-- Please make sure your Github ID is in the list below --> - [slievrly](https://github.com/slievrly) - [YvCeung](https://github.com/YvCeung) - [xjlgod](https://github.com/xjlgod) - [YongGoose](https://github.com/YongGoose) - [KoKimSS](https://github.com/KoKimSS) - [maple525866](https://github.com/maple525866) - [funky-eyes](https://github.com/funky-eyes) - [keepConcentration](https://github.com/keepConcentration) - [sunheyi6](https://github.com/sunheyi6) - [WangzJi](https://github.com/WangzJi) - [unifolio0](https://github.com/unifolio0) - [Asuka-star](https://github.com/Asuka-star) - [contrueCT](https://github.com/contrueCT) - [YoWuwuuuw](https://github.com/YoWuwuuuw) - [yougecn](https://github.com/yougecn) - [jongmin-chung](https://github.com/jongmin-chung) - [jihun4452](https://github.com/jihun4452) - [psxjoy](https://github.com/psxjoy) - [dsomehan](https://github.com/dsomehan) - [LegendPei](https://github.com/LegendPei) - [lokidundun](https://github.com/lokidundun) - [xiaoxiangyeyu0](https://github.com/xiaoxiangyeyu0) - [jsbxyyx](https://github.com/jsbxyyx) - [xingfudeshi](https://github.com/xingfudeshi) - [diguage](https://github.com/diguage) - [aias00](https://github.com/aias00) - [NiMv1](https://github.com/NiMv1) - [MaoMaoandSnail](https://github.com/MaoMaoandSnail) - [neronsoda](https://github.com/neronsoda) Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

V2.4.0v2.4.0预发布
? · 2025-06-11

Apache Seata(incubating) 2.4.0 Released. Apache Seata(incubating) is an easy-to-use, high-performance, open source distributed transaction solution. The version is updated as follows: ### feature: - [[#7157](https://github.com/apache/incubator-seata/pull/7157)] migrate the console to the naming server - [[#7213](https://github.com/apache/incubator-seata/pull/7213)] support kingbase xa mode - [[#7024](https://github.com/apache/incubator-seata/pull/7024)] add console transaction control ### bugfix: - [[#7104](https://github.com/apache/incubator-seata/pull/7104)] fix impl of supportsSourceType is not defined - [[#7116](https://github.com/apache/incubator-seata/pull/7116)] fix prefix: seata.server.raft.ssl should not be null - [[#7112](https://github.com/apache/incubator-seata/pull/7112)] bugfix: remove the condition that IPv6 must start with fe80 - [[#7107](https://github.com/apache/incubator-seata/pull/7107)] fix the issue of failing to parse annotations in TCC mode when the business object is a proxy object. - [[#7124](https://github.com/apache/incubator-seata/pull/7124)] bugfix: GlobalTransactionScanner.afterPropertiesSet need do scanner check - [[#7135](https://github.com/apache/incubator-seata/pull/7135)] treating a unique index conflict during rollback as a dirty write - [[#7150](https://github.com/apache/incubator-seata/pull/7150)] The time difference between the raft node and the follower node cannot synchronize data - [[#7102](https://github.com/apache/incubator-seata/pull/7150)] bugfix: modify XA mode pre commit transaction from commit phase to before close phase - [[#7188](https://github.com/apache/incubator-seata/pull/7188)] bugfix: Fix missing branchType in BusinessActionContext - [[#7219](https://github.com/apache/incubator-seata/pull/7219)] bugfix: NotSupportExc can't be thrown out in some cases - [[#7241](https://github.com/apache/incubator-seata/pull/7241)] upgrade tomcat-embed-core to 9.0.99 to fix CVE-2025-24813 - [[#7272](https://github.com/apache/incubator-seata/pull/7272)] fix: fix transaction info not display - [[#7277](https://github.com/apache/incubator-seata/pull/7277)] Fix MySQL jdbc driver can't be found properly - [[#7355](https://github.com/apache/incubator-seata/pull/7355)] fix: the drivers in the lib folder cannot be loaded - [[#7397](https://github.com/apache/incubator-seata/pull/7397)] Resolve NullPointer and port binding errors ### optimize: - [[#6828](https://github.com/apache/incubator-seata/pull/6828)] spring boot compatible with file.conf and registry.conf - [[#7012](https://github.com/apache/incubator-seata/pull/7012)] When the number of primary keys exceeds 1000, use union to concatenate the SQL - [[#7075](https://github.com/apache/incubator-seata/pull/7075)] fast fail when channel is null - [[#7089](https://github.com/apache/incubator-seata/pull/7089)] support instance registration to the registry center - [[#7093](https://github.com/apache/incubator-seata/pull/7093)] add a test workflow for JDK 21 - [[#7088](https://github.com/apache/incubator-seata/pull/7088)] expand english abbreviations to full words - [[#7064](https://github.com/apache/incubator-seata/pull/7064)] remove unnecessary null checks - [[#7130](https://github.com/apache/incubator-seata/pull/7130)] Expose some keepalive-related configuration for Druid, Hikari, and DBCP - [[#7131](https://github.com/apache/incubator-seata/pull/7131)] Remove org.codehaus.jackson dependency - [[#7134](https://github.com/apache/incubator-seata/pull/7134)] upgrade tomcat-embed to 9.0.98 - [[#7138](https://github.com/apache/incubator-seata/pull/7138)] Remove org.eclipse.jetty dependency - [[#7139](https://github.com/apache/incubator-seata/pull/7139)] upgrade xstream to 1.4.21 - [[#7141](https://github.com/apache/incubator-seata/pull/7141)] remove unused dependencies - [[#7142](https://github.com/apache/incubator-seata/pull/7142)] upgrade commons-compress to 1.27.1 - [[#7149](https://github.com/apache/incubator-seata/pull/7149)] Fix abnormal character display issues in ./distribution/NOTICE.md - [[#7170](https://github.com/apache/incubator-seata/pull/7170)] Optimize seata client I/O processing by adjusting thread count - [[#7187](https://github.com/apache/incubator-seata/pull/7187)] Add dependency-check-maven plugin to detect potential vulnerabilities - [[#7179](https://github.com/apache/incubator-seata/pull/7179)] Use shared EventLoop for TM and RM clients to reduce thread overhead and improve performance - [[#7194](https://github.com/apache/incubator-seata/pull/7194)] automatically skipping proxy for datasource of type AbstractRoutingDataSource - [[#7215](https://github.com/apache/incubator-seata/pull/7215)] intercept non-leader write requests of the console trx operation - [[#7224](https://github.com/apache/incubator-seata/pull/7224)] optimize changeGlobalStatus interface of console - [[#7222](https://github.com/apache/incubator-seata/pull/7222)] in raft mode add the vgroup field to global lock - [[#7229](https://github.com/apache/incubator-seata/pull/7229)] update Notice - [[#7234](https://github.com/apache/incubator-seata/pull/7234)] discover the raft leader node from the naming server - [[#7242](https://github.com/apache/incubator-seata/pull/7242)] optimize: optimize ratelimit bucketTokenNumPerSecond config - [[#7259](https://github.com/apache/incubator-seata/pull/7259)] transfer the logback appender configuration to the yml configuration - [[#6998](https://github.com/apache/incubator-seata/pull/6998)] skip sending some request if client-version is v0 - [[#7250](https://github.com/apache/incubator-seata/pull/7250)] compatible for client_protocol_version > server_protocol_version - [[#7242](https://github.com/apache/incubator-seata/pull/7242)] optimize ratelimit bucketTokenNumPerSecond config - [[#7232](https://github.com/apache/incubator-seata/pull/7232)] add license header - [[#7260](https://github.com/apache/incubator-seata/pull/7260)] upgrade npmjs dependencies - [[#7284](https://github.com/apache/incubator-seata/pull/7284)] add dependency-check profile - [[#7073](https://github.com/apache/incubator-seata/pull/7073)] support virtual thread,replace the usages of synchronized with ReentrantLock - [[#6756](https://github.com/apache/incubator-seata/pull/6756)] feature: add single server rate limit - [[#7037](https://github.com/apache/incubator-seata/pull/7037)] support fury undolog parser - [[#7069](https://github.com/apache/incubator-seata/pull/7069)] Raft cluster mode supports address translation - [[#7038](https://github.com/apache/incubator-seata/pull/7038)] support fury serializer - [[#7171](https://github.com/apache/incubator-seata/pull/7171)] support EpollEventLoopGroup in client - [[#7223](https://github.com/apache/incubator-seata/pull/7223)] apply Spotless with Palantir java format - [[#7114](https://github.com/apache/incubator-seata/pull/7114)] support raft mode registry to namingserver - [[#7133](https://github.com/apache/incubator-seata/pull/7133)] Implement scheduled handling for end status transaction - [[#7183](https://github.com/apache/incubator-seata/pull/7183)] client discovers raft nodes through the naming server - [[#7182](https://github.com/apache/incubator-seata/pull/7182)] use the ip of the peerId as the host of the raft node - [[#7181](https://github.com/apache/incubator-seata/pull/7181)] raft implements domain name resolution and selects peerId - [[#7283](https://github.com/apache/incubator-seata/pull/7283)] optimize: use retry logic to end global trx - [[#7287](https://github.com/apache/incubator-seata/pull/7387)] fix some js resource missing license header - [[#7392](https://github.com/apache/incubator-seata/pull/7392)] upgrade npmjs dependencies - [[#7394](https://github.com/apache/incubator-seata/pull/7394)] optimize license header check - [[#7395](https://github.com/apache/incubator-seata/pull/7395)] upgrade tomcat to 9.0.105 ### security: - [[#6069](https://github.com/apache/incubator-seata/pull/6069)] Upgrade Guava dependencies to fix security vulnerabilities - [[#6145](https://github.com/apache/incubator-seata/pull/6145)] upgrade jettison to 1.5.4 - [[#6144](https://github.com/apache/incubator-seata/pull/6144)] upgrade nacos client to 1.4.6 - [[#6147](https://github.com/apache/incubator-seata/pull/6147)] upgrade kafka-clients to 3.6.1 - [[#6338](https://github.com/apache/incubator-seata/pull/6338)] upgrade jackson version - [[#7201](https://github.com/apache/incubator-seata/pull/7202)] upgrade protobuf.version to 3.25.5 - [[#7214](https://github.com/apache/incubator-seata/pull/7214)] upgrade jackson to 2.18.3 - [[#7249](https://github.com/apache/incubator-seata/pull/7249)] upgrade axios to 1.8.2 ### test: - [[#7092](https://github.com/apache/incubator-seata/pull/7092)] fix the issue of NacosMockTest failing to run - [[#7098](https://github.com/apache/incubator-seata/pull/7098)] Add unit tests for the `seata-common` module - [[#7160](https://github.com/apache/incubator-seata/pull/7160)] Refactored tests in `LowerCaseLinkHashMapTest` to use parameterized unit testing - [[#7167](https://github.com/apache/incubator-seata/pull/7167)] Refactored tests in `DurationUtilTest` to simplify and use parameterized unit testing - [[#7189](https://github.com/apache/incubator-seata/pull/7189)] fix the runtime exception in the saga test case - [[#7197](https://github.com/apache/incubator-seata/pull/7197)] add some UT cases for config module - [[#7199](https://github.com/apache/incubator-seata/pull/7199)] add some UT cases for client processor - [[#7203](https://github.com/apache/incubator-seata/pull/7203)] Refactored tests in rm.datasource.sql.Druid and seata-sqlparser-druid module - [[#7221](https://github.com/apache/incubator-seata/pull/7221)] add UT for gRPC Encoder/Decode - [[#7227](https://github.com/apache/incubator-seata/pull/7227)] add mock test for seata-discovery-consul module - [[#7233][https://github.com/apache/incubator-seata/pull/7233]] add mock test for seata-discovery-etcd3 - [[#7243](https://github.com/apache/incubator-seata/pull/7243)] add unit test for seata-discovery-eureka - [[#7255](https://github.com/apache/incubator-seata/pull/7255)] more unit tests for Discovery-Eureka [[#7320](https://github.com/apache/incubator-seata/pull/7320)] Refactor log testing to use ListAppender for more accurate and efficient log capture ### refactor: - [[#7145](https://github.com/apache/incubator-seata/pull/7145)] refactor the code that does not comply with license requirements - [[#7236](https://github.com/apache/incubator-seata/pull/7236)] changed folder name in org.apache.seata.server.storage.raft.sore from sore to store ### doc: - [[#7226](https://github.com/apache/incubator-seata/pull/7226)] write better docs for CONTRIBUTING.md Thanks to these contributors for their code commits. Please report an unintended omission. <!-- Please make sure your Github ID is in the list below --> - [slievrly](https://github.com/slievrly) - [lyl2008dsg](https://github.com/lyl2008dsg) - [remind](https://github.com/remind) - [lightClouds917](https://github.com/lightClouds917) - [GoodBoyCoder](https://github.com/GoodBoyCoder) - [PeppaO](https://github.com/PeppaO) - [xjlgod](https://github.com/xjlgod) - [funky-eyes](https://github.com/funky-eyes) - [MaoMaoandSnail](https://github.com/MaoMaoandSnail) - [psxjoy](https://github.com/psxjoy) - [xiaoxiangyeyu0](https://github.com/xiaoxiangyeyu0) - [wxrqforever](https://github.com/wxrqforever) - [xingfudeshi](https://github.com/xingfudeshi) - [YongGoose](https://github.com/YongGoose) - [Monilnarang](https://github.com/Monilnarang) - [iAmClever](https://github.com/iAmClever) - [s-ramyalakshmi](https://github.com/s-ramyalakshmi) - [YoWuwuuuw](https://github.com/YoWuwuuuw) - [mehedikhan72](https://github.com/mehedikhan72) - [AndrewSf](https://github.com/andrewseif) - [bigcyy](https://github.com/bigcyy) - [wjwang00](https://github.com/wjwang00) Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

V2.4.0v2.4.0预发布
? · 2025-05-22

Apache Seata(incubating) 2.4.0 Released. Apache Seata(incubating) is an easy-to-use, high-performance, open source distributed transaction solution. The version is updated as follows: ### feature: - [[#7157](https://github.com/apache/incubator-seata/pull/7157)] migrate the console to the naming server - [[#7213](https://github.com/apache/incubator-seata/pull/7213)] support kingbase xa mode - [[#7024](https://github.com/apache/incubator-seata/pull/7024)] add console transaction control ### bugfix: - [[#7104](https://github.com/apache/incubator-seata/pull/7104)] fix impl of supportsSourceType is not defined - [[#7116](https://github.com/apache/incubator-seata/pull/7116)] fix prefix: seata.server.raft.ssl should not be null - [[#7112](https://github.com/apache/incubator-seata/pull/7112)] bugfix: remove the condition that IPv6 must start with fe80 - [[#7107](https://github.com/apache/incubator-seata/pull/7107)] fix the issue of failing to parse annotations in TCC mode when the business object is a proxy object. - [[#7124](https://github.com/apache/incubator-seata/pull/7124)] bugfix: GlobalTransactionScanner.afterPropertiesSet need do scanner check - [[#7135](https://github.com/apache/incubator-seata/pull/7135)] treating a unique index conflict during rollback as a dirty write - [[#7150](https://github.com/apache/incubator-seata/pull/7150)] The time difference between the raft node and the follower node cannot synchronize data - [[#7102](https://github.com/apache/incubator-seata/pull/7150)] bugfix: modify XA mode pre commit transaction from commit phase to before close phase - [[#7188](https://github.com/apache/incubator-seata/pull/7188)] bugfix: Fix missing branchType in BusinessActionContext - [[#7219](https://github.com/apache/incubator-seata/pull/7219)] bugfix: NotSupportExc can't be thrown out in some cases - [[#7241](https://github.com/apache/incubator-seata/pull/7241)] upgrade tomcat-embed-core to 9.0.99 to fix CVE-2025-24813 - [[#7272](https://github.com/apache/incubator-seata/pull/7272)] fix: fix transaction info not display - [[#7277](https://github.com/apache/incubator-seata/pull/7277)] Fix MySQL jdbc driver can't be found properly - [[#7355](https://github.com/apache/incubator-seata/pull/7355)] fix: the drivers in the lib folder cannot be loaded ### optimize: - [[#6828](https://github.com/apache/incubator-seata/pull/6828)] spring boot compatible with file.conf and registry.conf - [[#7012](https://github.com/apache/incubator-seata/pull/7012)] When the number of primary keys exceeds 1000, use union to concatenate the SQL - [[#7075](https://github.com/apache/incubator-seata/pull/7075)] fast fail when channel is null - [[#7089](https://github.com/apache/incubator-seata/pull/7089)] support instance registration to the registry center - [[#7093](https://github.com/apache/incubator-seata/pull/7093)] add a test workflow for JDK 21 - [[#7088](https://github.com/apache/incubator-seata/pull/7088)] expand english abbreviations to full words - [[#7064](https://github.com/apache/incubator-seata/pull/7064)] remove unnecessary null checks - [[#7130](https://github.com/apache/incubator-seata/pull/7130)] Expose some keepalive-related configuration for Druid, Hikari, and DBCP - [[#7131](https://github.com/apache/incubator-seata/pull/7131)] Remove org.codehaus.jackson dependency - [[#7134](https://github.com/apache/incubator-seata/pull/7134)] upgrade tomcat-embed to 9.0.98 - [[#7138](https://github.com/apache/incubator-seata/pull/7138)] Remove org.eclipse.jetty dependency - [[#7139](https://github.com/apache/incubator-seata/pull/7139)] upgrade xstream to 1.4.21 - [[#7141](https://github.com/apache/incubator-seata/pull/7141)] remove unused dependencies - [[#7142](https://github.com/apache/incubator-seata/pull/7142)] upgrade commons-compress to 1.27.1 - [[#7149](https://github.com/apache/incubator-seata/pull/7149)] Fix abnormal character display issues in ./distribution/NOTICE.md - [[#7170](https://github.com/apache/incubator-seata/pull/7170)] Optimize seata client I/O processing by adjusting thread count - [[#7187](https://github.com/apache/incubator-seata/pull/7187)] Add dependency-check-maven plugin to detect potential vulnerabilities - [[#7179](https://github.com/apache/incubator-seata/pull/7179)] Use shared EventLoop for TM and RM clients to reduce thread overhead and improve performance - [[#7194](https://github.com/apache/incubator-seata/pull/7194)] automatically skipping proxy for datasource of type AbstractRoutingDataSource - [[#7215](https://github.com/apache/incubator-seata/pull/7215)] intercept non-leader write requests of the console trx operation - [[#7224](https://github.com/apache/incubator-seata/pull/7224)] optimize changeGlobalStatus interface of console - [[#7222](https://github.com/apache/incubator-seata/pull/7222)] in raft mode add the vgroup field to global lock - [[#7229](https://github.com/apache/incubator-seata/pull/7229)] update Notice - [[#7234](https://github.com/apache/incubator-seata/pull/7234)] discover the raft leader node from the naming server - [[#7242](https://github.com/apache/incubator-seata/pull/7242)] optimize: optimize ratelimit bucketTokenNumPerSecond config - [[#7259](https://github.com/apache/incubator-seata/pull/7259)] transfer the logback appender configuration to the yml configuration - [[#6998](https://github.com/apache/incubator-seata/pull/6998)] skip sending some request if client-version is v0 - [[#7250](https://github.com/apache/incubator-seata/pull/7250)] compatible for client_protocol_version > server_protocol_version - [[#7242](https://github.com/apache/incubator-seata/pull/7242)] optimize ratelimit bucketTokenNumPerSecond config - [[#7232](https://github.com/apache/incubator-seata/pull/7232)] add license header - [[#7260](https://github.com/apache/incubator-seata/pull/7260)] upgrade npmjs dependencies - [[#7284](https://github.com/apache/incubator-seata/pull/7284)] add dependency-check profile - [[#7073](https://github.com/apache/incubator-seata/pull/7073)] support virtual thread,replace the usages of synchronized with ReentrantLock - [[#6756](https://github.com/apache/incubator-seata/pull/6756)] feature: add single server rate limit - [[#7037](https://github.com/apache/incubator-seata/pull/7037)] support fury undolog parser - [[#7069](https://github.com/apache/incubator-seata/pull/7069)] Raft cluster mode supports address translation - [[#7038](https://github.com/apache/incubator-seata/pull/7038)] support fury serializer - [[#7171](https://github.com/apache/incubator-seata/pull/7171)] support EpollEventLoopGroup in client - [[#7223](https://github.com/apache/incubator-seata/pull/7223)] apply Spotless with Palantir java format - [[#7114](https://github.com/apache/incubator-seata/pull/7114)] support raft mode registry to namingserver - [[#7133](https://github.com/apache/incubator-seata/pull/7133)] Implement scheduled handling for end status transaction - [[#7183](https://github.com/apache/incubator-seata/pull/7183)] client discovers raft nodes through the naming server - [[#7182](https://github.com/apache/incubator-seata/pull/7182)] use the ip of the peerId as the host of the raft node - [[#7181](https://github.com/apache/incubator-seata/pull/7181)] raft implements domain name resolution and selects peerId - [[#7283](https://github.com/apache/incubator-seata/pull/7283)] optimize: use retry logic to end global trx ### security: - [[#6069](https://github.com/apache/incubator-seata/pull/6069)] Upgrade Guava dependencies to fix security vulnerabilities - [[#6145](https://github.com/apache/incubator-seata/pull/6145)] upgrade jettison to 1.5.4 - [[#6144](https://github.com/apache/incubator-seata/pull/6144)] upgrade nacos client to 1.4.6 - [[#6147](https://github.com/apache/incubator-seata/pull/6147)] upgrade kafka-clients to 3.6.1 - [[#6338](https://github.com/apache/incubator-seata/pull/6338)] upgrade jackson version - [[#7201](https://github.com/apache/incubator-seata/pull/7202)] upgrade protobuf.version to 3.25.5 - [[#7214](https://github.com/apache/incubator-seata/pull/7214)] upgrade jackson to 2.18.3 - [[#7249](https://github.com/apache/incubator-seata/pull/7249)] upgrade axios to 1.8.2 ### test: - [[#7092](https://github.com/apache/incubator-seata/pull/7092)] fix the issue of NacosMockTest failing to run - [[#7098](https://github.com/apache/incubator-seata/pull/7098)] Add unit tests for the `seata-common` module - [[#7160](https://github.com/apache/incubator-seata/pull/7160)] Refactored tests in `LowerCaseLinkHashMapTest` to use parameterized unit testing - [[#7167](https://github.com/apache/incubator-seata/pull/7167)] Refactored tests in `DurationUtilTest` to simplify and use parameterized unit testing - [[#7189](https://github.com/apache/incubator-seata/pull/7189)] fix the runtime exception in the saga test case - [[#7197](https://github.com/apache/incubator-seata/pull/7197)] add some UT cases for config module - [[#7199](https://github.com/apache/incubator-seata/pull/7199)] add some UT cases for client processor - [[#7203](https://github.com/apache/incubator-seata/pull/7203)] Refactored tests in rm.datasource.sql.Druid and seata-sqlparser-druid module - [[#7221](https://github.com/apache/incubator-seata/pull/7221)] add UT for gRPC Encoder/Decode - [[#7227](https://github.com/apache/incubator-seata/pull/7227)] add mock test for seata-discovery-consul module - [[#7233][https://github.com/apache/incubator-seata/pull/7233]] add mock test for seata-discovery-etcd3 - [[#7243](https://github.com/apache/incubator-seata/pull/7243)] add unit test for seata-discovery-eureka - [[#7255](https://github.com/apache/incubator-seata/pull/7255)] more unit tests for Discovery-Eureka ### refactor: - [[#7145](https://github.com/apache/incubator-seata/pull/7145)] refactor the code that does not comply with license requirements - [[#7236](https://github.com/apache/incubator-seata/pull/7236)] changed folder name in org.apache.seata.server.storage.raft.sore from sore to store ### doc: - [[#7226](https://github.com/apache/incubator-seata/pull/7226)] write better docs for CONTRIBUTING.md Thanks to these contributors for their code commits. Please report an unintended omission. <!-- Please make sure your Github ID is in the list below --> - [slievrly](https://github.com/slievrly) - [lyl2008dsg](https://github.com/lyl2008dsg) - [remind](https://github.com/remind) - [lightClouds917](https://github.com/lightClouds917) - [GoodBoyCoder](https://github.com/GoodBoyCoder) - [PeppaO](https://github.com/PeppaO) - [xjlgod](https://github.com/xjlgod) - [funky-eyes](https://github.com/funky-eyes) - [MaoMaoandSnail](https://github.com/MaoMaoandSnail) - [psxjoy](https://github.com/psxjoy) - [xiaoxiangyeyu0](https://github.com/xiaoxiangyeyu0) - [wxrqforever](https://github.com/wxrqforever) - [xingfudeshi](https://github.com/xingfudeshi) - [YongGoose](https://github.com/YongGoose) - [Monilnarang](https://github.com/Monilnarang) - [iAmClever](https://github.com/iAmClever) - [s-ramyalakshmi](https://github.com/s-ramyalakshmi) - [YoWuwuuuw](https://github.com/YoWuwuuuw) - [mehedikhan72](https://github.com/mehedikhan72) - [AndrewSf](https://github.com/andrewseif) - [bigcyy](https://github.com/bigcyy) - [wjwang00](https://github.com/wjwang00) Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

V2.4.0v2.4.0预发布
? · 2025-05-19

Apache Seata(incubating) 2.4.0 Released. Apache Seata(incubating) is an easy-to-use, high-performance, open source distributed transaction solution. The version is updated as follows: ### feature: - [[#7157](https://github.com/apache/incubator-seata/pull/7157)] migrate the console to the naming server - [[#7213](https://github.com/apache/incubator-seata/pull/7213)] support kingbase xa mode ### bugfix: - [[#7104](https://github.com/apache/incubator-seata/pull/7104)] fix impl of supportsSourceType is not defined - [[#7116](https://github.com/apache/incubator-seata/pull/7116)] fix prefix: seata.server.raft.ssl should not be null - [[#7112](https://github.com/apache/incubator-seata/pull/7112)] bugfix: remove the condition that IPv6 must start with fe80 - [[#7107](https://github.com/apache/incubator-seata/pull/7107)] fix the issue of failing to parse annotations in TCC mode when the business object is a proxy object. - [[#7124](https://github.com/apache/incubator-seata/pull/7124)] bugfix: GlobalTransactionScanner.afterPropertiesSet need do scanner check - [[#7135](https://github.com/apache/incubator-seata/pull/7135)] treating a unique index conflict during rollback as a dirty write - [[#7150](https://github.com/apache/incubator-seata/pull/7150)] The time difference between the raft node and the follower node cannot synchronize data - [[#7102](https://github.com/apache/incubator-seata/pull/7150)] bugfix: modify XA mode pre commit transaction from commit phase to before close phase - [[#7188](https://github.com/apache/incubator-seata/pull/7188)] bugfix: Fix missing branchType in BusinessActionContext - [[#7219](https://github.com/apache/incubator-seata/pull/7219)] bugfix: NotSupportExc can't be thrown out in some cases - [[#7241](https://github.com/apache/incubator-seata/pull/7241)] upgrade tomcat-embed-core to 9.0.99 to fix CVE-2025-24813 - [[#7272](https://github.com/apache/incubator-seata/pull/7272)] fix: fix transaction info not display - [[#7277](https://github.com/apache/incubator-seata/pull/7277)] Fix MySQL jdbc driver can't be found properly ### optimize: - [[#6828](https://github.com/apache/incubator-seata/pull/6828)] spring boot compatible with file.conf and registry.conf - [[#7012](https://github.com/apache/incubator-seata/pull/7012)] When the number of primary keys exceeds 1000, use union to concatenate the SQL - [[#7075](https://github.com/apache/incubator-seata/pull/7075)] fast fail when channel is null - [[#7089](https://github.com/apache/incubator-seata/pull/7089)] support instance registration to the registry center - [[#7093](https://github.com/apache/incubator-seata/pull/7093)] add a test workflow for JDK 21 - [[#7088](https://github.com/apache/incubator-seata/pull/7088)] expand english abbreviations to full words - [[#7064](https://github.com/apache/incubator-seata/pull/7064)] remove unnecessary null checks - [[#7130](https://github.com/apache/incubator-seata/pull/7130)] Expose some keepalive-related configuration for Druid, Hikari, and DBCP - [[#7131](https://github.com/apache/incubator-seata/pull/7131)] Remove org.codehaus.jackson dependency - [[#7134](https://github.com/apache/incubator-seata/pull/7134)] upgrade tomcat-embed to 9.0.98 - [[#7138](https://github.com/apache/incubator-seata/pull/7138)] Remove org.eclipse.jetty dependency - [[#7139](https://github.com/apache/incubator-seata/pull/7139)] upgrade xstream to 1.4.21 - [[#7141](https://github.com/apache/incubator-seata/pull/7141)] remove unused dependencies - [[#7142](https://github.com/apache/incubator-seata/pull/7142)] upgrade commons-compress to 1.27.1 - [[#7149](https://github.com/apache/incubator-seata/pull/7149)] Fix abnormal character display issues in ./distribution/NOTICE.md - [[#7170](https://github.com/apache/incubator-seata/pull/7170)] Optimize seata client I/O processing by adjusting thread count - [[#7187](https://github.com/apache/incubator-seata/pull/7187)] Add dependency-check-maven plugin to detect potential vulnerabilities - [[#7179](https://github.com/apache/incubator-seata/pull/7179)] Use shared EventLoop for TM and RM clients to reduce thread overhead and improve performance - [[#7194](https://github.com/apache/incubator-seata/pull/7194)] automatically skipping proxy for datasource of type AbstractRoutingDataSource - [[#7215](https://github.com/apache/incubator-seata/pull/7215)] intercept non-leader write requests of the console trx operation - [[#7224](https://github.com/apache/incubator-seata/pull/7224)] optimize changeGlobalStatus interface of console - [[#7222](https://github.com/apache/incubator-seata/pull/7222)] in raft mode add the vgroup field to global lock - [[#7229](https://github.com/apache/incubator-seata/pull/7229)] update Notice - [[#7234](https://github.com/apache/incubator-seata/pull/7234)] discover the raft leader node from the naming server - [[#7242](https://github.com/apache/incubator-seata/pull/7242)] optimize: optimize ratelimit bucketTokenNumPerSecond config - [[#7259](https://github.com/apache/incubator-seata/pull/7259)] transfer the logback appender configuration to the yml configuration - [[#6998](https://github.com/apache/incubator-seata/pull/6998)] skip sending some request if client-version is v0 - [[#7250](https://github.com/apache/incubator-seata/pull/7250)] compatible for client_protocol_version > server_protocol_version - [[#7242](https://github.com/apache/incubator-seata/pull/7242)] optimize ratelimit bucketTokenNumPerSecond config - [[#7232](https://github.com/apache/incubator-seata/pull/7232)] add license header - [[#7260](https://github.com/apache/incubator-seata/pull/7260)] upgrade npmjs dependencies - [[#7284](https://github.com/apache/incubator-seata/pull/7284)] add dependency-check profile - [[#7073](https://github.com/apache/incubator-seata/pull/7073)] support virtual thread,replace the usages of synchronized with ReentrantLock - [[#6756](https://github.com/apache/incubator-seata/pull/6756)] feature: add single server rate limit - [[#7037](https://github.com/apache/incubator-seata/pull/7037)] support fury undolog parser - [[#7069](https://github.com/apache/incubator-seata/pull/7069)] Raft cluster mode supports address translation - [[#7038](https://github.com/apache/incubator-seata/pull/7038)] support fury serializer - [[#7171](https://github.com/apache/incubator-seata/pull/7171)] support EpollEventLoopGroup in client - [[#7223](https://github.com/apache/incubator-seata/pull/7223)] apply Spotless with Palantir java format - [[#7114](https://github.com/apache/incubator-seata/pull/7114)] support raft mode registry to namingserver - [[#7133](https://github.com/apache/incubator-seata/pull/7133)] Implement scheduled handling for end status transaction - [[#7183](https://github.com/apache/incubator-seata/pull/7183)] client discovers raft nodes through the naming server - [[#7182](https://github.com/apache/incubator-seata/pull/7182)] use the ip of the peerId as the host of the raft node - [[#7181](https://github.com/apache/incubator-seata/pull/7181)] raft implements domain name resolution and selects peerId - [[#7283](https://github.com/apache/incubator-seata/pull/7283)] optimize: use retry logic to end global trx ### security: - [[#6069](https://github.com/apache/incubator-seata/pull/6069)] Upgrade Guava dependencies to fix security vulnerabilities - [[#6145](https://github.com/apache/incubator-seata/pull/6145)] upgrade jettison to 1.5.4 - [[#6144](https://github.com/apache/incubator-seata/pull/6144)] upgrade nacos client to 1.4.6 - [[#6147](https://github.com/apache/incubator-seata/pull/6147)] upgrade kafka-clients to 3.6.1 - [[#6338](https://github.com/apache/incubator-seata/pull/6338)] upgrade jackson version - [[#7201](https://github.com/apache/incubator-seata/pull/7202)] upgrade protobuf.version to 3.25.5 - [[#7214](https://github.com/apache/incubator-seata/pull/7214)] upgrade jackson to 2.18.3 - [[#7249](https://github.com/apache/incubator-seata/pull/7249)] upgrade axios to 1.8.2 ### test: - [[#7092](https://github.com/apache/incubator-seata/pull/7092)] fix the issue of NacosMockTest failing to run - [[#7098](https://github.com/apache/incubator-seata/pull/7098)] Add unit tests for the `seata-common` module - [[#7160](https://github.com/apache/incubator-seata/pull/7160)] Refactored tests in `LowerCaseLinkHashMapTest` to use parameterized unit testing - [[#7167](https://github.com/apache/incubator-seata/pull/7167)] Refactored tests in `DurationUtilTest` to simplify and use parameterized unit testing - [[#7189](https://github.com/apache/incubator-seata/pull/7189)] fix the runtime exception in the saga test case - [[#7197](https://github.com/apache/incubator-seata/pull/7197)] add some UT cases for config module - [[#7199](https://github.com/apache/incubator-seata/pull/7199)] add some UT cases for client processor - [[#7203](https://github.com/apache/incubator-seata/pull/7203)] Refactored tests in rm.datasource.sql.Druid and seata-sqlparser-druid module - [[#7221](https://github.com/apache/incubator-seata/pull/7221)] add UT for gRPC Encoder/Decode - [[#7227](https://github.com/apache/incubator-seata/pull/7227)] add mock test for seata-discovery-consul module - [[#7233][https://github.com/apache/incubator-seata/pull/7233]] add mock test for seata-discovery-etcd3 - [[#7243](https://github.com/apache/incubator-seata/pull/7243)] add unit test for seata-discovery-eureka - [[#7255](https://github.com/apache/incubator-seata/pull/7255)] more unit tests for Discovery-Eureka ### refactor: - [[#7145](https://github.com/apache/incubator-seata/pull/7145)] refactor the code that does not comply with license requirements - [[#7236](https://github.com/apache/incubator-seata/pull/7236)] changed folder name in org.apache.seata.server.storage.raft.sore from sore to store ### doc: - [[#7226](https://github.com/apache/incubator-seata/pull/7226)] write better docs for CONTRIBUTING.md Thanks to these contributors for their code commits. Please report an unintended omission. <!-- Please make sure your Github ID is in the list below --> - [slievrly](https://github.com/slievrly) - [lyl2008dsg](https://github.com/lyl2008dsg) - [remind](https://github.com/remind) - [lightClouds917](https://github.com/lightClouds917) - [GoodBoyCoder](https://github.com/GoodBoyCoder) - [PeppaO](https://github.com/PeppaO) - [xjlgod](https://github.com/xjlgod) - [funky-eyes](https://github.com/funky-eyes) - [MaoMaoandSnail](https://github.com/MaoMaoandSnail) - [psxjoy](https://github.com/psxjoy) - [xiaoxiangyeyu0](https://github.com/xiaoxiangyeyu0) - [wxrqforever](https://github.com/wxrqforever) - [xingfudeshi](https://github.com/xingfudeshi) - [YongGoose](https://github.com/YongGoose) - [Monilnarang](https://github.com/Monilnarang) - [iAmClever](https://github.com/iAmClever) - [s-ramyalakshmi](https://github.com/s-ramyalakshmi) - [YoWuwuuuw](https://github.com/YoWuwuuuw) - [mehedikhan72](https://github.com/mehedikhan72) - [AndrewSf](https://github.com/andrewseif) - [bigcyy](https://github.com/bigcyy) - [wjwang00](https://github.com/wjwang00) Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

V2.4.0v2.4.0预发布
? · 2025-04-29

Apache Seata(incubating) 2.4.0 Released. Apache Seata(incubating) is an easy-to-use, high-performance, open source distributed transaction solution. The version is updated as follows: ### feature: - [[#7157](https://github.com/apache/incubator-seata/pull/7157)] migrate the console to the naming server - [[#7213](https://github.com/apache/incubator-seata/pull/7213)] support kingbase xa mode ### bugfix: - [[#7104](https://github.com/apache/incubator-seata/pull/7104)] fix impl of supportsSourceType is not defined - [[#7116](https://github.com/apache/incubator-seata/pull/7116)] fix prefix: seata.server.raft.ssl should not be null - [[#7112](https://github.com/apache/incubator-seata/pull/7112)] bugfix: remove the condition that IPv6 must start with fe80 - [[#7107](https://github.com/apache/incubator-seata/pull/7107)] fix the issue of failing to parse annotations in TCC mode when the business object is a proxy object. - [[#7124](https://github.com/apache/incubator-seata/pull/7124)] bugfix: GlobalTransactionScanner.afterPropertiesSet need do scanner check - [[#7135](https://github.com/apache/incubator-seata/pull/7135)] treating a unique index conflict during rollback as a dirty write - [[#7150](https://github.com/apache/incubator-seata/pull/7150)] The time difference between the raft node and the follower node cannot synchronize data - [[#7102](https://github.com/apache/incubator-seata/pull/7150)] bugfix: modify XA mode pre commit transaction from commit phase to before close phase - [[#7188](https://github.com/apache/incubator-seata/pull/7188)] bugfix: Fix missing branchType in BusinessActionContext - [[#7219](https://github.com/apache/incubator-seata/pull/7219)] bugfix: NotSupportExc can't be thrown out in some cases - [[#7241](https://github.com/apache/incubator-seata/pull/7241)] upgrade tomcat-embed-core to 9.0.99 to fix CVE-2025-24813 - [[#7272](https://github.com/apache/incubator-seata/pull/7272)] fix: fix transaction info not display - [[#7277](https://github.com/apache/incubator-seata/pull/7277)] Fix MySQL jdbc driver can't be found properly ### optimize: - [[#6828](https://github.com/apache/incubator-seata/pull/6828)] spring boot compatible with file.conf and registry.conf - [[#7012](https://github.com/apache/incubator-seata/pull/7012)] When the number of primary keys exceeds 1000, use union to concatenate the SQL - [[#7075](https://github.com/apache/incubator-seata/pull/7075)] fast fail when channel is null - [[#7089](https://github.com/apache/incubator-seata/pull/7089)] support instance registration to the registry center - [[#7093](https://github.com/apache/incubator-seata/pull/7093)] add a test workflow for JDK 21 - [[#7088](https://github.com/apache/incubator-seata/pull/7088)] expand english abbreviations to full words - [[#7064](https://github.com/apache/incubator-seata/pull/7064)] remove unnecessary null checks - [[#7130](https://github.com/apache/incubator-seata/pull/7130)] Expose some keepalive-related configuration for Druid, Hikari, and DBCP - [[#7131](https://github.com/apache/incubator-seata/pull/7131)] Remove org.codehaus.jackson dependency - [[#7134](https://github.com/apache/incubator-seata/pull/7134)] upgrade tomcat-embed to 9.0.98 - [[#7138](https://github.com/apache/incubator-seata/pull/7138)] Remove org.eclipse.jetty dependency - [[#7139](https://github.com/apache/incubator-seata/pull/7139)] upgrade xstream to 1.4.21 - [[#7141](https://github.com/apache/incubator-seata/pull/7141)] remove unused dependencies - [[#7142](https://github.com/apache/incubator-seata/pull/7142)] upgrade commons-compress to 1.27.1 - [[#7149](https://github.com/apache/incubator-seata/pull/7149)] Fix abnormal character display issues in ./distribution/NOTICE.md - [[#7170](https://github.com/apache/incubator-seata/pull/7170)] Optimize seata client I/O processing by adjusting thread count - [[#7187](https://github.com/apache/incubator-seata/pull/7187)] Add dependency-check-maven plugin to detect potential vulnerabilities - [[#7179](https://github.com/apache/incubator-seata/pull/7179)] Use shared EventLoop for TM and RM clients to reduce thread overhead and improve performance - [[#7194](https://github.com/apache/incubator-seata/pull/7194)] automatically skipping proxy for datasource of type AbstractRoutingDataSource - [[#7215](https://github.com/apache/incubator-seata/pull/7215)] intercept non-leader write requests of the console trx operation - [[#7224](https://github.com/apache/incubator-seata/pull/7224)] optimize changeGlobalStatus interface of console - [[#7222](https://github.com/apache/incubator-seata/pull/7222)] in raft mode add the vgroup field to global lock - [[#7229](https://github.com/apache/incubator-seata/pull/7229)] update Notice - [[#7234](https://github.com/apache/incubator-seata/pull/7234)] discover the raft leader node from the naming server - [[#7242](https://github.com/apache/incubator-seata/pull/7242)] optimize: optimize ratelimit bucketTokenNumPerSecond config - [[#7259](https://github.com/apache/incubator-seata/pull/7259)] transfer the logback appender configuration to the yml configuration - [[#6998](https://github.com/apache/incubator-seata/pull/6998)] skip sending some request if client-version is v0 - [[#7250](https://github.com/apache/incubator-seata/pull/7250)] compatible for client_protocol_version > server_protocol_version - [[#7232](https://github.com/apache/incubator-seata/pull/7232)] add license header - [[#7260](https://github.com/apache/incubator-seata/pull/7260)] upgrade npmjs dependencies - [[#7284](https://github.com/apache/incubator-seata/pull/7284)] add dependency-check profile - [[#7114](https://github.com/apache/incubator-seata/pull/7114)] support raft mode registry to namingserver - [[#7133](https://github.com/apache/incubator-seata/pull/7133)] Implement scheduled handling for end status transaction - [[#7171](https://github.com/apache/incubator-seata/pull/7171)] support EpollEventLoopGroup in client - [[#7183](https://github.com/apache/incubator-seata/pull/7183)] client discovers raft nodes through the naming server - [[#7182](https://github.com/apache/incubator-seata/pull/7182)] use the ip of the peerId as the host of the raft node - [[#7181](https://github.com/apache/incubator-seata/pull/7181)] raft implements domain name resolution and selects peerId - [[#6756](https://github.com/apache/incubator-seata/pull/6756)] feature: add single server rate limit - [[#7073](https://github.com/apache/incubator-seata/pull/7073)] support virtual thread,replace the usages of synchronized with ReentrantLock - [[#7037](https://github.com/apache/incubator-seata/pull/7037)] support fury undolog parser - [[#7069](https://github.com/apache/incubator-seata/pull/7069)] Raft cluster mode supports address translation - [[#7038](https://github.com/apache/incubator-seata/pull/7038)] support fury serializer ### security: - [[#6069](https://github.com/apache/incubator-seata/pull/6069)] Upgrade Guava dependencies to fix security vulnerabilities - [[#6145](https://github.com/apache/incubator-seata/pull/6145)] upgrade jettison to 1.5.4 - [[#6144](https://github.com/apache/incubator-seata/pull/6144)] upgrade nacos client to 1.4.6 - [[#6147](https://github.com/apache/incubator-seata/pull/6147)] upgrade kafka-clients to 3.6.1 - [[#6338](https://github.com/apache/incubator-seata/pull/6338)] upgrade jackson version - [[#7201](https://github.com/apache/incubator-seata/pull/7202)] upgrade protobuf.version to 3.25.5 - [[#7214](https://github.com/apache/incubator-seata/pull/7214)] upgrade jackson to 2.18.3 - [[#7249](https://github.com/apache/incubator-seata/pull/7249)] upgrade axios to 1.8.2 ### test: - [[#7092](https://github.com/apache/incubator-seata/pull/7092)] fix the issue of NacosMockTest failing to run - [[#7098](https://github.com/apache/incubator-seata/pull/7098)] Add unit tests for the `seata-common` module - [[#7160](https://github.com/apache/incubator-seata/pull/7160)] Refactored tests in `LowerCaseLinkHashMapTest` to use parameterized unit testing - [[#7167](https://github.com/apache/incubator-seata/pull/7167)] Refactored tests in `DurationUtilTest` to simplify and use parameterized unit testing - [[#7189](https://github.com/apache/incubator-seata/pull/7189)] fix the runtime exception in the saga test case - [[#7197](https://github.com/apache/incubator-seata/pull/7197)] add some UT cases for config module - [[#7199](https://github.com/apache/incubator-seata/pull/7199)] add some UT cases for client processor - [[#7203](https://github.com/apache/incubator-seata/pull/7203)] Refactored tests in rm.datasource.sql.Druid and seata-sqlparser-druid module - [[#7221](https://github.com/apache/incubator-seata/pull/7221)] add UT for gRPC Encoder/Decode - [[#7227](https://github.com/apache/incubator-seata/pull/7227)] add mock test for seata-discovery-consul module - [[#7233][https://github.com/apache/incubator-seata/pull/7233]] add mock test for seata-discovery-etcd3 - [[#7243](https://github.com/apache/incubator-seata/pull/7243)] add unit test for seata-discovery-eureka - [[#7255](https://github.com/apache/incubator-seata/pull/7255)] more unit tests for Discovery-Eureka - [[#7320](https://github.com/apache/incubator-seata/pull/7320)] Refactor log testing to use ListAppender for more accurate and efficient log capture ### refactor: - [[#7145](https://github.com/apache/incubator-seata/pull/7145)] refactor the code that does not comply with license requirements - [[#7236](https://github.com/apache/incubator-seata/pull/7236)] changed folder name in org.apache.seata.server.storage.raft.sore from sore to store ### doc: - [[#7226](https://github.com/apache/incubator-seata/pull/7226)] write better docs for CONTRIBUTING.md Thanks to these contributors for their code commits. Please report an unintended omission. <!-- Please make sure your Github ID is in the list below --> - [slievrly](https://github.com/slievrly) - [lyl2008dsg](https://github.com/lyl2008dsg) - [remind](https://github.com/remind) - [lightClouds917](https://github.com/lightClouds917) - [GoodBoyCoder](https://github.com/GoodBoyCoder) - [PeppaO](https://github.com/PeppaO) - [xjlgod](https://github.com/xjlgod) - [funky-eyes](https://github.com/funky-eyes) - [MaoMaoandSnail](https://github.com/MaoMaoandSnail) - [psxjoy](https://github.com/psxjoy) - [xiaoxiangyeyu0](https://github.com/xiaoxiangyeyu0) - [wxrqforever](https://github.com/wxrqforever) - [xingfudeshi](https://github.com/xingfudeshi) - [YongGoose](https://github.com/YongGoose) - [Monilnarang](https://github.com/Monilnarang) - [iAmClever](https://github.com/iAmClever) - [s-ramyalakshmi](https://github.com/s-ramyalakshmi) - [YoWuwuuuw](https://github.com/YoWuwuuuw) - [mehedikhan72](https://github.com/mehedikhan72) - [AndrewSf](https://github.com/andrewseif) - [bigcyy](https://github.com/bigcyy) - [wjwang00](https://github.com/wjwang00) Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

V2.4.0v2.4.0预发布
? · 2025-04-16

Apache Seata(incubating) 2.4.0 Released. Apache Seata(incubating) is an easy-to-use, high-performance, open source distributed transaction solution. The version is updated as follows: ### feature: - [[#6756](https://github.com/apache/incubator-seata/pull/6756)] feature: add single server rate limit - [[#7073](https://github.com/apache/incubator-seata/pull/7073)] support virtual thread,replace the usages of synchronized with ReentrantLock - [[#7037](https://github.com/apache/incubator-seata/pull/7037)] support fury undolog parser - [[#7069](https://github.com/apache/incubator-seata/pull/7069)] Raft cluster mode supports address translation - [[#7038](https://github.com/apache/incubator-seata/pull/7038)] support fury serializer - [[#7157](https://github.com/apache/incubator-seata/pull/7157)] migrate the console to the naming server - [[#7114](https://github.com/apache/incubator-seata/pull/7114)] support raft mode registry to namingserver - [[#7133](https://github.com/apache/incubator-seata/pull/7133)] Implement scheduled handling for end status transaction - [[#7171](https://github.com/apache/incubator-seata/pull/7171)] support EpollEventLoopGroup in client - [[#7183](https://github.com/apache/incubator-seata/pull/7183)] client discovers raft nodes through the naming server - [[#7182](https://github.com/apache/incubator-seata/pull/7182)] use the ip of the peerId as the host of the raft node - [[#7181](https://github.com/apache/incubator-seata/pull/7181)] raft implements domain name resolution and selects peerId - [[#7213](https://github.com/apache/incubator-seata/pull/7213)] support kingbase xa mode ### bugfix: - [[#7104](https://github.com/apache/incubator-seata/pull/7104)] fix impl of supportsSourceType is not defined - [[#7116](https://github.com/apache/incubator-seata/pull/7116)] fix prefix: seata.server.raft.ssl should not be null - [[#7112](https://github.com/apache/incubator-seata/pull/7112)] bugfix: remove the condition that IPv6 must start with fe80 - [[#7107](https://github.com/apache/incubator-seata/pull/7107)] fix the issue of failing to parse annotations in TCC mode when the business object is a proxy object. - [[#7124](https://github.com/apache/incubator-seata/pull/7124)] bugfix: GlobalTransactionScanner.afterPropertiesSet need do scanner check - [[#7135](https://github.com/apache/incubator-seata/pull/7135)] treating a unique index conflict during rollback as a dirty write - [[#7150](https://github.com/apache/incubator-seata/pull/7150)] The time difference between the raft node and the follower node cannot synchronize data - [[#7102](https://github.com/apache/incubator-seata/pull/7150)] bugfix: modify XA mode pre commit transaction from commit phase to before close phase - [[#7188](https://github.com/apache/incubator-seata/pull/7188)] bugfix: Fix missing branchType in BusinessActionContext - [[#7219](https://github.com/apache/incubator-seata/pull/7219)] bugfix: NotSupportExc can't be thrown out in some cases - [[#7241](https://github.com/apache/incubator-seata/pull/7241)] upgrade tomcat-embed-core to 9.0.99 to fix CVE-2025-24813 - [[#7272](https://github.com/apache/incubator-seata/pull/7272)] fix: fix transaction info not display - [[#7277](https://github.com/apache/incubator-seata/pull/7277)] Fix MySQL jdbc driver can't be found properly ### optimize: - [[#6828](https://github.com/apache/incubator-seata/pull/6828)] spring boot compatible with file.conf and registry.conf - [[#7012](https://github.com/apache/incubator-seata/pull/7012)] When the number of primary keys exceeds 1000, use union to concatenate the SQL - [[#7075](https://github.com/apache/incubator-seata/pull/7075)] fast fail when channel is null - [[#7089](https://github.com/apache/incubator-seata/pull/7089)] support instance registration to the registry center - [[#7093](https://github.com/apache/incubator-seata/pull/7093)] add a test workflow for JDK 21 - [[#7088](https://github.com/apache/incubator-seata/pull/7088)] expand english abbreviations to full words - [[#7064](https://github.com/apache/incubator-seata/pull/7064)] remove unnecessary null checks - [[#7130](https://github.com/apache/incubator-seata/pull/7130)] Expose some keepalive-related configuration for Druid, Hikari, and DBCP - [[#7131](https://github.com/apache/incubator-seata/pull/7131)] Remove org.codehaus.jackson dependency - [[#7134](https://github.com/apache/incubator-seata/pull/7134)] upgrade tomcat-embed to 9.0.98 - [[#7138](https://github.com/apache/incubator-seata/pull/7138)] Remove org.eclipse.jetty dependency - [[#7139](https://github.com/apache/incubator-seata/pull/7139)] upgrade xstream to 1.4.21 - [[#7141](https://github.com/apache/incubator-seata/pull/7141)] remove unused dependencies - [[#7142](https://github.com/apache/incubator-seata/pull/7142)] upgrade commons-compress to 1.27.1 - [[#7149](https://github.com/apache/incubator-seata/pull/7149)] Fix abnormal character display issues in ./distribution/NOTICE.md - [[#7170](https://github.com/apache/incubator-seata/pull/7170)] Optimize seata client I/O processing by adjusting thread count - [[#7187](https://github.com/apache/incubator-seata/pull/7187)] Add dependency-check-maven plugin to detect potential vulnerabilities - [[#7179](https://github.com/apache/incubator-seata/pull/7179)] Use shared EventLoop for TM and RM clients to reduce thread overhead and improve performance - [[#7194](https://github.com/apache/incubator-seata/pull/7194)] automatically skipping proxy for datasource of type AbstractRoutingDataSource - [[#7215](https://github.com/apache/incubator-seata/pull/7215)] intercept non-leader write requests of the console trx operation - [[#7224](https://github.com/apache/incubator-seata/pull/7224)] optimize changeGlobalStatus interface of console - [[#7222](https://github.com/apache/incubator-seata/pull/7222)] in raft mode add the vgroup field to global lock - [[#7229](https://github.com/apache/incubator-seata/pull/7229)] update Notice - [[#7234](https://github.com/apache/incubator-seata/pull/7234)] discover the raft leader node from the naming server - [[#7242](https://github.com/apache/incubator-seata/pull/7242)] optimize: optimize ratelimit bucketTokenNumPerSecond config - [[#7259](https://github.com/apache/incubator-seata/pull/7259)] transfer the logback appender configuration to the yml configuration - [[#6998](https://github.com/apache/incubator-seata/pull/6998)] skip sending some request if client-version is v0 - [[#7250](https://github.com/apache/incubator-seata/pull/7250)] compatible for client_protocol_version > server_protocol_version - [[#7232](https://github.com/apache/incubator-seata/pull/7232)] add license header - [[#7260](https://github.com/apache/incubator-seata/pull/7260)] upgrade npmjs dependencies - [[#7284](https://github.com/apache/incubator-seata/pull/7284)] add dependency-check profile ### security: - [[#6069](https://github.com/apache/incubator-seata/pull/6069)] Upgrade Guava dependencies to fix security vulnerabilities - [[#6145](https://github.com/apache/incubator-seata/pull/6145)] upgrade jettison to 1.5.4 - [[#6144](https://github.com/apache/incubator-seata/pull/6144)] upgrade nacos client to 1.4.6 - [[#6147](https://github.com/apache/incubator-seata/pull/6147)] upgrade kafka-clients to 3.6.1 - [[#6338](https://github.com/apache/incubator-seata/pull/6338)] upgrade jackson version - [[#7201](https://github.com/apache/incubator-seata/pull/7202)] upgrade protobuf.version to 3.25.5 - [[#7214](https://github.com/apache/incubator-seata/pull/7214)] upgrade jackson to 2.18.3 - [[#7249](https://github.com/apache/incubator-seata/pull/7249)] upgrade axios to 1.8.2 ### test: - [[#7092](https://github.com/apache/incubator-seata/pull/7092)] fix the issue of NacosMockTest failing to run - [[#7098](https://github.com/apache/incubator-seata/pull/7098)] Add unit tests for the `seata-common` module - [[#7160](https://github.com/apache/incubator-seata/pull/7160)] Refactored tests in `LowerCaseLinkHashMapTest` to use parameterized unit testing - [[#7167](https://github.com/apache/incubator-seata/pull/7167)] Refactored tests in `DurationUtilTest` to simplify and use parameterized unit testing - [[#7189](https://github.com/apache/incubator-seata/pull/7189)] fix the runtime exception in the saga test case - [[#7197](https://github.com/apache/incubator-seata/pull/7197)] add some UT cases for config module - [[#7199](https://github.com/apache/incubator-seata/pull/7199)] add some UT cases for client processor - [[#7203](https://github.com/apache/incubator-seata/pull/7203)] Refactored tests in rm.datasource.sql.Druid and seata-sqlparser-druid module - [[#7221](https://github.com/apache/incubator-seata/pull/7221)] add UT for gRPC Encoder/Decode - [[#7227](https://github.com/apache/incubator-seata/pull/7227)] add mock test for seata-discovery-consul module - [[#7233][https://github.com/apache/incubator-seata/pull/7233]] add mock test for seata-discovery-etcd3 - [[#7243](https://github.com/apache/incubator-seata/pull/7243)] add unit test for seata-discovery-eureka - [[#7255](https://github.com/apache/incubator-seata/pull/7255)] more unit tests for Discovery-Eureka ### refactor: - [[#7145](https://github.com/apache/incubator-seata/pull/7145)] refactor the code that does not comply with license requirements - [[#7236](https://github.com/apache/incubator-seata/pull/7236)] changed folder name in org.apache.seata.server.storage.raft.sore from sore to store ### doc: - [[#7226](https://github.com/apache/incubator-seata/pull/7226)] write better docs for CONTRIBUTING.md Thanks to these contributors for their code commits. Please report an unintended omission. <!-- Please make sure your Github ID is in the list below --> - [slievrly](https://github.com/slievrly) - [lyl2008dsg](https://github.com/lyl2008dsg) - [remind](https://github.com/remind) - [lightClouds917](https://github.com/lightClouds917) - [GoodBoyCoder](https://github.com/GoodBoyCoder) - [PeppaO](https://github.com/PeppaO) - [xjlgod](https://github.com/xjlgod) - [funky-eyes](https://github.com/funky-eyes) - [MaoMaoandSnail](https://github.com/MaoMaoandSnail) - [psxjoy](https://github.com/psxjoy) - [xiaoxiangyeyu0](https://github.com/xiaoxiangyeyu0) - [wxrqforever](https://github.com/wxrqforever) - [xingfudeshi](https://github.com/xingfudeshi) - [YongGoose](https://github.com/YongGoose) - [Monilnarang](https://github.com/Monilnarang) - [iAmClever](https://github.com/iAmClever) - [s-ramyalakshmi](https://github.com/s-ramyalakshmi) - [YoWuwuuuw](https://github.com/YoWuwuuuw) - [mehedikhan72](https://github.com/mehedikhan72) - [AndrewSf](https://github.com/andrewseif) - [bigcyy](https://github.com/bigcyy) - [wjwang00](https://github.com/wjwang00) Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

V2.4.0v2.4.0预发布
? · 2025-04-14

Apache Seata(incubating) 2.4.0 Released. Apache Seata(incubating) is an easy-to-use, high-performance, open source distributed transaction solution. The version is updated as follows: ### feature: - [[#6756](https://github.com/apache/incubator-seata/pull/6756)] feature: add single server rate limit - [[#7073](https://github.com/apache/incubator-seata/pull/7073)] support virtual thread,replace the usages of synchronized with ReentrantLock - [[#7037](https://github.com/apache/incubator-seata/pull/7037)] support fury undolog parser - [[#7069](https://github.com/apache/incubator-seata/pull/7069)] Raft cluster mode supports address translation - [[#7038](https://github.com/apache/incubator-seata/pull/7038)] support fury serializer - [[#7157](https://github.com/apache/incubator-seata/pull/7157)] migrate the console to the naming server - [[#7114](https://github.com/apache/incubator-seata/pull/7114)] support raft mode registry to namingserver - [[#7133](https://github.com/apache/incubator-seata/pull/7133)] Implement scheduled handling for end status transaction - [[#7171](https://github.com/apache/incubator-seata/pull/7171)] support EpollEventLoopGroup in client - [[#7183](https://github.com/apache/incubator-seata/pull/7183)] client discovers raft nodes through the naming server - [[#7182](https://github.com/apache/incubator-seata/pull/7182)] use the ip of the peerId as the host of the raft node - [[#7181](https://github.com/apache/incubator-seata/pull/7181)] raft implements domain name resolution and selects peerId - [[#7213](https://github.com/apache/incubator-seata/pull/7213)] support kingbase xa mode ### bugfix: - [[#7104](https://github.com/apache/incubator-seata/pull/7104)] fix impl of supportsSourceType is not defined - [[#7116](https://github.com/apache/incubator-seata/pull/7116)] fix prefix: seata.server.raft.ssl should not be null - [[#7112](https://github.com/apache/incubator-seata/pull/7112)] bugfix: remove the condition that IPv6 must start with fe80 - [[#7107](https://github.com/apache/incubator-seata/pull/7107)] fix the issue of failing to parse annotations in TCC mode when the business object is a proxy object. - [[#7124](https://github.com/apache/incubator-seata/pull/7124)] bugfix: GlobalTransactionScanner.afterPropertiesSet need do scanner check - [[#7135](https://github.com/apache/incubator-seata/pull/7135)] treating a unique index conflict during rollback as a dirty write - [[#7150](https://github.com/apache/incubator-seata/pull/7150)] The time difference between the raft node and the follower node cannot synchronize data - [[#7102](https://github.com/apache/incubator-seata/pull/7150)] bugfix: modify XA mode pre commit transaction from commit phase to before close phase - [[#7188](https://github.com/apache/incubator-seata/pull/7188)] bugfix: Fix missing branchType in BusinessActionContext - [[#7219](https://github.com/apache/incubator-seata/pull/7219)] bugfix: NotSupportExc can't be thrown out in some cases - [[#7241](https://github.com/apache/incubator-seata/pull/7241)] upgrade tomcat-embed-core to 9.0.99 to fix CVE-2025-24813 - [[#7272](https://github.com/apache/incubator-seata/pull/7272)] fix: fix transaction info not display - [[#7277](https://github.com/apache/incubator-seata/pull/7277)] Fix MySQL jdbc driver can't be found properly ### optimize: - [[#6828](https://github.com/apache/incubator-seata/pull/6828)] spring boot compatible with file.conf and registry.conf - [[#7012](https://github.com/apache/incubator-seata/pull/7012)] When the number of primary keys exceeds 1000, use union to concatenate the SQL - [[#7075](https://github.com/apache/incubator-seata/pull/7075)] fast fail when channel is null - [[#7089](https://github.com/apache/incubator-seata/pull/7089)] support instance registration to the registry center - [[#7093](https://github.com/apache/incubator-seata/pull/7093)] add a test workflow for JDK 21 - [[#7088](https://github.com/apache/incubator-seata/pull/7088)] expand english abbreviations to full words - [[#7064](https://github.com/apache/incubator-seata/pull/7064)] remove unnecessary null checks - [[#7130](https://github.com/apache/incubator-seata/pull/7130)] Expose some keepalive-related configuration for Druid, Hikari, and DBCP - [[#7131](https://github.com/apache/incubator-seata/pull/7131)] Remove org.codehaus.jackson dependency - [[#7134](https://github.com/apache/incubator-seata/pull/7134)] upgrade tomcat-embed to 9.0.98 - [[#7138](https://github.com/apache/incubator-seata/pull/7138)] Remove org.eclipse.jetty dependency - [[#7139](https://github.com/apache/incubator-seata/pull/7139)] upgrade xstream to 1.4.21 - [[#7141](https://github.com/apache/incubator-seata/pull/7141)] remove unused dependencies - [[#7142](https://github.com/apache/incubator-seata/pull/7142)] upgrade commons-compress to 1.27.1 - [[#7149](https://github.com/apache/incubator-seata/pull/7149)] Fix abnormal character display issues in ./distribution/NOTICE.md - [[#7170](https://github.com/apache/incubator-seata/pull/7170)] Optimize seata client I/O processing by adjusting thread count - [[#7187](https://github.com/apache/incubator-seata/pull/7187)] Add dependency-check-maven plugin to detect potential vulnerabilities - [[#7179](https://github.com/apache/incubator-seata/pull/7179)] Use shared EventLoop for TM and RM clients to reduce thread overhead and improve performance - [[#7194](https://github.com/apache/incubator-seata/pull/7194)] automatically skipping proxy for datasource of type AbstractRoutingDataSource - [[#7215](https://github.com/apache/incubator-seata/pull/7215)] intercept non-leader write requests of the console trx operation - [[#7224](https://github.com/apache/incubator-seata/pull/7224)] optimize changeGlobalStatus interface of console - [[#7222](https://github.com/apache/incubator-seata/pull/7222)] in raft mode add the vgroup field to global lock - [[#7229](https://github.com/apache/incubator-seata/pull/7229)] update Notice - [[#7234](https://github.com/apache/incubator-seata/pull/7234)] discover the raft leader node from the naming server - [[#7242](https://github.com/apache/incubator-seata/pull/7242)] optimize: optimize ratelimit bucketTokenNumPerSecond config - [[#7259](https://github.com/apache/incubator-seata/pull/7259)] transfer the logback appender configuration to the yml configuration - [[#6998](https://github.com/apache/incubator-seata/pull/6998)] skip sending some request if client-version is v0 - [[#7250](https://github.com/apache/incubator-seata/pull/7250)] compatible for client_protocol_version > server_protocol_version - [[#7232](https://github.com/apache/incubator-seata/pull/7232)] add license header - [[#7260](https://github.com/apache/incubator-seata/pull/7260)] upgrade npmjs dependencies - [[#7284](https://github.com/apache/incubator-seata/pull/7284)] add dependency-check profile ### security: - [[#6069](https://github.com/apache/incubator-seata/pull/6069)] Upgrade Guava dependencies to fix security vulnerabilities - [[#6145](https://github.com/apache/incubator-seata/pull/6145)] upgrade jettison to 1.5.4 - [[#6144](https://github.com/apache/incubator-seata/pull/6144)] upgrade nacos client to 1.4.6 - [[#6147](https://github.com/apache/incubator-seata/pull/6147)] upgrade kafka-clients to 3.6.1 - [[#6338](https://github.com/apache/incubator-seata/pull/6338)] upgrade jackson version - [[#7201](https://github.com/apache/incubator-seata/pull/7202)] upgrade protobuf.version to 3.25.5 - [[#7214](https://github.com/apache/incubator-seata/pull/7214)] upgrade jackson to 2.18.3 - [[#7249](https://github.com/apache/incubator-seata/pull/7249)] upgrade axios to 1.8.2 ### test: - [[#7092](https://github.com/apache/incubator-seata/pull/7092)] fix the issue of NacosMockTest failing to run - [[#7098](https://github.com/apache/incubator-seata/pull/7098)] Add unit tests for the `seata-common` module - [[#7160](https://github.com/apache/incubator-seata/pull/7160)] Refactored tests in `LowerCaseLinkHashMapTest` to use parameterized unit testing - [[#7167](https://github.com/apache/incubator-seata/pull/7167)] Refactored tests in `DurationUtilTest` to simplify and use parameterized unit testing - [[#7189](https://github.com/apache/incubator-seata/pull/7189)] fix the runtime exception in the saga test case - [[#7197](https://github.com/apache/incubator-seata/pull/7197)] add some UT cases for config module - [[#7199](https://github.com/apache/incubator-seata/pull/7199)] add some UT cases for client processor - [[#7203](https://github.com/apache/incubator-seata/pull/7203)] Refactored tests in rm.datasource.sql.Druid and seata-sqlparser-druid module - [[#7221](https://github.com/apache/incubator-seata/pull/7221)] add UT for gRPC Encoder/Decode - [[#7227](https://github.com/apache/incubator-seata/pull/7227)] add mock test for seata-discovery-consul module - [[#7233][https://github.com/apache/incubator-seata/pull/7233]] add mock test for seata-discovery-etcd3 - [[#7243](https://github.com/apache/incubator-seata/pull/7243)] add unit test for seata-discovery-eureka - [[#7255](https://github.com/apache/incubator-seata/pull/7255)] more unit tests for Discovery-Eureka ### refactor: - [[#7145](https://github.com/apache/incubator-seata/pull/7145)] refactor the code that does not comply with license requirements - [[#7236](https://github.com/apache/incubator-seata/pull/7236)] changed folder name in org.apache.seata.server.storage.raft.sore from sore to store ### doc: - [[#7226](https://github.com/apache/incubator-seata/pull/7226)] write better docs for CONTRIBUTING.md Thanks to these contributors for their code commits. Please report an unintended omission. <!-- Please make sure your Github ID is in the list below --> - [slievrly](https://github.com/slievrly) - [lyl2008dsg](https://github.com/lyl2008dsg) - [remind](https://github.com/remind) - [lightClouds917](https://github.com/lightClouds917) - [GoodBoyCoder](https://github.com/GoodBoyCoder) - [PeppaO](https://github.com/PeppaO) - [xjlgod](https://github.com/xjlgod) - [funky-eyes](https://github.com/funky-eyes) - [MaoMaoandSnail](https://github.com/MaoMaoandSnail) - [psxjoy](https://github.com/psxjoy) - [xiaoxiangyeyu0](https://github.com/xiaoxiangyeyu0) - [wxrqforever](https://github.com/wxrqforever) - [xingfudeshi](https://github.com/xingfudeshi) - [YongGoose](https://github.com/YongGoose) - [Monilnarang](https://github.com/Monilnarang) - [iAmClever](https://github.com/iAmClever) - [s-ramyalakshmi](https://github.com/s-ramyalakshmi) - [YoWuwuuuw](https://github.com/YoWuwuuuw) - [mehedikhan72](https://github.com/mehedikhan72) - [AndrewSf](https://github.com/andrewseif) - [bigcyy](https://github.com/bigcyy) - [wjwang00](https://github.com/wjwang00) Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

V2.3.0v2.3.0预发布
? · 2025-03-03

Apache Seata(incubating) 2.3.0 Released. Apache Seata(incubating) is an easy-to-use, high-performance, open source distributed transaction solution. The version is updated as follows: ### feature: - [[#6904](https://github.com/apache/incubator-seata/pull/6904)] add fastjson2 serializer support - [[#6876](https://github.com/apache/incubator-seata/pull/6876)] support kingbase - [[#6881](https://github.com/apache/incubator-seata/pull/6881)] support grpc - [[#6864](https://github.com/apache/incubator-seata/pull/6864)] support shentong database - [[#6974](https://github.com/apache/incubator-seata/pull/6974)] support fastjson2 undolog parser - [[#6992](https://github.com/apache/incubator-seata/pull/6992)] support grpc serializer - [[#6973](https://github.com/apache/incubator-seata/pull/6973)] support saga annotation - [[#6926](https://github.com/apache/incubator-seata/pull/6926)] support ssl communication for raft nodes ### bugfix: - [[#6899](https://github.com/apache/incubator-seata/pull/6899)] fix file.conf read failed after package - [[#6890](https://github.com/apache/incubator-seata/pull/6890)] fix designerJson to standardJson: subStateMachine compensateState cannot be recognized - [[#6907](https://github.com/apache/incubator-seata/pull/6907)] fix the issue of Codecov not generating reports - [[#6923](https://github.com/apache/incubator-seata/pull/6923)] Enhance 401 Error Handling by Refreshing Token - [[#6925](https://github.com/apache/incubator-seata/pull/6925)] fix the issue in Raft model a follower's crash may lead to the continued use of expired tokens - [[#6932](https://github.com/apache/incubator-seata/pull/6932)] when enabling local transactions, the lock contention failure in file & raft mode does not exit, leading to a lingering lock - [[#6940](https://github.com/apache/incubator-seata/pull/6940)] Fix NacosRegistry lookup behavior transactionServiceGroup is empty causing NPE error - [[#6943](https://github.com/apache/incubator-seata/pull/6943)] fix the conversion error for `convertBranchSession` in concurrent environment. - [[#6948](https://github.com/apache/incubator-seata/pull/6948)] Fix the CI build issue on the ARM64 platform - [[#6947](https://github.com/apache/incubator-seata/pull/6947)] fix npe for nacos registry when look up address - [[#6984](https://github.com/apache/incubator-seata/pull/6984)] support building docker image on openjdk23 - [[#6994](https://github.com/apache/incubator-seata/pull/6994)] fix the problem of building undoLog exception when update join does not update data - [[#7005](https://github.com/apache/incubator-seata/pull/7005)] fix the Raft NPE issue caused by two-phase concurrency - [[#7010](https://github.com/apache/incubator-seata/pull/7010)] fix error while the "context" is key word in DM8 when delete undolog - [[#7022](https://github.com/apache/incubator-seata/pull/7022)] fix `store.mode` property in `application.raft.example.yml` - [[#7025](https://github.com/apache/incubator-seata/pull/7025)] fix vGroupMappingManager is NOT init - [[#7044](https://github.com/apache/incubator-seata/pull/7044)] fix tableMeta refresh after closed - [[#7117](https://github.com/apache/incubator-seata/pull/7117)] fix prefix: seata.server.raft.ssl should not be null - [[#7127](https://github.com/apache/incubator-seata/pull/7127)] fix branchType server decode error ### optimize: - [[#6826](https://github.com/apache/incubator-seata/pull/6826)] remove the branch registration operation of the XA read-only transaction - [[#6874](https://github.com/apache/incubator-seata/pull/6874)] modify the version to 2.3.0-SNAPSHOT - [[#6892](https://github.com/apache/incubator-seata/pull/6892)] upgrade npmjs version in console module - [[#6883](https://github.com/apache/incubator-seata/pull/6874)] remove write only object - [[#6892](https://github.com/apache/incubator-seata/pull/6892)] upgrade npmjs version - [[#6889](https://github.com/apache/incubator-seata/pull/6889)] Correct word spelling errors - [[#6898](https://github.com/apache/incubator-seata/pull/6898)] upgrade npmjs version in saga module - [[#6879](https://github.com/apache/incubator-seata/pull/6879)] fix log argument mismatch issue - [[#6902](https://github.com/apache/incubator-seata/pull/6900)] optimize readme docs - [[#6807](https://github.com/apache/incubator-seata/pull/6807)] splitting MergedWarpMessage enhances the server parallel processing capability - [[#6905](https://github.com/apache/incubator-seata/pull/6905)] remove incompatible licenses at build time - [[#6906](https://github.com/apache/incubator-seata/pull/6906)] h2 dependency adds test scope - [[#6911](https://github.com/apache/incubator-seata/pull/6911)] fix some typos in project - [[#6918](https://github.com/apache/incubator-seata/pull/6918)] Use the openjdk image of eclipse-temurin as the base image - [[#6938](https://github.com/apache/incubator-seata/pull/6938)] Update online chat information in README.md - [[#6950](https://github.com/apache/incubator-seata/pull/6950)] Remove JVM parameter app.id - [[#6959](https://github.com/apache/incubator-seata/pull/6959)] update the naming and description for the `seata-http-jakarta` module - [[#6991](https://github.com/apache/incubator-seata/pull/6991)] gRPC serialization default to Protobuf - [[#6993](https://github.com/apache/incubator-seata/pull/6993)] optimize transaction metrics - [[#6995](https://github.com/apache/incubator-seata/pull/6995)] upgrade outdate npmjs dependencies - [[#6996](https://github.com/apache/incubator-seata/pull/6996)] optimize lock release logic in AT transaction mode - [[#7023](https://github.com/apache/incubator-seata/pull/7023)] optimize fail fast, when all server not available - [[#7027](https://github.com/apache/incubator-seata/pull/7027)] raft mode maintains the reload logic consistent with the file - [[#6891](https://github.com/apache/incubator-seata/pull/6891)] add StateType Enum - [[#7040](https://github.com/apache/incubator-seata/pull/7040)] optimize the print info in ConfigurationFactory - [[#7046](https://github.com/apache/incubator-seata/pull/7046)] remove the dependency conflict for spring-webmvc - [[#7043](https://github.com/apache/incubator-seata/pull/7043)] finish rollback if sendResult/msg not found - [[#7051](https://github.com/apache/incubator-seata/pull/7051)] add namingserver jib - [[#7054](https://github.com/apache/incubator-seata/pull/7054)] In file mode when the lock cannot be acquired output the holder's xid - [[#7154](https://github.com/apache/incubator-seata/pull/7154)] remove unused dependencies - [[#7153](https://github.com/apache/incubator-seata/pull/7153)] upgrade tomcat-embed to 9.0.98 - [[#7152](https://github.com/apache/incubator-seata/pull/7152)] remove org.eclipse.jetty dependency - [[#7151](https://github.com/apache/incubator-seata/pull/7151)] upgrade xstream to 1.4.21 ### refactor: - [[#7017](https://github.com/apache/incubator-seata/pull/7017)] remove dependency on seata-server module - [[#7155](https://github.com/apache/incubator-seata/pull/7155)] refactor the code that does not comply with license requirements ### test: - [[#6869](https://github.com/apache/incubator-seata/pull/6869)] Add unit tests for the `seata-core` module - [[#6927](https://github.com/apache/incubator-seata/pull/6927)] Add unit tests for the `seata-rocketmq` module - [[#7018](https://github.com/apache/incubator-seata/pull/7018)] Add unit tests for the `seata-tm` module - [[#7030](https://github.com/apache/incubator-seata/pull/7030)] Add unit tests for the `seata-common` module Thanks to these contributors for their code commits. Please report an unintended omission. <!-- Please make sure your Github ID is in the list below --> - [slievrly](https://github.com/slievrly) - [GoodBoyCoder](https://github.com/GoodBoyCoder) - [funky-eyes](https://github.com/funky-eyes) - [dk2k](https://github.com/dk2k) - [MaoMaoandSnail](https://github.com/MaoMaoandSnail) - [yougecn](https://github.com/yougecn) - [arrrnold17](https://github.com/arrrnold17) - [xjlgod](https://github.com/xjlgod) - [PleaseGiveMeTheCoke](https://github.com/PleaseGiveMeTheCoke) - [dsomehan](https://github.com/dsomehan) - [psxjoy](https://github.com/psxjoy) - [xingfudeshi](https://github.com/xingfudeshi) - [o-jimin](https://github.com/o-jimin) - [lixingjia77](https://github.com/lixingjia77) - [whaon](https://github.com/whaon) - [YvCeung](https://github.com/YvCeung) - [jsbxyyx](https://github.com/jsbxyyx) - [lightClouds917](https://github.com/lightClouds917) - [Muluo-cyan](https://github.com/Muluo-cyan) - [yixia](https://github.com/wt-better) - [ChinaJeckXu](https://github.com/ChinaJeckXu) Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.