Değişiklikler​


- Dahili tail desteğiyle canlı paket yakalama özelliği eklendi. #3835
GUI
- Herhangi bir değişiklik yapılmadı.

Sunucu
  • web-ui v3.1.0a4 sürümü pakete dahil edildi (bundle).
  • Örnek yapılandırmaya jwt_refresh_token_expire_minutes değişkeni eklendi.
  • Silinen web-ui dosyaları git'ten kaldırıldı.
  • .dockerignore dosyasının kendisini yoksayması sağlandı.
  • Yapılan bir yazım hatası (typo) nedeniyle gözden geçirilerek ortam değişkenlerine (env) taşındı.
  • DOCKERHUB_ORG depo değişkeni varsayılan değere (defaulted) ayarlandı.
  • Birleştirmeden (merge) sonra 2.2 sürümüne ait API dokümanları kaldırıldı.
  • GitHub Actions iş akışları (workflows) güncellendi.
  • xpra 6.5 sürümü nedeniyle bozulan web-wireshark docker derlemesi düzeltildi.
  • CI (Sürekli Entegrasyon) süreci, [ai-copilot,dev] yerine [ai-features,dev] paketini kuracak şekilde güncellendi.
  • Yapay zeka özellikleri (AI Copilot + MCP), [ai-features] ekstra paketi aracılığıyla isteğe bağlı hale getirildi.
  • docs/features/ dizini altına yenileme belirteci (refresh token) mekanizması dokümantasyonu eklendi.
  • Rota kimlik doğrulama testinde (route auth test) izin verilen genel uç noktalar (public endpoints) listesine /refresh eklendi.
  • Durumsuz (stateless) JWT yenileme belirteci (refresh token) mekanizması eklendi.
  • Proje/düğüm/bağlantı (project/node/link) işleyici testleri eklendi: listeleme, getirme, oluşturma, silme, başlatma, durdurma, askıya alma, yeniden yükleme, konsol, güncelleme ve alanları kapsayan toplam 39 test.
  • MCP araç parametre tutarlılık testleri eklendi.
  • appliance_install işlevi düzeltildi: version parametresi eklendi.
  • Dokümanlara koordinat sistemi notu eklendi.
  • node_create x/y parametrelerinde tuval koordinat sistemi (canvas coordinate system) belgelendi.
  • Docstring güncellendi: toplu işlem eşzamanlılığı (batch concurrency) 10'dan 100'e çıkarıldı.
  • Kullanılmayan time içe aktarması (import) kaldırıldı.
  • _normalize_link_nodes işlevinde nodes[0] erişiminden önce liste türü kontrolü eklendi.
  • Oluşturma işleyicilerine (create handlers) alan türü doğrulaması (fields type validation) eklendi.
  • O(1) zaman karmaşıklığında port kaldırma işlemi için pop(0) yerine pop() kullanımına geçildi.
  • Kod incelemesindeki (review) sorunlar düzeltildi: key_prefix uzunluğu, sayı doğrulaması, WAL günlüğü, zaman aşımı yorumu ve gereksiz geçici değişken kaldırıldı.
  • Düzeltme: TemplateUsage'dan gelen 'name' parametresinin add_node_from_template işlevine aktarılması sağlandı.
  • Kullanılmayan içe aktarmalar (logging, log, select) kaldırıldı.
  • Bağlantı oluşturulduktan sonra tüketilmeyen önceden ayrılmış UDP portları için uyarı eklendi.
  • server.py dosyasındaki ara yazılımla (middleware) ilgili FIXME yorumu kaldırıldı.
  • Araç adıyla eşleşmesi için device_command_run_handler işlevi device_show_run_handler olarak yeniden adlandırıldı.
  • Netlik sağlamak adına device_command_run işlevi device_show_run olarak yeniden adlandırıldı.
  • device_command_run işlevindeki KeyError('commands') hatası düzeltildi: Araç açıklaması show_commands beklerken arka uç commands bekliyordu.
  • _run_handler_sync zarfıyla eşleşmesi için template_list dönüş türü açıklaması (type annotation) düzeltildi.
  • Performans optimizasyonu dokümantasyonu eklendi.
  • MCP hizmet dokümanları güncellendi: API anahtarı biçimi, kimlik doğrulama akışı, araç parametreleri ve eşzamanlılık.
  • HTTP bağlantı havuzu (connection pool) 500/1000 değerlerine yükseltildi.
  • BATCH_MAX_WORKERS ve Havuz (Pool) eşzamanlılığı 20'den 100'e çıkarıldı.
  • projects.py dosyasındaki son zamanlama kalıntısı (timing artifact) kaldırıldı.
  • Kalan ölü zamanlama değişkenleri ve içe aktarmaları kaldırıldı.
  • Veritabanı ön ısıtması (database warmup) kaldırıldı (etkisiz olduğu kanıtlandı - asıl darboğazın olay döngüsünü engelleyen bcrypt olduğu anlaşıldı).
  • Tüm zamanlama ve hata ayıklama (debug) günlükleri temizlendi.
  • Bellek optimizasyonu için en iyi içe aktarma doğrulama uygulaması (import validation best practice) eklendi.
  • Düzeltme: Eksik UUID içe aktarmaları eklendi.
  • API anahtarı kimlik doğrulamasında ham anahtar döndürmek yerine yeni bir JWT oluşturulması sağlandı.
  • API anahtarı kimlik doğrulaması optimize edildi: UUID gömülü anahtar biçimi sayesinde O(1) arama (lookup) sağlandı.
  • Düzeltme: Olay döngüsünün (event loop) engellenmesini önlemek için bcrypt.checkpw işlemi iş parçacığı havuzuna (thread pool) kaydırıldı.
  • API anahtarı kimlik doğrulama yoluna zamanlama eklendi ve api_keys sayısı günlüğe kaydedildi.
  • İşletim sistemi sayfa önbelleğini (page cache) ısıtmak için SELECT 1 ön ısıtması, tam veritabanı dosyası okuma işlemiyle değiştirildi.
  • İşleyici öncesindeki (pre-handler) 6 saniyelik gecikmeyi tespit etmek için kimlik doğrulama bağımlılık zincirine zamanlama günlükleri eklendi.
  • get_template işlevine ayrıntılı zamanlama eklendi: yürütme (execute) ve getirme (fetch) süreleri ayrıldı.
  • İlk API isteğindeki 8 saniyelik soğuk başlatma (cold-start) gecikmesini önlemek için başlangıçta veritabanı bağlantı havuzu ön ısıtmaya tabi tutuldu.
  • Düzeltme: Asenkron uyumluluk için WAL PRAGMA'sı Engine sınıfı yerine sync_engine üzerinde kaydedildi.
  • Veritabanı sorgu darboğazını belirlemek için get_template işlevine zamanlama günlükleri eklendi.
  • Yavaş istekleri (>1s) [CTRL-TIMING] önekiyle günlüğe kaydetmek için zamanlama ara yazılımı (timing middleware) eklendi.
  • Düzeltme: compute.py zamanlama günlüğündeki _time değişkeni time olarak düzeltildi.
  • Denetleyici (controller) create_node akışına [CTRL-TIMING] günlükleri eklendi.
  • Düzeltme: Üst düzey template_id'nin varsayılan olarak çalışması için template_id toplu mod işleyicisine (batch mode handler) aktarıldı.
  • MCP düğüm oluşturma ve HTTP istemcisine ayrıntılı zamanlama günlükleri eklendi.
  • Yapay zeka (AI) için açıklama içeren fields (alanlar) filtresi template_list aracına eklendi.
  • Düzeltme: Eksik olan _filter_link_response işlevi eklendi.
  • Şablondan düğüm oluştururken name parametresinin denetleyici API'sine aktarılması sağlandı.
  • Net hata mesajları içeren kompakt bağlantı biçimi doğrulaması eklendi.
  • Belirteç (token) kullanımını azaltmak için bağlantı düğümü girişlerine kompakt dizi biçimi (compact array format) eklendi.
  • link_create aracına fields (alanlar) filtresi eklendi.
  • md5sum önbellek yazma hatası günlük seviyesi hatadan (error) uyarıya (warning) düşürüldü.
  • AI için node_create araç açıklamasına fields (alanlar) filtresi eklendi.
  • MCP create_node optimize edildi: Kalıtım yoluyla alınan template_id ve varsayılan alanlar filtresi desteklendi.
  • MCP HTTP istemci zaman aşımı süresi 10 saniyeden 30 saniyeye çıkarıldı.
  • Eşzamanlı API istekleri altındaki 'database is locked' (veritabanı kilitli) hatalarını düzeltmek için SQLite WAL modu etkinleştirildi.
  • Gereksiz alt süreç (subprocess) çağrılarından kaçınmak için görsel yolu başına IOU görseli varsayılan değerleri önbelleğe alındı.
  • Düğüm ve bağlantı oluşturma eşzamanlılığı 5'ten 20'ye çıkarıldı.
  • Düzeltme: Doğru application_id ataması için IOU kilit optimizasyonu geri alındı ve IOU düğüm oluşturma işlemi sıralı (serialize) hale getirildi.
  • Performans: Paralel bağlantı oluşturma ve toplu UDP port tahsisi ile proje açılış süresi hızlandırıldı.
  • özellik: link_delete/link_reset işlevlerine toplu link_ids desteği, link_list işlevine fields filtresi eklendi.
  • özellik: link_list işlevine fields filtresi eklendi.
  • özellik: node_delete işlevine toplu node_ids desteği eklendi.
  • düzeltme: node_console WebSocket URL'sindeki http şeması ws şemasına dönüştürüldü.
  • özellik: link_capture_download işlevine toplu link_ids desteği eklendi.
  • özellik: link_capture_start/stop işlevine toplu link_ids desteği eklendi.
  • düzeltme: Kimlik doğrulama sırasında kullanıcı adı gns3_ctx içinde saklanacak ve kısa ömürlü indirme JWT'leri için kullanılacak şekilde ayarlandı.
  • düzeltme: pcap indirme işlemi için bağımsız ve kısa ömürlü JWT oluşturulması sağlandı.
  • geri alma: tools_v2 içindeki _configs_map değişiklikleri kaldırıldı (artık şablon işleyici tarafından yönetiliyor).
  • düzeltme: _configs_map içindeki yinelenen device_names için komutlar birleştirildi.
  • düzeltme: Şablon parametresinin device_config/command işleyicilerine fiilen aktarılması sağlandı.
  • düzeltme: Araç türü başına Jinja2 şablon commands_field alanı düzeltildi.
  • özellik: device_command_run işlevine Jinja2 şablon desteği eklendi.
  • özellik: device_config_send işlevine Jinja2 şablon desteği eklendi.
  • özellik: node_start/stop/reload/suspend işlevlerine toplu node_ids desteği eklendi.
  • özellik: appliance_list işlevine fields filtresi eklendi.
  • özellik: node_list işlevine fields filtresi eklendi.
  • özellik: denetleyici Node şeması alanlarıyla eşleşen node_get fields filtresi eklendi.
  • düzeltme: İstemci bağlantısı kesildiğinde projelerin açık kalması için project_create üzerinde auto_close=False olarak ayarlandı.
  • özellik: node_create ve link_create işlevlerine toplu mod (batch mode) desteği eklendi (paralel, maksimum 10 çalışan).
  • düzeltme: Kısa ömürlü JWT oluşturmak yerine doğrudan API anahtarının aktarılması sağlandı.
  • özellik: API anahtarı yaşam döngüsü eklendi — iptal etme/geri yükleme/silme.
  • düzeltme: revoke_api_key işlevi delete_api_key olarak yeniden adlandırıldı.
  • düzeltme: API anahtarları yumuşak silme (iptal edildi bayrağı) yerine kalıcı olarak silinecek (hard-delete) şekilde düzeltildi.
  • özellik: REST API kimlik doğrulamasında API anahtarları desteği (gns3_ ön ekine sahip anahtarların yeniden kullanımı) sağlandı.
  • düzeltme: API anahtarı doğrulaması için veritabanı motoruna tembel erişim (lazy access) sağlandı.
  • düzeltme: api_keys tablosuna eksik olan updated_at sütunu eklendi.
  • düzeltme: ApiKeyCreate işlevinin schemas paketinden dışa aktarılması (export) sağlandı.
  • özellik: MCP kimlik doğrulaması için API Anahtarı desteği eklendi.
  • düzeltme: joserfc kütüphanesine geçişten sonra sessizce yoksayılan JWT belirteci 'exp' talebi doğrulaması düzeltildi.
  • düzeltme: template_create işlevine image alanı eklendi ve açıklamada türe özgü parametreler belgelendi.
  • düzeltme: Görselleri temizleme/kurma (prune/install) işlemlerine ait 204 yanıtlarındaki .json() çağrıları kaldırıldı.
  • düzeltme: start_all/stop_all işlemlerinde her zaman çalışan (always-running) düğümlerin atlanması sağlandı.
  • düzeltme: Eksik olan rotation parametresi drawing_update MCP aracına eklendi.
  • düzeltme: MCP device_command_run parametresi, aracın beklediği alan adıyla eşleştirildi.
  • düzeltme: link_reset açıklaması gerçek davranışla (silme + yeniden oluşturma) eşleşecek şekilde güncellendi.
  • düzeltme: project_create işlevinden desteklenmeyen description parametresi kaldırıldı.
  • düzeltme: Doğru API yolları için symbol_get/upload/delete işleyicileri düzeltildi.
  • özellik: Başlangıçta kayıtlı MCP araçlarının günlüğe kaydedilmesi sağlandı.
  • düzeltme: MCP giriş katmanında UUID olmayan değerleri reddetmek için compute_id türü uuid.UUID olarak belirlendi.
  • düzeltme: compute_get/images için UUID zorunlu kılındı ve 'local' varsayılan dizesi kaldırıldı.
