Skip to content

Releases: hylexus/xtream-codec

v0.6.0

Choose a tag to compare

@hylexus hylexus released this 02 Jun 09:06

📔 Documentation

⭐ New Features

❤️ Contributors

v0.5.0

Choose a tag to compare

@hylexus hylexus released this 30 May 09:22

📔 Documentation

⚠️ Breaking Changes

  • @XtreamMapField.PaddingType
    • 删除 io.github.hylexus.xtream.codec.core.annotation.map.XtreamMapField.PaddingType
    • 使用 io.github.hylexus.xtream.codec.core.annotation.PaddingType 替代
  • XtreamMapField.KeyType
    • 删除 io.github.hylexus.xtream.codec.core.annotation.map.XtreamMapField.KeyType
    • 使用 io.github.hylexus.xtream.codec.core.annotation.ext.KeyType 替代
  • XtreamMapField.ValueLengthType
    • 删除 io.github.hylexus.xtream.codec.core.annotation.map.XtreamMapField.ValueLengthType
    • 使用 io.github.hylexus.xtream.codec.core.annotation.ext.LengthFieldType 替代
  • XtreamMapField.Key
    • 删除 io.github.hylexus.xtream.codec.core.annotation.map.XtreamMapField.Key
    • 使用 io.github.hylexus.xtream.codec.core.annotation.ext.Key 替代
  • XtreamMapField.ValueLength
    • 删除 io.github.hylexus.xtream.codec.core.annotation.map.XtreamMapField.ValueLength
    • 使用 io.github.hylexus.xtream.codec.core.annotation.ext.ValueLength 替代
  • XtreamMapField.FallbackValueMatcher
    • 删除 io.github.hylexus.xtream.codec.core.annotation.map.XtreamMapField.FallbackValueMatcher
    • 使用 io.github.hylexus.xtream.codec.core.annotation.ext.FallbackValueMatcher 代替
  • XtreamMapField.ValueMatcher
    • 删除 io.github.hylexus.xtream.codec.core.annotation.map.XtreamMapField.ValueMatcher
    • 使用 io.github.hylexus.xtream.codec.core.annotation.ext.ValueMatcher 代替
  • XtreamMapField.DecoderParam
    • 删除 io.github.hylexus.xtream.codec.core.annotation.map.XtreamMapField.DecoderParam
    • 使用 io.github.hylexus.xtream.codec.core.annotation.ext.ValueDecoderCommonParam 代替

⭐ New Features

  • 新增内置编解码器 StringFieldCodecAscII

v0.5.0-rc.3

Choose a tag to compare

@hylexus hylexus released this 27 May 14:12

⭐ New Features

  • 重构 AbstractMapFieldCodec

v0.5.0-rc.2

Choose a tag to compare

@hylexus hylexus released this 22 May 15:18

🎯 Highlights

jt-808-server-dashboard-ui 重构。感谢 @dfEric 的贡献。

⭐ New Features

❤️ Contributors

v0.5.0-rc.1

Choose a tag to compare

@hylexus hylexus released this 11 Jan 12:12

详情见 Milestones v0.5.0-rc.1

⭐ New Features

  • 兼容低版本 spring-boot #11

v0.4.0

Choose a tag to compare

@hylexus hylexus released this 03 Jan 09:08

详见 Milestone v0.4.0

⭐ New Features

  • 多表达式引擎支持 #5
  • 数据类型扩展 #6
    • io.github.hylexus.xtream.codec.core.type.TLV
    • io.github.hylexus.xtream.codec.core.type.Pair
    • io.github.hylexus.xtream.codec.core.type.simple.DataField
  • 可观测性 - 后端 #8

v0.3.0

Choose a tag to compare

@hylexus hylexus released this 26 Oct 08:01

🎯 Highlights

  • 默认属性访问策略由 反射 改为 java.lang.invoke.LambdaMetafactory

⭐ New Features

  • 新增 @XtreamEntity 注解,支持配置类级别的属性访问策略
  • 新增 @XtreamField.propertyAccessStrategy() 属性,支持配置字段级别的属性访问策略

🐞 Bug Fixes

  • 修复 AbstractJt808Message 初始化异常

🔨 Dependency Updates

  • 可空性标记全部使用 jspecify
  • 彻底移除 jakarta.annotation-api

v0.2.0

Choose a tag to compare

@hylexus hylexus released this 19 Oct 07:24

⭐ New Features

  • 增强 Record 类型的表达式解析功能
  • 增强 Record 类型的 CodecTracker 埋点
  • 重构 BeanPropertyMetadata.PropertyGetterBeanPropertyMetadata.PropertySetter 的实现类

