Skip to content

Commit

Permalink
Make SvgExtentions.Traverse/TraverseDepthFirst internal - avoids poll…
Browse files Browse the repository at this point in the history
…uting the external API - fixes #889
  • Loading branch information
CI Build authored and CI Build committed Sep 2, 2021
1 parent abda160 commit 1c23903
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 314 deletions.
248 changes: 0 additions & 248 deletions api/Svg.SvgExtentions.html
Original file line number Diff line number Diff line change
Expand Up @@ -392,254 +392,6 @@ <h5 class="parameters">Parameters</h5>
</tr>
</tbody>
</table>


<a id="Svg_SvgExtentions_Traverse_" data-uid="Svg.SvgExtentions.Traverse*"></a>
<h4 id="Svg_SvgExtentions_Traverse__1___0_System_Func___0_System_Collections_Generic_IEnumerable___0___" data-uid="Svg.SvgExtentions.Traverse``1(``0,System.Func{``0,System.Collections.Generic.IEnumerable{``0}})">Traverse&lt;T&gt;(T, Func&lt;T, IEnumerable&lt;T&gt;&gt;)</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static IEnumerable&lt;T&gt; Traverse&lt;T&gt;(this T root, Func&lt;T, IEnumerable&lt;T&gt;&gt; childrenSelector)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">T</span></td>
<td><span class="parametername">root</span></td>
<td></td>
</tr>
<tr>
<td><a class="xref" href="https://docs.microsoft.com/dotnet/api/system.func-2">Func</a>&lt;T, <a class="xref" href="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;T&gt;&gt;</td>
<td><span class="parametername">childrenSelector</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;T&gt;</td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td></td>
</tr>
</tbody>
</table>


<a id="Svg_SvgExtentions_Traverse_" data-uid="Svg.SvgExtentions.Traverse*"></a>
<h4 id="Svg_SvgExtentions_Traverse__1_System_Collections_Generic_IEnumerable___0__System_Func___0_System_Collections_Generic_IEnumerable___0___" data-uid="Svg.SvgExtentions.Traverse``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}})">Traverse&lt;T&gt;(IEnumerable&lt;T&gt;, Func&lt;T, IEnumerable&lt;T&gt;&gt;)</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static IEnumerable&lt;T&gt; Traverse&lt;T&gt;(this IEnumerable&lt;T&gt; items, Func&lt;T, IEnumerable&lt;T&gt;&gt; childrenSelector)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;T&gt;</td>
<td><span class="parametername">items</span></td>
<td></td>
</tr>
<tr>
<td><a class="xref" href="https://docs.microsoft.com/dotnet/api/system.func-2">Func</a>&lt;T, <a class="xref" href="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;T&gt;&gt;</td>
<td><span class="parametername">childrenSelector</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;T&gt;</td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td></td>
</tr>
</tbody>
</table>


<a id="Svg_SvgExtentions_TraverseDepthFirst_" data-uid="Svg.SvgExtentions.TraverseDepthFirst*"></a>
<h4 id="Svg_SvgExtentions_TraverseDepthFirst__1___0_System_Func___0_System_Collections_Generic_IEnumerable___0___" data-uid="Svg.SvgExtentions.TraverseDepthFirst``1(``0,System.Func{``0,System.Collections.Generic.IEnumerable{``0}})">TraverseDepthFirst&lt;T&gt;(T, Func&lt;T, IEnumerable&lt;T&gt;&gt;)</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static IEnumerable&lt;T&gt; TraverseDepthFirst&lt;T&gt;(this T root, Func&lt;T, IEnumerable&lt;T&gt;&gt; childrenSelector)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">T</span></td>
<td><span class="parametername">root</span></td>
<td></td>
</tr>
<tr>
<td><a class="xref" href="https://docs.microsoft.com/dotnet/api/system.func-2">Func</a>&lt;T, <a class="xref" href="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;T&gt;&gt;</td>
<td><span class="parametername">childrenSelector</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;T&gt;</td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td></td>
</tr>
</tbody>
</table>


<a id="Svg_SvgExtentions_TraverseDepthFirst_" data-uid="Svg.SvgExtentions.TraverseDepthFirst*"></a>
<h4 id="Svg_SvgExtentions_TraverseDepthFirst__1_System_Collections_Generic_IEnumerable___0__System_Func___0_System_Collections_Generic_IEnumerable___0___" data-uid="Svg.SvgExtentions.TraverseDepthFirst``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}})">TraverseDepthFirst&lt;T&gt;(IEnumerable&lt;T&gt;, Func&lt;T, IEnumerable&lt;T&gt;&gt;)</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static IEnumerable&lt;T&gt; TraverseDepthFirst&lt;T&gt;(this IEnumerable&lt;T&gt; items, Func&lt;T, IEnumerable&lt;T&gt;&gt; childrenSelector)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;T&gt;</td>
<td><span class="parametername">items</span></td>
<td></td>
</tr>
<tr>
<td><a class="xref" href="https://docs.microsoft.com/dotnet/api/system.func-2">Func</a>&lt;T, <a class="xref" href="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;T&gt;&gt;</td>
<td><span class="parametername">childrenSelector</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;T&gt;</td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td></td>
</tr>
</tbody>
</table>
</article>
</div>

