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 yerinehvlJavaltFrameworkPluginParentVersion=3.3.0
yazılmalıdır.settings.gradle
dosyası içindekigradle.projectsLoaded
->dependencies
içerisine satırı eklenmelidir. Diğer classpathlerin sonundaki version ifadeleri kaldırılmalıdır.- Root
build.gradle
dosyası içerisindesubprojects
altına aşağıdaki blok eklenmelidir. - 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.
- Eksen altyapısı, Spring boot 3.4.1 versiyonuna güncellendi. (JAVALTPR-3561)
- Gradle versiyonu 8.10 olarak güncellendi. (JAVALTPR-3621)
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#
- Hata düzeltmeleri ve iyileştirmeler yapıldı. (JAVALTPR-3579)
hvl-gradle-spring-plugin#
- Unit testler için JUnit 5 uyumluluğu sağlandı. (JAVALTPR-3482)
- Docker push için
dockerPublishingUrl
vedockerPublishingName
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)
- Konfigürasyon şifreleme yöntemi jasypt'nin
PBEWithHMACSHA512AndAES_256
algoritması olacak şekilde değiştirildi. (JAVALTPR-3588)
Önemli Değişiklik
Eski algoritma PBEWithMD5AndDES
idi. Eğer ENC@[
ile başlayan şifrelenmiş bir konfigürasyon varsa bunun yeni algoritmaya göre tekrar şifrelenmesi gerekmektedir. Bunun için eksen tool instance veya online tool'lar kullanılabilir.
- Swagger için bearer token ve oAuth2 ile yetkilendirme desteği eklendi. Swagger configurer eklendi. Doküman Linki (JAVALTPR-3681)
hvl-cloud-framework#
hvl-session#
hvl-cloud-session#
hvl-security#
hvl-security-web-starter
paketinden direkt olarakHvlSecurityProperties
içindekipermitUrl
'e eklenenlogin
uçları gibi değerlereksen
kategorisindencustomized
kategorisine taşındı. (JAVALTPR-3609)
Önemli Değişiklikler
Form girişinde kullanılacak ve permit olarak verilmesi gereken login
uçları gibi değerlerin permitUrl
yerine HvlSecurityContext
üzerinden alınması tavsiye edilir. hvl-security-web-starter
paketi kullanılmıyorsa birşey yapılmasına gerek yoktur.
hvl-oauth2-security
kütüphanesi ile EKSEN altyapısının OAuth 2 entegrasyonu sağlandı. Doküman Linki (JAVALTPR-3680)
hvl-cloud-security#
hvl-cloud-oauth2-security
kütüphanesi ile EKSEN cloud altyapısının OAuth 2 entegrasyonu sağlandı. Doküman Linki (JAVALTPR-3680)
hvl-data#
HvlSimpleEntity
yapısı değiştirildi ve primary key olarakUUID
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çerisindekiInteger
tipindekiid
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
'dakiapplication-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
-
HvlLookupModel
sınıfına java validasyonları eklenmiştir.HvlLookupEntityConstraint
sınıfı deprecate edildi. (JAVALTPR-3601)
hvl-cache#
hvl-mq#
- Retriable yani tekrarlanabilir exception'lar tanımlanabilmesi sağlanmıştır. Böylece sürekli tekrarlanması gereken durumlar ele alınabilir. Doküman Linki (JAVALTPR-3739)
hvl-support#
hvl-mail-support
kütüphanesindekiHvlMailAutoConfiguration
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#
- Config server her zaman gateway arkasında çalışabilecek şekilde güvenliği iyileştirildi. Permit ve secure path propertyleri eklendi. Secure path üzerinde bulunan dosyalar EKSEN güvenlik bloğuna dahil edildi, HVL_TOKEN ile erişim zorunlu tutuldu. Backend uygulamalarının konfigürasyonları basic authentication ile hizmet vermeye devam etmektedir. Permit path üzerinde bulunan dosyalar hiçbir güvenlik olmadan direkt erişime açık olacaktır (Login ekranları gibi yerlerde kullanılması için). Doküman Linki (JAVALTPR-3609)
hvl-gateway-instance#
- İstek kısıtlama/bloklama özelliği eklenmiştir. Doküman Linki (JAVALTPR-3476)
- Dinamik filtrelerin eklenebilmesi sağlanmıştır. Doküman Linki (JAVALTPR-3662)
- Yönlendirme yapılırken basic authentication ile güvenlik sağlanabilme yeteği eklenmiştir. Doküman Linki (JAVALTPR-3741)
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ğeriPT10S
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çerisindekiindices
alanının virgül kullanılarak çoklu indeks ismi ile çalışabilmesi sağlandı. Örnek:index1*,index2*
(JAVALTPR-3519) - Olay kayıtlarına fluentd üzerinden elasticsearch'e atılırken timestamp eklenmesi sağlandı.
- Logger search uygulamasında
sort
mekanizaması iyileştirildi. Türkçe karakter ve büyük/küçük harflere göre sonuçların düzgün gelmesi sağlandı. Doküman Linki (JAVALTPR-3708)