All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning and follows a Keep a Changelog-like format.
- Decoding support via
JToon.decode()andJToon.decodeToJson()methods. DecodeOptionsrecord withstrictvalidation mode.decoderpackage with full TOON parser supporting all formats (primitives, objects, arrays, delimiters).- String unescaping in
StringEscaper.unescape()method. - Comprehensive test suite with round-trip encode/decode verification.
- Updated README with decode API documentation and examples.
0.1.2 - 2025-11-05
- Java version requirement from 21 to 17 for broader compatibility.
- Refactored
JsonNormalizerto use if-else statements instead of switch expressions for better readability. - Updated dependency:
com.fasterxml.jackson.core:jackson-databindfrom 2.18.2 to 2.20.1. - Updated dependency:
org.junit:junit-bomfrom 5.10.0 to 6.0.1. - Updated GitHub Actions:
actions/setup-javafrom 4 to 5,actions/upload-artifactfrom 4 to 5,actions/checkoutfrom 4 to 5,softprops/action-gh-releasefrom 1 to 2.
0.1.1 - 2025-10-30
JToon.encodeJson(String)andJToon.encodeJson(String, EncodeOptions)to encode plain JSON strings directly to TOON.- Centralized JSON parsing via
JsonNormalizer.parse(String)to preserve separation of concerns. - Unit tests for JSON string entry point (objects, primitive arrays, tabular arrays, custom options, error cases).
- README examples for JSON-string encoding, including a Java text block example.
- This changelog.
- README: Expanded API docs to include
encodeJsonoverloads.
0.1.0 - 2025-10-30
- Initial release.
- Core encoding of Java objects to TOON with automatic normalization of Java types (numbers, temporals, collections, maps, arrays, POJOs).
- Tabular array encoding for uniform arrays of objects.
- Delimiter options (comma, tab, pipe) and optional length marker.
- Comprehensive README with specification overview and examples.