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
| Key | Category | Summary |
|---|---|---|
| VIEWERPYTHON‑123 | Enhancement | Python 3.14 support |
| VIEWERPYTHON‑124 | Enhancement | Ship AGENTS.md inside the wheel for AI-agent discovery |
| VIEWERPYTHON‑125 | Enhancement | New documentation page: Agents and LLM Integration (MCP server, machine-readable docs, AI pipelines) |
| VIEWERPYTHON‑126 | Enhancement | Public API expansion — new font-inspection API, stream-factory interfaces, drawing enums, search options, and format-specific *ViewInfo results |
| VIEWERPYTHON‑129 | Enhancement | Review public API |
| VIEWERPYTHON‑128 | Enhancement | Simplified 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:
- Agents and LLM Integration: https://docs.groupdocs.com/viewer/python-net/agents-and-llm-integration/
Wheel distribution
Starting with 26.4, each release publishes four platform-specific wheels:
| Platform | Wheel suffix |
|---|---|
| Windows x86-64 | win_amd64 |
| Linux x86-64 | manylinux1_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.12 | 26.4 |
|---|---|
options.Field.FROM | options.Field.FROM_ (or lowercase from_) |
options.Field.EMAIL_2_DISPLAY_AS | options.Field.EMAIL2_DISPLAY_AS |
options.Field.EMAIL_3_DISPLAY_AS | options.Field.EMAIL3_DISPLAY_AS |
options.CadOptions.pc_3_file | options.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:
| Class | Removed property | Notes |
|---|---|---|
options.ArchiveOptions | items_per_page | Archive pagination is now handled at the rendering level, not per-options |
options.PdfOptions | fix_link_issue | Legacy 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 class | Purpose |
|---|---|
interfaces.CreatePageStream | Per-page write stream for HTML / PNG / JPG |
interfaces.CreateResourceStream | Per-resource write stream (CSS, fonts, images) for HTML with external resources |
interfaces.CreateResourceUrl | URL rewriter for external-resource HTML |
interfaces.CreateFileStream | Single-file write stream for PDF |
interfaces.ReleasePageStream / ReleaseResourceStream / ReleaseFileStream | Corresponding release callbacks |
interfaces.IPageStreamFactory / IResourceStreamFactory / IFileStreamFactory | Factory 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 class | Purpose |
|---|---|
fonts.IFontInfo | Common base for font-info results |
fonts.PdfFontInfo | Font info for PDF documents |
fonts.WordProcessingFontInfo | Font info for Word documents |
fonts.SpreadsheetFontInfo | Font info for spreadsheets |
fonts.PresentationFontInfo | Font info for presentations |
fonts.WordProcessingSubstitutedFontInfo | Info about fonts that were substituted during rendering |
fonts.FontFormat | Enum: TrueType, OpenType, Type1, … |
fonts.FontStyles | Enum: Regular, Bold, Italic, BoldItalic |
Other new public classes
| New class | Purpose |
|---|---|
options.SearchHighlightOptions | Configures Viewer.search(...) — highlight colour, case sensitivity, whole-word match |
caching.ICache | Cache interface — plug in custom backends (S3, Redis, …) in addition to the built-in FileCache |
results.MailMessageViewInfo | Email-specific view info (headers, attachments) |
results.TextElement | Text element with positional coordinates (for PNG/JPG text extraction) |
drawing.KnownColors | Named colour enum (Red, Blue, CornflowerBlue, …) for watermarks and CAD backgrounds |
drawing.CssLevel1 / CssLevel2 / CssLevel3 / CssLevel4 | CSS 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 withSearchHighlightOptionsand optionally highlight matches.dispose()— explicit disposal (context-managerwith 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_commentsandremove_java_scriptproperties.
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
| Class | 25.12 | 26.4 | Notable additions |
|---|---|---|---|
FileType | ~180 | ~220 | Excel2003XML, OFD, Cab, Lha, Iso, SevenZip, Tzst, TarZst, Zstandard, HEIC, AVIF |
options.Field (email) | ~30 | ~80 | Anniversary, Bcc, Birthday, Business, BusinessFax, Company, Attachments, … |
drawing.Image2DFormat | base set | +12 | BMP, EMF, GIF, ICON, JPEG alternative casings |
options.Resolution | DocumentResolution only | 6 presets | Dpi72, Dpi96, Dpi150, Dpi220, Dpi330, DocumentResolution |
options.Size | constructor only | 3 presets | FullSize, 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.mdreference, and guidance for chaining GroupDocs.Viewer with GroupDocs.Conversion in AI document pipelines. - Logging and Diagnostics — three examples covering
ConsoleLogger,FileLogger, andsys.stdoutredirection. - 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.