Seata v1.1.0 Release Notes

Release Date: 2020-02-20 // about 1 month ago
  • ⚑️ The version is updated as follows:

    πŸ”‹ feature:

    • πŸ‘ [#2200] support postgresql(client and server)
    • [#1746] integrate with httpClient
    • ⏱ [#2240] support custom saga transaction recovery strategy on transaction timeout
    • πŸ‘ [#1693] support for druid class isolation loading
    • πŸ‘ [#2245] zookeeper digest support
    • [#2239] compatibility dubbo 2.7.4+
    • πŸ”§ [#2203] support nacos configuration group
    • πŸ”§ [#2086] support apollo configuration namespace
    • πŸ‘ [#2106] support FastThreadLocalContextCore
    • πŸ“œ [#1703] create sql parser SPI and a druid type sql parser
    • [#2151] Saga provide a switch to skip branch report on branch success

    πŸ›  bugfix:

    • πŸ‘· [#2270] fix worker size not support enum type and some minor problem
    • [#2258] fix channelHandler not sharable
    • [#2261] fix ApplicationContext has not been refreshed
    • [#2262] fix nacos script set group error
    • [#2249] fix saga statemachine status incorrect on register branch failed
    • [#2126] fix escape characters for column and table names
    • [#2234] fix type error when fastjson deserialize long type
    • 🏁 [#2237] fix DefaultCoordinatorTest failed in Windows OS
    • [#2233] fix fastjson undo filter tableMeta
    • πŸ”§ [#2172] fix configuration center can't read configuration using SpringCloudConfig
    • [#2217] fix wrong property names in seata-spring-boot-starter
    • [#2219] fix the value of disableGlobalTransaction not being read correctly
    • βͺ [#2187] fix the wrong rollback sequence caused by the same record request from different transaction branches on different servers
    • [#2175] fix direct buffer OOM
    • βͺ [#2210] fix retry expired commit and rollback globalSession can't be removed
    • [#2179] fix type casting problem when using redis as registry
    • [#2192] fix override eureka getHostName() return ipAddress
    • πŸš€ [#2198] fix global lock not released when rollback retry timeout
    • [#2167] fix saga concurrent asynchronous execution with duplicate primary key xid
    • [#2185] fix issue of judgement container in kubernetes
    • [#2145] fix Saga report branch status incorrect when service retried succeed
    • βͺ [#2113] fix when branchRollback failed, it will trigger retry of multi-tc

    ⚑️ optimize:

    • ⚑️ [#2255] optimize some default configuration value
    • πŸ’… [#2230] unify the config style and keep defaults consistent
    • ⚑️ [#1935] some about rpc optimize
    • ⚑️ [#2215] optimize handing saga transaction timeout
    • [#2227] separate tc In/Outbound interface
    • 0️⃣ [#2033] an optimization about DefaultRemotingParser
    • [#1688] reduce unnecessary dependences in client side
    • [#2134] separate the different transaction pattern processing logic
    • πŸ’… [#2224] optimize ContextCoreLoader code style
    • ⚑️ [#2171] optimize script and add script usage demo
    • [#2208] replace getDbType with LoadLevel name
    • ⚑️ [#2182] optimize configuration item prefix judgment
    • πŸ’… [#2211] optimize RootContext code style
    • πŸ’… [#2140] optimize GzipUtil code style
    • ♻️ [#2209] refactor seata-discovery more readable
    • ♻️ [#2055] refactor tableMetaCache and undoLogManager with SPI
    • ♻️ [#2184] refactor seata-config more readable
    • ♻️ [#2095] refactor of auto proxying of datasource
    • 0️⃣ [#2178] saga statemachine designer add default properties for catch node
    • πŸ’… [#2103] optimize tcc module code style
    • πŸ“¦ [#2125] change the package path of MySQL recognizer
    • ✏️ [#2176] fix typos
    • ♻️ [#2156] refactor sql parser type druid as constant
    • βœ… [#2170] enhance test coverage of seata common
    • [#2139] gracefully close resources
    • πŸ“¦ [#2097] use serializer package name instead of codec
    • πŸ’… [#2159] optimize spring module code style
    • ⚑️ [#2036] optimize Dubbo parser
    • πŸ’… [#2062] optimize seata-rm-datasource module code style
    • ⚑️ [#2146] optimize log specifications
    • [#2038] simplify to make seata-common more readable
    • ✏️ [#2120] fix typos
    • ✨ [#2078] enhance oracle table meta cache code coverage
    • ✏️ [#2115] fix typos
    • πŸ’… [#2099] optimize tm module code style

    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.


Previous changes from v1.0.0

  • ⚑️ 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
    • 0️⃣ [#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.

    Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.