5.5.4
AVRO transformation and rendering support (ALPHA)
In the previous release we added support for AVRO parsing, which means creating an AvroConfiguration
with an AvroParsePlugin
and with that create a BaseUnitClient
that has the parse()
method that parses an AVRO Schema and returns an AvroSchemaDocument
.
This release, we've added support for the transform()
and render()
methods, letting the user resolve the model and export it to .jsonld
or to .json
again.
To do this, we've created the AvroRenderPlugin
and added it to the AvroConfiguration
as well as the necessary transformation pipelines. Now the AVRO Configuration is much more complete and looks like this:
object AvroConfiguration extends APIConfigurationBuilder {
def Avro(): AMFConfiguration = {
common()
.withPlugins(List(AvroParsePlugin, AvroRenderPlugin))
.withTransformationPipelines(
List(
AvroSchemaTransformationPipeline(),
AvroSchemaEditingPipeline(),
AvroSchemaCachePipeline()
)
)
}
}
We're expecting to continue this growth and launch AVRO Validation in the next release, will keep you updated.
For more information about transformation and rendering check the following documentation:
What's Changed
- W-16124325 -Avro interfaces by @looseale in #2015
- release/5.5.3 to develop by @looseale in #2018
- W-16006973: add AVRO ADR by @arielmirra in #2019
- W-16006973: add avro-schema annotation on collections (items/values) parsing by @arielmirra in #2020
- W-16006973: add avro annotations by @arielmirra in #2021
- W-16246407 - Fix handle of method string kind by @looseale in #2022
- W-15633231: add AVRO basic resolution pipelines by @arielmirra in #2023
- W-15633198: add AVRO emission by @arielmirra in #2024
- W-15633239 - AvroSchemaDocument ref handle by @looseale in #2025
- W-15633231: add avro transformation pipelines and tests by @arielmirra in #2026
- W-16346159: fix parsing avro record field without a type defined by @arielmirra in #2027
- W-16346159: AVRO fixes by @arielmirra in #2028
Full Changelog: 5.5.3...5.5.4