Ekim 2026’da yayınlanan GroupDocs.Annotation for .NET 26.10‘ı duyurmaktan memnuniyet duyuyoruz. Bu, güvenliğe odaklanan bir sürümdür: belgeler artık uzaktan görüntü, stil sayfası veya bağlantılı dosyaları kendi başlarına çekmez ve yeni LoadOptions üyeleri neyin yüklenebileceğini tam olarak belirlemenizi sağlar. Sürüm ayrıca temel belge motorlarını yükseltir, güvenlik açığı bulunan bir bağımlılığı günceller ve çeşitli sorunları düzeltir.
Bu sürümde yenilikler
| Anahtar | Kategori | Özet |
|---|---|---|
| ANNOTATIONNET-2663 | ⚠️ Geliştirme | Harici kaynaklar varsayılan olarak artık yüklenmiyor (yeni LoadOptions kontrolleri) |
| ANNOTATIONNET-2687 | ✨ Geliştirme | Temel belge motorlarını yükselt |
| ANNOTATIONNET-2672 | 🔒 Güvenlik | System.Security.Cryptography.Pkcs’yi 8.0.2’ye güncelle (CVE-2026-84008 / CVE-2026-70162) |
| ANNOTATIONNET-2102 | 🔧 Düzeltme | EML belgelerinden ek açıklamaları çıkarırken FileTypeNotSupportedException hatasını düzelt |
| ANNOTATIONNET-1903 | 🔧 Düzeltme | Eski sürümlerle ek açıklama yapılmış belgelerin .NET 8’de açılamamasını düzelt |
| ANNOTATIONNET-2689 | 🔧 Düzeltme | PDF sayfa döndürmesinin 90 derece kaybolmasını düzelt |
Harici kaynaklar varsayılan olarak artık yüklenmiyor
Bir belge, kendisinin dışındaki kaynaklara başvurabilir: bir HTML sayfasındaki veya e‑posta gövdesindeki <img src="https://...">, bir Word belgesindeki bağlantılı resim, uzak bir stil sayfası veya harici bir çalışma kitabı bağlantısı. Şimdiye kadar, böyle bir belgeyi açmak, ön izlemek ya da kaydetmek GroupDocs.Annotation’ın bu kaynakları ağdan ya da dosya paylaşımından istemesine neden oluyordu.
Güvenilmeyen belgeleri işleyen bir sunucuda bu, sunucu tarafı istek sahteciliği (SSRF) riski oluşturur: bir belge, sunucunun iç adreslere çağrı yapmasını sağlayabilir ve bir UNC yolu, işlemin Windows kimlik bilgilerini sızdırabilir.
26.10 ile birlikte, Word‑işleme, HTML, e‑posta, sunum ve elektronik tablo belgeleri için harici kaynaklar varsayılan olarak atlanır:
- İstek yok. Belge tarafından başvurulan kaynaklar için ağ veya dosya paylaşımı isteği yapılmaz, herhangi bir işlemde:
Get,Add,Save,GeneratePreviewveGetDocumentInfo. - Boş yer tutucular. Atlanan bir görüntü şeffaf bir yer tutucu olarak işlenir ve orijinal bağlantı kaydedilen belgede tutulur.
- Gömülü içerik hâlâ çalışır.
cid:bölümleri,data:URI’ları ve gömülü resimler her zaman yüklenir. - Görüntü ek açıklamaları etkilenmez.
ImageAnnotation.ImagePathhâlâ bir URL’den yüklenir.
Bu bir davranış değişikliğidir. Belgeleriniz uzaktan görüntü ya da stil sayfası render edilmesine dayanıyorsa, yeni LoadOptions üyeleriyle bunları açıkça izin verin:
| Üye | Varsayılan | Açıklama |
|---|---|---|
SkipExternalResources |
true |
Harici kaynakları atla. false olarak ayarlayarak 26.10 öncesi davranışı geri getirin. |
WhitelistedResources |
empty | Kaynaklar atlanırken bile yüklenecek ana bilgisayar adları veya mutlak URI önekleri. |
ExternalResourceHandler |
null |
Her harici kaynak için çağrılır; kaynağa izin verebilir, atlayabilir veya içeriğini sağlayabilir. |
Güvenilir ana bilgisayarları yalnızca izin verin (önerilir):
LoadOptions loadOptions = new LoadOptions
{
// SkipExternalResources stays true (the default)
WhitelistedResources = { "cdn.example.com", "https://intranet.example.com/images/" }
};
using (Annotator annotator = new Annotator("input.html", loadOptions))
{
annotator.Save("output.html"); // only images from the two whitelisted locations are loaded
}
Her kaynağı bir işleyiciyle inceleyin, izin verin ya da yerine koyun:
class AuditingResourceHandler : ExternalResourceHandler
{
public override void OnLoading(ExternalResourceLoadingArgs args)
{
Console.WriteLine($"{args.Uri}: {(args.Skipped ? "skipped" : "loaded")}");
// serve a local copy instead of going to the network
if (args.Uri == "https://example.com/logo.png")
args.Data = File.ReadAllBytes("logo.png");
}
}
Güncellenmiş belge motorları
Paketlenmiş word‑işleme, elektronik tablo, sunum, PDF, diyagram, e‑posta, görüntüleme, CAD ve grafik render motorları Ekim 2026 sürümlerine güncellenmiştir. Yeniden oluşturulan belgeler ve sayfa ön izlemeleri bayt ya da piksel seviyesinde hafif farklılıklar gösterebilir ancak görsel olarak eşdeğerdir.
.NET 6 ve .NET 8 projeleri için çalışma zamanı paketleri artık SkiaSharp 4.152.1’e bağımlıdır. Projeniz doğrudan SkiaSharp 3.x referans veriyorsa, onu 4.x’e güncelleyin.
Güvenlik güncellemesi
Belge motorları System.Security.Cryptography.Pkcs 8.0.0 veya 8.0.1 sürümlerini getiriyor; bu sürümler CVE-2026-84008 ve CVE-2026-70162 tarafından etkileniyor. GroupDocs.Annotation artık her hedef çerçevede yamalı 8.0.2 sürümüne referans veriyor. Kod değişikliği gerekmiyor.
Düzeltmeler
- Akıştan EML.
MIME-Version: 1.0ile başlayan bir EML mesajı MHT arşivi olarak algılanıyordu ve akıştan açıldığındaFileTypeNotSupportedExceptionfırlatıyordu. Bu mesajlar artık akıştan ve dosyadan aynı şekilde açılıyor ve MHT dosyaları artık e‑posta belgeleri olarak destekleniyor. - .NET 8’de eski belgeler. 26.6 öncesi sürümlerle ek açıklama yapılmış belgeler .NET 8’de
NotSupportedExceptionile açılamıyordu. Şimdi açılıyor: eski ek açıklamalar bir uyarı kaydıyla atlanıyor ve yeni ek açıklamalar eklenip kaydedilebiliyor. Yeniden kaydedilen sunumlarda (PPTX) ek açıklamaların geri okunamamasıyla ilgili bir sorun tüm çerçevelerde düzeltildi. - PDF döndürmesi 90 derece.
Annotator.Rotationile bir PDF sayfasını döndürmek 180 ve 270 derece için çalışıyordu, ancak 90 derece döndürme kaydedildiğinde kayboluyordu. Şimdi her açı için korunuyor:
using (Annotator annotator = new Annotator("input.pdf"))
{
annotator.ProcessPages = 1; // the page to rotate
annotator.Rotation = RotationDocument.on90; // previously ignored
annotator.Save("output.pdf");
}
Genel API değişiklikleri
Sürüm aşağıdaki üyeleri ekliyor:
LoadOptions.SkipExternalResourcesLoadOptions.WhitelistedResourcesLoadOptions.ExternalResourceHandlerExternalResourceHandlersınıfıExternalResourceLoadingArgssınıfı
Hiçbir genel üye kaldırılmadı ya da değiştirilmedi.
Güncellemeyi nasıl alabilirsiniz
NuGet
NuGet kullanarak GroupDocs.Annotation 26.10.0 paketini kurun ya da yükseltin. Paket, hedef çerçeveniz için (.NET Framework 4.6.2, .NET 6 veya .NET 8) çalışma zamanı paketini otomatik olarak çözer:
dotnet add package GroupDocs.Annotation --version 26.10.0
Doğrudan indirme
Sürümü GroupDocs.Annotation for .NET 26.10 sayfasından indirin.