Skip to content

Releases: amazon-ion/ion-java

v1.11.9-ion-11-rc2

09 Sep 04:46
Compare
Choose a tag to compare
v1.11.9-ion-11-rc2 Pre-release
Pre-release

Preview release with support for writing and reading Ion 1.1 data in binary.

v1.11.9

12 Jul 22:49
Compare
Choose a tag to compare

What's Changed

  • Fixes handling of annotation wrapper length overflows. (#908)
  • Restores float <-> decimal conversions in the binary reader. (#905)
  • Addresses an ion-test-driver failure by upgrading pip with setup-python action. (#875)
  • Removes some unused code. (#858)
  • Sets Java toolchain for the spotbugs task. (#863)

Note

This release does not include all commits present on the master branch at the time of release. The following commits are excluded from 1.11.9 and will be included in a future release:

  • Adds support for writing binary Ion 1.1 null, bool, int, and float binary encoding. (#612)
  • Adds support for writing binary Ion 1.1 timestamps. (#618)
  • Adds support for writing binary Ion 1.1 decimal binary encoding. (#636)
  • Adds support for writing binary Ion 1.1 text and lob types and some annotations. (#637)
  • Removes more unused code. (#864)

Full Changelog: v1.11.8...v1.11.9

v1.11.8

11 May 20:09
Compare
Choose a tag to compare

What's Changed

Note

This release does not include all commits present on the master branch at the time of release. The following commits are excluded from 1.11.8 and will be included in a future release:

  • Adds support for writing binary Ion 1.1 null, bool, int, and float binary encoding. (#612)
  • Adds support for writing binary Ion 1.1 timestamps. (#618)
  • Adds support for writing binary Ion 1.1 decimal binary encoding. (#636)
  • Adds support for writing binary Ion 1.1 text and lob types and some annotations. (#637)

Full Changelog: v1.11.7...v1.11.8

v1.11.7

24 Apr 19:47
Compare
Choose a tag to compare

What's Changed

  • Improves the automated release workflow. #812

Note

This release does not include all commits present on the master branch at the time of release. The following commits are excluded from 1.11.7 and will be included in a future release:

  • Implements patch list as a single contiguous array of reusable PatchPoint instances. (#521)
  • Remove the repeated logic of the method that overwrites the lower nibble of container type descriptor. (#548)
  • Adds support for writing binary Ion 1.1 null, bool, int, and float binary encoding. (#612)
  • Adds support for writing binary Ion 1.1 timestamps. (#618)
  • Adds support for writing binary Ion 1.1 decimal binary encoding. (#636)
  • Adds support for writing binary Ion 1.1 text and lob types and some annotations. (#637)
  • Enable auto-flush and configurable block size in the binary writer. (#650, #651)

Full Changelog: v1.11.6...v1.11.7

v1.11.6

23 Apr 23:23
Compare
Choose a tag to compare

What's Changed

  • Updates publish-release-artifacts.yml to enable auto-publishing. #811

Note

This release does not include all commits present on the master branch at the time of release. The following commits are excluded from 1.11.5 and will be included in a future release:

  • Implements patch list as a single contiguous array of reusable PatchPoint instances. (#521)
  • Remove the repeated logic of the method that overwrites the lower nibble of container type descriptor. (#548)
  • Adds support for writing binary Ion 1.1 null, bool, int, and float binary encoding. (#612)
  • Adds support for writing binary Ion 1.1 timestamps. (#618)
  • Adds support for writing binary Ion 1.1 decimal binary encoding. (#636)
  • Adds support for writing binary Ion 1.1 text and lob types and some annotations. (#637)
  • Enable auto-flush and configurable block size in the binary writer. (#650, #651)

Full Changelog: v1.11.5...v1.11.6

v1.11.5

23 Apr 22:09
Compare
Choose a tag to compare

What's Changed

  • Adds recommendation to use IonElement. #772
  • Adds a check for overflow when reading VarUInts. #773
  • Allows custom writer configurations in IonSystemBuilder. #781
  • Adds a configurable limit to the number of timestamp fractional second digits that are written to text representations. #784
  • Ensures that the cursor's value marker is fully reset between values. #787
  • Adds check for license headers and unused imports. #789
  • Adds testing of IonValue's multithreaded contract over the 'good' ion-tests files. #769
  • Makes AbstractIonWriter.writeValues iterative. #790
  • Adds more multithreaded access testing to StructTest. #767
  • Changes IonSystemBuilder's default charset to UTF-8. #802
  • Uses CodeBuild-hosted runners for perf testing and automated publishing. #801
  • Ensures that using a cursor after close has no effect. #803
  • Various updates to build dependencies.

Note

This release does not include all commits present on the master branch at the time of release. The following commits are excluded from 1.11.5 and will be included in a future release:

  • Implements patch list as a single contiguous array of reusable PatchPoint instances. (#521)
  • Remove the repeated logic of the method that overwrites the lower nibble of container type descriptor. (#548)
  • Adds support for writing binary Ion 1.1 null, bool, int, and float binary encoding. (#612)
  • Adds support for writing binary Ion 1.1 timestamps. (#618)
  • Adds support for writing binary Ion 1.1 decimal binary encoding. (#636)
  • Adds support for writing binary Ion 1.1 text and lob types and some annotations. (#637)
  • Enable auto-flush and configurable block size in the binary writer. (#650, #651)

Full Changelog: v1.11.4...v1.11.5

v1.11.4

01 Mar 21:31
Compare
Choose a tag to compare

What's Changed

  • Removes the binary reader's SymbolToken cache, which provided a minor optimization for certain cases but a major regression for others. (#756)

Note

This release does not include all commits present on the master branch at the time of release. The following commits are excluded from 1.11.4 and will be included in a future release:

  • Implements patch list as a single contiguous array of reusable PatchPoint instances. (#521)
  • Remove the repeated logic of the method that overwrites the lower nibble of container type descriptor. (#548)
  • Adds support for writing binary Ion 1.1 null, bool, int, and float binary encoding. (#612)
  • Adds support for writing binary Ion 1.1 timestamps. (#618)
  • Adds support for writing binary Ion 1.1 decimal binary encoding. (#636)
  • Adds support for writing binary Ion 1.1 text and lob types and some annotations. (#637)
  • Enable auto-flush and configurable block size in the binary writer. (#650, #651)

Full Changelog: v1.11.3...v1.11.4

v1.11.3

22 Feb 20:58
Compare
Choose a tag to compare

What's Changed

  • Fixes a bug that made concurrent access of a large nested IonStruct unsafe when only its parent had been made read-only. (#722)

Note

This release does not include all commits present on the master branch at the time of release. The following commits are excluded from 1.11.3 and will be included in a future release:

  • Implements patch list as a single contiguous array of reusable PatchPoint instances. (#521)
  • Remove the repeated logic of the method that overwrites the lower nibble of container type descriptor. (#548)
  • Adds support for writing binary Ion 1.1 null, bool, int, and float binary encoding. (#612)
  • Adds support for writing binary Ion 1.1 timestamps. (#618)
  • Adds support for writing binary Ion 1.1 decimal binary encoding. (#636)
  • Adds support for writing binary Ion 1.1 text and lob types and some annotations. (#637)
  • Enable auto-flush and configurable block size in the binary writer. (#650, #651)

Full Changelog: v1.11.2...v1.11.3

v1.11.2

09 Feb 00:40
d10b4fd
Compare
Choose a tag to compare

What's Changed

  • Removes assertions in IonReaderSystemTextX.stringValue(). (#703)
  • Adds a _Private_IonConstants.ARRAY_MAXIMUM_SIZE. (#708)
  • Fixes a bug that allowed NegativeArraySizeException to be thrown from IonReader.newBytes(). (#705)
  • Allows the text reader to fail cleanly when the user attempts to recover after catching IonException, but recovery is not possible. (#709)
  • Fixes a bug that caused the binary reader not to fail cleanly when parsing incomplete containers in certain cases. (#710)

Note

This release does not include all commits present on the master branch at the time of release. The following commits are excluded from 1.11.2 and will be included in a future release:

  • Implements patch list as a single contiguous array of reusable PatchPoint instances. (#521)
  • Remove the repeated logic of the method that overwrites the lower nibble of container type descriptor. (#548)
  • Adds support for writing binary Ion 1.1 null, bool, int, and float binary encoding. (#612)
  • Adds support for writing binary Ion 1.1 timestamps. (#618)
  • Adds support for writing binary Ion 1.1 decimal binary encoding. (#636)
  • Adds support for writing binary Ion 1.1 text and lob types and some annotations. (#637)
  • Enable auto-flush and configurable block size in the binary writer. (#650, #651)

Full Changelog: v1.11.1...v1.11.2

v1.11.1

18 Jan 20:31
35db3ac
Compare
Choose a tag to compare

What's Changed

  • Enables using Kotlin in Ion Java (#488)
  • Refactors to standard layout (#555)
  • Adds the ability to read a binary Ion int as a Java double, Decimal, or BigDecimal for consistency with the previous implementation. (#675)
  • Handles the case where the binary reader unexpectedly encounters an oversized value, throwing IonException with a helpful message. (#680)
  • Updates Proguard config to fix JDK 17 toolchain + Scala Build Tool compatibility issue. (#681)
  • Ensures NullPointerException is not thrown from IonReader.getIntegerSize(). (#686)
  • Adds checks for malformed data that overflows the binary reader's buffer. (#687)
  • Adds Automatic-Module-Name and OSGi bundle attributes to manifest. (#688)
  • Allows building with Java 8. (#690)
  • Handles the case where InputStream.skip provides fewer bytes than requested by the binary reader before reaching EOF. (#689)
  • Handles the case where a partially buffered nested value is skipped by the binary reader. (#692)
  • Ensures that fully-buffered containers do not cause the binary cursor to enter unchecked mode unless stepped into. (#692)
  • Sets binary reader buffers to null on close(). (#694)
  • Ensures the binary reader throws when a value method that returns a primitive type is invoked on a null value. (#693)

Note

This release does not include all commits present on the master branch at the time of release. The following commits are excluded from 1.11.1 and will be included in a future release:

  • Implements patch list as a single contiguous array of reusable PatchPoint instances. (#521)
  • Remove the repeated logic of the method that overwrites the lower nibble of container type descriptor. (#548)
  • Adds support for writing binary Ion 1.1 null, bool, int, and float binary encoding. (#612)
  • Adds support for writing binary Ion 1.1 timestamps. (#618)
  • Adds support for writing binary Ion 1.1 decimal binary encoding. (#636)
  • Adds support for writing binary Ion 1.1 text and lob types and some annotations. (#637)
  • Enable auto-flush and configurable block size in the binary writer. (#650, #651)

Full Changelog: v1.11.0...v1.11.1