Ana içeriğe geç

Sürüm Notları#

Plugin Güncellemeleri#

Genel Olarak#

Gradle 9.3.1 Versiyonu Geçişi (JAVALTPR-4217)

Gradle versiyonu 9.3.1 olarak güncellendi. Projelerin düzgün şekilde çalışabilmesi için development ortamlarına Gradle 9.3.1 kurulmalıdır. Projelerde geçiş sırasında build.gradle ve settings.gradle dosyalarında yapılması gerekenler hvl-javalt-samples repository commit'inden incelenebilir.

Java 25 Geçişi (JAVALTPR-4316)

Java versiyonu 25 olarak güncellendi. Projelerin düzgün şekilde çalışabilmesi için development ortamlarına Java 25 kurulmalıdır. Pluginler ve EKSEN paketleri java 25 ile çalışacak şekilde güncellenmiştir. build.gradle ve settings.gradle içindeki sourceCompatibility ve targetCompatibility bölümü aşağıdaki şekilde güncellenmelidir.

build.gradle:

java {
    sourceCompatibility = gradle.environment.java.sourceCompatibility
    targetCompatibility = gradle.environment.java.targetCompatibility
}

settings.gradle:

java    : [
               sourceCompatibility: 25,
               targetCompatibility: 25
       ],

Spring Boot 3.5.7 Geçişi (JAVALTPR-4296, JAVALTPR-4401)

Spring boot versiyonu 3.5.7 olarak güncellendi. Spring Boot 3.5 Release Notes

  • Değişkenliği az olan Kubernetes ve docker compose uygulama ortam değişkenleri (env), uygulama içerisine taşınarak, kurulum ortamlarındaki konfigürasyonlar sadeleştirildi. (JAVALTPR-4447)
  • Eksen uygulamalarının config server içerisindeki servis url bilgileri hvl-service.yml içerisine taşındı.

hvl-gradle-plugin#

  • Gradle 9.3.1 versiyonu ile uyumlu hale getirildi. (JAVALTPR-4217)
  • CycloneDx plugin versiyonu 2.4.1 olarak güncellendi.

hvl-gradle-code-generator-plugin#

  • Gradle 9.3.1 versiyonu ile uyumlu hale getirildi. (JAVALTPR-4217)

hvl-gradle-hibernate-plugin#

  • Gradle 9.3.1 versiyonu ile uyumlu hale getirildi. (JAVALTPR-4217)
  • Hibernate versiyonu 6.6.33.Final olarak güncellendi.

hvl-gradle-liquibase-plugin#

  • Gradle 9.3.1 versiyonu ile uyumlu hale getirildi. (JAVALTPR-4217)
  • Liquibase versiyonu 4.31.1 olarak güncellendi.

hvl-gradle-lombok-plugin#

  • Gradle 9.3.1 versiyonu ile uyumlu hale getirildi. (JAVALTPR-4217)
  • Lombok versiyonu 1.18.42 olarak güncellendi.
  • Lombok plugin versiyonu 9.1.0 olarak güncellendi.

hvl-gradle-mapstruct-plugin#

Önemli Değişiklik

Deprecated olan autoMoveEnabled değişkeni silindi. Bu değer "true" ise aşağıdaki şekilde güncellenmelidir. Doküman Linki

hvlMapstruct {
    mode = HvlMapStructPluginMode.MOVE
}
  • Gradle 9.3.1 versiyonu ile uyumlu hale getirildi. (JAVALTPR-4217)

hvl-gradle-maven-plugin#

  • Gradle 9.3.1 versiyonu ile uyumlu hale getirildi. (JAVALTPR-4217)

hvl-gradle-querydsl-plugin#

Önemli Değişiklik

Deprecated olan autoMoveEnabled değişkeni silindi. Bu değer "true" ise aşağıdaki şekilde güncellenmelidir. Doküman Linki

hvlQuerydsl {
    jpa = true
    mode = HvlQuerydslPluginMode.MOVE
}
  • Gradle 9.3.1 versiyonu ile uyumlu hale getirildi. (JAVALTPR-4217)
  • Querydsl plugini çalıştırılırken ekstra exclude edilmesi istenen java sınıfları için hvlQuerydsl extension içerisine excludeList parametresi eklendi. Doküman Linki (JAVALTPR-4256)

hvl-gradle-spring-plugin#

  • Gradle 9.3.1 versiyonu ile uyumlu hale getirildi. (JAVALTPR-4217)

Önemli Değişiklik

Docker imajı çıkılırken kullanılan paketleme yöntemi değiştirilerek layered paketleme yöntemine geçildi. Bu kapsamda uygulamaların startup sürelerinde belirgin iyileştirme sağlandı. (JAVALTPR-4442)

