# What changed in markitdown

> 47 changes in markitdown 0.1 from its official release notes, upgrade guides and advisories: 2 breaking, 5 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/pypi/markitdown/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## markitdown 0.1

### Breaking changes

- LLM API failures now raise an error instead of being handled gracefully. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Rejects UNC and Windows device paths. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)

### New APIs and options

- Allows Content Understanding conversion from stdin. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Adds MARKITDOWN_CU_ENDPOINT support for CLI Content Understanding conversion. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Adds MARKITDOWN_DOCINTEL_ENDPOINT support for CLI Document Intelligence conversion. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Adds an Azure Content Understanding converter. (0.1.6) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.6)
- Adds an OCR layer service for embedded images and PDF scans. (0.1.6) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.6)

### Performance

- Value lookups in PPTX chart conversion avoid O(n^2) behavior. (0.1.7) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.7)
- Fixes O(n) memory growth in PDF conversion by calling page.close(). (0.1.6) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.6)

### Behavior and default changes

- Defaults api_version to None. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Supports short YouTube URLs. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)

### Fixes and other changes

- Avoids incorrect ASCII charset guesses for long files and avoids splitting UTF-8 characters during charset detection. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Buffers stdin before format detection on Windows. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Supports extended content-disposition filenames during conversion. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Strips UTF-8 BOMs, skips blank rows before table construction, preserves all columns by matching the widest row, and handles CR-only line endings. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Escapes pipes and newlines in CSV values when generating Markdown tables. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Ignores malformed styles missing a type, preserves namespaces when repairing stylesheets, handles inconsistent ZIP filename casing, and preserves underlined text. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- 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. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Corrects the underleftarrow macro and math italic h mapping. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Handles a missing exiftool binary and decodes its JSON output as UTF-8. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Correctly handles percent-encoded Windows drive paths in file URIs. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Preserves strikethrough semantics from strike elements and line-through CSS. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Preserves percent-encoded octets in href paths. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Prefers data-src over a placeholder data URI in img src. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Truncates uppercase data image URIs and normalizes data URI parameter case. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Strips UTF-8 BOMs so notebooks are not emitted as raw JSON and preserves leading hash characters in heading titles. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Catches UnicodeDecodeError when checking non-decodable content. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Corrects the --list-plugins help text to reference --use-plugins. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Handles math runs without text children, missing oMath elements, and unknown math functions without crashing; also corrects accent templates. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Reads string properties saved in non-Unicode formats and improves ANSI decoding for Japanese code pages and padded strings. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Treats a top coordinate of zero as a value rather than as missing. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- 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. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Falls back to plain text when RSS item content triggers RecursionError. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- 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. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Initializes parsed text to prevent UnboundLocalError when processing RSS content. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Preserves strikethrough semantics for strike elements, line-through CSS, and Word w:dstrike. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Does not convert an undecodable file to the word 'None'. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Preserves whitespace underlines. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Handles URI schemes case-insensitively. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Avoids rendering a '# None' heading when a Wikipedia page has no title. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Tolerates legacy showZeroes sheet views. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Handles missing title metadata and falls back to HTML when no video content is extracted. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Forwards kwargs to nested conversions, preserves entries with duplicate filenames, and renders '(unknown)' rather than literal 'None' when a stream has no source information. (0.1.8) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.8)
- Corrects invalid LaTeX macros for mu, nu, tau, and down-arrow. (0.1.7) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.7)
- Fixes bugs in OMML templates. (0.1.7) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.7)
- Handles PPTX SVG images that do not have a rasterized fallback. (0.1.7) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.7)
- Handles deeply nested HTML that triggers RecursionError. (0.1.6) — [release notes](https://github.com/microsoft/markitdown/releases/tag/v0.1.6)
