WhatsNewScreen

fun WhatsNewScreen(client: FeedbackClient, userToken: String, modifier: Modifier = Modifier)(source)

Full-screen "What's New" and Product Changelog Screen composable.

Renders a reverse-chronological timeline of published release notes and product announcements with inline Markdown rendering, version badges, linked feature requests, pull-to-refresh, and an integrated email newsletter subscription sheet.

Key Features & Architecture

  • Chronological Release Timeline: Fetches published ChangelogEntry items via FeedbackClient.fetchChangelog and displays formatted release titles, publication dates, and rich Markdown content.

  • Linked Feature Badges: Highlights completed user requests associated with each release via ChangelogLinkedRequest.

  • Email Subscription Modal: The top bar mail icon and footer card open an interactive modal bottom sheet allowing users to subscribe to product update emails (or unsubscribe) directly from the device.

  • Remote Theming & Feature Gating: Automatically wrapped in SdkSurface with SdkFeature.CHANGELOG.

Example Integration

@Composable
fun ProductUpdatesTab(
client: FeedbackClient,
userTokenStore: UserTokenStore
) {
WhatsNewScreen(
client = client,
userToken = userTokenStore.token,
modifier = Modifier.fillMaxSize()
)
}

Screenshot

What's New Screen

Parameters

client

Shared FeedbackClient instance used to load changelog entries and manage email subscriptions.

userToken

Stable anonymous user token from UserTokenStore used to authenticate subscription actions.

modifier

Optional Modifier applied to the root Scaffold layout.