v1.6.0(Not Apache release)
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.
- slievrly
- renliangyu857
- wangliang181230
- a364176773
- tuwenlin
- conghuhu
- a1104321118
- duanqiaoyanyu
- robynron
- lcmvs
- github-ganyu
- 1181954449
- zw201913
- wingchi-leung
- AlexStocks
- liujunlin5168
- pengten
- liuqiufeng
- yujianfei1986
- Bughue
- AlbumenJ
- doubleDimple
- jsbxyyx
- tuwenlin
- CrazyLionLi
- whxxxxx
- neillee95
- crazy-sheep
- zhangzq7
- l81893521
- zhuyoufeng
- xingfudeshi
- odidev
- miaoxueyu
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.