Introduced an `updateTypes` method to dynamically update type definitions in `TypedByteArray`. Made `definition` private and initialized type/index maps in `createTypeAndIndexMap`. Updated project version for release.
Implemented a `slice` method in `SlicedByteArray` to allow creating sub-arrays with specified offset and length. Added validations to handle invalid inputs and bounds. Introduced `SliceTest` to cover standard, edge cases, and error scenarios. Bumped version to 0.3.2.
Enhanced `TypedByteArray` with detailed KDoc comments to clarify its purpose, structure, and usage. Included example usage and descriptions for key properties.
Introduced `Little-Endian` functionality for `Short`, `Int`, `Long`, `Float`, and `Double` across `SlicedByteArray`, `MutableByteArrayHandler`, and `TypedByteArray`. Enhanced property delegates to handle little-endian byte order with the `littleEndian` parameter. Added `LittleEndianTest` to validate functionality. Bumped version to 0.3.0-SNAPSHOT.
Upgraded Kotlin Multiplatform plugin to version 2.1.20 for better compatibility and feature enhancements. Adjusted .gitignore to include `.idea/**` for broader IntelliJ configuration exclusion. Increased test iteration count in `TestCachedString` to improve benchmarking precision.
Changed the project JDK configuration from Java 17 to Java 21 in `.idea/misc.xml`. This ensures the project uses the latest JDK version for compatibility and feature updates.
Corrected the `size` property in `SlicedByteArray` to account for offset. Bumped the version to 0.2.7 and added a custom Maven repository to the build script. Adjusted the `settings.gradle.kts` file to clean up formatting.
Introduce a new constructor in `SlicedByteArray` for initializing from a ByteArray. Updated `build.gradle.kts` to bump the version to 0.2.6, and made minor adjustments to `readme.md` to improve clarity and consistency.
Relocated MutableByteArrayHandler implementation to correct position in ByteArrayHandler file for better organization. Updated readme to clarify behavior when updating variable-length types like strings for improved compression efficiency.
Provide an overview of the library's purpose, usage, and functionality. This includes a Kotlin example of defining and using `TypedByteArray` and explanation of data types and properties. The README aims to help developers understand and adopt the library effectively.
Correct the expected values in assertions to match the updated data structure. This ensures the test accurately reflects the intended behavior of the `Data` object, maintaining consistency with any recent changes in the data format or handling.
Update the project version to 0.2.2-SNAPSHOT in build.gradle.kts to prepare for the next iteration of development. This is a minor version increment indicating ongoing work and new features in progress.
Removed the ByteArrayPropertyWithLength class and refactored related methods to simplify the handling of string and blob properties without maxLength constraints. This change improves code maintainability by eliminating redundant checks and ensures that property operations are more straightforward and error-free. Additionally, updated the Kotlin version and optimized the build configuration for better dependency management.
Removed the ByteArrayPropertyWithLength class and refactored related methods to simplify the handling of string and blob properties without maxLength constraints. This change improves code maintainability by eliminating redundant checks and ensures that property operations are more straightforward and error-free. Additionally, updated the Kotlin version and optimized the build configuration for better dependency management.