FixPoint Changelog

Müşteri kurulumlarında görünen davranış değişiklikleri. Daha eski sürümler için git geçmişine bakın.

v0.9.2 — 2026-05-23

ErpDesk → FixPoint veri taşıma (otomatik)

Eski sürümden güncellenen müşterilerin yerel ayarları, kimliği ve önbellekleri yeni FixPoint klasörlerine kendiliğinden taşınır. Eski klasör rollback için yerinde kalır; ek bir işlem gerekmez.

v0.9.1 — 2026-05-23

Görsel kimlik FixPoint olarak yenilendi

v0.9.0 — 2026-05-23

ErpDesk → FixPoint marka geçişi

Ürünün adı FixPoint olarak güncellendi. Bu sürüm sessiz bir altyapı geçişiydi; kullanıcı davranışında değişiklik yok. Önceki kurulumlar bu sürümden sonra v0.9.1 + v0.9.2 ile görsel ve yerel veri taşımayı tamamladı. Müşterinin ERP sistemine entegrasyon (IErpAdapter ailesi, ErpProduct alanı) ve erp.tr alan adı korundu.

v0.8.6 — 2026-05-23

Capture observability + stream heartbeat (v0.8.x serisi kapanışı)

v0.8.x patch serisi diagnostics + stability + capture-side resilience ekseninde yedi release ile tamamlanıyor. Bu son patch operasyonel görünürlük katmanı:

