Skip to main content

vNext v0.0.54: Forge Studio, Incident Takibi ve Çok Kanallı Bildirimler

· 4 min read
vNext Team
Burgan Tech Engineering

vNext platformunun v0.0.54 sürümü yayınlandı. Bu sürümde contributor'ların iş akışını doğrudan etkileyen yeni araçlar, platform genelinde gözlemlenebilirliği artıran incident takip mekanizması ve çok kanallı bildirim desteği öne çıkıyor. Aşağıda, günlük geliştirme deneyiminizi değiştirecek başlıkları özetledik.


vNext Forge Studio artık VS Code Market'te

Bu sürümün en önemli haberi: vNext Forge Studio VS Code Marketplace'de yayınlandı.

Forge Studio; bileşenlerinizi görsel designer üzerinden tasarlayabileceğiniz, sürükle-bırak desteği olan, lokal runtime ve vnext-workflow-cli ile doğrudan entegre çalışan bir geliştirici ortamı. Aynı zamanda bir VS Code extension olarak kurulabiliyor ve masaüstü uygulaması olarak da kullanıma açık.

Öne çıkan özellikler:

  • Quick Runner modülü ile iş akışlarınızı debug ederken anında test edebilirsiniz.
  • Pseudo-UI renderer ile view'larınızı, production render'a gerek kalmadan önizleyebilir ve etkileşim kurabilirsiniz.
  • Tüm yan ürünlerle (CLI, lokal runtime vb.) entegre çalışır; bağlam geçişi olmadan tam döngü geliştirme mümkün.

Detaylar için Forge Studio dokümantasyonuna göz atın.


Instance Incident Takibi

Bir instance execution sırasında hata oluştuğunda platform artık bunu bir incident olarak kayıt altına alıyor. Sadece son hatayı değil, tüm geçmişini ve retry sayısını da saklıyor.

GET /instance/{id} yanıtının metadata.incident alanından erişebilirsiniz:

{
"metadata": {
"incident": {
"hasActiveIncident": true,
"totalCount": 1,
"active": {
"state": "account-type-selection",
"transition": "select-demand-deposit",
"task": "get-instance",
"message": "Input handler failed for GetInstanceData: ...",
"errorCode": "Task:Unknown:get-instance",
"errorLayer": "Task",
"traceId": "06ea6c5c2e7711c77590d32dc2ae9408",
"isResolved": false,
"retryCount": 0
},
"history": [...]
}
}
}

Önceki sürümlerde hata sonrası debugger'da ne olduğunu anlamak için log'lara gitmek gerekiyordu. Artık instance'ın kendisi bir hata geçmişi taşıyor.


NotificationTask: Çok Kanallı Bildirim Desteği

NotificationTask (tip: 10) bu sürümde tam olarak hayata geçirildi. Dapr binding tabanlı altyapısı ile SMS, e-posta, push ve state kanallarına eş zamanlı bildirim gönderebilirsiniz.

{
"key": "notify-status-change",
"version": "1.0.0",
"config": {
"type": "10",
"channels": ["sms", "email"],
"includeStateChannel": true
}
}

Her kanal bağımsız olarak dispatch edilir; bir kanalda hata oluşması diğerlerini durdurmaz. state kanalı platform tarafından yönetildiğinden ayrıca bir mapping scripti gerektirmez. Detaylar için Notification Task dökümanına bakabilirsiniz.


Transition Annotations

Transition tanımlarınıza artık serbest formatlı annotations alanı ekleyebilirsiniz. Client tarafında transition'ları filtrelemek, önceliklendirmek veya UI'da koşullu render etmek için kullanılabilir.

Transition tanımında:

{
"annotations": {
"ui/visibility": "enabled",
"ui/priority": "1"
}
}

Bu alan State function availableTransitions yanıtında aynen iletilir. Sunum tercihlerini sunucu deployment'ı gerektirmeden client'ta yönetmek için kullanışlı.


View Renderer Bilgisi

View tanımlarına renderer alanı eklendi. State function yanıtında da dönüyor; bu sayede UI SDK'nız hangi renderer'ı kullanacağını doğrudan yanıttan okuyabiliyor.

{
"renderer": "react"
}

Desteklenen değerler: pseudo-ui, flutter, angular, vue, react, react-native, native-ios, native-android.


Instance Tablo Alanları: CurrentStateType, CurrentStateSubType, Stage

Instance tablosuna üç yeni alan eklendi: currentStateType, currentStateSubType ve stage. Instance listelerinde durum özetleri için state tanımını her seferinde ayrıca parse etmenize gerek kalmıyor.

stage bilgisini transition ya da start isteğinde body'de gönderebilirsiniz:

{
"stage": "onboarding"
}

Yanıtta metadata.stage olarak dönüyor. Stage, logical state'den bağımsız iş süreci aşamalarını temsil etmek için tasarlandı.


Transition Mapping Davranışı Değişti

Önceki sürümlerde transition mapping çıktısı yalnızca InstanceData'ya yazılıyor, TransitionHistory body'sine ise ham (mapping öncesi) veri aktarılıyordu. Bu sürümden itibaren mapping çıktısı her iki hedefe de yazılıyor. TransitionHistory.body artık wire'a gelen ham veriyi değil, runtime'ın uyguladığı dönüştürülmüş veriyi içeriyor.


Shared Transitions: availableIn Artık Zorunlu Değil

availableIn alanı boş geçildiğinde shared transition otomatik olarak tüm state'lerden erişilebilir hale geliyor. Yeni state ekledikçe listeyi güncelleme zorunluluğu ortadan kalktı.


31 Request Header Fields Too Large Hatası için Çözüm

Büyük authorization token'ları veya çok sayıda correlation header taşıyan istekler Kestrel'in varsayılan limitlerini aşıyorsa, appsettings.json'da aşağıdaki konfigürasyon ile limitleri artırabilirsiniz:

{
"Kestrel": {
"Limits": {
"MaxRequestHeadersTotalSize": 65536,
"MaxRequestHeaderCount": 200
}
}
}

vnext-workflow-cli v1.0.7

CLI'ın yeni sürümü iki pratik iyileştirme getiriyor:

  • wf domain use <NAME> komutu artık terminal'in aktif olduğu dizindeki vnext.config.json dosyasından domain adını otomatik olarak algılıyor.
  • Windows ortamlarında wf alias'ı sistem ile çakışıyordu; vnext alias'ı alternatif olarak eklendi.

Özet

AlanDeğişiklik
AraçlarForge Studio VS Code Marketplace'de yayınlandı
GözlemlenebilirlikInstance'lara incident takip mekanizması eklendi
BildirimlerNotificationTask çok kanallı Dapr binding desteğiyle hayata geçti
Transitionannotations alanı ile client-side filtreleme desteği
Viewrenderer alanı ile UI SDK dispatch bilgisi
InstancecurrentStateType, currentStateSubType, stage alanları
GeçmişTransitionHistory body artık mapped payload içeriyor
Shared TransitionavailableIn artık opsiyonel; boş = tüm state'ler
CLIv1.0.7 — otomatik domain tespiti, Windows vnext alias

Teknik detaylar, bug fix açıklamaları ve issue referansları için v0.0.54 Release Notes sayfasına bakabilirsiniz.


vNext Runtime Platform Team
Mayıs 2026