Skip to content

Commit

Permalink
Updates for new release
Browse files Browse the repository at this point in the history
- Fixed null reference exceptions caused by missing EII metadata in private/obfuscated members.  Fixes #917.
- Removed the Use External Web Browser option in the VSIX package options as the VS web browser tool window doesn't work well with the new Default2022 presentation style.  Website help will always open in the external web browser now.
- Updates to docs for new release.
  • Loading branch information
EWSoftware committed Oct 15, 2022
1 parent d600016 commit bb01976
Show file tree
Hide file tree
Showing 23 changed files with 146 additions and 92 deletions.
4 changes: 2 additions & 2 deletions Deployment/InstallerConfiguration.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- This indicates the tools version with which this installer is associated.-->
<tools version="2022.8.14.1" />
<tools version="2022.10.15.0" />

<!-- Define the installer pages. Third-party build tool and component providers can add new pages that
they have created to install their own products as well. -->
Expand All @@ -13,7 +13,7 @@
<page type="Sandcastle.Installer.InstallerPages.WelcomePage" />

<page type="Sandcastle.Installer.InstallerPages.WhatsNewPage">
<whatsNew url="https://EWSoftware.github.io/SHFB/html/502f1147-eaa4-4150-813d-a57eb6b521e8.htm"
<whatsNew url="https://EWSoftware.github.io/SHFB/html/5e4cbd92-c668-4774-95ea-4e2032c2729c.htm"
description="Current Version Release Notes" />
<whatsNew url="https://EWSoftware.github.io/SHFB/html/bc933f8f-e792-45bf-afec-62aa2c46aa3b.htm"
description="Third-Party Component Migration Support" />
Expand Down
2 changes: 1 addition & 1 deletion Documentation/SandcastleBuilder/CommonTokens.tokens
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@
<ddue:linkUri>https://GitHub.com/EWSoftware/SHFB</ddue:linkUri>
<ddue:linkTarget>_blank</ddue:linkTarget>
</ddue:externalLink></item>
<item id="SandcastleVersion">v2022.8.14.1</item>
<item id="SandcastleVersion">v2022.10.15.0</item>
<item id="VisualStudioMinVersion">Visual Studio 2017</item>
</content>
Original file line number Diff line number Diff line change
Expand Up @@ -84,12 +84,6 @@ In the standalone GUI, this option can also be toggled on and off via the <ui>Do
menu.</para>
</listItem>

<listItem>
<para><ui>Use external browser to view help websites</ui> - (Visual Studio extension package only)
If checked, the default external web browser will be used to open help website output. If left unchecked, help
website output will be opened in a tabbed document window within Visual Studio.</para>
</listItem>

<listItem>
<para><ui>Enable extended XML comments completion options</ui> - (Visual Studio 2017 extension package
only) If checked, extended XML comments completion items specific to the Sandcastle tools will appear as options
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<para>This topic provides information on migrating build components, plug-ins, presentation styles, and
syntax generators built against v2021.4.9.0 and earlier to the latest release that supports .NET Core and
deploying the components as NuGet packages. Presentation styles also underwent a complete rewrite in
version vNext. However, you may be able to replace your presentation style with simpler build components or
version 2022.8.14.0. However, you may be able to replace your presentation style with simpler build components or
plug-ins rather than reimplementing an entire presentation style.</para>

<autoOutline excludeRelatedTopics="true" lead="none" />
Expand Down Expand Up @@ -214,15 +214,18 @@ new parameter type.</para>
<section address="PresentationStyles">
<title>Migrating Presentation Style Projects</title>
<content>
<para>Starting with version vNext, presentation styles are implemented using a code-based API rather than
<para>Starting with version 2022.8.14.0, presentation styles are implemented using a code-based API rather than
XSL transformations. This makes them much easier to extend and modify compared to prior releases. If you
created your own presentation style in the past to make adjustments to how the topics were rendered or to add or
remove handling for certain sections or elements, it is entirely likely that you will not need to create a whole
new presentation style going forward. Instead, you should be able to implement just those parts that you need to
modify using standard help file builder plug-ins to adjust how the topics are rendered with selected presentation
style regardless of which one is selected.</para>


style regardless of which one is selected. See the <link xlink:href="baf1dcbc-e9cf-4d71-a770-621e6eaf10a7" />
for more information.</para>

