Releases: amazon-ion/ion-schema-kotlin
Releases · amazon-ion/ion-schema-kotlin
Release 1.1.0
This release includes the following enhancements:
- adds
Schema.isl
andType.isl
, enabling access to the ISL underlying Schema and top-level Type objects (#143) - enables custom schema caching logic (#144) via a new
SchemaCache
interface,SchemaCacheDefault
implementation, andIonSchemaSystemBuilder.withSchemaCache(SchemaCache)
method - adds support in the regex constraint for compound character classes such as
[A-Za-z0-9]
(#147) - adds
Schema.getImports()
,Schema.getImport(String)
, and a newImport
interface to allow retrieval of the types imported by a schema (#148) - provides graceful handling of redundant imports (#149); if schema A imports schemas B and C, which both import the same type from schema D, this is no longer results in an exception
Additionally, the following bugs have been fixed:
Schema
objects are now cached successfully (#141)AuthorityFilesystem
now restricts file access to be within the specified basePath only (#142)- all top-level type definitions are now required to have a name (#145)
IonSchemaSystemBuilder.allowAnonymousTopLevelTypes()
may be used if the previous behavior is helpful until existing anonymous top-level type definitions are named (or removed)
Full list of changes: v1.0.1...v1.1.0
Release 1.0.1
- fixes the javadoc link in README.md (#130)
- improves performance of the Occurs constraint (#128)
- removes "alpha software" text from README.md
- updates the sonatype URL (used for publishing the library) (#127)
Full list of changes: v1.0.0...v1.0.1
Release 1.0.0
This release is a complete implementation of the Ion Schema Specification, and includes the following changes since the previous release:
- re-implements the regex constraint with java.util.regex.Pattern while not exposing Pattern's extra features (#119)
- NOTE: with this change, the use of regex features not explicitly defined in the Ion Schema Specification should no longer work, and may produce an error
- adds test to verify inline type import behavior (and absence of type name conflicts) (#124)
Bugs fixed:
- adds correct propagation of type aliases when importing a schema (#123)
Associated milestone: M4
Full list of changes: v0.8.0-alpha...v1.0.0
Release 0.8.0
- changes maven groupId from
software.amazon.ion
tocom.amazon.ion
to be consistent with other Ion-related open source projects (#105) - changes java package names from
software.amazon.ionschema
tocom.amazon.ionschema
(#105) - updates ion-java dependency to version 1.4 (and use of the
com.amazon.ion
namespace) - adds
Schema.plusType()
(#73) - adds support for schema import (#1)
- adds support for the document type (#11)
- adds support for using an import as a type reference (#66)
- adds support for escaping
/
and"
chars in regexes (#77) - adds support for regex multiline mode (
m
flag) (#78) - allows a type to reference a type defined beneath it (#59)
- defines a schema for ISL using ISL (#10)
- updates the ordered_elements constraint to follow multiple solution paths (#108)
- various documentation, testing, and code quality improvements
Bugs fixed:
- confusing error when creating type definition referencing undefined type (#55)
Associated milestone: M3
Full list of changes: v0.7.0-alpha...v0.8.0-alpha
Release 0.7.0
- implements the annotation, timestamp_offset, and timestamp_precision constraints
- adds valid_values support for timestamp ranges
- API changes:
- adds methods for instantiating ad-hoc schemas and types, specifically:
IonSchemaSystem.newSchema()
andSchema.newType()
- adds methods for instantiating ad-hoc schemas and types, specifically:
- bugfix: schema import ids were incorrectly expected to be symbols; now properly handles them as strings
Release 0.6.0
- added
Type.validate()
, which returns validation details - added support for
content: closed
- file-based tests to assert validation details
- API changes:
- updated
Authority.readerFor(): Reader
toiteratorFor(): Iterator<IonValue>
Schema.getType(name)
now returns null when a type isn't found (instead of throwing)- removed
IonSchemaSystem.getIonSystem()
- removed
IonSchemaSystem.loadSchema(Reader)
- removed
Schema.getType(IonSymbol)
- updated
Release 0.5.0-alpha
Initial alpha release.