Releases: amazon-ion/ion-java
v1.11.9-ion-11-rc2
Preview release with support for writing and reading Ion 1.1 data in binary.
v1.11.9
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
What's Changed
- 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)
- Enable auto-flush and configurable block size in the binary writer. (#650, #651)
- Set Java toolchain for gradle build and fix Sonatype URL (#818 )
- Ensures that encountering an incomplete binary IVM causes clean failure.
- Fixes a bug that prevented seeking to a span created from a different reader in a stream with a large number of symbols.
- Revert "Change IonSystemBuilder's default charset to UTF-8 (#802)
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
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
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
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
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
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
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 fromIonReader.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
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