<para>A new project template and more information on creating a presentation style using the new API will
be provided in a future release.</para>
<!--
<list class="bullet">
<listItem>
<para>Create a new project and edit the properties on the project file's Package properties page that
Expand Down Expand Up @@ -251,6 +254,7 @@ point to see how this can be accomplished.</para>
</listItem>
</list>
-->
</content>
</section>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@ updating third-party components, plug-ins, presentation styles, and syntax gener
version of the help file builder.</para>

<list class="bullet">
<listItem>
<para>
<link xlink:href="5e4cbd92-c668-4774-95ea-4e2032c2729c" />
</para>
</listItem>
<listItem>
<para>
<link xlink:href="502f1147-eaa4-4150-813d-a57eb6b521e8" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<topic id="5e4cbd92-c668-4774-95ea-4e2032c2729c" revisionNumber="1">
<!-- Ignore Spelling: init -->
<developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
<introduction>
<para>Release notes for version 2022.10.15.0. See the prior version release notes for information on the
breaking changes made to the presentation styles implementation.</para>
</introduction>

<section address="SandcastleTools">
<title>Sandcastle Tools</title>
<content>
<list class="bullet">
<listItem>
<para>Updated MRefBuilder and the C# syntax generator to support init only property setters.</para>
</listItem>

<listItem>
<para>Fixed the MRefBuilder extension method add-in so that it handles nullable types in extension
methods properly.</para>
</listItem>
</list>
</content>
</section>

<section address="PresenationStyles">
<title>Presentation Styles</title>
<content>
<list class="bullet">
<listItem>
<para>Fixed some issues with the new presentation style transformations.</para>
</listItem>

<listItem>
<para>Added support for the legacy <codeInline>topic</codeInline> query string option in the VS2013
and Default2022 presentation styles.</para>
</listItem>
</list>
</content>

</section>

<section address="SHFB">
<title>Sandcastle Help File Builder</title>
<content>

<list class="bullet">
<listItem>
<para>Removed the build tools version limitation in the standalone GUI.</para>
</listItem>

<listItem>
<para>Removed setting of the topic ID to the title on empty container nodes.</para>
</listItem>

<listItem>
<para>Fixed build logging so that an exception isn't thrown for messages with no parameters that
contain braces in the text.</para>
</listItem>
</list>

</content>
</section>

<relatedTopics>
<link xlink:href="078cc1c7-7995-431e-bf9c-8813becbe8df" />
</relatedTopics>

