Ana içeriğe geç

Sürüm Notları#

Plugin Güncellemeleri#

Genel Olarak#

  • hvl-javalt-framework-plugin-parent projesi oluşturuldu (JAVALTPR-3315). Böylece artık tek bir parent versiyon kullanılarak, plugin tanımlamaları sırasında ayrıca versiyon vermeye gerek kalmamıştır. Migrasyon adımları şöyledir:
    • gradle.properties dosyası içerisinde plugin versiyonlarının tamamı silinip yerine hvlJavaltFrameworkPluginParentVersion=3.3.0 yazılmalıdır.
    • settings.gradle dosyası içindeki gradle.projectsLoaded -> dependencies içerisine
      classpath platform(group: 'tr.com.havelsan.plugin', name: 'hvl-javalt-framework-plugin-parent', version: "$hvlJavaltFrameworkPluginParentVersion")
      
      satırı eklenmelidir. Diğer classpathlerin sonundaki version ifadeleri kaldırılmalıdır.
    • Root build.gradle dosyası içerisinde subprojects altına aşağıdaki blok eklenmelidir.
      buildscript {
          dependencies {
              classpath platform(group: 'tr.com.havelsan.plugin', name: 'hvl-javalt-framework-plugin-parent', version: "$hvlJavaltFrameworkPluginParentVersion")
          }
      }
      
    • Modüller içerisinde ayrıca kullanılan veya tanımlanan pluginler varsa hepsinin versiyon kısımları silinmelidir. Artık pluginler uygun versiyon bilgisini tanımlanan plugin parent içerisinden alacaktır.
    • Örnek olarak hvl-javalt-samples projesi incelenebilir.

hvl-gradle-plugin#

hvl-gradle-code-generator-plugin#

hvl-gradle-hibernate-plugin#

hvl-gradle-liquibase-plugin#

hvl-gradle-lombok-plugin#

hvl-gradle-mapstruct-plugin#

hvl-gradle-maven-plugin#

hvl-gradle-querydsl-plugin#

hvl-gradle-spring-plugin#

  • Unit testler için JUnit 5 uyumluluğu sağlandı. (JAVALTPR-3482)
  • Docker push için dockerPublishingUrl ve dockerPublishingName parametreleri özelleştirme sağlandı.

hvl-gradle-workspace-plugin#

Core Güncellemeleri#

hvl-framework#

  • Entegrasyon testleri için test container altyapısı eklendi. Bu kapsamda eksen tarafından kullanılan third-party container'lar ve config-server container'ı eklendi. Doküman Linki (JAVALTPR-3475)

hvl-cloud-framework#

hvl-session#

hvl-cloud-session#

hvl-security#

hvl-cloud-security#

hvl-data#

  • HvlSimpleEntity yapısı değiştirildi ve primary key olarak UUID kullanımına destek verdildi. (JAVALTPR-3500) Örnek kullanım aşağıdaki gibidir. Projenin tamamına buradan erişilebilir.
@Entity
@Table(name = HvlJpaUuidSample.TABLE_NAME)
public class HvlJpaUuidSample extends HvlSimpleEntity<UUID> {

    //Table Name
    public static final String TABLE_NAME = "SAMPLE_UUID";

    //Columns
    public static final String NAME_COLUMN = "NAME";
    public static final String SURNAME_COLUMN = "SURNAME";

    @Column(name = NAME_COLUMN)
    @NotBlank
    @Size(max = HvlJpaSampleConstraint.NAME_SIZE)
    private String name;

    @Column(name = SURNAME_COLUMN)
    @NotBlank
    @Size(max = HvlJpaSampleConstraint.SURNAME_SIZE)
    @Convert(converter = HvlStringCryptoConverter.class)
    private String surname;

    ...
  • HvlEnversRevisionEntity içerisindeki Integer tipindeki id alanı Long yapıldı.

Tip Değişikliği

Bu kapsamda liquibase scriptlerinde tip değişikliği için ekleme yapılmalıdır. Eskiden integer olan bu alan artık Long olduğu için ilgili revision entitylerin scriptleri güncellenmelidir.

