Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency com.alibaba:fastjson to v2.0.54 #15

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 14, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
com.alibaba:fastjson 2.0.48 -> 2.0.54 age adoption passing confidence

Release Notes

alibaba/fastjson2 (com.alibaba:fastjson)

v2.0.54: fastjson 2.0.54版本发布,性能进一步提升

Compare Source

这又是一个性能优化Bug修复的版本更新版本,大家按需升级。

1. 性能优化

这个版本的性能优化包括:

1.1 使用SWAR(SIMD Within A Register)技巧来优化序列化字符串的性能

序列化时,写字符串检测是否存在特别字符是一个性能关键点,这个版本使用SWAR(SIMD Within A Register)的技巧来做快速检测。如下

package com.alibaba.fastjson2;
class JSONWriterUTF8 {
    protected final long byteVectorQuote;

   JSONWriterUTF8(Context ctx) {
        // " -> 0x22, ' -> 0x27
        this.byteVectorQuote = this.useSingleQuote ? 0x2727_2727_2727_2727L : 0x2222_2222_2222_2222L;
    }

    public void writeStringLatin1(byte[] value) {
        final long vecQuote = this.byteVectorQuote;
        int i = 0;
        final int upperBound = (value.length - i) & ~7;
        // 这里一次检测8个byte是否存在特别字符
        for (; i < upperBound; i += 8) {
            if (containsEscaped(IOUtils.getLongLittleEndian(value, i), vecQuote)) {
                break;
            }
        }
        // ...
    }

    static boolean containsEscaped(long v, long quote) {
        /*
          for (int i = 0; i < 8; ++i) {
            byte c = (byte) data;
            if (c == quote || c == '\\' || c < ' ') {
                return true;
            }
            data >>>= 8;
          }
          return false;
         */
        long x22 = v ^ quote; // " -> 0x22, ' -> 0x27
        long x5c = v ^ 0x5c5c5c5c5c5c5c5cL;

        x22 = (x22 - 0x0101010101010101L) & ~x22;
        x5c = (x5c - 0x0101010101010101L) & ~x5c;

        return ((x22 | x5c | (0x7F7F_7F7F_7F7F_7F7FL - v + 0x1010_1010_1010_1010L) | v) & 0x8080808080808080L) != 0;
    }
}

https://github.com/alibaba/fastjson2/blob/2.0.54/core/src/main/java/com/alibaba/fastjson2/JSONWriterUTF8.java#L484

1.2 优化在JDK 16+的readString性能

在JDK 16+的版本下,使用StringLatin1.indexOfChar方法加速扫描特殊字符,优化readString的性能。这个算法来自 wycst 的贡献。

class JSONReaderASCII {
    static final int ESCAPE_INDEX_NOT_SET = -2;

    protected int nextEscapeIndex = ESCAPE_INDEX_NOT_SET;