</developerConceptualDocument>
</topic>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
<developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Ignore Spelling: Html Bulma noindex nofollow -->
<introduction>
<!-- TODO: Update the release version number in MigrationSupport.aml (search for vNext) -->
<para>This release contains significant breaking changes related to how the presentation styles are
implemented. All XSL transformations have been removed and a new code-based API is now used to generate all
topics. This makes it much easier to extend and modify presentation styles with simple plug-ins and build
Expand Down
9 changes: 7 additions & 2 deletions Documentation/SandcastleBuilder/SandcastleBuilder.content
Original file line number Diff line number Diff line change
Expand Up @@ -1364,12 +1364,17 @@
<HelpKeyword index="K" term="support, donate" />
</HelpKeywords>
</Topic>
<Topic id="078cc1c7-7995-431e-bf9c-8813becbe8df" visible="True" isExpanded="true" title="Version History">
<Topic id="078cc1c7-7995-431e-bf9c-8813becbe8df" visible="True" isSelected="true" title="Version History">
<HelpKeywords>
<HelpKeyword index="K" term="History" />
<HelpKeyword index="K" term="Version History" />
</HelpKeywords>
<Topic id="502f1147-eaa4-4150-813d-a57eb6b521e8" visible="True" isSelected="true" title="Version 2022.8.14.0">
<Topic id="5e4cbd92-c668-4774-95ea-4e2032c2729c" visible="True" title="Version 2022.10.15.0">
<HelpKeywords>
<HelpKeyword index="K" term="versions 2022.10.15.0" />
</HelpKeywords>
</Topic>
<Topic id="502f1147-eaa4-4150-813d-a57eb6b521e8" visible="True" title="Version 2022.8.14.0">
<HelpKeywords>
<HelpKeyword index="K" term="versions, 2022.8.14.0" />
</HelpKeywords>
Expand Down
3 changes: 2 additions & 1 deletion Documentation/SandcastleBuilder/SandcastleBuilder.shfbproj
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
<FeedbackEMailAddress>Eric%40EWoodruff.us</FeedbackEMailAddress>
<PresentationStyle>Default2022</PresentationStyle>
<SyntaxFilters>Standard</SyntaxFilters>
<HelpFileVersion>2022.8.14.1</HelpFileVersion>
<HelpFileVersion>2022.10.15.0</HelpFileVersion>
<ComponentConfigurations>
</ComponentConfigurations>
<DocumentationSources>
Expand Down Expand Up @@ -400,6 +400,7 @@
<None Include="Content\VersionHistory\v2015.7.26.0tov2021.4.9.0\v2021.3.29.0.aml" />
<None Include="Content\VersionHistory\v2015.7.26.0tov2021.4.9.0\v2021.4.9.0.aml" />
<None Include="Content\VersionHistory\v2021.11.7.0.aml" />
<None Include="Content\VersionHistory\v2022.10.15.0.aml" />
<None Include="Content\VersionHistory\v2022.2.6.0.aml" />
<None Include="Content\VersionHistory\v2022.8.14.0.aml" />
<None Include="Content\VisualStudio\GoToDefinition.aml" />
Expand Down
2 changes: 1 addition & 1 deletion NuGet/SHFB.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>EWSoftware.SHFB</id>
<version>2022.8.14.1</version>
<version>2022.10.15.0</version>
<title>Sandcastle Help File Builder</title>
<authors>Eric Woodruff</authors>
<owners>Eric Woodruff</owners>
Expand Down
1 change: 1 addition & 0 deletions SHFB/Source/SandcastleBuilderUtils/GlobalSuppressions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,4 @@
[assembly: SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "<Pending>", Scope = "member", Target = "~M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReportError(SandcastleBuilder.Utils.BuildEngine.BuildStep,System.String,System.String,System.Object[])")]
[assembly: SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<Pending>", Scope = "member", Target = "~M:SandcastleBuilder.Utils.BuildEngine.MarkdownContentGenerator.Execute~System.Boolean")]
[assembly: SuppressMessage("Globalization", "CA1308:Normalize strings to uppercase", Justification = "<Pending>", Scope = "member", Target = "~M:SandcastleBuilder.Utils.BuildEngine.MarkdownContentGenerator.ApplyChanges(System.String,System.Xml.Linq.XDocument)~System.String")]
[assembly: SuppressMessage("Maintainability", "CA1508:Avoid dead conditional code", Justification = "<Pending>", Scope = "member", Target = "~M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReportProgress(SandcastleBuilder.Utils.BuildEngine.BuildStep,System.String,System.Object[])")]
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// System : Sandcastle Help File Builder
// File : AssemblyInfoShared.cs
// Author : Eric Woodruff ([email protected])
// Updated : 08/15/2022
// Updated : 10/15/2022
// Note : Copyright 2006-2022, Eric Woodruff, All rights reserved
//
// Sandcastle Help File Builder common assembly attributes.
Expand Down Expand Up @@ -90,13 +90,13 @@ internal static partial class AssemblyInfo
//
// This is used to set the assembly file version. This will change with each new release. MSIs only
// support a Major value between 0 and 255 so we drop the century from the year on this one.
public const string FileVersion = "22.8.14.1";
public const string FileVersion = "22.10.15.01";

// Common product version
//
// This may contain additional text to indicate Alpha or Beta states. The version number will always match
// the file version above but includes the century on the year.
public const string ProductVersion = "2022.8.14.1";
public const string ProductVersion = "2022.10.15.0";

// Assembly copyright information
public const string Copyright = "Copyright \xA9 2006-2022, Eric Woodruff, All Rights Reserved";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,8 @@
HorizontalAlignment="Left" />
<CheckBox Name="chkOpenLogViewerOnFailure" Content="Open b_uild log viewer on failed build"
Margin="0,3,0,3" HorizontalAlignment="Left" />
<CheckBox Name="chkOpenHelpAfterBuild" Content="_Open help file after successful build" Margin="0,3,0,3"
<CheckBox Name="chkOpenHelpAfterBuild" Content="_Open help file after successful build" Margin="0,3,0,15"
HorizontalAlignment="Left" />
<CheckBox Name="chkUseExternalBrowser" Content="Use _external web browser to view help websites"
Margin="0,3,0,15" HorizontalAlignment="Left" />
<CheckBox Name="chkEnableExtendedXmlComments" Content="E_nable extended XML comments completion options"
Margin="0,3,0,3" HorizontalAlignment="Left" />
<CheckBox Name="chkEnableGoToDefinition" Content="Enable MAM_L/XML comments Go To Definition"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,15 +110,6 @@ public bool VerboseLogging
set => chkVerboseLogging.IsChecked = value;
}

