<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Changelog | RealtimeKit Android Core</title><description>Updates to RealtimeKit Android Core</description><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core</link><item><title>RealtimeKit Android Core - RealtimeKit Android Core 3.0.0</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-300</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-300</guid><description>&lt;p&gt;&lt;strong&gt;Breaking changes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Plugins are no longer provided by the server. They must now be declared upfront on the client side by passing a &lt;code&gt;plugins&lt;/code&gt; list to &lt;code&gt;RtkMeetingInfo&lt;/code&gt;. Any plugin not declared at initialization will not be available in the meeting.&lt;pre&gt;&lt;code class=&quot;language-kotlin&quot;&gt;val meetingInfo = RtkMeetingInfo(
  authToken = authToken,
  plugins = listOf(
    RtkClientPluginConfig(
      id = &amp;quot;whiteboard&amp;quot;, // Must match the plugin ID used on Web for sync to work
      name = &amp;quot;Whiteboard&amp;quot;,
      icon = &amp;quot;https://example.com/logo.png&amp;quot;,
      url = &amp;quot;https://example.com&amp;quot;,
      permissions = RtkClientPluginPermissions(canActivate = true, canDeactivate = true),
    )
  ),
)
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Several internal properties have been removed from &lt;code&gt;RtkPlugin&lt;/code&gt;: &lt;code&gt;baseURL&lt;/code&gt;, &lt;code&gt;config&lt;/code&gt;, &lt;code&gt;description&lt;/code&gt;, &lt;code&gt;isPrivate&lt;/code&gt;, and &lt;code&gt;staggered&lt;/code&gt;. Use the new &lt;code&gt;icon&lt;/code&gt; and &lt;code&gt;permissions&lt;/code&gt; properties instead.&lt;/li&gt;
&lt;li&gt;The two-argument &lt;code&gt;subscribe(key, (key, value) → Unit)&lt;/code&gt; and &lt;code&gt;unsubscribe(key, (key, value) → Unit)&lt;/code&gt; overloads on &lt;code&gt;RtkStore&lt;/code&gt; have been removed. Use the single-argument callback variants introduced in 2.1.0.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AI Transcription&lt;/strong&gt; — A new &lt;code&gt;RtkAi&lt;/code&gt; class (exposed as &lt;code&gt;client.ai&lt;/code&gt;) provides access to real-time transcripts. Implement &lt;code&gt;RtkAiEventListener&lt;/code&gt; and register it with &lt;code&gt;addAiEventListener()&lt;/code&gt; to receive &lt;code&gt;onTranscript(data: RtkTranscriptionData)&lt;/code&gt; callbacks. A &lt;code&gt;transcriptionEnabled&lt;/code&gt; permission is available on &lt;code&gt;MiscellaneousPermissions&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Connected Meetings (Breakout Rooms)&lt;/strong&gt; — A new &lt;code&gt;RtkConnectedMeetings&lt;/code&gt; class (exposed as &lt;code&gt;client.connectedMeetings&lt;/code&gt;) enables breakout room workflows. Register an &lt;code&gt;RtkConnectedMeetingsEventListener&lt;/code&gt; to handle room transitions and state updates. See the &lt;a href=&quot;https://developers.cloudflare.com/realtime/realtimekit/core/breakout-rooms/&quot;&gt;Breakout Rooms&lt;/a&gt; documentation for a full guide.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chat: Edit and Delete&lt;/strong&gt; — Messages can now be edited and deleted. New methods on &lt;code&gt;RtkChat&lt;/code&gt;: &lt;code&gt;editTextMessage()&lt;/code&gt;, &lt;code&gt;editImageMessage()&lt;/code&gt;, &lt;code&gt;editFileMessage()&lt;/code&gt;, and &lt;code&gt;deleteMessage()&lt;/code&gt;. &lt;code&gt;RtkChatEventListener&lt;/code&gt; gains &lt;code&gt;onMessageEdited()&lt;/code&gt; and &lt;code&gt;onMessageDeleted()&lt;/code&gt; callbacks. &lt;code&gt;ChatMessage&lt;/code&gt; now includes an &lt;code&gt;isEdited&lt;/code&gt; flag.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chat: Fetch and Pagination&lt;/strong&gt; — New methods on &lt;code&gt;RtkChat&lt;/code&gt; — &lt;code&gt;fetchPublicMessages()&lt;/code&gt;, &lt;code&gt;fetchPrivateMessages()&lt;/code&gt;, &lt;code&gt;fetchPinnedMessages()&lt;/code&gt;, and &lt;code&gt;getMessages()&lt;/code&gt; — allow fetching historical messages with cursor-based pagination via &lt;code&gt;FetchMessagesResult(messages, hasMore)&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Client-Declared Plugins&lt;/strong&gt; — Plugins are now configured entirely on the client via &lt;code&gt;RtkClientPluginConfig&lt;/code&gt; and &lt;code&gt;RtkClientPluginPermissions&lt;/code&gt;. &lt;code&gt;RtkPlugin&lt;/code&gt; exposes the new &lt;code&gt;icon&lt;/code&gt; and &lt;code&gt;permissions&lt;/code&gt; properties accordingly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Targeted Broadcast Messages&lt;/strong&gt; — &lt;code&gt;RtkParticipants.broadcastMessage()&lt;/code&gt; now accepts an optional &lt;code&gt;targetParticipantIds: List&amp;lt;String&amp;gt;&lt;/code&gt; parameter to send a message to a specific subset of participants.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nullable Store Values&lt;/strong&gt; — &lt;code&gt;RtkStore.set()&lt;/code&gt; now accepts a nullable &lt;code&gt;value: Any?&lt;/code&gt;, allowing keys to be cleared by setting them to &lt;code&gt;null&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logging Control&lt;/strong&gt; — &lt;code&gt;RealtimeKitClient&lt;/code&gt; gains &lt;code&gt;enableLogging(enabled: Boolean)&lt;/code&gt; and &lt;code&gt;enableLogging(enabled: Boolean, minSeverity: LogSeverity)&lt;/code&gt; to control SDK log output at runtime.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Result&amp;lt;S, F&amp;gt; Utility Type&lt;/strong&gt; — A new &lt;code&gt;sealed class Result&amp;lt;S, F&amp;gt;&lt;/code&gt; with &lt;code&gt;Success&lt;/code&gt; and &lt;code&gt;Failure&lt;/code&gt; variants is used consistently across new async APIs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Improved reconnection handling to ensure media recovers gracefully in more scenarios&lt;/li&gt;
&lt;li&gt;Improved simulcast tiers to broadcast at a wider range of qualities on higher tiers&lt;/li&gt;
&lt;li&gt;Fixed some races in media handling causing mute/unmute operations to rarely result in a crash&lt;/li&gt;
&lt;li&gt;Optimized API calls in the room join flow to speed up first join durations&lt;/li&gt;
&lt;li&gt;Fixed file and image uploads in chat failing under some conditions&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 2.1.0</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-210</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-210</guid><description>&lt;p&gt;&lt;strong&gt;Breaking changes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;RtkParticipants.activeSpeaker&lt;/code&gt; → &lt;code&gt;RtkParticipants.lastActiveSpeaker&lt;/code&gt;. The old &lt;code&gt;activeSpeaker&lt;/code&gt; property is deprecated and will be removed in a future release.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RtkSelfParticipant.enableScreenShare()&lt;/code&gt; → &lt;code&gt;enableScreenShare(onResult:)&lt;/code&gt;. The old no-callback version is deprecated and will be removed in a future release.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RtkSelfParticipant.disableScreenShare()&lt;/code&gt; → &lt;code&gt;disableScreenShare(onResult:)&lt;/code&gt;. The old no-callback version is deprecated and will be removed in a future release.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RtkStore.subscribe(key, (key, value) → Unit)&lt;/code&gt; → &lt;code&gt;subscribe(key, (value) → Unit)&lt;/code&gt;. The old two-argument callback signature is deprecated but remains functional via a backward-compatible shim.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RtkStore.unsubscribe(key, (key, value) → Unit)&lt;/code&gt; → &lt;code&gt;unsubscribe(key, (value) → Unit)&lt;/code&gt;. The old two-argument callback signature is deprecated but remains functional via a backward-compatible shim.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;RtkChat.pin()&lt;/code&gt; and &lt;code&gt;RtkChat.unpin()&lt;/code&gt; methods to pin and unpin chat messages&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;RtkChat.getMessagesByUser()&lt;/code&gt; to filter messages by sender and &lt;code&gt;RtkChat.getMessagesByType()&lt;/code&gt; to filter messages by type&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;SelfPermissions.canPinMessage()&lt;/code&gt; to check whether the local participant has permission to pin messages&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed a memory leak in video rendering caused by &lt;code&gt;SurfaceViewRenderer&lt;/code&gt; instances not being released&lt;/li&gt;
&lt;li&gt;Fixed recording state getting stuck as &amp;quot;recording&amp;quot; when stopping a recording that was started by another participant&lt;/li&gt;
&lt;li&gt;Fixed &amp;quot;ghost&amp;quot; participants appearing on the grid when a user was on the setup screen but had not yet joined the socket room&lt;/li&gt;
&lt;li&gt;Fixed webinar host being invisible to other participants when joining late&lt;/li&gt;
&lt;li&gt;Fixed recording bots and other hidden participants incorrectly appearing on the participant grid&lt;/li&gt;
&lt;li&gt;Fixed waitlisted participants appearing in the participant list before being admitted to the meeting&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 2.0.0</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-200</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-200</guid><description>&lt;p&gt;&lt;strong&gt;Breaking changes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Removed Hive SFU support. Only the Cloudflare SFU is supported going forward.&lt;/li&gt;
&lt;li&gt;The default base URI is now &lt;code&gt;realtime.cloudflare.com&lt;/code&gt;. Calling &lt;code&gt;init()&lt;/code&gt; with a &lt;code&gt;dyte.io&lt;/code&gt; base domain now fails immediately with &lt;code&gt;MeetingError.InvalidBaseUrl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added compatibility with new backend plugins API field naming&lt;/li&gt;
&lt;li&gt;Fixed a crash that could occur when accessing the socket controller before &lt;code&gt;init()&lt;/code&gt; was called&lt;/li&gt;
&lt;li&gt;Fixed auth token not being sent to the callstats collector endpoint&lt;/li&gt;
&lt;li&gt;Removed custom ping-pong keepalive logic that was only required for the previous infrastructure&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.6.2</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-162</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-162</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avoid crash when using Ktor versions 3.4.0 and above&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.6.1</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-161</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-161</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed media issues when connection took longer to establish&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 06 Feb 2026 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.6.0</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-160</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-160</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Improved grid transitions by activating consumers in batches for better performance&lt;/li&gt;
&lt;li&gt;Moved consumer toggle requests off main thread to prevent UI blocking&lt;/li&gt;
&lt;li&gt;Improved video rendering stability with better lifecycle management&lt;/li&gt;
&lt;li&gt;Prevented race conditions by canceling reconnection attempts during initialization&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 14 Jan 2026 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.5.7</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-157</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-157</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed rare crash when toggling audio mute&lt;/li&gt;
&lt;li&gt;Off-stage webinar hosts no longer show up on the grid&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.5.6</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-156</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-156</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed deadlocks in webinar join and screenshare enable flows&lt;/li&gt;
&lt;li&gt;Fixed an issue with camera not working when moving to settings screen and back&lt;/li&gt;
&lt;li&gt;Fixed a rare crash in voice activity detection&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 12 Dec 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.5.5</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-155</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-155</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed participant tiles not being removed properly when peers left the meeting&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 04 Dec 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.5.4</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-154</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-154</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Internal fixes to reduce telemetry verbosity&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 06 Nov 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.5.3</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-153</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-153</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed a regression that caused self video to not render if meeting was joined with camera disabled&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 23 Oct 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.5.2</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-152</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-152</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed unreliable grid behavior with improved refresh logic&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 23 Oct 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.5.1</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-151</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-151</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Internal fixes to resolve issues for Flutter platform&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 06 Oct 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.5.0</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-150</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-150</guid><description>&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;RtkSelfEventListener#onAudioDeviceChanged&lt;/code&gt; method that is invoked when the current audio route is updated&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 23 Sep 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.4.1</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-141</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-141</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Speakerphone is now preferred over earpiece as the default audio output&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 18 Sep 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.4.0</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-140</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-140</guid><description>&lt;p&gt;&lt;strong&gt;Breaking changes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Updated &lt;code&gt;RtkSelfEventListener#onAudioDevicesUpdated&lt;/code&gt; method to provide the list of available devices&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed not being able to route audio to Bluetooth devices&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 18 Sep 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.3.4</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-134</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-134</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed a rare crash during meeting joins in poor network scenarios&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 12 Sep 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.3.3</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-133</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-133</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed pinned peers not being removed from the stage when kicked&lt;/li&gt;
&lt;li&gt;Media consumers are now created in parallel, which significantly improved the speed of when users start seeing other people&amp;#39;s audio/video after joining a meeting&lt;/li&gt;
&lt;li&gt;Native libraries are now 16KB aligned to comply with &lt;a href=&quot;https://android-developers.googleblog.com/2025/05/prepare-play-apps-for-devices-with-16kb-page-size.html&quot;&gt;Google Play requirements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed &amp;quot;Ghost&amp;quot;/Invalid peers that would sometimes show up in long-running meetings&lt;/li&gt;
&lt;li&gt;Fixed an issue in webinar meetings where the SDK would fail to produce media after being removed from the stage once&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 12 Sep 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.3.2</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-132</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-132</guid><description>&lt;p&gt;&lt;strong&gt;Enhancements&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed microphone not working when joining the stage in a webinar&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 13 Aug 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.3.1</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-131</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-131</guid><description>&lt;p&gt;&lt;strong&gt;Enhancements&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed a potential crash in poor network scenarios&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 13 Aug 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.3.0</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-130</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-130</guid><description>&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;RtkSelfParticipant#canJoinStage&lt;/code&gt; and &lt;code&gt;RtkSelfParticipant#canRequestToJoinStage&lt;/code&gt; APIs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed viewer unable to join stage in a Livestream&lt;/li&gt;
&lt;li&gt;Fixed user unable to see existing pinned participant after joining meeting&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 12 Aug 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.2.0</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-120</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-120</guid><description>&lt;p&gt;&lt;strong&gt;Breaking changes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Renamed &lt;code&gt;RtkLivestreamData.roomName&lt;/code&gt; to &lt;code&gt;RtkLivestreamData.meetingId&lt;/code&gt; to match existing API convention&lt;/li&gt;
&lt;li&gt;Removed obsolete &lt;code&gt;WaitingRoomPermissions&lt;/code&gt; abstraction — all the relevant functionality here is available through &lt;code&gt;HostPermissions&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;VideoDevice gained a &lt;code&gt;cameraType: CameraType&lt;/code&gt; parameter&lt;/li&gt;
&lt;li&gt;&lt;code&gt;VideoDeviceType#displayName&lt;/code&gt; is now deprecated, and it&amp;#39;s recommended to call &lt;code&gt;VideoDevice#toString&lt;/code&gt; instead to get user-facing names for individual &lt;code&gt;VideoDevice&lt;/code&gt; instances&lt;/li&gt;
&lt;li&gt;Existing APIs related to middlewares were removed and replaced with equivalent counterparts from WebRTC: &lt;code&gt;RtkSelfParticipant#addVideoMiddleware&lt;/code&gt;, &lt;code&gt;RtkSelfParticipant#getVideoMiddlewares&lt;/code&gt; and &lt;code&gt;RtkSelfParticipant#removeVideoMiddleware&lt;/code&gt; were replaced with &lt;code&gt;RealtimeKitMeetingBuilder#setVideoProcessor&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RtkVideoFrame&lt;/code&gt; was removed in favor of WebRTC&amp;#39;s own &lt;code&gt;VideoFrame&lt;/code&gt; class, available as &lt;code&gt;realtimekit.org.webrtc.VideoFrame&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reimplemented middlewares using WebRTC-native primitives to resolve intermittent crashes and other issues, check out the new &lt;a href=&quot;https://docs.realtime.cloudflare.com/android-core/video-processing/introduction&quot;&gt;Video Processing&lt;/a&gt; docs section to learn more&lt;/li&gt;
&lt;li&gt;&lt;code&gt;VideoDevice&lt;/code&gt; now properly labels multiple cameras based on their camera characteristics such as wide-angle and telephoto&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed screen share failing to stop&lt;/li&gt;
&lt;li&gt;Silenced log spam from our callstats library&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 05 Aug 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.1.0</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-110</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-110</guid><description>&lt;p&gt;&lt;strong&gt;Enhancements&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Meeting initialization (&lt;code&gt;meeting.init()&lt;/code&gt;) is now ~60% faster&lt;/li&gt;
&lt;li&gt;Switched to an updated and &lt;strong&gt;RTK&lt;/strong&gt; namespaced WebRTC&lt;/li&gt;
&lt;li&gt;Improved Active speaker detection with the updated WebRTC&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 02 Jul 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.0.1</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-101</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-101</guid><description>&lt;p&gt;&lt;strong&gt;Breaking changes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Renamed RtkMessageType to ChatMessageType&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Silenced logspam from audio activity reporter&lt;/li&gt;
&lt;li&gt;Improved speed of joining calls&lt;/li&gt;
&lt;li&gt;Auth tokens now automatically trim invalid spaces and newlines&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 20 Jun 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 1.0.0</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-100</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-100</guid><description>&lt;p&gt;&lt;strong&gt;Breaking changes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Removed deprecated &lt;code&gt;channelId&lt;/code&gt; field from &lt;code&gt;TextMessage&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Moved listener types to their respective feature package&lt;/li&gt;
&lt;li&gt;Moved public listeners to their respective feature packages&lt;/li&gt;
&lt;li&gt;Renamed plugin add-remove listener methods for RtkPluginsEventListener&lt;/li&gt;
&lt;li&gt;Moved chat extensions to the &lt;code&gt;chat&lt;/code&gt; package&lt;/li&gt;
&lt;li&gt;Moved &lt;code&gt;RtkParticipant&lt;/code&gt; to the root package&lt;/li&gt;
&lt;li&gt;Moved &lt;code&gt;RtkMeetingParticipant&lt;/code&gt; to the root package&lt;/li&gt;
&lt;li&gt;Moved &lt;code&gt;RtkPluginFile&lt;/code&gt; to the plugins package&lt;/li&gt;
&lt;li&gt;Moved middlewares to their own package&lt;/li&gt;
&lt;li&gt;Moved &lt;code&gt;VideoScaleType&lt;/code&gt; to top level &lt;code&gt;media&lt;/code&gt; package&lt;/li&gt;
&lt;li&gt;Dropped &lt;code&gt;Rtk&lt;/code&gt; prefix from audio and video device types&lt;/li&gt;
&lt;li&gt;Moved device types to the top level &lt;code&gt;media&lt;/code&gt; package&lt;/li&gt;
&lt;li&gt;Dropped &lt;code&gt;Rtk&lt;/code&gt; prefix from polls types&lt;/li&gt;
&lt;li&gt;Replaced all LiveStream references with Livestream&lt;/li&gt;
&lt;li&gt;Moved &lt;code&gt;RtkMeetingParticipant&lt;/code&gt; to root package&lt;/li&gt;
&lt;li&gt;Stripped &lt;code&gt;Rtk&lt;/code&gt; prefix from &lt;code&gt;RtkRecordingState&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Stripped &lt;code&gt;Rtk&lt;/code&gt; prefix from chat message types&lt;/li&gt;
&lt;li&gt;Removed deprecated RtkLivestream#roomName field&lt;/li&gt;
&lt;li&gt;Moved &lt;code&gt;RtkMediaPermission&lt;/code&gt; to media package and renamed to &lt;code&gt;MediaPermission&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Redistributed &lt;code&gt;feat&lt;/code&gt; package members&lt;/li&gt;
&lt;li&gt;Moved &lt;code&gt;StageStatus&lt;/code&gt; class to stage package&lt;/li&gt;
&lt;li&gt;Renamed all event listeners to be of the singular &lt;code&gt;*EventListener&lt;/code&gt; form&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 26 May 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 0.2.1</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-021</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-021</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Internal fixes to release pipeline&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 16 May 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 0.2.0</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-020</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-020</guid><description>&lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added audio activity detection for active speaker signaling&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 16 May 2025 00:00:00 GMT</pubDate></item><item><title>RealtimeKit Android Core - RealtimeKit Android Core 0.1.0</title><link>https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-010</link><guid isPermaLink="true">https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#realtimekit-android-core-010</guid><description>&lt;p&gt;&lt;strong&gt;New APIs&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Initial alpha release&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 14 May 2025 00:00:00 GMT</pubDate></item></channel></rss>