---
title: "Firebase Kotlin Extensions are out of Beta!"
description: "Firebase Kotlin Extensions are out of Beta!"
published: "2020-03-27"
last_updated: "2020-03-27"
authors:
  - "Sam Stern (Developer Programs Engineer)"
categories:
  - "Android"
  - "Kotlin"
  - "Launch"
canonical_url: "https://firebase.blog/posts/2020/03/firebase-kotlin-ga"
---

# Firebase Kotlin Extensions are out of Beta!

*Published March 27, 2020 by Sam Stern (Developer Programs Engineer)*

---
![Firebase banner. Illustration of a laptop screen and KXT extension](https://firebasestorage.googleapis.com/v0/b/first-class-blog.appspot.com/o/blog-assets%2F2020%2F03%2Ffirebase-kotlin-ga%2Foptimized%2Ffirebase_ktx.jpg?alt=media)

We know that Kotlin is the future of Android and that Kotlin developers want clean, idiomatic APIs when they use Firebase in their apps. For the past year, we've been releasing Firebase Kotlin extension (KTX) libraries alongside our Android Java SDKs to give Kotlin developers the best of both worlds.

**Today, we're happy to announce that these KTX libraries are out of Beta and recommended for all Firebase developers using Kotlin in their Android apps!**

So what does this mean for you?

*   Full [reference docs](https://firebase.google.com/docs/reference/kotlin/packages) for all of our KTX libraries
*   Kotlin snippets in our [documentation](https://firebase.google.com/docs/guides) will now use KTX syntax
*   Kotlin code in our [samples](https://github.com/firebase/quickstart-android) will now use KTX syntax

To get started with our KTX libraries, look for the `-ktx` suffix in the "Kotlin+KTX" section of our [available Android libraries](https://firebase.google.com/support/release-notes/android). As an example, let's see what it looks like to set up Remote Config with and without the KTX library.

**app/build.gradle (before)**

```kotlin
implementation 'com.google.firebase:firebase-config:19.1.2' 
```

**MainActivity.kt (before)**

```kotlin
val remoteConfig = FirebaseRemoteConfig.getInstance()

val configSettings = FirebaseRemoteConfigSettings.Builder()
        .setMinimumFetchIntervalInSeconds(3600)
        .setFetchTimeoutInSeconds(60)
        .build()
remoteConfig.setConfigSettingsAsync(configSettings) 
```

**app/build.gradle (after)**

```kotlin
// The -ktx library has a dependency on the firebase-config library
implementation 'com.google.firebase:firebase-config-ktx:19.1.2' 
```

**MainActivity.kt (after)**

```kotlin
// New global "Firebase" class
val remoteConfig = Firebase.remoteConfig

// New settings builder syntax
val configSettings = remoteConfigSettings {
    minimumFetchIntervalInSeconds = 3600
    fetchTimeoutInSeconds = 60
}
remoteConfig.setConfigSettingsAsync(configSettings) 
```

And the KTX libraries that we have available today are just the beginning, as we're working hard to add coverage for all Firebase products and add new Kotlin-focused features in the near future!

We wouldn't have been able to release these KTX libraries without the help of all the Kotlin enthusiasts in the Firebase community. We'd like to give a special shout out to [Rosário Pereira Fernandes](https://github.com/rosariopfernandes) who contributed so much excellent code and documentation to the KTX effort.

If you have feedback or want to contribute, you can [find us on GitHub](https://github.com/firebase/firebase-android-sdk).
