Ana içeriğe geç

Sürüm 1.18.2.0

Yayın Tarihi: 14 Eylül 2026 Yayın Tipi: Kararlı Önceki numarası: 1.18.16 (imaj tag'i staging-1.18.16)

Flow başına eşzamanlılık, geri basınç (back-pressure) ve sınırlı teslimat yeniden denemeleriyle OData sayfalı ve delta okumaları; bununla birlikte isteğe bağlı CSRF token işleme, yüklenen bir EDMX dokümanından entity okuma ve bir dizi OData connector düzeltmesi.

Backend Server​

Yeni Özellikler​

  • OData sayfalı okuma (paged read): Bir OData start node'u artık büyük bir entity set'i tek bir istekle değil, sayfa sayfa okuyabilir. Server-driven modda connector, servisin döndürdüğü sonraki sayfa bağlantılarını izler (OData v2/v3 ve v4); client-driven modda $top/$skip ile sayfalar ve bunun için bir sayfa boyutu ile deterministik bir $orderby gerekir. Her sayfa flow'a ayrı bir mesaj olarak girer; MIP_ODATA_* header'ları çalıştırma kimliğini (run id), sayfa numarasını ve son sayfa işaretini (MIP_ODATA_LAST_PAGE) taşır.
  • Sayfalı çalıştırmalar için koruma önlemleri: İsteğe bağlı Max Pages değeri tek bir çalıştırmayı sınırlar ve sınıra takılan bir çalıştırma hiçbir sayfayı son sayfa olarak işaretlemez. Başarısız bir sayfa isteği, her denemeden önce yetkilendirme yenilenerek en fazla üç kez denenir; hâlâ okumakta olan bir çalıştırmanın üzerine bir sonraki zamanlanmış çalıştırma başlatılmaz ve hiç kayıt bulmayan bir çalıştırma mesaj üretmez. Tanınmayan bir OData sürümü veya paging modu, geçersiz bir sayfa boyutu ya da beklenen sayfalama yapısını içermeyen bir yanıt, boş sonuç gibi değerlendirilmek yerine çalıştırmayı açık bir hatayla sonlandırır.
  • Saklanan watermark ile delta okuma: Delta etkinleştirildiğinde her çalıştırma, yapılandırılan delta alanına (datetime, datetimeoffset veya ISO biçimi) bir filtre ekleyerek yalnızca son başarılı çalıştırmadan bu yana değişen kayıtları okur. Watermark flow başına saklanır, yalnızca çalıştırma başarıyla tamamlandığında ilerler ve asla geriye gitmez. Undeploy ve yeniden deploy sırasında korunur, flow silindiğinde kaldırılır; ilk çalıştırmada alt sınır yoktur ve tüm set okunur.
  • Flow başına Concurrent Consumers: Deploy edilmiş her OData flow'u artık kendi sayfalarını, tüm OData flow'ları için ortak tek bir ayar yerine kendi start node'unda belirlenen eşzamanlı consumer sayısıyla tüketir. Tek consumer ile sayfalar kesin sırayla işlenir ve hedef aynı anda yalnızca bir yazıcı görür; daha yüksek bir değer, sıralamadan ödün vererek işlem hacmini artırır. Bu abonelikler backend yeniden başlatıldıktan sonra otomatik olarak yeniden kurulur.
  • Okuyucu, consumer'larını bekliyor: Okuyucu bir sayfayı teslim etmeden önce kendi flow'una ait kaç sayfanın hâlâ beklediğini kontrol eder ve bu sayı flow'un Concurrent Consumers değerinin on katına ulaştığında sayfa çekmeyi duraklatır. Böylece büyük bir okuma, message broker'da birikmek yerine hedefin kabul ettiği hızda ilerler.
  • Max Retry ile sınırlı teslimat yeniden denemeleri: After Flow commit stratejisini kullanan sayfalı okumalarda, teslim edilemeyen bir sayfa Retry Delay aralığıyla, yapılandırılan Max Retry deneme sayısına kadar yeniden denenir. Sınıra ulaşıldığında sayfa, hedefe ulaşılamadığını belirten bir mesajla ERROR olarak işaretlenir ve kalan verinin kaynakta kalması için okuma duraklatılır. Bir sayfa yeniden teslim edildiğinde — başarısız sayfanın Message Monitoring'deki Trigger Message ile yeniden tetiklenmesi dahil — okuma otomatik olarak devam eder ve korunan aralık baştan sona yeniden okunur; flow'u yalnızca yeniden deploy etmek duraklatmayı kaldırmaz. Max Retry boş veya sıfır olduğunda sayfa saklanır ve teslim edilene kadar sınırsız olarak yeniden denenir.
  • OData yazma işlemleri için isteğe bağlı CSRF token alma: Seçenek bir OData node'unda etkinleştirildiğinde connector, yazma işlemlerini CSRF token ile koruyan servislerin gerektirdiği şekilde, POST, PUT, PATCH, MERGE ve DELETE isteklerinden önce servisten bir CSRF token ve oturum cookie'lerini alır. Seçenek varsayılan olarak kapalıdır ve kapalıyken ek bir istek yapılmaz.
  • Yüklenen bir EDMX dokümanından entity'ler: Bir OData node'unun entity listesi artık canlı servis yerine yüklenen bir $metadata (EDMX) dokümanından okunabilir; bu, servise tasarım sırasında erişilemediği durumlarda işe yarar. EDMX seçimi flow ile birlikte kaydedilir.

Hata Düzeltmeleri​

  • Kimlik doğrulamalı OData polling çalışıyor: Basic veya OAuth2 kimlik doğrulamasıyla yapılandırılmış bir OData start node'unda her poll, istek gönderilmeden önce "Credential not found." hatasıyla başarısız oluyordu. Artık node'da seçilen credential kullanılır.
  • MERGE ve DELETE istekleri servise ulaşıyor: MERGE işlemleri (OData v2/v3) istek gönderilmeden önce başarısız oluyordu; artık X-HTTP-Method-Override header'ı ile POST olarak gönderilir. DELETE istekleri artık tetikleyen mesajın body'sini taşımaz; bu durum servisin isteği reddetmesine yol açabiliyordu.
  • Atom content type tanınıyor: Atom content type ile yapılandırılmış flow'lar "MIME type may not be blank" hatasıyla başarısız oluyordu. Content type artık büyük/küçük harf farkından bağımsız olarak çözümlenir.
  • "Get Entities and Fields", Message Headers'ı gönderiyor ve gerçek hatayı bildiriyor: Designer'dan yapılan metadata isteği artık node'un Message Headers satırlarını (Constant ve Expression) içerir; böylece $metadata'yı API key gibi bir header ile koruyan servisler okunabilir. İstek başarısız olduğunda yanıt, ilgisiz bir veritabanı hatası yerine gerçek nedeni — örneğin servisin döndürdüğü HTTP durum kodunu — belirtir; yetkilendirme tanımlanmamış bir node da artık dahili bir hataya neden olmaz.
  • OData Timeout çağrının tamamını sınırlıyor: Bir OData node'unda yapılandırılan Timeout daha önce yalnızca bağlantının kurulmasını sınırlıyordu; bu yüzden bağlantıyı kabul edip hiç yanıt vermeyen bir servis çağrıyı süresiz açık tutuyordu. Timeout artık hem start node'da hem connector node'da yanıtın beklenmesi için de geçerlidir ve böyle bir çağrı okuma zaman aşımıyla (read timeout) başarısız olur. Yükseltmeden önce OData Timeout değerlerinizi gözden geçirin: yapılandırılan Timeout'tan gerçekten daha uzun süren bir çağrı, eskiden beklediği yerde artık başarısız olur.
  • Sıkıştırılmış OData yanıtları çözülüyor: Connector artık yalnızca gzip ve deflate kodlamalarını ister ve bu tür yanıtları açar; böylece payload'lar flow içinde doğru okunur ve Message Monitoring'de okunabilir görünür. Daha önce desteklenmeyen bir sıkıştırmayla yanıt veren bir servis, çalıştırma başarılı olarak raporlanırken kayıt içermeyen sayfalara yol açabiliyordu.
  • OData polling yapılandırılan message broker'ı kullanıyor: OData start node'u, poll ettiği veriyi platformun yapılandırılmış broker bağlantısı yerine yerel makinedeki bir broker adresine gönderiyordu; bu nedenle container kurulumlarında polling takılabiliyordu. Artık diğer connector'lar gibi yapılandırılan bağlantıyı kullanır.
  • OData polling yeniden deploy ve yeniden başlatma sonrasında sürüyor: Düzenlenmiş bir OData start flow'unu yeniden deploy etmek, flow'u eski bir zamanlamayla bırakabiliyor ve flow bir daha poll etmiyordu. Ayrıca backend yeniden başlatıldığında, deploy edilmiş OData flow'larının polling zamanlamaları başka bir deploy bunları yeniden kurana kadar kayboluyordu. Zamanlamalar artık yeniden deploy sırasında yeniden oluşturulur ve açılışta geri yüklenir.
  • Trigger Message, OData polling kayıtlarında çalışıyor: Bir OData polling kaydının Message Monitoring'den yeniden tetiklenmesi, zamanlanmış çalıştırmalar başarılı olurken endpoint çözümleme hatasıyla başarısız oluyordu. Yeniden tetikleme artık zamanlayıcının yaptığı gibi temiz, yeni bir çalıştırma başlatır.
  • $batch istekleri doğru ayrılmış bir URL kullanıyor: Batch URL'i artık .../EntitySet/$batch biçiminde oluşturulur; daha önce $batch öncesindeki / ayırıcısı eksikti.
  • Geç gelen deploy olaylarında zamanlanmış job'lar temizleniyor: Zaten undeploy edilmiş bir flow için bir deploy olayı geldiğinde flow'un zamanlanmış job'ı kaldırılmıyordu. Artık silinir.

Frontend Server​

Yeni Özellikler​

  • OData sayfalı okuma, delta, yeniden deneme ve CSRF ayarları flow ile birlikte saklanıyor: Yeni OData ayarları — paging modu, sayfa boyutu, max pages, delta alanı ve tipi, commit stratejisi, Max Retry, CSRF seçeneği ve EDMX seçimi — flow ile birlikte kaydedilir ve backend'e aktarılır.
  • Message Headers, entity sorgusuna iletiliyor: "Get Entities and Fields" isteği artık node'un Message Headers satırlarını kabul eder ve backend'e iletir; böylece $metadata'yı okumak için header gerektiren servisler sorgulanabilir. Parametre isteğe bağlıdır; mevcut çağrılar etkilenmez.
  • EDMX resource'ları: Yüklenen bir EDMX dokümanı bir flow resource'u olarak ele alınır ve WSDL resource'larıyla aynı şekilde, aynı developer/admin erişimiyle, içeriğiyle birlikte listelenebilir. Metadata dokümanı backend'e istek body'sinde gönderilir; böylece büyük dokümanlar da kabul edilir.

1.18.2.0, kararlı bir sürümdür. Önceki sürüm: 1.18.1.10