Skip to content

Conversation

@felipestanzani
Copy link
Collaborator

…provements

Description

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement
  • Test coverage improvement

Related Issues

Closes #

Changes Made

  • Updated to TOON Specification 3.0 compliance (Spec3.0 #59)
  • Improved ValueDecoder tabular array parsing with dynamic depth detection
  • Fixed ListItemEncoder indentation depth (depth+1 → depth+2) for proper nested structure encoding
  • Updated conformance test files to spec version 3.0
  • Updated GitHub issue template to reference spec v3.0 instead of v1.3
  • Added unit tests for tabular arrays as first field in list items
  • Added unit tests for arrays of arrays within objects
  • Added .gitattributes file for line ending handling (CRLF for Windows batch scripts)
  • Added .editorconfig file for consistent editor settings
  • Minor code formatting improvements in ObjectEncoder

SPEC Compliance

  • This PR implements/fixes spec compliance
  • Spec section(s) affected: Full specification update
  • Spec version: 3.0

Testing

  • All existing tests pass
  • Added new tests for changes
  • Tested on Java 17
  • Tested on Java 21

Test Output

# Paste test output here

Code Quality

  • Ran ./gradlew test - all tests pass
  • Ran ./gradlew jacocoTestCoverageVerification - coverage meets 85% threshold
  • Added JavaDoc comments for public APIs
  • Code follows Java conventions

Checklist

  • My code follows the project's coding standards
  • I have added JavaDoc comments to new public APIs
  • I have added JUnit tests that prove my fix/feature works
  • New and existing tests pass locally
  • I have updated documentation (README.md if needed)
  • My changes do not introduce new dependencies (or are justified)
  • I have maintained Java 17+ compatibility
  • I have reviewed the TOON specification for relevant sections

Performance Impact

  • No performance impact
  • Performance improvement (describe below)
  • Potential performance regression (describe and justify below)

Breaking Changes

  • No breaking changes
  • Breaking changes (describe migration path below)

Screenshots / Examples

// Example usage

Output:

# Example output

Additional Context

  1. Spec Compliance: Updated all conformance tests and implementation to match TOON Specification 3.0 requirements
  2. Bug Fixes: Fixed indentation depth issue in ListItemEncoder that affected nested structure encoding
  3. Improvements: Enhanced tabular array parsing with dynamic depth detection for better handling of complex nested structures
  4. Test Coverage: Added comprehensive unit tests for edge cases including tabular arrays as first field and arrays of arrays within objects
  5. Developer Experience: Added .gitattributes and .editorconfig files for consistent code formatting across different environments

Checklist for Reviewers

  • Code changes are clear and well-documented
  • Tests adequately cover the changes
  • Documentation is updated
  • No security concerns
  • Follows TOON specification
  • Backward compatible (or breaking changes are justified and documented)

@felipestanzani felipestanzani requested a review from a team as a code owner November 26, 2025 18:29
@felipestanzani felipestanzani merged commit 9f6e961 into toon-format:main Nov 26, 2025
1 check passed
@felipestanzani felipestanzani deleted the v1.0.6 branch November 26, 2025 19:26
@github-actions
Copy link
Contributor

Code Coverage

Overall Project 93.15% 🍏

There is no coverage information present for the Files changed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants