Skip to content

2.0.0-alpha.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@falkreon falkreon released this 31 May 10:31
· 37 commits to main since this release
b823c46

This is a multi-thousand-line change from Alpha 1. This is not an exhaustive list of changes.

  • API is now symmetric between StructuredDataReaders and StructuredDataWriters
  • New StructuredData record represents atoms in the data-stream processed by readers and writers.
  • New StructuredDataPipe is both a reader and a writer, operating as a buffer or FIFO queue.
  • Greatly fleshed out writer API, including the ability to set arbitrary indent strings
  • New transferTo() method on readers makes it easy to pipe data from readers into writers
  • New optional projections from ObjectElement and ArrayElement to help some flatMap cases
  • Fixed a bug where trailing root comments were not preserved
  • JsonReader can now accept any type of Json data including bare primtiives, thanks to the addition of a RootParserContext

Known issues:

  • Comments are not read out of @Comment annotations by ObjectStructuredDataReader
  • ObjectStructuredDataWriter is not yet implemented

In general, plain java objects, and especially records, still need some attention before the main 2.0 release.

Feedback Sought

If possible I'd like people to examine and use the following:

  • The new StructuredData record
  • the newly-symmetric StructuredDataReader and Writer APIs
  • piping data between readers and writers with transferTo()

With a more mature JsonReader, I'd also like people to look for any json character data that won't parse as expected. If you find anything, please make an Issue! Without an Issue I'll forget!