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

| <details> <summary><mark>Release notes</mark></summary> Seata 1.4.2 Released. Seata is an easy-to-use, high-performance, open source distributed transaction solution. The version is updated as follows: ] support undo_loge compression mode in AT ] Saga support customize whether update last retry log ] support seata server thread pool parameters configuration ] support redis sentinel storage mode in TC ] support password decryption when using db and redis storage mode ] add distributed lock interface ] send the `seata-server` log to `logstash` or `kafka` ] add transaction service group for metric ] support to obtain multiple configurations through a single node when using zookeeper as configuration center ] add antlr for mysql sqlparser ] support custom serialization plugin ] support acl-token when consul is used registry and configuration center ] support configuring apolloService and apolloCluster ] saga support loop execution on state ] support Transaction context printing in logging framework ] fix AsyncWorker potential OOM problem ] fix configuration cache get value type mismatch exception ] forbidden use order by or limit in multi sql ] fix the value can not be push to nacos when special charset in config.txt ] fix getGeneratedKeys may get history pk ] fix the NPE problem of jar running mode when the third-dependency on separate packaging ] fix property bean may not be initialized when reading configuration ] fix the logic of rollback to savepoint and release to savepoint ] when the xa branch is rollback, it cannot be executed due to idle state ] reduce unnecessary competition and remove missing locks ] fix set auto-commit to true when local transactions are not being used. Failure to compete for a lock causes the global transaction to exit, invaliding the global row lock and dirty writing of the data. ] fix seata node refresh failure because of consul client throws exceptions ] fix typo in README.md ] fix the NPE of RedisTransactionStoreManager when get branch transactions ] fix oracle and postgreSQL can't query column info ] fix the problem that the asynchronous task of the transactions in the committing state has no time threshold and cannot recover the transaction ] do not call setBlob to invalid the jdbc exception ] fix server distribution missing files ] fix the possible NPE ] fix automatic datasource agent caused by ConcurrentHashMap.computeIfAbsent Deadlock problem ] fix the problem that the updated column cannot be resolved because the field name in the updated SQL contains the database name ] fix test case NPE and StackTraceLogger's log. ] fix register branch and store undolog when AT branch does not need compete lock ] fix pushing notification failed when the configuration changed in zookeeper ] fix the case that could not retry acquire global lock ] optimize the logic of

] optimize the format of the path to the specified configuration file ] optimize github action and fix unit test failure ] improve UUIDGenerator using "history time" version of snowflake algorithm ] mysql jdbc connect param ] support using System.getProperty to get netty config property ] add github action secrets env for dockerHub ] Migrate CI provider from Travis CI to Github Actions ] add the change records folder ] supports reading all configurations from a single Nacos dataId ] globalTransactionScanner listener optimize ] optimize the packing strategy of seata-server ] optimize maven clean plugin to clear the distribution directory ] optimize the property bean may not be initialized while reading config value ] optimize enumerated classes and add unit tests ] added interface to get current transaction role ] optimize typo in SQLType class ] adjust the order of springApplicationContextProvider so that it can be called before the XML bean ] optimize the config of load-balance migration to belong the client node ] optimize the auto-configuration processing of starter ] String comparison uses equalsIgnoreCase() ] support when the server parameter passed is hostname, it will be automatically converted to IP ] optimize the conditions for executing unlocking ] optimize useless codes in ConfigurationFactory ] optimize useless if judgments in the GlobalTransactionScanner class ] optimize the get pks by auto when auto generated keys is false ] unified the length of xid in different tables when using DB storage mode ] make RETRYDEADTHRESHOLD bigger and configurable ] Changed exception check by JUnit API usage ] make `LoadBalanceProperties` compatible with `spring-boot:2.x` and above ] Saga SpringBeanService invoker support switch json parser ] make CLIENTTABLEMETACHECKERINTERVAL configurable ] add applicationId for metric ] remove duplicate validAddress code ] opt the reload during startup in file mode ] optimize nacos-config.py parameter ] optimize the error when use update or delete with join in sql ] optimize release savepoint when use oracle ] reversion the deleted md ] repair Spelling errors in comments in EventBus.java files ] fix designer directory path in README.md ] update gpg key ] optimize some javadocs ] register the participating companies and pull request information ] test case for tmClient ] fixed bugs in EventBus unit tests ] add test case for StringFormatUtils ] optimize ParameterParserTest test case failed ] remove unused test case ] fix UnfinishedStubbing Exception in unit test case ] optimize StatementProxyTest unit 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. 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>