Skip to content

Releases: alibaba/fastjson2

fastjson 2.0.33版本发布

28 May 15:47
Compare
Choose a tag to compare

这又是一个Bug修复功能增强版本,大家按需升级。

最近使用FASTJSON 2的用户快速增长,这次的发布是应用户要求发布,也修复了一些相关的问题。

FASTJSON 2从2022年4月19日开源到现在已经满一年,FASTJSON 2已经被非常多的用户采用,取得非常好的成绩,如下:

GITHUB STAR 2.7k
GITHUB user repos 4.1k
Maven中央仓库4月份下载量43万

Issues

  1. 针对JIT FreqInlineSize 325优化代码提升性能
  2. 修复JSONB格式反序列化Collections$UnmodifiableSet某些场景抛异常的问题 #1509
  3. 增加对JSONP的支持 #1493 #1507
  4. 修复JDK8下对日期格式化yyyy-MM-dd序列化结果会丢失分隔符信息的问题 #1497 #1502
  5. JSONPath支持getParent和endsWithFilter接口 #1469
  6. 增强对非字符串Key的支持 #1487
  7. 修复BigDecimal scale为负数时序列化报错的问题 #1494
  8. seeAlso支持non-string typeKey #1488
  9. AutoTypeFilter的缺省名单增加javax.validation.NoProviderFoundException #1485
  10. 修复kotlin下反序列化超过32个字段是报错的问题 #1490 #1491
  11. 修复toJavaObject某些场景不支持Enum的问题 #1500
  12. 修复SafeMode之后类型丢失的问题 #1503
  13. 修复反序列化Duration类型报错的问题 #1499
  14. 支持通过@JSONField来配置同名Setter方法的优先级 #1506
  15. 增强对Android的支持

MAVEN依赖配置

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.33</version>
</dependency>
  • 1.x 兼容版本
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.33</version>
</dependency>
  • Spring 5 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring5</artifactId>
    <version>2.0.33</version>
</dependency>
  • Spring 6 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring6</artifactId>
    <version>2.0.33</version>
</dependency>

相关链接

fastjson 2.0.32发布

16 May 00:19
Compare
Choose a tag to compare

这又是一个Bug修复功能增强版本,大家按需升级。

最近使用FASTJSON 2的用户快速增长,这次的发布是应用户要求发布,也修复了一些相关的问题。

FASTJSON 2从2022年4月19日开源到现在已经满一年,FASTJSON 2已经被非常多的用户采用,取得非常好的成绩,如下:

GITHUB STAR 2.7k
GITHUB user repos 3.9k
Maven中央仓库4月份下载量43万

Issues

  1. 提升基本类型序列化double/BigDecimal/LocalDate/OffsetDateTime类型的序列化和反序列化性能
  2. 修改JSONWriter.Context的configFilter 方法为public #1481
  3. 修复兼容API TypeUtils.compatibleWithFieldName = true 不起作用的问题 #1432
  4. 修复反序列化某些场景不兼容Set的问题 #1417
  5. 修复某些场景枚举类型自定义序列化不起作用的问题 #1479
  6. 增强对non-getter/setter方法annotation的识别 #1474
  7. 修复Feature.SupportAutoType 打开时某些场景报错的问题 #1457
  8. 修复JSONReader.Feature.SupportSmartMatch在无构造函数场景不起作用的问题 #1460
  9. 修复集合类型重载时类型变化annotation不起作用的问题 #1465
  10. 修复Boolean类型配置JSONField#serializeUsing不起作用的问题 #1461
  11. 修复特定场景反序列化泛型NPE的问题 #1450
  12. 修复dubbo用户发现的反序列化异常 #1451
  13. JSONObject & JSONArray的getString方法修复LocalDateTime等类型的处理

MAVEN依赖配置

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.32</version>
</dependency>
  • 1.x 兼容版本
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.32</version>
</dependency>
  • Spring 5 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring5</artifactId>
    <version>2.0.32</version>
