Skip to content

Releases: alibaba/fastjson

fastjson-1.2.14 修复BUG功能增强

17 Jul 14:17
Compare
Choose a tag to compare

这是一个BUG修复功能增强的迭代版本,功能增强都和JSONPath有关。

Bug Fixed

  1. 修复在某些场景下无法兼容JDK5/6/7的问题 #700
  2. 修复定制typeKey不起作用的问题 #710

功能增强

  1. JSONPath新增unset方法 #708
  2. JSONPath过滤条件支持boolean和double类型 #722
  3. JSONPath支持8级以上 #726
  4. JSONPath.set方法支持多级原来不存在的路径 #727
  5. JSONPath新增方法paths方法返回所有的path列表 #709
  6. JSONPath支持deepScan操作.. #725

相关链接

fastjson-1.2.13 修复BUG

28 Jun 01:21
Compare
Choose a tag to compare

这是一个改动较少的BUG修复版本。

Bug Fixed

  1. 修复某些特场景字段过多时序列化报ClassFormatError的问题。#681
  2. Enum类型反序列化空字符串报错。 #676
  3. 某些场景下反序列化引用计算错误。
  4. Final字段反序列化报错。#698

相关链接

fastjson-1.2.12 修复BUG增强功能

21 May 17:35
Compare
Choose a tag to compare

这个主要版本是BUG修复

Bug Fixed

  1. 修复多重嵌套泛型无法识别的问题 #564
  2. 修复自动类型字段无法正常反序列化的问题 #585
  3. 修复泛型基类在某种场景下序列化出错 #604 #621
  4. 修复1.2.11版FastJsonHttpMessageConverter里setContentLength无效的问题 #605
  5. 修复Enum使用ObjectSerializer自定义序列化类不起作用的问题 #607
  6. 修复不同classLoader交错使用fastjson时出现异常的问题 #616
  7. 修复不支持链式编程的父类setter问题 #633
  8. 修复BeanToArray模式下空值parse报错的问题 #630
  9. 修复实现Iterable接口的JavaBean序列化报错的问题 #638

功能增强

  1. JSONField的deserialize在public Field上不起作用 #555
  2. JSONField支持jsonDirect配置,直接输出JSON格式字符串 #564 https://github.com/alibaba/fastjson/wiki/JSONField_jsonDirect_cn
  3. BeanToArray支持在字段上配置 #610
  4. JSONField支持format配置支持Date/Java8 LocalDatetime #612 #627

相关链接

fastjson-1.1.52.android BUG修复

21 May 13:32
Compare
Choose a tag to compare

这是一个较少改动的版本,修复两个小bug,同时将两个标准版本的功能迁移到android版本上。

  1. 修复当子类和父类有相同名字字段时混淆后可能导致赋值到父类字段的情况。#615
  2. 修复当public Field和Getter方法类型不一致时导致序列化报错的问题
  3. JSON类新增toJavaObject方法,和标准版保持一致
  4. JSONType注解支持seeAlso配置,和1.2.11版本一致

相关链接

fastjson-1.2.11 BugFix性能提升,BeanToArray模式性能超越probuf

02 May 07:26
Compare
Choose a tag to compare

Bug Fixed

  1. 修复在某些场景下,List<String>字段序列化后结果不对的问题。这问题因1.2.10优化引起,在此版本1.2.11中修复。
  2. 修复FastJsonHttpMessageConverter和spring 4.x版本不兼容的问题 Issue591 Issue574 Issue577

功能增强

  1. 新增Class Level SerializeSerializeFilter功能,允许将SerializeSerializeFilter注册到Class级别
  2. JSON类新增API,parseObject对InputStream直接支持。https://github.com/alibaba/fastjson/wiki/JSON_parseObject_InputStream_cn
  3. JSON类新增API writeJSONString对OutputStream/Writer直接支持。https://github.com/alibaba/fastjson/wiki/JSON_writeJSONString_cn
  4. JSONType新增加seeAlso配置,类似JAXB中的XmlSeeAlso,允许输出更短的className名称。https://github.com/alibaba/fastjson/wiki/JSONType_seeAlso_cn
  5. 增强对BeanToArray模式的支持
  6. 序列化支持新特性IgnoreErrorGetter,启用后忽略报错的getter方法

