Seata 1.2.0 重磅发布,支持 XA 事务模式

Seata 1.2.0

Seata 1.2.0 发布。

Seata 是一款开源的分布式事务解决方案,提供高性能和简单易用的分布式事务服务。

此版本更新如下:

feature:

[#2381] 支持 XA 事务模式

[#2206] 支持 REQUIRED、REQUIRES_NEW、SUPPORTS 和 NOT_SUPPORTED 事务传播模式

[#2112] 支持 SQL 的批量更新和批量删除

[#2275] TCC 模式支持 HSF 调用

[#2108] 支持 zip、bzip2、7z 压缩

[#2328] server 支持 mysql5.x 和 mysql8.x 类隔离加载

[#2367] 支持 Nacos 1.2 权限配置

[#2359] 支持 NEVER、MANDATORY 事务传播模式 和 事务挂起恢复 API

[#2418] 支持 fst 序列化

[#2135] 支持 SPI 定义 scope

[#2370] 支持 failureHandler 从 Spring 容器注入

[#2481] 支持数据库连接池的 max-wait 配置

[#2379] 支持使用 Nacos 注册服务时自定义服务名

[#2308] 增加 Saga 模式是否注册分支的开关

[#2301] 支持 postgresql 的 default 和 nextval 语法支持

bugfix:

[#2575] 修复 executeBatch 无法获取 targetSql 问题

[#2283] 修复 oracle 获取 tableMeta 失败问题

[#2312] 修复 SeataDataSourceBeanPostProcessor 启动判断条件

[#2309] 修复数据库 timestamp 类型反序列化丢失 nano 精度问题

[#2292] 修复一些未转驼峰风格的配置项

[#2306] 修复 maven-enforcer-plugin 打包版本的限制

[#2287] 修复全局锁重试时 connection context 未移除问题

[#2361] 修复错误的配置项名称

[#2333] 修复由于脏写导致回滚失败错误的日志输出

[#2390] 修复同步脚本中配置项对于含有空格的处理

[#2408] 修复 postgresql undo_log 建表脚本缺少 sequence

[#2391] 修复获取配置异常导致的 CPU 飙升问题

[#2427] 修复 debug时 调用StringUtils.toString(o) 栈溢出问题

[#2384] 修复 Saga模式 StateMachineRepository#getStateMachineById 方法会覆盖内存中缓存的最新版本的状态机定义问题

[#2323] 修复数据源自动代理问题

[#2466] 修复文件存储模式多线程变量可见性问题

[#2349] 修复批量 insert 不同主键类型检查

[#2479] 修复postgresql schema 非小写问题

[#2449] 修复 server 启动时无法获取表结构问题

[#2505] 修复 session store 路径判断条件

[#2456] 修复 server 极端异常情况下编码错误问题

[#2495] 修复 NPE 和减少lockKey 为 null 时的分支注册请求

[#2490] 修复 RpcContext.addResource 参数为 null 的处理判断

[#2419] 修复 http 部分的集成测试失败问题

[#2535] 修复 config.txt 中错误的配置名称

[#2524] 修复客户端注册服务名配置冗余导致的配置不一致问题

[#2473] 修复文件存储模式刷盘条件的判断逻辑

[#2455] 修复子模块下无法执行copyright 和 checkstyle maven 插件问题

optimize:

[#2409] 当 undolog 和 lockKey 为空时减少不必要的db 和 server 交互

[#2329] 按照不同的存储模式重构抽象相关逻辑

[#2354] 优化 spring cloud config 不支持 listener 的逻辑

[#2320] 优化 protostuff 和 kryo 序列化 timestamp 类型的逻辑,提升序列化性能

[#2307] 优化事务模式切换时的事务上下文逻辑

[#2364] 优化启动时不必要的类初始化加载

[#2368] 增加zk 作为注册中心和配置中心缺少的配置属性

[#2351] 增加获取本地全局事务状态的接口

[#2529] 优化 druid 连接池参数

[#2288] 忽略 mock 测试部分的单元测试覆盖度

[#2297] 移除重复 pom 依赖

[#2336] 添加使用用户的 logo

[#2348] 去除重复的配置项

[#2362] 优化按频率打印堆栈 stackTraceLogger 的方法

[#2382] 优化 RegistryFactory 为单例模式 和 RegistryType 的判断逻辑

[#2400] 优化 UUIDGenerator 的魔数逻辑

[#2397] 修复 typo

[#2407] 修复可能导致 NPE 的逻辑

[#2402] 优化 RM 和 TM 的注册日志

[#2422] 增加文档的 script 链接

[#2440] 优化联系我们和启动日志

[#2445] 优化 kryo 和 fst 的注册方法

[#2372] 将 lock store sql 重构为 SPI 实现

[#2453] 优化不必要的 server 配置项

[#2369] 将 log store sql 重构为 SPI 实现

[#2526] 优化 seata-spring-boot-starter 的启动日志

[#2530] 移除 netty 的 connPool

[#2489] 优化 exceptionHandler 的方法签名

[#2494] 移除不必要的代码

[#2523] server 按照频率输出不正常事务的异常详细堆栈信息

[#2549] 优化 ZookeeperConfiguration 日志级别和异常信息不打印的问题

[#2558] 规范统一 config 和 server 模块的日志

[#2464] 增强 Saga 状态流程设计器

[#2553] 增加使用同步脚本的一些说明

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.