Projelerde kullanılması gereken yeni Dockerfile:

FROM harbor.bulut.ai/framework/hvlamazoncorretto:25-alpine3.22

ARG CONTAINER_JAR_FILE
ARG EKSEN_DIR="/eksen/"

COPY $EKSEN_DIR $EKSEN_DIR

ENV JAR_FILE="$EKSEN_DIR$CONTAINER_JAR_FILE.jar"
ENV JAVA_OPTS=""

ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar $JAR_FILE"]

Bu Dockerfile kullanımı ile birlikte docker compose içindeki entrypoint bilgilerine ihtiyaç kalmamıştır ve silinebilir.

Docker env'si olarak JAVA_OPTS kullanılarak Xmx, Xms gibi java options'lar kullanılabilir.

hvl-gradle-workspace-plugin#

  • Gradle 9.3.1 versiyonu ile uyumlu hale getirildi. (JAVALTPR-4217)

Core Güncellemeleri#

hvl-framework#

  • Request logger kapsamında kullanılan log4j2.yml içerisindeki Kafka appenderlar iyileştirildi. Artık request logger devrede değilken kafka bağlantısı kurulmaz. Doküman Linki (JAVALTPR-4137)
  • Uygulama açılışında karşılaşılan HvlJsonSchemaUtil kaynaklı ClassNotFound hataları giderildi. (JAVALTPR-4048)
  • Spring boot versiyonu 3.5.6 olarak güncellendi. (JAVALTPR-4296)

hvl-cloud-framework#

  • Spring cloud versiyonu 2025.0.0 olarak güncellendi. (JAVALTPR-4296)
  • Feign client uçları arasında query parametrelerinin taşınabilmesi sağlandı. Doküman Linki (JAVALTPR-4513)

hvl-session#

hvl-cloud-session#

hvl-security#

  • Paketlerde taşıma ve iş bölümüne göre ayrıştırmalar yapıldı. (JAVALTPR-4439)

hvl-cloud-security#

hvl-data#

Önemli Değişiklik

  • MapperUtil sınıfının ismi HvlMapperUtil olarak şekilde değiştirildi. Altyapıdan HvlMapperUtil bean desteği sağlandı. MapperUtil için tanımlanmış bean varsa silinmelidir. (JAVALTPR-4284)
  • HvlBaseLocalizedModel içindeki deprecated locale alanı silindi. Bunun yerine HvlLocalizedIdModel içindeki locale alanı kullanılmalıdır.
  • HvlGenericMapStructMapper iyileştirildi. (JAVALTPR-4049)
  • Liquibase Command Line Runner'daki hata düzeltmesi. Doküman Linki (JAVALTPR-4025)
  • Envers revision değişiklikleri sorgulanması sağlandı. Doküman Linki (JAVALTPR-4169)
  • Sequence generator içinde kullanılan initial_param ve increment_param değerleri konfigüratif yapıldı. Konfigürasyonlara application-database-datasource.yml içinden spring.jpa.properties.hibernate.id-generator yoluyla ulaşılır. (JAVALTPR-4208)
  • HvlSimpleEntity için destek genişletildi. (JAVALTPR-4233, JAVALTPR-4255)
    • HvlSimpleSoftDeleteEntity,
    • HvlSimpleHardDeleteEntity,
    • HvlSimpleLocalizedEntity,
    • HvlSimpleLookupEntity sınıfları ile birlikte, bu sınıfların repository, converter ve model sınıfları eklendi.
  • HvlEnversRevisionChangesEntity sınıfı ile birlikte audit işlemlerinde hangi entity'ler üzerinde değişiklik yapıldığı bilgisi kayıt edilebilir. Doküman Linki (JAVALTPR-4160).
  • Javers Spring Jpa versiyonu 7.9.0 olarak güncellendi. (JAVALTPR-4296)
  • Datasource proxy versiyonu 1.11.0 olarak güncellendi. (JAVALTPR-4296)
  • Preliquibase versiyonu 1.6.1 olarak güncellendi. (JAVALTPR-4296)
  • Redisson Hibernate versiyonu 3.52.0 olarak güncellendi. (JAVALTPR-4296)
  • Hibernate Envers için tüm entity'ler bazında alan exclude edilebilmesi sağlandı. Doküman Linki (JAVALTPR-4556)

hvl-cache#

  • EKSEN tarafından sağlanan caffeine cache manager ile ilgili düzenleme yapıldı. Cache type caffeine olmadığı durumlarda, contextte library varsa cache manager bean'inin oluşması sağlandı. (JAVALTPR-4296)
  • Spring 3.5.6 geçişi kapsamında Redis, Lettuce ve Jedis konfigürasyonları iyileştirildi. (JAVALTPR-4296)

