Skip to content

v0.9.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@tgregg tgregg released this 05 Feb 22:16
· 76 commits to master since this release
a54a7a1

This release includes APIs for reading and writing binary and text Ion data. It also includes "tree" APIs for reading, manipulating, and writing Ion data via an in-memory representation of the values.

The following changes have been made since the amzn/ion-dotnet repository was forked from dhhoang/IonDotnet. Note: several of these are API-breaking changes.

  • Changed the namespace from IonDotnet to Amazon.IonDotnet. (#65)
  • Split the Amazon.IonDotnet.Systems package into Amazon.IonDotnet.Builders and Amazon.IonDotnet.Utils. (#24)
  • Removed the IValueWriter interface. (#25)
  • Moved the Amazon.IonDotnet.Conversions package to to Amazon.IonDotnet.Internals.Conversions. (#26)
  • Added ImportLocation to SymbolToken to enable correct handling of symbols with unknown text. (#12)
  • Extracted interfaces for the "tree" API, e.g. IIonValue, IIonInt, etc. Made the implementations internal and added a ValueFactory API for constructing IIonValue instances. (#30)
  • Made IIonValue the super-interface over all types, e.g. IIonInt, IIonBool, etc. This reduces required casting when dealing with IIonValue instances. (#43, #45)
  • Added GetField and SetField methods to IIonStruct. (#44)
  • Added UserTreeReader to enable traversal over "tree" values via the IIonReader API. (#51)
  • Added IonReaderBuilder to provide a single source of instances of the various IIonReader implementations. (#51)
  • Made IIonValue scalar types immutable and removed references to parent containers. (#53)
  • Added the forceFloat64 option to IonBinaryWriterBuilder to enable users to write 64-bit floats even when the value would fit in a 32-bit float with full fidelity.
  • Fixed a bug that caused the RawBinaryWriter to write both lists and s-expressions using the list type ID. (#59)
  • Various minor bugfixes (#7, #8, #9, #10, #11, #27, #32, #40, #49, #55, #56, #57, #58)