Releases: apache/incubator-seata
v1.4.2(Not Apache release)
Seata 1.4.2 Released.
Seata is an easy-to-use, high-performance, open source distributed transaction solution.
The version is updated as follows:
feature:
- [#2933] add antlr for mysql sqlparser
- [#3228] support custom serialization plugin
- [#3172] support undo_log compression mode in AT
- [#3372] Saga support customize whether update last retry log
- [#3411] support seata-server thread pool parameters configuration
- [#3348] support redis sentinel storage mode in TC
- [#2667] support password decryption when using db and redis storage mode
- [#3427] add distributed lock interface
- [#3443] support send the
seata-server
log tologstash
orkafka
- [#3486] add transaction service group for metric
- [#3317] support to obtain multiple configurations through a single node when using zookeeper as configuration center
- [#3516] support acl-token when consul is used registry and configuration center
- [#3116] support configuring apollo configService and cluster
- [#3468] saga support loop execution on state
- [#3447] support Transaction context printing in logging framework
bugfix:
- [#3258] fix AsyncWorker potential OOM problem
- [#3293] fix configuration cache get value type mismatch exception
- [#3241] forbidden use order by or limit in multi sql
- [#3406] fix the value can not be push to nacos when special charset in config.txt
- [#3418] fix getGeneratedKeys may get history pk
- [#3408] fix the NPE problem of jar running mode when the third-dependency on separate packaging
- [#3431] fix property bean may not be initialized when reading configuration
- [#3413] fix the logic of rollback to savepoint and release to savepoint
- [#3367] when the xa branch is rollback, it cannot be executed due to idle state
- [#3448] reduce unnecessary competition and remove missing locks
- [#3451] 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.
- [#3481] fix seata node refresh failure because of consul client throws exceptions
- [#3491] fix typo in README.md
- [#3531] fix the NPE of RedisTransactionStoreManager when get branch transactions
- [#3500] fix oracle and postgreSQL can't query column info
- [#3560] fix the problem that the asynchronous task of the transactions in the committing state has no time threshold and cannot recover the transaction
- [#3555] do not call setBlob to invalid the jdbc exception
- [#3540] fix server distribution missing files
- [#3597] fix the possible NPE
- [#3568] fix automatic datasource agent caused by ConcurrentHashMap.computeIfAbsent Deadlock problem
- [#3402] fix the problem that the updated column cannot be resolved because the field name in the updated SQL contains the database name
- [#3464] fix test case NPE and StackTraceLogger's log.
- [#3522] fix register branch and store undolog when AT branch does not need compete lock
- [#3635] fix pushing notification failed when the configuration changed in zookeeper
- [#3133] fix the case that could not retry acquire global lock
- [#3156] optimize the logic of SpringProxyUtils.findTargetClass
optimize:
- [#3341] optimize the format of the path to the specified configuration file
- [#3385] optimize github action and fix unit test failure
- [#3175] improve UUIDGenerator using "history time" version of snowflake algorithm
- [#3291] mysql jdbc connect param
- [#3336] support using System.getProperty to get netty config property
- [#3369] add github action secrets env for dockerHub
- [#3343] Migrate CI provider from Travis CI to Github Actions
- [#3397] add the change records folder
- [#3303] supports reading all configurations from a single Nacos dataId
- [#3380] globalTransactionScanner listener optimize
- [#3123] optimize the packing strategy of seata-server
- [#3415] optimize maven clean plugin to clear the distribution directory
- [#3316] optimize the property bean may not be initialized while reading config value
- [#3420] optimize enumerated classes and add unit tests
- [#3533] added interface to get current transaction role
- [#3436] optimize typo in SQLType class
- [#3439] adjust the order of springApplicationContextProvider so that it can be called before the XML bean
- [#3248] optimize the config of load-balance migration to belong the client node
- [#3441] optimize the auto-configuration processing of starter
- [#3466] String comparison uses equalsIgnoreCase()
- [#3476] support when the server parameter passed is hostname, it will be automatically converted to IP
- [#3236] optimize the conditions for executing unlocking
- [#3485] optimize useless codes in ConfigurationFactory
- [#3505] optimize useless if judgments in the GlobalTransactionScanner class
- [#3544] optimize the get pks by auto when auto generated keys is false
- [#3549] unified the length of xid in different tables when using DB storage mode
- [#3551] make RETRY_DEAD_THRESHOLD bigger and configurable
- [#3589] Changed exception check by JUnit API usage
- [#3601] make
LoadBalanceProperties
compatible withspring-boot:2.x
and above - [#3513] Saga SpringBeanService invoker support switch json parser
- [#3318] make CLIENT_TABLE_META_CHECKER_INTERVAL configurable
- [#3371] add applicationId for metric
- [#3459] remove duplicate validAddress code
- [#3215] opt the reload during startup in file mode
- [#3631] optimize nacos-config.py parameter
- [#3638] optimize the error when use update or delete with join in sql
- [#3523] optimize release savepoint when use oracle
- [#3458] reversion the deleted md
- [#3574] repair Spelling errors in comments in EventBus.java files
- [#3573] fix designer directory path in README.md
- [#3662] update gpg key
- [#3664] optimize some javadocs
- [#3637] register the participating companies and pull request information
test
v1.4.1(Not Apache release)
Seata 1.4.1 Released.
Seata is an easy-to-use, high-performance, open source distributed transaction solution.
The version is updated as follows:
feature:
- [#3238] add deflater support for seata compressor
bugfix:
- [#2879] fix deadlock during springboot project startup
- [#3296] when mixed use of AT and TCC, AT branchs is not deleted
- [#3254] clear the listener map of zk registry
- [#3309] Saga statemachine definition json cannot enable jackson parser, and when no choice matched in choice state will throw NPE
- [#3287] throw exception when update pk
- [#3323] clean root context when state machine inst record failed
- [#3281] fix wrong status when exception
- [#2949] fix throw NPE when get the state list
- [#3351] fix throw IllegalArgumentException when use hystrix when using SCA 2.2.3.RELEASE and below
- [#3349] the problem test case
- [#3325] fix retry commit unsuccess when record subMachineInst failed
- [#3357] fix deploy staging rule check failed
optimize:
- [#3188] Local variable 'map' is redundant and check queue offer return value
- [#3247] change client.log.exceptionRate to log.exceptionRate
- [#3260] use PriorityQueue to simply ShutdownHook
- [#3319] delete unnecessary @sharable
- [#3313] replace StringBuffer to StringBuilder
- [#3335] modify TransactionPropagationInterceptor name
- [#3310] enable NamedThreadFactory to get ThreadGroup from the SecurityManager or Current thread
- [#3320] load balance strategy use constants
- [#3345] adjust GlobalLockTemplateTest
Thanks to these contributors for their code commits. Please report an unintended omission.
- slievrly
- dongzl
- wangliang181230
- ls9527
- long187
- 81519434
- anselleeyy
- a364176773
- selfishlover
- suichen
- h-zhi
- jxlgzwh
- LiWenGu
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.
v1.4.0(Not Apache release)
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.
v1.3.0(Not Apache release)
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
- [#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.
v1.2.0(Not Apache release)
The version is updated as follows:
feature:
- [#2381] support XA transaction mode
- [#2206] support REQUIRED、REQUIRES_NEW、SUPPORTS and NOT_SUPPORTED transaction propagation
- [#2112] support batch update and delete with multiple sql
- [#2275] support hsf on TCC transaction mode
- [#2108] support zip bzip2 7z compressor
- [#2328] support for isolated loading of mysql 5.x and 8.x jdbc drivers classes
- [#2367] add permission configuration support for Nacos 1.2
- [#2359] support propagation.never, propagation.mandatory and transaction suspend and resume api
- [#2418] support fst serialization
- [#2135] support SPI scope
- [#2370] support failureHandler implement can be read from the container
- [#2481] support the max wait configuration for db
- [#2379] support custom service name when registering with Nacos
- [#2308] add switch to control whether to register branch on Saga transaction mode
- [#2301] support default expr and nextval for postgresql
bugfix:
- [#2575] fix executeBatch can not get targetSql in Statement mode
- [#2283] fix oracle get tableMeta fail
- [#2312] fix the judgement of configuration condition
- [#2309] fix timestamp deserialize lost nano
- [#2292] fix some configuration not converted to camel style
- [#2306] fix deprecated maven prerequisites
- [#2287] fix connection context can't be remove when global lock retry
- [#2361] fix the error configuration name
- [#2333] fix wrong exception information when rollback fails due to dirty data
- [#2390] fix configuration item containing spaces
- [#2408] fix missing sequence in undo_log table
- [#2391] fix configuration exceptions lead to increased CPU usage
- [#2427] fix StringUtils.toString(o) StackOverflowError
- [#2384] fix StateMachineRepository#getStateMachineById will replace the last version in cache
- [#2323] fix wrong proxy of datasource bean
- [#2466] fix memory visibility of active attribute in file mode
- [#2349] fix insert sql primary key value support check
- [#2479] fix postgresql schema when not use lowerCase
- [#2449] fix can't get table structure when startup
- [#2505] fix bug of session store path value judgment
- [#2456] fix server encode request error
- [#2495] fix the NPE and reduce the request when lockkey is null
- [#2490] fix RpcContext.addResource when resource is null
- [#2419] fix http testcase run failed
- [#2535] fix wrong configuration name in config.txt
- [#2524] registration service configuration missing and inconsistent
- [#2473] fix flush condition of disk in file mode
- [#2455] fix child module can't execute copyright and checkstyle inspection
optimize:
- [#2409] reduce the db and network request when undoLog or lockKey is empty
- [#2329] separate the different storage pattern processing logic
- [#2354] optimize the unsupported listener logic for spring cloud config
- [#2320] optimize protostuff and kryo serialize timestamp
- [#2307] optimize transaction context switch logic when switch transaction mode
- [#2364] optimize generated instances that were not actually used when the class was loaded
- [#2368] add zk missing configuration
- [#2351] add get local global status
- [#2529] optimize druid parameter
- [#2288] codecov.yml ignore mock test
- [#2297] remove duplicated dependency
- [#2336] add using organization logos
- [#2348] remove redundant configuration
- [#2362] optimize stackTraceLogger param
- [#2382] optimize RegistryFactory singleton pattern and RegistryType judgement
- [#2400] optimize the magic num of date at UUIDGenerator
- [#2397] fix typo
- [#2407] inaccurate judgment may be lead to NPE
- [#2402] optimize the rm and tm register log
- [#2422] add link of script in document
- [#2440] optimize contact us and startup log
- [#2445] optimize the class registration method for kryo and fst
- [#2372] refactor lock store sql with SPI
- [#2453] optimize unnecessary server configuration item
- [#2369] refactor log store sql with SPI
- [#2526] optimize spring-boot startup log
- [#2530] remove use connPool
- [#2489] optimize exceptionHandler's method signature
- [#2494] reduce the redundant code
- [#2523] optimize abnormal global transaction's output logs by frequency
- [#2549] optimize the exception log for ZookeeperConfiguration
- [#2558] optimize config and server module log
- [#2464] enhance Saga transaction editor
- [#2553] add some notes about using scripts
Thanks to these contributors for their code commits. Please report an unintended omission.
- slievrly
- a364176773
- ph3636
- lightClouds917
- l81893521
- jsbxyyx
- objcoding
- CharmingRabbit
- xingfudeshi
- lovepoem
- SevenSecondsOfMemory
- zjinlei
- ggndnn
- tauntongo
- threefish
- helloworlde
- long187
- jaspercloud
- dk-lockdown
- wxbty
- sharajava
- ppj19891020
- YuKongEr
- Zh1Cheung
- wangwei-ying
- mxszs
- q294881866
- HankDevelop
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.
v1.1.0(Not Apache release)
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
- [#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
- [#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.
- slievrly
- xingfudeshi
- objcoding
- long187
- zjinlei
- ggndnn
- lzf971107
- CvShrimp
- l81893521
- ph3636
- koonchen
- leizhiyuan
- a364176773
- caioguedes
- helloworlde
- wxbty
- bao-hp
- guojingyinan219
- CharmingRabbit
- jaspercloud
- jsbxyyx
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.
v1.0.0-GA(Not Apache release)
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 ex...
v0.9.0(Not Apache release)
The version is updated as follows:
feature:
- [#1608] Saga implementation base on state machine
- [#1625] support custom config and registry type
- [#1656] support spring cloud config
- [#1689] support -e startup parameter for specifying the environment name
- [#1739] support retry when tm commit or rollback failed
bugfix:
- [#1605] fix deadlocks that can be caused by object locks and global locks and optimize the granularity of locks
- [#1685] fix pk too long in lock table on db mode and optimize error log
- [#1691] fix can't access private member of DruidDataSourceWrapper
- [#1699] fix use 'in' and 'between' in where condition for Oracle and Mysql
- [#1713] fix LockManagerTest.concurrentUseAbilityTest assertion condition
- [#1720] fix can't refresh table meta data for oracle
- [#1729] fix oracle batch insert error
- [#1735] clean xid when tm commit or rollback failed
- [#1749] fix undo support oracle table meta cache
- [#1751] fix memory lock is not released due to hash conflict
- [#1761] fix oracle rollback failed when the table has null Blob Clob value
- [#1759] fix saga service method not support interface type parameter
- [#1401] fix the first registration resource is null when RM starts
optimize:
- [#1701] remove unused imports
- [#1705] Based on Java5 optimization
- [#1706] optimize inner class to static class
- [#1707] default charset use StandardCharsets.UTF_8 instead
- [#1712] abstract undolog manager class
- [#1722] simplify to make codes more readable
- [#1726] format log messages
- [#1738] add server's jvm parameters
- [#1743] improve the efficiency of the batch log
- [#1747] use raw types instead of boxing types
- [#1750] abstract tableMeta cache class
- [#1755] enhance test coverage of seata-common module
- [#1756] security: upgrade jackson to avoid security vulnerabilities
- [#1657] optimize the problem of large direct buffer when file rolling in file storage mode
Thanks to these contributors for their code commits. Please report an unintended omission.
- slievrly
- long187
- ggndnn
- xingfudeshi
- BeiKeJieDeLiuLangMao
- zjinlei
- cmonkey
- jsbxyyx
- zaqweb
- tjnettech
- l81893521
- abel533
- suhli
- github-ygy
- worstenemy
- caioguedes
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.
v0.8.1(Not Apache release)
The version is updated as follows:
feature:
- [#1598] support profile to use absolute path
- [#1617] support profile’s(registry.conf) name configurable
- [#1418] support undo_log kryo serializer
- [#1489] support protobuf maven plugin
- [#1437] support kryo codec
- [#1478] support db mock
- [#1512] extended support for mysql and oracle multiple insert batch syntax
- [#1496] support auto proxy of DataSource
bugfix:
- [#1646] fix selectForUpdate lockQuery exception in file mode
- [#1572] fix get tablemeta fail in oracle when table name was lower case
- [#1663] fix get tablemeta fail when table name was keyword
- [#1666] fix restore connection's autocommit
- [#1643] fix serialize and deserialize in java.sql.Blob, java.sql.Clob
- [#1628] fix oracle support ROWNUM query
- [#1552] fix BufferOverflow when BranchSession size too large
- [#1609] fix thread unsafe of oracle keyword checker
- [#1599] fix thread unsafe of mysql keyword checker
- [#1607] fix NoSuchMethodError when the version of druid used < 1.1.3
- [#1581] fix missing some length in GlobalSession and FileTransactionStoreManager
- [#1594] fix nacos's default namespace
- [#1550] fix calculate BranchSession size missing xidBytes.length
- [#1558] fix NPE when the rpcMessage's body is null
- [#1505] fix bind public network address listen failed
- [#1539] fix nacos namespace setting does not take effect
- [#1537] fix nacos-config.txt missing store.db.driver-class-name property
- [#1522] fix ProtocolV1CodecTest testAll may be appears test not pass
- [#1525] fix when getAfterImage error, trx autocommit
- [#1518] fix EnhancedServiceLoader may be appears load class error
- [#1514] fix when lack serialization dependence can't generate undolog and report true
- [#1445] fix DefaultCoordinatorMetricsTest UT failed
- [#1481] fix TableMetaCache refresh problem in multiple datasource
optimize:
- [#1629] optimize the watcher efficiency of etcd3
- [#1661] optimize global_table insert transaction_name size
- [#1633] optimize branch transaction repeated reporting false
- [#1654] optimize wrong usage of slf4j
- [#1593] optimize and standardize server log
- [#1648] optimize transaction_name length when building the table
- [#1576] eliminate the impact of instructions reordering on session async committing task
- [#1618] optimize undolog manager and fix delete undolog support oracle
- [#1469] reduce the number of lock conflict exception
- [#1619] replace StringBuffer with StringBuilder
- [#1580] optimize LockKeyConflictException and change register method
- [#1574] optimize once delete GlobalSession locks for db mode when commit success
- [#1601] optimize typo
- [#1602] upgrade fastjson version to 1.2.60 for security issue
- [#1583] optimize get oracle primary index
- [#1575] add UT for RegisterTMRequest
- [#1559] optimize delay to delete the expired undo log
- [#1547] TableRecords delete jackson annotation
- [#1542] optimize AbstractSessionManager debug log
- [#1535] remove H2 and pgsql get primary index code and close resultSet
- [#1541] code clean
- [#1544] remove Chinese comment
- [#1533] refactor of the logics of Multi-configuration Isolation
- [#1493] add table meta checker switch
- [#1530] throw Exception when no index in the table
- [#1444] simplify operation of map
- [#1497] add seata-all dependencies
- [#1490] remove unnecessary code
Thanks to these contributors for their code commits. Please report an unintended omission.
- slievrly
- BeiKeJieDeLiuLangMao
- jsbxyyx
- ldcsaa
- zjinlei
- l81893521
- ggndnn
- github-ygy
- chenxi-null
- tq02ksu
- AjaxXu
- finalcola
- lovepoem
- cmonkey
- xingfudeshi
- andyqian
- tswstarplanet
- zhengyangyong
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.
v0.8.0(Not Apache release)
The version is updated as follows:
feature:
- [#902] support oracle database in AT mode
- [#1447] support oracle batch operation
- [#1392] support undo log table name configurable
- [#1353] support mysql batch update and batch delete
- [#1379] support -Dkey=value SysConfig
- [#1365] support schedule check table mata
- [#1371] support mysql preparedStatement batch self-increment primary keys
- [#1337] support mysql batch insert for non-self-inc primary keys
- [#1453] support delete expired undolog use protobuf codec
- [#1235] support to delete undolog in back task use seata codec
- [#1323] support database driver class configuration item
bugfix:
- [#1456] fix xid would be duplicate in cluster mode
- [#1454] fix DateCompareUtils can not compare byte array
- [#1452] fix select for update retry get dirty value
- [#1443] fix serialize the type of timestamp lost nano value
- [#1374] fix store.mode get configuration inconsistent
- [#1409] fix map.toString() error
- [#1344] fix ByteBuffer allocates a fixed length, which cause BufferOverflowException
- [#1419] fix if the connection is autocommit=false will cause fail to delete
- [#1370] fix begin failed not release channel and throw exception
- [#1396] fix ClassNotFound problem for Nacos config implementation
- [#1395] fix check null channel
- [#1385] fix get SessionManager error when rollback retry timeout
- [#1378] fix clusterAddressMap did not remove the instance after the instance was offline
- [#1332] fix nacos script initialization the configuration value contains ’=‘ failed
- [#1341] fix multiple operations on the same record in the same local transaction, rollback failed
- [#1339] fix when image is EmptyTableRecords, rollback failed
- [#1314] fix if don't specify the startup parameters, db mode don't take effect
- [#1342] fix ByteBuffer allocate len error
- [#1333] fix netty memory leak
- [#1338] fix lock is not acquired when multiple branches have cross locks
- [#1334] fix lock key npe bug, when tcc use protobuf
- [#1313] fix DefaultFailureHandler check status NPE
optimize:
- [#1474] optimize data image compare log
- [#1446] optimize the server's schedule tasks
- [#1448] refactor executor class remove the duplicate code
- [#1408] change ChannelFactory package in TmRpcClientTest
- [#1432] implement equals and hashcode of the object that is used as the hash key
- [#1429] remove unused imports
- [#1426] fix syntax error
- [#1425] fix typo
- [#1356] optimize sql join
- [#1416] optimize some javadoc comments
- [#1417] optimize oracle keyword
- [#1404] optimize BranchStatus comments
- [#1414] optimize mysql keywords
- [#1407] disable unstable unit tests
- [#1398] optimize eureka registry serviceUrl with default port
- [#1364] optimize table columns name defined as constants
- [#1389] add the oracle support prompt information
- [#1375] add compareRows failed log
- [#1358] clean temporary file file runs when UT is finished
- [#1355] add test case for rpc protocol
- [#1357] code clean of Consul&Etcd config center implementations
- [#1345] code clean and modify log level
- [#1329] add
STORE_FILE_DIR
default value
Thanks to these contributors for their code commits. Please report an unintended omission.
- slievrly
- Justice-love
- l81893521
- ggndnn
- zjinlei
- andyqian
- cmonkey
- wangjin
- Arlmls
- lukairui
- kongwang
- lightClouds917
- xingfudeshi
- alicexiaoshi
- itxingqing
- wanghuizuo
- 15168326318
- github-ygy
- ujjboy
- leizhiyuan
- vikenlove
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.