Releases: dotnet/docfx
v2.62.1
v2.62.0
What's Changed
💥 Breaking Changes
- BREAKING CHANGE: Drop incremental build by @yufeih in #8379 #8388
- BREAKING CHANGE: Docset.Build does not generate .NET YAML files by @yufeih in #8399
- BREAKING CHANGE: Hide explicit interface implementations if show private members is off by @yufeih in #8409
- BREAKING CHANGE: Exclude a parent namespace also exclude its child namespaces by @yufeih in #8409
🎉 New Features
- feat: Upgrade
highlight.js
with latest C# syntax highlighting by @yufeih in #8395 - feat: improve .NET API generation diagnostics by @yufeih in #8385 #8397
- feat: Support <include> XML comment tag by @yufeih in #8393
- feat: API to generate .NET YAML files with custom filtering by @yufeih in #8399 #8408
- feat: Show private members by @yufeih in #8409
- feat: Align XML comment behavior for assemblies with projects by @yufeih in #8387
- feat: Experimental support for multi-level TOC files by @NanoBob in #8371
🐞 Bug Fixes
- fix: Assert failure for cast operator overloads by @yufeih in #8384
- fix: Projects in sln build twice by @yufeih in #8386
📄 Documentation
- Update license link in README by @vivere-dally in #8398
- Update GitHub actions integration doc by @hynky1999 in #8403
New Contributors
- @vivere-dally made their first contribution in #8398
- @hynky1999 made their first contribution in #8403
Full Changelog: v2.61.0...v2.62.0
v2.61.0
.NET 7.0 and C# 8, 9, 10, 11
This release adds support for .NET 7 and C# 8, 9, 10, 11. Docfx can now generate API docs for .NET 7 projects supporting all the latest C# language features including:
- Nullable reference types
- Default interface members
- Init-only setters
- Record types
- Record struct
- Checked user defined operators
- Static abstract interface members
- Required modifier
Display of API names and signatures have been updated to be more idiomatic C#, including but not limited to:
- Short familiar type names such as
string
,int
?
for nullable structs and()
for tuples
Markdown engine and custom markdown extensions
Markdig has been changed to be the default and recommended markdown engine in docfx. At the same time we are deprecating dfm
and other markdown engines supported by docfx. Dfm
markdown engine would be removed in some future releases.
To use a custom markdown extension in markdig, a ConfigureMarkdig
build option is added to customize the markdig markdown pipeline:
var options = new BuildOptions
{
// Enable custom markdown extensions here
ConfigureMarkdig = pipeline => pipeline.UseCitations(),
}
await Docset.Build("docfx.json", options);
Client-side redirection
The new redirect_url
metadata redirects a page to a new URL. To setup redirection for a markdown article, remove all markdown content and replace it with:
---
redirect_url: <URL to redirect to>
---
Known Issues
- Default nullable enum values displayed as numbers instead of enums dotnet/roslyn#66514
- Nullable reference type in the parameters table missing
?
.
What's Changed
💥 Breaking Changes
- BREAKING CHANGE: Set markdig as default and deprecate dfm. by @yufeih in #8342
- BREAKING CHANGE: Drop modifiers from .NET API YAML output by @yufeih in #8364
- BREAKING CHANGE: Drop builtin fsproj support by @yufeih in #8375
🎉 New Features
- feat: Support building csproj targeting net7.0 by @yufeih in #8349
- feat: Support redirect_url by @yufeih in #8340
- feat: Clickable console log by @yufeih in #8341
- feat: Allow custom markdown extensions by @yufeih in #8358
- feat: Display C# API using SymbolDisplay by @yufeih in #8366 #8367 #8374
- feat: display C# special types using familiar format by @yufeih in #8372
🐞 Bug Fixes
🔧 Engineering
- build: Upgrade to Jint 3.0.0-beta-2046 by @lahma in #8361
- build: Upgrade to YamlDotNet version 12.3.1 by @lahma in #8373
📄 Documentation
- docs: Corrected typo by @Diagonir in #8368
- docs: Update docfx.exe_user_manual.md by @zp-zpanda in #8377
New Contributors
- @lahma made their first contribution in #8361
- @Diagonir made their first contribution in #8368
- @NanoBob made their first contribution in #8370
- @zp-zpanda made their first contribution in #8377
Full Changelog: v2.60.0...v2.61.2
v2.60.2
v2.60.1
What's Changed
🐞 Bug Fixes
- fix: RunPdf.Exec threw ArgumentNullException resolving path to wkhtmltopdf by @chrisvanderpennen in #8350
- ci: publish self contained binaries to GitHub releases
New Contributors
- @chrisvanderpennen made their first contribution in #8350
Full Changelog: v2.60.0...v2.60.1
Version 2.60.0
.NET Core Support
This is the first stable release of docfx on .NET Core!
Docfx is released as a .NET Core Tool starting from v2.60.0
. To install, run:
dotnet tool update -g docfx
The rest of the command line experience hasn't changed and are backward compatible. We've also updated docfx homepage use the .NET Core version of docfx.
What's Changed
🎉 New Features
- Go net6.0 by @tibel in #8238 #8239 #8241 #8254
- feat: Upgrade to .NET Core by @yufeih in #8279
- ci: Ship as global tool to NuGet.org by @yufeih in #8280
- fix: Fix serve command by owin -> ASPNET.Core by @yufeih in #8293
- feat: New extensibility model based on libraries by @yufeih in #8306
- feat: publish template assets as NuGet contentFiles by @yufeih in #8307
- feat: drop compilation dependency on .NET Framework by @yufeih in #8309
- feat: Support MacOS by @yufeih in #8310
- feat: Support Ubuntu by @yufeih in #8311
- feat: detect GH action branch name by @yufeih in #8314
🐞 Bug Fixes
- fix: TOC word-break not being inserted in generic types by @julesabr in #8217
- fix: Crash fixes for CopyInherited by @Sorpirit in #7709
- fix: Fix on DocFX crashes on method parameter by @harriev9 in #8208
🔧 Engineering
- build: Update package references by @tibel in #8139
- build: Upgrade NuGet.Protocol by @YunshuMeg in #8236
- build: Upgrade Newtonsoft.Json from 13.0.1 to 13.0.2 by @YunshuMeg in #8257
- test: Add samples and snapshot testing by @yufeih in #8299
- build: Remove old package references by @tibel in #8318
📄 Documentation
- docs: Product docs rework for new release by @yufeih in #8332
- docs: Fix typo by @Lulalaby in #8252
- docs: Update issue templates by @yufeih in #8294
New Contributors
- @julesabr made their first contribution in #8217
- @Sorpirit made their first contribution in #7709
- @harriev9 made their first contribution in #8208
- @Lulalaby made their first contribution in #8252
Full Changelog: v2.59.4...v2.60.0
Version 2.60.0-preview.2
What's Changed
Addresses all known limitations in v2.60.0-preview.1:
- .NET Core: Support generating APIs from source code, csproj, DLLs without installing .NET Framework.
- Cross platform: Support Windows, Linux and MacOS
- New Extensibility Model:
docfx.console
and plugins are replaced with a new compile time extensibility model. To consume docfx as a library or use docfx extensions, add reference to theMicrosoft.DocAsCode.App
package. Seesamples/extensions
folder on a sample using thememberpage
plugin.
🎉 New Features
- feat: New extensibility model based on libraries by @yufeih in #8306
- feat: publish template assets as NuGet contentFiles by @yufeih in #8307
- feat: drop compilation dependency on .NET Framework by @yufeih in #8309
- feat: Support MacOS by @yufeih in #8310
- feat: Support Ubuntu by @yufeih in #8311
Full Changelog: v2.60.0-preview.1...v2.60.0-preview.2
Version 2.60.0-preview.1
.NET Core Support
This is the first preview of docfx that builds on top of .NET Core!
Docfx is released as a .NET Core Tool starting from v2.60.0-preview.1
. .NET 6.x is required to run docfx. To install, run:
dotnet tool update -g docfx --version 2.60.0-preview.1
The rest of the command line experience hasn't changed and are backward compatible. We've also updated docfx homepage use the .NET Core version of docfx.
Known Limitations
- Msbuild integration through
docfx.console
is not supported in this preview. - Plugins like
memberpage
,rest.tagpage
,rest.operationpage
are not supported in this preview. - Supports Windows only. Linux and MacOS are not supported in this preview.
- .NET Framework 4.x is still needed to build from source code in this preview.
What's Changed
🎉 New Features
- feat: Go net6.0 by @tibel in #8238 #8239 #8241 #8254
- feat: Upgrade to .NET Core by @yufeih in #8279
- feat: Ship as global tool to NuGet.org by @yufeih in #8280
- feat: Serve command using ASPNET.Core by @yufeih in #8293
- feat: Deterministic output by @yufeih in #8299
🐞 Bug Fixes
- fix: TOC word-break not being inserted in generic types by @julesabr in #8217
- fix: Crash fixes for CopyInherited by @Sorpirit in #7709
- fix: Fix on DocFX crashes on method parameter by @harriev9 in #8208
🔧 Engineering
- build: Update package references by @tibel in #8139
- build: Upgrade NuGet.Protocol by @YunshuMeg in #8236
- build: Upgrade Newtonsoft.Json from 13.0.1 to 13.0.2 by @YunshuMeg in #8257
- test: Add samples and snapshot testing by @yufeih in #8299
📄 Documentation
New Contributors
- @julesabr made their first contribution in #8217
- @Sorpirit made their first contribution in #7709
- @harriev9 made their first contribution in #8208
- @Lulalaby made their first contribution in #8252
Full Changelog: v2.59.4...v2.60.0-preview.1
Version 3.0.0-beta1.1260+9e3c31b73d
Merge pull request #8212 from dotnet/v3-9019f386b 🚢🚢🚢
Version 3.0.0-beta1.1253+746a8e2c7d
Merge pull request #8201 from dotnet/v3-rel-upgrade-validation upgrade validation library to include new domains (#8199)