Releases: Deanly/struct-layout
Releases · Deanly/struct-layout
Release v0.3.5
Release v0.3.4
Changelog
v0.3.1
🚀 New Features
- Dynamic Type Resolution with @StructTypeSelector
- Introduced @StructTypeSelector annotation for flexible runtime type resolution.
- Added support for custom StructTypeDispatcher to determine implementation classes dynamically.
- Integrated with StructTypeResolver for seamless interface implementation resolution.
- Enhanced StructDecoder to support @StructTypeSelector during deserialization.
v0.3.0
🚀 New Features
- Added null filtering to @StructSequenceField.
- Introduced AbstractCOptionField for optional field handling.
- Added unsafeMode support for @StructSequenceField and @StructSequenceObjectField.
- Allows NoneField as lengthType, enabling sequences without length metadata.
- Enhances encoding/decoding by omitting length information when NoneField is used.
- Provides better debugging support for unsafe configurations.
🛠 Fixes & Improvements
- Resolved BigInteger limitation, ensuring full support beyond the long range.
- Fixed infinite loop issues and optimized field handling for better performance.
- Enhanced test coverage to validate unsafeMode functionality with various field types.
v0.2.1
✨ Features:
- Added annotation detection support for inherited structures.
- Enhanced span handling for DynamicSpanField.
- Introduced an improved debugging tool for structured data encoding.
- Added CountableField interface and improved Sequence annotations for better flexibility.
v0.2.0
🔄 Refactor:
- Integrated annotation changes and improved class naming for clarity.
- Removed DataType enum for a simpler and more intuitive design.
- Updated annotations to directly use Field implementations instead of relying on DataType.
- Renamed various classes for improved clarity and purpose alignment.
- Improved code structure for better consistency and readability.
v0.1.1
Maven Central Release
Version 0.1.1 marks an important milestone for StructLayout as it is now officially available on Maven Central! This allows developers to easily integrate StructLayout into their projects without additional repository configuration.
Key Changes
- Maven Central Deployment:
StructLayout is now published on Maven Central, simplifying dependency management for users. You can add StructLayout directly to your pom.xml or build.gradle without configuring custom repositories.
Installation
For Maven:
<dependency>
<groupId>net.deanly</groupId>
<artifactId>struct-layout</artifactId>
<version>0.1.1</version>
</dependency>For Gradle:
dependencies {
implementation 'net.deanly:struct-layout:0.1.1'
}Thank you for using StructLayout! 🎉
v0.1.0
Version 0.1.0 - Initial testing release.
- Annotation-based Field Mapping: Use @StructField and @SequenceField to map class fields to binary data with ease.
- Wide Data Type Support: Handle int32, float32, string, byte[], and more.
- Efficient Serialization: Serialize and deserialize objects to and from byte arrays with minimal code.
- Debugging Tools: Inspect binary data in a human-readable format for easier debugging.