Seata Versions Save

:fire: Seata is an easy-to-use, high-performance, open source distributed transaction solution.

v2.0.0

5 months ago

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 and queueToRetryCommit 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 and httpclient 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.

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

v1.8.0

5 months ago

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:

  • [#3672] support Dameng database
  • [#5892] support PolarDB-X 2.0 database

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:

  • [#5867] fix npm package vulnerabilities
  • [#5898] fix npm package vulnerabilities

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

7 months ago

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:

  • [#5728] fix some dependencies vulnerability
  • [#5766] fix some serializer vulnerabilities

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

9 months ago

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-image for seata-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-core dependency transitive conflict in seata-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 getConfig throw ClassCastException when 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 @GlobalTransactional in RM, ShouldNeverHappenException will 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-remove is true, delete the branch asynchronously and unlock it synchronously.
  • [#5273] optimize the compilation configuration of the protobuf-maven-plugin plug-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:

  • [#5380] fix UpdateExecutorTest failed
  • [#5382] fix multi spring version test failed

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.6.1

1 year ago

Seata 1.6.1 Released.

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

The version is updated as follows:

feature:

  • [#5115] support for spring-boot:3.x

bugfix:

  • [#5179] fix ClassNotFoundException when server starts using Eureka

optimize:

  • [#5120] unify the format of configuration items in yml files
  • [#5180] GlobalTransactionScanner,SeataAutoDataSourceProxyCreator declare @bean methods as static
  • [#5182] fix some security vulnerabilities in GGEditor
  • [#5183] optimize the default values for some switches

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.6.0

1 year ago

Seata 1.6.0 Released.

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

The version is updated as follows:

feature:

  • [#4863] support oracle and postgresql multi primary key
  • [#4649] seata-server support multiple registry
  • [#4779] support Apache Dubbo3
  • [#4479] TCC mode supports tcc annotation marked on both interface and implementation class
  • [#4877] seata client support jdk17
  • [#4914] support mysql update join sql
  • [#4542] support oracle timestamp types
  • [#5111] support Nacos contextPath
  • [#4802] dockerfile support arm64

bugfix:

  • [#4780] fix can't post TimeoutRollbacked event after a successful timeout rollback
  • [#4954] fix output expression incorrectly throws npe
  • [#4817] fix in high version springboot property not Standard
  • [#4838] fix when use Statement.executeBatch() can not generate undo log
  • [#4533] fix rollback event repeated and some event status not correct
  • [#4912] fix mysql InsertOnDuplicateUpdate column case is different and cannot be matched
  • [#4543] fix support Oracle nclob types
  • [#4915] fix failed to get server recovery properties
  • [#4919] fix XID port and address null:0 before coordinator.init
  • [#4928] fix rpcContext.getClientRMHolderMap NPE
  • [#4953] fix InsertOnDuplicateUpdate bypass modify pk
  • [#4978] fix kryo support circular reference
  • [#4874] fix startup failure by using OpenJDK 11
  • [#5018] fix loader path in startup scripts
  • [#5004] fix duplicate image row for update join
  • [#5032] fix mysql InsertOnDuplicateUpdate sql query error caused by placeholder index calculation error
  • [#5033] fix null exception when sql columns is empty for insert on duplicate
  • [#5038] remove @EnableConfigurationProperties({SagaAsyncThreadPoolProperties.class})
  • [#5050] fix global session is not change to Committed in saga mode
  • [#5052] fix update join condition placeholder param error
  • [#5031] fix mysql InsertOnDuplicateUpdate should not use null index value as image sql query condition
  • [#5075] fix InsertOnDuplicateUpdateExecutor could not intercept the sql which has no primary and unique key
  • [#5093] fix access key loss after seata server restart
  • [#5092] fix when seata and jpa are used together, their AutoConfiguration order is incorrect
  • [#5109] fix NPE caused when there is no @GlobalTransactional annotation on the RM side
  • [#5098] Druid disable oracle implicit cache
  • [#4860] fix metrics tags coverage in the seata-server side
  • [#5028] fix insert value null parsed as string in insert on duplicate SQL
  • [#5078] fix could not intercept the sql witch has no primary and unique key
  • [#5097] fix access key loss after server restart
  • [#5131] fix rollback xa connection active state
  • [#5134] fix hikari datasource auto proxy fail
  • [#5163] fix bad service configuration file and compilation failure

optimize:

  • [#4774] optimize mysql8 dependencies for seataio/seata-server image
  • [#4790] Add a github action to publish Seata to OSSRH
  • [#4765] mysql 8.0.29 not should be hold for connection
  • [#4750] optimize unBranchLock romove xid
  • [#4797] optimize the github actions
  • [#4800] Add NOTICE as Apache License V2
  • [#4681] optimize the check lock during global transaction
  • [#4761] use hget replace hmget because only one field
  • [#4414] exclude log4j dependencies
  • [#4836] optimize BaseTransactionalExecutor#buildLockKey(TableRecords rowsIncludingPK) method more readable
  • [#4865] fix some security vulnerabilities in GGEditor
  • [#4590] auto degrade enable to dynamic configure
  • [#4490] tccfence log table delete by index
  • [#4911] add license checker workflow
  • [#4917] upgrade package-lock.json fix vulnerabilities
  • [#4924] optimize pom dependencies
  • [#4932] extract the default values for some properties
  • [#4925] optimize java doc warning
  • [#4921] fix some vulnerabilities in console and upgrade skywalking-eyes
  • [#4936] optimize read of storage configuration
  • [#4946] pass the sqlexception to client when get lock
  • [#4962] optimize build and fix the base image
  • [#4974] optimize cancel the limit on the number of globalStatus queries in Redis mode
  • [#4981] optimize tcc fence record not exists errMessage
  • [#4985] fix undo_log id repeat
  • [#4995] fix mysql InsertOnDuplicateUpdate duplicate pk condition in after image query sql
  • [#5047] remove useless code
  • [#5051] undo log dirty throw BranchRollbackFailed_Unretriable
  • [#5075] intercept the InsertOnDuplicateUpdate statement which has no primary key and unique index value
  • [#5104] remove the druid dependency in ConnectionProxy
  • [#5124] support oracle on delete tccfence logs
  • [#4468] support kryo 5.3.0
  • [#4807] optimize docker image and oss publish
  • [#4445] optimize transaction timeout judgment
  • [#4958] do not execute triggerAfterCommit() if timeout
  • [#4582] redis mode support sorted set by timeout
  • [#4963] add ARM64 CI workflow
  • [#4434] remove seata-server's CMS parameters

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.5.2

1 year ago

Seata 1.5.2 Released.

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

The version is updated as follows:

feature:

  • [#4661] support xid consistency load balance
  • [#4676] support server to expose Nacos services by mounting SLB
  • [#4642] support batch message parallel processing
  • [#4567] support where method condition(find_in_set)

bugfix:

  • [#4515] fix the error of SeataTCCFenceAutoConfiguration when database unused
  • [#4661] fix sql exception with PostgreSQL in module console
  • [#4667] fix the exception in RedisTransactionStoreManager for update map During iteration
  • [#4678] fix the error of key transport.enableRmClientBatchSendRequest cache penetration if not configure
  • [#4701] fix missing command line args
  • [#4607] fix bug on skipping lock check
  • [#4696] fix oracle database insert value
  • [#4726] fix batch message send may return NullPointException
  • [#4729] fix set AspectTransactional.rollbackForClassName with wrong value
  • [#4653] fix the sql exception when pk is non-numeric in INSERT_ON_DUPLICATE SQL

optimize:

  • [#4650] fix some security vulnerabilities
  • [#4670] optimize the thread pool size of branchResultMessageExecutor
  • [#4662] optimize rollback transaction metrics
  • [#4693] optimize the console navigation bar
  • [#4700] fix maven-compiler-plugin and maven-resources-plugin execute failed
  • [#4711] separate lib dependencies for deployments
  • [#4720] optimize pom description
  • [#4728] upgrade logback dependency to 1.2.9
  • [#4745] support mysql8 in release package
  • [#4626] Replace flatten-maven-plugin with easyj-maven-plugin to fix the conflict between shade and flatten
  • [#4629] check relation of before status and after status when updating global session
  • [#4662] make EnhancedServiceLoader more readable

test:

  • [#4544] optimize jackson dependencies in TransactionContextFilterTest
  • [#4731] fix UT failed in AsyncWorkerTest and LockManagerTest

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.5.0

1 year ago

Seata 1.5.1(release fixes for 1.5.0) Released.

seata-all-1.5.0.jar was released to the central maven repository with version number replacement issues due to plugin conflicts in 1.5.0. As a result, we urgently released version 1.5.1 with code functionality remaining exactly the same as 1.5.0. We are sorry for the confusion and inconvenience.

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

The version is updated as follows:

feature:

  • [#4115] support console management
  • [#3472] add redisLocker's lua mode
  • [#3575] support the mixed use of different storages of locks and sessions
  • [#3374] add a Executor for INSERT ON DUPLICATE KEY UPDATE
  • [#3642] provide an api to share tcc phase-1's params to phase-2
  • [#3064] support configuring the order of the TM and TCC interceptor
  • [#2852] support configuring scan target for GlobalTransactionScanner
  • [#3683] support redis distributed lock to prevent multi TC competition
  • [#3545] TCC mode support idempotent and anti hanging
  • [#3009] support server start with springboot and config with application.yaml
  • [#3652] support APM with SkyWalking
  • [#3823] TCC mode supports customized parameters list of the method in phase two
  • [#3642] TCC mode's try method supports passing BusinessActionContext implicitly
  • [#3856] support edas-hsf RPC framework
  • [#3880] contributing md support chinese.
  • [#2568] support GlobalTransactionInterceptor expression
  • [#3886] support the registry center network preferences
  • [#3869] support get configuration from environment
  • [#3906] support SPI unload
  • [#3668] support kotlin coroutine
  • [#3968] support brpc-java RPC framework
  • [#4134] init the console basic code
  • [#4268] query global session in the file mode
  • [#4281] query global session and global lock in the redis mode
  • [#4293] get global lock in the file mode
  • [#4335] Realize configuration center upload configuration interactive script (nacos,etcd3)
  • [#4360] Realize configuration center upload configuration interactive script (apollo,consul,zk)
  • [#4320] realize the interface of console: get global session and global lock in the db mode
  • [#4435] console front-end page implementation
  • [#4480] implementation of DefaultAuthSigner
  • [#3870] make seata-bom be the real Bill-Of-Material
  • [#3487] add db realization for distribute lock
  • [#3889] registry add heartbeat
  • [#3951] support zstd compressor
  • [#2838] Saga support auto configuration in the spring boot project

bugfix:

  • [#3497] fix tcc phase two response timeout exception
  • [#3686] fix NPE and wrong cluster name of Apollo
  • [#3702] fix some comments
  • [#3716] fix the problem in the findTargetClass method
  • [#3717] fix typo of interval
  • [#3773] fix consul not found tc cluster
  • [#3695] fix mariadb unable to create XA connection
  • [#3783] fix the problem that store mode does not take effect
  • [#3740] fix that LocalThread is not cleared when the Saga transaction ends
  • [#3792] fix the Server can't find redis-host property
  • [#3828] fix StringUtils StackOverflowError
  • [#3817] fix TC SkyWalking topo calling node not gather
  • [#3803] fix ReflectionUtil throw unexpected exception
  • [#3879] fix postgresql multi schema throw not found channel exception
  • [#3881] fix getConfig with different default value return the first
  • [#3897] fix LocalDataTime type in FastjsonUndoLogParser can't be rollback
  • [#3901] fix seataio/seata-server servlet-api conflict
  • [#3931] fix the wrong path and filename when dump the jvm memory for analysis
  • [#3978] fix NPE cause by future timeout
  • [#4266] fix register branch and release lock failed when the size of rows that modified is greater than 1000 in oracle
  • [#3949] fix the problem that nacos-config.py will not skip blank options. fix bug that split options may cause content loss
  • [#3988] fix the problem that nacos not found user when password has special characters
  • [#3998] fix the NPE of jedis multi.exec
  • [#4011] fix can not get properties of distributed-lock-table in springboot
  • [#4025] fix potential database resource leak
  • [#4023] fix the problem that the xid is not cleared in some scenes of dubbo
  • [#4039] fix RM did not clear XID after the local transaction threw an exception
  • [#4032] fix ApplicationContext already closed problem when Seata server using ShutdownHook to destroy
  • [#4074] fix prevents XA mode resource suspension
  • [#4107] fix deadlock problems during project construction
  • [#4158] fix the logback can't load the RPC_PORT
  • [#4162] fix correct built-in properties for redis registry
  • [#4165] fix StringUtils.toString(obj) throw ClassCastException when the obj is primitive data array
  • [#4169] fix xa mode originalConnection has been closed, cause PhaseTwo fail to execute
  • [#4177] fix the problem of accidentally releasing the global lock
  • [#4174] fix delete undo log connection already closed
  • [#4189] fix the kafka-appender.xml and logstash-appender.xml
  • [#4213] fix code for "sessionMode" not execute problem
  • [#4220] fix some problems with zstd compressor and add the version of the kotlin-maven-plugin
  • [#4222] fix could not rollback when insert field list is empty
  • [#4253] update executor store the actually modified columns but not only the columns in set condition
  • [#4276] fix seata-test module UT not work
  • [#4278] fix the problem that mysql's Blob/Clob/NClob data type cannot be deserialized
  • [#4302] fix the problem that other ORMs may not be able to obtain the auto-incrementing primary key value
  • [#4233] fix data remanence problems in lock and branch under specific circumstances.
  • [#4308] fix the TableMetaCache parsing problem with the same table under multiple Postgresql schemas
  • [#4326] fix inability to build Executor when using mariadb driver
  • [#4355] fix mysql-loadbalance resource id error
  • [#4310] fix the problem that failed to obtain the self increment ID of MySQL database through "select last_insert_id"
  • [#4331] fix dirty write check exception that may occur when using ONLY_CARE_UPDATE_COLUMNS configuration
  • [#4228] fix resource suspension in xa mode caused by choose other ip as channel alternative
  • [#4408] fix the invalid environment variable in container env
  • [#4441] fix the problem that pipelined resources are not closed in redis mode and add branchSession judge branchSessions is not null
  • [#4438] fix the problem that GlobalSession could not be deleted normally in the case of delayed deletion in the file mode of the develop branch
  • [#4432] fix the inability to get some remote configurations
  • [#4452] fix the change log of 'service.disableGlobalTransaction' config
  • [#4449] fix redis mode page npe and optimize get globalSession on average
  • [#4459] fix the failure to obtain before image and after image on oracle and pgsql of the develop branch
  • [#4471] in branch 'develop', fix the error when service.vgroupMapping change
  • [#4474] fix Mysql multi-bit Bit type field rollback error
  • [#4492] fix the failure to update cluster list dynamically when use eureka of the develop branch
  • [#4535] fix FileSessionManagerTest fail
  • [#4561] fix allSessions/findGlobalSessions may return null and cause npe
  • [#4505] fix fastjson serialization of time data types
  • [#4579] fix prepareUndoLogAll of MySQLInsertOrUpdateExecutor
  • [#4005] fix PK constraint name isn't the same as the unique index name which is belong to PK
  • [#4062] fix saga complex parameter deserialization problem
  • [#4199] fix rpc tm request timeout
  • [#4352] fix some problem of the sql parser
  • [#4487] fix remove Pagination hideOnlyOnePage attribute
  • [#4449] fix optimize redis limit and fix redis page bug
  • [#4608] fix test case
  • [#3110] fix the problem of unit test

optimize:

  • [#4163] improve CONTRIBUTING docs
  • [#3678] supplement missing configuration and new version documents
  • [#3654] fix typo,applicationContex -> applicationContext
  • [#3615] asynchronous deletion after the transaction is committed
  • [#3687] fix the case that could not retry acquire global lock
  • [#3689] modify the attribute prefix in the file file.properties
  • [#3528] optimize the memory footprint of redis mode
  • [#3700] optimize the speed of buildLockKey
  • [#3588] optimize the logic of datasource auto proxy
  • [#3626] remove repeat change status
  • [#3722] add the basic code of distributed lock
  • [#3713] unified the default value of enableClientBatchSendRequest
  • [#3120] optimize Configuration and add unit tests
  • [#3735] do not load LoadBalance if not necessary
  • [#3770] close the Closeable and optimize some code
  • [#3627] use TreeMap instead of the LinkedHashMap in TableMeta to compatible high level MySQL
  • [#3760] opt the logback's config of seata-server
  • [#3765] Transfer the operation of adding configuration class from 'AutoConfiguration' to 'EnvironmentPostProcessor'
  • [#3730] Refactoring the code of TCC mode
  • [#3820] add column action_name to the tcc_fence_log
  • [#3738] JacksonUndoLogParser supports to parsing LocalDateTime
  • [#3794] optimize the packaging of seata-server
  • [#3795] optimize zk registry lookup performance
  • [#3840] optimiza apm-skwalking operation method to generate rules
  • [#3834] optimize seata-distribution add apm-seata-skywalking
  • [#3847] optimize ConcurrentHashMap.newKeySet replace ConcurrentSet
  • [#3311] supports reading all configurations from a single Consul key
  • [#3849] optimize string concat
  • [#3890] optimize only the inserted fields are checked
  • [#3895] optimize decode exception
  • [#3898] add jib-maven-plugin
  • [#3904] ehance metrics and fix seata-server UT not work
  • [#3212] optimize recognize sql in limit and order by
  • [#3905] optimize nacos-config.sh to support ash
  • [#3935] optimize Send redis command at one time using pipeline
  • [#3916] optimize determine whether the server in the register is alive
  • [#3918] cache reflection results of the fields and methods
  • [#3898] add jib-maven-plugin
  • [#3907] optimize set server port
  • [#3912] support config JVM param in env
  • [#3939] use map instead of if else judge for more change in the future
  • [#3955] add a start banner for seata
  • [#3954] replace @Deprecated getOwnernName to getOwnerName in druid
  • [#3981] optimize service port priority
  • [#4013] optimize channel alive check
  • [#3982] optimize readme doc and upgrade some dependencies
  • [#3949] nacos-config.py support default parameters and optional input parameters
  • [#3991] disable listening in the FileConfiguration center in Springboot
  • [#3994] Optimize the mechanism of periodically deleting tasks in the tcc_fence_log table
  • [#3327] supports reading all configurations from a single Etcd3 key
  • [#4001] support to read YML configuration from Nacos, Zookeeper, Consul, Etcd3
  • [#4017] optimize file configuration
  • [#4018] optimize Apollo configuration
  • [#4021] optimize Nacos、Consul、Zookeeper、Etcd3 configuration
  • [#4034] optimize Nacos, Consul, Zookeeper and Etcd3 configuration Junit test Class
  • [#4055] optimize NetUtil#getLocalAddress0
  • [#4086] optimize lazily load branch transactions and task scheduling
  • [#4056] optimize the DurationUtil
  • [#4103] optimize AbstractLockManager#collectRowLocks logic
  • [#3733] optimize acquire lock logic
  • [#4144] support default configuration of tx-service-group
  • [#4157] optimize client batch sending.
  • [#4191] support rpc timeout can be customized.
  • [#4216] no more attempt to clean undolog for none AT mode
  • [#4176] use expire key instead hash when using redis as registry center.
  • [#4196] tc batch response to client.
  • [#4212] optimize the interface of the console
  • [#4237] skip check lock when all the before image is empty
  • [#4251] optimize partial code handling
  • [#4262] optimize tcc module code handling
  • [#4235] optimize instance saved in eureka
  • [#4277] optimize acquire lock return fail-fast code in redis-pipeline mode.
  • [#4284] support authentication of MSE-Nacos with ak/sk
  • [#4299] optimize exceptions to make them friendly
  • [#4300] optimize let DefaultCoordinator invoke NettyRemotingServer's close method,no longer closed by ServerRunner
  • [#4270] improve the performance of global commit and global rollback, asynchronous branch transaction cleanup
  • [#4307] when in TCC mode there is no need to delete global locks
  • [#4303] tcc_fence_log table hanging log records are deleted asynchronously
  • [#4328] upload configuration script support comments
  • [#4305] optimize acquire global lock fail error log print on tc
  • [#4336] add SQL exception prompt not supported by AT mode
  • [#4359] support configuration metadata read from environment variables
  • [#4247] add tests for java17 and springboot in the github/actions
  • [#4353] Slimming down for the seata-all.jar
  • [#4393] skip reload for redis & db mode
  • [#4400] asynchronous tasks handle global transactions in parallel
  • [#4391] commit/rollback retry timeout event
  • [#4409] add copyright header to test classes
  • [#4282] optimize build UndoItem logic
  • [#4407] file mode does not require lazy processing of sessions
  • [#4436] optimize global session query in file mode
  • [#4431] limit the number of queries in Redis storage mode
  • [#4465] optimize client version transfer in tc batch response to client mode.
  • [#4469] optimize the way to get configuration in DB mode of console
  • [#4478] optimize Nacos config and naming properties
  • [#4522] optimize GC parameters in JVM
  • [#4517] enhance fail/timeout status metric and log level
  • [#4451] filesessionmanager changed to singleton and optimized task thread pool processing
  • [#4551] optimize metrics rt statistics
  • [#4574] support accessKey/secretKey auto configuration
  • [#4583] use HmacSHA256 instead of HmacSHA1 for ram signature
  • [#4591] optimize the default value of the switch
  • [#3780] optimize upgrade the Druid version
  • [#3797] optimize support instance BusinessActionContext outside the TCC try method
  • [#3909] optimize collectRowLocks method
  • [#3763] optimize github actions
  • [#4345] optimize fix the path of the package
  • [#4346] optimize the log of the server and remove lombok
  • [#4348] optimize Unified management the versions of maven-plugin
  • [#4354] optimize the tests of SAGA
  • [#4227] optimize the versions of the dependencies
  • [#4403] optimize disable SAGA tests
  • [#4453] optimize upgrade eureka-clients and xstream dependencies
  • [#4481] optimize nacos config and naming properties
  • [#4477] optimize debug log and fix typo
  • [#4484]optimize the log of TM/RM register
  • [#3874] optimize Add logo of registered enterprise,and Change image source to Alicdn
  • [#4458] optimize fix the README.md of metrices module
  • [#4482] optimize remove duplicated word

test:

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.5.1

1 year ago

Seata 1.5.1(release fixes for 1.5.0) Released.

seata-all-1.5.0.jar was released to the central maven repository with version number replacement issues due to plugin conflicts in 1.5.0. As a result, we urgently released version 1.5.1 with code functionality remaining exactly the same as 1.5.0. We are sorry for the confusion and inconvenience.

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

The version is updated as follows:

feature:

  • [#4115] support console management
  • [#3472] add redisLocker's lua mode
  • [#3575] support the mixed use of different storages of locks and sessions
  • [#3374] add a Executor for INSERT ON DUPLICATE KEY UPDATE
  • [#3642] provide an api to share tcc phase-1's params to phase-2
  • [#3064] support configuring the order of the TM and TCC interceptor
  • [#2852] support configuring scan target for GlobalTransactionScanner
  • [#3683] support redis distributed lock to prevent multi TC competition
  • [#3545] TCC mode support idempotent and anti hanging
  • [#3009] support server start with springboot and config with application.yaml
  • [#3652] support APM with SkyWalking
  • [#3823] TCC mode supports customized parameters list of the method in phase two
  • [#3642] TCC mode's try method supports passing BusinessActionContext implicitly
  • [#3856] support edas-hsf RPC framework
  • [#3880] contributing md support chinese.
  • [#2568] support GlobalTransactionInterceptor expression
  • [#3886] support the registry center network preferences
  • [#3869] support get configuration from environment
  • [#3906] support SPI unload
  • [#3668] support kotlin coroutine
  • [#3968] support brpc-java RPC framework
  • [#4134] init the console basic code
  • [#4268] query global session in the file mode
  • [#4281] query global session and global lock in the redis mode
  • [#4293] get global lock in the file mode
  • [#4335] Realize configuration center upload configuration interactive script (nacos,etcd3)
  • [#4360] Realize configuration center upload configuration interactive script (apollo,consul,zk)
  • [#4320] realize the interface of console: get global session and global lock in the db mode
  • [#4435] console front-end page implementation
  • [#4480] implementation of DefaultAuthSigner
  • [#3870] make seata-bom be the real Bill-Of-Material
  • [#3487] add db realization for distribute lock
  • [#3889] registry add heartbeat
  • [#3951] support zstd compressor
  • [#2838] Saga support auto configuration in the spring boot project

bugfix:

  • [#3497] fix tcc phase two response timeout exception
  • [#3686] fix NPE and wrong cluster name of Apollo
  • [#3702] fix some comments
  • [#3716] fix the problem in the findTargetClass method
  • [#3717] fix typo of interval
  • [#3773] fix consul not found tc cluster
  • [#3695] fix mariadb unable to create XA connection
  • [#3783] fix the problem that store mode does not take effect
  • [#3740] fix that LocalThread is not cleared when the Saga transaction ends
  • [#3792] fix the Server can't find redis-host property
  • [#3828] fix StringUtils StackOverflowError
  • [#3817] fix TC SkyWalking topo calling node not gather
  • [#3803] fix ReflectionUtil throw unexpected exception
  • [#3879] fix postgresql multi schema throw not found channel exception
  • [#3881] fix getConfig with different default value return the first
  • [#3897] fix LocalDataTime type in FastjsonUndoLogParser can't be rollback
  • [#3901] fix seataio/seata-server servlet-api conflict
  • [#3931] fix the wrong path and filename when dump the jvm memory for analysis
  • [#3978] fix NPE cause by future timeout
  • [#4266] fix register branch and release lock failed when the size of rows that modified is greater than 1000 in oracle
  • [#3949] fix the problem that nacos-config.py will not skip blank options. fix bug that split options may cause content loss
  • [#3988] fix the problem that nacos not found user when password has special characters
  • [#3998] fix the NPE of jedis multi.exec
  • [#4011] fix can not get properties of distributed-lock-table in springboot
  • [#4025] fix potential database resource leak
  • [#4023] fix the problem that the xid is not cleared in some scenes of dubbo
  • [#4039] fix RM did not clear XID after the local transaction threw an exception
  • [#4032] fix ApplicationContext already closed problem when Seata server using ShutdownHook to destroy
  • [#4074] fix prevents XA mode resource suspension
  • [#4107] fix deadlock problems during project construction
  • [#4158] fix the logback can't load the RPC_PORT
  • [#4162] fix correct built-in properties for redis registry
  • [#4165] fix StringUtils.toString(obj) throw ClassCastException when the obj is primitive data array
  • [#4169] fix xa mode originalConnection has been closed, cause PhaseTwo fail to execute
  • [#4177] fix the problem of accidentally releasing the global lock
  • [#4174] fix delete undo log connection already closed
  • [#4189] fix the kafka-appender.xml and logstash-appender.xml
  • [#4213] fix code for "sessionMode" not execute problem
  • [#4220] fix some problems with zstd compressor and add the version of the kotlin-maven-plugin
  • [#4222] fix could not rollback when insert field list is empty
  • [#4253] update executor store the actually modified columns but not only the columns in set condition
  • [#4276] fix seata-test module UT not work
  • [#4278] fix the problem that mysql's Blob/Clob/NClob data type cannot be deserialized
  • [#4302] fix the problem that other ORMs may not be able to obtain the auto-incrementing primary key value
  • [#4233] fix data remanence problems in lock and branch under specific circumstances.
  • [#4308] fix the TableMetaCache parsing problem with the same table under multiple Postgresql schemas
  • [#4326] fix inability to build Executor when using mariadb driver
  • [#4355] fix mysql-loadbalance resource id error
  • [#4310] fix the problem that failed to obtain the self increment ID of MySQL database through "select last_insert_id"
  • [#4331] fix dirty write check exception that may occur when using ONLY_CARE_UPDATE_COLUMNS configuration
  • [#4228] fix resource suspension in xa mode caused by choose other ip as channel alternative
  • [#4408] fix the invalid environment variable in container env
  • [#4441] fix the problem that pipelined resources are not closed in redis mode and add branchSession judge branchSessions is not null
  • [#4438] fix the problem that GlobalSession could not be deleted normally in the case of delayed deletion in the file mode of the develop branch
  • [#4432] fix the inability to get some remote configurations
  • [#4452] fix the change log of 'service.disableGlobalTransaction' config
  • [#4449] fix redis mode page npe and optimize get globalSession on average
  • [#4459] fix the failure to obtain before image and after image on oracle and pgsql of the develop branch
  • [#4471] in branch 'develop', fix the error when service.vgroupMapping change
  • [#4474] fix Mysql multi-bit Bit type field rollback error
  • [#4492] fix the failure to update cluster list dynamically when use eureka of the develop branch
  • [#4535] fix FileSessionManagerTest fail
  • [#4561] fix allSessions/findGlobalSessions may return null and cause npe
  • [#4505] fix fastjson serialization of time data types
  • [#4579] fix prepareUndoLogAll of MySQLInsertOrUpdateExecutor
  • [#4005] fix PK constraint name isn't the same as the unique index name which is belong to PK
  • [#4062] fix saga complex parameter deserialization problem
  • [#4199] fix rpc tm request timeout
  • [#4352] fix some problem of the sql parser
  • [#4487] fix remove Pagination hideOnlyOnePage attribute
  • [#4449] fix optimize redis limit and fix redis page bug
  • [#4608] fix test case
  • [#3110] fix the problem of unit test

optimize:

  • [#4163] improve CONTRIBUTING docs
  • [#3678] supplement missing configuration and new version documents
  • [#3654] fix typo,applicationContex -> applicationContext
  • [#3615] asynchronous deletion after the transaction is committed
  • [#3687] fix the case that could not retry acquire global lock
  • [#3689] modify the attribute prefix in the file file.properties
  • [#3528] optimize the memory footprint of redis mode
  • [#3700] optimize the speed of buildLockKey
  • [#3588] optimize the logic of datasource auto proxy
  • [#3626] remove repeat change status
  • [#3722] add the basic code of distributed lock
  • [#3713] unified the default value of enableClientBatchSendRequest
  • [#3120] optimize Configuration and add unit tests
  • [#3735] do not load LoadBalance if not necessary
  • [#3770] close the Closeable and optimize some code
  • [#3627] use TreeMap instead of the LinkedHashMap in TableMeta to compatible high level MySQL
  • [#3760] opt the logback's config of seata-server
  • [#3765] Transfer the operation of adding configuration class from 'AutoConfiguration' to 'EnvironmentPostProcessor'
  • [#3730] Refactoring the code of TCC mode
  • [#3820] add column action_name to the tcc_fence_log
  • [#3738] JacksonUndoLogParser supports to parsing LocalDateTime
  • [#3794] optimize the packaging of seata-server
  • [#3795] optimize zk registry lookup performance
  • [#3840] optimiza apm-skwalking operation method to generate rules
  • [#3834] optimize seata-distribution add apm-seata-skywalking
  • [#3847] optimize ConcurrentHashMap.newKeySet replace ConcurrentSet
  • [#3311] supports reading all configurations from a single Consul key
  • [#3849] optimize string concat
  • [#3890] optimize only the inserted fields are checked
  • [#3895] optimize decode exception
  • [#3898] add jib-maven-plugin
  • [#3904] ehance metrics and fix seata-server UT not work
  • [#3212] optimize recognize sql in limit and order by
  • [#3905] optimize nacos-config.sh to support ash
  • [#3935] optimize Send redis command at one time using pipeline
  • [#3916] optimize determine whether the server in the register is alive
  • [#3918] cache reflection results of the fields and methods
  • [#3898] add jib-maven-plugin
  • [#3907] optimize set server port
  • [#3912] support config JVM param in env
  • [#3939] use map instead of if else judge for more change in the future
  • [#3955] add a start banner for seata
  • [#3954] replace @Deprecated getOwnernName to getOwnerName in druid
  • [#3981] optimize service port priority
  • [#4013] optimize channel alive check
  • [#3982] optimize readme doc and upgrade some dependencies
  • [#3949] nacos-config.py support default parameters and optional input parameters
  • [#3991] disable listening in the FileConfiguration center in Springboot
  • [#3994] Optimize the mechanism of periodically deleting tasks in the tcc_fence_log table
  • [#3327] supports reading all configurations from a single Etcd3 key
  • [#4001] support to read YML configuration from Nacos, Zookeeper, Consul, Etcd3
  • [#4017] optimize file configuration
  • [#4018] optimize Apollo configuration
  • [#4021] optimize Nacos、Consul、Zookeeper、Etcd3 configuration
  • [#4034] optimize Nacos, Consul, Zookeeper and Etcd3 configuration Junit test Class
  • [#4055] optimize NetUtil#getLocalAddress0
  • [#4086] optimize lazily load branch transactions and task scheduling
  • [#4056] optimize the DurationUtil
  • [#4103] optimize AbstractLockManager#collectRowLocks logic
  • [#3733] optimize acquire lock logic
  • [#4144] support default configuration of tx-service-group
  • [#4157] optimize client batch sending.
  • [#4191] support rpc timeout can be customized.
  • [#4216] no more attempt to clean undolog for none AT mode
  • [#4176] use expire key instead hash when using redis as registry center.
  • [#4196] tc batch response to client.
  • [#4212] optimize the interface of the console
  • [#4237] skip check lock when all the before image is empty
  • [#4251] optimize partial code handling
  • [#4262] optimize tcc module code handling
  • [#4235] optimize instance saved in eureka
  • [#4277] optimize acquire lock return fail-fast code in redis-pipeline mode.
  • [#4284] support authentication of MSE-Nacos with ak/sk
  • [#4299] optimize exceptions to make them friendly
  • [#4300] optimize let DefaultCoordinator invoke NettyRemotingServer's close method,no longer closed by ServerRunner
  • [#4270] improve the performance of global commit and global rollback, asynchronous branch transaction cleanup
  • [#4307] when in TCC mode there is no need to delete global locks
  • [#4303] tcc_fence_log table hanging log records are deleted asynchronously
  • [#4328] upload configuration script support comments
  • [#4305] optimize acquire global lock fail error log print on tc
  • [#4336] add SQL exception prompt not supported by AT mode
  • [#4359] support configuration metadata read from environment variables
  • [#4247] add tests for java17 and springboot in the github/actions
  • [#4353] Slimming down for the seata-all.jar
  • [#4393] skip reload for redis & db mode
  • [#4400] asynchronous tasks handle global transactions in parallel
  • [#4391] commit/rollback retry timeout event
  • [#4409] add copyright header to test classes
  • [#4282] optimize build UndoItem logic
  • [#4407] file mode does not require lazy processing of sessions
  • [#4436] optimize global session query in file mode
  • [#4431] limit the number of queries in Redis storage mode
  • [#4465] optimize client version transfer in tc batch response to client mode.
  • [#4469] optimize the way to get configuration in DB mode of console
  • [#4478] optimize Nacos config and naming properties
  • [#4522] optimize GC parameters in JVM
  • [#4517] enhance fail/timeout status metric and log level
  • [#4451] filesessionmanager changed to singleton and optimized task thread pool processing
  • [#4551] optimize metrics rt statistics
  • [#4574] support accessKey/secretKey auto configuration
  • [#4583] use HmacSHA256 instead of HmacSHA1 for ram signature
  • [#4591] optimize the default value of the switch
  • [#3780] optimize upgrade the Druid version
  • [#3797] optimize support instance BusinessActionContext outside the TCC try method
  • [#3909] optimize collectRowLocks method
  • [#3763] optimize github actions
  • [#4345] optimize fix the path of the package
  • [#4346] optimize the log of the server and remove lombok
  • [#4348] optimize Unified management the versions of maven-plugin
  • [#4354] optimize the tests of SAGA
  • [#4227] optimize the versions of the dependencies
  • [#4403] optimize disable SAGA tests
  • [#4453] optimize upgrade eureka-clients and xstream dependencies
  • [#4481] optimize nacos config and naming properties
  • [#4477] optimize debug log and fix typo
  • [#4484]optimize the log of TM/RM register
  • [#3874] optimize Add logo of registered enterprise,and Change image source to Alicdn
  • [#4458] optimize fix the README.md of metrices module
  • [#4482] optimize remove duplicated word

test:

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.4.2

3 years ago

Seata 1.4.2 Released.

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

The version is updated as follows:

feature:

  • [#2933] add antlr for mysql sqlparser
  • [#3228] support custom serialization plugin
  • [#3172] support undo_log compression mode in AT
  • [#3372] Saga support customize whether update last retry log
  • [#3411] support seata-server thread pool parameters configuration
  • [#3348] support redis sentinel storage mode in TC
  • [#2667] support password decryption when using db and redis storage mode
  • [#3427] add distributed lock interface
  • [#3443] support send the seata-server log to logstash or kafka
  • [#3486] add transaction service group for metric
  • [#3317] support to obtain multiple configurations through a single node when using zookeeper as configuration center
  • [#3516] support acl-token when consul is used registry and configuration center
  • [#3116] support configuring apollo configService and cluster
  • [#3468] saga support loop execution on state
  • [#3447] support Transaction context printing in logging framework

bugfix:

  • [#3258] fix AsyncWorker potential OOM problem
  • [#3293] fix configuration cache get value type mismatch exception
  • [#3241] forbidden use order by or limit in multi sql
  • [#3406] fix the value can not be push to nacos when special charset in config.txt
  • [#3418] fix getGeneratedKeys may get history pk
  • [#3408] fix the NPE problem of jar running mode when the third-dependency on separate packaging
  • [#3431] fix property bean may not be initialized when reading configuration
  • [#3413] fix the logic of rollback to savepoint and release to savepoint
  • [#3367] when the xa branch is rollback, it cannot be executed due to idle state
  • [#3448] reduce unnecessary competition and remove missing locks
  • [#3451] fix set auto-commit to true when local transactions are not being used. Failure to compete for a lock causes the global transaction to exit, invaliding the global row lock and dirty writing of the data.
  • [#3481] fix seata node refresh failure because of consul client throws exceptions
  • [#3491] fix typo in README.md
  • [#3531] fix the NPE of RedisTransactionStoreManager when get branch transactions
  • [#3500] fix oracle and postgreSQL can't query column info
  • [#3560] fix the problem that the asynchronous task of the transactions in the committing state has no time threshold and cannot recover the transaction
  • [#3555] do not call setBlob to invalid the jdbc exception
  • [#3540] fix server distribution missing files
  • [#3597] fix the possible NPE
  • [#3568] fix automatic datasource agent caused by ConcurrentHashMap.computeIfAbsent Deadlock problem
  • [#3402] fix the problem that the updated column cannot be resolved because the field name in the updated SQL contains the database name
  • [#3464] fix test case NPE and StackTraceLogger's log.
  • [#3522] fix register branch and store undolog when AT branch does not need compete lock
  • [#3635] fix pushing notification failed when the configuration changed in zookeeper
  • [#3133] fix the case that could not retry acquire global lock
  • [#3156] optimize the logic of SpringProxyUtils.findTargetClass

optimize:

  • [#3341] optimize the format of the path to the specified configuration file
  • [#3385] optimize github action and fix unit test failure
  • [#3175] improve UUIDGenerator using "history time" version of snowflake algorithm
  • [#3291] mysql jdbc connect param
  • [#3336] support using System.getProperty to get netty config property
  • [#3369] add github action secrets env for dockerHub
  • [#3343] Migrate CI provider from Travis CI to Github Actions
  • [#3397] add the change records folder
  • [#3303] supports reading all configurations from a single Nacos dataId
  • [#3380] globalTransactionScanner listener optimize
  • [#3123] optimize the packing strategy of seata-server
  • [#3415] optimize maven clean plugin to clear the distribution directory
  • [#3316] optimize the property bean may not be initialized while reading config value
  • [#3420] optimize enumerated classes and add unit tests
  • [#3533] added interface to get current transaction role
  • [#3436] optimize typo in SQLType class
  • [#3439] adjust the order of springApplicationContextProvider so that it can be called before the XML bean
  • [#3248] optimize the config of load-balance migration to belong the client node
  • [#3441] optimize the auto-configuration processing of starter
  • [#3466] String comparison uses equalsIgnoreCase()
  • [#3476] support when the server parameter passed is hostname, it will be automatically converted to IP
  • [#3236] optimize the conditions for executing unlocking
  • [#3485] optimize useless codes in ConfigurationFactory
  • [#3505] optimize useless if judgments in the GlobalTransactionScanner class
  • [#3544] optimize the get pks by auto when auto generated keys is false
  • [#3549] unified the length of xid in different tables when using DB storage mode
  • [#3551] make RETRY_DEAD_THRESHOLD bigger and configurable
  • [#3589] Changed exception check by JUnit API usage
  • [#3601] make LoadBalanceProperties compatible with spring-boot:2.x and above
  • [#3513] Saga SpringBeanService invoker support switch json parser
  • [#3318] make CLIENT_TABLE_META_CHECKER_INTERVAL configurable
  • [#3371] add applicationId for metric
  • [#3459] remove duplicate validAddress code
  • [#3215] opt the reload during startup in file mode
  • [#3631] optimize nacos-config.py parameter
  • [#3638] optimize the error when use update or delete with join in sql
  • [#3523] optimize release savepoint when use oracle
  • [#3458] reversion the deleted md
  • [#3574] repair Spelling errors in comments in EventBus.java files
  • [#3573] fix designer directory path in README.md
  • [#3662] update gpg key
  • [#3664] optimize some javadocs
  • [#3637] register the participating companies and pull request information

test

  • [#3381] test case for tmClient
  • [#3607] fixed bugs in EventBus unit tests
  • [#3579] add test case for StringFormatUtils
  • [#3365] optimize ParameterParserTest test case failed
  • [#3359] remove unused test case
  • [#3578] fix UnfinishedStubbing Exception in unit test case
  • [#3383] optimize StatementProxyTest unit test

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.