Skip to content

YOJ 2.2.10 (annotation processor, custom conversion improvements)

Compare
Choose a tag to compare
@nvamelichev nvamelichev released this 11 Apr 11:40
· 115 commits to main since this release
  • 🎁 Add-on: Annotation processor for field name constant generation, yoj-ext-meta-generator (#57):
    https://github.com/ydb-platform/yoj-project/tree/main/ext-meta-generator
  • Custom Value Type improvements
    • Cache custom value type annotations and ValueConverter instances for each Schema.JavaField of a custom value type. This might improve performance of custom converter-heavy workloads.
    • Clean up FieldValueType and add log.error() for calls of @Deprecated(forRemoval) methods
      • ⚠️ (potentially breaking) FieldValueType.forJavaType(Type, Column) method has been removed in favor of FieldValueType.forSchemaField(JavaField) and FieldValueType.forJavaType(Type, ReflectField)
    • Use new StringValueConverter logic to convert legacy string-value types registered by FieldValueType.registerStringValueType(). In YOJ 2.2.x-2.4.x, legacy string-value types still work; they're removed in YOJ 2.5.0.
      • ⚠️ (potentially breaking) CommonConverters.{stringValueSetter,stringValueGetter,serializeStringValue,deserializeStringValue methods have been permanently removed
    • Improve custom converter documentation (ValueConverter, StringValueType, StringColumn etc.)
  • Meta-annotations: Add @ObjectColumn annotation to express @Column(flatten=false) more clearly