Test: 173 toplam (+3 yeni ResilientScreenCapture test'i: ActiveEngine baseline, Start emits engine label, swap emits new engine label).

v0.8.x serisi özeti (2026-05-22 → 2026-05-23, 7 release)

ReleaseTemaÖz
v0.8.0Anonim peer connect + v0.8 featuresFaz D-1, altyazı dil seçici, monitor topology, caption history, KVKK retention API, Mikro/Netsis ERP adapter
v0.8.1Native viewer UX + stream stabilityF11 fullscreen, 📊 stats overlay, stub close, TR loading copy, WS reconnect + ping, encode-error rate limit
v0.8.2Connect-failure UX (C section)DiagnosticLogger.GetConnectAdvice — DNS/refused/timeout/tls/not-ws/http için somut Türkçe yönlendirme
v0.8.3Diagnostics complete (D section)ConnectClassifier Shared'a taşındı (Console + Agent ortak); /api/diag/server; saat skew uyarısı
v0.8.4TLS pinning + UI polishexpectedTlsThumbprint MITM kesin tespiti; troubleshoot hyperlink; .error pre-line
v0.8.5Capture mid-session resilienceResilientScreenCapture — DXGI fatal'da otomatik GDI fallback; SelectMonitor swap'tan korunuyor
v0.8.6Capture observabilityActiveEngine + 60 sn heartbeat + boot banner — operasyonel görünürlük

v0.9 zemini: WebRTC P2P data channel, MAUI mobile teknisyen viewer, Linux/Android capture ilk implementasyon, ek server-side audit retention sweep perf (batch delete + index review).

v0.8.5 — 2026-05-23

Capture: DXGI → GDI otomatik fallback (mid-session resilience)

Önceki davranış: agent DXGI ile başlar, RDP tespit edilirse veya init başarısız olursa GDI'ya düşerdi — ama mid-session DXGI çökerse (sürpriz UAC prompt, secure-desktop transition, GPU sürücü hıçkırığı, monitor takıp-çıkarma kombinasyonu) capture loop sonsuza dek "recreate-failed" log'lardı ve viewer donmuş kare gösterirdi. Müşterinin tek çıkış yolu agent restart'tı.

Yeni davranış: ResilientScreenCapture wrapper'ı primary DXGI'yi izliyor; DXGI 20 ardışık frame failure'da "fatal:..." status'u raise ediyor, wrapper bunu yakalayıp arka plan task'ında DXGI'yi dispose edip GDI'yi spin-up'lıyor. SelectMonitor seçimi swap boyunca korunuyor (operatör monitor 2'deyken DXGI ölürse, GDI da monitor 2'de açılır). Stream publisher ve viewer için bu görünmez bir geçiş — IScreenCapture event sequence aynı kalıyor.

Hem MainWindow.xaml.cs (kullanıcı session'ı) hem Service/CaptureWorker.cs (service-mode unattended) sarmalayıcıyı kullanıyor.

Test: 170 (önceki 33'e +137 — toplam suite — tüm var olan testler dahil; bu dalga +5 ResilientScreenCaptureTests ekledi: normal pass-through, fatal triggers swap exactly-once, post-swap events come from fallback, selected monitor persists, second-fatal-on-fallback no re-swap).

v0.9 adayları: WebRTC P2P data channel, MAUI mobile teknisyen viewer, Linux/Android capture ilk implementasyon.

v0.8.4 — 2026-05-23

TLS sertifika fingerprint pinning (MITM kesin tespiti)

/api/diag/server payload'una opsiyonel expectedTlsThumbprint alanı eklendi (SHA-256, uppercase hex, separator-yok). Operatör appsettings.Production.json'da FixPoint:ExpectedTlsThumbprint ile pinleyebiliyor. Agent kendi HTTPS handshake'i sırasında SocketsHttpHandler.SslOptions.RemoteCertificateValidationCallback ile karşı tarafın cert thumbprint'ini gözlemleyip server'ın advertise ettiği ile karşılaştırıyor:

Thumbprint normalize ediliyor (: - space karakterleri ve case temizleniyor) — operatör Windows cert dialog'undan kopyala-yapıştır yapabilsin diye.

UI polish

Test

33 testi geçiyor (önceki 23'e 10 yeni HealthCheckerThumbprintTests):

v0.9 adayları: WebRTC P2P data channel, Mobile MAUI teknisyen viewer, Linux/Android capture ilk implementasyon.

v0.8.3 — 2026-05-23

D — Tanılama tamamlanıyor (Console + sunucu probe endpoint'i)

v0.8.2 C-section sadece müşteri Agent tarafını zenginleştirmişti; teknisyen Console tarafı hâlâ ham exception bubble ediyordu. Bu dalga eksiği tamamlıyor:

``json { "identity": "FixPoint", "serverVersion": "0.8.3", "latestAgentVersion": "0.8.3", "minimumAgentVersion": "0.6.0", "serverTimeUtc": "2026-05-23T...", "downloadUrl": "https://rdp.erp.tr/download/agent" } `` Captive portal / yanlış host şüphesinde agent'ın "evet, gerçekten FixPoint sunucusuna varıyorum" diye doğrulayabilmesi için. Auth gerektirmiyor (agent'ın henüz kimliği yok); secret içermiyor. GET + HEAD destekli (monitoring probe'ları için).

Test: 23 ConnectAdvice testi geçiyor (önceki 17'ye 6 yeni: Shared classifier null-logHint fallback, custom logHint, ve Shared↔wrapper drift guard). v0.9 adayları: WebRTC P2P data channel; Mobile teknisyen viewer; TLS sertifika fingerprint pinning (D2'nin advanced phase'i — MITM kesin tespiti).

v0.8.2 — 2026-05-23

C — Bağlantı tanılama UX'i ("Bağlanamadı, X / lütfen Y")

Önceden bir agent sunucuya bağlanamadığında ekrana sadece "DNS bulunamadı" gibi kısa bir hata yazıyordu — müşteri ne yapacağını bilemiyordu. Şimdi her sınıflandırma kodu için somut yönlendirme sunuluyor.

Ayrıca boot banner'a sistem proxy varlığı eklendi (system proxy: configured=true/false). Kurumsal hostname leakage olmasın diye proxy URL'i log'a basılmıyor — sadece "yapılandırılmış mı?" boolean'ı.

Bu enriched mesaj agent.log'a yazılan teknik detayı ezmiyor, kullanıcıya gösterilen satırın altına "→ {advice}" şeklinde ekleniyor. Operatör log'u her zaman tam exception zinciri ile birlikte bulur.

Test: tests/FixPoint.AgentService.Tests/ConnectAdviceTests.cs — 7 testle her code → advice cümlesi pin'lendi. v0.8.3+ adayları: TechClient (teknisyen tarafı) connect path'i için aynı enriched UX; /api/diag/connect server endpoint'i (TLS fingerprint + identity yanıtı).

v0.8.1 — 2026-05-23

A — Native viewer UX

B — Kararlılık & güvenilirlik

v0.8.0 — 2026-05-22

Faz D-1 — anonim AnyDesk-tarzı eşler arası bağlantı

Bağlan diyaloğunda kullanıcı adı + parolayı boş bırakırsanız, native viewer teknisyen kimliği olmadan açılır. Bunun yerine hedef bilgisayardaki müşterinin onay diyaloğu kontrol noktası olur — AnyDesk'in "ID yaz, karşı taraf izin versin" akışıyla birebir. KVKK audit'te bu seanslar peer:{çağıran-9-haneli-id} formatında etiketlenir; klasik teknisyen seansları aynen önceki gibi peer: prefix'i olmadan kayda geçer, sorgu/filtre net.

v0.8 #1 — Altyazı hedef dil seçici

Native viewer toolbar'ında 🌐 dropdown: tr/en/de/fr/es/de/it/ja/zh seçilir, sunucu o anki kullanıcı için FixPoint Translate'i o dilde çağırır. Multilingual çağrı merkezi senaryoları için (ör. TR konuşan müşteri + EN konuşan uzman) anlık çift yönlü altyazı.

v0.8 #2 — Mid-session monitor topology refresh

Müşteri seans sırasında ikinci ekranı taksa veya çıkarsa, agent yeni listeyi sunucuya yansıtır; teknisyenin monitor picker dropdown'ı kendiliğinden tazelenir. Önceden Bağlan'ı kapatıp tekrar açmak gerekiyordu.

v0.8 #3 — Altyazı geçmişi paneli

Native viewer'ın sağında kayar caption history sidebar: o seans boyunca söylenenler kronolojik liste halinde, partial/final ayrımı korunarak. Kaydırılır, kopyalanır.

v0.8 #4 — Linux + Android ekran paylaşımı scaffold'u

src/FixPoint.Agent.Linux/Capture/ ve src/FixPoint.Agent.Mobile/Capture/ projeleri eklendi. Henüz boş iskelet — PipeWire portal / X11 / MediaProjection sarmalları next sprint için yapı koyuldu. Windows agent değişmedi.

v0.8 #5 — KVKK audit retention API + manuel sweep

Yönetici tarafında yeni endpoint'ler: GET /api/admin/audit/retention (kaç gün, kaç kayıt, son sweep), POST /api/admin/audit/retention/sweep (manuel tetikle). Otomatik nightly sweep'in ne yaptığı, kaç satır sildiği denetlenebilir hale geldi.

v0.8 #6 — Faz C kod temizliği

AgentSettings.UseNativeViewer opt-in bayrağı kaldırıldı (native viewer tek path), AgentSettings.Autostart ölü alanı kaldırıldı (Faz B sonrası kullanılmıyordu). Public davranışta değişiklik yok, ileride bakım yükünü azaltır.

v0.8 #7 — Mikro & Netsis ERP adapter'ları

Daha önce stub olan MikroErpAdapter ve NetsisErpAdapter artık gerçek REST entegrasyonlu: ticket fetch (GET /ws/tickets/{id}) + session not write-back (POST /ws/tickets/{id}/notes). Tenant URL'i ve API token'ı per-partner ayardan okunuyor; eski Logo adapter ile aynı kontrat. Test coverage: MikroErpAdapterTests, NetsisErpAdapterTests.

SEO & paylaşım önizleme

Customer-facing UX (Bağlan paneli)

v0.7.6 — 2026-05-22

Markalama — "Agent / Ajan" yerine "FixPoint Destek"

UX sadeleştirme (müşteri ana ekranı)

Native viewer — WebView2'nin yerine saf WPF (Faz C)

Teknisyen tarafı outbound viewer artık Edge runtime bağımlılığı olmadan, FFmpeg.AutoGen ile direkt H.264 decode + WriteableBitmap render üzerinden çalışıyor. WebView2 paketi (Microsoft.Web.WebView2) tamamen kaldırıldı. Web tarafı (ud.erp.tr Session.razor + viewer.js) hiç dokunulmadı — tarayıcıdan teknisyen bağlanma yolu paralel olarak aynı protokolle çalışmaya devam ediyor.

Üretim hatası düzeltildi — mikrofon sesi

StreamFraming.AudioHeaderSize 4 byte eksik hesaplanmış (seq alanı sayılmamış). PackAudioPcm her seferinde ArgumentException fırlatıyordu, AudioBridge'in catch bloğu sessizce yutuyordu. Hiçbir önceki sürümde mikrofon sesi wire'a çıkmıyordu — push-to-talk şimdi gerçekten çalışıyor.

Dağıtım — Portable (MSI kaldırıldı)

Tanıtım sayfası

Geliştirici tarafı

v0.7.5 — 2026-05-19

Android — UI polish (BETA v0.1.1)

Düzeltmeler

Operasyon

Altyapı — SQL Server desteği (opt-in)

v0.7.4 — 2026-05-18

Yeni platformlar (BETA v0.1)

Operasyon

v0.6.x — 2026-Q2

Yeni özellikler

Güvenlik

Operasyon

Geliştirici tarafı

v0.5.x — önceki