Version 2025.3.22.0
Release notes for version 2025.3.22.0.
Breaking Change: Several changes were made to the presentation style API
to support rendering of user-defined notices. If you have created custom build components, syntax generators,
plug-ins, or presentation styles, you will need to rebuild them against the latest release of the help file
builder NuGet packages.
This will likely be the last release to support Visual Studio 2017 and 2019. Future releases will
only support Visual Studio 2022 and later. I do not use the older versions anymore, it will allow me to simplify
the extension projects and keep the package references more up to date without the risk of breaking the build,
and implement future features without regard to maintaining backward compatibility with the older versions.
Fixed compiler generated ObsoleteAttribute removal so that it applies
to constructors on types with required fields/properties as well.
Fixed XML reader creation to consistently close the XML comments files in the working folder so
that they do not remain open and cause subsequent builds to fail because they cannot be replaced.
Fixed handling of string and character literals with characters not valid in XML. MRefBuilder
will now write them out to the reflection data file in their encoded form (\x001B, \t, \r, etc.) rather than
setting the entire value to an empty string.
Added support to MRefBuilder for writing out constant decimal values and setting the properties
on the member to use the const keyword rather than static readonly
to match the code.
Added support for the required modifier on fields and properties in
the C# syntax generator.
Added support for using the new XML format solution files (.slnx) as
documentation sources.
Updated handling of resource item files so that it includes them in the build based on the
project language if their filename ends with a language identifier.
Updated the resource item file editor to account for the language of the file being edited if
the filename ends with a language identifier.
Made some usability improvements to the Entity References tool window (focus the list on search,
double-click an item to copy it to the clipboard, moved the Insert As options to the toolbar so that they take
up less space).
Added a new Additional Notices Plug-In that can be used to define additional notice items to
render in topics and on member list pages based on attributes or XML comments elements.
Fixed a couple of instances of incorrect member name formatting in table of contents and page
titles.
Added support for ExperimentalAttribute to add tags to API members
similar to ObsoleteAttribute in all presentation styles.
Based on a suggestion from Tim Unie, reimplemented how notices are rendered in member topics
and member list pages in all presentation styles to allow for user-defined notices based on attributes or XML
comments elements.
Removed PreliminaryElement and its handler entries as it is now
handled by the new notice rendering code.
Added a new Notice
type to define notices.
Added a new CreateNoticeDefinitions
abstract method used to create default notice instances for a presentation style.