Releases: amazon-ion/ion-element-kotlin
Releases · amazon-ion/ion-element-kotlin
v1.3.0
What's Changed
Ion Element v1.3.0 improves performance when loading elements. Without location metadata, this release is about 2x as fast and uses 75% less memory compared to v1.2.0
. If you load elements with location metadata, then this release is about 5x as fast and uses 90% less memory compared to v1.2.0
.
Change List
- Ensure that all empty PersistentLists are the same instance. by @popematt in #91
- Fix equals implementation to respect that anyone is allowed to implement IonElement by @popematt in #88
- Update README.md by @jobarr-amzn in #96
- Deprecate buildStruct() in favor of idiomatic ionStructOf() overloads by @popematt in #99
- Loader rewrite by @popematt in #100
- Replaces persistent collections with immutable collections by @popematt in #101
- Make
loadAllElements
fall back to an iterative implementation once a certain depth is reached by @popematt in #103
New Contributors
- @jobarr-amzn made their first contribution in #96
Full Changelog: v1.2.0...v1.3.0
v1.2.0
v1.1.0
The v1.1.0 release adds experimental operators for IonElement
types. Find out more details here. If you try them out, feel free to create an issue if you have any questions, concerns, or other feedback.
What's Changed
- Updates the dokka gradle plugin to a stable release version by @popematt in #77
- Stops README from saying that the API unstable by @popematt in #79
- Add Primitive Operators by @tjcsrc16 in #81
- Release v1.1.0 by @popematt in #82
New Contributors
Full Changelog: v1.0.0...v1.1.0
v1.0.0
What's Changed
API Changes
- Change receiver type of
toIonValue
toIonElement
by @dlurton in #37 - Include the element to blame for IonElementConstraintExceptions by @dlurton in #38
- Remove 'by lazy' to reduce memory consumption by @dlurton in #42
- Add
bigIntegerValue
impl forLongIntElementImpl
by @alancai98 in #49 - Improve usage of element loader API from Java. (#51) by @dlurton in #52
- Improve usage of element constructor API from Java (#50) by @dlurton in #54
- Adds kotlinx.collections.immutable to ensure immutability of the contents of a ContainerElement by @popematt in #60
- Add componentN() functions to StructField by @popematt in #61
- Make
IonElement.toIonValue
accept a ValueFactory instance instead of IonSystem by @dlurton in #64 - Explicitly specify return types for 3 public functions by @dlurton in #66
- Adds function to check if a field name is present in a struct by @popematt in #68
- Makes the
with*
functions callable from Java by @popematt in #69 - Removes some extension functions that are not a cohesive part of this library by @popematt in #74
Documentation
- Add additional usage examples to README by @popematt in #59
- Adds additional documentation to README.md by @dlurton in #63
- Adds useful kdocs for all members declared in AnyElement and other kdocs improvements by @popematt in #73
- Adds clarification about the relationship between AnyElement and Ion-typed *Element interfaces by @popematt in #75
Housekeeping
- (build): moves to github actions by @therapon in #43
- (build): Adds code coverage as a separate Github Action by @therapon in #44
- Update project to use gradle 6.8.3 by @mwfpope in #57
- Fix broken Github Workflow by @popematt in #62
- Upgrade Kotlin compiler version to 1.6.20 by @popematt in #70
- Enables explicit API mode by @popematt in #71
- Adds Ktlint and Kotlin/binary-compatibility-validator checks by @popematt in #72
New Contributors
- @therapon made their first contribution in #43
- @alancai98 made their first contribution in #49
- @popematt made their first contribution in #59
Full Changelog: v0.2.0...v1.0.0
v0.2.0-alpha
Significant improvements to the public API. Includes all PRs that are associated with the v0.2.0 milestone.