tag:github.com,2008:https://github.com/NuPlay/RichText/releases
Release notes from RichText
2025-08-28T13:54:19Z
tag:github.com,2008:Repository/389261402/3.0.2
2025-08-28T13:55:16Z
V3.0.2
<h2>โญ What's Changed</h2>
<ul>
<li>fix: resolve state modification during view update warning (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3351978845" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/72" data-hovercard-type="issue" data-hovercard-url="/NuPlay/RichText/issues/72/hovercard" href="https://github.com/NuPlay/RichText/issues/72">#72</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/NuPlay/RichText/compare/3.0.1...3.0.2"><tt>3.0.1...3.0.2</tt></a></p>
NuPlay
tag:github.com,2008:Repository/389261402/3.0.1
2025-08-25T15:39:50Z
V3.0.1
<h2>๐ง Documentation Fixes</h2>
<p>This patch release focuses on correcting documentation inconsistencies found after the major v3.0.0 release.</p>
<h2>What's Fixed</h2>
<h3>๐ <strong>Documentation Accuracy</strong></h3>
<ul>
<li><strong>Swift Version Clarification</strong>: Updated requirements from Swift 6.0+ to Swift 5.9+ to accurately reflect <code>Package.swift</code> configuration
<ul>
<li>Library requires Swift 5.9+ for production use</li>
<li>Swift 6.0+ only needed for running Swift Testing framework tests</li>
</ul>
</li>
</ul>
<h3>โ
<strong>Test Documentation</strong></h3>
<ul>
<li>Removed references to non-existent XCTest file</li>
<li>Clarified that only Swift Testing framework is used for tests</li>
<li>Updated platform requirements for tests vs library usage</li>
</ul>
<h3>๐ <strong>API Documentation</strong></h3>
<ul>
<li>Fixed deprecated method recommendations: Now correctly suggests <code>.placeholder {}</code> instead of <code>.loadingPlaceholder()</code></li>
<li>Added missing default values:
<ul>
<li><code>imageRadius</code> default: 0</li>
<li><code>colorScheme</code> default: .auto</li>
<li><code>lineHeight</code> default: 170</li>
</ul>
</li>
</ul>
<h2>๐ No Code Changes</h2>
<p>This release contains <strong>documentation updates only</strong>. No functionality has been changed from <a href="https://github.com/NuPlay/RichText/releases/tag/3.0.0">v3.0.0</a>.</p>
<h2>๐ฆ Installation</h2>
<div class="highlight highlight-source-swift notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=".package(url: "https://github.com/NuPlay/RichText.git", .upToNextMajor(from: "3.0.1"))"><pre><span class="pl-kos">.</span><span class="pl-k">package</span><span class="pl-kos">(</span>url<span class="pl-kos">:</span> <span class="pl-s">"</span><span class="pl-s">https://github.com/NuPlay/RichText.git</span><span class="pl-s">"</span><span class="pl-kos">,</span> <span class="pl-kos">.</span>upToNextMajor<span class="pl-kos">(</span>from<span class="pl-kos">:</span> <span class="pl-s">"</span><span class="pl-s">3.0.1</span><span class="pl-s">"</span><span class="pl-kos">)</span><span class="pl-kos">)</span></pre></div>
NuPlay
tag:github.com,2008:Repository/389261402/3.0.0
2025-08-24T13:27:06Z
V3.0.0
<h1>๐ RichText v3.0.0 Release Notes</h1>
<div class="markdown-alert markdown-alert-important"><p class="markdown-alert-title"><svg class="octicon octicon-report mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg>Important</p><p><strong>Platform Requirements Updated</strong></p>
<ul>
<li>iOS: 15.0+ (previously 13.0+)</li>
<li>macOS: 12.0+ (previously 10.15+)</li>
<li>Swift: 6.0+</li>
<li>Xcode: 16+ for development</li>
</ul>
</div>
<h2>๐ Major Release - Swift 6.0 & Modern Concurrency</h2>
<p>This major release modernizes RichText with async/await support, Swift Testing, and enhanced APIs while maintaining backward compatibility.</p>
<h2>โจ New Features</h2>
<h3>๐ <strong>Async/Await Support</strong></h3>
<ul>
<li>Complete migration to modern Swift concurrency</li>
<li>Enhanced WebView performance with async loading</li>
<li>Improved error handling with structured concurrency</li>
</ul>
<h3>๐ฏ <strong>Enhanced APIs</strong></h3>
<ul>
<li>Type-safe background color options</li>
<li>Media click handling capabilities</li>
<li>Comprehensive error reporting system</li>
<li>Dynamic type support for better accessibility</li>
<li>Improved color management system</li>
</ul>
<h3>๐งช <strong>Swift Testing Framework</strong></h3>
<ul>
<li>Migrated from XCTest to Swift Testing</li>
<li>600+ comprehensive test cases</li>
<li>Cross-platform testing coverage</li>
</ul>
<h2>๐ง Improvements</h2>
<ul>
<li><strong>Performance</strong>: Optimized WebView rendering with async operations</li>
<li><strong>Type Safety</strong>: Enhanced type-safe APIs throughout the library</li>
<li><strong>Error Handling</strong>: More detailed and actionable error messages</li>
<li><strong>Accessibility</strong>: Better Dynamic Type support</li>
</ul>
<h2>๐ Migration Guide</h2>
<p>Existing v2.x projects can upgrade with minimal changes:</p>
<ol>
<li><strong>Update platform targets</strong> in your project settings</li>
<li><strong>Replace deprecated methods</strong> (warnings provided)</li>
<li><strong>Leverage new type-safe APIs</strong> for better performance</li>
<li><strong>Use new error handling</strong> methods for better debugging</li>
</ol>
<h2>๐งโ๐ป For Developers</h2>
<ul>
<li>All public APIs remain compatible with v2.x</li>
<li>Deprecated methods include migration warnings</li>
<li>Enhanced documentation and examples</li>
</ul>
<h2>๐ฆ Installation</h2>
<div class="highlight highlight-source-swift notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="dependencies: [
.package(url: "https://github.com/NuPlay/RichText.git", from: "3.0.0")
]"><pre><span class="pl-ent">dependencies:</span> <span class="pl-kos">[</span>
<span class="pl-kos">.</span><span class="pl-k">package</span><span class="pl-kos">(</span>url<span class="pl-kos">:</span> <span class="pl-s">"</span><span class="pl-s">https://github.com/NuPlay/RichText.git</span><span class="pl-s">"</span><span class="pl-kos">,</span> from<span class="pl-kos">:</span> <span class="pl-s">"</span><span class="pl-s">3.0.0</span><span class="pl-s">"</span><span class="pl-kos">)</span>
<span class="pl-kos">]</span></pre></div>
<hr>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/NuPlay/RichText/compare/v2.7.0...v3.0.0"><tt>v2.7.0...v3.0.0</tt></a></p>
NuPlay
tag:github.com,2008:Repository/389261402/2.7.0
2025-07-20T06:07:46Z
v2.7.0
<h2>โญ What's Changed</h2>
<ul>
<li>feat: Add option to force color scheme background by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jcovin293/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jcovin293">@jcovin293</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3215930174" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/65" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/65/hovercard" href="https://github.com/NuPlay/RichText/pull/65">#65</a></li>
</ul>
<div class="highlight highlight-source-swift notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="RichText(html: "")
.forceColorSchemeBackground(true) // new option"><pre><span class="pl-en">RichText</span><span class="pl-kos">(</span>html<span class="pl-kos">:</span> <span class="pl-s">"</span><span class="pl-s">"</span><span class="pl-kos">)</span>
<span class="pl-kos">.</span><span class="pl-en">forceColorSchemeBackground</span><span class="pl-kos">(</span><span class="pl-c1">true</span><span class="pl-kos">)</span> // new option</pre></div>
<h2>๐ Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jcovin293/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jcovin293">@jcovin293</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3215930174" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/65" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/65/hovercard" href="https://github.com/NuPlay/RichText/pull/65">#65</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/NuPlay/RichText/compare/2.5.0...2.6.0"><tt>2.5.0...2.6.0</tt></a></p>
NuPlay
tag:github.com,2008:Repository/389261402/2.6.0
2025-07-20T06:08:19Z
v2.6.0
<h2>โญ What's Changed</h2>
<ul>
<li>feat: Support Dynamic Type by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jcovin293/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jcovin293">@jcovin293</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3185563644" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/62" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/62/hovercard" href="https://github.com/NuPlay/RichText/pull/62">#62</a></li>
</ul>
<div class="highlight highlight-source-swift notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="public struct Configuration {
...
public var supportsDynamicType: Bool
...
public init(
...
supportsDynamicType: Bool = false,
...
) {
...
self.supportsDynamicType = supportsDynamicType
...
if supportsDynamicType {
self.customCSS = self.customCSS + """
html { font: -apple-system-body; }
body { font: -apple-system-body; }
h1 { font: -apple-system-largeTitle; }
h2 { font: -apple-system-title1; }
h3 { font: -apple-system-title2; }
h4 { font: -apple-system-title3; }
h5 { font: -apple-system-headline; }
h6 { font: -apple-system-callout; }
p.subheadline { font: -apple-system-subheadline; }
p.footnote { font: -apple-system-footnote; }
p.caption1 { font: -apple-system-caption1; }
p.caption2 { font: -apple-system-caption2; }
"""
}
}
}"><pre><span class="pl-k">public</span> <span class="pl-k">struct</span> Configuration <span class="pl-kos">{</span>
<span class="pl-c1">...</span>
<span class="pl-k">public</span> <span class="pl-k">var</span> <span class="pl-s1">supportsDynamicType</span><span class="pl-kos">:</span> <span class="pl-smi">Bool</span>
<span class="pl-c1">...</span>
<span class="pl-k">public</span> init<span class="pl-kos">(</span>
<span class="pl-c1">...</span>
supportsDynamicType<span class="pl-kos">:</span> Bool <span class="pl-c1">=</span> false<span class="pl-kos">,</span>
<span class="pl-c1">...</span>
<span class="pl-kos">)</span> <span class="pl-kos">{</span>
<span class="pl-c1">...</span>
self<span class="pl-kos">.</span>supportsDynamicType <span class="pl-c1">=</span> supportsDynamicType
<span class="pl-c1">...</span>
<span class="pl-k">if</span> supportsDynamicType <span class="pl-kos">{</span>
<span class="pl-smi">self</span><span class="pl-kos">.</span>customCSS <span class="pl-c1">=</span> <span class="pl-smi">self</span><span class="pl-kos">.</span>customCSS <span class="pl-c1">+</span> <span class="pl-s">"""</span><span class="pl-s"></span>
<span class="pl-s"> html { font: -apple-system-body; }</span>
<span class="pl-s"> </span>
<span class="pl-s"> body { font: -apple-system-body; }</span>
<span class="pl-s"> </span>
<span class="pl-s"> h1 { font: -apple-system-largeTitle; }</span>
<span class="pl-s"> h2 { font: -apple-system-title1; }</span>
<span class="pl-s"> h3 { font: -apple-system-title2; }</span>
<span class="pl-s"> h4 { font: -apple-system-title3; }</span>
<span class="pl-s"> </span>
<span class="pl-s"> h5 { font: -apple-system-headline; }</span>
<span class="pl-s"> h6 { font: -apple-system-callout; }</span>
<span class="pl-s"> </span>
<span class="pl-s"> p.subheadline { font: -apple-system-subheadline; }</span>
<span class="pl-s"> p.footnote { font: -apple-system-footnote; }</span>
<span class="pl-s"> p.caption1 { font: -apple-system-caption1; }</span>
<span class="pl-s"> p.caption2 { font: -apple-system-caption2; }</span>
<span class="pl-s"> </span><span class="pl-s">"""</span>
<span class="pl-kos">}</span>
<span class="pl-kos">}</span>
<span class="pl-kos">}</span></pre></div>
<h2>๐ New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jcovin293/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jcovin293">@jcovin293</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3185563644" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/62" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/62/hovercard" href="https://github.com/NuPlay/RichText/pull/62">#62</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/NuPlay/RichText/compare/2.5.0...2.6.0"><tt>2.5.0...2.6.0</tt></a></p>
NuPlay
tag:github.com,2008:Repository/389261402/2.5.0
2025-07-20T06:08:36Z
v2.5.0
<h2>โญ What's Changed</h2>
<ul>
<li>fix: update height after image loaded by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/paranoidjk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/paranoidjk">@paranoidjk</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2707135870" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/54" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/54/hovercard" href="https://github.com/NuPlay/RichText/pull/54">#54</a></li>
</ul>
<h2>๐ New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/paranoidjk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/paranoidjk">@paranoidjk</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2707135870" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/54" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/54/hovercard" href="https://github.com/NuPlay/RichText/pull/54">#54</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/NuPlay/RichText/compare/2.4.1...2.5.0"><tt>2.4.1...2.5.0</tt></a></p>
NuPlay
tag:github.com,2008:Repository/389261402/2.4.1
2025-07-20T06:08:41Z
v2.4.1
<h2>โญ What's Changed</h2>
<ul>
<li>feat: Add <code>PrivacyInfo.xcprivacy</code> file for issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2249125796" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/50" data-hovercard-type="issue" data-hovercard-url="/NuPlay/RichText/issues/50/hovercard" href="https://github.com/NuPlay/RichText/issues/50">#50</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NuPlay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NuPlay">@NuPlay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2254425626" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/51" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/51/hovercard" href="https://github.com/NuPlay/RichText/pull/51">#51</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/NuPlay/RichText/compare/2.4.0...2.4.1"><tt>2.4.0...2.4.1</tt></a></p>
NuPlay
tag:github.com,2008:Repository/389261402/2.4.0
2025-07-20T06:08:46Z
v2.4.0
<h1>โญ What's Changed</h1>
<ul>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2092762167" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/46" data-hovercard-type="issue" data-hovercard-url="/NuPlay/RichText/issues/46/hovercard" href="https://github.com/NuPlay/RichText/issues/46">#46</a> LinkOpenType Custom Handling for All URL Schemes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NuPlay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NuPlay">@NuPlay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2104166764" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/47" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/47/hovercard" href="https://github.com/NuPlay/RichText/pull/47">#47</a></li>
<li>Allow setting the WebKit baseURL for requests to something other than the Bundle by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ohmantics/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ohmantics">@ohmantics</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2111884444" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/48" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/48/hovercard" href="https://github.com/NuPlay/RichText/pull/48">#48</a></li>
</ul>
<h3>๐ Bug fix</h3>
<ul>
<li>Fixed sometime dynamic height not correct by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sk-chanch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sk-chanch">@sk-chanch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2090046514" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/45" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/45/hovercard" href="https://github.com/NuPlay/RichText/pull/45">#45</a></li>
</ul>
<h2>๐ New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sk-chanch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sk-chanch">@sk-chanch</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2090046514" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/45" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/45/hovercard" href="https://github.com/NuPlay/RichText/pull/45">#45</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ohmantics/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ohmantics">@ohmantics</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2111884444" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/48" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/48/hovercard" href="https://github.com/NuPlay/RichText/pull/48">#48</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/NuPlay/RichText/compare/2.3.1...2.4.0"><tt>2.3.1...2.4.0</tt></a></p>
NuPlay
tag:github.com,2008:Repository/389261402/2.3.1
2024-01-21T11:58:14Z
V.2.3.1
<h1>โญ What's Changed</h1>
<h3>โจ [Feature]: Add custom type to LinkOpenType by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vidalhara/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vidalhara">@vidalhara</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2019062355" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/42" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/42/hovercard" href="https://github.com/NuPlay/RichText/pull/42">#42</a></h3>
<div class="highlight highlight-source-swift notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="public enum LinkOpenType {
#if canImport(UIKit)
case SFSafariView(configuration: SFSafariViewController.Configuration = .init(), isReaderActivated: Bool? = nil, isAnimated: Bool = true)
#endif
case Safari
case custom((URL) -> Void)
case none
}"><pre><span class="pl-k">public</span> <span class="pl-k">enum</span> <span class="pl-smi">LinkOpenType</span> <span class="pl-kos">{</span>
<span class="pl-en">#if canImport(UIKit)</span>
<span class="pl-k">case</span> SFSafariView<span class="pl-kos">(</span>configuration<span class="pl-kos">:</span> <span class="pl-smi">SFSafariViewController</span><span class="pl-kos">.</span><span class="pl-smi">Configuration</span> <span class="pl-c1">=</span> <span class="pl-kos">.</span>init<span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">,</span> isReaderActivated<span class="pl-kos">:</span> <span class="pl-smi">Bool</span><span class="pl-c1"><span class="pl-c1">?</span></span> <span class="pl-c1">=</span> <span class="pl-smi">nil</span><span class="pl-kos">,</span> isAnimated<span class="pl-kos">:</span> <span class="pl-smi">Bool</span> <span class="pl-c1">=</span> <span class="pl-c1">true</span><span class="pl-kos">)</span>
<span class="pl-en">#endif</span>
<span class="pl-k">case</span> Safari
<span class="pl-k">case</span> custom<span class="pl-kos">(</span><span class="pl-kos">(</span><span class="pl-smi">URL</span><span class="pl-kos">)</span> <span class="pl-c1">-></span> <span class="pl-smi">Void</span><span class="pl-kos">)</span>
<span class="pl-k">case</span> none
<span class="pl-kos">}</span></pre></div>
<h3>๐ [Fix] Always call decisionHandler on webview navigationAction by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/filip-zielinski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/filip-zielinski">@filip-zielinski</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2081993793" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/43" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/43/hovercard" href="https://github.com/NuPlay/RichText/pull/43">#43</a></h3>
<h2>๐ New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vidalhara/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vidalhara">@vidalhara</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2019062355" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/42" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/42/hovercard" href="https://github.com/NuPlay/RichText/pull/42">#42</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/filip-zielinski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/filip-zielinski">@filip-zielinski</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2081993793" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/43" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/43/hovercard" href="https://github.com/NuPlay/RichText/pull/43">#43</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/NuPlay/RichText/compare/2.3.0...2.3.1"><tt>2.3.0...2.3.1</tt></a></p>
NuPlay
tag:github.com,2008:Repository/389261402/2.3.0
2023-07-17T23:18:18Z
v2.3.0
<h2>โจ Support macOS</h2>
<h3>Now available for iOS 13 and macOS 10.15 and later.</h3>
<div class="highlight highlight-source-swift notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="let package = Package(
name: "RichText",
platforms: [
.iOS("13.0"),
.macOS("10.15")
],
...
)"><pre><span class="pl-k">let</span> <span class="pl-s1"><span class="pl-k">package</span></span> <span class="pl-c1">=</span> <span class="pl-en">Package</span><span class="pl-kos">(</span>
name<span class="pl-kos">:</span> <span class="pl-s">"</span><span class="pl-s">RichText</span><span class="pl-s">"</span><span class="pl-kos">,</span>
platforms<span class="pl-kos">:</span> <span class="pl-kos">[</span>
<span class="pl-kos">.</span>iOS<span class="pl-kos">(</span><span class="pl-s">"</span><span class="pl-s">13.0</span><span class="pl-s">"</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
<span class="pl-kos">.</span>macOS<span class="pl-kos">(</span><span class="pl-s">"</span><span class="pl-s">10.15</span><span class="pl-s">"</span><span class="pl-kos">)</span>
<span class="pl-kos">]</span><span class="pl-kos">,</span>
<span class="pl-c1">...</span>
<span class="pl-kos">)</span></pre></div>
<p>This update resolves the issue mentioned in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1728991150" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/34" data-hovercard-type="issue" data-hovercard-url="/NuPlay/RichText/issues/34/hovercard" href="https://github.com/NuPlay/RichText/issues/34">#34</a> and has been implemented through PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1804345003" data-permission-text="Title is private" data-url="https://github.com/NuPlay/RichText/issues/36" data-hovercard-type="pull_request" data-hovercard-url="/NuPlay/RichText/pull/36/hovercard" href="https://github.com/NuPlay/RichText/pull/36">#36</a></p>
<h3>โป๏ธ linkOpenType Default Value is Changed</h3>
<ul>
<li>Default value for linkOpenType is changed to .Safari.
<ul>
<li>Previous: .SFSafariView()</li>
<li>Reason: SFSafariView is not possible on macOS.</li>
</ul>
</li>
</ul>
<div class="highlight highlight-source-swift notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="//previous
linkOpenType: LinkOpenType = .SFSafariView()
//now
linkOpenType: LinkOpenType = .Safari"><pre>//previous
<span class="pl-ent">linkOpenType:</span> LinkOpenType <span class="pl-c1">=</span> <span class="pl-kos">.</span><span class="pl-en">SFSafariView</span><span class="pl-kos">(</span><span class="pl-kos">)</span>
//now
<span class="pl-ent">linkOpenType:</span> LinkOpenType <span class="pl-c1">=</span> <span class="pl-kos">.</span>Safari</pre></div>
<div class="highlight highlight-source-swift notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="public enum LinkOpenType {
#if canImport(UIKit)
case SFSafariView(configuration: SFSafariViewController.Configuration = .init(), isReaderActivated: Bool? = nil, isAnimated: Bool = true)
#endif
case Safari
case none
}"><pre><span class="pl-k">public</span> <span class="pl-k">enum</span> <span class="pl-smi">LinkOpenType</span> <span class="pl-kos">{</span>
<span class="pl-en">#if canImport(UIKit)</span>
<span class="pl-k">case</span> SFSafariView<span class="pl-kos">(</span>configuration<span class="pl-kos">:</span> <span class="pl-smi">SFSafariViewController</span><span class="pl-kos">.</span><span class="pl-smi">Configuration</span> <span class="pl-c1">=</span> <span class="pl-kos">.</span>init<span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">,</span> isReaderActivated<span class="pl-kos">:</span> <span class="pl-smi">Bool</span><span class="pl-c1"><span class="pl-c1">?</span></span> <span class="pl-c1">=</span> <span class="pl-smi">nil</span><span class="pl-kos">,</span> isAnimated<span class="pl-kos">:</span> <span class="pl-smi">Bool</span> <span class="pl-c1">=</span> <span class="pl-c1">true</span><span class="pl-kos">)</span>
<span class="pl-en">#endif</span>
<span class="pl-k">case</span> Safari
<span class="pl-k">case</span> none
<span class="pl-kos">}</span></pre></div>
<h3>๐ Contributors</h3>
<p>Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/studiogaram/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/studiogaram">@studiogaram</a></p>
NuPlay