  • EKSEN tarafından sağlanan entityler için id sequence generator yapısı değiştirilmiştir. Bu kapsamda hvl-infra'daki application-database-datasource.yml dosyasına aşağıdaki alanlar eklenmiştir.
    • spring.jpa.properties.hibernate.id-generator.hvl_default_numeric_type_strategy: tr.com.havelsan.javarch.domain.model.entity.strategy.sequence.HvlEntitySequenceGeneratorStrategy
    • spring.jpa.properties.hibernate.id-generator.hvl_default_uuid_type_strategy: tr.com.havelsan.javarch.domain.model.entity.strategy.uuid.HvlEntityTimeOrderedEpochBasedUUIDGeneratorStrategy

hvl-cache#

hvl-mq#

hvl-support#

  • hvl-mail-support kütüphanesindeki HvlMailAutoConfiguration sınıfı HvlMailConfiguration şeklinde normal konfigürasyon sınıfına dönüştürülmüştür ve bu konfigürasyonu aktif etmek için @HvlEnableMailSupport anotasyonu eklenmiştir. (JAVALTPR-3375)

Önemli Değişiklik

hvl-mail-support sınıfı kullanılan modüllerde konfigürasyon sınıfı artık otomatik olarak devreye girmeyeceği için, mail ile ilgili bean'ların oluşmasını sağlamak için @HvlEnableMailSupport anotasyonu kullanılmalıdır.

Cloud Ürün Güncellemeleri#

hvl-config-instance#

hvl-gateway-instance#

  • İstek kısıtlama/bloklama özelliği eklenmiştir. Doküman Linki (JAVALTPR-3476)

hvl-admin-instance#

hvl-registry-instance#

Backend Ürün Güncellemeleri#

hvl-oauth-instance#

Önemli Değişiklikler

Logger Processor Oauth instance'ı artık kullanılmadığı için kullanımdan kaldırılmıştır. Bu kapsamda docker ve kubernetes konfigürasyonları hvl-infra'dan silinmiştir. (JAVALTPR-3523)

hvl-notification-instance#

hvl-logger-instance#

Önemli Değişiklikler

3.1.0 versiyonunda Deprecated olarak işaretlenen builder sınıfları silinmiştir. Builder sınıfları model sınıflarının içine taşındı. HvlEventLogModelBuilder.create() gibi kullanımların compile hatası alması durumunda, HvlEventLogModel.builder() şeklinde değiştirilmesi gerekmektedir.

  • 3.1.0 versiyonunda Deprecated olarak işaretlenen builder sınıfları silinmiştir. (JAVALTPR-3333)
  • Logger producer MQ Provider servisine produceAsync methodu eklenmiştir. (JAVALTPR-3334)
  • Logger producer jpa data provider (hvl-logger-producer-jpa-data-provider) paketine farklı bir şema üzerinden çalışma yeteneği eklenmiştir. Doküman Linki (JAVALTPR-3356)
  • Logger processor uygulamasına olay kayıtlarının arşiv tablosunu temizleme özelliği eklenmiştir. (JAVALTPR-3367) Doküman Linki
  • Logger processor job clenaer süresi milisaniye cinsinden iso formatına değiştirildi. PROCESSOR_PROCESS_INTERVAL yeni değeri PT10S yapıldı. (JAVALTPR-3373)
  • Logger için test container desteği eklendi. Gradle bağımlılığı: [group: 'tr.com.havelsan.framework.logger.test', name: 'hvl-logger-test'], (JAVALTPR-3465)
  • Logger search için kullanılan HvlLogSearchQueryModel içerisindeki indices alanının virgül kullanılarak çoklu indeks ismi ile çalışabilmesi sağlandı. Örnek: index1*,index2* (JAVALTPR-3519)

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-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#