/// <summary>
/// This is used to get or set whether or not to use the external browser when viewing website output
/// </summary>
public bool UseExternalWebBrowser
{
get => chkUseExternalBrowser.IsChecked.Value;
set => chkUseExternalBrowser.IsChecked = value;
}

/// <summary>
/// This is used to get or set whether or not to open the help file after a successful build
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// System : Sandcastle Tools - Sandcastle Tools Core Class Library
// File : TopicTransformationCore.cs
// Author : Eric Woodruff ([email protected])
// Updated : 08/15/2022
// Updated : 10/11/2022
// Note : Copyright 2022, Eric Woodruff, All rights reserved
//
// This file contains the abstract base class that is used to define the settings and common functionality for a
Expand Down Expand Up @@ -2025,7 +2025,7 @@ public static string ApiTypeNameWithTemplateCount(XElement typeInfo)
typeName += ApiTypeNameWithTemplateCount(t) + ".";
}

typeName += typeInfo.Element("apidata").Attribute("name").Value;
typeName += typeInfo.Element("apidata")?.Attribute("name").Value;

int count = typeInfo.Element("templates")?.Elements("template").Count() ?? 0;

Expand Down
6 changes: 3 additions & 3 deletions SHFB/Source/SandcastleCore/Properties/AssemblyInfoShared.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//===============================================================================================================
// System : Sandcastle Tools
// File : AssemblyInfoShared.cs
// Updated : 08/15/2022
// Updated : 10/15/2022
// Note : Copyright 2006-2022, Microsoft Corporation, All rights reserved
//
// Sandcastle tools common assembly attributes.
Expand Down Expand Up @@ -73,13 +73,13 @@ internal static partial class AssemblyInfo
//
// This is used to set the assembly file version. This will change with each new release. MSIs only
// support a Major value between 0 and 255 so we drop the century from the year on this one.
public const string FileVersion = "22.8.14.1";
public const string FileVersion = "22.10.15.0";

// Common product version
//
// This may contain additional text to indicate Alpha or Beta states. The version number will always match
// the file version above but includes the century on the year.
public const string ProductVersion = "2022.8.14.1";
public const string ProductVersion = "2022.10.15.0";

// Assembly copyright information
public const string Copyright = "Copyright \xA9 2006-2022, Microsoft Corporation, All Rights Reserved.\r\n" +
Expand Down
8 changes: 6 additions & 2 deletions SHFB/Source/SandcastleCore/Reflection/ApiMember.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// System : Sandcastle Tools - Sandcastle Tools Core Class Library
// File : ApiMember.cs
// Author : Eric Woodruff ([email protected])
// Updated : 02/16/2022
// Updated : 10/11/2022
// Note : Copyright 2021-2022, Eric Woodruff, All rights reserved
//
// This file contains the class used to contain information about an API member entry in a reflection
Expand Down Expand Up @@ -202,8 +202,12 @@ public ApiMember(XElement apiMember, string key)

if(this.IsExplicitlyImplemented)
{
this.ImplementedType = apiMember.Element("implements").Element("member").Element(
this.ImplementedType = apiMember.Element("implements")?.Element("member").Element(
"type").Attribute("api").Value;

// In some cases, usually private members, the info is not there so treat it as not explicit
if(this.ImplementedType == null)
this.IsExplicitlyImplemented = false;
}

int pos = this.MemberId.IndexOf('(');
Expand Down
4 changes: 2 additions & 2 deletions SHFB/Source/SandcastleInstaller/InstallerConfiguration.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<pathOffset location="..\..\..\..\..\Deployment" />

<!-- This indicates the tools version with which this installer is associated.-->
<tools version="2022.8.14.1" />
<tools version="2022.10.15.0" />

<!-- Define the installer pages. Third-party build tool and component providers can add new pages that
they have created to install their own products as well. -->
Expand All @@ -16,7 +16,7 @@
<page type="Sandcastle.Installer.InstallerPages.WelcomePage" />

<page type="Sandcastle.Installer.InstallerPages.WhatsNewPage">
<whatsNew url="https://EWSoftware.github.io/SHFB/html/502f1147-eaa4-4150-813d-a57eb6b521e8.htm"
<whatsNew url="https://EWSoftware.github.io/SHFB/html/5e4cbd92-c668-4774-95ea-4e2032c2729c.htm"
description="Current Version Release Notes" />
<whatsNew url="https://EWSoftware.github.io/SHFB/html/bc933f8f-e792-45bf-afec-62aa2c46aa3b.htm"
description="Third-Party Component Migration Support" />
Expand Down
Loading

0 comments on commit bb01976

Please sign in to comment.