Expand Down
28 changes: 16 additions & 12 deletions doc/ReleaseNotes.html
Original file line number Diff line number Diff line change
Expand Up @@ -76,26 +76,30 @@ <h1 id="svgnet-release-notes">SVG.NET Release Notes</h1>
<h2 id="unreleased-master">Unreleased (master)</h2>
<h3 id="changes">Changes</h3>
<ul>
<li>change namespace of SvgSymbol from Svg.Document_Structure to Svg. (see <a href="https://github.com/svg-net/SVG/pull/556">PR #556</a>)</li>
<li>changed default behavior of DTD resolution so external references are not resolved by default; to mitigate XXE vulnerability. (see <a href="https://github.com/svg-net/SVG/pull/870">PR #870</a>)</li>
<li>changed default behavior so external references to images, text definitions, and other resources are not resolved by default; to improve safety of rendering untrusted files. (see <a href="https://github.com/svg-net/SVG/pull/873">PR #873</a>)</li>
<li>fixed ISvgRenderer.SmoothingMode reset in method SvgVisualElement.RenderFillAndStroke. (see <a href="https://github.com/svg-net/SVG/pull/883">PR #883</a>)</li>
<li>changed namespace of <code>SvgSymbol</code> from <code>Svg.Document_Structure</code> to <code>Svg</code> (see <a href="https://github.com/svg-net/SVG/pull/556">PR #556</a>)</li>
<li>mitigated XXE vulnerability: changed default behavior of DTD resolution so external references are not resolved by default
(see <a href="https://github.com/svg-net/SVG/issues/869">#869</a>)</li>
<li>improved safety of rendering untrusted files: changed default behavior so external references to images, text definitions,
and other resources are not resolved by default (see <a href="https://github.com/svg-net/SVG/issues/872">#872</a>)</li>
<li>made <code>SvgExtentions.Traverse</code> and <code>SvgExtentions.TraverseDepthFirst</code> internal to avoid polluting the API
(see <a href="https://github.com/svg-net/SVG/issues/889">#889</a>)</li>
</ul>
<h3 id="enhancements">Enhancements</h3>
<ul>
<li>minimize XmlTextReader customization (see <a href="https://github.com/svg-net/SVG/pull/836">PR #836</a>)</li>
<li>minimize <code>XmlTextReader</code> customization (see <a href="https://github.com/svg-net/SVG/pull/836">PR #836</a>)</li>
<li>manage namespaces and prefixes (see <a href="https://github.com/svg-net/SVG/issues/604">#604</a>)</li>
</ul>
<h3 id="fixes">Fixes</h3>
<ul>
<li>fixed filled polyline not displayed with stroke-width=0 (see <a href="https://github.com/svg-net/SVG/issues/785">#785</a>)</li>
<li>fixed unimplemented filter classes issue (see <a href="https://github.com/svg-net/SVG/issues/768">#768</a>)</li>
<li>fixed StackOverFlowException (see <a href="https://github.com/svg-net/SVG/issues/755">#755</a>)</li>
<li>fixed different prefix is assigned using XmlTextWriter (see <a href="https://github.com/svg-net/SVG/issues/817">#817</a>)</li>
<li>fixed filled polyline not displayed with <code>stroke-width=0</code> (see <a href="https://github.com/svg-net/SVG/issues/785">#785</a>)</li>
<li>added basic implementation of filter classes (see <a href="https://github.com/svg-net/SVG/issues/768">#768</a>)</li>
<li>prevent stack overflow in size calculation for empty SVG (see <a href="https://github.com/svg-net/SVG/issues/755">#755</a>)</li>
<li>fixed different prefix is assigned using <code>XmlTextWriter</code> (see <a href="https://github.com/svg-net/SVG/issues/817">#817</a>)</li>
<li>fixed scaling if opacity is not 1 (see <a href="https://github.com/svg-net/SVG/issues/863">#863</a>)</li>
<li>fixed error occurs with empty SVG (see <a href="https://github.com/svg-net/SVG/pull/827">PR #827</a>)</li>
<li>fixed unnecessary dependency on System.ValueTuple (see <a href="https://github.com/svg-net/SVG/issues/879">#879</a>)</li>
<li>fixed x and y in outermost svg (see <a href="https://github.com/svg-net/SVG/issues/886">#886</a>)</li>
<li>fixed unnecessary dependency on <code>System.ValueTuple</code> (see <a href="https://github.com/svg-net/SVG/issues/879">#879</a>)</li>
<li>prevent <code>ISvgRenderer.SmoothingMode</code> reset when <code>RequiresSmoothRendering</code> is <code>true</code>
(see <a href="https://github.com/svg-net/SVG/issues/882">#882</a>)</li>
<li>ignore <code>x</code> and <code>y</code> attributes in outermost svg as per standard (see <a href="https://github.com/svg-net/SVG/issues/886">#886</a>)</li>
</ul>
<h2 id="version-323"><a href="https://www.nuget.org/packages/Svg/3.2.3">Version 3.2.3</a></h2>
<h3 id="enhancements-1">Enhancements</h3>
Expand Down

0 comments on commit 1c23903

Please sign in to comment.