Skip to content

Releases: wuwen5/hessian

v0.1.0

23 Nov 15:25

Choose a tag to compare

🚀 v0.1.0 — Hessian2 Codec 首个发布版本

本项目基于原始 Hessian 仓库进行深度重构,完全剥离 RPC 相关代码,专注于 Hessian2 序列化协议 的维护、优化。

📦 Maven 坐标

  • 👉 如果仅需要 Hessian2 编解码功能:
<dependency>
    <groupId>io.github.wuwen5.hessian</groupId>
    <artifactId>hessian2-codec</artifactId>
    <version>0.1.0</version>
</dependency>
  • 👉 在 Dubbo 中使用(替代 hessian-lite):
<dependencies>
  <dependency>
    <groupId>io.github.wuwen5.hessian</groupId>
    <artifactId>hessian2-codec</artifactId>
    <version>0.1.0</version>
  </dependency>

  <dependency>
    <groupId>io.github.wuwen5.hessian</groupId>
    <artifactId>hessian-dubbo-adapter</artifactId>
    <version>0.1.0</version>
  </dependency>

  <!--3.1.x、3.2.x-->
  <dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo</artifactId>
    <version>${dubbo.version}</version>
    <exclusions>
      <exclusion>
        <groupId>com.alibaba</groupId>
        <artifactId>hessian-lite</artifactId>
      </exclusion>
    </exclusions>
  </dependency>
</dependencies>

What's Changed

  • refactor: Strip RPC-related methods from serialization implementation. by @wuwen5 in #12
  • refactor: split original Hessian2Input into HessianRpcInput, Hessian2Input, HessianEncoder, and more by @wuwen5 in #17
  • fix serializing primitive types in Annotation and BeanSerializer by @wuwen5 in #21
  • refactor: remove XxEnvelope\completeX\startMessage methods to HessianRpcInput/Output by @wuwen5 in #22
  • refactor: remove startData1\State1,move readArguments to HessianRpcInput by @wuwen5 in #26
  • refactor: remove ExtSerializerFactory、readObjectImpl&writeObjectImpl and ValueDeserializer by @wuwen5 in #27
  • refactor: fix "@deprecated" replace newInstance() with getDeclaredConstructor().newInstance() by @wuwen5 in #28
  • refactor: fix sonar S2184 and code clean by @wuwen5 in #29
  • refactor: fix generic exceptions thrown(sonar S112) by @wuwen5 in #30
  • Support deserialization of BitSet with proper wordsInUse field reconstruction by @Copilot in #32
  • test: remove @EnabledForJreRange annotations to test compatibility with Java 11/17/21 by @wuwen5 in #35
  • Fix script value loss issue in Locale deserialization by @Copilot in #37
  • fix: Fix the issue of parent class fields covering subclasses by @wuwen5 in #39
  • feat(hessian-adapters): add Dubbo bridge module and Nacos/Dubbo scenario tests by @wuwen5 in #41
  • perf(calendar): performance optimization of calendar serialization and deserialization by @wuwen5 in #44
  • feat(InetAddress): Supports IPv6 by @wuwen5 in #46
  • refactor: rename duplicate class names by @wuwen5 in #48
  • refactor: simplify locale handling using Locale.forLanguageTag by @wuwen5 in #49
  • Refactor JavaDeserializer and UnsafeDeserializer to reduce code duplication by @Copilot in #52
  • Refactor JavaSerializer, UnsafeSerializer, and BeanSerializer to eliminate code duplication by @Copilot in #57
  • refactor: enhance InetAddress serialization and deserialization support by @wuwen5 in #60
  • feat: add InetSocketAddress serialization and deserialization support by @wuwen5 in #61
  • perf: improve CollectionDeserializer to check constructor visibility before instantiation by @wuwen5 in #62
  • feat: add serializers and deserializers for java.time.Duration and java.time.Instant by @wuwen5 in #65
  • feat: add serializers and deserializers for java.time.LocalTime and java.time.LocalDate by @wuwen5 in #66
  • Add Hessian serialization support for Java Time API types by @Copilot in #68
  • Fix BigInteger deserialization with unsafe reflection disabled by @Copilot in #74

New Contributors

  • @wuwen5 made their first contribution in #1
  • @Copilot made their first contribution in #34

Full Changelog: 4.0.38...v0.1.0