v0.1.1

Choose a tag to compare

@hylexus hylexus released this 08 Oct 10:19

🐞 Bug Fixes

  • BuiltinMessage0200.Item0x11#locationId 类型标记错误

v0.1.0

Choose a tag to compare

@hylexus hylexus released this 01 Oct 11:14

🔨 Dependency Upgrades

  • spring-boot 升级到 3.5.6
  • spring-cloud 升级到 2025.0.0

⭐ New Features

  • 实体映射支持多版本
    • 新增 @XtreamField.version() 属性
    • 提供几个多版本合一的实体映射示例(quick-start 项目同步修改)
      • BuiltinMessage0100AllInOne
      • BuiltinMessage0102AllInOne
      • BuiltinMessage0107AllInOne
      • BuiltinMessage0702AllInOne
  • 实体映射支持 record
  • 提供更简洁的 Map 映射注解
    • @Preset.RustStyle.simple_map
    • @Preset.JtStyle.SimpleMap

🐞 Bug Fixes

  • BuiltinMessage0107V2013.typeshort 改为 int
  • BuiltinMessage0107V2019.typeshort 改为 int
  • BuiltinMessage0500.flowIdshort 改为 int
  • BuiltinMessage0802.multimediaDataItemCountshort 改为 int
  • BuiltinMessage0802.BuiltinMessage8805int 改为 long

⚠️ Deprecations

下面废弃的类将在 1.x 版本中删除。

  • 废弃 @Preset.JtStyle.Map
    • 使用 @Preset.JtStyle.SimpleMap 代替
    • 简化了 @Preset.JtStyle.Map 的配置
  • 废弃 @Preset.RustStyle.map
    • 使用 @Preset.RustStyle.simple_map 代替
    • 简化了 @Preset.RustStyle.map 的配置
  • 下面几个内置编解码器单例已废弃,使用 I8FieldCodecs 代替
    • I8FieldCodec.INSTANCE
  • 下面几个内置编解码器单例已废弃,使用 U8FieldCodecs 代替
    • U8FieldCodec.INSTANCE
  • 下面几个内置编解码器单例已废弃,使用 I16FieldCodecs 代替
    • I16FieldCodec.INSTANCE
    • I16FieldCodecLittleEndian.INSTANCE
  • 下面几个内置编解码器单例已废弃,使用 U16FieldCodecs 代替
    • U16FieldCodec.INSTANCE
    • U16FieldCodecLittleEndian.INSTANCE
  • 下面几个内置编解码器单例已废弃,使用 I32FieldCodecs 代替
    • I32FieldCodec.INSTANCE
    • I32FieldCodecLittleEndian.INSTANCE
  • 下面几个内置编解码器单例已废弃,使用 U32FieldCodecs 代替
    • U32FieldCodec.INSTANCE
    • U32FieldCodecLittleEndian.INSTANCE
  • 下面几个内置编解码器单例已废弃,使用 U32FieldCodecs 代替
    • I64FieldCodecs.INSTANCE
    • I64FieldCodecLittleEndian.INSTANCE
  • 下面几个内置编解码器单例已废弃,使用 StringFieldCodecs 代替
    • StringFieldCodec.INSTANCE_BCD_8421
    • StringFieldCodec.INSTANCE_UTF8
    • StringFieldCodec.INSTANCE_GBK
    • StringFieldCodec.INSTANCE_GB_2312
    • StringFieldCodec.INSTANCE_HEX
  • 下面几个内置编解码器单例已废弃,使用 BytesFieldCodecs 代替
    • ByteBufFieldCodec.INSTANCE
    • ByteBufContainerFieldCodec.INSTANCE
    • ByteBoxArrayFieldCodec.INSTANCE
    • ByteArrayFieldCodec.INSTANCE
    • ByteArrayContainerFieldCodec.INSTANCE
  • 下面几个内置编解码器单例已废弃,使用 DataWrapperFieldCodes 代替
    • DataWrapperFieldCodec.INSTANCE
    • DwordWrapperFieldCodec.INSTANCE
    • I8WrapperFieldCodec.INSTANCE
    • I16WrapperFieldCodec.INSTANCE
    • I32WrapperFieldCodec.INSTANCE
    • StringWrapperGbkFieldCodec.INSTANCE
    • StringWrapperBcdFieldCodec.INSTANCE
    • StringWrapperUtf8FieldCodec.INSTANCE
    • U8WrapperFieldCodec.INSTANCE
    • U16WrapperFieldCodec.INSTANCE
    • U32WrapperFieldCodec.INSTANCE
    • WordWrapperFieldCodec.INSTANCE