Skip to content

Releases: dotnet/docfx

v2.81.0

Choose a tag to compare

@vicancy vicancy released this 25 Sep 00:47
ba844df

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

v2.80.1

Choose a tag to compare

@vicancy vicancy released this 18 Sep 09:44
bd097d0

What's Changed

💪 Other Changes

  • fix: preserve thematic breaks in overwrite Markdown by @vicancy in #11142
  • fix: XML comment parse logics for block element that is adjacent to markdown content by @filzrev in #10966
  • chore: Update Roslyn and Microsoft.Build package dependencies by @filzrev in #11124
  • fix: preserve indentation around XML comment code blocks by @vicancy in #11143
  • fix: stop metadata generation when restore fails by @vicancy in #11146
  • fix: clarify empty .NET API diagnostics by @vicancy in #11145
  • fix: share tool templates across target frameworks by @vicancy in #11144
  • fix: honor TOC metadata while preserving file metadata overrides by @vicancy in #11140
  • fix(deps): update esbuild to 0.28.1 and tsx to 4.22.4 by @dependabot[bot] in #11077
  • feat(pdf): allow footer and header on cover and toc by @sergimos in #10958
  • chore(deps): bump actions/setup-dotnet from 5 to 6 by @dependabot[bot] in #11116
  • chore(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #11115
  • Bump Markdig from 1.1.0 to 1.1.1 by @dependabot[bot] in #11024
  • deps: Update JsonSchema.Net dependency to 8.0.5 by @filzrev in #10964

New Contributors

Full Changelog: v2.78.6...v2.80.1

v2.78.6

Choose a tag to compare

@vicancy vicancy released this 17 Sep 04:11
ad05df4

What's Changed

💪 Other Changes

  • chore(deps): bump dependabot/fetch-metadata from 2.3.0 to 2.5.0 by @dependabot[bot] in #10956
  • chore(deps): bump paulhatch/semantic-version from 5.4.0 to 6.0.1 by @dependabot[bot] in #10978
  • chore(deps-dev): bump minimatch from 3.1.2 to 3.1.5 in /templates by @dependabot[bot] in #11016
  • Bump Jint from 4.6.0 to 4.6.1 by @dependabot[bot] in #11018
  • chore(deps): bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #11015
  • chore(deps): bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #11014
  • Bump Markdig from 1.0.0 to 1.1.0 by @dependabot[bot] in #11019
  • chore: remove unnecessary using to fix the Lint check by @lahma in #11085
  • Make xref archive download test hermetic by @vicancy in #11092
  • fix: treat different ports as external links by @vicancy in #11091
  • chore: cleanup YamlSerializationTest.cs by @filzrev in #10974
  • chore(deps-dev): bump follow-redirects from 1.15.11 to 1.16.0 in /templates by @dependabot[bot] in #11062
  • chore(deps): bump postcss from 8.5.6 to 8.5.14 in /templates by @dependabot[bot] in #11070
  • chore(deps): bump uuid and mermaid in /templates by @dependabot[bot] in #11073
  • chore(deps-dev): bump lodash from 4.17.23 to 4.18.1 in /templates by @dependabot[bot] in #11061
  • chore(deps): bump fast-uri from 3.1.0 to 3.1.2 in /templates by @dependabot[bot] in #11071
  • chore(deps): bump mermaid from 11.15.0 to 11.16.1 in /templates by @dependabot[bot] in #11093
  • chore(deps): bump dompurify from 3.3.1 to 3.4.13 in /templates by @dependabot[bot] in #11096
  • chore(deps-dev): bump js-yaml from 4.1.1 to 4.3.1 in /templates by @dependabot[bot] in #11095
  • chore(deps): bump postcss from 8.5.14 to 8.5.26 in /templates by @dependabot[bot] in #11094
  • chore(deps): bump fast-uri from 3.1.2 to 3.1.5 in /templates by @dependabot[bot] in #11097
  • chore(deps-dev): bump socket.io-parser from 4.2.5 to 4.2.7 in /templates by @dependabot[bot] in #11098
  • chore(deps): bump ws, engine.io-client, engine.io and socket.io-adapter in /templates by @dependabot[bot] in #11101
  • chore(deps-dev): bump brace-expansion from 1.1.12 to 1.1.18 in /templates by @dependabot[bot] in #11099
  • deps: Update playwright version to 1.60.0 by @filzrev in #11074
  • deps: Update roslyn package versions to 5.6.0 by @filzrev in #11047
  • fix(deps): apply compatible npm security updates by @vicancy in #11105
  • Bump the spectre group with 2 updates by @dependabot[bot] in #11102
  • Bump the xunit group with 1 update by @dependabot[bot] in #11107
  • Fix typo in Schema Document Processor overview by @smartcaveman in #11005
  • Bump coverlet.collector from 8.0.0 to 8.0.1 by @dependabot[bot] in #11045
  • chore(deps): bump paulhatch/semantic-version from 6.0.1 to 6.0.2 by @dependabot[bot] in #11036
  • chore(deps): bump dependabot/fetch-metadata from 2.5.0 to 3.0.0 by @dependabot[bot] in #11051
  • chore(deps): bump actions/deploy-pages from 4 to 5 by @dependabot[bot] in #11049
  • chore(deps): bump azure/login from 2 to 3 by @dependabot[bot] in #11035
  • Bump Jint from 4.6.1 to 4.6.3 by @dependabot[bot] in #11032
  • chore(deps): bump dorny/test-reporter from 2.5.0 to 3.0.0 by @dependabot[bot] in #11043
  • Bump AwesomeAssertions from 9.4.0 to 9.5.0 by @dependabot[bot] in #11114
  • chore(deps): bump dependabot/fetch-metadata from 3.0.0 to 3.1.0 by @dependabot[bot] in #11110
  • chore(deps): bump paulhatch/semantic-version from 6.0.2 to 6.0.3 by @dependabot[bot] in #11112
  • chore(deps): bump actions/upload-pages-artifact from 4 to 5 by @dependabot[bot] in #11109
  • chore(deps): bump codecov/codecov-action from 5 to 7 by @dependabot[bot] in #11113
  • chore(deps): bump actions/github-script from 8 to 9 by @dependabot[bot] in #11111
  • Bump the xunit group with 1 update by @dependabot[bot] in #11117
  • Bump coverlet.collector from 8.0.1 to 10.0.1 by @dependabot[bot] in #11119
  • Bump Microsoft.NET.Test.Sdk from 18.0.1 to 18.9.0 by @dependabot[bot] in #11122
  • Bump AwesomeAssertions from 9.5.0 to 9.6.0 by @dependabot[bot] in #11125
  • Bump Microsoft.Playwright from 1.60.0 to 1.62.0 by @dependabot[bot] in #11127
  • Bump HtmlAgilityPack from 1.12.4 to 1.13.0 by @dependabot[bot] in #11128
  • chore(deps): bump postcss-selector-parser from 7.1.1 to 7.1.5 in /templates by @dependabot[bot] in #11132
  • chore(deps): bump fast-uri from 3.1.5 to 3.1.7 in /templates by @dependabot[bot] in #11133
  • chore(deps-dev): bump @humanfs/node from 0.16.7 to 0.16.8 in /templates by @dependabot[bot] in #11134
  • Fix command order in root help usage by @vicancy in #11108
  • chore(deps-dev): bump js-yaml from 4.3.1 to 4.3.2 in /templates by @dependabot[bot] in #11137
  • chore(deps): bump immutable from 3.8.2 to 3.8.4 in /templates by @dependabot[bot] in #11139

New Contributors

Full Changelog: v2.78.5...v2.78.6

v2.78.5

Choose a tag to compare

@yufeih yufeih released this 24 Feb 02:46
fafdcd5

What's Changed

Add support for .NET 10 target framework by @filzrev in #10859

Full Changelog: v2.78.4...v2.78.5

v2.78.4

Choose a tag to compare

@yufeih yufeih released this 24 Oct 05:28
ba9dfcb

🚀 Release Notes

🌟 New Features

  • 🧩 Updated to Roslyn 4.13.0 and added .NET 10 nightly build support. (#10577, #10561)

🐞 Bug Fixes

  • ✅ Include [Experimental] attribute support by default. (#10566)
  • ✅ Include global type metadata for all output formats. (#10611)
  • ✅ Skip non-managed assemblies to prevent runtime errors. (#10692)
  • ✅ Fix TOC grouping regression introduced by earlier refactor. (#10700)
  • ✅ Fix Bicep.js import error on the samples site. (#10738)
  • ✅ Handle IOException gracefully when file access conflicts occur. (#10786)
  • ✅ Fix PDF generation failure when navigating within the same page or hash fragment. (#10768)
  • ✅ Use textContent to correctly render header titles. (#10790)
  • ✅ Fixed nightly build CI and dependency updates. (#10679, #10694)
  • ✅ Added event handling for AnalyzerLoadFailed to improve debugging. (#10617)

⚡ Performance Improvements

  • ⚙️ Use cached MarkdownPipeline instance to reduce re-initialization overhead. (#10568)
  • ⚙️ Reuse YamlDeserializer instance for better memory efficiency. (#10567)
  • ⚙️ Migrated test assertions to AwesomeAssertions for faster, cleaner test runs. (#10563)
  • ⚙️ Improved analyzer diagnostics and reduced noisy suggestions. (#10578)

📘 Documentation Updates

  • 📄 Minor doc fix and .slnx inclusion. (#10610)
  • 📄 Fixed config reference documentation. (#10683)
  • 📄 Corrected PlantUML class diagram link. (#10638)
  • 📄 Updated “Tabs with ***” section formatting. (#10699)
  • 📄 Fixed minor spelling errors. (#10723)
  • 📄 Updated Bicep sample to use official Highlight.js syntax. (#10715)
  • 📄 Added DeepWiki badge and improved emoji font embedding in PDF generation. (#10680, #10678)
  • 📄 Inputs in navigation and TOC search now auto-focus when icons are clicked. (#10754)

🙌 Contributors

Thanks to our awesome contributors for this release:
@filzrev, @Lombra, @frarees, @ettfemnio, @Lulalaby, @mgarstenauer, @anthony-c-martin, @clicktodev, @Copilot, and everyone who helped improve this release 💙

v2.78.3

Choose a tag to compare

@yufeih yufeih released this 20 Feb 03:59
850a61c

What's Changed

🎉 New Features

🐞 Bug Fixes

  • fix: Add remarks content to enum members by @filzrev in #10434
  • fix: Modify isCoverPage check conditions by @filzrev in #10453
  • fix: Use provided references for search of dependencies in AssemblyCompilations by @Herrmel in #10491
  • fix: Doc comment <code> block is not rendered correctly by @filzrev in #10390

🚀 Performance Improvements

  • perf: Optimize pdf generation performance by reducing file I/O by @filzrev in #10461
  • perf: Reduce exceptions of APIPage deserialization by @filzrev in #10548

New Contributors

Full Changelog: 2.78.2...v2.78.3

v2.78.2

Choose a tag to compare

@yufeih yufeih released this 26 Nov 12:04
3ff9ae7

What's Changed

🎉 New Features

🐞 Bug Fixes

  • fix: Fix Node.js prerequisite issues by @filzrev in #10406
  • fix: System.Reflection.Metadata.Document.Name can throw BadImageForma… by @RobJessop in #10410
  • fix: Bootstrap variable override problem by @filzrev in #10412
  • fix: Skip header/footer rendering for cover page by @filzrev in #10416

📄 Documentation

💪 Other Changes

New Contributors

Full Changelog: 2.78.1...2.78.2

v2.78.1

Choose a tag to compare

@yufeih yufeih released this 19 Nov 09:30
602f6c9

What's Changed

🐞 Bug Fixes

  • fix: Place .playwright directory under bin directory by @filzrev in #10399
  • fix: Use PlantUML Online Server as default configs by @filzrev in #10395

Full Changelog: v2.78.0...2.78.1

v2.78.0

Choose a tag to compare

@yufeih yufeih released this 18 Nov 12:40
618e71b

This release introduces support for .NET 9 and drops support for .NET 6, with a wide range of bug fixes and improvements.
A big thank you to @filzrev for continuous improvements to DocFX and to @SimonCropp for the substantial contributions to code quality in this project!

What's Changed

💥 Breaking Changes

  • feat: Add .NET 9 support (and drop .NET 6 support) by @filzrev in #10239
  • feat: Change generated HTML encoding to UTF-8N (without BOM) by @filzrev in #10069

🎉 New Features

  • feat: Remove Node.js runtime dependencies from docfx tools by @filzrev in #10066
  • feat: UseClrTypeNames: new option to indicate that the output must use the CLR type names instead of the language specific aliases by @Patrick8639 in #10072
  • feat: pdfHeaderTemplate/pdfFooterTemplate supports value as file path by @yufeih in #10099
  • feat: expose type through the toc by @frarees in #10090
  • feat: Add CancellationToken support for RunBuild.Exec by @filzrev in #10185
  • feat: add AllowUnsafeBlocks supports for source code based metadata generation by @filzrev in #10175
  • feat: Add System.Text.Json serialization/deserialization supports by @filzrev in #10217

🐞 Bug Fixes

  • fix: PDF Header/Footer pages size by @filzrev in #10100
  • fix: missing delegate group name by @frarees in #10114
  • fix: prevent the first navbar element from being set as active unnecessarily in the modern template by @KubaZ2 in #10204
  • fix: NullReferenceException thrown when running tests in parallel by @filzrev in #10181
  • fix: change link as plaintext if API is excluded by @filzrev in #10300
  • fix: suppress assembly load warning for wpf 8.0 project by @yufeih in #10303

📄 Documentation

New Contributors

Full Changelog: v2.77.0...v2.78.0

v2.77.0

Choose a tag to compare

@yufeih yufeih released this 01 Jul 02:23
bd00e2b

What's Changed

💥 Breaking Changes

🎉 New Features

  • feat: Enable PreferCSSPageSize option for PDF generation by @filzrev in #9850
  • feat: Add docfx JSON Schema files and related tests by @filzrev in #9852
  • feat: Add toc.json transform logics using toc.extension.js by @filzrev in #9953
  • feat: Better error when link not found by @Patrick8639 in #9957
  • feat: Add categoryLayout option for metadata generation by @filzrev in #9965
  • feat: Permits to specify the placement of overwrites by @Patrick8639 in #9937
  • feat: Support private symbols by @Patrick8639 in #9972
  • feat: Add support for gzipped xrefmap that stored as local file by @filzrev in #9966
  • feat: Enable view transitions feature by @filzrev in #9909

🐞 Bug Fixes

  • fix: PDF Producer document information by @filzrev in #9851
  • fix: Xrefmap baseUrl problem reported at #9866 by @filzrev in #9869
  • fix: Xref links are not resolved on docs site by @filzrev in #9880
  • fix: Change same URL check logic to case invariant by @filzrev in #9883
  • fix: Improve unresolved xref messages by @filzrev in #9884
  • fix: Fix nightly build errors by @filzrev in #9913
  • fix: TOC filter value is not shared between pages by @filzrev in #9912
  • fix: Build problems when running .NET 6 version of docfx on some environment by @filzrev in #9922
  • fix: docfx metadata command throw ArgumentException when referencing empty namespace by doc comment by @filzrev in #10023
  • fix: serve url link by @WeihanLi in #10035

🚀 Performance Improvements

  • perf: Change serializer for XrefMap from NewtonsoftJson to System.Text.Json by @filzrev in #9872
  • perf: Remove some enum boxing in GlobMatcher by @lahma in #10051
  • perf: Optimize CountWordInText by @lahma in #10050

🔧 Engineering

  • chore: Skip unstable SVG content check that returned from PlantUML Online Server by @filzrev in #9858
  • deps: Update Spectre.Console package versions by @filzrev in #9894
  • chore: fix NU5129 warning on dotnet pack command by @filzrev in #9942
  • chore: Add PolySharp libarary to use latest C# syntax by @filzrev in #9960
  • chore: Add snapshot update workflow by @filzrev in #9969
  • chore: Remove unused workflow settings by @filzrev in #10030

📄 Documentation

New Contributors

Full Changelog: v2.76.0...v2.77.0