Kami dengan senang hati mengumumkan GroupDocs.Annotation for .NET 26.10, yang dirilis pada Oktober 2026. Ini adalah rilis yang berfokus pada keamanan: dokumen tidak lagi mengambil gambar remote, lembar gaya, atau file terhubung secara otomatis, dan anggota LoadOptions baru memungkinkan Anda menentukan secara tepat apa yang dapat dimuat. Rilis ini juga meningkatkan mesin dokumen yang mendasarinya, memperbarui dependensi yang rentan, dan memperbaiki beberapa masalah.

Apa yang baru di rilis ini

Kunci Kategori Ringkasan
ANNOTATIONNET-2663 ⚠️ Peningkatan Sumber daya eksternal tidak lagi dimuat secara default (kontrol LoadOptions baru)
ANNOTATIONNET-2687 ✨ Peningkatan Meningkatkan mesin dokumen yang mendasari
ANNOTATIONNET-2672 🔒 Keamanan Perbarui System.Security.Cryptography.Pkcs ke 8.0.2 (CVE-2026-84008 / CVE-2026-70162)
ANNOTATIONNET-2102 🔧 Perbaikan Perbaiki FileTypeNotSupportedException saat mengekstrak anotasi dari dokumen EML
ANNOTATIONNET-1903 🔧 Perbaikan Perbaiki dokumen yang dianotasi oleh versi lama gagal dibuka pada .NET 8
ANNOTATIONNET-2689 🔧 Perbaikan Perbaiki rotasi halaman PDF sebesar 90 derajat yang hilang saat disimpan

Sumber daya eksternal tidak lagi dimuat secara default

Sebuah dokumen dapat merujuk ke sumber daya di luar dirinya: sebuah <img src="https://..."> dalam halaman HTML atau badan email, gambar terhubung dalam dokumen Word, lembar gaya remote, atau tautan buku kerja eksternal. Sampai saat ini, membuka, meninjau, atau menyimpan dokumen semacam itu membuat GroupDocs.Annotation meminta sumber daya tersebut dari jaringan atau berbagi file.

Pada server yang memproses dokumen tidak terpercaya, ini merupakan risiko server-side request forgery (SSRF): sebuah dokumen dapat membuat server memanggil alamat internal, dan jalur UNC dapat membocorkan kredensial Windows dari proses.

Mulai dengan 26.10, sumber daya eksternal dilewati secara default untuk dokumen pengolah kata, HTML, email, presentasi, dan spreadsheet:

  • Tidak ada permintaan. Tidak ada permintaan jaringan atau berbagi file yang dibuat untuk sumber daya yang dirujuk oleh dokumen, dalam operasi apa pun: Get, Add, Save, GeneratePreview, dan GetDocumentInfo.
  • Placeholder kosong. Gambar yang dilewati dirender sebagai placeholder transparan, dan tautan asli tetap disimpan dalam dokumen yang disimpan.
  • Konten tersemat tetap berfungsi. bagian cid: dari email, URI data: dan gambar tersemat selalu dimuat.
  • Anotasi gambar tidak terpengaruh. ImageAnnotation.ImagePath masih dimuat dari URL.

Ini adalah perubahan perilaku. Jika dokumen Anda bergantung pada gambar remote atau lembar gaya yang dirender, izinkan secara eksplisit dengan anggota LoadOptions baru:

Anggota Default Deskripsi
SkipExternalResources true Lewati sumber daya eksternal. Atur ke false untuk mengembalikan perilaku sebelum 26.10.
WhitelistedResources empty Nama host atau awalan URI absolut yang dimuat meskipun sumber daya dilewati.
ExternalResourceHandler null Dipanggil untuk setiap sumber daya eksternal; dapat mengizinkannya, melewatkannya, atau menyediakan kontennya.

Izinkan hanya host tepercaya (disarankan):

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
}

Periksa, izinkan, atau ganti setiap sumber daya dengan 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");
    }
}

Mesin dokumen yang ditingkatkan

Mesin pengolah kata, spreadsheet, presentasi, PDF, diagram, email, imaging, CAD, dan rendering grafis yang disertakan telah diperbarui ke rilis Oktober 2026. Dokumen yang dihasilkan kembali dan pratinjau halaman mungkin sedikit berbeda pada tingkat byte atau piksel sementara tetap secara visual setara.

Untuk proyek .NET 6 dan .NET 8, paket runtime kini bergantung pada SkiaSharp 4.152.1. Jika proyek Anda secara langsung merujuk SkiaSharp 3.x, perbarui ke 4.x.

Pembaruan keamanan

Mesin dokumen menyertakan System.Security.Cryptography.Pkcs 8.0.0 atau 8.0.1, yang terpengaruh oleh CVE-2026-84008 dan CVE-2026-70162. GroupDocs.Annotation kini merujuk pada 8.0.2 yang sudah dipatch pada setiap kerangka target. Tidak diperlukan perubahan kode.

Perbaikan

  • EML dari aliran. Pesan EML yang dimulai dengan MIME-Version: 1.0 terdeteksi sebagai arsip MHT, dan membuka dari aliran melempar FileTypeNotSupportedException. Pesan semacam itu kini dapat dibuka dengan cara yang sama dari aliran maupun file, dan file MHT kini didukung sebagai dokumen email.
  • Dokumen lama pada .NET 8. Dokumen yang dianotasi oleh versi sebelum 26.6 gagal dibuka pada .NET 8 dengan NotSupportedException. Sekarang mereka dapat dibuka: anotasi lama dilewati dengan peringatan log, dan anotasi baru dapat ditambahkan serta disimpan. Masalah terkait dengan presentasi yang disimpan kembali (PPTX) yang anotasinya tidak dapat dibaca kembali telah diperbaiki pada semua kerangka.
  • Rotasi PDF sebesar 90 derajat. Memutar halaman PDF dengan Annotator.Rotation berfungsi untuk 180 dan 270 derajat, tetapi rotasi 90 derajat hilang saat disimpan. Sekarang rotasi tersebut dipertahankan untuk setiap sudut:
using (Annotator annotator = new Annotator("input.pdf"))
{
    annotator.ProcessPages = 1;                 // the page to rotate
    annotator.Rotation = RotationDocument.on90; // previously ignored
    annotator.Save("output.pdf");
}

Perubahan API Publik

Rilis ini menambahkan anggota berikut:

Tidak ada anggota publik yang dihapus atau diubah.

Cara mendapatkan pembaruan

NuGet

Instal atau tingkatkan ke GroupDocs.Annotation 26.10.0 menggunakan NuGet. Paket ini secara otomatis menyelesaikan paket runtime untuk kerangka target Anda (.NET Framework 4.6.2, .NET 6, atau .NET 8):

dotnet add package GroupDocs.Annotation --version 26.10.0

Unduhan langsung

Unduh rilis dari halaman GroupDocs.Annotation for .NET 26.10 .

Sumber Daya