We’re happy to announce the release of GroupDocs.Comparison for .NET 26.5, available as of May 2026.
GroupDocs.Comparison version 26.5 delivers improvements to PDF rendering accuracy, enhanced CSV and spreadsheet comparison readability, new API capabilities for revision handling and spreadsheet change metadata, and an updated NuGet packaging model with multi-framework support.

Fixes and enhancements

  • [Feature] Multi-framework NuGet packaging and TFM-split packages. (COMPARISONNET-4770)
  • [Enhancement] PDF compare: improve paragraph rendering accuracy in Inline mode. (COMPARISONNET-4751)
  • [Enhancement] Enhance comparison results for PDF documents with tables. (COMPARISONNET-4763)
  • [Bug] Fix ArgumentOutOfRangeException when comparing PDFs with styled tables. (COMPARISONNET-4762)
  • [Feature] Support optional disposal of passed stream in RevisionHandler. (COMPARISONNET-4773)
  • [Enhancement] Improve CSV comparison result readability with text markers. (COMPARISONNET-4769)
  • [Feature] Extend ChangeInfo with Spreadsheet Properties. (COMPARISONNET-4767)
  • [Bug] Compare method throws exception for HTML output. (COMPARISONNET-4764)

Major Features

Multi-framework NuGet packaging and TFM-split packages

GroupDocs.Comparison, daha gelişmiş bir NuGet paket dağıtım modeline geçiş yaptı. Ana paket artık net462;net6.0;net8.0;net10.0 hedeflerini içeriyor ve önceki net462;netstandard2.1 hedeflerinin yerini alıyor.

Ayrıca, indirme boyutunu azaltmak amacıyla, ana paketle birlikte platform‑spesifik NuGet paketleri de yayımlanıyor. Platform‑spesifik paket yüklendiğinde, yalnızca kullanıcının hedef framework’üne uyan ikili dosyalar indirilir — kullanılmayan platform derlemeleri dahil edilmez.

Package Target framework
GroupDocs.Comparison net462;net6.0;net8.0;net10.0 (tüm framework’ler)
GroupDocs.Comparison.net462 .NET Framework 4.6.2
GroupDocs.Comparison.net6 .NET 6.0
GroupDocs.Comparison.net8 .NET 8.0
GroupDocs.Comparison.net10 .NET 10.0

Note: .NET Standard 2.1 artık ayrı bir hedef olarak desteklenmiyor. Daha önce netstandard2.1 kullanan projeler, yukarıda listelenen desteklenen TFMs’den birine geçmelidir.

Support optional disposal of passed stream in RevisionHandler

RevisionHandler artık bir leaveOpen parametresi alıyor; bu parametre, handler kapatıldığında temel akışın (stream) serbest bırakılıp bırakılmayacağını kontrol eder. leaveOpen true olarak ayarlandığında, RevisionHandler kapatıldıktan sonra akış açık kalır ve çağıran kod akışı kullanmaya devam edebilir. Bu, akış yaşam döngüsü dışarıdan yönetildiğinde faydalıdır.

using FileStream revisionFileStream = new FileStream("source.docx", FileMode.Open, FileAccess.ReadWrite);

using (RevisionHandler revisionHandler = new RevisionHandler(revisionFileStream, leaveOpen: true))
{
    List<RevisionInfo> revisionList = revisionHandler.GetRevisions();

    foreach (var rev in revisionList)
    {
        if (rev.Type == RevisionType.Deletion)
            rev.Action = RevisionAction.Accept;
    }

    ApplyRevisionOptions revisionChanges = new ApplyRevisionOptions { Changes = revisionList };
    revisionHandler.ApplyRevisionChanges(resultPath, revisionChanges);
}

Extend ChangeInfo with Spreadsheet Properties

ChangeInfo sınıfına, tespit edilen her değişiklik için elektronik tabloya özgü meta verileri ortaya çıkaran üç yeni özellik eklendi. Bu özellikler, Excel (.xlsx) ve CSV (.csv) dosyaları karşılaştırıldığında doldurulur ve değişikliğin elektronik tablo ızgarasındaki konumunu kesin olarak belirlemenizi sağlar:

  • Row – değişen hücrenin sıfır‑tabanlı satır indeksi.
  • Column – değişen hücrenin sıfır‑tabanlı sütun indeksi.
  • ColumnHeader – değişen hücrenin bulunduğu sütunun başlık metni (varsa).

Aşağıdaki örnek, iki CSV dosyasını karşılaştırıp değişiklik listesini — yeni elektronik tablo özellikleriyle birlikte — JSON formatına serileştirir:

string source = "source.csv";
string target = "target.csv";
string outFilePathJson = "result.json";

using (var comparer = new Comparer(source))
{
    comparer.Add(target);
    var doc = comparer.Compare();
    var changes = doc.Changes;

    var json = changes.Select(c => new
    {
        id = c.Id,
        type = c.Type.ToString(),
        componentType = c.ComponentType,
        row = c.Row,
        column = c.Column,
        columnHeader = c.ColumnHeader,
        sourceText = c.SourceText,
        targetText = c.TargetText,
        text = c.Text
    });

    File.WriteAllText(outFilePathJson,
        JsonSerializer.Serialize(json, new JsonSerializerOptions { WriteIndented = true }));
}

Enhancements

Improve CSV comparison result readability with text markers

CSV karşılaştırma çıktısı artık eklenmiş ve silinmiş içeriği anında görünür kılan satır içi metin işaretçileri kullanıyor; böylece yan‑yan görüntüleme gerekmiyor:

  • Inserted metin parantez içinde gösterilir — örneğin, (new value)
  • Deleted metin köşeli parantez içinde gösterilir — örneğin, [old value]

How to get the update

En yeni sürümü NuGet üzerinden alabilir veya doğrudan GroupDocs web sitesinden indirebilirsiniz.

NuGet

GroupDocs.Comparison for .NET 26.5

Direct download

GroupDocs.Comparison for .NET 26.5 sayfasından .NET ve .NET Framework için derlemeleri indirin.

Learn more