pypi / markitdown
markitdown
What changed in markitdown 0.1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.
2 breaking5 new APIs and options2 performance2 behavior and defaults36 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initmarkitdown 0.147 changes
Breaking changes 2
LLM API failures now raise an error instead of being handled gracefully.
Rejects UNC and Windows device paths.
New APIs and options 5
Allows Content Understanding conversion from stdin.
Adds MARKITDOWN_CU_ENDPOINT support for CLI Content Understanding conversion.
Adds MARKITDOWN_DOCINTEL_ENDPOINT support for CLI Document Intelligence conversion.
Adds an Azure Content Understanding converter.
Adds an OCR layer service for embedded images and PDF scans.
Performance 2
Value lookups in PPTX chart conversion avoid O(n^2) behavior.
Fixes O(n) memory growth in PDF conversion by calling page.close().
Behavior and default changes 2
Defaults api_version to None.
Supports short YouTube URLs.
Fixes and other changes 36
Avoids incorrect ASCII charset guesses for long files and avoids splitting UTF-8 characters during charset detection.
Buffers stdin before format detection on Windows.
Supports extended content-disposition filenames during conversion.
Strips UTF-8 BOMs, skips blank rows before table construction, preserves all columns by matching the widest row, and handles CR-only line endings.
Escapes pipes and newlines in CSV values when generating Markdown tables.
Ignores malformed styles missing a type, preserves namespaces when repairing stylesheets, handles inconsistent ZIP filename casing, and preserves underlined text.
Safely extracts metadata when node values are missing or nested, forwards conversion options to the HTML converter, and resolves percent-encoded manifest hrefs to ZIP entries.
Corrects the underleftarrow macro and math italic h mapping.
Handles a missing exiftool binary and decodes its JSON output as UTF-8.
Correctly handles percent-encoded Windows drive paths in file URIs.
Preserves strikethrough semantics from strike elements and line-through CSS.
Preserves percent-encoded octets in href paths.
Prefers data-src over a placeholder data URI in img src.
Truncates uppercase data image URIs and normalizes data URI parameter case.
Strips UTF-8 BOMs so notebooks are not emitted as raw JSON and preserves leading hash characters in heading titles.
Catches UnicodeDecodeError when checking non-decodable content.
Corrects the --list-plugins help text to reference --use-plugins.
Handles math runs without text children, missing oMath elements, and unknown math functions without crashing; also corrects accent templates.
Reads string properties saved in non-Unicode formats and improves ANSI decoding for Japanese code pages and padded strings.
Treats a top coordinate of zero as a value rather than as missing.
Tolerates missing shape and notes text, ignores empty LLM captions, avoids crashes for chart titles without text frames, and omits headings for empty slide titles or absent notes.
Falls back to plain text when RSS item content triggers RecursionError.
Preserves Atom XHTML and complete feed content, treats Atom text and summaries as plain text, supports namespace-prefixed feeds, removes layout whitespace from titles, and resolves relative links.
Initializes parsed text to prevent UnboundLocalError when processing RSS content.
Preserves strikethrough semantics for strike elements, line-through CSS, and Word w:dstrike.
Does not convert an undecodable file to the word 'None'.
Preserves whitespace underlines.
Handles URI schemes case-insensitively.
Avoids rendering a '# None' heading when a Wikipedia page has no title.
Tolerates legacy showZeroes sheet views.
Handles missing title metadata and falls back to HTML when no video content is extracted.
Forwards kwargs to nested conversions, preserves entries with duplicate filenames, and renders '(unknown)' rather than literal 'None' when a stream has no source information.
Corrects invalid LaTeX macros for mu, nu, tau, and down-arrow.
Fixes bugs in OMML templates.
Handles PPTX SVG images that do not have a rasterized fallback.
Handles deeply nested HTML that triggers RecursionError.