Releases: com3run/firebase-auth-kmp
v1.0.4 - Add iosX64 target support
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
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-iosarm64orfirebase-auth-kmp-iossimulatorarm64
Modules Published
All 6 platform modules are now successfully available on Maven Central:
firebase-auth-kmp- Umbrella module (metadata)firebase-auth-kmp-android- Android release variantfirebase-auth-kmp-android-debug- Android debug variantfirebase-auth-kmp-jvm- Desktop/JVMfirebase-auth-kmp-iosarm64- iOS physical devicesfirebase-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
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
commonMaindependency - 🔧 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.jsonfrom 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 🚀
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
ActivityHoldermanagement via ContentProvider - Activity lifecycle tracking
- Fully backward compatible
📱 iOS Simplified Setup
One line in AppDelegate and you're done!
- Ready-to-use Swift bridge template
- Download bridge file →
- Detailed setup guide: IOS_SETUP_GUIDE.md
📚 Tiered Documentation
Choose your learning path:
- 30 seconds: QUICKSTART.md - Get running immediately
- 2 minutes: README.md - Quick platform setup
- 5 minutes: EASY-INTEGRATION.md - Complete understanding
🎯 Platform Support
| Feature | Android | iOS | Desktop |
|---|---|---|---|
| Email/Password | ✅ | ✅ | ✅ |
| Anonymous Auth | ✅ | ✅ | ✅ |
| Google Sign-In | ✅ | ✅ | |
| Apple Sign-In | ❌ | ✅ | |
| Facebook Sign-In | ✅ | ✅ | |
| Auto-Init | ✅ | ❌ | ❌ |
| Offline Support | ✅ | ✅ | ❌ |
| Account Linking | ✅ | ✅ | ❌ |
✅ = Full support |
📦 Installation
Android
implementation("dev.com3run:firebase-auth-kmp:1.0.1")That's it! Auto-initialization handles the rest.
iOS
- Add dependency (same as above)
- Copy FirebaseAuthBridge.swift.template to your iOS app
- Call
FirebaseAuthBridge.shared.start()in AppDelegate
Desktop
- Add dependency (same as above)
- 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
📚 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!