apache/incubator-seata
 Watch   
 Star   
 Fork   
23 days ago
incubator-seata

V2.6.0

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] Add http request filter for seata-server
  • [#7509] Reuse connection to merge branch transactions
  • [#7492] upgrade HTTP client in common module to support HTTP/2
  • [#7503] support fory serializer and fory undolog parser
  • [#7551] XAUtils add support for DM Database
  • [#7559] Introduce Cleanup API for TableMetaRefreshHolder Instance
  • [#7669] add support for Jackson serialization and deserialization of PostgreSQL array types
  • [#7664] support shentongdatabase XA mode
  • [#7675] support Oracle Batch Insert
  • [#7663] add Java 25 support in CI configuration files
  • [#7851] add support for managing transaction groups
  • [#7857] support displaying cluster information in the console
  • [#7826] Support HTTP/2 response handling for the Watch API in Server Raft mode
  • [#7863] Exclude namingserver and console module builds from build workflows with JDK versions less than 25
  • [#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] Automatically calculate the values for JVM parameters
  • [#7876] feature: add MCP custom configuration and authentication code
  • [#7878] console supports creation and modification of transaction groups for Raft clusters
  • [#7893] add global and branch session and lock management MCP tools

bugfix:

  • [#7471] Fix SerialArray equals() method for multi-dimensional array comparison in Phase 2 rollback
  • [#7482] Github Action workflow does not run the corresponding Kotlin test
  • [#7538] unify DmdbTimestamp comparison via UTC Instant to prevent rollback failure
  • [#7546] fix client spring version compatible
  • [#7505] prevent Netty I/O thread blocking by async channel release via reconnectExecutor
  • [#7563] Fix NPE when server-side filter is disabled and filter chain is null.
  • [#7570] Fix order() behavior in GlobalTransactionalInterceptorHandler to ensure correct sorting of invocation handlers
  • [#7596] Fixed the issue where deserialization failed when the xss filter obtained the default keyword
  • [#7613] Fixed the SQL error in the datetime format time query in the global lock query
  • [#7622] adjust the order of org.apache.seata.saga.rm.SagaResourceManage
  • [#7624] fix the compatibility issue of yml configuration files
  • [#7644] fix the compatibility issue of spotless when java 25
  • [#7662] ensure visibility of rm and The methods in MockTest are executed in order
  • [#7683] Override XABranchXid equals() and hashCode() to fix memory leak in mysql driver
  • [#7643] fix DM transaction rollback not using database auto-increment primary keys
  • [#7708] Use xaActive to determine whether xaResource needs to execute the end method
  • [#7747] undo log table name dynamic derivation
  • [#7749] fix error parsing application/x-www-form-urlencoded requests in Http2HttpHandler
  • [#7761] special handling is applied to the Byte[] type to ensure the correct primary key value
  • [#7771] Shentongdata xa mode should be hold the same connection
  • [#7785] fix the failure test
  • [#7796] fix the NPE on ConsulConfigurationTest method
  • [#7839] resolve TransactionAutoConfiguration compatibility with Spring Boot 4.x
  • [#7843] fix index type misjudgment in Dm/KingbaseTableMetaCache
  • [#7856] fix comma missing in package.json/min-document
  • [#7860] Fix the issue where delayed messages in RocketMQ transactions were silently ignored, now explicitly throwing an exception
  • [#7879] fix:correct server port and naming server port
  • [#7881] the vgroup_table in the SQL files of all databases should use a three-column unique constraint
  • [#7891] raft split-brain causes incorrect cluster information
  • [#7908] handle timestamp with time zone in postgresql primary key
  • [#7938] ensure the Jakarta-related package paths are correct.

optimize:

  • [#7460] Remove hardcoded port configuration in core module test classes
  • [#7478] optimize: remove client id metric
  • [#7557] upgrade some npmjs dependencies
  • [#7576] Add empty push protection for Configuration
  • [#7577] remove the 4MB size limit when decompressing with zstd
  • [#7578] zstd decompression is changed from jni to ZstdInputStream
  • [#7591] Optimize default xssFilter config retrieval when no explicit configuration is provided
  • [#7608] modify the parameter name in refreshToken method
  • [#7603] upgrade Apache Tomcat dependency from 9.0.106 to 9.0.108
  • [#7614] update README.md
  • [#7443] Replace @LocalTCC with @SagaTransactional in the saga annotation pattern
  • [#7645] simplifying the relevant transport.* configuration types
  • [#7668] correct variable name typo in DeflaterUtil
  • [#7673] bump @babel/runtime from ^7.26.10 to ^7.27.0
  • [#7689] optimize source release
  • [#7711] add fastjson support for serialization and deserialization of PostgreSQL array types
  • [#7722] optimize serializer type meaning
  • [#7739] optimize docker image building process
  • [#7741] supports publishing image based on JDK 25
  • [#7743] upgrade Apache Tomcat dependency from 9.0.108 to 9.0.109
  • [#7740] enhance HttpClient to support h2c
  • [#7744] upgrade Apache Tomcat dependency from 9.0.109 to 9.0.110
  • [#7751] remove unused dependency
  • [#7807] support mariadb 3.x
  • [#7781] highlight pmd-check log
  • [#7704] fix frontend security vulnerabilities
  • [#7710] fix some spell errors in code and comments
  • [#7721] optimize common module
  • [#7768] optimize docker image building process
  • [#7809] optimize README.md
  • [#7813] add decode buffer limit
  • [#7822] add the request and response objects in HTTP thread context
  • [#7829] optimize lz4 compressor
  • [#7864] automatically skip the compilation of console and namingserver modules in JDK<25
  • [#7867] optimize global transaction support non-private modifier methods
  • [#7868] change build_arm64-binary CI to JDK25 Version and runs on ubuntu-24.04-arm
  • [#7873] upgrade jacoco plugin version from 0.8.7 to 0.8.14 in order to adapt JDK25
  • [#7885] replace fury with fory
  • [#7884] upgrade tomcat-embed-core version to 11.0.10
  • [#7888] bump org.apache.tomcat.embed:tomcat-embed-core
  • [#7889] bump org.apache.tomcat.embed:tomcat-embed-core in /console
  • [#7894] optimize method and class names in the saga module
  • [#7905] format content
  • [#7909] add comments to the namingserver address configuration in console application file
  • [#7913] remove @author info
  • [#7931] pin the Spring version for namingserver and console
  • [#7942] update jib-maven-plugin version and increase parallel test execution limits
  • [#7935] add OkHttp and MockWebServer dependencies to resolve version conflicts

security:

  • [#7632] upgrade sha.js to version 2.4.12
  • [#7633] Upgrade cipher-base to version 1.0.6
  • [#7716] Update commons-lang to 3.18.0
  • [#7699] Upgrade axios to version 1.12.2
  • [#7845] upgrade node-forge to version 1.3.2 or later
  • [#7849] upgrade min-document to version 2.19.1 or later
  • [#7847] upgrade js-yaml to 3.14.2, 4.1.1 or later

test:

  • [#7635] fix JUnit test method access modifiers and annotations
  • [#7541] fix jakarta UT failed in jdk17+
  • [#7540] fix port of mock server
  • [#7580] fix the exception caused by the disorder of test case execution order
  • [#7584] deflake ConsulConfigurationTest#testInitSeataConfig with short await/retry to absorb CI timing delay
  • [#7610] Enable Nacos integration tests when nacosCaseEnabled is true
  • [#7672] Add unit tests for the seata-common module
  • [#7679] fix old version connect timeout
  • [#7638]Add unit tests for the seata-common module and remove a todo
  • [#7709] add UT for dm module
  • [#7725] add UT for compressor module
  • [#7718] add UT for config module
  • [#7723] add UT for fastjson2 to test PostgreSQL Array type
  • [#7731] add UT for rm.fence
  • [#7737] add UT for DefaultResourceManager and ClusterWatcherManager
  • [#7757] add UT for undo module
  • [#7763] add UT for RegistryNamingServerProperties and RegistryMetadataProperties
  • [#7764] add some UT for server/coordinator module
  • [#7777] add UT for seata-saga-statelang module
  • [#7776] add UT for XA module
  • [#7788] add some UT for rm-datasource module
  • [#7774] add some UT for server/console module
  • [#7767] add some UT for server/cluster module
  • [#7750] add some UT for server module
  • [#7733] add some UT for core module
  • [#7728] add some UT for compatible module
  • [#7727] add some UT for compatible module
  • [#7803] Fix flakiness in DataCompareUtilsTest caused by non-deterministic Map key iteration order.
  • [#7804] fix testXARollbackWithResourceLock() to ensure ci runs normally
  • [#7779] improve unit tests for RaftRegistryServiceImpl
  • [#7801] Fix non-deteriministic in JsonParserWrapTest#testToJSONString due to key order
  • [#7800] fix non-deterministic in StringUtilsTest#testToStringAndCycleDependency
  • [#7802] Fix non-deterministic in ConnectionContextProxyTest.
  • [#7808] Deflake multiple Insert Executor tests by fixing order-dependent primary key (PK) value comparison
  • [#7815] test: fix combine test to avoid failure due to ordering
  • [#7819] fix brittle RPC status test
  • [#7827] Fix non-deteriministic in TableMetaTest#testGetPrimaryKeyOnlyName
  • [#7859] Fix flaky tests in MetadataTest caused by shared state and brittle toString assertions
  • [#7858] Fix flakiness in HttpTest.convertParamOfJsonStringTest caused by non-deterministic Map iteration order
  • [#7874] add unit tests for DBType and RedisKeyConstants in core module
  • [#7900] add unit tests for ConnectionContext class
  • [#7901] add unit tests for core module (LockStatus, MessageType, ProtocolConstants)
  • [#7906] add test for Fury/Fory
  • [#7907] test: fixes CI errors caused by timing issues in ZkConfigurationTest
  • [#7912] test: add Antlr tests to improve test coverage
  • [#7933] oscar test cases should only run on Druid 1.2.5 and higher versions

refactor:

  • [#7615] Refactor DataSourceProxy
  • [#7617] Refactor Alibaba Dubbo and HSF
  • [#7688] Reactor extensions module
  • [#7719] Replace synchronized with ReentrantLock in AbstractNettyRemotingClient to support virtual threads
  • [#7789] rename GROUP_UPDATE_TIME to GROUP_UPDATE_TERM in ClusterWatcherManager
  • [#7698] refactor test module
  • [#7818] run the HTTP filter as a chain of responsibility
  • [#7904] Unify HTTP client utility to OkHttp3

doc:

  • [#7462] improve TM module Javadoc with comprehensive English documentation
  • [#7531] Optimize the Readme and change documents
  • [#7571] Add hyperlink to CONTRIBUTING.md in pull request template
  • [#7605] Add the type of registry as seata in application.yml
  • [#7625] Polish Javadoc for @EnableAutoDataSourceProxy and DefaultFailureHandlerImpl
  • [#7702] change "whether use" to "whether to use" for correct syntax.

Thanks to these contributors for their code commits. Please report an unintended omission.

Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

2025-07-21 21:13:41
incubator-seata

V2.5.0

Apache Seata(incubating) 2.5.0 Released.

Apache Seata(incubating) is an easy-to-use, high-performance, open source distributed transaction solution.

The version is updated as follows:

feature:

  • [#7261] enforce account initialization and disable default credentials
  • [#7451] seata-server supports the HTTP/2 protocol
  • [#7496] add oceanbase oracle support

bugfix:

  • [#7349] Resolve NullPointerException in EtcdRegistryServiceImplMockTest
  • [#7354] fix the drivers in the libs folder cannot be loaded
  • [#7356] fix codecov bug
  • [#7370] fix ISSUE_TEMPLATE not work
  • [#7397] Resolve NullPointer and port binding errors
  • [#7502] remove extra dots and keep the naming style consistent with other tables
  • [#7498] fix the class name whitelist check issue in fury deserialization
  • [#7504] fix load driver class in Hikari
  • [#7529] fix the server does not send heartbeats when the namingserver is used with other registries
  • [#7546] fix client spring version compatible

optimize:

  • [#7270] enhance ci configuration
  • [#7282] optimize unexpected NullPointerException in lookup method in FileRegistryServiceImpl class
  • [#7310] Optimize minor issues in the naming-server
  • [#7329] upgrade tomcat to 9.0.100
  • [#7346] replace tomcat with netty-http on the server
  • [#7344] raft mode performs transaction size check in advance
  • [#7343] upgrade tomcat to 9.0.104
  • [#7337] Add ChannelEventListener support to prevent memory leaks
  • [#7344] raft mode performs transaction size check in advance
  • [#7345] add empty check and duplicate type check to RegistryFactory
  • [#7350] optimize codecov.yml
  • [#7360] Update resource cleanup logic for channel disconnection
  • [#7363] Upgrade npmjs dependencies
  • [#7372] optimize license ignore
  • [#7375] optimize close() logic of discovery module
  • [#7388] optimize binary packaging directory structure
  • [#7412] Helm template adapted to the new version of seata
  • [#7414] Remove the unused defaultEventExecutorGroup from the NettyClientBootstrap
  • [#7415] Use threadPool to asynchronously process server http requests
  • [#7418] add jackson notice
  • [#7419] Add maven profile to support packaging source code
  • [#7428] pmd-check log as ERROR level
  • [#7430] Add support for parsing RequestParam annotation in netty-http-server
  • [#7432] conditionally include test modules using Maven profiles
  • [#7445] separate the license from the server and namingserver
  • [#7426] add some license header
  • [#7450] Apply Spotless to the entire codebase
  • [#7456] Druid SQL parser throws ParserException for unsupported REPLACE statement
  • [#7466] add contribution intention check box to issue template
  • [#7478] metrics add retry status
  • [#7483] change the value of retryDeadThreshold to 70 seconds
  • [#7488] upgrade tomcat to 9.0.106
  • [#7518] avoid using unstable API in ChannelEventHandlerIntegrationTest
  • [#7530] optimize 1.2.12 test-druid CI
  • [#7391] optimize: upgrade tomcat to 9.0.105
  • [#7390] optimize: optimize license header check
  • [#7389] optimize: fix some js resource missing license header
  • [#7536] optimize: optimize druid 1.2.12 ci

test:

  • [#7092] fix the issue of NacosMockTest failing to run
  • [#7098] Add unit tests for the seata-common module
  • [#7160] Refactored tests in LowerCaseLinkHashMapTest to use parameterized unit testing
  • [#7167] Refactored tests in DurationUtilTest to simplify and use parameterized unit testing
  • [#7189] fix the runtime exception in the saga test case
  • [#7197] add some UT cases for config module
  • [#7199] add some UT cases for client processor
  • [#7203] Refactored tests in rm.datasource.sql.Druid and seata-sqlparser-druid module
  • [#7221] add UT for gRPC Encoder/Decode
  • [#7227] add mock test for seata-discovery-consul module
  • [#7233] add mock test for seata-discovery-etcd3
  • [#7243] add unit test for seata-discovery-eureka
  • [#7255] more unit tests for Discovery-Eureka
  • [#7286] Simplified complex test testMsgSerialize in RaftSyncMessageTest by separating it into two tests
  • [#7287] Refactored testGetErrorMsgWithValidCodeReturnsExpectedMsg to use parameterized unit testing
  • [#7288] Refactored testSetCodeAndMsgUpdatesValuesCorrectly to use parameterized unit testing
  • [#7294] improved test testGetInsertParamsValue in SqlServerInsertRecognizerTest by splitting and parameterizing
  • [#7295] updated 3 tests in StringUtilsTest to use parameterized unit testing
  • [#7205] add UT for namingserver module
  • [#7359] merge submodule test reports
  • [#7423] add UT for org.apache.seata.spring.annotation.scannercheckers
  • [#7420] add UT for RemotingFactoryBeanParser class
  • [#7379] add UT for TccAnnotationProcessor class
  • [#7422] add UT for seata-spring-boot-starter module
  • [#7433] add UT for GlobalTransactionScanner class
  • [#7436] fix namingserver ut error
  • [#7435] Add common test config for dynamic server port assignment in tests
  • [#7442] add some UT for saga compatible
  • [#7457] improve unit test coverage of seata-rm moudle
  • [#7464] improve unit test coverage of seata-gRPC moudle
  • [#7468] add UT for SupportSqlWhereMethod class
  • [#7501] add unit test case for fury serializer
  • [#7528] fix UT failed in spring-boot-starter
  • [#7275] test: add UT for rm datasource module
  • [#7321] test: add test for apm-seata-skywalking-plugin module
  • [#7400] test: add test for SpringProxyUtils and OrderUtils
  • [#7385] optimize: remove HttpServletRequest from the watch API

refactor:

  • [#7315] Refactor log testing to use ListAppender for more accurate and efficient log capture
  • [#7461] Refactor server netty config changed to use CONFIG format

Thanks to these contributors for their code commits. Please report an unintended omission.

Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

2025-06-11 10:36:31
incubator-seata

V2.4.0

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] migrate the console to the naming server
  • [#7213] support kingbase xa mode
  • [#7024] add console transaction control

bugfix:

  • [#7104] fix impl of supportsSourceType is not defined
  • [#7116] fix prefix: seata.server.raft.ssl should not be null
  • [#7112] bugfix: remove the condition that IPv6 must start with fe80
  • [#7107] fix the issue of failing to parse annotations in TCC mode when the business object is a proxy object.
  • [#7124] bugfix: GlobalTransactionScanner.afterPropertiesSet need do scanner check
  • [#7135] treating a unique index conflict during rollback as a dirty write
  • [#7150] The time difference between the raft node and the follower node cannot synchronize data
  • [#7102] bugfix: modify XA mode pre commit transaction from commit phase to before close phase
  • [#7188] bugfix: Fix missing branchType in BusinessActionContext
  • [#7219] bugfix: NotSupportExc can't be thrown out in some cases
  • [#7241] upgrade tomcat-embed-core to 9.0.99 to fix CVE-2025-24813
  • [#7272] fix: fix transaction info not display
  • [#7277] Fix MySQL jdbc driver can't be found properly
  • [#7355] fix: the drivers in the lib folder cannot be loaded
  • [#7397] Resolve NullPointer and port binding errors

optimize:

  • [#6828] spring boot compatible with file.conf and registry.conf
  • [#7012] When the number of primary keys exceeds 1000, use union to concatenate the SQL
  • [#7075] fast fail when channel is null
  • [#7089] support instance registration to the registry center
  • [#7093] add a test workflow for JDK 21
  • [#7088] expand english abbreviations to full words
  • [#7064] remove unnecessary null checks
  • [#7130] Expose some keepalive-related configuration for Druid, Hikari, and DBCP
  • [#7131] Remove org.codehaus.jackson dependency
  • [#7134] upgrade tomcat-embed to 9.0.98
  • [#7138] Remove org.eclipse.jetty dependency
  • [#7139] upgrade xstream to 1.4.21
  • [#7141] remove unused dependencies
  • [#7142] upgrade commons-compress to 1.27.1
  • [#7149] Fix abnormal character display issues in ./distribution/NOTICE.md
  • [#7170] Optimize seata client I/O processing by adjusting thread count
  • [#7187] Add dependency-check-maven plugin to detect potential vulnerabilities
  • [#7179] Use shared EventLoop for TM and RM clients to reduce thread overhead and improve performance
  • [#7194] automatically skipping proxy for datasource of type AbstractRoutingDataSource
  • [#7215] intercept non-leader write requests of the console trx operation
  • [#7224] optimize changeGlobalStatus interface of console
  • [#7222] in raft mode add the vgroup field to global lock
  • [#7229] update Notice
  • [#7234] discover the raft leader node from the naming server
  • [#7242] optimize: optimize ratelimit bucketTokenNumPerSecond config
  • [#7259] transfer the logback appender configuration to the yml configuration
  • [#6998] skip sending some request if client-version is v0
  • [#7250] compatible for client_protocol_version > server_protocol_version
  • [#7242] optimize ratelimit bucketTokenNumPerSecond config
  • [#7232] add license header
  • [#7260] upgrade npmjs dependencies
  • [#7284] add dependency-check profile
  • [#7073] support virtual thread,replace the usages of synchronized with ReentrantLock
  • [#6756] feature: add single server rate limit
  • [#7037] support fury undolog parser
  • [#7069] Raft cluster mode supports address translation
  • [#7038] support fury serializer
  • [#7171] support EpollEventLoopGroup in client
  • [#7223] apply Spotless with Palantir java format
  • [#7114] support raft mode registry to namingserver
  • [#7133] Implement scheduled handling for end status transaction
  • [#7183] client discovers raft nodes through the naming server
  • [#7182] use the ip of the peerId as the host of the raft node
  • [#7181] raft implements domain name resolution and selects peerId
  • [#7283] optimize: use retry logic to end global trx
  • [#7287] fix some js resource missing license header
  • [#7392] upgrade npmjs dependencies
  • [#7394] optimize license header check
  • [#7395] upgrade tomcat to 9.0.105

security:

  • [#6069] Upgrade Guava dependencies to fix security vulnerabilities
  • [#6145] upgrade jettison to 1.5.4
  • [#6144] upgrade nacos client to 1.4.6
  • [#6147] upgrade kafka-clients to 3.6.1
  • [#6338] upgrade jackson version
  • [#7201] upgrade protobuf.version to 3.25.5
  • [#7214] upgrade jackson to 2.18.3
  • [#7249] upgrade axios to 1.8.2

test:

  • [#7092] fix the issue of NacosMockTest failing to run
  • [#7098] Add unit tests for the seata-common module
  • [#7160] Refactored tests in LowerCaseLinkHashMapTest to use parameterized unit testing
  • [#7167] Refactored tests in DurationUtilTest to simplify and use parameterized unit testing
  • [#7189] fix the runtime exception in the saga test case
  • [#7197] add some UT cases for config module
  • [#7199] add some UT cases for client processor
  • [#7203] Refactored tests in rm.datasource.sql.Druid and seata-sqlparser-druid module
  • [#7221] add UT for gRPC Encoder/Decode
  • [#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] add unit test for seata-discovery-eureka
  • [#7255] more unit tests for Discovery-Eureka [#7320] Refactor log testing to use ListAppender for more accurate and efficient log capture

refactor:

  • [#7145] refactor the code that does not comply with license requirements
  • [#7236] changed folder name in org.apache.seata.server.storage.raft.sore from sore to store

doc:

  • [#7226] write better docs for CONTRIBUTING.md

Thanks to these contributors for their code commits. Please report an unintended omission.

Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

2025-05-21 17:06:40
incubator-seata

V2.4.0

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] migrate the console to the naming server
  • [#7213] support kingbase xa mode
  • [#7024] add console transaction control

bugfix:

  • [#7104] fix impl of supportsSourceType is not defined
  • [#7116] fix prefix: seata.server.raft.ssl should not be null
  • [#7112] bugfix: remove the condition that IPv6 must start with fe80
  • [#7107] fix the issue of failing to parse annotations in TCC mode when the business object is a proxy object.
  • [#7124] bugfix: GlobalTransactionScanner.afterPropertiesSet need do scanner check
  • [#7135] treating a unique index conflict during rollback as a dirty write
  • [#7150] The time difference between the raft node and the follower node cannot synchronize data
  • [#7102] bugfix: modify XA mode pre commit transaction from commit phase to before close phase
  • [#7188] bugfix: Fix missing branchType in BusinessActionContext
  • [#7219] bugfix: NotSupportExc can't be thrown out in some cases
  • [#7241] upgrade tomcat-embed-core to 9.0.99 to fix CVE-2025-24813
  • [#7272] fix: fix transaction info not display
  • [#7277] Fix MySQL jdbc driver can't be found properly
  • [#7355] fix: the drivers in the lib folder cannot be loaded

optimize:

  • [#6828] spring boot compatible with file.conf and registry.conf
  • [#7012] When the number of primary keys exceeds 1000, use union to concatenate the SQL
  • [#7075] fast fail when channel is null
  • [#7089] support instance registration to the registry center
  • [#7093] add a test workflow for JDK 21
  • [#7088] expand english abbreviations to full words
  • [#7064] remove unnecessary null checks
  • [#7130] Expose some keepalive-related configuration for Druid, Hikari, and DBCP
  • [#7131] Remove org.codehaus.jackson dependency
  • [#7134] upgrade tomcat-embed to 9.0.98
  • [#7138] Remove org.eclipse.jetty dependency
  • [#7139] upgrade xstream to 1.4.21
  • [#7141] remove unused dependencies
  • [#7142] upgrade commons-compress to 1.27.1
  • [#7149] Fix abnormal character display issues in ./distribution/NOTICE.md
  • [#7170] Optimize seata client I/O processing by adjusting thread count
  • [#7187] Add dependency-check-maven plugin to detect potential vulnerabilities
  • [#7179] Use shared EventLoop for TM and RM clients to reduce thread overhead and improve performance
  • [#7194] automatically skipping proxy for datasource of type AbstractRoutingDataSource
  • [#7215] intercept non-leader write requests of the console trx operation
  • [#7224] optimize changeGlobalStatus interface of console
  • [#7222] in raft mode add the vgroup field to global lock
  • [#7229] update Notice
  • [#7234] discover the raft leader node from the naming server
  • [#7242] optimize: optimize ratelimit bucketTokenNumPerSecond config
  • [#7259] transfer the logback appender configuration to the yml configuration
  • [#6998] skip sending some request if client-version is v0
  • [#7250] compatible for client_protocol_version > server_protocol_version
  • [#7242] optimize ratelimit bucketTokenNumPerSecond config
  • [#7232] add license header
  • [#7260] upgrade npmjs dependencies
  • [#7284] add dependency-check profile
  • [#7073] support virtual thread,replace the usages of synchronized with ReentrantLock
  • [#6756] feature: add single server rate limit
  • [#7037] support fury undolog parser
  • [#7069] Raft cluster mode supports address translation
  • [#7038] support fury serializer
  • [#7171] support EpollEventLoopGroup in client
  • [#7223] apply Spotless with Palantir java format
  • [#7114] support raft mode registry to namingserver
  • [#7133] Implement scheduled handling for end status transaction
  • [#7183] client discovers raft nodes through the naming server
  • [#7182] use the ip of the peerId as the host of the raft node
  • [#7181] raft implements domain name resolution and selects peerId
  • [#7283] optimize: use retry logic to end global trx

security:

  • [#6069] Upgrade Guava dependencies to fix security vulnerabilities
  • [#6145] upgrade jettison to 1.5.4
  • [#6144] upgrade nacos client to 1.4.6
  • [#6147] upgrade kafka-clients to 3.6.1
  • [#6338] upgrade jackson version
  • [#7201] upgrade protobuf.version to 3.25.5
  • [#7214] upgrade jackson to 2.18.3
  • [#7249] upgrade axios to 1.8.2

test:

  • [#7092] fix the issue of NacosMockTest failing to run
  • [#7098] Add unit tests for the seata-common module
  • [#7160] Refactored tests in LowerCaseLinkHashMapTest to use parameterized unit testing
  • [#7167] Refactored tests in DurationUtilTest to simplify and use parameterized unit testing
  • [#7189] fix the runtime exception in the saga test case
  • [#7197] add some UT cases for config module
  • [#7199] add some UT cases for client processor
  • [#7203] Refactored tests in rm.datasource.sql.Druid and seata-sqlparser-druid module
  • [#7221] add UT for gRPC Encoder/Decode
  • [#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] add unit test for seata-discovery-eureka
  • [#7255] more unit tests for Discovery-Eureka

refactor:

  • [#7145] refactor the code that does not comply with license requirements
  • [#7236] changed folder name in org.apache.seata.server.storage.raft.sore from sore to store

doc:

  • [#7226] write better docs for CONTRIBUTING.md

Thanks to these contributors for their code commits. Please report an unintended omission.

Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

2025-05-17 12:39:04
incubator-seata

V2.4.0

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] migrate the console to the naming server
  • [#7213] support kingbase xa mode

bugfix:

  • [#7104] fix impl of supportsSourceType is not defined
  • [#7116] fix prefix: seata.server.raft.ssl should not be null
  • [#7112] bugfix: remove the condition that IPv6 must start with fe80
  • [#7107] fix the issue of failing to parse annotations in TCC mode when the business object is a proxy object.
  • [#7124] bugfix: GlobalTransactionScanner.afterPropertiesSet need do scanner check
  • [#7135] treating a unique index conflict during rollback as a dirty write
  • [#7150] The time difference between the raft node and the follower node cannot synchronize data
  • [#7102] bugfix: modify XA mode pre commit transaction from commit phase to before close phase
  • [#7188] bugfix: Fix missing branchType in BusinessActionContext
  • [#7219] bugfix: NotSupportExc can't be thrown out in some cases
  • [#7241] upgrade tomcat-embed-core to 9.0.99 to fix CVE-2025-24813
  • [#7272] fix: fix transaction info not display
  • [#7277] Fix MySQL jdbc driver can't be found properly

optimize:

  • [#6828] spring boot compatible with file.conf and registry.conf
  • [#7012] When the number of primary keys exceeds 1000, use union to concatenate the SQL
  • [#7075] fast fail when channel is null
  • [#7089] support instance registration to the registry center
  • [#7093] add a test workflow for JDK 21
  • [#7088] expand english abbreviations to full words
  • [#7064] remove unnecessary null checks
  • [#7130] Expose some keepalive-related configuration for Druid, Hikari, and DBCP
  • [#7131] Remove org.codehaus.jackson dependency
  • [#7134] upgrade tomcat-embed to 9.0.98
  • [#7138] Remove org.eclipse.jetty dependency
  • [#7139] upgrade xstream to 1.4.21
  • [#7141] remove unused dependencies
  • [#7142] upgrade commons-compress to 1.27.1
  • [#7149] Fix abnormal character display issues in ./distribution/NOTICE.md
  • [#7170] Optimize seata client I/O processing by adjusting thread count
  • [#7187] Add dependency-check-maven plugin to detect potential vulnerabilities
  • [#7179] Use shared EventLoop for TM and RM clients to reduce thread overhead and improve performance
  • [#7194] automatically skipping proxy for datasource of type AbstractRoutingDataSource
  • [#7215] intercept non-leader write requests of the console trx operation
  • [#7224] optimize changeGlobalStatus interface of console
  • [#7222] in raft mode add the vgroup field to global lock
  • [#7229] update Notice
  • [#7234] discover the raft leader node from the naming server
  • [#7242] optimize: optimize ratelimit bucketTokenNumPerSecond config
  • [#7259] transfer the logback appender configuration to the yml configuration
  • [#6998] skip sending some request if client-version is v0
  • [#7250] compatible for client_protocol_version > server_protocol_version
  • [#7242] optimize ratelimit bucketTokenNumPerSecond config
  • [#7232] add license header
  • [#7260] upgrade npmjs dependencies
  • [#7284] add dependency-check profile
  • [#7073] support virtual thread,replace the usages of synchronized with ReentrantLock
  • [#6756] feature: add single server rate limit
  • [#7037] support fury undolog parser
  • [#7069] Raft cluster mode supports address translation
  • [#7038] support fury serializer
  • [#7171] support EpollEventLoopGroup in client
  • [#7223] apply Spotless with Palantir java format
  • [#7114] support raft mode registry to namingserver
  • [#7133] Implement scheduled handling for end status transaction
  • [#7183] client discovers raft nodes through the naming server
  • [#7182] use the ip of the peerId as the host of the raft node
  • [#7181] raft implements domain name resolution and selects peerId
  • [#7283] optimize: use retry logic to end global trx

security:

  • [#6069] Upgrade Guava dependencies to fix security vulnerabilities
  • [#6145] upgrade jettison to 1.5.4
  • [#6144] upgrade nacos client to 1.4.6
  • [#6147] upgrade kafka-clients to 3.6.1
  • [#6338] upgrade jackson version
  • [#7201] upgrade protobuf.version to 3.25.5
  • [#7214] upgrade jackson to 2.18.3
  • [#7249] upgrade axios to 1.8.2

test:

  • [#7092] fix the issue of NacosMockTest failing to run
  • [#7098] Add unit tests for the seata-common module
  • [#7160] Refactored tests in LowerCaseLinkHashMapTest to use parameterized unit testing
  • [#7167] Refactored tests in DurationUtilTest to simplify and use parameterized unit testing
  • [#7189] fix the runtime exception in the saga test case
  • [#7197] add some UT cases for config module
  • [#7199] add some UT cases for client processor
  • [#7203] Refactored tests in rm.datasource.sql.Druid and seata-sqlparser-druid module
  • [#7221] add UT for gRPC Encoder/Decode
  • [#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] add unit test for seata-discovery-eureka
  • [#7255] more unit tests for Discovery-Eureka

refactor:

  • [#7145] refactor the code that does not comply with license requirements
  • [#7236] changed folder name in org.apache.seata.server.storage.raft.sore from sore to store

doc:

  • [#7226] write better docs for CONTRIBUTING.md

Thanks to these contributors for their code commits. Please report an unintended omission.

Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

2025-04-28 22:10:11
incubator-seata

V2.4.0

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] migrate the console to the naming server
  • [#7213] support kingbase xa mode

bugfix:

  • [#7104] fix impl of supportsSourceType is not defined
  • [#7116] fix prefix: seata.server.raft.ssl should not be null
  • [#7112] bugfix: remove the condition that IPv6 must start with fe80
  • [#7107] fix the issue of failing to parse annotations in TCC mode when the business object is a proxy object.
  • [#7124] bugfix: GlobalTransactionScanner.afterPropertiesSet need do scanner check
  • [#7135] treating a unique index conflict during rollback as a dirty write
  • [#7150] The time difference between the raft node and the follower node cannot synchronize data
  • [#7102] bugfix: modify XA mode pre commit transaction from commit phase to before close phase
  • [#7188] bugfix: Fix missing branchType in BusinessActionContext
  • [#7219] bugfix: NotSupportExc can't be thrown out in some cases
  • [#7241] upgrade tomcat-embed-core to 9.0.99 to fix CVE-2025-24813
  • [#7272] fix: fix transaction info not display
  • [#7277] Fix MySQL jdbc driver can't be found properly

optimize:

  • [#6828] spring boot compatible with file.conf and registry.conf
  • [#7012] When the number of primary keys exceeds 1000, use union to concatenate the SQL
  • [#7075] fast fail when channel is null
  • [#7089] support instance registration to the registry center
  • [#7093] add a test workflow for JDK 21
  • [#7088] expand english abbreviations to full words
  • [#7064] remove unnecessary null checks
  • [#7130] Expose some keepalive-related configuration for Druid, Hikari, and DBCP
  • [#7131] Remove org.codehaus.jackson dependency
  • [#7134] upgrade tomcat-embed to 9.0.98
  • [#7138] Remove org.eclipse.jetty dependency
  • [#7139] upgrade xstream to 1.4.21
  • [#7141] remove unused dependencies
  • [#7142] upgrade commons-compress to 1.27.1
  • [#7149] Fix abnormal character display issues in ./distribution/NOTICE.md
  • [#7170] Optimize seata client I/O processing by adjusting thread count
  • [#7187] Add dependency-check-maven plugin to detect potential vulnerabilities
  • [#7179] Use shared EventLoop for TM and RM clients to reduce thread overhead and improve performance
  • [#7194] automatically skipping proxy for datasource of type AbstractRoutingDataSource
  • [#7215] intercept non-leader write requests of the console trx operation
  • [#7224] optimize changeGlobalStatus interface of console
  • [#7222] in raft mode add the vgroup field to global lock
  • [#7229] update Notice
  • [#7234] discover the raft leader node from the naming server
  • [#7242] optimize: optimize ratelimit bucketTokenNumPerSecond config
  • [#7259] transfer the logback appender configuration to the yml configuration
  • [#6998] skip sending some request if client-version is v0
  • [#7250] compatible for client_protocol_version > server_protocol_version
  • [#7232] add license header
  • [#7260] upgrade npmjs dependencies
  • [#7284] add dependency-check profile
  • [#7114] support raft mode registry to namingserver
  • [#7133] Implement scheduled handling for end status transaction
  • [#7171] support EpollEventLoopGroup in client
  • [#7183] client discovers raft nodes through the naming server
  • [#7182] use the ip of the peerId as the host of the raft node
  • [#7181] raft implements domain name resolution and selects peerId
  • [#6756] feature: add single server rate limit
  • [#7073] support virtual thread,replace the usages of synchronized with ReentrantLock
  • [#7037] support fury undolog parser
  • [#7069] Raft cluster mode supports address translation
  • [#7038] support fury serializer

security:

  • [#6069] Upgrade Guava dependencies to fix security vulnerabilities
  • [#6145] upgrade jettison to 1.5.4
  • [#6144] upgrade nacos client to 1.4.6
  • [#6147] upgrade kafka-clients to 3.6.1
  • [#6338] upgrade jackson version
  • [#7201] upgrade protobuf.version to 3.25.5
  • [#7214] upgrade jackson to 2.18.3
  • [#7249] upgrade axios to 1.8.2

test:

  • [#7092] fix the issue of NacosMockTest failing to run
  • [#7098] Add unit tests for the seata-common module
  • [#7160] Refactored tests in LowerCaseLinkHashMapTest to use parameterized unit testing
  • [#7167] Refactored tests in DurationUtilTest to simplify and use parameterized unit testing
  • [#7189] fix the runtime exception in the saga test case
  • [#7197] add some UT cases for config module
  • [#7199] add some UT cases for client processor
  • [#7203] Refactored tests in rm.datasource.sql.Druid and seata-sqlparser-druid module
  • [#7221] add UT for gRPC Encoder/Decode
  • [#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] add unit test for seata-discovery-eureka
  • [#7255] more unit tests for Discovery-Eureka
  • [#7320] Refactor log testing to use ListAppender for more accurate and efficient log capture

refactor:

  • [#7145] refactor the code that does not comply with license requirements
  • [#7236] changed folder name in org.apache.seata.server.storage.raft.sore from sore to store

doc:

  • [#7226] write better docs for CONTRIBUTING.md

Thanks to these contributors for their code commits. Please report an unintended omission.

Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

2025-04-18 16:43:04
incubator-seata

V2.4.0

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] migrate the console to the naming server
  • [#7213] support kingbase xa mode

bugfix:

  • [#7104] fix impl of supportsSourceType is not defined
  • [#7116] fix prefix: seata.server.raft.ssl should not be null
  • [#7112] bugfix: remove the condition that IPv6 must start with fe80
  • [#7107] fix the issue of failing to parse annotations in TCC mode when the business object is a proxy object.
  • [#7124] bugfix: GlobalTransactionScanner.afterPropertiesSet need do scanner check
  • [#7135] treating a unique index conflict during rollback as a dirty write
  • [#7150] The time difference between the raft node and the follower node cannot synchronize data
  • [#7102] bugfix: modify XA mode pre commit transaction from commit phase to before close phase
  • [#7188] bugfix: Fix missing branchType in BusinessActionContext
  • [#7219] bugfix: NotSupportExc can't be thrown out in some cases
  • [#7241] upgrade tomcat-embed-core to 9.0.99 to fix CVE-2025-24813
  • [#7272] fix: fix transaction info not display
  • [#7277] Fix MySQL jdbc driver can't be found properly

optimize:

  • [#6828] spring boot compatible with file.conf and registry.conf
  • [#7012] When the number of primary keys exceeds 1000, use union to concatenate the SQL
  • [#7075] fast fail when channel is null
  • [#7089] support instance registration to the registry center
  • [#7093] add a test workflow for JDK 21
  • [#7088] expand english abbreviations to full words
  • [#7064] remove unnecessary null checks
  • [#7130] Expose some keepalive-related configuration for Druid, Hikari, and DBCP
  • [#7131] Remove org.codehaus.jackson dependency
  • [#7134] upgrade tomcat-embed to 9.0.98
  • [#7138] Remove org.eclipse.jetty dependency
  • [#7139] upgrade xstream to 1.4.21
  • [#7141] remove unused dependencies
  • [#7142] upgrade commons-compress to 1.27.1
  • [#7149] Fix abnormal character display issues in ./distribution/NOTICE.md
  • [#7170] Optimize seata client I/O processing by adjusting thread count
  • [#7187] Add dependency-check-maven plugin to detect potential vulnerabilities
  • [#7179] Use shared EventLoop for TM and RM clients to reduce thread overhead and improve performance
  • [#7194] automatically skipping proxy for datasource of type AbstractRoutingDataSource
  • [#7215] intercept non-leader write requests of the console trx operation
  • [#7224] optimize changeGlobalStatus interface of console
  • [#7222] in raft mode add the vgroup field to global lock
  • [#7229] update Notice
  • [#7234] discover the raft leader node from the naming server
  • [#7242] optimize: optimize ratelimit bucketTokenNumPerSecond config
  • [#7259] transfer the logback appender configuration to the yml configuration
  • [#6998] skip sending some request if client-version is v0
  • [#7250] compatible for client_protocol_version > server_protocol_version
  • [#7232] add license header
  • [#7260] upgrade npmjs dependencies
  • [#7284] add dependency-check profile
  • [#7114] support raft mode registry to namingserver
  • [#7133] Implement scheduled handling for end status transaction
  • [#7171] support EpollEventLoopGroup in client
  • [#7183] client discovers raft nodes through the naming server
  • [#7182] use the ip of the peerId as the host of the raft node
  • [#7181] raft implements domain name resolution and selects peerId
  • [#6756] feature: add single server rate limit
  • [#7073] support virtual thread,replace the usages of synchronized with ReentrantLock
  • [#7037] support fury undolog parser
  • [#7069] Raft cluster mode supports address translation
  • [#7038] support fury serializer

security:

  • [#6069] Upgrade Guava dependencies to fix security vulnerabilities
  • [#6145] upgrade jettison to 1.5.4
  • [#6144] upgrade nacos client to 1.4.6
  • [#6147] upgrade kafka-clients to 3.6.1
  • [#6338] upgrade jackson version
  • [#7201] upgrade protobuf.version to 3.25.5
  • [#7214] upgrade jackson to 2.18.3
  • [#7249] upgrade axios to 1.8.2

test:

  • [#7092] fix the issue of NacosMockTest failing to run
  • [#7098] Add unit tests for the seata-common module
  • [#7160] Refactored tests in LowerCaseLinkHashMapTest to use parameterized unit testing
  • [#7167] Refactored tests in DurationUtilTest to simplify and use parameterized unit testing
  • [#7189] fix the runtime exception in the saga test case
  • [#7197] add some UT cases for config module
  • [#7199] add some UT cases for client processor
  • [#7203] Refactored tests in rm.datasource.sql.Druid and seata-sqlparser-druid module
  • [#7221] add UT for gRPC Encoder/Decode
  • [#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] add unit test for seata-discovery-eureka
  • [#7255] more unit tests for Discovery-Eureka

refactor:

  • [#7145] refactor the code that does not comply with license requirements
  • [#7236] changed folder name in org.apache.seata.server.storage.raft.sore from sore to store

doc:

  • [#7226] write better docs for CONTRIBUTING.md

Thanks to these contributors for their code commits. Please report an unintended omission.

Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

2025-04-16 13:37:42
incubator-seata

V2.4.0

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] migrate the console to the naming server
  • [#7213] support kingbase xa mode

bugfix:

  • [#7104] fix impl of supportsSourceType is not defined
  • [#7116] fix prefix: seata.server.raft.ssl should not be null
  • [#7112] bugfix: remove the condition that IPv6 must start with fe80
  • [#7107] fix the issue of failing to parse annotations in TCC mode when the business object is a proxy object.
  • [#7124] bugfix: GlobalTransactionScanner.afterPropertiesSet need do scanner check
  • [#7135] treating a unique index conflict during rollback as a dirty write
  • [#7150] The time difference between the raft node and the follower node cannot synchronize data
  • [#7102] bugfix: modify XA mode pre commit transaction from commit phase to before close phase
  • [#7188] bugfix: Fix missing branchType in BusinessActionContext
  • [#7219] bugfix: NotSupportExc can't be thrown out in some cases
  • [#7241] upgrade tomcat-embed-core to 9.0.99 to fix CVE-2025-24813
  • [#7272] fix: fix transaction info not display
  • [#7277] Fix MySQL jdbc driver can't be found properly

optimize:

  • [#6828] spring boot compatible with file.conf and registry.conf
  • [#7012] When the number of primary keys exceeds 1000, use union to concatenate the SQL
  • [#7075] fast fail when channel is null
  • [#7089] support instance registration to the registry center
  • [#7093] add a test workflow for JDK 21
  • [#7088] expand english abbreviations to full words
  • [#7064] remove unnecessary null checks
  • [#7130] Expose some keepalive-related configuration for Druid, Hikari, and DBCP
  • [#7131] Remove org.codehaus.jackson dependency
  • [#7134] upgrade tomcat-embed to 9.0.98
  • [#7138] Remove org.eclipse.jetty dependency
  • [#7139] upgrade xstream to 1.4.21
  • [#7141] remove unused dependencies
  • [#7142] upgrade commons-compress to 1.27.1
  • [#7149] Fix abnormal character display issues in ./distribution/NOTICE.md
  • [#7170] Optimize seata client I/O processing by adjusting thread count
  • [#7187] Add dependency-check-maven plugin to detect potential vulnerabilities
  • [#7179] Use shared EventLoop for TM and RM clients to reduce thread overhead and improve performance
  • [#7194] automatically skipping proxy for datasource of type AbstractRoutingDataSource
  • [#7215] intercept non-leader write requests of the console trx operation
  • [#7224] optimize changeGlobalStatus interface of console
  • [#7222] in raft mode add the vgroup field to global lock
  • [#7229] update Notice
  • [#7234] discover the raft leader node from the naming server
  • [#7242] optimize: optimize ratelimit bucketTokenNumPerSecond config
  • [#7259] transfer the logback appender configuration to the yml configuration
  • [#6998] skip sending some request if client-version is v0
  • [#7250] compatible for client_protocol_version > server_protocol_version
  • [#7232] add license header
  • [#7260] upgrade npmjs dependencies
  • [#7284] add dependency-check profile
  • [#7114] support raft mode registry to namingserver
  • [#7133] Implement scheduled handling for end status transaction
  • [#7171] support EpollEventLoopGroup in client
  • [#7183] client discovers raft nodes through the naming server
  • [#7182] use the ip of the peerId as the host of the raft node
  • [#7181] raft implements domain name resolution and selects peerId
  • [#6756] feature: add single server rate limit
  • [#7073] support virtual thread,replace the usages of synchronized with ReentrantLock
  • [#7037] support fury undolog parser
  • [#7069] Raft cluster mode supports address translation
  • [#7038] support fury serializer

security:

  • [#6069] Upgrade Guava dependencies to fix security vulnerabilities
  • [#6145] upgrade jettison to 1.5.4
  • [#6144] upgrade nacos client to 1.4.6
  • [#6147] upgrade kafka-clients to 3.6.1
  • [#6338] upgrade jackson version
  • [#7201] upgrade protobuf.version to 3.25.5
  • [#7214] upgrade jackson to 2.18.3
  • [#7249] upgrade axios to 1.8.2

test:

  • [#7092] fix the issue of NacosMockTest failing to run
  • [#7098] Add unit tests for the seata-common module
  • [#7160] Refactored tests in LowerCaseLinkHashMapTest to use parameterized unit testing
  • [#7167] Refactored tests in DurationUtilTest to simplify and use parameterized unit testing
  • [#7189] fix the runtime exception in the saga test case
  • [#7197] add some UT cases for config module
  • [#7199] add some UT cases for client processor
  • [#7203] Refactored tests in rm.datasource.sql.Druid and seata-sqlparser-druid module
  • [#7221] add UT for gRPC Encoder/Decode
  • [#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] add unit test for seata-discovery-eureka
  • [#7255] more unit tests for Discovery-Eureka

refactor:

  • [#7145] refactor the code that does not comply with license requirements
  • [#7236] changed folder name in org.apache.seata.server.storage.raft.sore from sore to store

doc:

  • [#7226] write better docs for CONTRIBUTING.md

Thanks to these contributors for their code commits. Please report an unintended omission.

Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

2025-04-13 00:10:06
incubator-seata

V2.4.0

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] feature: add single server rate limit
  • [#7073] support virtual thread,replace the usages of synchronized with ReentrantLock
  • [#7037] support fury undolog parser
  • [#7069] Raft cluster mode supports address translation
  • [#7038] support fury serializer
  • [#7157] migrate the console to the naming server
  • [#7114] support raft mode registry to namingserver
  • [#7133] Implement scheduled handling for end status transaction
  • [#7171] support EpollEventLoopGroup in client
  • [#7183] client discovers raft nodes through the naming server
  • [#7182] use the ip of the peerId as the host of the raft node
  • [#7181] raft implements domain name resolution and selects peerId
  • [#7213] support kingbase xa mode

bugfix:

  • [#7104] fix impl of supportsSourceType is not defined
  • [#7116] fix prefix: seata.server.raft.ssl should not be null
  • [#7112] bugfix: remove the condition that IPv6 must start with fe80
  • [#7107] fix the issue of failing to parse annotations in TCC mode when the business object is a proxy object.
  • [#7124] bugfix: GlobalTransactionScanner.afterPropertiesSet need do scanner check
  • [#7135] treating a unique index conflict during rollback as a dirty write
  • [#7150] The time difference between the raft node and the follower node cannot synchronize data
  • [#7102] bugfix: modify XA mode pre commit transaction from commit phase to before close phase
  • [#7188] bugfix: Fix missing branchType in BusinessActionContext
  • [#7219] bugfix: NotSupportExc can't be thrown out in some cases
  • [#7241] upgrade tomcat-embed-core to 9.0.99 to fix CVE-2025-24813
  • [#7272] fix: fix transaction info not display
  • [#7277] Fix MySQL jdbc driver can't be found properly

optimize:

  • [#6828] spring boot compatible with file.conf and registry.conf
  • [#7012] When the number of primary keys exceeds 1000, use union to concatenate the SQL
  • [#7075] fast fail when channel is null
  • [#7089] support instance registration to the registry center
  • [#7093] add a test workflow for JDK 21
  • [#7088] expand english abbreviations to full words
  • [#7064] remove unnecessary null checks
  • [#7130] Expose some keepalive-related configuration for Druid, Hikari, and DBCP
  • [#7131] Remove org.codehaus.jackson dependency
  • [#7134] upgrade tomcat-embed to 9.0.98
  • [#7138] Remove org.eclipse.jetty dependency
  • [#7139] upgrade xstream to 1.4.21
  • [#7141] remove unused dependencies
  • [#7142] upgrade commons-compress to 1.27.1
  • [#7149] Fix abnormal character display issues in ./distribution/NOTICE.md
  • [#7170] Optimize seata client I/O processing by adjusting thread count
  • [#7187] Add dependency-check-maven plugin to detect potential vulnerabilities
  • [#7179] Use shared EventLoop for TM and RM clients to reduce thread overhead and improve performance
  • [#7194] automatically skipping proxy for datasource of type AbstractRoutingDataSource
  • [#7215] intercept non-leader write requests of the console trx operation
  • [#7224] optimize changeGlobalStatus interface of console
  • [#7222] in raft mode add the vgroup field to global lock
  • [#7229] update Notice
  • [#7234] discover the raft leader node from the naming server
  • [#7242] optimize: optimize ratelimit bucketTokenNumPerSecond config
  • [#7259] transfer the logback appender configuration to the yml configuration
  • [#6998] skip sending some request if client-version is v0
  • [#7250] compatible for client_protocol_version > server_protocol_version
  • [#7232] add license header
  • [#7260] upgrade npmjs dependencies
  • [#7284] add dependency-check profile

security:

  • [#6069] Upgrade Guava dependencies to fix security vulnerabilities
  • [#6145] upgrade jettison to 1.5.4
  • [#6144] upgrade nacos client to 1.4.6
  • [#6147] upgrade kafka-clients to 3.6.1
  • [#6338] upgrade jackson version
  • [#7201] upgrade protobuf.version to 3.25.5
  • [#7214] upgrade jackson to 2.18.3
  • [#7249] upgrade axios to 1.8.2

test:

  • [#7092] fix the issue of NacosMockTest failing to run
  • [#7098] Add unit tests for the seata-common module
  • [#7160] Refactored tests in LowerCaseLinkHashMapTest to use parameterized unit testing
  • [#7167] Refactored tests in DurationUtilTest to simplify and use parameterized unit testing
  • [#7189] fix the runtime exception in the saga test case
  • [#7197] add some UT cases for config module
  • [#7199] add some UT cases for client processor
  • [#7203] Refactored tests in rm.datasource.sql.Druid and seata-sqlparser-druid module
  • [#7221] add UT for gRPC Encoder/Decode
  • [#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] add unit test for seata-discovery-eureka
  • [#7255] more unit tests for Discovery-Eureka

refactor:

  • [#7145] refactor the code that does not comply with license requirements
  • [#7236] changed folder name in org.apache.seata.server.storage.raft.sore from sore to store

doc:

  • [#7226] write better docs for CONTRIBUTING.md

Thanks to these contributors for their code commits. Please report an unintended omission.

Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.

2025-02-26 21:01:03
incubator-seata

V2.3.0

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] add fastjson2 serializer support
  • [#6876] support kingbase
  • [#6881] support grpc
  • [#6864] support shentong database
  • [#6974] support fastjson2 undolog parser
  • [#6992] support grpc serializer
  • [#6973] support saga annotation
  • [#6926] support ssl communication for raft nodes

bugfix:

  • [#6899] fix file.conf read failed after package
  • [#6890] fix designerJson to standardJson: subStateMachine compensateState cannot be recognized
  • [#6907] fix the issue of Codecov not generating reports
  • [#6923] Enhance 401 Error Handling by Refreshing Token
  • [#6925] fix the issue in Raft model a follower's crash may lead to the continued use of expired tokens
  • [#6932] when enabling local transactions, the lock contention failure in file & raft mode does not exit, leading to a lingering lock
  • [#6940] Fix NacosRegistry lookup behavior transactionServiceGroup is empty causing NPE error
  • [#6943] fix the conversion error for convertBranchSession in concurrent environment.
  • [#6948] Fix the CI build issue on the ARM64 platform
  • [#6947] fix npe for nacos registry when look up address
  • [#6984] support building docker image on openjdk23
  • [#6994] fix the problem of building undoLog exception when update join does not update data
  • [#7005] fix the Raft NPE issue caused by two-phase concurrency
  • [#7010] fix error while the "context" is key word in DM8 when delete undolog
  • [#7022] fix store.mode property in application.raft.example.yml
  • [#7025] fix vGroupMappingManager is NOT init
  • [#7044] fix tableMeta refresh after closed
  • [#7117] fix prefix: seata.server.raft.ssl should not be null
  • [#7127] fix branchType server decode error

optimize:

  • [#6826] remove the branch registration operation of the XA read-only transaction
  • [#6874] modify the version to 2.3.0-SNAPSHOT
  • [#6892] upgrade npmjs version in console module
  • [#6883] remove write only object
  • [#6892] upgrade npmjs version
  • [#6889] Correct word spelling errors
  • [#6898] upgrade npmjs version in saga module
  • [#6879] fix log argument mismatch issue
  • [#6902] optimize readme docs
  • [#6807] splitting MergedWarpMessage enhances the server parallel processing capability
  • [#6905] remove incompatible licenses at build time
  • [#6906] h2 dependency adds test scope
  • [#6911] fix some typos in project
  • [#6918] Use the openjdk image of eclipse-temurin as the base image
  • [#6938] Update online chat information in README.md
  • [#6950] Remove JVM parameter app.id
  • [#6959] update the naming and description for the seata-http-jakarta module
  • [#6991] gRPC serialization default to Protobuf
  • [#6993] optimize transaction metrics
  • [#6995] upgrade outdate npmjs dependencies
  • [#6996] optimize lock release logic in AT transaction mode
  • [#7023] optimize fail fast, when all server not available
  • [#7027] raft mode maintains the reload logic consistent with the file
  • [#6891] add StateType Enum
  • [#7040] optimize the print info in ConfigurationFactory
  • [#7046] remove the dependency conflict for spring-webmvc
  • [#7043] finish rollback if sendResult/msg not found
  • [#7051] add namingserver jib
  • [#7054] In file mode when the lock cannot be acquired output the holder's xid
  • [#7154] remove unused dependencies
  • [#7153] upgrade tomcat-embed to 9.0.98
  • [#7152] remove org.eclipse.jetty dependency
  • [#7151] upgrade xstream to 1.4.21

refactor:

  • [#7017] remove dependency on seata-server module
  • [#7155] refactor the code that does not comply with license requirements

test:

  • [#6869] Add unit tests for the seata-core module
  • [#6927] Add unit tests for the seata-rocketmq module
  • [#7018] Add unit tests for the seata-tm module
  • [#7030] Add unit tests for the seata-common module

Thanks to these contributors for their code commits. Please report an unintended omission.

Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.