</dependency>
  • Spring 6 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring6</artifactId>
    <version>2.0.32</version>
</dependency>

相关链接

fastjson 2.0.31发布

07 May 11:49
Compare
Choose a tag to compare

这又是一个Bug修复功能增强版本,大家按需升级。

最近使用FASTJSON 2的用户快速增长,这次的发布是应用户要求发布,也修复了一些相关的问题。

FASTJSON 2从2022年4月19日开源到现在已经满一年,FASTJSON 2已经被非常多的用户采用,取得非常好的成绩,如下:

  • GITHUB STAR 2.7k
  • GITHUB user repos 3.7k
  • Maven中央仓库3月份下载量45万 (4月数据还没出)

Issues

  1. 修复JDK 8下换行符序列化没有被转义的问题 #1387
  2. 修复Set类型序列化如果有空值丢失间隔符的问题 #1439
  3. 反序列化支持java.time.OffsetDateTime类型
  4. 提升LocalDate/long[]/OffsetDateTime等类型的序列化和反序列化性能
  5. 修复incubator-vector下的反序列化输入多余空格不支持的问题 #1444

MAVEN依赖配置

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.31</version>
</dependency>
  • 1.x 兼容版本
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.31</version>
</dependency>
  • Spring 5 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring5</artifactId>
    <version>2.0.31</version>
</dependency>
  • Spring 6 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring6</artifactId>
    <version>2.0.31</version>
</dependency>

相关链接

fastjson 2.0.30发布

06 May 12:42
Compare
Choose a tag to compare

这又是一个Bug修复功能增强版本,大家按需升级。

最近使用FASTJSON 2的用户快速增长,这次的发布是应用户要求发布,也修复了一些相关的问题。

FASTJSON 2从2022年4月19日开源到现在已经满一年,FASTJSON 2已经成熟,被非常多的用户采用,取得非常好的成绩,如下:

  • GITHUB STAR 2.7k
  • GITHUB user repos 3.7k
  • Maven中央仓库3月份下载量45万 (4月数据还没出)

Issues

  1. 修复Enum不支持string valueField的问题 #1435
  2. 支持全局配置dateFormat #1437
  3. 修复JSONB格式反序列化某些场景空指针的问题 #1433
  4. 修复BrowserCompatible和fastjson 1.x行为不一致的问题 #1401
  5. 修复特定场景下无缺省构造函数类反序列化空指针的问题 #1409
  6. 修复序列化mybatis-plus AbstractWrapper类报错的问题 #1424
  7. 修复空格结尾的字符串parse报错的问题 #1413
  8. 支持自动识别日期格式读取为millis #1423
  9. 修复dubbo 3.2.0特定场景反序列化报错的问题 #1421
  10. 修复autoType不支持Map子类型的问题 #1411
  11. 修复kotlin扩展函数contains二义性的问题 #1402
  12. 提升并发场景下序列化的性能

MAVEN依赖配置

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.30</version>
</dependency>
  • 1.x 兼容版本
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.30</version>
</dependency>
  • Spring 5 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring5</artifactId>
    <version>2.0.30</version>
</dependency>
  • Spring 6 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring6</artifactId>
    <version>2.0.30</version>
</dependency>

相关链接

fastjson 2.0.29发布

22 Apr 13:13
Compare
Choose a tag to compare

这又是一个Bug修复功能增强版本,大家按需升级。

最近使用FASTJSON 2的用户快速增长,这次的发布是应用户要求发布,也修复了一些相关的问题。

FASTJSON 2从2022年4月19日开源到现在已经满一年,FASTJSON 2已经成熟,被非常多的用户采用,取得非常好的成绩,如下:

  • GITHUB STAR 2.6k
  • GITHUB user repos 3.4k
  • Maven中央仓库3月份下载量45万

