Downloads
Seata
GitHub: https://github.com/apache/incubator-seata
Release Notes: https://github.com/apache/incubator-seata/releases
1.5.2 (2022-07-12)
Release notes
Seata 1.5.2
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 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
witheasyj-maven-plugin
to fix the conflict betweenshade
andflatten
- [#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.
- slievrly
- pengten
- YSF-A
- tuwenlin
- Ifdevil
- wingchi-leung
- liurong
- opelok-z
- funky-eyes
- 2129zxl
- Smery-lxm
- doubleDimple
- wangliang181230
- Bughue
- AYue-94
- lingxiao-wu
- caohdgege
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
1.5.1 (2021-05-17)
Release notes
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 theSaga
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)
throwClassCastException
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
andlogstash-appender.xml
- [#4213 ] fix code for "sessionMode" not execute problem
- [#4220 ] fix some problems with
zstd
compressor and add the version of thekotlin-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 thetcc_fence_log
- [#3738 ]
JacksonUndoLogParser
supports to parsingLocalDateTime
- [#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
addapm-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
andspringboot
in thegithub/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
Thanks to these contributors for their code commits. Please report an unintended omission.
- slievrly
- wangliang181230
- funky-eyes
- lvekee
- caohdgege
- lightClouds917
- objcoding
- siyu
- GoodBoyCoder
- pengten
- Bughue
- doubleDimple
- zhaoyuguang
- liuqiufeng
- jsbxyyx
- lcmvs
- onlinechild
- xjlgod
- h-zhi
- tanzzj
- miaoxueyu
- selfishlover
- tuwenlin
- dmego
- xiaochangbai
- Rubbernecker
- ruanun
- huan415
- drgnchan
- cmonkey
- 13414850431
- ls9527
- xingfudeshi
- spilledyear
- kaka2code
- iqinning
- yujianfei1986
- elrond-g
- jameslcj
- zhouchuhang
- xujj
- mengxzh
- portman
- anselleeyy
- wangyuewen
- imherewait
- wfnuser
- zhixing
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.