Wir freuen uns, GroupDocs.Annotation für .NET 26.10 ankündigen zu können, veröffentlicht im Oktober 2026. Dies ist ein sicherheitsorientiertes Release: Dokumente laden nicht mehr eigenständig entfernte Bilder, Stylesheets oder verknüpfte Dateien, und neue LoadOptions‑Member ermöglichen es Ihnen, genau zu bestimmen, was geladen werden darf. Das Release aktualisiert außerdem die zugrunde liegenden Dokument‑Engines, aktualisiert eine verwundbare Abhängigkeit und behebt mehrere Probleme.
Was ist neu in diesem Release
| Schlüssel | Kategorie | Zusammenfassung |
|---|---|---|
| ANNOTATIONNET-2663 | ⚠️ Verbesserung | Externe Ressourcen werden standardmäßig nicht mehr geladen (neue LoadOptions‑Steuerungen) |
| ANNOTATIONNET-2687 | ✨ Verbesserung | Aktualisierung der zugrunde liegenden Dokument‑Engines |
| ANNOTATIONNET-2672 | 🔒 Sicherheit | Aktualisierung von System.Security.Cryptography.Pkcs auf 8.0.2 (CVE-2026-84008 / CVE-2026-70162) |
| ANNOTATIONNET-2102 | 🔧 Fehlerbehebung | Behebung von FileTypeNotSupportedException beim Extrahieren von Anmerkungen aus EML-Dokumenten |
| ANNOTATIONNET-1903 | 🔧 Fehlerbehebung | Behebung, dass mit älteren Versionen annotierte Dokumente unter .NET 8 nicht geöffnet werden konnten |
| ANNOTATIONNET-2689 | 🔧 Fehlerbehebung | Behebung, dass die PDF‑Seitenrotation um 90 Grad beim Speichern verloren ging |
Externe Ressourcen werden standardmäßig nicht mehr geladen
Ein Dokument kann Ressourcen außerhalb seiner selbst referenzieren: ein <img src="https://..."> in einer HTML‑Seite oder einer E‑Mail‑Nachricht, ein verknüpftes Bild in einem Word‑Dokument, ein entferntes Stylesheet oder ein externer Arbeitsmappen‑Link. Bis jetzt führte das Öffnen, Vorschauen oder Speichern eines solchen Dokuments dazu, dass GroupDocs.Annotation diese Ressourcen aus dem Netzwerk oder einem Dateifreigabe‑Ort anforderte.
Auf einem Server, der nicht vertrauenswürdige Dokumente verarbeitet, stellt dies ein Server‑Side‑Request‑Forgery (SSRF)‑Risiko dar: Ein Dokument könnte den Server dazu bringen, interne Adressen aufzurufen, und ein UNC‑Pfad könnte die Windows‑Anmeldeinformationen des Prozesses preisgeben.
Ab Version 26.10 werden externe Ressourcen standardmäßig übersprungen für Word‑Verarbeitung, HTML, E‑Mail, Präsentations‑ und Tabellenkalkulations‑Dokumente:
- Keine Anfragen. Es wird keine Netzwerk‑ oder Dateifreigabe‑Anfrage für Ressourcen gestellt, die im Dokument referenziert werden, bei irgendeiner Operation:
Get,Add,Save,GeneratePreviewundGetDocumentInfo. - Leere Platzhalter. Ein übersprungenes Bild wird als transparenter Platzhalter gerendert, und der ursprüngliche Link bleibt im gespeicherten Dokument erhalten.
- Eingebettete Inhalte funktionieren weiterhin.
cid:‑Teile einer E‑Mail,data:‑URIs und eingebettete Bilder werden immer geladen. - Bildanmerkungen sind nicht betroffen.
ImageAnnotation.ImagePathwird weiterhin von einer URL geladen.
Dies ist eine Verhaltensänderung. Wenn Ihre Dokumente auf das Rendern von entfernten Bildern oder Stylesheets angewiesen sind, erlauben Sie sie explizit mit den neuen LoadOptions‑Membern:
| Member | Standard | Beschreibung |
|---|---|---|
SkipExternalResources |
true |
Externe Ressourcen überspringen. Setzen Sie es auf false, um das Verhalten vor 26.10 wiederherzustellen. |
WhitelistedResources |
leer | Hostnamen oder absolute URI‑Präfixe, die selbst dann geladen werden, wenn Ressourcen übersprungen werden. |
ExternalResourceHandler |
null |
Wird für jede externe Ressource aufgerufen; sie kann die Ressource zulassen, überspringen oder deren Inhalt bereitstellen. |
Nur vertrauenswürdige Hosts zulassen (empfohlen):
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
}
Jede Ressource mit einem Handler inspizieren, zulassen oder ersetzen:
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");
}
}
Aktualisierte Dokument‑Engines
Die mitgelieferten Word‑Verarbeitungs‑, Tabellen‑, Präsentations‑, PDF‑, Diagramm‑, E‑Mail‑, Bild‑, CAD‑ und Grafik‑Rendering‑Engines wurden auf ihre Oktober‑2026‑Versionen aktualisiert. Neu erzeugte Dokumente und Seitenvorschauen können sich auf Byte‑ oder Pixelebene leicht unterscheiden, bleiben jedoch visuell äquivalent.
Für .NET 6‑ und .NET 8‑Projekte hängen die Laufzeit‑Pakete jetzt von SkiaSharp 4.152.1 ab. Wenn Ihr Projekt SkiaSharp 3.x direkt referenziert, aktualisieren Sie es auf 4.x.
Sicherheitsupdate
Die Dokument‑Engines bringen System.Security.Cryptography.Pkcs 8.0.0 oder 8.0.1 mit, die von CVE‑2026‑84008 und CVE‑2026‑70162 betroffen sind. GroupDocs.Annotation referenziert nun das gepatchte 8.0.2 für jedes Ziel‑Framework. Keine Code‑Änderungen sind erforderlich.
Fehlerbehebungen
- EML aus einem Stream. Eine EML‑Nachricht, die mit
MIME-Version: 1.0beginnt, wurde fälschlich als MHT‑Archiv erkannt, und das Öffnen aus einem Stream lösteFileTypeNotSupportedExceptionaus. Solche Nachrichten öffnen jetzt sowohl aus einem Stream als auch aus einer Datei, und MHT‑Dateien werden jetzt als E‑Mail‑Dokumente unterstützt. - Ältere Dokumente unter .NET 8. Dokumente, die von Versionen vor 26.6 annotiert wurden, konnten unter .NET 8 nicht geöffnet werden und lösten
NotSupportedExceptionaus. Sie öffnen jetzt: Die Legacy‑Anmerkungen werden mit einer Protokollwarnung übersprungen, und neue Anmerkungen können hinzugefügt und gespeichert werden. Ein verwandtes Problem mit erneut gespeicherten Präsentationen (PPTX), deren Anmerkungen nicht wieder ausgelesen werden konnten, ist in allen Frameworks behoben. - PDF‑Rotation um 90 Grad. Das Drehen einer PDF‑Seite mit
Annotator.Rotationfunktionierte für 180 und 270 Grad, aber eine 90‑Grad‑Rotation ging beim Speichern verloren. Sie wird jetzt für jeden Winkel beibehalten:
using (Annotator annotator = new Annotator("input.pdf"))
{
annotator.ProcessPages = 1; // the page to rotate
annotator.Rotation = RotationDocument.on90; // previously ignored
annotator.Save("output.pdf");
}
Änderungen an der öffentlichen API
Das Release fügt die folgenden Member hinzu:
LoadOptions.SkipExternalResourcesLoadOptions.WhitelistedResourcesLoadOptions.ExternalResourceHandlerExternalResourceHandlerKlasseExternalResourceLoadingArgsKlasse
Es wurden keine öffentlichen Member entfernt oder geändert.
So erhalten Sie das Update
NuGet
Installieren oder aktualisieren Sie auf GroupDocs.Annotation 26.10.0 mittels NuGet. Das Paket löst automatisch das Laufzeit‑Paket für Ihr Ziel‑Framework auf (.NET Framework 4.6.2, .NET 6 oder .NET 8):
dotnet add package GroupDocs.Annotation --version 26.10.0
Direkter Download
Laden Sie das Release von der Seite GroupDocs.Annotation for .NET 26.10 herunter.