Skip to content

Release 1.2.0

Compare
Choose a tag to compare
@popematt popematt released this 19 Nov 17:00
· 99 commits to master since this release

What's Changed

This release includes the following enhancements:

  • Provides graceful handling of circular imports (#157)
  • Two enhancements to existing constraints:
    • Adds a closed:: modifier for the annotations constraint (#159)
    • Ranges are can now be embedded in the list of values for valid_values (#163)
  • A new constraint (utf8_byte_length) for validating the number of bytes required to encode a string or symbol in utf8 (#162)
  • Two new Authority implementations
    • ResourceAuthority (#173)
    • InMemoryMapAuthority (#180)
  • ion-schema-schemas is now bundled in the ion-schema-kotlin JAR and can be accessed using ResourceAuthority. (#173)
  • Builder option to provide a callback for non-fatal warnings from the IonSchemaSystem (#180)

Additionally, the following bugs have been fixed:

  • Imports where the schemaId is an Ion symbol rather than an Ion string no longer results in an error. (#158)
  • Declaring two type definitions with the same name in a single schema will result in an error rather than silently discarding one of them. (#171)
  • Imports are no longer resolved transitively. WARNING—this is a potentially breaking change, so you must explicitly opt into this fix using the allowTransitiveImports(false) builder option. (#180)
    • This change will become the default behavior in ion-schema-kotlin-2.0.0.
    • It is strongly recommended that you use the withWarningMessageCallback builder option to help determine if and where your application would be affected by this change even if you do not enable this fix.

New Contributors

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