Issues

  1. 修复序列化Decimal数据量大的时候报错的问题 #1377
  2. 修复InitStringFieldAsEmpty打开时在某些场景下会报错的问题 #1370
  3. 修复JSONB格式某些场景读取autoType类型信息报错的问题 #1366
  4. 修复Android下某些场景报错的问题 #1349
  5. 修复Enum类型JSONB格式下不支持NULL输入的问题 #1385
  6. 增强对日期格式自动识别 #1393
  7. 修复Annotation标注在首字母大写的Field上不能被识别的问题 #1395
  8. 修复Proxy模式下,对接口default方法不支持的问题 #1396

MAVEN依赖配置

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.29</version>
</dependency>
  • 1.x 兼容版本
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.29</version>
</dependency>
  • Spring 5 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring5</artifactId>
    <version>2.0.29</version>
</dependency>
  • Spring 6 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring6</artifactId>
    <version>2.0.29</version>
</dependency>

相关链接

fastjson 2.0.28发布

15 Apr 23:33
Compare
Choose a tag to compare

这又是一个Bug修复功能增强版本,大家按需升级。最近非常多用户从fastjson 1.1.x升级到2.0.x,升级后获得性能显著提升,dubbo用户使用fastjson2二进制格式JSONB的用户也越来越多,这次的发布也修复了一些相关的问题。

Maven中央仓库的统计数据显示,2023年4月份fastjson2下载量为45万。
image

Issues

  1. 修复某些场景spring-doc接口文档无法显示的问题 #387
  2. 修复日期格式反序列化自动识别yyyyMMddHHmmss格式和fastjson 1.x不一致的问题 #1326
  3. 修复对Hutool库Dict类型序列化结果不对的问题 #1337 #1338
  4. 修复JSONWriter.Feature.BrowserCompatible在Map Key中不生效的问题 #1350
  5. 修复List<Map<String, List>>类型反序列化报错的问题 #1351
  6. 修复Map类型反序列化输入为空字符串报错的问题 #1356
  7. 修复枚举类型字段缺省输出不是name的问题 #1355
  8. 修复int类型输入超大数字越界时不报错的问题 #1357
  9. 修复JSONSchema校验字符串类型的枚举和常量不起作用的问题 #1367
  10. 修复JSONB在某些场景处理autoType报错的问题 #1366
  11. JSONPath支持"A.B[?(@.C==null)]"这样的过滤条件 #1369
  12. 修复配置NameFilter后writeNull结果不对的问题 #1348
  13. 增强日期格式的自动识别 #1325
  14. 增强对CSV的支持 https://github.com/alibaba/fastjson2/blob/main/docs/csv_cn.md
  15. MAVEN依赖配置

    <dependency>
        <groupId>com.alibaba.fastjson2</groupId>
        <artifactId>fastjson2</artifactId>
        <version>2.0.28</version>
    </dependency>
    • 1.x 兼容版本
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>2.0.28</version>
    </dependency>
    • Spring 5 extension配置
    <dependency>
        <groupId>com.alibaba.fastjson2</groupId>
        <artifactId>fastjson2-extension-spring5</artifactId>
        <version>2.0.28</version>
    </dependency>
    • Spring 6 extension配置
    <dependency>
        <groupId>com.alibaba.fastjson2</groupId>
        <artifactId>fastjson2-extension-spring6</artifactId>
        <version>2.0.28</version>
    </dependency>

    相关链接

FASTJSON 2.0.27版本发布

08 Apr 01:09
Compare
Choose a tag to compare

这又是一个每月更新例行的Bug修复功能增强版本,大家按需升级。最近非常多用户从fastjson 1.1.x升级到2.0.x,升级后获得性能显著提升。dubbo用户使用fastjson2二进制格式JSONB的用户也越来越多,这次的发布也修复了一些相关的问题。

