Releases: wuwen5/hessian
Releases · wuwen5/hessian
v0.1.0
🚀 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
Full Changelog: 4.0.38...v0.1.0