We zijn verheugd om GroupDocs.Annotation for .NET 26.10 aan te kondigen, uitgebracht in oktober 2026. Dit is een op veiligheid gerichte release: documenten halen geen externe afbeeldingen, stijlblaadjes of gekoppelde bestanden meer zelf op, en nieuwe LoadOptions‑leden laten u precies bepalen wat er geladen mag worden. De release werkt ook de onderliggende documentengines bij, werkt een kwetsbare afhankelijkheid bij en lost verschillende problemen op.
Wat is er nieuw in deze release
| Sleutel | Categorie | Samenvatting |
|---|---|---|
| ANNOTATIONNET-2663 | ⚠️ Verbetering | Externe bronnen worden niet langer standaard geladen (nieuwe LoadOptions‑controles) |
| ANNOTATIONNET-2687 | ✨ Verbetering | Upgrade de onderliggende documentengines |
| ANNOTATIONNET-2672 | 🔒 Beveiliging | Update System.Security.Cryptography.Pkcs naar 8.0.2 (CVE-2026-84008 / CVE-2026-70162) |
| ANNOTATIONNET-2102 | 🔧 Oplossing | Los FileTypeNotSupportedException op bij het extraheren van annotaties uit EML-documenten |
| ANNOTATIONNET-1903 | 🔧 Oplossing | Los documenten die door oudere versies zijn geannoteerd en niet openen op .NET 8 op |
| ANNOTATIONNET-2689 | 🔧 Oplossing | Los het verlies van PDF-paginadraaien met 90 graden bij opslaan op |
Externe bronnen worden niet langer standaard geladen
Een document kan verwijzen naar bronnen buiten zichzelf: een <img src="https://..."> in een HTML-pagina of e-mailbericht, een gekoppelde afbeelding in een Word‑document, een extern stijlblaadje of een externe werkmapkoppeling. Tot nu toe zorgde het openen, voorvertonen of opslaan van zo’n document ervoor dat GroupDocs.Annotation die bronnen van het netwerk of een bestandsdeling opvroeg.
Op een server die onbetrouwbare documenten verwerkt, is dit een server‑side request forgery (SSRF)‑risico: een document kan de server interne adressen laten aanroepen, en een UNC‑pad kan de Windows‑referenties van het proces lekken.
Vanaf versie 26.10 worden externe bronnen standaard overgeslagen voor Word‑verwerking, HTML, e‑mail, presentatie‑ en spreadsheet‑documenten:
- Geen verzoeken. Er wordt geen netwerk‑ of bestandsdeel‑verzoek gedaan voor bronnen die door het document worden verwezen, in welke bewerking dan ook:
Get,Add,Save,GeneratePreviewenGetDocumentInfo. - Lege tijdelijke aanduidingen. Een overgeslagen afbeelding wordt weergegeven als een transparante tijdelijke aanduiding, en de oorspronkelijke link wordt behouden in het opgeslagen document.
- Ingesloten inhoud werkt nog steeds.
cid:‑onderdelen van een e‑mail,data:‑URI’s en ingesloten afbeeldingen worden altijd geladen. - Afbeeldingsannotaties worden niet beïnvloed.
ImageAnnotation.ImagePathwordt nog steeds van een URL geladen.
Dit is een gedragsverandering. Als uw documenten afhankelijk zijn van het weergeven van externe afbeeldingen of stijlblaadjes, sta deze dan expliciet toe met de nieuwe LoadOptions‑leden:
| Lid | Standaard | Beschrijving |
|---|---|---|
SkipExternalResources |
true |
Sla externe bronnen over. Stel in op false om het gedrag vóór 26.10 te herstellen. |
WhitelistedResources |
empty | Hostnamen of absolute URI‑prefixen die geladen worden zelfs wanneer bronnen worden overgeslagen. |
ExternalResourceHandler |
null |
Wordt aangeroepen voor elke externe bron; deze kan de bron toestaan, overslaan of de inhoud leveren. |
Sta alleen vertrouwde hosts toe (aanbevolen):
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
}
Inspecteer, sta toe of vervang elke bron met een handler:
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");
}
}
Bijgewerkte documentengines
De meegeleverde Word‑verwerking, spreadsheet, presentatie, PDF, diagram, e‑mail, imaging, CAD‑ en grafische render‑engines zijn bijgewerkt naar hun releases van oktober 2026. Geregenereerde documenten en paginavoorvertoningen kunnen enigszins verschillen op byte‑ of pixelniveau, terwijl ze visueel gelijk blijven.
Voor .NET 6‑ en .NET 8‑projecten hangen de runtime‑pakketten nu af van SkiaSharp 4.152.1. Als uw project direct SkiaSharp 3.x gebruikt, werk het dan bij naar 4.x.
Beveiligingsupdate
De documentengines brengen System.Security.Cryptography.Pkcs 8.0.0 of 8.0.1 mee, die getroffen zijn door CVE‑2026‑84008 en CVE‑2026‑70162. GroupDocs.Annotation verwijst nu naar de gepatchte 8.0.2 op elk doel‑framework. Er zijn geen code‑wijzigingen nodig.
Oplossingen
- EML vanuit een stream. Een EML‑bericht dat begint met
MIME-Version: 1.0werd gedetecteerd als een MHT‑archief, en het openen ervan vanuit een stream gooideFileTypeNotSupportedException. Dergelijke berichten openen nu op dezelfde manier vanuit een stream en een bestand, en MHT‑bestanden worden nu ondersteund als e‑mail‑documenten. - Oudere documenten op .NET 8. Documenten die geannoteerd zijn door versies vóór 26.6 konden niet worden geopend op .NET 8 met
NotSupportedException. Ze openen nu: de legacy‑annotaties worden overgeslagen met een log‑waarschuwing, en nieuwe annotaties kunnen worden toegevoegd en opgeslagen. Een gerelateerd probleem met opnieuw opgeslagen presentaties (PPTX) waarvan de annotaties niet konden worden teruggelezen, is op alle frameworks opgelost. - PDF‑rotatie met 90 graden. Het roteren van een PDF‑pagina met
Annotator.Rotationwerkte voor 180 en 270 graden, maar een rotatie van 90 graden ging verloren bij opslaan. Deze wordt nu bewaard voor elke hoek:
using (Annotator annotator = new Annotator("input.pdf"))
{
annotator.ProcessPages = 1; // the page to rotate
annotator.Rotation = RotationDocument.on90; // previously ignored
annotator.Save("output.pdf");
}
Wijzigingen in de openbare API
De release voegt de volgende leden toe:
LoadOptions.SkipExternalResourcesLoadOptions.WhitelistedResourcesLoadOptions.ExternalResourceHandlerExternalResourceHandlerklasseExternalResourceLoadingArgsklasse
Er zijn geen openbare leden verwijderd of gewijzigd.
Hoe u de update krijgt
NuGet
Installeer of upgrade naar GroupDocs.Annotation 26.10.0 via NuGet. Het pakket lost automatisch het runtime‑pakket op voor uw doel‑framework (.NET Framework 4.6.2, .NET 6 of .NET 8):
dotnet add package GroupDocs.Annotation --version 26.10.0
Directe download
Download de release van de GroupDocs.Annotation for .NET 26.10 pagina.