> For the complete documentation index, see [llms.txt](https://docs.appkickstarter.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.appkickstarter.com/features/whats-new-feature.md).

# Whats new feature

Showcase New Build Features and Fixes, Engage Your Users, and Convert Them into Paying Customers.

Every update is an opportunity to keep your users engaged in your project. People appreciate apps that are actively maintained and are more likely to pay for regularly updated products. That’s why we’ve introduced this feature – to showcase the new features and fixes with every build update while also providing an additional opportunity to introduce the paywall.

### Presenting the List <a href="#presenting-the-list" id="presenting-the-list"></a>

```
 // Define update details for build 10
private val updateBuild10 = listOf(
    FeatureItemData(
        imageVector = Icons.Rounded.Home,
        iconTint = Color.White,
        iconBackgroundColor = Color(0XFFd32727),
        title = "New feature 1",
        text = "We've introduced this exciting new feature. You'll find it amazing."
    ),
    // ... More features for this build
)

override suspend fun whatsNewFor(build: String): List<FeatureItemData> { 
    // Return the updates for the specified build
    return when (build) {
        "10" -> updateBuild10
        else -> emptyList()
    }
}
```

In the code above, the whatsNewFor function is called every time the app is launched after onboarding and the user logs in.

It is called with the build version as a string (version code not version name).

Simply using the when statement and returning the updateBuild10 variable in the “10” case will display the ‘What’s New’ screen.

### If You Don’t Want to Present Updates <a href="#if-you-dont-want-to-present-updates" id="if-you-dont-want-to-present-updates"></a>

You can simply return an empty list every time.

### Hiding the ‘What’s New’ Screen <a href="#hiding-the-whats-new-screen" id="hiding-the-whats-new-screen"></a>

The ‘What’s New’ screen can be hidden by clicking the close button at the top left or by clicking the continue button.

### Show the Paywall on Click the Continue Button <a href="#show-the-paywall-on-click-the-continue-button" id="show-the-paywall-on-click-the-continue-button"></a>

```
PrimaryButton("Continue") {
    screenModel.updatesVersionSeen()
    navigator.push(PaywallScreen)
}
```

The first line, updatesVersionSeen, updates the version seen to the latest (e.g., 10 in our example), and, through observability, the screen is hidden.

The second line, navigator.push(PaywallScreen), presents your paywall and offers an opportunity to convert users into paying customers.

<br>