性能提升

在fastjson-1.2.11版本中,序列化性能有了很大提升,总体性能远超过jackson的普通模式和afterburn模式。BeanToArray模式的提升更是明显,在BeanToArray模式下,eishay的测试已经超越protobuf。具体测试报告看这里 https://github.com/alibaba/fastjson/wiki/Benchmark_1_2_11

相关链接

fastjson-1.1.51.android发布,继续提升性能

01 May 14:42
Compare
Choose a tag to compare

性能改进

  1. 解决之前版本(1.1.47.android~1.1.50.android)反序列化存在大量转义字符的文本时性能较低的问题。
  2. 优化int/long类型读取的性能
  3. 优化key读取的性能
  4. 优化了BeanToArray模式的性能

通过各种办法优化,在1.1.51.android版本中,比目前主流采用1.1.46.android性能提升明显,在实际生产环境的case中,耗时只用原来的40%不到。

功能增强

  1. 支持类型为Collection/Map并且final只读的字段反序列化

相关链接

fastjson-1.2.10版本发布,修复Bug,支持Class Level SerializeFilter

23 Apr 15:28
Compare
Choose a tag to compare

Bug Fixed

  1. 修复ValueFilter导致序列化数据丢失的问题,这个在1.2.9优化序列化引起。
  2. 修复某些场景下解析json中的注释出错。issue 559
  3. 修复WriteNonStringValueAsString特性打开时,非public类序列化会导致int类型输出为0的问题。 issue 572
  4. 修复1.2.8/1.2.9版本不支持JDK 1.5的问题

功能增强

  1. 新增Class Level SerializeFilter支持,在此之前只能在toJSONString时SerializeFilter,对所有的类型都起作用,这样会对框架的实现由性能影响,新特性允许SerializeFilter注册在类型上,具体文档看这里 https://github.com/alibaba/fastjson/wiki/Class_Level_SerializeFilter

相关链接

fastjson-1.1.50.android版本发布,修复性能优化引起的BUG

23 Apr 09:34
Compare
Choose a tag to compare

在之前发布的1.1.47.android/1.1.48.android/1.1.49.android版本中,针对android做了大量性能优化,因此导致了一些Bug。在1.1.50.android版本中,做了大量的测试,以提高稳定性。

在1.1.50.android版本中,引入了travis-ci 做持续集成,引入了codecov.io来做测试覆盖率分析。在1.1.50.android版本中,测试覆盖率已经提升到95.20%。

Bug Fixed

  1. 修复带转义字符\"反序列化出错和转义字符丢失的问题,在1.1.47.android字符串解析优化导致 issue 553
  2. 修复JSONWriter在某些情况下导致格式错乱的问题,问题在1.1.47.android中性能优化引入。

相关链接

fastjson-1.2.9版本发布,提升序列化性能,功能增强,修复bug

18 Apr 12:46
Compare
Choose a tag to compare

