Download Latest Version V2.4.0 source code.tar.gz (4.2 MB)
Email in envelope

Get an email when there's a new version of Seata

Home / v2.4.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-06-11 12.1 kB
V2.4.0 source code.tar.gz 2025-06-11 4.2 MB
V2.4.0 source code.zip 2025-06-11 7.9 MB
Totals: 3 Items   12.1 MB 3

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:

  • [#7213] support kingbase XA mode
  • [#7024] support transaction control in console
  • [#7038] support fury serializer
  • [#6756] support ratelimit in seata-server
  • [#7114] support raft mode registry to namingserver
  • [#7157] support the console and namingserver combined deployment

bugfix:

  • [#7104] fix impl of supportsSourceType is not defined
  • [#7116] fix prefix: seata.server.raft.ssl should not be null
  • [#7112] 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] fix GlobalTransactionScanner.afterPropertiesSet need do scanner check
  • [#7135] treating a unique index conflict during rollback as a dirty write
  • [#7150] fix the time difference between the raft node and the follower node cannot synchronize data
  • [#7102] fix modify XA mode pre commit transaction from commit phase to before close phase
  • [#7188] fix missing branchType in BusinessActionContext
  • [#7219] fix NotSupportException can't be thrown out in some cases
  • [#7241] upgrade tomcat-embed-core to 9.0.99 to fix CVE-2025-24813
  • [#7272] 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] support 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
  • [#7037] support fury undolog parser
  • [#7069] Raft cluster mode supports address translation
  • [#7171] support EpollEventLoopGroup in client
  • [#7223] apply Spotless with Palantir java format
  • [#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
  • [#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
  • [#7226] write better docs for CONTRIBUTING.md

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

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.

Source: README.md, updated 2025-06-11