Skip to content

Releases: com3run/firebase-auth-kmp

v1.0.4 - Add iosX64 target support

16 Oct 18:44

Choose a tag to compare

What's New

This release adds support for the iosX64 target (Intel-based Mac simulator), which was missing in previous versions.

Changes

  • Added iosX64() target to the iOS targets list
  • Bumped version to 1.0.4
  • Published to Maven Central with all three iOS variants:
    • iosArm64 (physical iOS devices)
    • iosX64 (Intel-based Mac simulators)
    • iosSimulatorArm64 (Apple Silicon Mac simulators)

Bug Fix

This fixes the Gradle resolution error where projects requiring the iosX64 variant would fail with "No matching variant" error.


Full Changelog: v1.0.3...v1.0.4

v1.0.3 - Maven Central Publication Fix

16 Oct 13:52

Choose a tag to compare

What's Changed

Fixed

  • 📦 Maven Central Publication - Fixed Javadoc signing conflicts that prevented successful publication
    • Each of the 6 platform modules now has its own unique Javadoc JAR
    • Eliminated signing race conditions between publications
    • All modules now publish successfully with proper artifacts (JAR + sources + javadoc + POM + signatures)

Technical Improvements

  • ♻️ Refactored Javadoc JAR generation with unique tasks per publication
  • 🗑️ Removed unnecessary Dokka plugin dependency
  • 🔧 Simplified build configuration for Maven Central compliance

Installation

Maven Central (Recommended)

kotlin {
    sourceSets {
        commonMain.dependencies {
            implementation("dev.com3run:firebase-auth-kmp:1.0.3")
        }
    }
}

This will automatically resolve to the correct platform-specific module:

  • Android: firebase-auth-kmp-android
  • JVM/Desktop: firebase-auth-kmp-jvm
  • iOS: firebase-auth-kmp-iosarm64 or firebase-auth-kmp-iossimulatorarm64

Modules Published

All 6 platform modules are now successfully available on Maven Central:

  1. firebase-auth-kmp - Umbrella module (metadata)
  2. firebase-auth-kmp-android - Android release variant
  3. firebase-auth-kmp-android-debug - Android debug variant
  4. firebase-auth-kmp-jvm - Desktop/JVM
  5. firebase-auth-kmp-iosarm64 - iOS physical devices
  6. firebase-auth-kmp-iossimulatorarm64 - iOS M1/M2 simulators

Maven Central Status

The artifacts are processing on Maven Central and will be available within 10-30 minutes.

Full Changelog: v1.0.2...v1.0.3

v1.0.2

16 Oct 13:31

Choose a tag to compare

What's Changed

Fixed

  • 📦 Maven Central JVM Module - Ensured JVM/Desktop artifact is properly published to Maven Central
  • Umbrella Dependency Resolution - Desktop targets now work with commonMain dependency
  • 🔧 Dependency Resolution - Fixed "No matching variant found" errors for JVM targets

Added

  • 📚 JitPack Documentation - Clear instructions for JitPack users requiring platform-specific artifacts
  • 🛠️ Troubleshooting Guide - Added comprehensive dependency resolution troubleshooting

Security

  • 🔒 Removed Sensitive Config - Removed firebase-config.json from version control

Installation

Maven Central (Recommended)

kotlin {
    sourceSets {
        commonMain.dependencies {
            implementation("dev.com3run:firebase-auth-kmp:1.0.2")
        }
    }
}

JitPack (Alternative)

For desktop projects, use platform-specific artifacts:

val desktopMain by getting {
    dependencies {
        implementation("com.github.com3run.firebase-auth-kmp:firebase-auth-kmp-jvm:v1.0.2")
    }
}

What's Next

The library is now fully functional for Android, iOS, and Desktop (JVM) platforms. All modules are properly published to Maven Central.

Full Changelog: v1.0.1...v1.0.2

