v1.5.1(Not Apache release)
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 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
test:
Thanks to these contributors for their code commits. Please report an unintended omission.
- slievrly
- wangliang181230
- a364176773
- 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.