Repository navigation
Releases: dotnet/docfx
Release list
v2.81.0
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
v2.80.1
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
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
- @smartcaveman made their first contribution in #11005
Full Changelog: v2.78.5...v2.78.6
v2.78.5
v2.78.4
🚀 Release Notes
🌟 New Features
🐞 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
IOExceptiongracefully when file access conflicts occur. (#10786) - ✅ Fix PDF generation failure when navigating within the same page or hash fragment. (#10768)
- ✅ Use
textContentto correctly render header titles. (#10790) - ✅ Fixed nightly build CI and dependency updates. (#10679, #10694)
- ✅ Added event handling for
AnalyzerLoadFailedto improve debugging. (#10617)
⚡ Performance Improvements
- ⚙️ Use cached
MarkdownPipelineinstance to reduce re-initialization overhead. (#10568) - ⚙️ Reuse
YamlDeserializerinstance 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
.slnxinclusion. (#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
What's Changed
🎉 New Features
- feat: Add
noRestoreoption todocfx metadatacommand by @filzrev in #10428 - feat: Allow extensionless URL HTML file access by @filzrev in #10436
- feat: Add
.slnxsolution format metadata generation support by @filzrev in #10540 - feat!: search improvements by @frarees in #10113
🐞 Bug Fixes
- fix: Add
remarkscontent to enum members by @filzrev in #10434 - fix: Modify
isCoverPagecheck 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
APIPagedeserialization by @filzrev in #10548
New Contributors
Full Changelog: 2.78.2...v2.78.3
v2.78.2
What's Changed
🎉 New Features
- feat: Reformat YouTube videos to the embeded URL by @hultqvist in #10372
🐞 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
- chore: Add published package tests to nightly build workflow by @filzrev in #10403
- chore: Update
Dockerfileby @filzrev in #10407
New Contributors
- @hultqvist made their first contribution in #10372
Full Changelog: 2.78.1...2.78.2
v2.78.1
v2.78.0
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
CancellationTokensupport forRunBuild.Execby @filzrev in #10185 - feat: add
AllowUnsafeBlockssupports 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
- docs: update ConceptualDocumentProcessor reference by @emmanuel-ferdman in #10237
- docs: Update Version in "Use the NuGet Library" by @RiPont in #10233
- docs: Add Publish from Azure DevOps by @kale-swapnil in #10213
- docs: fixed article a/an in config.md by @MorkovnySok in #10272
- docs: Add node.js as prerequisite by @filzrev in #10299
- docs: Document the xref
nameWithTypeoption by @AArnott in #10368
New Contributors
- @frarees made their first contribution in #10090
- @KubaZ2 made their first contribution in #10204
- @emmanuel-ferdman made their first contribution in #10237
- @RiPont made their first contribution in #10233
- @kale-swapnil made their first contribution in #10213
- @MorkovnySok made their first contribution in #10272
- @AArnott made their first contribution in #10368
Full Changelog: v2.77.0...v2.78.0
v2.77.0
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.jsontransform logics usingtoc.extension.jsby @filzrev in #9953 - feat: Better error when link not found by @Patrick8639 in #9957
- feat: Add
categoryLayoutoption 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
Producerdocument 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 metadatacommand throwArgumentExceptionwhen 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 packcommand 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
- docs: Fix typo by @carlos-regis in #9871
- docs: Fix URL in markdown and match to html example by @si618 in #9881
- docs: Fix documentation site build warnings by @filzrev in #9895
- docs: Fix missing docfx.json config docs by @filzrev in #9935
- docs: Fix Docfx.App nuget package usage document by @filzrev in #9994
- docs: Fix plugin related docs and logs by @filzrev in #10029
New Contributors
- @carlos-regis made their first contribution in #9871
- @si618 made their first contribution in #9881
- @Patrick8639 made their first contribution in #9957
Full Changelog: v2.76.0...v2.77.0