Skip to content

Releases: ydb-platform/yoj-project

YOJ 2.2.5-3

18 Apr 20:45
Compare
Choose a tag to compare

More backports of fixes to 2.2.5

  • #62 TableQueryBuilder where() and and() methods are now equivalent, to prevent hard to detect bugs
  • #63 Fix field name generator annotation processor's self-registration, so it can be used from Gradle
  • #65 Remove stacktrace from "kotlin detected but not kotlin-reflect" warning

YOJ 2.2.11 (bugfix release)

12 Apr 16:58
Compare
Choose a tag to compare
  • #58: yoj-ydb-repository-v2: Defer initialization of YDB GRPC Transport from YdbRepository constructor to first use, to make v2 work more like v1
  • #63: yoj-ext-meta-generator: Fix annotation processor self-registration to make it usable with Gradle
  • FIX: Disallow relative paths in YdbConfig.tablespace and YdbConfig.database, they were never supported, anyway (a7123cf)

YOJ 2.2.5-2 (2.2.5 + annotation processor)

11 Apr 11:47
Compare
Choose a tag to compare

Release of YOJ 2.2.5 (last 2.2.x version with no Custom Value Types) but with add-ons:

YOJ 2.2.10 (annotation processor, custom conversion improvements)

11 Apr 11:40
Compare
Choose a tag to compare
  • 🎁 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

YOJ 2.2.5-1 (2.2.5 + annotation processor)

11 Apr 11:45
Compare
Choose a tag to compare

⚠️ Please use YOJ 2.2.5-2 instead, it adds yoj-ext-meta-generator to the BOM artifact (yoj-bom).

YOJ 2.2.9 (aspect fix)

28 Mar 21:17
Compare
Choose a tag to compare
  • #56: FIX: Add javac -parameters flag so that Spring can detect method parameter names

YOJ 2.2.8 (aspect, fix perf issues)

27 Mar 17:00
Compare
Choose a tag to compare

ℹ️ This releases mostly fixes performance issues introduced with meta-annotation support in 2.2.6.

  • Add yoj-aspect module which has a @YojTransactional annotation for methods, and an AspectJ aspect implementing this annotation. This module can be used as-is with Spring AOP.
  • Exclude java.* annotations from meta-annotation scanning, mostly fixing perf issues brought by meta-annotation support (#54).

YOJ 2.2.7 (Fix for legacy string-valued types)

22 Mar 23:28
Compare
Choose a tag to compare

⚠️ There is a noticeable performance regression in v2.2.6 and v2.2.7 due to meta-annotation support. This will be fixed in the next 2.2.x releases.


  • FIX: Reestablish support for string-valued types registered by FieldValueType.registerFieldValueType() mostly using custom value types machinery (See 6de43ed)

YOJ 2.2.6 (meta-annotations)

19 Mar 13:48
Compare
Choose a tag to compare

⚠️ There is a noticeable performance regression in v2.2.6 and v2.2.7 due to meta-annotation support. This will be fixed in the next 2.2.x releases.


  • #50: Meta-annotation support for @Column and @CustomValueType annotations: you can define annotations that define column mapping or type mapping.
    E.g., a @StringColumn UUID myColumn in an entity is equivalent to @Column(customValueType=@CustomValueType(columnClass=String.class, converter=StringValueConverter.class)) UUID myColumn.
    Same is possible for annotating types with predefined @CustomValueType annotation, see e.g. @StringValueType.
  • #51: Fix conversion errors for custom value types (#24 (comment))

YOJ v2.2.5 (minor bugfix)

07 Mar 00:00
Compare
Choose a tag to compare

#47: YdbSchemaCompatibilityChecker bugfix on SCHEMA_ERROR