GroupDocs.Viewer for Python via .NET 26.4 Release Notes

This release extends Python compatibility to 3.14, rebuilds the Python wrapper with a new generator that ships a machine-readable AGENTS.md inside the package, refreshes the documentation and examples to match the current repository layout.

Full list of changes in this release

KeyCategorySummary
VIEWERPYTHON‑123EnhancementPython 3.14 support
VIEWERPYTHON‑124EnhancementShip AGENTS.md inside the wheel for AI-agent discovery
VIEWERPYTHON‑125EnhancementNew documentation page: Agents and LLM Integration (MCP server, machine-readable docs, AI pipelines)
VIEWERPYTHON‑126EnhancementPublic API expansion — new font-inspection API, stream-factory interfaces, drawing enums, search options, and format-specific *ViewInfo results
VIEWERPYTHON‑129EnhancementReview public API
VIEWERPYTHON‑128EnhancementSimplified wheel distribution: four wheels per release (Windows x64, Linux x64, macOS Intel, macOS Apple Silicon)

Python version compatibility

The supported Python version range has been extended.

  • 25.12 (prev): Python 3.5 – 3.13
  • 26.4 (current): Python 3.5 – 3.14

No code changes are required when upgrading within the supported range.

AGENTS.md shipped inside the wheel

Starting with 26.4, the pip package bundles a machine-readable AGENTS.md file at groupdocs/viewer/AGENTS.md. AI coding assistants that scan installed packages (Claude Code, Cursor, GitHub Copilot, and others) can discover the API surface, usage patterns, and troubleshooting tips without any extra configuration.

To find the file after installing the package:

pip show -f groupdocs-viewer-net | grep AGENTS

A new documentation page explains how to combine the shipped AGENTS.md, the GroupDocs MCP server, and the LLM-optimized documentation endpoints with AI coding tools:

Wheel distribution

Starting with 26.4, each release publishes four platform-specific wheels:

PlatformWheel suffix
Windows x86-64win_amd64
Linux x86-64manylinux1_x86_64
macOS Apple Silicon (ARM64)macosx_11_0_arm64
macOS Intel (x86-64)macosx_10_14_x86_64

Windows 32-bit, Linux musl, and Linux ARM64 wheels are no longer published. pip automatically selects the right wheel for your platform.

PyPI package: https://pypi.org/project/groupdocs-viewer-net/

Public API changes

The 26.4 wrapper was rebuilt with a new generator that exposes a broader public API and cleans up a few member names. The changes below are grouped by compatibility impact — most existing scripts written against 25.12 run unchanged on 26.4.

Breaking — renamed members

Three options.Field constants and one options.CadOptions property were renamed to avoid Python keyword conflicts and to align with the underlying .NET names. Update your code to the new names:

25.1226.4
options.Field.FROMoptions.Field.FROM_ (or lowercase from_)
options.Field.EMAIL_2_DISPLAY_ASoptions.Field.EMAIL2_DISPLAY_AS
options.Field.EMAIL_3_DISPLAY_ASoptions.Field.EMAIL3_DISPLAY_AS
options.CadOptions.pc_3_fileoptions.CadOptions.pc3_file

Breaking — removed properties

Two legacy options properties were removed in 26.4. They have no direct replacement — if you relied on either, please raise a support forum thread so we can recommend a workaround:

ClassRemoved propertyNotes
options.ArchiveOptionsitems_per_pageArchive pagination is now handled at the rendering level, not per-options
options.PdfOptionsfix_link_issueLegacy bug-workaround flag, no longer needed

New public classes — stream factories

Render output no longer has to go to disk. Pass any Python callable that returns a file-like object to the new for_* factory methods on HtmlViewOptions, PngViewOptions, JpgViewOptions, and PdfViewOptions. The bridge auto-wraps the callable as a .NET stream factory — no bridge imports required.

New classPurpose
interfaces.CreatePageStreamPer-page write stream for HTML / PNG / JPG
interfaces.CreateResourceStreamPer-resource write stream (CSS, fonts, images) for HTML with external resources
interfaces.CreateResourceUrlURL rewriter for external-resource HTML
interfaces.CreateFileStreamSingle-file write stream for PDF
interfaces.ReleasePageStream / ReleaseResourceStream / ReleaseFileStreamCorresponding release callbacks
interfaces.IPageStreamFactory / IResourceStreamFactory / IFileStreamFactoryFactory interfaces for full-control implementations

