Downloads
Seata
GitHub: https://github.com/apache/incubator-seata
Release Notes: https://github.com/apache/incubator-seata/releases
2.0.0 (2023-11-24)
Release notes
Seata 2.0.0
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] optimize gRPC Interceptor for TCC mode
 - [#5342] optimize the check of the delay value of the TCC fence log clean task
 - [#5344] add store mode,config type and registry type log info
 - [#5351] optimize RPC filter for TCC mode
 - [#5354] reconstruct the RPC integration module
 - [#5370] optimize transaction fail handler
 - [#5431] optimize github workflow
 - [#5461] optimize license workflow
 - [#5456] refactor ColumnUtils and EscapeHandler
 - [#5438] optimize code style properties
 - [#5471] optimize transaction log on client side
 - [#5485] optimize server log output
 - [#4907] optimize thread scheduling and code
 - [#5487] mark the lockholder of branchsession as final
 - [#5519] optimize FenceHandler for oracle
 - [#5501] support updating transaction state with optimistic locking
 - [#5419] optimize images based on java 8/17 and support maven-3.9.0
 - [#5549] update expire gpg key and publish workflow
 - [#5576] The common fence clean task is only initiated when useTCCFence is set to true
 - [#5623] optimize possible conflict between asyncCommitting thread and retryCommitting thread
 - [#5553] support case-sensitive attributes for table and column metadata
 - [#5563] optimize: optimize channel availability thread log output
 - [#5644] optimize server logs print
 - [#5680] optimize escape character for case of columnNames
 - [#5686] optimize: optimize license check actions
 - [#5714] optimize distributed lock log
 - [#5723] optimize docker default timezone
 - [#5779] remove unnecessary log outputs and unify the log output path.
 - [#5802] set server's transaction level to READ_COMMITTED
 - [#5783] support the nacos application name property
 - [#5524] support for more operational commands in seata-server.sh
 - [#5836] separate MySQL from Mariadb implementations
 - [#5869] some minor syntax optimization
 - [#5885] optimize log in ConnectionProxyXA
 - [#5894] remove dependency without license
 - [#5895] remove 7z format compression support
 - [#5896] remove mariadb.jdbc dependency
 - [#5384] unified project version
 - [#5419] publish images based on java 8/17 and support maven-3.9.0
 - [#5829] fix codecov chart not display
 - [#5878] optimize 
httpcoreandhttpclientdependencies - [#5917] upgrade native-lib-loader version
 - [#5926] optimize some scripts related to Apollo
 - [#5938] support jmx port in seata
 - [#5944] optimize: fix build action warning
 - [#5951] remove un support config in jdk17
 - [#5959] modify code style and remove unused import
 - [#6002] remove fst serialization
 - [#6045] optimize derivative product check base on mysql
 
security
- [#5642] add Hessian Serializer WhiteDenyList
 - [#5694] fix several node.js security vulnerabilities
 - [#5801] fix some dependencies vulnerability
 - [#5805] fix some serializer vulnerabilities
 - [#5868] fix npm package vulnerabilities
 - [#5916] upgrade nodejs dependency
 - [#5942] upgrade dependencies version
 - [#5987] upgrade some dependencies version
 - [#6013] upgrade seata-server spring version
 
test
- [#5308] add unit test [FileLoader, ObjectHolder, StringUtils]
 - [#5309] add unit test [ArrayUtils, ConfigTools, MapUtil]
 - [#5335] add unit test [EnhancedServiceLoader,ExtensionDefinition,SizeUtilTest,ReflectionUtil,LowerCaseLinkHashMap,FileLoader,ObjectHolder]
 - [#5367] fix UpdateExecutorTest failed
 - [#5383] fix multi spring version test failed
 - [#5391] add unit test for config module
 - [#5428] fix FileTransactionStoreManagerTest failed
 - [#5622] add unit test [ExporterType, RegistryType]
 - [#5637] add unit test [BatchResultMessage, HeartbeatMessage, RegisterRMResponse, ResultCode, RegisterTMResponse, MergeResultMessage, MergedWarpMessage, Version]
 - [#5893] remove sofa test cases
 - [#5845] upgrade druid and add 
test-druid.yml - [#5863] fix unit test in java 21
 - [#5986] fix zookeeper UT failed
 - [#5995] add test cases for RaftClusterMetadataMsg
 - [#6001] add test cases for RaftMsgExecute under branch package
 - [#5996] add test cases for RaftMsgExecute under global package
 - [#6003] add test cases for RaftMsgExecute under lock package
 - [#6005] fix saga async tests undefined behavior
 - [#6009] add test cases for RaftServerFactory
 - [#6052] upgrade springboot and spring version for server for test
 
Contributors
Thanks to these contributors for their code commits. Please report an unintended omission.
- slievrly
 - xssdpgy
 - albumenj
 - PeppaO
 - yuruixin
 - CrazyLionLi
 - xingfudeshi
 - Bughue
 - pengten
 - wangliang181230
 - GoodBoyCoder
 - funky-eyes
 - isharpever
 - mxsm
 - liuqiufeng
 - l81893521
 - dmego
 - zsp419
 - tuwenlin
 - sixlei
 - yixia
 - capthua
 - robynron
 - XQDD
 - Weelerer
 - Ifdevil
 - iquanzhan
 - leizhiyuan
 - Aruato
 - ggbocoder
 - ptyin
 - jsbxyyx
 - xxxcrel
 - fengzhenhai168
 - tobehardest
 - leezongjie
 
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.
Link
- Seata: https://github.com/apache/incubator-seata
 - Seata-Samples: https://github.com/apache/incubator-seata-samples
 - Release: https://github.com/apache/incubator-seata/releases
 - WebSite: https://seata.apache.org