Skip to content

Releases: Deanly/struct-layout

Release v0.3.5

03 Jun 07:09

Choose a tag to compare

Release v0.3.4

02 Jun 11:52

Choose a tag to compare

Changelog

v0.3.1

02 Feb 15:42

Choose a tag to compare

🚀 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

29 Jan 17:52

Choose a tag to compare

🚀 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

26 Jan 17:09

Choose a tag to compare

✨ 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

26 Jan 17:08

Choose a tag to compare

🔄 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

20 Jan 17:12

Choose a tag to compare

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

19 Jan 17:15

Choose a tag to compare

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.