GUI
- Herhangi bir değişiklik yok (en gelişmiş arayüz web-ui olmaya devam ediyor).

Sunucu (Server)
  • web-ui v3.1.0a3 sürümü pakete dahil edildi.
  • düzeltme: Filtre detayları eklenerek MCP bağlantı araçlarının açıklamaları güncellendi.
  • düzeltme: İç içe geçmiş anahtar kelime argümanları (kwargs) için MCP düğümleri (nodes) ve bağlantı araçlarının parametre yönetimi düzeltildi.
  • düzeltme: İç içe geçmiş anahtar kelime argümanları (kwargs) için MCP şablon aracı parametre yönetimi düzeltildi.
  • özellik: Reddedilen MCP bağlantılarına istemci bilgisi günlüğü (logging) eklendi.
  • yeniden yapılandırma: MCP hazır durumu için yapılan döngüsel kontrol (polling), asyncio.Event ile değiştirildi.
  • düzeltme: Başarısız olan testleri düzeltmek için yinelenen görsel kontrolü eski haline döndürüldü.
  • düzeltme (şablonlar): Yinelenen durumları düzgün bir şekilde yönetmek için sıralama eklendi.
  • düzeltme (şablonlar): Disk görseli değişikliğiyle bir şablon kaydedilirken tespit edilen veritabanı hatası düzeltildi.
  • düzeltme: MCP sunucusu hazır olma zaman aşımına uğradığında 503 hatası döndürülmesi sağlandı.
  • düzeltme: Başlatma hatalarını önlemek için MCP sunucusu hazır kontrolü eklendi.
  • düzeltme: 0.0.0.0 adresine bağlandığında MCP sunucu URL ana bilgisayarı (host) varsayılan rota IP'si üzerinden çözümlenecek şekilde düzeltildi.
  • düzeltme: MCP taşıma güvenliği yapılandırması, varsayılan olarak tüm ana bilgisayarlara gerçekten izin verecek şekilde düzeltildi.
  • özellik: gns3_server.conf aracılığıyla yapılandırılabilir MCP taşıma güvenliği ayarları eklendi.
  • düzeltme: Ağ planlama özelliklerini düzgün bir şekilde yüklemek için load_feature_skills() eklendi.
  • yeniden yapılandırma: Tüm MCP araç parametre açıklamaları Annotated+Field formatına dönüştürüldü.
  • düzeltme: fastmcp-slim bağımlılık çakışmasını çözmek için platformdirs üst sınırı kaldırıldı.
  • düzeltme: CI test hatalarını çözmek için eksik olan fastmcp bağımlılığı eklendi.
  • yeniden yapılandırma: Tüm içe aktarmalar (imports) init.py dosyasının en üstüne taşındı.
  • test: /v3/mcp/ adresi izin verilen genel (public) uç noktalara eklendi.
  • düzeltme: console_host/port bilgileri get_node_console_info işlevinden kaldırıldı.
  • özellik: get_node_console_info aracı eklendi.
  • özellik: 3 yeni Compute MCP aracı eklendi (list_computes, get_compute, get_compute_images eklendi; toplam MCP aracı 29 oldu).
  • özellik: 5 yeni Şablon (Template) MCP aracı eklendi.
  • özellik: Düğüm (Node) ve Bağlantı (Link) MCP araçları eklendi, telif hakkı güncellendi (9 düğüm aracı ve 5 bağlantı aracı eklendi, telif hakkı yılı 2026 olarak güncellendi ve yazar eklendi).
  • özellik: JWT kimlik doğrulamalı MCP SSE taşıma protokolü tamamlandı.
  • özellik: MCP belirteci (token) için Authorization başlığı ve sorgu parametresi desteği eklendi.
  • özellik: SSE taşıma katmanı ile standart MCP protokolü uygulandı.
  • özellik: Proje araçlarını içeren MCP (Model Context Protocol) hizmeti eklendi.
  • Proje belleği eklendi: Docker konteyner durdurma gecikmesi analizi.
  • Düğüm oluşturma esnasında konteyner durumu algılamasına yönelik Docker VM testleri düzeltildi.
  • Hızlı kopyalama (duplication) için çalışan proje kontrolü eklendi.
  • Çalışan proje kontrolü, hızlı kopyalama işleminden öncesine taşındı.
  • Hızlı kopyalama için çalışan proje kontrolü eklendi.
  • Düğüm oluşturma esnasında Docker konteyner durumu algılaması düzeltildi.
  • Özel GitHub URL değişikliklerini yönetebilmesi için web-ui güncelleme betiği düzeltildi.
  • Bir proje yeniden adlandırılırken gereksiz yere yapılan Docker konteyneri yeniden oluşturma işlemi düzeltildi.
  • Proje yeniden adlandırma ve kopyalama sorunları düzeltildi.
  • remove_resource_from_pool işlevindeki çift silme sorunu düzeltildi.
  • Tam düzeltme: Kaynak havuzu silinirken kaynak kayıtlarının da silinmesi sağlandı.
  • PR #2315'teki düzeltme uygulandı: Havuzdan kaldırılan kaynaklar, kaynak (resource) tablosundan da silinecek şekilde ayarlandı.
  • Systemd servisi için artık kullanılmayan 'PermissionsStartOnly' ayarı kaldırıldı (Ref #1830).
  • Paralel düğüm oluşturma uygulanarak proje yükleme işlemi optimize edildi.
  • Gecikme (delay) filtresi doğrulaması düzeltildi: delay: [0, X] ifadesinin doğru hata mesajını döndürmesi sağlandı.
  • Paket filtresi doğrulama testleri düzeltildi: Doğru ubridge filtre türü isimleri kullanıldı.
  • Testler, show_interface_labels varsayılan değişikliklerine uyacak şekilde güncellendi.
  • show_interface_labels parametresinin varsayılan değeri True olarak ayarlandı.
  • Proje değişken güncellemeleri, paralel düğüm işleme kullanacak şekilde optimize edildi.
  • Değişken güncellemeleri sırasında 60 saniyelik VNC zaman aşımına neden olan hayalet (ghost) Docker düğümleri düzeltildi.
  • Docker konteyner değişkenlerinin Pydantic modelleriyle uyumluluğu düzeltildi.
  • Minimum gecikme süresi düzeltildi: ubridge, 0 veya daha küçük gecikmeleri (latency <= 0) reddedecek şekilde ayarlandı.
  • Paket filtresi doğrulaması geliştirildi: tcpdump kullanıldı, çok satırlı BPF'ler desteklendi ve güvenli proje yükleme sağlandı.
  • ubridge hatalarını önlemek için paket filtresi parametre doğrulaması eklendi.
  • özellik: Ortam kurulumuyla birlikte mermaid-to-SVG dönüşüm betiği eklendi.
  • performans: GET /projects isteği için RBAC izin kontrolü toplu işleme (batch) haline getirildi.
  • test: GET /projects performans testi için kıyaslama (benchmark) betiği eklendi.
  • düzeltme: Kullanıcı projeleri kaynak havuzlarında olduğunda yinelenen projelerin oluşması engellendi.
  • düzeltme: Doğru erişim kontrolü için hem normal ACE'ler hem de kaynak havuzu ACE'leri kontrol edilecek şekilde ayarlandı.
  • test: Kullanıcı izolasyonu için RBAC testi test_user.username kullanacak şekilde güncellendi.
  • özellik: LLMConfig yetkileri için alembic veritabanı geçişi (migration) eklendi.
  • özellik: Yapay zeka profil yönetimi için bağımsız LLMConfig izinleri eklendi.
  • özellik: Kaynak havuzları 'tüm uç noktalar' listesinden kaldırıldı.
  • yeniden yapılandırma: Kaynak havuzu kontrolleri için verimli get_aces_for_path yöntemi eklendi.
  • özellik: ACE yapılandırmaları tarafından kullanılan kaynak havuzlarının silinmesi engellendi.
  • özellik: ACE ve kullanıcı izolasyonunu düzgün bir şekilde yönetmek için izin kontrol mantığı düzeltildi.
  • özellik: Doğru kullanıcı izolasyonu ve paylaşımı sağlamak için katmanlı izin kontrolleri uygulandı.
  • özellik: Proje sahipliğine dayalı basit bir kullanıcı izolasyonu uygulandı.
  • düzeltme: BPF sözdizimi hata mesajı temizlendi ve geri döngü (loopback) arayüzü belirtildi.
  • özellik: tshark kullanılarak BPF sözdizimi doğrulaması eklendi.
  • özellik: Paket filtresi aracına show_filters_icon parametresi eklendi.
  • özellik: GNS3-Copilot hata enjeksiyonu (fault injection) için paket filtresi yönetim aracı eklendi.
  • düzeltme: test_json beklenen çıktısı show_filters_icon alanını içerecek şekilde güncellendi.
  • düzeltme: Geriye dönük uyumluluk için show_filters_icon özelliğine getattr fallback mekanizması eklendi.
  • özellik: Web kullanıcı arayüzünde filtre simgesi gösterimini kontrol etmek amacıyla Link nesnesine show_filters_icon özelliği eklendi.
  • düzeltme: show_filters_icon parametresinin API yanıtlarında her zaman döndürülmesi sağlandı.
  • özellik: Web kullanıcı arayüzünde filtre simgesi gösterimini kontrol etmek amacıyla Link nesnesine show_filters_icon özelliği eklendi.
  • düzeltme: netmiko ile yaşanan bağımlılık çakışmasını çözmek için belirli paramiko sürüm sabitlemesi kaldırıldı.
  • düzeltme: netmiko 4.7.0 sürümüne güncellendi ve CVE-2026-44405 hatasını düzeltmek için paramiko>=5.0.0 olarak sabitlendi.
  • düzeltme: Web Wireshark uygulamasındaki UnixConnector sızıntısını önlemek için DockerHTTPClient oturumu kapatıldı.
Sürüm: 3.0.6