Issues

  1. 修复集成spring-doc导致文档无法显示的问题 #387 #1318 #1256 #1309
  2. 修复kotlin某些场景序列化报错的问题 #1266
  3. 修复Android兼容问题,Timestamp.valueOf方法在Android下不存在 #1272
  4. 提升fastjson 1.x兼容性,支持对List类型反序列化输入single object #1291 #1292
  5. 提升fastjson 1.x兼容性,增强对注释的支持
  6. 修复对ascii 128 ~ 255段LATIN1字符在JDK 11/JDK17下某些场景反序列化结果不对的问题 #1277
  7. 提升对fastjson 1.x兼容性,支持TypeUtils.compatibleWithFieldName=true
  8. 修复对GraalVM识别不准确的问题 #1328
  9. 修复autoType打开时不支持Enum类型作为Key的Map类型反序列化 #1324
  10. 修复某些场景引用检测NPE的问题 #1332 #1315
  11. 修复List类型输入空字符串行为和fastjson 1.x不兼容的问题 #1320
  12. 修复List<List>类型反序列化某些场景会报错的问题 #1312
  13. 修复AtomicBoolean类型不支持反序列化的问题 #1316
  14. 修复某些场景JSONField不起作用的问题 #1258
  15. JSONObject & JSONArray新增方法getDateOrDefault #1252
  16. 反序列化和类型转换支持mongedb的Decimal128 #1300
  17. 序列化增强对动态代理的支持 #1290
  18. 修复某些场景JSON.isValid结果不对的问题 #1287
  19. 修复某些场景序列化处理Annotation报错的问题 #1286
  20. 修复JSONObject转化为Java对象时Map类型字段元素类型不正确的问题 #1269
  21. 增强对日期格式的自动识别 #1276
  22. 增强对base64格式的支持 #1271 #1255
  23. TypeReference支持输入参数 #1267
  24. 增强对CSV的支持 (对标Jackson对CSV的支持)
  25. 增强对自定义Map的支持
  26. 进一步提升在JDK 8下的序列化性能
  27. MAVEN依赖配置

    <dependency>
        <groupId>com.alibaba.fastjson2</groupId>
        <artifactId>fastjson2</artifactId>
        <version>2.0.27</version>
    </dependency>
    • 1.x 兼容版本
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>2.0.27</version>
    </dependency>
    • Spring 5 extension配置
    <dependency>
        <groupId>com.alibaba.fastjson2</groupId>
        <artifactId>fastjson2-extension-spring5</artifactId>
        <version>2.0.27</version>
    </dependency>
    • Spring 6 extension配置
    <dependency>
        <groupId>com.alibaba.fastjson2</groupId>
        <artifactId>fastjson2-extension-spring6</artifactId>
        <version>2.0.27</version>
    </dependency>

    相关链接

fastjson 2.0.26发布

19 Mar 03:00
Compare
Choose a tag to compare

这次的发布是为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

  1. 修复dubbo社区反馈的二进制格式JSONB反序列化带类型信息的Exception类时解析报错的问题 #1175
  2. 修复反序列化List类型不支持Object类型输入和fastjson 1.x不兼容的问题 #1240
  3. 修复JSONPath一次读取多个path某些场景结果不对的问题 #1130
  4. 修复parseObject(input, TypeReference)类型推断和fastjson 1.x不兼容的问题 #1222
  5. 修复某些场景复杂对象序列化引用计算不对或者报错的问题 #1234 #1242
  6. 修复toJavaObject某些情况下构造函数输入参数类型不匹配时不错的问题 #1233
  7. 支持注册自定义java.util.Date类型的ObjectReader #1227
  8. JSONPath支持不过滤null属性 #1159
  9. 修复对象带Lambda字段序列化报错的问题 #1177
  10. 增强日期类型对epochMillis字符串输入的支持 #1231
  11. 修复Feature.WriteBooleanAsNumber不生效的问题 #1241
  12. 修复某些场景JSONField不生效的问题 #1246
  13. 修复在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 2.0.25发布

12 Mar 17:21
Compare
Choose a tag to compare

这又是一个每月更新例行的Bug修复功能增强版本,大家按需升级。最近一个月升级的用户明显快速增加,很多issue和兼容相关。

