Version 2025.3.22.0
Release notes for version 2025.3.22.0.
Build Tools
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.
Sandcastle Help File Builder
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.
Presentation Styles
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.