Changelog History
Page 1
-
v2.6.0 Changes
January 28, 2026π 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
- 0οΈβ£ [#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.
- [#7959] fix consoleApiService bean that could not be found
- [#7966] fix different element order in two lists causes failure to set the index as primary key index
β‘οΈ 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...
-
v2.5.0 Changes
July 21, 2025π 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:
- 0οΈβ£ [#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-commonmodule - π¨ [#7160] Refactored tests in
LowerCaseLinkHashMapTestto use parameterized unit testing - π¨ [#7167] Refactored tests in
DurationUtilTestto 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](https...
-
v2.4.0 Changes
June 11, 2025π 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-commonmodule - π¨ [#7160] Refactored tests in
LowerCaseLinkHashMapTestto use parameterized unit testing - π¨ [#7167] Refactored tests in
DurationUtilTestto 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](https://github.com/...
-
v2.3.0 Changes
March 03, 2025π 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
convertBranchSessionin
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.modeproperty
inapplication.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
theseata-http-jakartamodule - 0οΈβ£ [#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-coremodule - β
[#6927] Add unit tests for the
seata-rocketmqmodule - β
[#7018] Add unit tests for the
seata-tmmodule - β
[#7030] Add unit tests for the
seata-commonmodule
Thanks to these contributors for their code commits. Please report an unintended omission.
- slievrly
- GoodBoyCoder
- funky-eyes
- dk2k
- MaoMaoandSnail
- yougecn
- arrrnold17
- xjlgod
- PleaseGiveMeTheCoke
- dsomehan
- psxjoy
- xingfudeshi
- o-jimin
- lixingjia77
- whaon
- YvCeung
- jsbxyyx
- lightClouds917
- Muluo-cyan
- π yixia
- ChinaJeckXu
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.
-
v2.2.0 Changes
September 20, 2024π Apache Seata(incubating) 2.2.0 Released.
π Apache Seata(incubating) is an easy-to-use, high-performance, open source distributed transaction solution.
Download
https://seata.apache.org/download/seata-serverβ‘οΈ The version is updated as follows:
π feature:
- π [#6536] support naming server client
- π [#6226] multi-version seata protocol support
- π [#6537] support Namingserver
- [#6538] Integration of naming server on the Seata server side
- [#6766] add TCC three-phase hooks
π bugfix:
- [#6592] fix @async annotation not working in ClusterWatcherManager
- [#6624] fix Alibaba Dubbo convert error
- [#6627] fix the issue of xaEnded not being reset
- [#6626] fix hsf ConsumerModel convert error
- [#6816] Fix NPE when getting branchType in a non-global transaction context
- [#6642] codecov token not found
- β± [#6661] fix
tableMetacache scheduled refresh issue - β‘οΈ [#6486] fix mysql undo log update sql data more than max allowed packet
- [#6668] thread safety issue when adding and removing instances
- [#6678] fix the same record has different lowkeys due to mixed case of table names yesterday
- [#6697] v0 ByteBuf should not decode by super class
- [#6707] fix readonly branch commit errors in Oracle XA transactions
- βͺ [#6711] fix dameng rollback info un compress fail
- [#6714] fix dameng delete undo fail
- βͺ [#6511] fix the failure of rollbacking back of the delete SQL at AT mode when using SQLServer
- π [#6701] fix support serialization for dm.jdbc.driver.DmdbTimestamp
- [#6757] the bug where multiple nodes cannot be retrieved from the naming server
- [#6769] fix tcc fence deadLock
- [#6778] fix namingserver node term
- π [#6765] fix MySQL driver loading by replacing custom classloader with system classloader for better compatibility and simplified process
- [#6781] the issue where the TC occasionally fails to go offline from the NamingServer
- [#6785] fix prometheus fail to return seata metrics data when using Nacos
- [#6797] fall back to any of available cluster address when query cluster address is empty
- π» [#6800] make exception message generic for all database drivers
- π [#6759] fix the error of active refresh failure of cross-database table metadata
- π [#6812] bugfix: change group and node offline status are not pushed in real time
- π [#6817] bugfix: fix namingserver changVgroup failed
- π³ [#6820] Fix file path error in the Dockerfile
- β± [#6825] Fix the issue of XA mode transaction timeout and inability to roll back in Postgres
- π [#6833] SQLIntegrityConstraintViolationException capture incorrectly when inserting a globallock
- [#6835] Fix the issue of missing request body of post method in HttpClientUtil
- [#6845] fix rocksDB opens the same file multiple times
- [#6840] Fix the issue of unsafe deserialization in ProcessorYaml.java
- [#6843] Fix 403 error when sending a POST request from the console
- [#6850] raft mode is backward compatible with version 2.0
- π [#6855] after scaling down a Raft cluster, the metadata still contains the removed node
- π [#6859] remove duplicated dependency in pom
β‘οΈ optimize:
- βͺ [#6499] split the task thread pool for committing and rollbacking statuses
- β‘οΈ [#6208] optimize : load SeataSerializer by version
- [#6209] Eliminate RpcMessage and Encoder/Decoder dependencies
- [#6634] select channel handles based on protocol versions
- β¬οΈ [#6523] upgrade alibaba/druid version to 1.2.20
- π§ [#6566] Add support for configuring exposeProxy in GlobalTransactionScanner
- β‘οΈ [#6534] optimize: send async response
- [#6640] modify codecov config
- [#6640] add license header
- [#6666] add ExceptionUtil class for unwarp error msg
- π¦ [#6654] add Namingserver package module
- β‘οΈ [#6667] optimize Namingserver log output
- [#6687] delete static code built on the frontend
- π [#6700] remove sdk version checking
- π [#6727] deserialize performance optimize
- π [#6732] add the default console and security config on application.example.yml and application.raft.example.yml
- [#6651] add license header for proto file
- β‘οΈ [#6653] optimize multiple licenses and remove license urls
- β‘οΈ [#6655] update front-end license
- [#6652] add license header for spring config file
- β‘οΈ [#6674] update source license
- [#6650] add license header for SPI file
- β¬οΈ [#6741] upgrade tomcat-embed-core to 9.0.90
- β¬οΈ [#6742] upgrade npmjs version in console
- β¬οΈ [#6743] upgrade npmjs version in saga
- β‘οΈ [#6746] optimize compatible dependencies
- π [#6745] fix node-gyp build error on arm64 and macos
- β‘οΈ [#6749] optimize WebSecurityConfig csrf
- β‘οΈ [#6748] optimize ConsistentHashLoadBalance Algorithm
- β‘οΈ [#6747] optimize fastjson deserialization
- β‘οΈ [#6755] optimize namingserver code logic
- β‘οΈ [#6763] optimize NacosConfiguration singleton reload
- β‘οΈ [#6761] optimize the namingserver code to improve readability
- [#6768] report the tcc fence transaction isolation level
- [#6770] Automatic deletion of namingserver vgroup through Caffeine map
- β‘οΈ [#6780] optimize the reflection operation in class
SerializerServiceLoader - β¬οΈ [#6784] upgrade axios to 1.7.4
- β¬οΈ [#6787] upgrade elliptic to 6.5.7
- [#6783] rename the server naming/v1 api to vgroup/v1
- [#6793] fix npmjs conflicts
- β‘οΈ [#6793] optimize the initialization logic for server meta
- β‘οΈ [#6794] optimize NacosMockTest UT case
- β‘οΈ [#6806] optimize
tableMetacache scheduled refre...
-
v2.1.0 Changes
August 05, 2024π Apache Seata(incubating) 2.1.0 Released.
π Apache Seata(incubating) is an easy-to-use, high-performance, open source distributed transaction solution.
Download
https://seata.apache.org/download/seata-server
β‘οΈ The version is updated as follows:
π feature:
- π [#6230] support RocketMQ transaction message
- [#6370] saga is decoupled from Spring dependencies
- π€‘ [#6205] support mock server
- π¨ [#6169] full support for states in the refactored state machine designer
- π [#6326] support raft node metadata sync
- π [#6415] support autolayout in seata-statemachine-designer
π bugfix:
- π» [#6090] fix the TCC aspect exception handling process, do not wrapping the internal call exceptions
- β‘οΈ [#6075] fix missing table alias for on update column of image SQL
- [#6086] fix oracle column alias cannot find
- [#6085] fix jdk9+ compile error
- [#6101] fix the consumer can't generate tcc proxy in dubbo 3.x version
- βͺ [#6077] fix could not rollback when table with multiple primary
- [#6121] fix the branch transaction order error when rolling back
- [#6182] fix guava-32.0.0-jre.jar zip file is empty in ci
- [#6196] fix asf config file format error
- [#6143] gracefully shut down the server
- π§ [#6204] fix the problem that The incorrect configuration needs to be fixed
- [#6248] fix JDBC resultSet, statement, connection closing order
- π [#6261] AT mode support the URL of a PGSQL cluster
- π§ [#6256] fix raft-discovery cannot read registry configuration for seata-all sdk
- [#6232] convert to utf8mb4 if mysql column is json type
- β [#6278] fix ProtocolV1SerializerTest failed
- π [#6324] fix Parse protocol file failed
- π [#6331] fixed the problem that TCC nested transactions cannot add TwoPhaseBusinessAction and GlobalTransactional annotations at the same time
- [#6354] fix dynamic degradation does not work properly
- π³ [#6363] fix known problems of docker image
- [#6372] fix initializing the sql file postgresql.sql index name conflict
- π» [#6380] fix sql exception when checking for the existence of the UNDO_LOG table on SQL server
- [#6385] fix the bug where Role.participant does not execute hooks but clears them.
- [#6465] fix(6257): fix saga mode replay context lost start in 2.x
- π [#6469] fix Error in insert sql of [lock_table] data table to sqlserver database
- βͺ [#6496] fix XA did not rollback but close when executing a long-running SQL(or deadlock SQL)
- [#6493] fix SQLServer-related SQL error in seata server when using database of SQLServer
- [#6497] fix tcc properties class when autoconfigure
- π [#6554] fix unfixed serializer
- [#6555] businessActionContext is compatible with io seata
- [#6553] fix saga "cannot matching status"
- [#6575] fix io.seata ActionInterceptorHandler use org.apache.seata BusinessActionContextParameter
- [#6675] fix Alibaba Dubbo convert error
- [#6676] fix hsf ConsumerModel convert error
β‘οΈ optimize:
- [#6031] add a check for the existence of the undolog table
- π [#6089] modify the semantics of RaftServerFactory and remove unnecessary singleton
- [#4473] rm appdata size limit
- [#6071] add git infos to jars
- [#6042] add secure authentication to interfaces in ClusterController
- β‘οΈ [#6091] Optimizing the method of obtaining the tc address during raft authentication
- π [#6098] optimize the retry logic in the acquireMetadata method
- π [#6034] using namespace from command line when deployment with helm charts
- π [#6116] remove lgtm.com stuff
- π [#6148] support Nacos ram role authentication
- β¬οΈ [#6145] upgrade jettison to 1.5.4
- β‘οΈ [#6164] redis registry push empty protection optimize
- [#6174] add ASF basic config
- β‘οΈ [#6181] update contributing doc
- π [#6179] remove @author info
- β‘οΈ [#6176] update source header
- β‘οΈ [#6178] update the header of Apache License
- β‘οΈ [#6186] update README.md(update mailing list and repository urls)
- β‘οΈ [#6184] update NOTICE file
- π [#6192] remove the useless file
- π [#6194] fix asf.yaml parse error
- β‘οΈ [#5399] optimizing branch register resource only at RM server end
- β‘οΈ [#6154] console log optimize for "kubectl logs -f"
- [#6116] rewrite NettyPoolKey's hashcode and equals to fix duplicate construction of channel object pools
- β‘οΈ [#6195] update the url in change log to apache/incubator-seata
- [#6200] cancel required_status_checks
- [#6201] restore required_status_checks kept to remove context validation
- π³ [#6218] remove Seata-Docker link
- π [#6227] validate that the primary key is free of illegal characters
- β‘οΈ [#6004] optimize RM TM startup connect server fail fast
- β‘οΈ [#6243] optimize links in the console header
- β‘οΈ [#6238] optimize some files
- β‘οΈ [#6239] update security policy, disclaimer and notice
- π§ [#6245] in file mode, the configuration in the application takes effect, when the spring configuration in the configuration center is changed
- β‘οΈ [#6247] optimize asf.yml
- [#6259] modify error message which is global session size more than config
- π [#6264] fix jib-maven-plugin build failed
- π [#6246] build the frontend at the same time as the maven build
- β‘οΈ [#6268] optimize outdate npmjs dependencies in console
- [#6271] unifty the git information
- π [#6265] optimization fails to build frontend on arm64
- [#6267] add Server deserialization validation
- β‘οΈ [#6275] optimize the label's format in .asf.yaml
- π [#6291] seata-server is developed in idea and console support output logs
- [[#6283](https://github.com/apache/incubator-...
-
v2.0.0 Changes
November 24, 2023π Seata 2.0.0 Released
π Seata is an easy-to-use, high-performance, open source distributed transaction solution.
β‘οΈ The version is updated as follows:
π featureοΌ
- β‘οΈ [#5165] optimize TCC structure, supporting API access. add integration layer module(seata-integration-tx-api) for transaction process definition and proxy enhancement.
- π [#5352] add jackson json parser and gson json parser for tcc business action context
- π [#5377] make AbstractHttpExecutor.class support http put
- π² [#5396] TC log appender metric
- π [#5118] support two-stage concurrent notification execution
- π³ [#5529] docker image supports JVM parameter injection
- π [#3887] add SQL Server database support in AT mode
- π [#4033] add SQLServer support for Server DB storage mode
- π [#5600] feature: support trace the transaction link according to the XID
- [#5357] feature: console integration saga-statemachine-designer
- π§ [#5717] compatible with file.conf and registry.conf configurations in version 1.4.2 and below
- π³ [#5842] adding metainfo to docker image
- π [#5902] support IPv6
- π [#5907] support polardb-x 2.0 in AT mode
- π [#5932] support Dameng database
- [#5946] add sqlserver's adaptation to the console paging interface
- π [#5226] support raft cluster and store mode
π bugfixοΌ
- π» [#5677] fix saga mode serviceTask inputParams json autoType convert exception
- π [#5277] fix server console has queried the released lock
- [#5282] parallel request handle throw IndexOutOfBoundsException
- [#5294] fix auto-increment of pk columns in PostgreSQL/Oracle in AT mode
- βͺ [#5298] don't remove GlobalSession when retry rollback or retry commit timeout
- βͺ [#5304] remove RollbackRetryTimeout sessions during in file storage recover
- [#5310] fix that keywords don't add escaped characters
- [#5318] fix G1 jvm parameter in jdk8
- β [#5330] fix bugs found in unit tests
- [#5337] fix bugs found in feature#5165 about sorting problem of multiple interceptor under the spring used environment, by the way fix the BeforeTransaction(AfterTransaction) transaction ordering problem when the order is consistent
- π¨ [#5347] Fix console print
unauthorized error - [#5355] fix bug when customizing context-path
- βͺ [#5362] fix When the rollback logic on the TC side returns RollbackFailed, the custom FailureHandler is not executed
- β± [#5373] fix transaction timeout on client side not execute hook and failureHandler
- [#5395] check if table meta cache should be refreshed in AT mode
- [#5426] fix the GlobalTransactional annotation npe issue.
- [#5464] fix global session is always begin in saga mode
- π» [#5478] fix finished transaction swallows exception when committing
- π [#5490] fix method name not print in logs
- [#5449] fix Oracle XA transaction reentrant issues
- [#5462] fix if using
@GlobalTransactionalin RM,ShouldNeverHappenExceptionwill be thrown - π [#5498] bugfix: fix the full table scan issue with 'setDate' condition in Oracle 10g
- π² [#5531] fix the log file path was loaded incorrectly
- [#5523] fix GlobalStatus=9 can't be cleared in DB storage mode
- βͺ [#5558] fix mariadb rollback failed
- [#5556] fix oracle insert undolog failed
- [#5579] fix RM_CHANNELS get npe when resourceId is empty
- [#5577] fix grpc interceptor xid unbinding problem
- π² [#5594] fix log in participant transaction role
- [#5604] fix the
asyncCommitandqueueToRetryCommitalways failed in db mode - π [#5658] bugfix: fix escaped characters for upper and lower case column names
- π [#5661] bugfix: the timeout is null when the connectionProxyXA connection is reused
- π [#5679] bugfix: fix compatibility between xxx.grouplist and grouplist.xxx configuration items
- π§ [#5715] fix get configuration item contains underlined error
- π [#5748] case of the pk col-name in the business sql is inconsistent with the case in the table metadata, resulting in a rollback failure
- [#5745] fix the problem that the parameter prefix requirement of the setAttachment method in sofa-rpc is not met
- [#5772] change some fields type of TableMetaCache to avoid integer overflow
- [#5787] Solution cluster cannot be customized when redis serves as the registry
- βͺ [#5810] fix XA transaction start exception and rollback failure caused by druid dependency conflict
- [#5821] fix insert executor keywords unescape
- π [#5835] bugfix: fix TC retry rollback wrongly, after the XA transaction fail and rollback
- [#5881] fix delete branch table unlock failed
- [#5930] fix the issue of missing sentinel password in store redis mode
- [#5958] required to be unlocked when a re-election occurs in a commit state
- π§ [#5971] fix some configurations that are not deprecated show "Deprecated"
- [#5977] fix that rpcserver is not closed when raftServer is closed
- [#5954] fix the issue of saved branch session status does not match the actual branch session status
- π [#5990] fix the issue that the Lua script is not synchronized when the redis sentinel master node is down
- [#5997] fix global transaction hook repeat execute
- [#6018] fix incorrect metric report
- π [#6024] fix the white screen after click the "View Global Lock" button on the transaction info page in the console
- [#6015] fix can't integrate dubbo with spring
- [#6049] fix registry type for raft under the network interruption did not carry out the sleep 1s
- [#6050] change RaftServer#destroy to wait all shutdown procedures
- π [#6033] fix the isReference judgment logic in HSFRemotingParser, remove unnecessary judgment about FactoryBean
β‘οΈ optimizeοΌ
- π¦ [#5966] decouple saga expression handling and remove evaluator package
- [#5928] add Saga statelang semantic validation
- [#4858] reorganize the usage of task session manager
- [#4881] reorganize the usage of Sessionmanager and listener
- β‘οΈ [#5273] Optimize the compilation configuration of the
protobuf-maven-pluginplug-in to solve the problem of too long command lines in higher versions. - [#5278] clean multi-sessionmanager-instance pattern
- π§ [#5302] remove startup script the -Xmn configuration
- β‘οΈ [#4880] optimize logs when commit/rollback catch an exception
- β‘οΈ [#5322] optimize the log of SPI
- π² [#5326] add time info for global transaction timeout log
- [#5328] add corresponding lua implementation for Redis mode of global transaction and transaction storage
- [#5341] optim...
-
v1.8.0 Changes
October 31, 2023π Seata 1.8.0 Released.
π Seata is an easy-to-use, high-performance, open source distributed transaction solution.
β‘οΈ The version is updated as follows:
π feature:
π bugfix:
- π [#5833] bugfix: fix TC retry rollback wrongly, after the XA transaction fail and rollback
- [#5884] fix dm escaped characters for upper and lower case column names
- [#5931] fix the issue of missing sentinel password in store redis mode
- π§ [#5970] fix some configurations that are not deprecated show "Deprecated"
β‘οΈ optimize:
- [#5866] some minor syntax optimization
- π [#5889] remove dependency without license
- π [#5890] remove 7z format compression support
- π [#5891] remove mariadb.jdbc dependency
- [#5828] fix codecov chart not display
- β‘οΈ [#5927] optimize some scripts related to Apollo
- [#5918] standardized the properties of codecov.yml
- π [#5939] support jmx port in seata
π security:
β test:
- π [#5888] remove sofa test cases
- β¬οΈ [#5831] upgrade druid and add
test-druid.yml - β [#5862] fix unit test in java 21
- β¬οΈ [#5914] upgrade native-lib-loader version
- [#5960] fix zookeeper UT failed
- π [#5981] fixed jedis version for
seata-server
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.
-
v1.7.1 Changes
September 05, 2023π Seata 1.7.1 Released.
π Seata is an easy-to-use, high-performance, open source distributed transaction solution.
β‘οΈ The version is updated as follows:
π feature:
- π³ [#5803] docker image supports JVM parameter injection
π bugfix:
- π [#5749] case of the pk col-name in the business sql is inconsistent with the case in the table metadata, resulting in a rollback failure
- [#5762] change some fields type of TableMetaCache to avoid integer overflow
- [#5769] fix the problem that the parameter prefix requirement of the setAttachment method in sofa-rpc is not met
- βͺ [#5814] fix XA transaction start exception and rollback failure
- [#5771] insert executor keywords unescape
- [#5819] fix oracle column alias cannot find
β‘οΈ optimize:
- β‘οΈ [#5804] optimize docker default timezone
- π [#5815] support the nacos application name property
- π² [#5820] unified log output directory
- β¬οΈ [#5822] upgrade some deprecated github actions
π security:
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.
-
v1.7.0 Changes
July 11, 2023π Seata 1.7.0 Released.
π Seata is an easy-to-use, high-performance, open source distributed transaction solution.
β‘οΈ The version is updated as follows:
π feature:
- π [#5476] first support
native-imageforseata-client - [#5495] console integration saga-statemachine-designer
- π§ [#5668] compatible with file.conf and registry.conf configurations in version 1.4.2 and below
π bugfix:
- [#5682] fix saga mode replay context lost startParams
- π» [#5671] fix saga mode serviceTask inputParams json autoType convert exception
- [#5194] fix wrong keyword order for oracle when creating a table
- [#5021] fix JDK Reflection for Spring origin proxy failed in JDK17
- [#5023] fix
seata-coredependency transitive conflict inseata-dubbo - [#5224] fix oracle initialize script index_name is duplicate
- π§ [#5233] fix the inconsistent configuration item names related to LoadBalance
- π [#5266] fix server console has queried the released lock
- [#5245] fix the incomplete dependency of distribution module
- [#5239] fix
getConfigthrowClassCastExceptionwhen use JDK proxy - [#5281] parallel request handle throw IndexOutOfBoundsException
- [#5288] fix auto-increment of pk columns in Oracle in AT mode
- [#5287] fix auto-increment of pk columns in PostgreSQL in AT mode
- βͺ [#5299] fix GlobalSession deletion when retry rollback or retry commit timeout
- [#5307] fix that keywords don't add escaped characters
- βͺ [#5311] remove RollbackRetryTimeout sessions during in file storage recover
- [#4734] check if table meta cache should be refreshed in AT mode
- [#5316] fix G1 jvm parameter in jdk8
- βͺ [#5321] fix When the rollback logic on the TC side returns RollbackFailed, the custom FailureHandler is not executed
- β [#5332] fix bugs found in unit tests
- [#5145] fix global session is always begin in saga mode
- π§ [#5413] fix bad service configuration file and compilation failure
- β± [#5415] fix transaction timeout on client side not execute hook and failureHandler
- [#5447] fix oracle xa mode cannnot be used By same database
- [#5472] fix if using
@GlobalTransactionalin RM,ShouldNeverHappenExceptionwill be thrown - π² [#5535] fix the log file path was loaded incorrectly
- π» [#5538] fix finished transaction swallows exception when committing
- [#5539] fix the full table scan issue with 'setDate' condition in Oracle 10g
- [#5540] fix GlobalStatus=9 can't be cleared in DB storage mode
- βͺ [#5552] fix mariadb rollback failed
- [#5583] fix grpc interceptor xid unbinding problem
- π² [#5602] fix log in participant transaction role
- [#5645] fix oracle insert undolog failed
- [#5659] fix the issue of case sensitivity enforcement on the database after adding escape characters to keywords
- β± [#5663] fix the timeout is null when the connectionProxyXA connection is reused
- π§ [#5675] fix compatibility between xxx.grouplist and grouplist.xxx configuration items
- π¨ [#5690] fix console print
unauthorized error - π§ [#5711] fix get configuration item contains underlined error
β‘οΈ optimize:
- β‘οΈ [#5208] optimize throwable getCause once more
- β‘οΈ [#5212] optimize log message level
- β‘οΈ [#5237] optimize exception log message print(EnhancedServiceLoader.loadFile#cahtch)
- β‘οΈ [#5089] optimize the check of the delay value of the TCC fence log clean task
- β‘οΈ [#5243] optimize kryo 5.4.0 optimize compatibility with jdk17
- [#5153] Only AT mode try to get channel with other app
- π [#5177] If
server.session.enable-branch-async-removeis true, delete the branch asynchronously and unlock it synchronously. - β‘οΈ [#5273] optimize the compilation configuration of the
protobuf-maven-pluginplug-in to solve the problem of too long command lines in higher versions. - π§ [#5303] remove startup script the -Xmn configuration
- π² [#5325] add store mode,config type and registry type log info
- β‘οΈ [#5315] optimize the log of SPI
- π² [#5323] add time info for global transaction timeout log
- β‘οΈ [#5414] optimize transaction fail handler
- β‘οΈ [#5537] optimize transaction log on client side
- β‘οΈ [#5541] optimize server log output
- β‘οΈ [#5548] update expire gpg key and publish workflow
- β‘οΈ [#5638] optimize: set server's transaction level to READ_COMMITTED
- π¨ [#5646] refactor ColumnUtils and EscapeHandler
- β‘οΈ [#5648] optimize server logs print
- π [#5647] support case-sensitive attributes for table and column metadata
- β‘οΈ [#5678] optimize escape character for case of columnNames
- β‘οΈ [#5684] optimize github actions for CodeQL, skywalking-eyes and checkout
- β‘οΈ [#5700] optimize distributed lock log
π security:
- π [#5172] fix some security vulnerabilities
- [#5683] add Hessian Serializer WhiteDenyList
- π [#5696] fix several node.js security vulnerabilities
β test:
Thanks to these contributors for their code commits. Please report an unintended omission.
- slievrly
- xssdpgy
- albumenj
- PeppaO
- yuruixin
- dmego
- CrazyLionLi
- xingfudeshi
- Bughue
- pengten
- wangliang181230
- GoodBoyCoder
- a364176773
- isharpever
- ZhangShiYeChina
- mxsm
- l81893521
- liuqiufeng
- π yixia
- jumtp
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.
- π [#5476] first support