Seata v1.4.0 Release Notes
Release Date: 2020-11-02 // over 3 years ago-
π Seata 1.4.0 Released.
π Seata is an easy-to-use, high-performance, open source distributed transaction solution.
β‘οΈ The version is updated as follows:
π featureοΌ
- π§ [#2380] support yml configuration
- π [#3191] support jdbc type nclob
- π [#2676] support least active load balance
- π [#3198] spring boot support for custom config and registry type
- π§ [#2806] support configuring default global transaction timeoutMillis
- π§ [#2941] add apollo secret key configuration
- π [#2080] support ConsistentHashLoadBalance
- π [#2950] support the reentrant lock in redis module
- [#2913] The data source proxy mode can be selected as AT or XA
- π [#2856] support for undoLog using Fst serialization
- π [#3076] check lock in TC when use @GlobalLock
- π [#2825] support send authentication msg
- π [#2962] @GlobalTransactional and @GlobalLock can support customize lock retry config
π bugfixοΌ
- [#3214] fix the 'RootContext.DEFAULT_BRANCH_TYPE' is wrong in some cases
- β‘οΈ [#3129] forbidding execute SQL which update pk value
- π§ [#3205] fix can not get boolean value in configuration
- [#3170] the disposables tree set won't accept another Disposable with the same priority
- π¦ [#3180] serializer fst package name error
- π [#3178] remove next line to space
- β¬οΈ [#2929] fix the application was configured to degrade at startup and can't be dynamically switch to upgraded
- β‘οΈ [#3050] fix fetch before images when delete and update statements
- [#2935] fix saga designer bug that the property box does not switch when switching nodes
- [#3140] fix Propagation.REQUIRES_NEW and add some comments
- [#3130] fix some problems in the automatic data source proxy
- π [#3148] the redis lock key and the session key has conflict
- [#3136] fix the redis pipeline
- [#2551] Saga can't be used when the dataSource is AT's dataSourceProxy
- [#3073] do not proxy connections without an xid
- [#3074] There is no need to retry if the XA schema cannot find the XID
- [#3097] fix HttpAutoConfiguration always instantiation in springboot env
- [#3071] part of the connection is not unpacked
- π [#3056] fixed a bug that after branch deletion, there are still remaining branch lock
- π¦ [#3025] fix the wrong package path
- π [#3031] redis locker delete lock incomplete
- [#2973] fix oracle database in field size over 1000
- π [#2986] fix checkstyle plugin can't exclude single file
- [#2910] fix error registry type comment
- [#2914] fix branchType not cleaned when consumer is in TCC mode
- π [#2926] fastjson write undo log not parser
- [#2897] fix jedis unlock fail
- βͺ [#2918] fix the isolation problem when rollback in AT mode
- [#2972] UUIDGenerator generates duplicated id
- [#2932] nacos-config.py script could not run with namespace
- [#2900] ColumnUtils add escape with scheme
- [#2904] fix getConfig cache value is 'null'
- [#2890] fix misspelling in statelang examples
- [#3040] fix repeated commit when autocommit is false
- [#3230] fix use @EnableAutoDataSourceProxy startup failed
- [#2979] columns of resultset integrated with sharingjdbc need to be lowercase
- [#3233] fix Collections NPE
- [#3242] fix batch sql getTableMeta error
- π» [#3246] fix the exception when limit condition contains VariantRefExpr
β‘οΈ optimizeοΌ
- π¨ [#3062] refactor the redis session store
- β‘οΈ [#3201] optimize the wrong stack not fully display
- π [#3117] make log more clearly and remove the useless code
- β‘οΈ [#3134] optimize codes related to Map and List
- β‘οΈ [#3195] optimize XID related codes
- β‘οΈ [#3200] optimize rpc message when message was substring
- π [#3186] remove duplicated in string utils
- π [#3162] remove repeated conditional tests
- β¬οΈ [#2969] upgrade to druid 1.1.23
- β¬οΈ [#3141] upgrade nacos and FastJSON dependencies
- π [#3118] add more configuration tips in additional-spring-configuration-metadata.json
- [#2597] judging xid status to avoid repeated processing
- β‘οΈ [#3102] optimize ContextCore, can be set 'Object' value
- π¨ [#3016] refactor the redis lock string to hash
- π [#3046] remove unused code in serializer factory
- π§ [#3053] jedis pool adds maxtotal configuration
- π [#3012] remove set port repeatedly
- β‘οΈ [#2978] optimize globalCommit for mixed use of AT and TCC
- [#2967] replace with lambda
- [#2968] ensure that the register message is sent after RM client initialization
- β‘οΈ [#2945] optimize async commit and reduce one update
- π [#2952] optimize additional-spring-configuration-metadata.json
- β‘οΈ [#2920] optimize some grammatical errors
- π§ [#2906] added some configuration items to keep consistent with official documents
- β‘οΈ [#3222] optimize fileListener to decrease cpu time usage
- π [#2843] removed Reloadable from the redis/db SessionManager
- [#3209] add using company logos
Thanks to these contributors for their code commits. Please report an unintended omission.
- slievrly
- wangliang181230
- a364176773
- jsbxyyx
- l81893521
- lightClouds917
- caohdgege
- yujianfei1986
- ph3636
- PeineLiang
- heyaping388
- guang384
- zdrjson
- ITAlexSun
- dongzl
- 81519434
- wangwei-yin
- jujinghao
- JRial95
- mxszs1
- RayneHwang
- everyhook1
- li469791221
- luorenjin
- yangxb2010000
- selfishlover
- yyjgit66
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.
Previous changes from v1.3.0
-
π Seata 1.3.0 Released.
π Seata is an easy-to-use, high-performance, open source distributed transaction solution.
β‘οΈ The version is updated as follows:
π featureοΌ
- π [#2398] support multi pk for MySQL
- π [#2484] store mode support redis
- π [#2817] Saga StateMachine engine and Designer support Groovy Script Task
- π [#2646] server support for HikariCP
- β¬οΈ [#2253] support for dynamic upgrade and downgrade
- π [#2565] support for transaction annotations on classes
- π [#2510] support LZ4 compressor
- π [#2622] support version valid check
- π [#2658] dataSources support different permissions of Oracle users
- π§ [#2620] support group configuration in Nacos registry
- [#2699] compatible with ACM
- β‘οΈ [#2509] support for undo full data columns on update operate
- π [#2584] StateHandlerInterceptor and StateRouterInterceptor support SPI
- π [#2808] server check auth support SPI
- [#2616] TCC adapter for Dubbo And Sofa reference annotation
- π [#2831] Saga support jackson json parser
- π [#2554] support zk serializer
- π [#2708] support jdbc type array, datalink etc
- π [#2412] xid generation strategy support snowflake
- π§ [#2611] support the cache of configuration values
π bugfixοΌ
- [#2893] fix get table meta failed in postgresql
- [#2887] fix rm client receive response logic
- [#2610] nacos-script adapt to Nacos 1.2 on permission control
- π [#2588] fix when the check_style does not pass, no detail information output
- π¦ [#2543] fix ApplicationKeeper ShutdownHook signal invalid.
- [#2598] fix unable to register Nacos
- [#2618] fix could not create folder in zookeeper
- [#2628] fix get tableName and alias error in mysql delete
- π [#2639] fix Apollo configuration load fail due to camel style
- [#2629] fix duplicated resource id with different currentSchema in PostgreSQL
- [#2659] fix mysql insert use select last_insert_id is undo_log id value
- [#2670] fix dataSource initialize more times
- [#2617] fix incorrect getAnnotation about class and method
- [#2603] fix can't get generated keys value.
- [#2725] fix other expression before insert row primary key.
- [#2698] fix nested GlobalLock unbind prematurely
- βͺ [#2755] fix not return value when branchCommit and branchRollback throw exception
- βͺ [#2777] fix can't rollback when set rollback retry count was zero.
- [#2812] fix get PostgreSQL tableMeta error when using shardingSphere
- βͺ [#2760] fix TM rollback fail throw the seata exception, rollback retrying throw NPE
- [#2837] fix wrong constant used in the saga SubStateMachineHandler
- π» [#2839] fix business exception is lost when compensation succeed in saga mode
- π [#2650] fix TCC and Saga branches will also parse SQL in AbstractConnectionProxy
- [#2850] Fix Saga designer rounded polylines cause page crashes
- [#2868] fix can't find AsyncEventBus dependency
- [#2871] fix get tableMeta failed when table name like 'schame'.'table'
- [#2685] fix oracle insert sql use sysdate error.
- [#2872] fix missing escape char in the primary key for the undo sql
- [#2875] fix ColumnUtils delEscape with scheme error
β‘οΈ optimizeοΌ
- [#2573] replace Random with ThreadLocalRandom in RandomLoadBalance
- π¨ [#2540] refactor rpc request method and rpc interface
- β‘οΈ [#2642] optimize unsafe double-checked locking in SofaRegistryServiceImpl
- [#2561] keep the same logic of get tableMeta
- 0οΈβ£ [#2591] support the default timeout for zookeeper register
- π¦ [#2601] repackage spring-boot-starter
- [#2415] distinguish database behavior according to the branch type
- π [#2647] remove the unused variable
- β‘οΈ [#2649] optimize get tableMeta
- π [#2652] consul supports custom port
- π· [#2660] modify IdWorker position to make it reasonable
- π
[#2625] polish testing code, replace with
Mockito.verify
- [#2666] add using users organization logos
- π [#2680] Change GlobalTransactionalInterceptor to singleton
- β‘οΈ [#2683] optimize TccActionInterceptor log print
- π¨ [#2477] refactoring client request processing logic.
- π¨ [#2280] refactor InsertExecutor
- π [#2044] optimize ColumnUtils.addEscape method performance
- β‘οΈ [#2730] optimize get config type from configuration
- β‘οΈ [#2723] optimize get tableMeta in postgreSql
- [#2734] change postgreSql driver scope to provide
- β‘οΈ [#2749] optimize logger class misWrite
- [#2751] copy jdbc driver to image
- β‘οΈ [#2759] optimized the generation rules of thread name factory
- π [#2607] support insert pkValue support check
- β‘οΈ [#2765] optimize the processing logic of XA's RM for unsupported transaction resources.
- β [#2771] disable unstable unit tests
- [#2779] CollectionUtils.decodeMap method variables ConcurrentHashMap refact to HashMap
- π¨ [#2486] refactor server handle request process logic from client
- π [#2770] TCC two phase method return type supports void
- β‘οΈ [#2788] optimize server log pattern and support for colored log
- β‘οΈ [#2816] optimize create clazz instance
- π· [#2787] modify workerId generation method
- β‘οΈ [#2776] optimize paramsPlaceHolder generate by StringUtils.repeat()
- [#2799] code opt format
- β¬οΈ [#2829] downgrade check unlock and asynchronous
- βοΈ [#2842] code opt format about the sqls and typos
- β‘οΈ [#2242] optimize PreparedStatementProxy initialization logic
- [#2613] fix typo and some coding guidelines
Thanks to these contributors for their code commits. Please report an unintended omission.
- slievrly
- a364176773
- wangliang1986
- jsbxyyx
- l81893521
- objcoding
- long187
- CharmingRabbit
- diguage
- helloworlde
- chenxi-null
- ph3636
- xianlaioy
- qq925716471
- horoc
- XavierChengZW
- anic
- fxtahe
- wangwengeek
- yangfuhai
- PeineLiang
- f654c32
- dagmom
- caohdgege
- zjinlei
- yyjgit66
- lj2018110133
- wxbty
- hsoftxl
- q294881866
- 81519434
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.