What's Changed
✨ Features & Platform Support
- Allow custom templates to override
search.min.jsin the modern template by @filzrev in #10055. - Add
metadata.sourceLinkExcludeto exclude selected source paths from View Source links without removing API documentation by @vicancy in #11141. - Record the DocFX build version in the
docfx_versionfield ofmanifest.jsonby @vicancy in #11162. - Add a .NET 11 RC target, including support for the .NET 11 Razor source generator, while retaining .NET 8, 9, and 10 targets by @vicancy and @filzrev in #11176 and #11182.
⚡ Performance & Reliability
- Reduce JavaScript template processing overhead and memory allocations by reusing parsed scripts and improving model conversion. Add execution limits to prevent runaway scripts from hanging builds by @lahma in #11084.
- Avoid unnecessary exceptions and repeated file reads when loading
toc.ymlby @filzrev in #9974.
🐛 Bug Fixes
- Restore source links for partial types extended by source generators by @vicancy in #11141.
- Fix local namespace links in managed reference documentation by resolving them through xrefs during site generation by @vicancy in #11163.
- Preserve nested XML blocks when inserting Markdown separators, preventing content from incorrectly rendering as code blocks by @vicancy in #11175.
- Preserve explicit
falseand0values when overwriting nullable properties by @vicancy in #11181.
📦 Dependency Updates
- Update Jint to 4.16.3 in #11157.
- Update Markdig to 1.4.0 in #11158 and #11160.
- Update YamlDotNet to 18.1.0 in #11167.
- Update PdfPig to 0.1.16 in #11168.
- Update ICSharpCode.Decompiler to 11.1.0.9782 in #11184.
- Update System.Composition to 10.0.12 in #11165.
Upgrade Notes
Custom JavaScript template preprocessors now enforce a 30-second timeout and a 50-million-statement limit for each getOptions or transform invocation. Long-running custom scripts may need adjustment.
Full Changelog: v2.80.1...v2.81.0