v1.0.1 - Desktop Support & Enhanced Integration 🚀

14 Oct 06:55

Choose a tag to compare

Firebase Auth KMP v1.0.1 🎉

A production-ready Kotlin Multiplatform library providing Firebase Authentication for Android, iOS, and Desktop with a unified, type-safe API.

🚀 Quick Start

dependencies {
    implementation("dev.com3run:firebase-auth-kmp:1.0.1")
}

Get started in 30 seconds: QUICKSTART.md


✨ What's New in v1.0.1

🖥️ Desktop/JVM Platform Support

Firebase Authentication now works on Windows, macOS, and Linux!

  • REST API-based implementation
  • Email/Password and Anonymous auth
  • OAuth support (requires external browser flow)
  • Auto-discovery of firebase-config.json

🤖 Android Auto-Initialization

Zero-code setup! No more manual Activity management.

  • Automatic ActivityHolder management via ContentProvider
  • Activity lifecycle tracking
  • Fully backward compatible

📱 iOS Simplified Setup

One line in AppDelegate and you're done!

📚 Tiered Documentation

Choose your learning path:


🎯 Platform Support

Feature Android iOS Desktop
Email/Password
Anonymous Auth
Google Sign-In ⚠️ Manual OAuth
Apple Sign-In ⚠️ Manual OAuth
Facebook Sign-In ⚠️ Manual OAuth
Auto-Init
Offline Support
Account Linking

✅ = Full support | ⚠️ = Partial support | ❌ = Not supported


📦 Installation

Android

implementation("dev.com3run:firebase-auth-kmp:1.0.1")

That's it! Auto-initialization handles the rest.

iOS

  1. Add dependency (same as above)
  2. Copy FirebaseAuthBridge.swift.template to your iOS app
  3. Call FirebaseAuthBridge.shared.start() in AppDelegate

Desktop

  1. Add dependency (same as above)
  2. Create firebase-config.json:
{"apiKey": "YOUR_KEY", "projectId": "your-project"}

💡 Usage Example

// Initialize (with or without Koin)
val authBackend = platformAuthBackend()
val authRepository = AuthRepository(authBackend)

// Sign in
val result = authRepository.signInWithEmailAndPassword(
    email = "user@example.com",
    password = "password123"
)

when (result) {
    is AuthResult.Success -> println("Signed in!")
    is AuthResult.Failure -> println("Error: ${result.error}")
}

// Monitor auth state
authRepository.authState.collect { user ->
    println(if (user != null) "Logged in" else "Logged out")
}

🆕 Breaking Changes

None! v1.0.1 is fully backward compatible with v1.0.0.

Migration from v1.0.0

Android: You can now remove manual ActivityHolder code (optional):

// ❌ No longer needed (but still works):
ActivityHolder.current = this

// ✅ Automatic now!

iOS: Consider using the new bridge template for better error messages.

All platforms: Update your dependency to 1.0.1

See MIGRATION.md for details.


📝 Full Changelog

Added

  • ✨ Desktop/JVM platform support with REST API
  • 🚀 Android auto-initialization via ContentProvider
  • 📱 iOS bridge template with improved documentation
  • 📚 QUICKSTART.md (30-second setup)
  • 📘 IOS_SETUP_GUIDE.md (comprehensive iOS guide)
  • 🔧 Multi-path config file discovery for desktop

Changed

  • 📖 Updated README with tiered documentation
  • 🔧 Improved desktop error messages with working directory info
  • 📚 Enhanced iOS documentation with download links

Fixed

  • 🐛 Desktop config file discovery now checks multiple paths
  • 🐛 Documentation version inconsistencies
  • 🐛 Android Activity lifecycle edge cases

View full changelog →


📚 Documentation


🔗 Links


👨‍💻 Credits

Created by Kamran Mammadov

📄 License

MIT License


Made with ❤️ using Kotlin Multiplatform

If you find this library helpful, please star the repo!