    public String readString() {
            int slashIndex = nextEscapeIndex;
            if (slashIndex == ESCAPE_INDEX_NOT_SET || (slashIndex != -1 && slashIndex < offset)) {
                nextEscapeIndex = slashIndex = IOUtils.indexOfChar(bytes, '\\', offset, end);
            }
            if (slashIndex == -1 || slashIndex > index) {
                valueLength = index - offset;
                offset = index;
           // ...
    }
}

https://github.com/alibaba/fastjson2/blob/2.0.54/core/src/main/java/com/alibaba/fastjson2/JSONReaderASCII.java#L1445

1.3 int/long/float/double的读取写性能

优化的技巧是一次性读取两个数字,如下:

package com.alibaba.fastjson2;

class JSONReaderUTF8 {
    public final int readInt32Value() {
       // ...
        while (inRange
                && offset + 1 < end
                && (digit = IOUtils.digit2(bytes, offset)) != -1
        ) {
            // max digits is 19, no need to check inRange (result == MULT_MIN_100 && digit <= (MULT_MIN_100 * 100 - limit))
            if (inRange = (result > INT_32_MULT_MIN_100)) {
                result = result * 100 - digit;
                offset += 2;
            }
        }
    }
}
package com.alibaba.fastjson2.util;
class IOUtils {
    public static int digit2(byte[] bytes, int off) {
        short x = UNSAFE.getShort(bytes, ARRAY_BYTE_BASE_OFFSET + off);
        if (BIG_ENDIAN) {
            x = Short.reverseBytes(x);
        }
        int d;
        if ((((x & 0xF0F0) - 0x3030) | (((d = x & 0x0F0F) + 0x0606) & 0xF0F0)) != 0
        ) {
            return -1;
        }
        return ((d & 0xF) << 3) + ((d & 0xF) << 1)  // (d & 0xF) * 10
                + (d >> 8);
    }
}

https://github.com/alibaba/fastjson2/blob/2.0.54/core/src/main/java/com/alibaba/fastjson2/JSONReaderUTF8.java#L3506

这个优化最初灵感源泉来自 https://github.com/wycst/wast 的 io.github.wycst.wast.json.JSONTypeDeserializer.NumberImpl#deserializeInteger所采用的算法,然后做了进一步的改进。

2. Issues

