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
@GlobalTransactional
in RM,ShouldNeverHappenException
will 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
asyncCommit
andqueueToRetryCommit
always 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-plugin
plug-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
httpcore
andhttpclient
dependencies - [#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