hvl-mq#

Önemli Değişiklik

HvlEventNotifier servisindeki deprecated methodlar silindi.

  • Kafka outbox tasarımı ve kafkanın çalışma düzeni iyileştirildi. (JAVALTPR-4110)

hvl-support#

  • Multi tenancy kütüphanesi hvl-data'dan sağlanan Simple entity'ler ile uyumlu duruma getirildi. (JAVALTPR-4255)
  • Elastic Apm Agent versiyonu 1.55.1 olarak güncellendi. (JAVALTPR-4296)
  • Skywalking Agent versiyonu 9.5.0 olarak güncellendi. (JAVALTPR-4296)
  • iCal4j versiyonu 4.2.0 olarak güncellendi. (JAVALTPR-4296)
  • Javamelody versiyonu 2.5.1 olarak güncellendi. (JAVALTPR-4296)
  • Datasource Micrometer Spring Boot versiyonu 1.2.0 olarak güncellendi. (JAVALTPR-4296)

Cloud Ürün Güncellemeleri#

hvl-config-instance#

hvl-gateway-instance#

  • Request ve response loglama yeteneği eklendi. Doküman Linki (JAVALTPR-4132)

hvl-admin-instance#

hvl-registry-instance#

Backend Ürün Güncellemeleri#

hvl-oauth-instance#

hvl-notification-instance#

hvl-logger-instance#

Önemli Değişiklik

Logger Fluent Provider sınıfının otomatik devreye girmesi kapatıldı. Bunun yerine @HvlEnableLogProducerFluentProvider anotasyonu eklendi. (JAVALTPR-4057)

  • Log Producer uygulamasına fluent entegrasyonu eklendi. Kullanmak için fluent profili ile çalıştırılmalı. (JAVALTPR-4057)
  • Log Processor uygulamasına fluent entegrasyonu eklendi. Kullanmak için fluent profili ile çalıştırılmalı. (JAVALTPR-4093)
  • Log Processor uygulaması iyileştirildi, bazı hatalar giderildi. (JAVALTPR-4102)
  • Log Search uygulamasının exception handling'i iyileştirildi. (JAVALTPR-4140)
  • Log Search uygulaması için OpenSearch entegrasyonu eklendi. Doküman Linki (JAVALTPR-4538)
  • Log Producer All Provider paketi eklendi. Tüm Log Producer providerlarının tek paket üzerinden kullanılabilmesi sağlandı. Doküman Linki (JAVALTPR-4571)

hvl-bpmn-instance#

hvl-system-instance#

hvl-help-portal-instance#

UI Güncellemeleri#

Altyapı Kütüphaneleri#

hvlng/framework-bff#

hvlng/framework-core#

hvlng/framework-theme#

Uygulama Kütüphaneleri#

hvlng/keysis-lib#

hvlng/bpmn-lib#

hvlng/report-lib#

hvlng/ldap-lib#

Uygulamalar#

Notification#

Konfigürasyon (yml) Güncellemeleri#

application-apm.yml#

application-batch.yml#

application-bpmn.yml#

application-cloud-kubernetes.yml#

application-database-datasource.yml#

application-database-liquibase.yml#

application-hvl-data.yml#

application-hvl-security.yml#

application-instance.yml#

application-ldap.datasource.yml#

application-management.yml#

application-opensearch.yml#

  • Eklendi.

application-swagger.yml#

admin-server-docker-compose.yml#

bpmn-admin-docker-compose.yml#

bpmn-engine-docker-compose.yml#

config-docker-compose.yml#

logger-processor-docker-compose.yml#

logger-producer-docker-compose.yml#

logger-search-docker-compose.yml#

notification-mail-docker-compose.yml#

notification-polling-docker-compose.yml#

notification-stomp-ws-docker-compose.yml#

oauth-auth-docker-compose.yml#

oauth-authz-docker-compose.yml#

oauth-event-docker-compose.yml#

oauth-ldap-docker-compose.yml#

oauth-session-docker-compose.yml#

proxy-docker-compose.yml#

registry-docker-compose.yml#

report-docker-compose.yml#

system-menu-docker-compose.yml#

system-setting-docker-compose.yml#

bpmn-ui-docker-compose.yml dosyası eklenmiştir.#

eksen-ui-docker-compose.yml dosyası eklenmiştir.#

flowable-editor-docker-compose.yml#

keysis-docker-compose.yml#

procsys-docker-compose.yml#

Veritabanı Güncellemeleri#