This repository has been archived by the owner on Oct 23, 2024. It is now read-only.
Releases: alibaba/fastjson
Releases · alibaba/fastjson
fastjson-1.2.14 修复BUG功能增强
fastjson-1.2.13 修复BUG
这是一个改动较少的BUG修复版本。
Bug Fixed
相关链接
fastjson-1.2.12 修复BUG增强功能
这个主要版本是BUG修复
Bug Fixed
- 修复多重嵌套泛型无法识别的问题 #564
- 修复自动类型字段无法正常反序列化的问题 #585
- 修复泛型基类在某种场景下序列化出错 #604 #621
- 修复1.2.11版FastJsonHttpMessageConverter里setContentLength无效的问题 #605
- 修复Enum使用ObjectSerializer自定义序列化类不起作用的问题 #607
- 修复不同classLoader交错使用fastjson时出现异常的问题 #616
- 修复不支持链式编程的父类setter问题 #633
- 修复BeanToArray模式下空值parse报错的问题 #630
- 修复实现Iterable接口的JavaBean序列化报错的问题 #638
功能增强
- JSONField的deserialize在public Field上不起作用 #555
- JSONField支持jsonDirect配置,直接输出JSON格式字符串 #564 https://github.com/alibaba/fastjson/wiki/JSONField_jsonDirect_cn
- BeanToArray支持在字段上配置 #610
- JSONField支持format配置支持Date/Java8 LocalDatetime #612 #627
相关链接
fastjson-1.1.52.android BUG修复
fastjson-1.2.11 BugFix性能提升,BeanToArray模式性能超越probuf
Bug Fixed
- 修复在某些场景下,List<String>字段序列化后结果不对的问题。这问题因1.2.10优化引起,在此版本1.2.11中修复。
- 修复FastJsonHttpMessageConverter和spring 4.x版本不兼容的问题 Issue591 Issue574 Issue577
功能增强
- 新增Class Level SerializeSerializeFilter功能,允许将SerializeSerializeFilter注册到Class级别
- JSON类新增API,parseObject对InputStream直接支持。https://github.com/alibaba/fastjson/wiki/JSON_parseObject_InputStream_cn
- JSON类新增API writeJSONString对OutputStream/Writer直接支持。https://github.com/alibaba/fastjson/wiki/JSON_writeJSONString_cn
- JSONType新增加seeAlso配置,类似JAXB中的XmlSeeAlso,允许输出更短的className名称。https://github.com/alibaba/fastjson/wiki/JSONType_seeAlso_cn
- 增强对BeanToArray模式的支持
- 序列化支持新特性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发布,继续提升性能
性能改进
- 解决之前版本(1.1.47.android~1.1.50.android)反序列化存在大量转义字符的文本时性能较低的问题。
- 优化int/long类型读取的性能
- 优化key读取的性能
- 优化了BeanToArray模式的性能
通过各种办法优化,在1.1.51.android版本中,比目前主流采用1.1.46.android性能提升明显,在实际生产环境的case中,耗时只用原来的40%不到。
功能增强
- 支持类型为Collection/Map并且final只读的字段反序列化
相关链接
fastjson-1.2.10版本发布,修复Bug,支持Class Level SerializeFilter
Bug Fixed
- 修复ValueFilter导致序列化数据丢失的问题,这个在1.2.9优化序列化引起。
- 修复某些场景下解析json中的注释出错。issue 559
- 修复WriteNonStringValueAsString特性打开时,非public类序列化会导致int类型输出为0的问题。 issue 572
- 修复1.2.8/1.2.9版本不支持JDK 1.5的问题
功能增强
- 新增Class Level SerializeFilter支持,在此之前只能在toJSONString时SerializeFilter,对所有的类型都起作用,这样会对框架的实现由性能影响,新特性允许SerializeFilter注册在类型上,具体文档看这里 https://github.com/alibaba/fastjson/wiki/Class_Level_SerializeFilter
相关链接
fastjson-1.1.50.android版本发布,修复性能优化引起的BUG
在之前发布的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.47.android字符串解析优化导致 issue 553
- 修复JSONWriter在某些情况下导致格式错乱的问题,问题在1.1.47.android中性能优化引入。
相关链接
fastjson-1.2.9版本发布,提升序列化性能,功能增强,修复bug
Bug Fixed
- 修复SupportArrayToBean启动时某些情况下报错的BUG。issue 562
- 修复自定义Enum反序列化实现时报错的BUG。issue 457
- 修正JSON.toJavaObject 转换 java.util.Currency 失败的问题。 issue 349
- 修正无法解析带注释的json问题。issue 439
- 修正无法自动识别android风格m前缀字段的问题。issue 443
- 修正float类型和double类型为空字符串时反序列化失败 issue 479
- 反序列化ArrayList派生类出错。issue 389
- 修正 @type如果没有在“{”之后的第一位时无法识别类型。issue 406
- 修正某些情况下引用计算错误的问题。issue 415, issue 236
- 修正JSON.toJSONString的某个方法强制使用WriteDateUseDateFormat的问题 issue 476, issue 367, issue 314
- 修正使用 ISO8601 序列化Calendar类型, 丢失时间数据。issue 331
- 修复json字符串尾部存在空字符串时报错的问题。issue 304
功能增强
- 支持链式编程API,JSONObject/JSONArray支持fluentPut/fluentPutAll/fluentClear/fluentRemove方法。 issue 551
- 支持jax-rs。新增加com.alibaba.fastjson.support.jaxrs.FastJsonProvider,来自smallnest的实现
- TypeUtils.castToDouble方法支持"1,000"这种风格的字符串。
- FastJsonHttpMessageConverter支持配置dateFormatPattern issue 418
- 增加ExtraProcessable扩展,用于JavaBean处理扩展字段,这个个性对于MapBean很有用。https://github.com/alibaba/fastjson/wiki/ExtraProcessable
- 增加FieldTypeResolver扩展,用于根据字段名称识别类型。 https://github.com/alibaba/fastjson/wiki/FieldTypeResolver
- SimplePropertyPreFilter增加maxLevel配置,可以用于配置最大输出层数。https://github.com/alibaba/fastjson/wiki/Samples-PropertyFilter
- 新增加ContextValueFilter,用于定制序列化。https://github.com/alibaba/fastjson/wiki/ContextValueFilter
- 新增SerializerFeature.WriteNonStringValueAsString ,用于将非字符串类型的值输出为字符串。issue 237
- 字节码生成的实现ASMSerializerFactory和ASMDeserializerFactory避免硬编码,方便一些容器重构修改包名内嵌,用于避免jar包版本冲突。
- TypeReference增强,支持传入参数 https://github.com/alibaba/fastjson/wiki/TypeReference
- 支持Iterable类型序列化 issue 478
性能
优化序列化的字节码生成实现,序列化性能略有提升。
相关链接
fastjson-1.1.49.android版本发布,进一步提升性能
进一步提升性能,提升json_string -> JSONObject之间的转换性能。在android 5下比原生org.json性能快30%,在android 6下接近原生org.json的性能。back port 1.2.x版本的特性和bug fixed。
Bug Fixed
- 修正1.1.48.android版本优化引起的Integer/Long/Float/Double类型的public Field序列化报错的bug。
- 修正1.1.48.android版本打包不恰当依赖gson的问题 issue 540
- 修正JSON.toJavaObject 转换 java.util.Currency 失败的问题。 issue 349
- 修正无法解析带注释的json问题。issue 439
- 修正无法自动识别android风格m前缀字段的问题。issue 443
- 修正float类型和double类型为空字符串时反序列化失败 issue 479
- 反序列化ArrayList派生类出错。issue 389
- 修正 @type如果没有在“{”之后的第一位时无法识别类型。issue 406
- 修正某些情况下引用计算错误的问题。issue 415, issue 236
- 修正JSON.toJSONString的某个方法强制使用WriteDateUseDateFormat的问题 issue 476, issue 367, issue 314
- 修正使用 ISO8601 序列化Calendar类型, 丢失时间数据。issue 331
功能增强
- 增加ExtraProcessable扩展,用于JavaBean处理扩展字段,这个个性对于MapBean很有用。https://github.com/alibaba/fastjson/wiki/ExtraProcessable
- 增加FieldTypeResolver扩展,用于根据字段名称识别类型。 https://github.com/alibaba/fastjson/wiki/FieldTypeResolver
- SimplePropertyPreFilter增加maxLevel配置,可以用于配置最大输出层数。https://github.com/alibaba/fastjson/wiki/Samples-PropertyFilter
性能增强
- 进一步提升性能,提升json_string -> JSONObject之间的转换性能。在android 5下比原生org.json性能快30%,在android 6下接近原生org.json的性能。
- 提供提升首次序列化和反序列化性能的注册类型信息API https://github.com/alibaba/fastjson/wiki/android_first_codec_optimize