这次的发布是为dubbo 3.2.0发布准备,修复dubbo社区反馈的bug,dubbo 3.2.0会将默认序列化协议从hessian切换到fastjson2的二进制协议jsonb。
最近从fastjson 1.x升级的用户快速增加,这次的发布修复了一些大家升级发现的兼容问题和BUG。
性能测试报告
fastjson2每次发布前都会跑一次性能测试。fastjson 2.0.26的性能测试的硬件环境增加了Orange Pi 5 和Apple M1 Pro,JDK则增加graalvm ce和graalvm ee。
测试报告:https://github.com/alibaba/fastjson2/wiki/fastjson_benchmark , 具体数据看这里 https://github.com/alibaba/fastjson2/blob/main/docs/benchmark/benchmark_2.0.26.md
Issues
- 修复dubbo社区反馈的二进制格式JSONB反序列化带类型信息的Exception类时解析报错的问题 #1175
- 修复反序列化List类型不支持Object类型输入和fastjson 1.x不兼容的问题 #1240
- 修复JSONPath一次读取多个path某些场景结果不对的问题 #1130
- 修复parseObject(input, TypeReference)类型推断和fastjson 1.x不兼容的问题 #1222
- 修复某些场景复杂对象序列化引用计算不对或者报错的问题 #1234 #1242
- 修复toJavaObject某些情况下构造函数输入参数类型不匹配时不错的问题 #1233
- 支持注册自定义java.util.Date类型的ObjectReader #1227
- JSONPath支持不过滤null属性 #1159
- 修复对象带Lambda字段序列化报错的问题 #1177
- 增强日期类型对epochMillis字符串输入的支持 #1231
- 修复Feature.WriteBooleanAsNumber不生效的问题 #1241
- 修复某些场景JSONField不生效的问题 #1246
- 修复在List/Map类型上使用JSONField#deserializeUsing定制反序列化报错的问题 #1249
MAVEN依赖配置
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.26</version>
</dependency>
- 1.x 兼容版本
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.26</version>
</dependency>
- Spring 5 extension配置
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2-extension-spring5</artifactId>
<version>2.0.26</version>
</dependency>
- Spring 6 extension配置
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2-extension-spring6</artifactId>
<version>2.0.26</version>
</dependency>
相关链接
- FASTJSON 1.x用户升级指南 https://github.com/alibaba/fastjson2/wiki/fastjson_1_upgrade_cn
- 相关issues https://github.com/alibaba/fastjson2/milestone/25
- 代码tag https://github.com/alibaba/fastjson2/tree/2.0.26
- Maven下载 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.26/
- 1.x兼容版本 https://repo1.maven.org/maven2/com/alibaba/fastjson/2.0.26/