Ana içeriğe geç

Breaking Changes: v0.0.88

· 2 dakikalık okuma
vNext Team
Burgan Tech Engineering

v0.0.88, custom function çağrılarındaki rol kontrolünü sadeleştirir, EventHook altyapısını kaldırıp tüm distributed event'leri outbox'a taşır ve Execution servisinin container imaj tabanını değiştirir. Aşağıdaki maddeleri sürüm geçişinden önce gözden geçirin.

Breaking Changes

1. Custom function çağrısında function.roles gate'i kaldırıldı

Etkilenen Alan: Custom function invocation — FunctionAccessPolicy (vnext #927)

Önceki Davranış: Bir custom function çağrısı, hem scope (Domain/Flow/Instance) kontrolünden hem de function.roles rol kontrolünden geçmek zorundaydı.

Yeni Davranış: Rol gate'i custom function çağrılarından kaldırıldı — bu artık yalnızca authorize fonksiyonunun sorumluluğu. Scope kontrolü (Domain/Flow/Instance) değişmeden kalır; bu bir call-shape doğrulamasıdır, authorization değil. function.roles hâlâ onurlandırılır, ama artık yalnızca authorize fonksiyonu tarafından değerlendirilir. Yön: daha permissive.

Migration: Yalnızca function.roles'a dayanarak bir custom function'ı role-gate'lediyseniz, bu kontrolü artık authorize fonksiyonuna taşıyın — aksi halde önceden reddedilen bir çağrı artık geçebilir.

2. EventHook altyapısı kaldırıldı — tüm event'ler outbox üzerinden

Etkilenen Alan: IEventPublishHook<T>, IEventHookInvoker, EventHookAttribute, EventHookMode (vnext #927)

Önceki Davranış: Distributed event publishing, transactional outbox'ın yanı sıra bir EventHook mekanizması (IEventPublishHook<T> implementasyonları) üzerinden de özelleştirilebiliyordu.

Yeni Davranış: EventHook altyapısı tamamen kaldırıldı. Her distributed event artık transactional outbox üzerinden gider; event bus yalnızca trace stamping'e indirgendi. Üç subflow terminal event'i (ISubflowTerminalEvent) artık post-commit'te SubflowTerminalRelay ile parent'ı hemen bir komut olarak settle ediyor; Inbox handler'ı ISubItemTerminalGuard ile dedupe edilen durable bir yedek olarak kalıyor. Yön: daha kısıtlayıcı.

Migration: IEventPublishHook<T> implementasyonu yazan bir domain/entegrasyon varsa, bu kod artık çağrılmıyor — event'i outbox'tan (pub/sub aboneliği) tüketecek şekilde yeniden yazın. Ayrıntı için vnext reposundaki docs/runtime/event-publish-modes.md'e bakın.

3. Execution imajının base'i Alpine'den .NET 10 Noble'a geçti

Etkilenen Alan: Execution servisi container imajı (vnext #921)

Önceki Davranış: Execution imajı Alpine tabanlıydı (musl libc).

Yeni Davranış: Execution imajı, Python task desteğinin glibc/manylinux wheel'lerini tüketebilmesi için .NET 10 Noble (Debian tabanlı, glibc) base image'ına geçti. Yön: davranış değişikliği.

Migration: Execution imajını extend eden veya Alpine'e özgü paket/araç varsayımı yapan (ör. apk ile paket kuran) custom Dockerfile'ları/CI adımlarını Debian/Noble araçlarına (apt) göre güncelleyin. İmaj boyutu ve base katmanları değişti; kayıtlı SBOM/imza/attestation süreçleri buna göre güncellenmiştir.


Bu sürümün tüm özellikleri için Release v0.0.88 notuna bakın.

vNext Runtime Platform Team