github dotnet/docfx v2.81.0

3 hours ago

What's Changed

✨ Features & Platform Support

  • Allow custom templates to override search.min.js in the modern template by @filzrev in #10055.
  • Add metadata.sourceLinkExclude to exclude selected source paths from View Source links without removing API documentation by @vicancy in #11141.
  • Record the DocFX build version in the docfx_version field of manifest.json by @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.yml by @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 false and 0 values 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

Don't miss a new docfx release

NewReleases is sending notifications on new releases.