Günlük Java / Spring Ekosistem Raporu
Tarih: 12 Mayıs 2026
Tarama zamanı: 12 Mayıs 2026 09:11 TSİ
Odak: Spring bakım sürümlerindeki gerçek güvenlik/operasyon etkileri, Spring Cloud Gateway SSL davranışı, Java 26 runtime iyileştirmeleri, Batch ve Kafka tarafındaki operabilite sinyalleri
Tarama notu: Bu rapor hazırlanırken zorunlu kaynaklar sistematik olarak kontrol edildi: Official Spring Blog, Spring Projects, Spring Release Highlights, Spring Support Policy, Spring Boot 4.0.6 duyurusu, Spring Boot 3.5.14 duyurusu, Spring Framework 6.2.18 ve 7.0.7 duyurusu, Spring Cloud Gateway advisory, Spring Authorization Server proje sayfası, Inside Java, Java 26 for DevOps, OpenJDK Quality Outreach Heads-up, JEP 516, JEP 522, JEP 523, JEP 527, Oracle Java Blog, InfoQ - The Spring Team on Spring Framework 7 and Spring Boot 4, Baeldung - Spring Boot 4 & Spring Framework 7, Josh Long - This Week in Spring, 5 Mayıs 2026, Gunnar Morling blogu, Burak KUTBAY - API Versiyonlama ve Burak KUTBAY - HTTP Service Client.
Bu koşuda 10 ve 11 Mayıs raporlarında zaten öne çıkarılan Spring Security destek matrisi, Spring AI M6 ve agent-runtime başlıkları tekrar yükseltilmedi. Onun yerine bugün, bakım sürümlerinde gizlenen ama doğrudan üretim davranışını etkileyen konfigürasyon ve runtime semantiğine odaklanıldı.
Öne Çıkan Başlıklar
- Spring Boot 4.0.6 ve 3.5.14 artık “rutin patch” gibi değil, güvenlik release’i gibi ele alınmalı. SSL bundle, temp directory, DevTools remote secret, PID file ve varsayılan security chain alanlarında gerçek risk kapatıyorlar.
- Spring Framework 6.2.18 ve 7.0.7 tarafındaki WebFlux multipart ve static resource CVE’leri, özellikle dosya yükleme ve statik içerik sunan servislerde doğrudan saha etkisi yaratabilir.
- Spring Cloud Gateway CVE-2026-22750 daha tehlikeli çünkü konfigürasyon başarısızlığı sessiz:
spring.ssl.bundletanımlı görünse de4.2.0üzerinde fiilen yok sayılabiliyor. - Java tarafında asıl dikkat çekici sinyal yeni sözdizimi değil; JEP 516 ile AOT cache’in tüm GC’lere açılması, JEP 522 ile G1 throughput artışı ve JEP 523 ile G1’in tüm ortamlarda default olmasına giden yol.
- Spring Batch 6 ve Spring Kafka 4.1.0-RC1 / 4.0.5 / 3.3.15 hattı, işlev eklemekten çok operabiliteyi merkeze alıyor: JFR event’leri, graceful SIGTERM, native DLQ ve share consumer iyileştirmeleri bunun işareti.
Kritik Güncellemeler
Spring Boot bakım sürümleri güvenlik semantiğini düzeltiyor
Spring Boot 4.0.6 sekiz CVE kapatıyor; Spring Boot 3.5.14 ise altı CVE ile aynı hattın daha dar kapsamlı güvenlik bakımını sunuyor. En önemli başlıklar:
- SSL bundle kullanıldığında Elasticsearch, RabbitMQ ve Cassandra tarafında hostname verification’ın devre dışı kalabilmesi
ApplicationTempiçin öngörülebilir temp dizininin sahiplik doğrulaması olmadan kabul edilmesi- DevTools remote secret karşılaştırmasının timing attack’e açık olması
RandomValuePropertySourceiçinde sır üretmek için zayıf PRNG kullanılması- Varsayılan security filter chain’in belirli Actuator kombinasyonlarında authorization rule üretmemesi
- PID dosyası yazımının öngörülebilir path üzerinde symlink takip etmesi
Bu, “feature yoksa upgrade bekleyebilir” yaklaşımını zayıflatıyor. Özellikle TLS kullanan messaging/client bağlantıları, uzak geliştirme kanalları ve persistent session kullanan servlet uygulamaları bu sürümleri hızla almalı.
Spring Framework web katmanında üç ayrı saha riski kapandı
Spring Framework 6.2.18 ve 7.0.7 şu üç alanı kapatıyor:
- WebFlux multipart temp file DoS
- Spring MVC ve WebFlux için static resource cache poisoning
- Windows platformlarında static resource handling kaynaklı DoS
Ek olarak duyuru, 5.3.x ve 6.1.x nesillerinin açık kaynak desteğinin bittiğini açık söylüyor. Bu yüzden bazı ekiplerde görülen “Framework’ü yerinde tutup sadece üst katmanı güncelleriz” yaklaşımı artık pratikte daha maliyetli hale geliyor.
Spring Cloud Gateway’de SSL bundle davranışı sessizce boşa düşebiliyor
CVE-2026-22750 özelinde asıl problem yalnız bir güvenlik açığı değil; güvenli olduğunu sandığınız konfigürasyonun gerçekte uygulanmaması. spring.ssl.bundle tanımlandığında Spring Cloud Gateway 4.2.0, varsayılan SSL yapılandırmasına dönüyor. Daha kritik ikinci mesaj ise destek politikası: 4.2.x hattı artık açık kaynak destekli değil; resmi öneri açık kaynak kullanıcıları için 5.0.2 veya 5.1.1 seviyesine çıkmak.
Bu, Gateway kullanan platformlarda sertifika ve trust-store davranışını sadece config review ile değil, gerçek handshake testleriyle doğrulama ihtiyacını artırıyor.
Trendler ve Sinyaller
1. Konfigürasyon artık güvenlik davranışının kendisi
Boot ve Gateway tarafındaki son advisory’ler birlikte okunduğunda ortak desen net: sorunlar çoğu zaman “kodu yanlış yazdınız” değil, “çerçevenin konfigürasyonu beklenen güvenlik anlamını üretmedi” şeklinde çıkıyor. spring.ssl.bundle, varsayılan security chain, temp path sahipliği ve PID file yazımı bunun örnekleri.
Kalıcı değer: Konfigürasyonun gerçekten güvenlik etkisi üretip üretmediğini entegrasyon testiyle doğrulamak.
Gürültü: YAML doğru görünüyorsa davranışın da doğru olduğunu varsaymak.
2. Runtime seçimi yeniden uygulama mimarisi konusu oluyor
Java 26 for DevOps, JEP 516, JEP 522 ve JEP 523 birlikte şu yönü gösteriyor:
- startup/warmup optimizasyonu artık yalnız framework AOT konusu değil, JVM cache ve GC tercihi konusu
- G1 throughput artışı, mutasyon yoğun servislerde ölçülebilir fark yaratabilir
- JDK 27’de G1’in tüm ortamlarda default olması, küçük/constraint pod davranışını etkileyebilir
Spring servisleri için bu, “JDK’yı güncelledik, bitti” değil; GC, heap ergonomisi ve cold-start profili için yeniden benchmark gereksinimi demek.
3. Operabilite, Batch ve messaging tarafında birincil tasarım hedefi oluyor
Spring Release Highlights içindeki Spring Batch 6 ve Spring Kafka duyurusu aynı eksende ilerliyor:
- düşük overhead gözlemlenebilirlik
- kontrollü kapanış
- hata işleme mekanizmalarının framework içine çekilmesi
- asenkron tüketim ve recovery davranışlarının daha görünür hale gelmesi
Bu başlıklar “gösterişli yeni API” kadar dikkat çekmiyor; ama üretim kararlılığı açısından daha yüksek değer taşıyor.
4. Topluluk içeriği bugün yeni release değil, migration hijyeni üretiyor
InfoQ, Baeldung, Josh Long’un haftalık özeti ve Burak KUTBAY’ın yazıları bugün yeni bir breaking change duyurmaktan çok, mevcut geçişlerin nasıl sindirileceğini pekiştiriyor: API versioning, HTTP interface clients, Jackson 3, JUnit 4 kaldırımı ve upgrade lane disiplini.
Bu nedenle bugünün yüksek sinyali “yeni feature keşfi” değil, mevcut feature’ların güvenli ve ölçülebilir işletimi.
Araçlar ve Kütüphaneler
- Spring Batch 6: Yüksek öncelik, ama yalnız batch işi olan ekipler için. JFR event üretimi ve graceful SIGTERM desteği Kubernetes ya da scheduler tabanlı batch sistemlerinde doğrudan değer yaratıyor.
- Spring for Apache Kafka 4.1.0-RC1, 4.0.5, 3.3.15: Yüksek öncelik. Kafka Streams için KIP-1034 hizası, native DLQ/exception handler yaklaşımını daha resmi hale getiriyor.
4.1.0-RC1keşif için;4.0.5ve3.3.15ise mevcut stabil hatlar için daha pratik. - Spring Shell 4.0.2: Düşük öncelik. CLI yüzeyi üreten ekipler için v3 hizası ve stabilite iyileştirmeleri anlamlı; genel backend portföyü için belirleyici değil.
- Spring AI tarafında bugün, 10-11 Mayıs raporunu değiştirecek kadar güçlü yeni bir release sinyali yok. Bu kategori için ek gürültü üretilmedi.
Java / Spring Geliştiricileri İçin Etkiler
- Spring Boot servislerinde TLS konfigürasyonunu yalnız property review ile değil, bilinçli CN/SAN uyuşmazlığı testleriyle doğrulamak artık makul bir zorunluluk.
server.servlet.session.persistent=truekullanan ekipler, temp directory ve host-level erişim modelini özellikle yeniden gözden geçirmeli.- DevTools remote özelliği açık olan iç ağ ortamları, “sadece geliştirme kolaylığı” olarak değerlendirilmemeli; güvenlik kapsamına alınmalı.
- Java 26 değerlendiren ekipler, mutasyon yoğun servislerde G1 benchmark’ı; scale-to-zero veya sık restart alan iş yüklerinde ise AOT cache etkisi için ayrı test koşturmalı.
- Batch çalışanları olan platformlarda SIGTERM davranışı ve JFR event akışı, preStop hook ve job orchestration stratejisiyle birlikte test edilmeli.
- Kafka Streams kullanan ekipler, custom recoverer/DLQ katmanlarını gözden geçirip Spring Kafka 4.1 hattındaki yeni handler modelinin sadeleştirme fırsatı sunup sunmadığını incelemeli.
- Boot 4 geçiş hattında topluluk içerikleri hâlâ Jackson 3, JUnit Jupiter 6, Jakarta EE 11 ve modüler auto-configuration temizliğinin eksik kalan migration maddeleri olduğunu teyit ediyor. Bu başlıklar “sonra bakarız” sınıfında değil.
Fırsatlar ve Riskler
- Fırsat: Boot ve Framework güvenlik bakım sürümlerini hızlı almak, uygulama kodunu değiştirmeden ciddi risk azaltımı sağlayabilir.
- Fırsat: Java 26 ile G1 ve AOT cache kazanımları, özellikle cold-start ve tail-latency hassas sistemlerde altyapı maliyetini düşürebilir.
- Fırsat: Spring Batch 6 ve Spring Kafka 4.x iyileştirmeleri, özel operasyon kodunu azaltıp framework’e geri dönme fırsatı veriyor.
- Risk:
spring.ssl.bundlegibi declarative güvenlik ayarlarının çalıştığını varsaymak, yanlış güven duygusu yaratıyor. - Risk: OSS desteği bitmiş Spring nesillerinde kalmak, CVE kapatma hızını ve bakım ekonomisini bozuyor.
- Risk: JDK 27’de G1 default değişimi gerçekleşirse küçük pod veya kısıtlı worker davranışı sessizce değişebilir.
- Risk:
4.1.0-RC1gibi release candidate hatlarını, release-train ve transitive dependency kontrolü yapmadan üretime yaklaştırmak gereksiz oynaklık yaratır.
İzlenmesi Gereken Konular
- Spring Boot 4.0.7-SNAPSHOT ve 4.1.0-GA hattı bu güvenlik ve operabilite alanlarında ek sertleştirme getiriyor mu?
- Spring Cloud Gateway 5.0.x / 5.1.x sonrası SSL bundle ve trust-store davranışı için ek advisory veya regression notu çıkacak mı?
- JEP 523 aday durumundan teslim edilmiş özelliğe ilerlerken, küçük heap ve az CPU senaryolarına dair daha somut veri yayınlanacak mı?
- Spring Batch 6 tarafındaki JFR event’lerinin observability platformlarıyla gerçek saha örüntüleri oluşacak mı?
- Spring Kafka 4.1 GA aşamasında share consumer ve KIP-1034 hizasının API şekli korunacak mı?
- Spring Blog releases akışı artık günlük radar için ana izleme noktası haline gelmiş durumda; bunu takip etmek release-train değişimlerini daha erken yakalamaya yardım eder.
Kaynak Bazlı Bulgular
Bulgu 1
- title: Spring Boot 4.0.6 ve 3.5.14, konfigürasyon temelli güvenlik kusurlarını toplu halde kapatıyor
- source: Spring Boot 4.0.6 available now, Spring Boot 3.5.14 available now, CVE-2026-40971, CVE-2026-40972, CVE-2026-40973
- author: Andy Wilkinson / Spring Security advisory team
- date: 23 Nisan 2026
- category: security, operations, runtime-configuration
- tags: spring-boot, ssl-bundle, rabbitmq, elasticsearch, cassandra, devtools, tempdir, prng, actuator, pidfile
- summary: Boot bakım sürümleri, SSL hostname verification, geçici dizin güvenliği, zayıf PRNG, DevTools remote secret ve PID file davranışları gibi doğrudan üretim etkili açıkları kapatıyor.
- why_it_matters: Bunlar estetik bug fix değil; yanlış güvenlik semantiği ve operasyonel zafiyet üreten kusurlar.
- java_spring_relevance: Spring Boot üzerinde çalışan tüm ekipler için çok yüksek; messaging ve dış TLS bağlantıları olan servisler için özellikle kritik.
- actionability: hemen_aksiyon
- impact_level: çok-yüksek
- opportunities: TLS smoke test’leri, config hardening ve upgrade otomasyonu ile güvenlik borcunu hızla azaltmak.
- risks: Yanlış hostname verification, session bilgisi sızıntısı, RCE’ye kadar gidebilen uzak geliştirme kanalları ve zayıf secret üretimi.
- migration_notes: Açık kaynak kullanıcıları en az
4.0.6veya3.5.14seviyesine çıkmalı; daha eski nesiller enterprise hotfix gerektiriyor.
Bulgu 2
- title: Spring Framework 6.2.18 ve 7.0.7, web katmanında üç ayrı CVE kapatırken eski nesillerin OSS desteğinin bittiğini netleştiriyor
- source: Spring Framework 6.2.18 and 7.0.7 Available Now
- author: Stéphane Nicoll
- date: 17 Nisan 2026
- category: security, web, support-policy
- tags: spring-framework, webflux, spring-mvc, multipart, static-resources, cache-poisoning, dos, eol
- summary: WebFlux multipart temp file DoS, static resource cache poisoning ve Windows static resource DoS açıkları kapatıldı; aynı duyuru
5.3.xve6.1.xOSS EOL durumunu da belirginleştirdi. - why_it_matters: Dosya yükleme ve statik içerik yüzeyleri genellikle “yardımcı” görülür; ama saldırı yüzeyi olarak doğrudan internete açıktırlar.
- java_spring_relevance: MVC veya WebFlux kullanan tüm Spring servisleri için yüksek.
- actionability: hemen_aksiyon
- impact_level: yüksek
- opportunities: Static resource ve upload path’leri için daha net güvenlik testleri ve cache davranışı kontrolleri kurmak.
- risks: Uygulama kodu değişmeden DoS veya cache zehirleme etkisine maruz kalmak; OSS desteği bitmiş hatta güvenlik açığıyla kalmak.
- migration_notes: Açık kaynakta kalmak isteyen ekipler desteklenen Framework/Boot nesline geçmeli; aksi durumda enterprise hotfix bağımlılığı oluşur.
Bulgu 3
- title: Spring Cloud Gateway 4.2.0, SSL bundle konfigürasyonunu sessizce yok sayabiliyor
- source: CVE-2026-22750, Spring Cloud Gateway project page
- author: Spring Security advisory team
- date: 9 Nisan 2026
- category: security, cloud, api-gateway
- tags: spring-cloud-gateway, ssl-bundle, gateway, tls, support-policy
- summary:
spring.ssl.bundletanımlı olsa bile Spring Cloud Gateway4.2.0, varsayılan SSL konfigürasyonunu kullanabiliyor;4.2.xhattı da artık açık kaynak destekli değil. - why_it_matters: En tehlikeli kusur türlerinden biri sessiz başarısızlıktır; konfigürasyon doğru görünürken güvenlik davranışı fiilen yoktur.
- java_spring_relevance: Gateway, egress proxy veya merkezi API katmanı kuran Spring Cloud ekipleri için çok yüksek.
- actionability: hemen_aksiyon
- impact_level: çok-yüksek
- opportunities: Gateway TLS davranışını canlı handshake testleri ve sertifika validasyon senaryolarıyla otomatik doğrulamak.
- risks: Yanlış trust-store, yanlış hostname acceptance ve destek dışı release hattında kalma.
- migration_notes: Açık kaynak kullanıcıları için pratik yol
5.0.2veya5.1.1;4.2.xüstü enterprise-only bakım senaryosu olarak düşünülmeli.
Bulgu 4
- title: Java 26, Spring servislerinde startup ve throughput ekonomisini doğrudan etkileyebilecek runtime kazanımları getiriyor
- source: Java 26 for DevOps, JEP 516, JEP 522, JEP 523
- author: Billy Korando / OpenJDK
- date: 2 Mart 2026 ve ilgili JEP güncellemeleri
- category: jdk, performance, operations
- tags: java-26, jdk-26, aot-cache, zgc, g1, gc, startup, tail-latency
- summary: JDK 26, AOT cache’i tüm GC’lerle uyumlu hale getiriyor, G1 write barrier maliyetini düşürerek throughput kazanımı hedefliyor; JDK 27’de G1’in tüm ortamlarda default olması da gündemde.
- why_it_matters: Startup, warmup ve GC davranışı artık yalnız platform takımı meselesi değil; doğrudan Spring servisinin kapasite ve latency profilini etkiliyor.
- java_spring_relevance: Özellikle containerized Spring Boot servisleri, scale-to-zero iş yükleri ve mutasyon yoğun backend’ler için yüksek.
- actionability: planlı_aksiyon
- impact_level: orta-yüksek
- opportunities: Cold-start iyileştirmesi, ZGC ile AOT cache’i birlikte kullanabilme ve mutation-heavy servislerde G1 kazancı.
- risks: Yeni default ergonomilerin küçük pod davranışını değiştirmesi; benchmark yapmadan genel geçer performans varsayımı üretmek.
- migration_notes: Java 26 değerlendirmesi, mevcut JDK 21/25 baseline’ına karşı aynı iş yükünde startup, steady-state ve GC telemetry kıyaslamasıyla yapılmalı.
Bulgu 5
- title: Spring Batch 6, batch operabilitesini JFR ve graceful shutdown ile çerçeve seviyesine taşıyor
- source: Spring Boot 4.0 Release Highlights
- author: Spring portfolio team
- date: 12 Mayıs 2026 itibarıyla güncel release highlights
- category: batch, observability, containers
- tags: spring-batch-6, jfr, sigterm, kubernetes, graceful-shutdown, job-execution
- summary: Batch 6;
JobExecutionveStepExecutionyaşam döngülerini JFR event’i olarak üretiyor, SIGTERM yakalayıp çalışan işleri kontrollü durduruyor ve API yüzeyini sadeleştiriyor. - why_it_matters: Batch workload’ları genellikle scheduler, container restart ve operasyonel gözlemlenebilirlik problemleriyle uğraşır; bu release o acıya doğrudan temas ediyor.
- java_spring_relevance: Batch altyapısı kullanan ekipler için yüksek, diğer ekipler için düşük öncelik.
- actionability: planlı_aksiyon
- impact_level: orta
- opportunities: Düşük overhead prod profiling, daha güvenli pod termination ve daha az özel lifecycle kodu.
- risks: Mevcut shutdown varsayımlarının yeni davranışla test edilmemesi; non-batch ekiplerin bu başlığa gereğinden fazla zaman ayırması.
- migration_notes: Kubernetes veya job scheduler altında çalışan batch işler için SIGTERM senaryoları ve JFR toplama akışı CI/staging’de doğrulanmalı.
Bulgu 6
- title: Spring Kafka 4.1 RC1 ve patch hatları, Kafka Streams hata kurtarma desenlerini resmileştiriyor
- source: Spring for Apache Kafka 4.1.0-RC1, 4.0.5, and 3.3.15 Available
- author: Soby Chacko
- date: 22 Nisan 2026
- category: messaging, resilience, streaming
- tags: spring-kafka, kafka-streams, kip-1034, dlq, share-consumer, group-protocol
- summary:
4.1.0-RC1, Kafka Streams exception handler’larını KIP-1034 ile hizalıyor; share consumer ack mode, async commit ve group protocol gibi alanlarda da daha görünür kontrol sunuyor.4.0.5ve3.3.15ise stabil hatlara ilgili düzeltmeleri geri taşıyor. - why_it_matters: Kafka tarafında en pahalı problemler genelde işlev eklemekten değil, hata akışını doğru modelleyememekten çıkar.
- java_spring_relevance: Kafka ve özellikle Kafka Streams kullanan Spring ekipleri için yüksek.
- actionability: planlı_aksiyon
- impact_level: orta-yüksek
- opportunities: Custom recovery zincirini sadeleştirmek, DLQ davranışını Kafka’nın yeni modeline yaklaştırmak.
- risks: RC hattındaki API’leri erken üretime almak; mevcut custom handler mantığıyla yeni davranışların çakışması.
- migration_notes: Üretim hatları için
4.0.5veya3.3.15tercih edilmeli;4.1.0-RC1ise kontrollü bir compatibility lane’de denenmeli.
Sonuç
Bugünün en değerli sinyali yeni büyük feature duyuruları değil; bakım sürümlerinin artık doğrudan güvenlik ve runtime davranışı taşıması. Spring Boot, Spring Framework ve Spring Cloud Gateway tarafındaki son bulgular, “config doğruysa sistem güvenlidir” varsayımının zayıf olduğunu gösteriyor.
İkinci güçlü sinyal ise JVM tarafında: Java 26 ile startup, warmup ve GC davranışı yeniden platform kararı haline geliyor. Java / Spring ekipleri için yakın vadede en yüksek değer üretecek işler; patch discipline, gerçek TLS doğrulama testleri, Java 26 benchmark’ları ve Batch/Kafka operabilite özelliklerini kontrollü biçimde devreye almak olacaktır.