Issues

  1. Date类型反序列化内置支持更多格式,增强对fastjson 1.x的兼容 #1125 #1138 #1225
  2. 增加TypeUtils#castToBigInteger方法,增强对fastjson 1.x的兼容 #1145
  3. enum类型反序列化支持中文name #1150
  4. 修复JSONField#unwrapped反序列化不起作用的问题 #1147 #1158
  5. 修复json schema校验报错信息不准确的问题 #1157 #1126
  6. toJavaObject方法支持long到Timestamp类型的转换 #1146
  7. 增强对JSONPath的支持 #1191 #1153 #1130 #1215
  8. 修复JSONArray/JSONObject和fastjson 1.x行为不一致的问题 #1203
  9. 修复反序列化JSONReader.Feature.InitStringFieldAsEmpty不生效的问题 #1128
  10. 修复JSONScanner不支持scanISO8601DateIfMatch的兼容问题 #1216
  11. 修复Boolean的get和is方法共存时序列化结果不确定的问题 #1133
  12. 修复ObjectReaderImplMapTyped在某些场景下会空指针的问题 #1148
  13. 修复char类型序列化会导致内存占用过大的问题 #1165
  14. 支持识别Jackson Annotation JsonFormat(shapge = STRING) #1167
  15. 修复自定义ObjectReader#readObject方法输入参数type为null的问题 #1168
  16. 增加SimpleDateFormatSerializer提升对fastjson 1.x的兼容
  17. 序列化忽略Lambda Function类型字段 #1177
  18. 修复JSON.parseArray方法在类型为enum并且输入为"[null]"会死循环的问题 #1184
  19. 修复JSON.isValid某些场景返回结果不对的问题 #1183
  20. 修复不能识别父对象JSONField的问题 #1131
  21. 增加JSONLibDataFormatSerializer增强对fastjson 1.x兼容
  22. 增加@jsontype#autoTypeBeforeHandler,增强对fastjson 1.x的兼容

MAVEN依赖配置

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.25</version>
</dependency>
  • 1.x 兼容版本
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.25</version>
</dependency>
  • Spring 5 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring5</artifactId>
    <version>2.0.25</version>
</dependency>
  • Spring 6 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring6</artifactId>
    <version>2.0.25</version>
</dependency>

相关链接

fastjson 2.0.24发布

18 Feb 10:32
Compare
Choose a tag to compare

这又是一个例行的Bug修复功能功能增强的版本,大家按需升级。

Issues

  1. 修复ContextFilter在getter序列化时获取不到Field的问题 #1090
  2. 修复配置JSONReader.Feature.DuplicateKeyValueAsArray多于两个值时不起作用的问题 #1100
  3. 修复反序列化BigDecimal类型输入科学计数法时某些场景会报错的问题 #1120
  4. JSONType支持配置seeAlsoDefault,对应Jackson JsonTypeInfo#defaultImpl,方便Jackson用户迁移到迁移
  5. 修复两个成员的Enum在toJavaObject场景报错的问题 #1106
  6. 修复JSONArray.parseArray方法 non-public的问题 #1107
  7. 修复兼容包中JSONArray实现的是List而非List导致类型推断出错的问题 #1103
  8. 修复不支持序列化Jackson ArrayNode类型的问题 #1091
  9. 修复JSONField#unwrapped反序列化某些情况不起作用的问题
  10. 修复JSON.toJSONString不支持多个ValueFilter的问题 #1078
  11. MAVEN依赖配置

    <dependency>
        <groupId>com.alibaba.fastjson2</groupId>
        <artifactId>fastjson2</artifactId>
        <version>2.0.24</version>
    </dependency>
    • 1.x 兼容版本
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>2.0.24</version>
    </dependency>
    • Spring 5 extension配置
    <dependency>
        <groupId>com.alibaba.fastjson2</groupId>
        <artifactId>fastjson2-extension-spring5</artifactId>
        <version>2.0.24</version>
    </dependency>
    • Spring 6 extension配置
    <dependency>
        <groupId>com.alibaba.fastjson2</groupId>
        <artifactId>fastjson2-extension-spring6</artifactId>
        <version>2.0.24</version>
    </dependency>

    相关链接