The version is updated as follows:
feature:
- [#1966] add single send request for client
- [#2004] add config center synchronization script
- [#1997] provides a tool for generating graphics that show the state machine execution path
- [#1992] support dynamic disable
- [#1898] support dynamic config
- [#1983] add hessian codec for rpc serialization
- [#1960] Provide a visual graph designer for Seata Saga StateMachine based on GGEditor
- [#1900] Saga state language support "Retry" service when error occurred
- [#1885] add configuration for build docker image in server module
- [#1914] support where condition exists for Oracle
- [#1878] support exists in where condition
- [#1871] adapt springcloud-alibaba-seata autoconfig
- [#1844] StateMachine ServiceTask supports asynchronous execution
- [#1742] add seata-spring-boot-starter
- [#1460] support gzip compressor
- [#1492] support gRpc
bugfix:
- [#2066] fix thread unsafe which missing double check when initial eureka client
- [#2059] fix repeated rollback caused by asynchronous rollback thread
- [#2050] fix if add configListener but dataId not exist, it will throw NPE
- [#2053] fix when tableName is keyword, the insert operation will get afterImage fail
- [#2054] fix RetryRollbackingSessionManager lost Rollbacking
- [#2043] fix startup failure when dynamic proxy is turned on and use druid-spring-boot-starter
- [#1668] fix sql statement escape symbol
- [#2029] fix seata-spring-boot-starter does not work
- [#2037] fix mysql connection unable to release
- [#2032] fix Etcd3Configuration FILE_CONFIG reference incorrect
- [#1929] fix duplicated table meta cache key
- [#1996] fix auto proxying of datasource which has final modifier
- [#2001] replace deprecated jvm args
- [#1984] fix presuppose environment variable and replace base image for tool
- [#1978] fix FileTransactionStoreManagerTest failed on wins OS
- [#1953] fix get table meta failed with catalog
- [#1973] fix error of get server port in container
- [#1905] solve the lock_key length problem
- [#1927] fix class with private access constructors should not be loaded by SPI.
- [#1961] fix travis-ci exceeded the maximum log length
- [#1893] fix saga dose not delete branches when transaction ended
- [#1932] fix issue of doesn't match environment when build docker image
- [#1912] fix string.format() method formatting error
- [#1917] fix NullPointerException in DB mock during CI
- [#1909] fix xidInterceptorType is null
- [#1902] fix NPE in UndoExecutorFactory
- [#1789] fix xid header lowercase
- [#1889] fix register branch thread hang on tcc mode
- [#1813] fix TCC does not support cross-service
- [#1825] fix global status inconsistent when rollback and branch register are concurrent
- [#1850] fix server restart not recover max sessionId on db mode
- [#1879] fix jdbc parameter set null
- [#1874] fix when write the new file throw ClosedChannelException
- [#1863] fix the other of column type cause rollback fail
- [#1837] fix saga ExpressionEvaluator not support null value
- [#1810] fix statemachine def can't store to db and provide query the state logs
- [#1834] fix StateInstance log can't record output parameters
- [#1856] fix protostuff undo log get default content
- [#1845] fix when branchCommit failed,it will trigger retry of multi-tc and throw npe
- [#1858] fix Global transaction does not work
- [#1846] fix multi-thread concurrent add listener problem
- [#1839] fix filter repeated lock
- [#1768] fix problem when set useInformationSchema true and table name was keyword
- [#1796] fix unexcepted exception can roll back
- [#1805] fix connectionproxy prepareStatement not in global transaction
- [#1780] fix can't use select for update in oracle
- [#1802] changing HashMap to LinkedHashMap for deterministic iterations
- [#1793] fix auto proxy for multiple-datasource does not work
- [#1788] fix mysql can not get primary key value
- [#1764] fix jdk 11 remoteAddress is null
- [#1778] fix clean up resources in time to avoid mutual influence between unit tests
- [#1777] fix DeleteExecutor buildBeforeImageSQL keyword checker by db type
optimize:
- [#2068] optimize get database connection
- [#2056] remove non-javadoc element
- [#1775] optimize datasource manager branch rollback exception log
- [#2000] classify script to correspond directory
- [#2007] enhance test coverage of seata common
- [#1969] add ops script for Docker-Compose, Kubernetes and Helm
- [#1967] Add Dockerfile
- [#2018] optimize about ConfigFuture
- [#2020] optimize saga log output
- [#1975] Flatten Saga nested transactions
- [#1980] show the applicationId when register TM
- [#1994] rename zk configuration root path.
- [#1990] add netty config constant keys.
- [#1979] optimize get select for update recognizer
- [#1957] load keywordChecker through SPI
- [#1956] modify no available server error more clearly, and fixed NP
- [#1958] transform desinger json to statemachine standard json
- [#1951] add using organization logo
- [#1950] leak of error trace while handleAsyncCommitting
- [#1931] nacos-config.py support namespace
- [#1938] optimize the speed when batch insert or batch update
- [#1930] reduce HashMap initial size
- [#1919] force check code style
- [#1918] optimize assert throw exception
- [#1911] javadoc should be used for classes, class variables and methods.
- [#1920] use iterator to remove timeout future.
- [#1907] encapsulation determines the supported database type
- [#1903] batch query branchSession by xid list
- [#1910] all Override methods must be annotated with @OverRide
- [#1906] add exception system exit code when rpcServer init.
- [#1897] remove clientTest it's not use
- [#1883] restructure SQLRecognizer and UndoExecutor
- [#1890] reformat saga module
- [#1798] improving method format performance
- [#1884] optimize auto closeable
- [#1869] add phase one successful reporting switch
- [#1842] add some init script
- [#1838] simplify and groom configuration items
- [#1866] server lack of error trace
- [#1867] optimization of seata-spring-boot-starter
- [#1817] add unit test for seata-tm module
- [#1823] reduce server rpc with db
- [#1835] SagaTransactionalTemplate provide reloadTransaction method
- [#1861] optimize no primary key output log
- [#1836] change "IsPersist" property value type from String to Boolean
- [#1824] remove deprecated JVM arguments in Java 11
- [#1820] adjust check style
- [#1806] format error log
- [#1815] update codecov.yml
- [#1811] adjust codecov configuration
- [#1799] reduce unnecessary synchronized
- [#1674] increase rm code coverage by db mock
- [#1710] add prefix counter for NamedThreadFactory
- [#1790] format seata server register eureka instance id
- [#1760] put message to logQueue
- [#1787] make rpc remoting log easier to read
- [#1786] simplify code
- [#1766] remove unused method
- [#1770] string splice and release lock
Thanks to these contributors for their code commits. Please report an unintended omission.
- slievrly
- long187
- jsbxyyx
- l81893521
- helloworlde
- xingfudeshi
- zjinlei
- CharmingRabbit
- objcoding
- cmonkey
- lzf971107
- ggndnn
- lightClouds917
- ruqinhu
- yuhuangbin
- anrror
- a364176773
- caohdgege
- contextshuffling
- echooymxq
- github-ygy
- iapplejohn
- jKill
- Justice-love
- lovepoem
- niaoshuai
- ph3636
- wangwei-ying
- whjjay
- yangfuhai
- zhongfuhua
- lizwmaster
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.