Releases: amazon-ion/ion-dotnet
v1.3.0
v1.2.3
What's Changed
- Fix #146 ArgumentOutOfRangeException in PagedWriterBuffer by @CoderNate in #147
- Fix #148 allow text reader skip over container by @CoderNate in #149
New Contributors
- @CoderNate made their first contribution in #147
Full Changelog: v1.2.2...v1.2.3
v1.2.2
What's Changed
IonTextWriterBuilder
produces invalid JSON with different cultures by @KirkEasterson in #139- Adds CodeQL analysis by @popematt in #141, #142
- Adds GHA workflow to sign and publish releases by @popematt in #140, #145
New Contributors
- @KirkEasterson made their first contribution in #139
Note—a v1.2.1 release was started but not published. These release notes include all changes from v1.2.1 and v1.2.2.
Full Changelog: v1.2.0...v1.2.2
v1.2.0
v1.1.0
Changes:
- Replaced the usage of
decimal#TryParse(String, Decimal)
withdecimal#TryParse(String, NumberStyles, IFormatProvider, Decimal)
, allowing us to useInvariantCulture
instead of the current thread's configured culture. (#129) - Added JSON text writer. (#130)
- Moved to GitHub Actions for CI build. (#124)
v1.0.0
Changes:
- Improved annotation-related APIs (#77, #88, #97). Breaking change:
IIonReader.GetTypeAnnotations()
now returnsstring[]
. The newIIonReader.GetTypeAnnotationSymbols()
API provides the same functionality thatIIonReader.GetTypeAnnotations()
previously provided. - Started raising an error when encountering incomplete UTF-8 sequences in seekable streams (#47).
- Fixed bugs related to writing and reading Timestamps (#100).
- Added support for reading local symbol table append syntax (#102).
- Added code style and quality checks (#105) and enabled StyleCop on build (#106).
- Removed the Serialization and Bench subprojects (#107).
- Standardized target frameworks on netstandard2.0 for all platforms (#109).
- Implemented the Disposable pattern in readers and writers (#111).
- Started raising an error when attempting to write an out-of-range symbol ID (#112).
- Various minor bugfixes and cleanups (#90, #103, #110, #114, #116, #118).
Full list of commits: v0.9.0-beta...v1.0.0
v0.9.0-beta
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)
- Added support for vertical tab and form-feed whitespace characters. (#72)
- Updated IIonReader to extend IDisposable. (#75)
- Removed JSON feature until it is properly implemented. (#80)
- Fixed -0 decimals. (#83)
- Various minor bugfixes (#7, #8, #9, #10, #11, #27, #32, #40, #49, #55, #56, #57, #58, #81)
Full list of commits: 0677fb7...v0.9.0-beta
v0.9.0
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)