Seata 1.4.0 重磅发布

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

Seata 1.4.0 更新日志

此版本梳理了大部分用户反馈的 bug,对沉积的大部分问题进行了修复,XA部分修复尤其多。同时增加了鉴权、负载均衡、yml配置文件支持、注册配置中心属性、db字段类型、序列化、事务默认超时、事务重试和 GlobalLock等特性支持。

此次 release 修改文件数:348,最终代码变动:+8,844 −3,219 ,参与代码 commit 人数:27,合并pr数:84,其中:feature:13,bugfix:39,代码优化重构:32。

feature:

  • [#2380] 支持yml配置文件
  • [#3191] 支持oracle nclob类型
  • [#2676] 支持客户端最少的活动负载均衡
  • [#2080] 支持客户端一致性哈希的负载均衡
  • [#3198] 支持Spring Boot 使用自定义配置中心和注册中心
  • [#2806] 支持配置默认全局事务超时时间
  • [#2941] 支持apollo密钥key配置
  • [#2950] 支持redis存储模式可重入锁
  • [#2913] 支持配置AT或XA事务模式的数据源代理
  • [#2856] 支持undo_log 使用 fst 序列化
  • [#3076] 支持 GlobalLock 锁重试
  • [#2825] 支持客户端发送鉴权信息
  • [#2962] 支持在 @GlobalTransactional和@GlobalLock 注解上锁的重试配置

bugfix:

  • [#3214] 修复在某些情况下’RootContext.DEFAULT_BRANCH_TYPE’ 的取值错误的问题
  • [#3129] 修复禁止执行更新主键值的SQL
  • [#3205] 修复在配置中获取boolean类型配置异常
  • [#3170] 修复Disposable 同优先级的无法执行的问题
  • [#3180] 修复fst序列化包名错误
  • [#3178] 修复sqlparser 换行替换为空格问题
  • [#2929] 修复将应用配置为在启动时降级但在运行中无法升级问题
  • [#3050] 修复update和delete不支持order,limit语法问题
  • [#2935] 修复了Saga Designer在切换节点时属性框不会切换的问题
  • [#3140] 修复Propagation.REQUIRES_NEW无效的问题
  • [#3130] 修复数据源多重代理和使用非代理类方法的问题
  • [#3148] 修复 Redis 存储模式下lock和session存储时key冲突问题
  • [#3136] 修复Redis pipeline执行报错问题
  • [#2551] 修复当使用AT数据源代理时Saga事务模式无法使用的问题
  • [#3073] 修复在没有xid的情况下使用XA模式的问题
  • [#3074] 修复若XA模式找不到 xid 重试问题
  • [#3097] 修复HttpAutoConfiguration只在springboot web项目中启动
  • [#3071] 修复XA 模式中无法获取真实连接的问题
  • [#3056] 修复了删除分支后仍然存在分支锁的错误
  • [#3025] 修复错误的包装路径问题
  • [#3031] 修复 redis 存储模式锁删除锁不完整问题
  • [#2973] 修复oracle数据库 where in 超过1000的问题
  • [#2986] 修复 checkstyle插件无法排除单个文件的问题
  • [#2910] 修复错误的注释
  • [#2914] 修复TCC模式下,调用方未清除branchType的问题
  • [#2926] 修复 fastjson 序列化不记录类名的问题
  • [#2897] 修复Jedis删除锁失败的问题
  • [#2918] 修复 AT 模式下回滚时的未加锁的问题
  • [#2972] 修复UUIDGenerator高并发下生成重复的id问题
  • [#2932] 修复nacos-config.py 不支持namespace 问题
  • [#2900] 修复数据库转义符问题
  • [#2904] 修复getConfig配置不存在获取到null的问题
  • [#2890] 修复statelang示例中的拼写错误
  • [#3040] 修复 autocommit=false时的重复提交问题
  • [#3230] 修复使用@EnableAutoDataSourceProxy启动失败问题
  • [#2979] 修复与sharedjdbc集成postgresql 无法获取元数据问题
  • [#3233] 修复Collections空指针异常
  • [#3242] 修复批处理SQL获取TableMeta错误问题
  • [#3246] 修复当limit condition包含VariantRefExpr时候的异常

optimize:

  • [#3062] 重构redis会话存储
  • [#3201] 修复异常时报错堆栈显示不全的问题
  • [#3117] 优化日志输出以及清除无用代码
  • [#3134] 优化Map 和 List 相关写法
  • [#3195] 优化 XID 相关的代码写法
  • [#3200] 优化 rpc 日志提示
  • [#3186] 移除 StringUtils 的重复代码
  • [#3162] 删除重复的代码
  • [#2969] 升级druid的依赖到1.1.23
  • [#3141] 升级Nacos和FastJSON的依赖版本
  • [#3118] 添加additional-spring-configuration-metadata.json 配置提示信息
  • [#2597] 优化web拦截器中的xid状态避免重复处理
  • [#3102] 优化ContextCore 接口可设置非 String 类型的值
  • [#3016] 重构 Redis 存储模式下 的lock的存储结构
  • [#3046] 删除SerializerFactory类
  • [#3053] 支持 TC端jedis连接池最大数量配置
  • [#3012] 移除重复设置端口的代码
  • [#2978] 优化AT和TCC 事务模式混用时,AT模式可异步提交
  • [#2967] 优化代码为lambda风格
  • [#2968] 优化在RM客户端初始化后发送注册消息
  • [#2945] 优化DB存储模式异步提交,减少更新操作
  • [#2952] 支持 additional-spring-configuration-metadata.json配置提示信息
  • [#2920] 修正 README.md 中的单词和语法错误
  • [#2906] 添加了一些配置项以与官方文档保持一致
  • [#3222] 优化fileListener的CPU利用率
  • [#2843] 移除 redis和db 存储模式的中移除接口Reloadable 和 重构 reload`方法
  • [#3209] 新增使用用户 logo 信息

相关链接

1 个赞