Skip to content

v1.5.1

Compare
Choose a tag to compare
@slievrly slievrly released this 17 May 01:54
· 252 commits to master since this release
ede95ef

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.