  1. 修复toJSONString实际可用空间小于预设的问题 #​255
  2. 格式化输出支持使用空格代替Tab,新增两个JSONWriter.Feature为PrettyFormatWith2Space和PrettyFormatWith4Space
  3. 修复非法输入缺少第一个花括号{不报错的问题 #​2592
  4. 增强识别枚举,原来不能识别toString的结果,新增识别toString的结果。 #​2820
  5. JSONObject.to 支持Void.class和void.class返回null #​2879
  6. 修复CSVWriter写入CSV数据超过 65536 个字节时报错 #​2988
  7. 修复SeeAlso类型父类是Abstract类型时JVM Crash的问题 #​2987
  8. 修复初始化JSONFactory某些场景会导致循环依赖导致死锁的问题 #​2994
  9. 修复JSON.toJSON方法行为和JSON.toJSONString不一致的问题 #​2981
  10. 增强对注释的支持 #​2983
  11. 修复某些场景JSONWriter.Feature.WriteNulls导致Long/Double序列化结果为Null的问题 #​3049
  12. 修复toJavaObject方法不能识别早期时间毫秒到LocalDateTime的转换问题 #​3091
  13. 修复反序列化private Class结果和toJavaObject方法结果不一致的问题 #​3134
  14. 增强fastjson 1.x的兼容性 #​3208 #​2739 # 3144 #​3157
  15. 增强对Record的支持 #​3090
  16. JSONPath支持使用path设置List中的对象 #​3125
  17. 修复private Boolean类型字段使用valueFilter报错的问题 #​3076
  18. 修复JDK 9+ writeStringEscaped某些场景数组越界报错 #​3209
  19. 增加对Key为Map类型的反序列化支持 #​3214
  20. JSON.parseObject方法在某些情况下反序列化编码出错的问题 #​3223 #​3219
  21. 支持修改useGsonAnnotation 配置 #​3258
    fastjson2缺省是能识别Gson的Annotation的,这个可以通过接口或者JVM启动参数关闭
import com.alibaba.fastjson2.JSONFactory;

// 手工关闭
JSONFactory.setUseGsonAnnotation(false);

也支持通过JVM启动参数关闭

-Dfastjson2.useGsonAnnotation=false
  1. 修复错误格式没有及时报错的问题 #​3260
  2. public首字母大写的字段,序列化重复key生成 #​3220

MAVEN依赖配置

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.54</version>
</dependency>
  • android5针对优化版本
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.54.android5</version>
</dependency>
  • android8针对优化版本
    这个版本支持java.time和Optional
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.54.android8</version>
</dependency>
  • 1.x 兼容版本
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.54</version>
</dependency>
  • Spring 5 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring5</artifactId>
    <version>2.0.54</version>
</dependency>
  • Spring 6 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring6</artifactId>
    <version>2.0.54</version>
</dependency>

3. 相关链接

v2.0.53: fastjson 2.0.53版本发布

Compare Source

这又是一个月度更新版本,大家按需升级。

Issues

  1. 支持DisableSingleQuote配置 #​2908
  2. 修复配置JSONField#ignore之后导致死循环的问题 #​2914
  3. 反序列化java.util.Date类型支持HH:mm:ss格式输入 #​2905
  4. 修复兼容Jackson Annotation JsonUnwrapped某些场景不起作用的问题 #​2846
  5. 修复兼容Jackson Annotation JsonFormat某些场景不起作用的问题 #​2836
  6. 修复JSONB格式反序列化是忽略不存在Double/LocalDate字段报错的问题 #​2823 #​2907 #​2902
  7. 修复反序列化java.util.RandomAccessSubList类型报错的问题 #​2851
  8. DefaultObjectWriterProvider和DefaultObjectReaderProvider提供clear方法 #​2860
  9. 修复某些场景反序列化LocalDateTime报错的问题 #​2817
  10. 修复CSVWriter在writeDecimal计算空间不对的问题 #​2848
  11. 修复JSONReader.Feature.UseBigDecimalForFloats行为不对的问题 #​2866 #​2867
  12. 修复使用 fastjson1 的 JSON.toJSON() 方法,转换后的数据中存在 com.alibaba.fastjson2.JSONArray #​2856
  13. 修复与lombok AllArgsConstructor冲突的问题 #​2901
  14. 支持Clickhouse UnsignedLong类型序列化 #​2958
  15. 修复JSONB DUMP DECIMAL类型某些场景报错的问题 #​2954
  16. 支持更多场景JSONSchema #​2931
  17. 修复Long/Double字段配置JSONField#serializeFeatures WriteNulls不生效的问题 #​2952
  18. 修复某些场景配置JSONType#alphabetic=false不生效的问题 #​2959

2. MAVEN依赖配置

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.53</version>
</dependency>
  • android5针对优化版本
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.53.android5</version>
</dependency>
  • android8针对优化版本
    这个版本支持java.time和Optional
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.53.android8</version>
</dependency>
  • 1.x 兼容版本
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.53</version>
</dependency>
  • Spring 5 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring5</artifactId>
    <version>2.0.53</version>
</dependency>
  • Spring 6 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring6</artifactId>
    <version>2.0.53</version>
</dependency>

3. 相关链接

v2.0.52: fastjson 2.0.52发布

Compare Source

这又是一个月度例行发布的BUG FIX版本版本,大家按需升级。

Issues

  1. 修复属性为Collections.emptyList时出现的UnsupportedOperationException异常问题 #​1835 #​2691
  2. 完善枚举属性setter方法匹配逻辑 #​2680
  3. 完善JSONPath的set方法跳过null #​2656
  4. 修复@JSONType同时指定WriteClassName与NotWriteRootClassName依然输出根类名问题 #​2662
  5. 修复ObjectReaderImplList与ObjectReaderImplMapTyped的createInstance出现的类型转换异常问题 #​2665
  6. 完善引用支持@符号 #​2671
  7. 调整最大EXP至2047,以支持更大数据 #​2672
  8. 完善FieldReader对Object属性的支持 #​2673
  9. 修复带有Filter时出现的序列化冒号缺失问题 #​2678
  10. 调整ObjectReaderImplEnum数值读取判断逻辑为JSONReader.toInt方法 #​2682
  11. 完善TypeUtils.cast方法对枚举的支持 #​2726 #​2688
  12. 完善Fastjson1对Map的兼容性 #​2693
  13. 修复List属性时在指定ReferenceDetection序列化名称缺失问题 #​2712
  14. 新增支持dd-MM-yyyy HH:mm:ss日期格式 #​2757
  15. 完善readNumber0方法对后缀B,S或L的小数读取支持 #​2768
  16. 修复@JSONField对boolean属性支持 #​2795
  17. 完善JSONWriter.getPath对Map类型的支持 #​2590
  18. 完善getInteger, getBigInteger与getBigDecimal对boolean类型的支持 #​2745 #​2746
  19. 新增parseObject(String text, Type type, JSONReader.Context context)方法 #​2774
  20. JSONType新增支持RootName和arrayToMap配置 https://github.com/alibaba/fastjson2/wiki/array_to_map_cn

2. MAVEN依赖配置

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.52</version>
</dependency>
  • android5针对优化版本
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.52.android5</version>
</dependency>
  • android8针对优化版本
    这个版本支持java.time和Optional
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.52.android8</version>
</dependency>
  • 1.x 兼容版本
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.52</version>
</dependency>
  • Spring 5 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring5</artifactId>
    <version>2.0.52</version>
</dependency>
  • Spring 6 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring6</artifactId>
    <version>2.0.52</version>
</dependency>

3. 相关链接

v2.0.51: fastjson 2.0.51发布

Compare Source

这又是一个例行发布的BUG FIX版本版本,修复最近一个月用户反馈的问题,大家按需升级。

Issues

  1. 修复2.0.50引入的当反序列化传入Filter时OOM的问题
  2. 完善对kotlin的支持,修复某些场景反序列化kotilin.emptyList报错的问题 #​2392
  3. 完善对Jackson Annotation的支持 #​2641 #​2643 #​2644 #​2649
  4. 修复某些情况下WriteNullStringAsEmpty不生效的问题 #​2642
  5. 内置支持MongoDB Date类型 #​2614
  6. 完善apt-codegen,支持生成Writer,支持graalvm native-image #​2622 #​2575 #​2576
  7. 修复toJavaObject方法二层嵌套对象不传递features的问题 #​2564 #​2632
  8. 修复fastjson 1.x API的一些不兼容问题 #​2565 #​2529 #​2578 #​2584 #​2585 #​2593 #​2598 #​2640 #​2639
  9. 修复JSONValidator.validate某些场景报错的问题 #​2566
  10. 修复反序列化Key为数值0或者负数时结果不对的问题 #​2570
  11. 修复JDK17下序列化对象字段包含Lock时报错的问题 #​2571
  12. 修复超大整数反序列化weiBigDecimal结果不对的问题 #​2582
  13. 修复反序列化EnumMap不支持autoType的问题 #​2583
  14. 修复开启autoType支持反序列化HashMap会包含@type字段的问题 #​2581 #​2623
  15. 修复FastJsonHttpMessageConverter配置dateFormat不生效的问题 #​2577
  16. 修复反序列化ConcurrentLinkedQueue存在引用时报错的问题 #​2602
  17. 修复某些场景autoType long反序列化的结果为Integer类型的问题 #​2608
  18. 修复某些场景反序列化AtomicLong报错的问题 #​2615
  19. 支持通过long features配置全局以及JSONReader.Context和JSONWriter.Context的feature #​2610
  20. 修复Map对象在Filter中获得的JSONWriter.getPath结果不对的问题 #​2590
  21. JSONReader.Feature新增UseBigIntegerForInts和UseLongForInts,支持将整数缺省反序列化为BigInteger或者Long。 #​2612
  22. 反序列化日期类型支持更多格式,包括JDK9以后默认的CLDR日期格式 #​2635

2. MAVEN依赖配置

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.51</version>
</dependency>
  • android5针对优化版本
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.51.android5</version>
</dependency>
  • android8针对优化版本
    这个版本支持java.time和Optional
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.51.android8</version>
</dependency>
  • 1.x 兼容版本
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.51</version>
</dependency>
  • Spring 5 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring5</artifactId>
    <version>2.0.51</version>
</dependency>
  • Spring 6 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring6</artifactId>
    <version>2.0.51</version>
</dependency>

3. 相关链接

v2.0.50: fastjson 2.0.50发布

Compare Source

这又是一个例行月度更新的BUG FIX版本,大家按需升级。这个版本继续优化了JIT生成的代码,性能有提升,并且支持配置全局配置在JIT时去掉不必要功能的代码生成,提升性能。

注意已知问题

  • 当parseObject制定Filter时会导致OOM(会尽快发布2.0.51版本修复,或者先回退到2.0.49版本)

Issues

  1. 支持全局配置JIT参数提升性能 https://github.com/alibaba/fastjson2/wiki/jit_optimization
  2. 修复JDK8 ARM服务器下序列化boolean类型偶发结果不对的问题 #​2210 #​2502
  3. 修复org.bson.types.Decimal128转double报错的问题 #​2558
  4. 内置android proguard rules,减少用户手动添加规则 #​2511 #​2466
  5. 修复org.joda.time.DateTime使用JSONB序列化和反序列化报错的问题 #​2563
  6. 修复序列化包括java.security.ProtectionDomain字段对象报错的问题 #​2562
  7. 修复序列化配置WriteNonStringValueAsString在Boolean类型不生效的问题 #​2560
  8. 修复JSON.tJSON在格式为"millis"时处理Date类型报错的问题 #​2550
  9. 修复不支持fastjson 1.x JSONField#unwrap配置的问题 #​2551 #​2525
  10. 修复在某些场景不能识别复杂Jackson Annotation JsonSubTypes的问题 #​2548
  11. 修复反序列化enum类型输入不存在负数数值时报错的问题 #​2531 #​2536
  12. 修复反序列化ImmutableCollection字段报错的问题 #​2532
  13. 修复兼容包某些场景报错的问题 #​2542 #​2537 #​2534 #​2526 #​2521 #​2520 #​2476 #​2440 #​2450
  14. 修复Android API Leval < 24时序列化boolean类型报错的问题 #​2497
  15. 反序列化boolean类型支持更多输入格式 #​2493
  16. 修复部分PropertyNamingStrategy不起作用的问题 #​2478 #​2459
  17. 修复LinkedMultiValueMap类型反序列化结果类型不对的问题 #​2489
  18. 修复反序列化Set类型报错的问题 #​2475
  19. 修复JDK17模块化使用报错的问题 #​2451
  20. 修复序列化java.sql.Timestamp带millis和不带millis时格式不同的问题 #​2460
  21. 修复int/long类型不能识别带千分符字符串的问题 #​2461
  22. 修复序列化hutool中CaseInsensitiveMap/CaseInsensitiveLinkedMap类型结果不对的问题 #​2458
  23. 支持通过JSONFactory. setDefaultWriterAlphabetic全局配置保持字段顺序输出
  24. 修复序列化java.time.Period结果不对的问题 #​2446
  25. 修复JSON.toJSON会导致部分Field类型丢失的问题 #​2447
  26. 新增将Properties对象转换为Java对象的支持 #​2442

2. MAVEN依赖配置

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.50</version>
</dependency>
  • android5针对优化版本
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.50.android5</version>
</dependency>
  • android8针对优化版本
    这个版本支持java.time和Optional
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.50.android8</version>
</dependency>
  • 1.x 兼容版本
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.50</version>
</dependency>
  • Spring 5 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring5</artifactId>
    <version>2.0.50</version>
</dependency>
  • Spring 6 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring6</artifactId>
    <version>2.0.50</version>
</dependency>

3. 相关链接

v2.0.49: fastjson 2.0.49发布

Compare Source

这又是一个例行月度更新的BUG FIX版本,大家按需升级。

1. Issues

  1. 增强对JSONPath语法的支持 #​2401 #​2405
  2. 增强对Jackson Annotation的支持 #​2399
  3. 增强JSONB反序列化对日期类型的不匹配类型时的处理 #​2408
  4. 修复JSONB反序列化某些场景会丢失字段的问题 #​2411
  5. 修复JSONType#serializeFeatures配置WriteNonStringValueAsString 不生效的问题 #​2431
  6. 修复Map.Entry类型序列化WriteNonStringValueAsString不生效的问题 #​2431
  7. 修复序列化ReentrantLock序列化异常的问题 #​2437
  8. 修复2.0.48引入的序列化在数据较大时报writeName8Raw方法数据越界异常的问题 #​2433 #​2419 #​2429
  9. 修复反序列化空EnumSet报错的问题 #​2423
  10. 提供Redission Codec #​2420 具体使用看文档
  11. 修复长度为14 key某些场景会导致数据丢失的问题 #​2409
  12. 修复GraalVM报错的问题 #​2406
  13. 修复kotlin jdk 21.0.2 情况下JSONWriter.Feature.WriteEnumsUsingName不生效的问题 #​2276
  14. 修复反序列化如果多个Key的hashCode相同时反序列化会字段丢失的问题 #​2411
  15. 修复SimplePropertyPreFilter和fastjson 1.x不兼容的问题 #​2384
  16. 修复反序列化不支持hutool Tree的问题 #​2375
  17. 修复autoTypeFilter在某些场景不起作用的问题 #​2367
  18. 修复parseArray方法不能正确处理引用的问题 #​2348
  19. 修复android5版本对longValueExtract方法的兼容问题
  20. 修复JSONType配置FieldBased不起作用的问题 #​2371

2. MAVEN依赖配置

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.49</version>
</dependency>
  • android5针对优化版本
    这个版本和android4兼容版本基本一致,只是使用了java.nio.charset.StandardCharsets,后续将会不再升级android4兼容版本。
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.49.android5</version>
</dependency>
  • android8针对优化版本
    这个版本支持java.time和Optional
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.49.android8</version>
</dependency>
  • 1.x 兼容版本
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.49</version>
</dependency>
  • Spring 5 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring5</artifactId>
    <version>2.0.49</version>
</dependency>
  • Spring 6 extension配置
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension-spring6</artifactId>
    <version>2.0.49</version>
</dependency>

3. 相关链接

4. 关于稳定性

fastjson2 core部分已经积累6925个testcase,测试覆盖率75%,每个PR合入都需要分别在JDK8/11/17/21下跑通这些testcase,不断发现问题和使用深入和更多场景有关。


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/com.alibaba-fastjson-2.x branch from f737984 to c47c994 Compare May 12, 2024 04:13
@renovate renovate bot changed the title Update dependency com.alibaba:fastjson to v2.0.49 Update dependency com.alibaba:fastjson to v2.0.50 May 12, 2024
@renovate renovate bot force-pushed the renovate/com.alibaba-fastjson-2.x branch from c47c994 to 505bb9d Compare June 1, 2024 09:30
@renovate renovate bot changed the title Update dependency com.alibaba:fastjson to v2.0.50 Update dependency com.alibaba:fastjson to v2.0.51 Jun 1, 2024
@renovate renovate bot force-pushed the renovate/com.alibaba-fastjson-2.x branch from 505bb9d to b3b77a3 Compare July 14, 2024 02:19
@renovate renovate bot changed the title Update dependency com.alibaba:fastjson to v2.0.51 Update dependency com.alibaba:fastjson to v2.0.52 Jul 14, 2024
@renovate renovate bot force-pushed the renovate/com.alibaba-fastjson-2.x branch from b3b77a3 to ea92520 Compare September 16, 2024 16:36
@renovate renovate bot changed the title Update dependency com.alibaba:fastjson to v2.0.52 Update dependency com.alibaba:fastjson to v2.0.53 Sep 16, 2024
@renovate renovate bot force-pushed the renovate/com.alibaba-fastjson-2.x branch from ea92520 to 9249485 Compare January 11, 2025 18:29
@renovate renovate bot changed the title Update dependency com.alibaba:fastjson to v2.0.53 Update dependency com.alibaba:fastjson to v2.0.54 Jan 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants