We’re happy to announce the release of GroupDocs.Conversion for Python v26.9, available as of September 2026. This release upgrades the underlying GroupDocs.Conversion engine from 26.3 to 26.8, introduces the ConversionEvents API for real-time conversion monitoring, adds support for XAR archives, draw.io, and Mermaid diagrams, and includes several new load and convert options. It also resolves critical compatibility issues on Python 3.5–3.10 and fixes longstanding defects affecting delegate-typed properties and enum arguments.

What’s new in this release

  • [Feature] Add support for ConversionEvents to observe start, progress, per-page and per-document completion, failures and font substitution (CONVERSIONPYTHON-93)
  • [Feature] Add support for new formats — XAR archives, draw.io diagrams and Mermaid (.mmd) diagrams (CONVERSIONPYTHON-94)
  • [Feature] Add CadLoadOptions.layout_scope to restrict CAD conversion to model space, paper-space layouts, or both (CONVERSIONPYTHON-95)
  • [Feature] Add MarkdownOptions.image_saving_callback to control where images extracted to Markdown are written (CONVERSIONPYTHON-96)
  • [Feature] Add EmailLoadOptions.page_layout_options and WebLoadOptions.margin_settings / orientation_settings / size_settings (CONVERSIONPYTHON-97)
  • [Feature] Add ImageConvertOptions.min_resolution and cap_resolution_to_page_content (CONVERSIONPYTHON-98)
  • [Feature] Add WordProcessingLoadOptions.auto_detect_rtl_direction (CONVERSIONPYTHON-99)
  • [Feature] Add MissingDependencyException for a clearer failure when an optional engine dependency is absent (CONVERSIONPYTHON-100)
  • [Enhancement] Update GroupDocs.Conversion engine from 26.3 to 26.8 (CONVERSIONPYTHON-101)
  • [Enhancement] Remove the duplicate groupdocs.conversion.file_types module — use groupdocs.conversion.filetypes (CONVERSIONPYTHON-102)
  • [Enhancement] Rename PdfOptions.remove_pdf_acompliance to remove_pdf_a_compliance (CONVERSIONPYTHON-103)
  • [Enhancement] Add a Developer Guide section and groupdocs.conversion.integration.* pages to the API reference (CONVERSIONPYTHON-104)
  • [Fix] Cannot import module when using Python 3.5 – 3.7 (CONVERSIONPYTHON-91)
  • [Fix] Runtime error when passing Enum argument in Python versions 3.8 – 3.10 (CONVERSIONPYTHON-92)
  • [Fix] Indexer item on *DocumentInfo and PossibleConversions is a property and cannot be called (CONVERSIONPYTHON-105)
  • [Fix] Delegate-typed properties cannot be assigned from Python (Object must implement IConvertible) (CONVERSIONPYTHON-106)
  • [Fix] Delegate-typed properties are annotated with the wrong type in stubs and docstrings (CONVERSIONPYTHON-107)

Public API changes

New classes

Class Module
ConversionEvents groupdocs.conversion
FontSubstitutionContext groupdocs.conversion.contracts
XarDocumentInfo groupdocs.conversion.contracts
MissingDependencyException groupdocs.conversion.exceptions
CadLayoutScope groupdocs.conversion.options.load
IPageLayoutOptions groupdocs.conversion.options.load
MarkdownImageSavingArgs, IMarkdownImageSavingCallback groupdocs.conversion.options.convert
IConversionHandlersStage, IConversionByPageHandlersStage groupdocs.conversion.fluent

New members on existing classes

  • FluentConverter.with_events(...), and the same on IConversionFrom and IConversionSettings
  • Converter(...) — four new constructor overloads accepting a ConversionEvents
  • CadLoadOptions.layout_scope
  • EmailLoadOptions.page_layout_options
  • WebLoadOptions.margin_settings, .orientation_settings, .size_settings
  • MarkdownOptions.image_saving_callback
  • ImageConvertOptions.min_resolution, .cap_resolution_to_page_content
  • WordProcessingLoadOptions.auto_detect_rtl_direction
  • CompressionFileType.XAR, DiagramFileType.DRAWIO, DiagramFileType.MMD

Removed — groupdocs.conversion.file_types

The module groupdocs.conversion.file_types and its 23 classes are gone. The classes themselves are not — every one of them still exists, unchanged, in groupdocs.conversion.filetypes.

If you imported from it, change the import — nothing else:

# before
from groupdocs.conversion.file_types import WordProcessingFileType
# after
from groupdocs.conversion.filetypes import WordProcessingFileType

Renamed — PdfOptions.remove_pdf_acompliance

# before
options.remove_pdf_acompliance = True
# after
options.remove_pdf_a_compliance = True

New features

Conversion events

ConversionEvents lets you observe a conversion while it runs — progress, per-page and per-document completion, failures, and font substitution. Attach ordinary Python functions:

from groupdocs.conversion import ConversionEvents, Converter, ConverterSettings
from groupdocs.conversion.options.convert import PdfConvertOptions

events = ConversionEvents()
events.on_conversion_started = lambda: print("started")
events.on_conversion_progress = lambda percent: print(f"{percent}%")
events.on_document_converted = lambda ctx: print("document done")
events.on_font_substituted = lambda ctx: print(
    f"{ctx.original_font_name} -> {ctx.substitute_font_name} ({ctx.reason})")
events.on_conversion_completed = lambda: print("completed")

with Converter("business-plan.docx", ConverterSettings(), events) as converter:
    converter.convert("business-plan.pdf", PdfConvertOptions())

Note the constructor takes (path, settings, events) — there is no (path, events) overload, so pass a ConverterSettings() even when you do not need to configure anything.

The available hooks are on_conversion_started, on_conversion_progress, on_conversion_completed, on_document_converted, on_document_failed, on_page_converted, on_page_failed, on_compression_completed and on_font_substituted.

New formats

Format File type constant Notes
XAR archive CompressionFileType.XAR Also XarDocumentInfo for inspection
draw.io diagram DiagramFileType.DRAWIO
Mermaid diagram DiagramFileType.MMD

CAD layout scope

from groupdocs.conversion.options.load import CadLayoutScope, CadLoadOptions

load_options = CadLoadOptions()
load_options.layout_scope = CadLayoutScope.MODEL     # MODEL | LAYOUTS | BOTH

BOTH is the default and does not restrict the conversion.

Code example

from groupdocs.conversion import ConversionEvents, Converter, ConverterSettings
from groupdocs.conversion.options.convert import PdfConvertOptions

events = ConversionEvents()
events.on_conversion_started = lambda: print("started")
events.on_conversion_progress = lambda percent: print(f"{percent}%")
events.on_document_converted = lambda ctx: print("document done")
events.on_font_substituted = lambda ctx: print(
    f"{ctx.original_font_name} -> {ctx.substitute_font_name} ({ctx.reason})")
events.on_conversion_completed = lambda: print("completed")

with Converter("business-plan.docx", ConverterSettings(), events) as converter:
    converter.convert("business-plan.pdf", PdfConvertOptions())

How to get the update

PyPI

pip install groupdocs-conversion-net==26.9.0

Direct download

Download from the GroupDocs.Conversion for Python via .NET 26.9 page.

Resources