Releases: alibaba/canal
Releases · alibaba/canal
v1.1.5
功能新增
- 重点优化MQ发送的性能,单topic最高峰值可支持3~8万的rps,接近数量级上的性能提升 #2258
- 文档可参考:Canal-MQ-Performance
- MQ发送特性支持
- 多语言客户端,新增Rust
- canal Rust客户端:[https://github.com/laohanlinux/canal-rs]
- 新增Adapter的自持,比如es7
- 新增更灵活的消息过滤能力,可以指定是否过滤Insert/Update/Delete #3452
重要优化
- 切换fastsql为druid 1.2.6版本,修复已知的MySQL DDL解析问题,#2168 #2766 #2828 #3428 #2954
- 新增database.hash的开关控制,用于满足不同业务表针对相同主键值路由到相同分区 #2248
- MQ消息发送(比如Kafka/RocketMQ),修复线程池死锁等待的现象 #2434
- 修复rocketmq针对flatMessage模式下的null值消息问题 #2990 #3267
- 修复canal HA切换后多个instance初始化的并发冲突问题 #3454
- 修复MariaDB下GTID模式的使用问题 #2453
小需求&bugfix
v1.1.5-alpha-2
v1.1.5-alpha-2
v1.1.5-alpha-1
1.1.5 alpha 1
v1.1.4
功能新增
- 引入canal-admin工程,支持面向WebUI的canal管理能力
- canal-server新增基于账号密码的ACL支持能力
- canal-server新增admin动态运维指令,配合canal-admin工程动态管理订阅关系
- 多语言新增【Python客户端】
- instance订阅表过滤,增加表字段订阅的过滤功能,比如针对大字段忽略 #1914
- kafka支持配置Kerberos认证 #1895
重要优化
- 升级fastsql 973版本,全面兼容MySQL DDL的解析能力。已通过DDL随机测试、表结构变更的TableMeta tsdb验证
小需求&bugfix
- 升级fastjson 1.2.58
- JSON类型null值修复 #1762
- 新增protobuf模式的MQ消费例子 #2067
- 新增es adapter rest client和认证机制 #2046
- 修复adaphter-hbase在RDS批量删除数据时只删掉了第一条,后面的未删除 #1907
- 修复集成kafka在多个destinations模式kafka事务异常 #1826
- 修复kafka消息发送时丢失pk信息 #1352
- 优化并行解析时的异常处理和线程安全 #1857 #1866
- 修复MQ模式下的delete事件乱序发送问题 #1848
- 修复server HA切换后MQ消息未发送 #1810
- 忽略低版本MySQL的checksum不支持问题 #1788
v1.1.4-alpha-2
- upgrade fastsql 973, fixed ddl parser failed
- upgrade fastjson 1.2.58
v1.1.4-alpha-1
canal-1.1.4-alpha-1 fixed issue #1826 , remove kafka transaction send
v1.1.3
功能新增
- 支持mysql8.0新的caching_sha2_password认证协议
- 支持Azure MySQL的认证协议
- canal投递MQ消息 【MQ投递】
- 支持按表规则定义dynamic topic、partition路由的能力
- 新增kafka消息投递事务
- canal内置的客户端【ClientAdapter】
- rds-adapter 增加mysql整个DB层面的同步配置
- es-adapter 新增父子文档索引适配
小需求&bugfix
- 解决server单核服务器无法接收数据的问题 #1605
- 修复TableMeta TSDB支持utf8mb4 #1550
- 修复MQ消息发送时非flatMessage模式出现数据重复 #1551
- 修复Kafka配置为分区模式时出现数据 #1636
- 修复fastsql的几个DDL解析问题 #1306 #1546 #1626
- 修复rdb-adapter同步的类型转化、空指针、大小写、DDL同步等问题 #1313 #1338 #1341 #1408 #1433
- 修复投递MQ模式,canal server HA在切换后不生效 #1229
- 修复es-adapter数据库主键类型错误 #1559
- 修复charset编码不存在 #1662
v1.1.2
功能新增
- 支持mysql8.0的binlog解析 【BinlogChange(MySQL8)】
- canal提供内置的客户端能力【ClientAdapter】
- RocketMQ消息支持直接投递至aliyun ons(RocketMQ云服务) #1169
功能重构
- MQ消息发送的配置相关从mq.yml调整至canal.properties,支持了auto scan的能力,请关注最新的配置文档 wiki
小需求&bugfix
- 修复mysql binlog文件名解析乱码问题 #1189
- 修复修复TableMeta TSDB在每天定时snapshot因filter变化导致失败 #1168
- 修复canal docker支持MQ模式启动失败问题 #1087
- 修复TableMeta TSDB支持int display width不一致问题 #1100
- 修复rocketmq&kafka 发送消息失败时回滚后继续提交的问题 #1104
- 修复alter rename 的ddl 类型解析错误的问题 #1103
- 修复FlatMessage 中data过滤掉了 value null的column #1120
- 优化aliyun rds oss binlog下载的能力,支持基于位点自动回溯 #1076
v1.1.1
功能新增
- 原生支持RocketMQ消息投递 #695 【Canal Kafka QuickStart】
- 原生支持hbase的数据同步 #849 ClientAdapter
- 新增c#/go多语言客户端的支持
- canal java客户端: https://github.com/alibaba/canal/wiki/ClientExample
- canal c#客户端开源项目地址: https://github.com/CanalSharp/CanalSharp
- canal go客户端开源项目地址: https://github.com/CanalClient/canal-go
- MQ消息投递支持按pk hash到多个分区partition(Kafka/RocketMQ均支持) #958
小需求&bugfix
- 修复单核环境下的canal启动异常问题 #873
- 修复parse并行解析模式gtid的并发问题 #881
- java client内聚guava打包,解决和外部系统的版本冲突问题 #912
- 升级proto2为proto3(3.6.1),支持更多的跨语言能力
- 支持配置中数据库密码加密处理 #990
- 并行解析下,数据库一直连不上导致OOM异常(线程数泄漏,出现暴涨) #968
- mysql set类型8值情况解析越界bugfix otter#617
- 支持otter使用canal的新特性,比如rds ak/sk配置、tsdb配置
- 修复docker部署canal-server无法使用 docker-restart命令 #1001
- 修复mysql bit(8)类型8值情况解析越界bugfix
- tablemeta tsdb数据增加过期清理能力 #1047
v1.1.1-alpha 1
- 合并了kafka和canal server的工程,可以修改canal.serverMode=kafka切换为写入kafka模式
- 新增了client-launcher,支持了写出到hbase的能力