Skip to content

Releases: apache/incubator-seata

v1.6.1(Not Apache release)

22 Dec 03:27
15572a0

Choose a tag to compare

Seata 1.6.1 Released.

Seata is an easy-to-use, high-performance, open source distributed transaction solution.

The version is updated as follows:

feature:

  • [#5115] support for spring-boot:3.x

bugfix:

  • [#5179] fix ClassNotFoundException when server starts using Eureka

optimize:

  • [#5120] unify the format of configuration items in yml files
  • [#5180] GlobalTransactionScanner,SeataAutoDataSourceProxyCreator declare @bean methods as static
  • [#5182] fix some security vulnerabilities in GGEditor
  • [#5183] optimize the default values for some switches

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.

v1.6.0(Not Apache release)

16 Dec 16:34
d0f63fd

Choose a tag to compare

Seata 1.6.0 Released.

Seata is an easy-to-use, high-performance, open source distributed transaction solution.

The version is updated as follows:

feature:

  • [#4863] support oracle and postgresql multi primary key
  • [#4649] seata-server support multiple registry
  • [#4779] support Apache Dubbo3
  • [#4479] TCC mode supports tcc annotation marked on both interface and implementation class
  • [#4877] seata client support jdk17
  • [#4914] support mysql update join sql
  • [#4542] support oracle timestamp types
  • [#5111] support Nacos contextPath
  • [#4802] dockerfile support arm64

bugfix:

  • [#4780] fix can't post TimeoutRollbacked event after a successful timeout rollback
  • [#4954] fix output expression incorrectly throws npe
  • [#4817] fix in high version springboot property not Standard
  • [#4838] fix when use Statement.executeBatch() can not generate undo log
  • [#4533] fix rollback event repeated and some event status not correct
  • [#4912] fix mysql InsertOnDuplicateUpdate column case is different and cannot be matched
  • [#4543] fix support Oracle nclob types
  • [#4915] fix failed to get server recovery properties
  • [#4919] fix XID port and address null:0 before coordinator.init
  • [#4928] fix rpcContext.getClientRMHolderMap NPE
  • [#4953] fix InsertOnDuplicateUpdate bypass modify pk
  • [#4978] fix kryo support circular reference
  • [#4874] fix startup failure by using OpenJDK 11
  • [#5018] fix loader path in startup scripts
  • [#5004] fix duplicate image row for update join
  • [#5032] fix mysql InsertOnDuplicateUpdate sql query error caused by placeholder index calculation error
  • [#5033] fix null exception when sql columns is empty for insert on duplicate
  • [#5038] remove @EnableConfigurationProperties({SagaAsyncThreadPoolProperties.class})
  • [#5050] fix global session is not change to Committed in saga mode
  • [#5052] fix update join condition placeholder param error
  • [#5031] fix mysql InsertOnDuplicateUpdate should not use null index value as image sql query condition
  • [#5075] fix InsertOnDuplicateUpdateExecutor could not intercept the sql which has no primary and unique key
  • [#5093] fix access key loss after seata server restart
  • [#5092] fix when seata and jpa are used together, their AutoConfiguration order is incorrect
  • [#5109] fix NPE caused when there is no @GlobalTransactional annotation on the RM side
  • [#5098] Druid disable oracle implicit cache
  • [#4860] fix metrics tags coverage in the seata-server side
  • [#5028] fix insert value null parsed as string in insert on duplicate SQL
  • [#5078] fix could not intercept the sql witch has no primary and unique key
  • [#5097] fix access key loss after server restart
  • [#5131] fix rollback xa connection active state
  • [#5134] fix hikari datasource auto proxy fail
  • [#5163] fix bad service configuration file and compilation failure

optimize:

  • [#4774] optimize mysql8 dependencies for seataio/seata-server image
  • [#4790] Add a github action to publish Seata to OSSRH
  • [#4765] mysql 8.0.29 not should be hold for connection
  • [#4750] optimize unBranchLock romove xid
  • [#4797] optimize the github actions
  • [#4800] Add NOTICE as Apache License V2
  • [#4681] optimize the check lock during global transaction
  • [#4761] use hget replace hmget because only one field
  • [#4414] exclude log4j dependencies
  • [#4836] optimize BaseTransactionalExecutor#buildLockKey(TableRecords rowsIncludingPK) method more readable
  • [#4865] fix some security vulnerabilities in GGEditor
  • [#4590] auto degrade enable to dynamic configure
  • [#4490] tccfence log table delete by index
  • [#4911] add license checker workflow
  • [#4917] upgrade package-lock.json fix vulnerabilities
  • [#4924] optimize pom dependencies
  • [#4932] extract the default values for some properties
  • [#4925] optimize java doc warning
  • [#4921] fix some vulnerabilities in console and upgrade skywalking-eyes
  • [#4936] optimize read of storage configuration
  • [#4946] pass the sqlexception to client when get lock
  • [#4962] optimize build and fix the base image
  • [#4974] optimize cancel the limit on the number of globalStatus queries in Redis mode
  • [#4981] optimize tcc fence record not exists errMessage
  • [#4985] fix undo_log id repeat
  • [#4995] fix mysql InsertOnDuplicateUpdate duplicate pk condition in after image query sql
  • [#5047] remove useless code
  • [#5051] undo log dirty throw BranchRollbackFailed_Unretriable
  • [#5075] intercept the InsertOnDuplicateUpdate statement which has no primary key and unique index value
  • [#5104] remove the druid dependency in ConnectionProxy
  • [#5124] support oracle on delete tccfence logs
  • [#4468] support kryo 5.3.0
  • [#4807] optimize docker image and oss publish
  • [#4445] optimize transaction timeout judgment
  • [#4958] do not execute triggerAfterCommit() if timeout
  • [#4582] redis mode support sorted set by timeout
  • [#4963] add ARM64 CI workflow
  • [#4434] remove seata-server's CMS parameters

Thanks to these contributors for their code commits. Please report an unintended omission.

Read more

v1.5.2(Not Apache release)

12 Jul 16:02
c95d49f

Choose a tag to compare

Seata 1.5.2 Released.

Seata is an easy-to-use, high-performance, open source distributed transaction solution.

The version is updated as follows:

feature:

  • [#4661] support xid consistency load balance
  • [#4676] support server to expose Nacos services by mounting SLB
  • [#4642] support batch message parallel processing
  • [#4567] support where method condition(find_in_set)

bugfix:

  • [#4515] fix the error of SeataTCCFenceAutoConfiguration when database unused
  • [#4661] fix sql exception with PostgreSQL in module console
  • [#4667] fix the exception in RedisTransactionStoreManager for update map During iteration
  • [#4678] fix the error of key transport.enableRmClientBatchSendRequest cache penetration if not configure
  • [#4701] fix missing command line args
  • [#4607] fix bug on skipping lock check
  • [#4696] fix oracle database insert value
  • [#4726] fix batch message send may return NullPointException
  • [#4729] fix set AspectTransactional.rollbackForClassName with wrong value
  • [#4653] fix the sql exception when pk is non-numeric in INSERT_ON_DUPLICATE SQL

optimize:

  • [#4650] fix some security vulnerabilities
  • [#4670] optimize the thread pool size of branchResultMessageExecutor
  • [#4662] optimize rollback transaction metrics
  • [#4693] optimize the console navigation bar
  • [#4700] fix maven-compiler-plugin and maven-resources-plugin execute failed
  • [#4711] separate lib dependencies for deployments
  • [#4720] optimize pom description
  • [#4728] upgrade logback dependency to 1.2.9
  • [#4745] support mysql8 in release package
  • [#4626] Replace flatten-maven-plugin with easyj-maven-plugin to fix the conflict between shade and flatten
  • [#4629] check relation of before status and after status when updating global session
  • [#4662] make EnhancedServiceLoader more readable

test:

  • [#4544] optimize jackson dependencies in TransactionContextFilterTest
  • [#4731] fix UT failed in AsyncWorkerTest and LockManagerTest

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.

v1.5.1(Not Apache release)

17 May 01:54
ede95ef

Choose a tag to compare

Seata 1.5.1(release fixes for 1.5.0) Released.

seata-all-1.5.0.jar was released to the central maven repository with version number replacement issues due to plugin conflicts in 1.5.0. As a result, we urgently released version 1.5.1 with code functionality remaining exactly the same as 1.5.0. We are sorry for the confusion and inconvenience.

Seata is an easy-to-use, high-performance, open source distributed transaction solution.

The version is updated as follows:

feature:

  • [#4115] support console management
  • [#3472] add redisLocker's lua mode
  • [#3575] support the mixed use of different storages of locks and sessions
  • [#3374] add a Executor for INSERT ON DUPLICATE KEY UPDATE
  • [#3642] provide an api to share tcc phase-1's params to phase-2
  • [#3064] support configuring the order of the TM and TCC interceptor
  • [#2852] support configuring scan target for GlobalTransactionScanner
  • [#3683] support redis distributed lock to prevent multi TC competition
  • [#3545] TCC mode support idempotent and anti hanging
  • [#3009] support server start with springboot and config with application.yaml
  • [#3652] support APM with SkyWalking
  • [#3823] TCC mode supports customized parameters list of the method in phase two
  • [#3642] TCC mode's try method supports passing BusinessActionContext implicitly
  • [#3856] support edas-hsf RPC framework
  • [#3880] contributing md support chinese.
  • [#2568] support GlobalTransactionInterceptor expression
  • [#3886] support the registry center network preferences
  • [#3869] support get configuration from environment
  • [#3906] support SPI unload
  • [#3668] support kotlin coroutine
  • [#3968] support brpc-java RPC framework
  • [#4134] init the console basic code
  • [#4268] query global session in the file mode
  • [#4281] query global session and global lock in the redis mode
  • [#4293] get global lock in the file mode
  • [#4335] Realize configuration center upload configuration interactive script (nacos,etcd3)
  • [#4360] Realize configuration center upload configuration interactive script (apollo,consul,zk)
  • [#4320] realize the interface of console: get global session and global lock in the db mode
  • [#4435] console front-end page implementation
  • [#4480] implementation of DefaultAuthSigner
  • [#3870] make seata-bom be the real Bill-Of-Material
  • [#3487] add db realization for distribute lock
  • [#3889] registry add heartbeat
  • [#3951] support zstd compressor
  • [#2838] Saga support auto configuration in the spring boot project

bugfix:

  • [#3497] fix tcc phase two response timeout exception
  • [#3686] fix NPE and wrong cluster name of Apollo
  • [#3702] fix some comments
  • [#3716] fix the problem in the findTargetClass method
  • [#3717] fix typo of interval
  • [#3773] fix consul not found tc cluster
  • [#3695] fix mariadb unable to create XA connection
  • [#3783] fix the problem that store mode does not take effect
  • [#3740] fix that LocalThread is not cleared when the Saga transaction ends
  • [#3792] fix the Server can't find redis-host property
  • [#3828] fix StringUtils StackOverflowError
  • [#3817] fix TC SkyWalking topo calling node not gather
  • [#3803] fix ReflectionUtil throw unexpected exception
  • [#3879] fix postgresql multi schema throw not found channel exception
  • [#3881] fix getConfig with different default value return the first
  • [#3897] fix LocalDataTime type in FastjsonUndoLogParser can't be rollback
  • [#3901] fix seataio/seata-server servlet-api conflict
  • [#3931] fix the wrong path and filename when dump the jvm memory for analysis
  • [#3978] fix NPE cause by future timeout
  • [#4266] fix register branch and release lock failed when the size of rows that modified is greater than 1000 in oracle
  • [#3949] fix the problem that nacos-config.py will not skip blank options. fix bug that split options may cause content loss
  • [#3988] fix the problem that nacos not found user when password has special characters
  • [#3998] fix the NPE of jedis multi.exec
  • [#4011] fix can not get properties of distributed-lock-table in springboot
  • [#4025] fix potential database resource leak
  • [#4023] fix the problem that the xid is not cleared in some scenes of dubbo
  • [#4039] fix RM did not clear XID after the local transaction threw an exception
  • [#4032] fix ApplicationContext already closed problem when Seata server using ShutdownHook to destroy
  • [#4074] fix prevents XA mode resource suspension
  • [#4107] fix deadlock problems during project construction
  • [#4158] fix the logback can't load the RPC_PORT
  • [#4162] fix correct built-in properties for redis registry
  • [#4165] fix StringUtils.toString(obj) throw ClassCastException when the obj is primitive data array
  • [#4169] fix xa mode originalConnection has been closed, cause PhaseTwo fail to execute
  • [#4177] fix the problem of accidentally releasing the global lock
  • [#4174] fix delete undo log connection already closed
  • [#4189] fix the kafka-appender.xml and logstash-appender.xml
  • [#4213] fix code for "sessionMode" not execute problem
  • [#4220] fix some problems with zstd compressor and add the version of the kotlin-maven-plugin
  • [#4222] fix could not rollback when insert field list is empty
  • [#4253] update executor store the actually modified columns but not only the columns in set condition
  • [#4276] fix seata-test module UT not work
  • [#4278] fix the problem that mysql's Blob/Clob/NClob data type cannot be deserialized
  • [#4302] fix the problem that other ORMs may not be able to obtain the auto-incrementing primary key value
  • [#4233] fix data remanence problems in lock and branch under specific circumstances.
  • [#4308] fix the TableMetaCache parsing problem with the same table under multiple Postgresql schemas
  • [#4326] fix inability to build Executor when using mariadb driver
  • [#4355] fix mysql-loadbalance resource id error
  • [#4310] fix the problem that failed to obtain the self increment ID of MySQL database through "select last_insert_id"
  • [#4331] fix dirty write check exce...
Read more

v1.4.2(Not Apache release)

25 Apr 08:06
5ddfbc1

Choose a tag to compare

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 to logstash or kafka
  • [#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 with spring-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

Read more

v1.4.1(Not Apache release)

08 Feb 12:42
f8359f0

Choose a tag to compare

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.

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

v1.4.0(Not Apache release)

02 Nov 12:24
f270a2d

Choose a tag to compare

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.

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

v1.3.0(Not Apache release)

15 Jul 16:37
2e2a424

Choose a tag to compare

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.

Read more

v1.2.0(Not Apache release)

21 Apr 06:15
04d0568

Choose a tag to compare

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.

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

v1.1.0(Not Apache release)

20 Feb 09:28
f990a57

Choose a tag to compare

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.

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