Version 0.1.8
v0.1.8
This release rolls up dozens of small patches and bug fixes. For typical inputs and use cases, we expect outputs and behavior to remain largely unchanged from version 0.1.7. The markitdown-ocr plugin has also been refactored to simplify future maintenance. ----- ## What's Changed * Mitigate UnicodeDecodeError due to wrong ASCII charset guess for long files by @fcatalan92 in https://github.com/microsoft/markitdown/pull/2360 * fix: support extended content-disposition filenames by @cat0825 in https://github.com/microsoft/markitdown/pull/2045 * fix: fall back to plain text when RSS item content triggers RecursionError by @shoemoney in https://github.com/microsoft/markitdown/pull/2333 * fix(cli): allow Content Understanding conversion from stdin by @uczltw6 in https://github.com/microsoft/markitdown/pull/2318 * fix: correct \underleftarrow macro and map math italic h in equation conversion by @gdols in https://github.com/microsoft/markitdown/pull/2293 * feat(cli): support MARKITDOWN_CU_ENDPOINT / MARKITDOWN_DOCINTEL_ENDPOINT by @seenws in https://github.com/microsoft/markitdown/pull/2358 * fix(csv): strip the UTF-8 BOM and skip blank rows before building the table by @uuzzrm in https://github.com/microsoft/markitdown/pull/2303 * Preserve strikethrough from \<strike\> and CSS line-through by @gyanu2507 in https://github.com/microsoft/markitdown/pull/2342 * Fix percent-encoded Windows drive paths in file URIs by @tandede in https://github.com/microsoft/markitdown/pull/2315 * fix: escape pipes and newlines in CSV values by @asjad3 in https://github.com/microsoft/markitdown/pull/2266 * fix(epub): safely extract metadata text without crashing on None nodeValue or nested elements by @hsusul in https://github.com/microsoft/markitdown/pull/2247 * fix: handle math run with no text child in OMML->LaTeX conversion by @S1MS4 in https://github.com/microsoft/markitdown/pull/2189 * fix: IpynbConverter.accepts() catches UnicodeDecodeError on non-decodable content (fixes #1894) by @hanhan761 in https://github.com/microsoft/markitdown/pull/1929 * fix(docx): ignore malformed styles missing type by @gingerninja85 in https://github.com/microsoft/markitdown/pull/2190 * Preserve percent-encoded octets in href paths by @Sonai124 in https://github.com/microsoft/markitdown/pull/2173 * fix: remove extra closing brace from caron and ring-above accent templates by @AndrewAvery7 in https://github.com/microsoft/markitdown/pull/2279 * fix: preserve strikethrough semantics for \<strike\>, line-through CSS, and w:dstrike by @wasim-builds in https://github.com/microsoft/markitdown/pull/2356 * fix: buffer CLI stdin before format detection on Windows by @mohui666 in https://github.com/microsoft/markitdown/pull/2351 * fix(rss): preserve Atom XHTML content by @weivwang in https://github.com/microsoft/markitdown/pull/2297 * fix: initialize md_text in _parse_rss_type to prevent UnboundLocalError by @smedavarapu1 in https://github.com/microsoft/markitdown/pull/2164 * fix: ZipConverter renders '(unknown)' instead of literal 'None' when stream has no source info by @JSap0914 in https://github.com/microsoft/markitdown/pull/2134 * fix: truncate uppercase data image URIs by @pony-maggie in https://github.com/microsoft/markitdown/pull/2122 * fix(doc-intel): default api_version to None in DocumentIntelligenceConverter by @MeiSiristhebest in https://github.com/microsoft/markitdown/pull/2267 * fix(outlook): read .msg string properties saved in the non-Unicode format by @gdols in https://github.com/microsoft/markitdown/pull/2295 * fix: handle URI schemes case-insensitively by @pony-maggie in https://github.com/microsoft/markitdown/pull/2121 * fix: normalize data URI parameter case by @pony-maggie in https://github.com/microsoft/markitdown/pull/2120 * fix(xlsx): tolerate legacy showZeroes sheet views by @he-yufeng in https://github.com/microsoft/markitdown/pull/2064 * docs: use canonical markdown result property by @CooperSheroy in https://github.com/microsoft/markitdown/pull/2259 * fix(youtube): handle missing title metadata without raising AssertionError by @hsusul in https://github.com/microsoft/markitdown/pull/2238 * fix(ipynb): preserve leading # in notebook heading titles by @Alphaxiaoteng in https://github.com/microsoft/markitdown/pull/2371 * fix(docx): preserve underlined text by @he-yufeng in https://github.com/microsoft/markitdown/pull/2017 * fix(pptx): ignore empty llm captions by @Lubrsy706 in https://github.com/microsoft/markitdown/pull/1886 * fix: PptxConverter tolerates None shape.text and notes text by @alvinttang in https://github.com/microsoft/markitdown/pull/2059 * fix(pptx): prevent crash in PptxConverter when chart title lacks a text frame by @aoright in https://github.com/microsoft/markitdown/pull/2194 * fix: catch OSError when exiftool binary is missing (#1960) by @doitgo in https://github.com/microsoft/markitdown/pull/2082 * Fix exiftool JSON decoding to use UTF-8 by @Vedant43hh in https://github.com/microsoft/markitdown/pull/2067 * fix: WikipediaConverter renders hash None heading when page has no title by @hanhan761 in https://github.com/microsoft/markitdown/pull/1990 * fix: guard against missing oMath element in DOCX math converter (#1979) by @hanhan761 in https://github.com/microsoft/markitdown/pull/1995 * fix: handle DOCX files with inconsistent ZIP filename casing (#1812) by @lyydsheep in https://github.com/microsoft/markitdown/pull/2016 * Support short YouTube URLs by @MukundaKatta in https://github.com/microsoft/markitdown/pull/1882 * fix: suppress pydub RuntimeWarning when ffmpeg is missing (fixes #1685) by @hanhan761 in https://github.com/microsoft/markitdown/pull/1985 * chore: remove unused mammoth import from PlainTextConverter (#1951) by @hanhan761 in https://github.com/microsoft/markitdown/pull/1953 * fix(rss): treat Atom text content and summary as plain text by @lazerg in https://github.com/microsoft/markitdown/pull/2374 * fix: ImageConverter gracefully handles LLM API failures (fixes #1942) by @hanhan761 in https://github.com/microsoft/markitdown/pull/1948 * fix(docx): handle unknown math functions in OMML converter without crashing by @MeiSiristhebest in https://github.com/microsoft/markitdown/pull/2268 * Update README to help scope PRs. by @afourney in https://github.com/microsoft/markitdown/pull/2376 * Be sure to run the proper Python version. by @afourney in https://github.com/microsoft/markitdown/pull/2379 * fix(pptx): chart_title.text_frame is never None — use has_text_frame instead by @kapil971390 in https://github.com/microsoft/markitdown/pull/2385 * Preserve all CSV columns by matching the widest row by @afourney in https://github.com/microsoft/markitdown/pull/2430 * Fix CSV parsing for CR-only line endings by @tkv00 in https://github.com/microsoft/markitdown/pull/2412 * fix(rss): support namespace-prefixed Atom feeds by @Elysium-Seeker in https://github.com/microsoft/markitdown/pull/2429 * fix(rss): drop layout whitespace from feed and entry titles by @kevin9327 in https://github.com/microsoft/markitdown/pull/2428 * fix(pptx): do not emit a Notes heading for a slide with no notes by @kevin9327 in https://github.com/microsoft/markitdown/pull/2427 * fix(ipynb): strip the UTF-8 BOM so a notebook is not emitted as raw JSON by @kevin9327 in https://github.com/microsoft/markitdown/pull/2425 * fix(rss): preserve complete feed content and resolve relative link by @afourney in https://github.com/microsoft/markitdown/pull/2432 * fix(epub): forward conversion options to the HTML converter by @kevin9327 in https://github.com/microsoft/markitdown/pull/2426 * Update Docker images to Debian trixie (Python 3.13-slim-trixie) by @erwinkersten in https://github.com/microsoft/markitdown/pull/2421 * Fix Zip converter forwarding kwargs to nested conversions by @As9xm in https://github.com/microsoft/markitdown/pull/2409 * Do not convert an undecodable file to the word "None" by @kevin9327 in https://github.com/microsoft/markitdown/pull/2418 * Fix PPTX shape sorting treating top-zero as missing by @As9xm in https://github.com/microsoft/markitdown/pull/2408 * fix(epub): resolve percent-encoded manifest hrefs to ZIP entries by @sushantlokhande14 in https://github.com/microsoft/markitdown/pull/2413 * Fix --list-plugins help text to reference correct --use-plugins flag by @freetg71527152-ui in https://github.com/microsoft/markitdown/pull/2381 * fix: prefer data-src over placeholder data URI in img src by @macjayz in https://github.com/microsoft/markitdown/pull/2417 * fix(zip): preserve content of entries with duplicate filenames by @lyydsheep in https://github.com/microsoft/markitdown/pull/2434 * fix(pptx): do not emit a heading for a slide with an empty title by @kevin9327 in https://github.com/microsoft/markitdown/pull/2442 * fix(mcp): migrate to MCP SDK 2.x so 2026-07-28 clients can connect by @cagdasyurekli in https://github.com/microsoft/markitdown/pull/2363 * Reject UNC and Windows device paths (similar to how netlocks are alre… by @afourney in https://github.com/microsoft/markitdown/pull/2452 * Expand test matrix to include windows-latest by @afourney in https://github.com/microsoft/markitdown/pull/2453 * Added file paths tests. by @afourney in https://github.com/microsoft/markitdown/pull/2454 * Add arm to matrix. Simplify matrix. by @afourney in https://github.com/microsoft/markitdown/pull/2459 * Workaround for ARM CI tests. by @afourney in https://github.com/microsoft/markitdown/pull/2460 * Fix ANSI Outlook MSG decoding for Japanese code pages and padded strings by @afourney in https://github.com/microsoft/markitdown/pull/2462 * Trim CSV blank runs without repeatedly shifting the row list by @ROTl24 in https://github.com/microsoft/markitdown/pull/2450 * Improve efficiency of escaping pipes in CSVs by @afourney in https://github.com/microsoft/markitdown/pull/2464 * fix: avoid splitting UTF-8 characters during charset detection by @afourney in https://github.com/microsoft/markitdown/pull/2466 * fix(docx): preserve namespaces when repairing stylesheets by @afourney in https://github.com/microsoft/markitdown/pull/2467 * fix(youtube): fall back to HTML when no video content is extracted by @afourney in https://github.com/microsoft/markitdown/pull/2469 * Throw an error when llm client fails with image converter. by @afourney in https://github.com/microsoft/markitdown/pull/2476 * Preserve whitespace underlines by @afourney in https://github.com/microsoft/markitdown/pull/2477 * Refactor Office OCR converters to reuse core conversion pipelines by @afourney in https://github.com/microsoft/markitdown/pull/2506 * fix: bump youtube-transcript-api to >=1.2.3 for Python 3.14 support by @nithin434 in https://github.com/microsoft/markitdown/pull/2407 ## New Contributors * @danfiedler-msft made their first contribution in https://github.com/microsoft/markitdown/pull/2316 * @fcatalan92 made their first contribution in https://github.com/microsoft/markitdown/pull/2360 * @cat0825 made their first contribution in https://github.com/microsoft/markitdown/pull/2045 * @shoemoney made their first contribution in https://github.com/microsoft/markitdown/pull/2333 * @uczltw6 made their first contribution in https://github.com/microsoft/markitdown/pull/2318 * @gdols made their first contribution in https://github.com/microsoft/markitdown/pull/2293 * @seenws made their first contribution in https://github.com/microsoft/markitdown/pull/2358 * @uuzzrm made their first contribution in https://github.com/microsoft/markitdown/pull/2303 * @gyanu2507 made their first contribution in https://github.com/microsoft/markitdown/pull/2342 * @tandede made their first contribution in https://github.com/microsoft/markitdown/pull/2315 * @asjad3 made their first contribution in https://github.com/microsoft/markitdown/pull/2266 * @hsusul made their first contribution in https://github.com/microsoft/markitdown/pull/2247 * @S1MS4 made their first contribution in https://github.com/microsoft/markitdown/pull/2189 * @hanhan761 made their first contribution in https://github.com/microsoft/markitdown/pull/1929 * @gingerninja85 made their first contribution in https://github.com/microsoft/markitdown/pull/2190 * @Sonai124 made their first contribution in https://github.com/microsoft/markitdown/pull/2173 * @AndrewAvery7 made their first contribution in https://github.com/microsoft/markitdown/pull/2279 * @wasim-builds made their first contribution in https://github.com/microsoft/markitdown/pull/2356 * @mohui666 made their first contribution in https://github.com/microsoft/markitdown/pull/2351 * @weivwang made their first contribution in https://github.com/microsoft/markitdown/pull/2297 * @smedavarapu1 made their first contribution in https://github.com/microsoft/markitdown/pull/2164 * @JSap0914 made their first contribution in https://github.com/microsoft/markitdown/pull/2134 * @pony-maggie made their first contribution in https://github.com/microsoft/markitdown/pull/2122 * @MeiSiristhebest made their first contribution in https://github.com/microsoft/markitdown/pull/2267 * @he-yufeng made their first contribution in https://github.com/microsoft/markitdown/pull/2064 * @CooperSheroy made their first contribution in https://github.com/microsoft/markitdown/pull/2259 * @Alphaxiaoteng made their first contribution in https://github.com/microsoft/markitdown/pull/2371 * @Lubrsy706 made their first contribution in https://github.com/microsoft/markitdown/pull/1886 * @alvinttang made their first contribution in https://github.com/microsoft/markitdown/pull/2059 * @aoright made their first contribution in https://github.com/microsoft/markitdown/pull/2194 * @doitgo made their first contribution in https://github.com/microsoft/markitdown/pull/2082 * @Vedant43hh made their first contribution in https://github.com/microsoft/markitdown/pull/2067 * @lyydsheep made their first contribution in https://github.com/microsoft/markitdown/pull/2016 * @MukundaKatta made their first contribution in https://github.com/microsoft/markitdown/pull/1882 * @lazerg made their first contribution in https://github.com/microsoft/markitdown/pull/2374 * @kapil971390 made their first contribution in https://github.com/microsoft/markitdown/pull/2385 * @tkv00 made their first contribution in https://github.com/microsoft/markitdown/pull/2412 * @Elysium-Seeker made their first contribution in https://github.com/microsoft/markitdown/pull/2429 * @kevin9327 made their first contribution in https://github.com/microsoft/markitdown/pull/2428 * @erwinkersten made their first contribution in https://github.com/microsoft/markitdown/pull/2421 * @As9xm made their first contribution in https://github.com/microsoft/markitdown/pull/2409 * @sushantlokhande14 made their first contribution in https://github.com/microsoft/markitdown/pull/2413 * @freetg71527152-ui made their first contribution in https://github.com/microsoft/markitdown/pull/2381 * @macjayz made their first contribution in https://github.com/microsoft/markitdown/pull/2417 * @cagdasyurekli made their first contribution in https://github.com/microsoft/markitdown/pull/2363 * @ROTl24 made their first contribution in https://github.com/microsoft/markitdown/pull/2450 * @nithin434 made their first contribution in https://github.com/microsoft/markitdown/pull/2407 **Full Changelog**: https://github.com/microsoft/markitdown/compare/v0.1.7...v0.1.8