Skip to content

Releases: amazon-ion/ion-element-kotlin

v1.3.0

30 Sep 20:45
5f9c329
Compare
Choose a tag to compare

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

Full Changelog: v1.2.0...v1.3.0

v1.2.0

13 Dec 20:00
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.1.0...v1.2.0

v1.1.0

12 May 19:52
247c128
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: v1.0.0...v1.1.0

v1.0.0

02 Jul 00:33
3c98a7e
Compare
Choose a tag to compare

What's Changed

API Changes

  • Change receiver type of toIonValue to IonElement 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 for LongIntElementImpl 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

Full Changelog: v0.2.0...v1.0.0

v0.2.0-alpha

08 Jul 23:53
Compare
Choose a tag to compare
v0.2.0-alpha Pre-release
Pre-release

Significant improvements to the public API. Includes all PRs that are associated with the v0.2.0 milestone.