Project: Seata (App Definition and Development / Database)
File: 1.6.0.md

| <details> <summary><mark>Release notes</mark></summary> Seata 1.6.0 Released. Seata is an easy-to-use, high-performance, open source distributed transaction solution. The version is updated as follows: ] support oracle and postgresql multi primary key ] seata-server support multiple registry ] support Apache Dubbo3 ] TCC mode supports tcc annotation marked on both interface and implementation class ] seata client support jdk17 ] support mysql update join sql ] support oracle timestamp types ] support Nacos contextPath ] dockerfile support arm64 ] fix can't post TimeoutRollbacked event after a successful timeout rollback ] fix output expression incorrectly throws npe ] fix in high version springboot property not Standard ] fix when use Statement.executeBatch() can not generate undo log ] fix rollback event repeated and some event status not correct ] fix mysql InsertOnDuplicateUpdate column case is different and cannot be matched ] fix support Oracle nclob types ] fix failed to get server recovery properties ] fix XID port and address null:0 before coordinator.init ] fix rpcContext.getClientRMHolderMap NPE ] fix InsertOnDuplicateUpdate bypass modify pk ] fix kryo support circular reference ] fix startup failure by using OpenJDK 11 ] fix loader path in startup scripts ] fix duplicate image row for update join ] fix mysql InsertOnDuplicateUpdate sql query error caused by placeholder index calculation error ] fix null exception when sql columns is empty for insert on duplicate ] remove

] fix global session is not change to Committed in saga mode ] fix update join condition placeholder param error ] fix mysql InsertOnDuplicateUpdate should not use null index value as image sql query condition ] fix InsertOnDuplicateUpdateExecutor could not intercept the sql which has no primary and unique key ] fix access key loss after seata server restart ] fix when seata and jpa are used together, their AutoConfiguration order is incorrect ] fix NPE caused when there is no @GlobalTransactional annotation on the RM side ] Druid disable oracle implicit cache ] fix metrics tags coverage in the seata-server side ] fix insert value null parsed as string in insert on duplicate SQL ] fix could not intercept the sql witch has no primary and unique key ] fix access key loss after server restart ] fix rollback xa connection active state ] fix hikari datasource auto proxy fail ] fix bad service configuration file and compilation failure ] optimize mysql8 dependencies for seataio/seata-server image ] Add a github action to publish Seata to OSSRH ] mysql 8.0.29 not should be hold for connection ] optimize unBranchLock romove xid ] optimize the github actions ] Add NOTICE as Apache License V2 ] optimize the check lock during global transaction ] use hget replace hmget because only one field ] exclude log4j dependencies ] optimize BaseTransactionalExecutor#buildLockKey(TableRecords rowsIncludingPK) method more readable ] fix some security vulnerabilities in GGEditor ] auto degrade enable to dynamic configure ] tccfence log table delete by index ] add license checker workflow ] upgrade package-lock.json fix vulnerabilities ] optimize pom dependencies ] extract the default values for some properties ] optimize java doc warning ] fix some vulnerabilities in console and upgrade skywalking-eyes ] optimize read of storage configuration ] pass the sqlexception to client when get lock ] optimize build and fix the base image ] optimize cancel the limit on the number of globalStatus queries in Redis mode ] optimize tcc fence record not exists errMessage ] fix undo_log id repeat ] fix mysql InsertOnDuplicateUpdate duplicate pk condition in after image query sql ] remove useless code ] undo log dirty throw BranchRollbackFailed_Unretriable ] intercept the InsertOnDuplicateUpdate statement which has no primary key and unique index value ] remove the druid dependency in ConnectionProxy ] support oracle on delete tccfence logs ] support kryo 5.3.0 ] optimize docker image and oss publish ] optimize transaction timeout judgment ] do not execute triggerAfterCommit() if timeout ] redis mode support sorted set by timeout ] add ARM64 CI workflow ] remove seata-server's CMS parameters ] add UT for oracle in AT mode ] try to fix the test `DataSourceProxyTest.getResourceIdTest()` ] fix ClassNotFoundException during the zk unit test Thanks to these contributors for their code commits. Please report an unintended omission. <!-- Please make sure your Github ID is in the list below --> Also, we receive many valuable issues, questions and advices from our community. Thanks for you all. Seata: https://github.com/seata/seata Seata-Samples: https://github.com/seata/seata-samples Release: https://github.com/seata/seata/releases WebSite: https://seata.io </details>