Bug Fixed

  1. 修复SupportArrayToBean启动时某些情况下报错的BUG。issue 562
  2. 修复自定义Enum反序列化实现时报错的BUG。issue 457
  3. 修正JSON.toJavaObject 转换 java.util.Currency 失败的问题。 issue 349
  4. 修正无法解析带注释的json问题。issue 439
  5. 修正无法自动识别android风格m前缀字段的问题。issue 443
  6. 修正float类型和double类型为空字符串时反序列化失败 issue 479
  7. 反序列化ArrayList派生类出错。issue 389
  8. 修正 @type如果没有在“{”之后的第一位时无法识别类型。issue 406
  9. 修正某些情况下引用计算错误的问题。issue 415, issue 236
  10. 修正JSON.toJSONString的某个方法强制使用WriteDateUseDateFormat的问题 issue 476, issue 367, issue 314
  11. 修正使用 ISO8601 序列化Calendar类型, 丢失时间数据。issue 331
  12. 修复json字符串尾部存在空字符串时报错的问题。issue 304

功能增强

  1. 支持链式编程API,JSONObject/JSONArray支持fluentPut/fluentPutAll/fluentClear/fluentRemove方法。 issue 551
  2. 支持jax-rs。新增加com.alibaba.fastjson.support.jaxrs.FastJsonProvider,来自smallnest的实现
  3. TypeUtils.castToDouble方法支持"1,000"这种风格的字符串。
  4. FastJsonHttpMessageConverter支持配置dateFormatPattern issue 418
  5. 增加ExtraProcessable扩展,用于JavaBean处理扩展字段,这个个性对于MapBean很有用。https://github.com/alibaba/fastjson/wiki/ExtraProcessable
  6. 增加FieldTypeResolver扩展,用于根据字段名称识别类型。 https://github.com/alibaba/fastjson/wiki/FieldTypeResolver
  7. SimplePropertyPreFilter增加maxLevel配置,可以用于配置最大输出层数。https://github.com/alibaba/fastjson/wiki/Samples-PropertyFilter
  8. 新增加ContextValueFilter,用于定制序列化。https://github.com/alibaba/fastjson/wiki/ContextValueFilter
  9. 新增SerializerFeature.WriteNonStringValueAsString ,用于将非字符串类型的值输出为字符串。issue 237
  10. 字节码生成的实现ASMSerializerFactory和ASMDeserializerFactory避免硬编码,方便一些容器重构修改包名内嵌,用于避免jar包版本冲突。
  11. TypeReference增强,支持传入参数 https://github.com/alibaba/fastjson/wiki/TypeReference
  12. 支持Iterable类型序列化 issue 478

性能

优化序列化的字节码生成实现,序列化性能略有提升。

相关链接

fastjson-1.1.49.android版本发布,进一步提升性能

17 Apr 14:13
Compare
Choose a tag to compare

进一步提升性能,提升json_string -> JSONObject之间的转换性能。在android 5下比原生org.json性能快30%,在android 6下接近原生org.json的性能。back port 1.2.x版本的特性和bug fixed。

Bug Fixed

  1. 修正1.1.48.android版本优化引起的Integer/Long/Float/Double类型的public Field序列化报错的bug。
  2. 修正1.1.48.android版本打包不恰当依赖gson的问题 issue 540
  3. 修正JSON.toJavaObject 转换 java.util.Currency 失败的问题。 issue 349
  4. 修正无法解析带注释的json问题。issue 439
  5. 修正无法自动识别android风格m前缀字段的问题。issue 443
  6. 修正float类型和double类型为空字符串时反序列化失败 issue 479
  7. 反序列化ArrayList派生类出错。issue 389
  8. 修正 @type如果没有在“{”之后的第一位时无法识别类型。issue 406
  9. 修正某些情况下引用计算错误的问题。issue 415, issue 236
  10. 修正JSON.toJSONString的某个方法强制使用WriteDateUseDateFormat的问题 issue 476, issue 367, issue 314
  11. 修正使用 ISO8601 序列化Calendar类型, 丢失时间数据。issue 331

功能增强

  1. 增加ExtraProcessable扩展,用于JavaBean处理扩展字段,这个个性对于MapBean很有用。https://github.com/alibaba/fastjson/wiki/ExtraProcessable
  2. 增加FieldTypeResolver扩展,用于根据字段名称识别类型。 https://github.com/alibaba/fastjson/wiki/FieldTypeResolver
  3. SimplePropertyPreFilter增加maxLevel配置,可以用于配置最大输出层数。https://github.com/alibaba/fastjson/wiki/Samples-PropertyFilter

性能增强

  1. 进一步提升性能,提升json_string -> JSONObject之间的转换性能。在android 5下比原生org.json性能快30%,在android 6下接近原生org.json的性能。
  2. 提供提升首次序列化和反序列化性能的注册类型信息API https://github.com/alibaba/fastjson/wiki/android_first_codec_optimize

相关链接