<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>YSO Network SDK Blog</title>
        <link>https://docs.yso.network/changelog</link>
        <description>YSO Network SDK Blog</description>
        <lastBuildDate>Thu, 27 Nov 2025 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[Update to Android 1.3.0]]></title>
            <link>https://docs.yso.network/changelog/android-1-3-0</link>
            <guid>https://docs.yso.network/changelog/android-1-3-0</guid>
            <pubDate>Thu, 27 Nov 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Android SDK 1.3.0 is the biggest refresh we’ve made to the mediation surface since launch. Here’s what changed:]]></description>
            <content:encoded><![CDATA[<p>Android SDK 1.3.0 is the biggest refresh we’ve made to the mediation surface since launch. Here’s what changed:</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="highlights">Highlights<a href="https://docs.yso.network/changelog/android-1-3-0#highlights" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights" translate="no">​</a></h2>
<ul>
<li class=""><strong>Async initialization flow:</strong> <code>YsoNetwork.initialize()</code> is now asynchronous, and mediations can call it repeatedly. Use <code>YsoNetwork.initializationStatus()</code> plus the new <code>YNEnumInitializationStatus</code> enum to poll for <code>Initialized</code>, <code>Initializing</code>, or <code>Error</code>.</li>
<li class=""><strong>Request IDs everywhere:</strong> All ad loads and shows now expect a <code>requestId</code>. It should be unique per ad (the bid request ID is ideal) and reused between the load/show pair. Reusing the same <code>requestId</code> for concurrent loads is unsupported and leads to undefined behavior.</li>
<li class=""><strong>Documented initialization sample:</strong> The usage guide now shows a mediation-safe initialization block that waits on the status enum before marking the adapter ready.</li>
<li class=""><strong>Stricter public surface:</strong> ProGuard now only exposes the classes that mediation partners need: <code>YsoNetwork</code>, <code>YNLog</code>, <code>YNEnumActionError</code>, and <code>YNEnumInitializationStatus</code>. Everything else remains internal.</li>
<li class=""><strong>Changelog + docs:</strong> Installation, usage, and the platform changelog have all been updated to reflect these behaviors so that partners don’t have to reverse engineer the new flow.</li>
</ul>
<p>Let us know if you need the adapter templates or sample code snippets in another format—we’re happy to share.</p>]]></content:encoded>
            <category>Release</category>
            <category>android</category>
            <category>SDK</category>
        </item>
    </channel>
</rss>