Releases: amazon-ion/ion-java
v1.11.11
What's Changed
- Copies changes from
ion-11-encodingbranch that are not specific to Ion 1.1. (#1096) - Resurrect copy optimization. (#1093)
- Shortens AbstractIonWriter.writeValues, allowing the JIT to optimize it more efficiently, improving performance by up to 12%. (#1094)
- Specify that OversizedSymbolTableHandler is required for limited buffers. (#1098)
- Improve write performance in some cases by managing PatchPoints and containers directly in writer. (#1101)
- Fixes IonReader.getIntegerSize() calculation. (#1055)
Full Changelog: v1.11.0...v1.11.11
v1.11.10
What's Changed
- Adds checks for annotation wrappers with length 0. (#920)
- Adds checks for timestamp values with length 0. (#921)
- Optimizes
IonValue.getType()to avoid vtable/itable lookups when invoked on IonStruct values. (#928) - Adds an
InputStreamInterceptorinterface to allow users to plug in custom interceptors for formats like Zstd. (#930)
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.9...v1.11.10
v1.11.9-ion-11-rc3
Preview release with support for writing and reading Ion 1.1 data in binary and text. Mutually intelligible with ion-rust v1.0.0-rc.10.
Ion 1.1 draft specification: https://amazon-ion.github.io/ion-docs/books/ion-1-1/
Certain features are not yet fully implemented. Such features include:
- Tagless encodings
- Macro-shaped parameters
- Module imports
Full Changelog: v1.11.9-ion-11-rc2...v1.11.9-ion-11-rc3
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