See the Render to custom streams section of the in-package AGENTS.md for end-to-end snippets.

New public classes — font inspection

Inspect the fonts referenced by a loaded document before rendering — useful for triaging missing-font warnings and for building font-report pipelines. Retrieve via Viewer.get_all_fonts():

New classPurpose
fonts.IFontInfoCommon base for font-info results
fonts.PdfFontInfoFont info for PDF documents
fonts.WordProcessingFontInfoFont info for Word documents
fonts.SpreadsheetFontInfoFont info for spreadsheets
fonts.PresentationFontInfoFont info for presentations
fonts.WordProcessingSubstitutedFontInfoInfo about fonts that were substituted during rendering
fonts.FontFormatEnum: TrueType, OpenType, Type1, …
fonts.FontStylesEnum: Regular, Bold, Italic, BoldItalic

Other new public classes

New classPurpose
options.SearchHighlightOptionsConfigures Viewer.search(...) — highlight colour, case sensitivity, whole-word match
caching.ICacheCache interface — plug in custom backends (S3, Redis, …) in addition to the built-in FileCache
results.MailMessageViewInfoEmail-specific view info (headers, attachments)
results.TextElementText element with positional coordinates (for PNG/JPG text extraction)
drawing.KnownColorsNamed colour enum (Red, Blue, CornflowerBlue, …) for watermarks and CAD backgrounds
drawing.CssLevel1 / CssLevel2 / CssLevel3 / CssLevel4CSS level enums for HTML rendering

New methods on existing classes

Viewer:

  • get_all_fonts() — returns the list of fonts referenced by the loaded document.
  • search(options) — search the document with SearchHighlightOptions and optionally highlight matches.
  • dispose() — explicit disposal (context-manager with Viewer(...) remains the recommended pattern).

HtmlViewOptions — new factory methods:

  • for_embedded_resources(callable) / for_external_resources(callable, callable, callable) — accept Python callables that return file-like objects, complementing the existing string-path forms.
  • Additionally: remove_comments and remove_java_script properties.

caching.FileCache:

  • Typed get/set helpers: try_get_value, set_file, set_string, get_keys_file, get_keys_string.

drawing.Argb32Color / Rgb24Color:

  • Equality helpers (equals_*, get_hash_code, to_string) and convenience constants (empty, transparent).

Expanded enums and constant classes

Class25.1226.4Notable additions
FileType~180~220Excel2003XML, OFD, Cab, Lha, Iso, SevenZip, Tzst, TarZst, Zstandard, HEIC, AVIF
options.Field (email)~30~80Anniversary, Bcc, Birthday, Business, BusinessFax, Company, Attachments, …
drawing.Image2DFormatbase set+12BMP, EMF, GIF, ICON, JPEG alternative casings
options.ResolutionDocumentResolution only6 presetsDpi72, Dpi96, Dpi150, Dpi220, Dpi330, DocumentResolution
options.Sizeconstructor only3 presetsFullSize, HalfSize, OneThird

Migration note

Unless your code references one of the six renamed / removed members listed above, 26.4 is a drop-in upgrade from 25.12. All existing signatures on Viewer, HtmlViewOptions, PngViewOptions, JpgViewOptions, PdfViewOptions, Tile, LoadOptions, License, Metered, and ViewerSettings are preserved.

Documentation updates

The entire python-net documentation section was restructured to match the pattern established by GroupDocs.Conversion for Python via .NET.

New pages

  • Product Overview — standalone page with capabilities table, typical use cases, and a quick example.
  • Quick Start Guide — three runnable examples (DOCX → HTML, DOCX → PDF, DOCX → per-page PNG) replacing the previous Hello World page. Old URL redirects automatically.
  • Agents and LLM Integration — MCP server setup, machine-readable documentation URLs, embedded AGENTS.md reference, and guidance for chaining GroupDocs.Viewer with GroupDocs.Conversion in AI document pipelines.
  • Logging and Diagnostics — three examples covering ConsoleLogger, FileLogger, and sys.stdout redirection.
  • Get Document Info — consolidated page with six examples (generic file info + PDF-specific, archive, CAD, Outlook, and Project metadata). Replaces the older Retrieving Document Information subtree; old URLs redirect automatically.

Code examples

The examples repository was regenerated from the updated documentation. Every code block on a documentation page has a runnable counterpart in the repository, organised by documentation section.

Feedback and issue reporting

For technical questions, bug reports, or usage issues, use the GroupDocs Viewer Support Forum.