Changelog
All the latest updates, improvements, and bug fixes to KMPShip.
November 10, 2025
Auto-detect Xcode project and scheme in Fastfile
Improved
- Enhanced Fastfile with automatic detection of Xcode project and scheme name
- Improved iOS release lane flexibility by removing hardcoded project configuration
November 9, 2025
Updated to Compose Multiplatform 1.9.3 and latest libraries
Improved
- Updated Compose Multiplatform from 1.9.1 to 1.9.3
- Updated JetbrainsViewModel from 2.9.5 to 2.9.6
- Updated Android Splashscreen from 1.0.1 to 1.2.0
November 5, 2025
Release Automation & Project Structure Improvements
Added
- Release automation scripts for Android and iOS (scripts/release.sh)
- Keystore verification script (scripts/verify-keystore.sh)
- Example local.properties configuration file with placeholders for Firebase, RevenueCat, and release credentials
- Scripts organization with scripts/internal/ directory and documentation in scripts/README.md
Improved
- Refactored scripts structure to separate user-facing and internal scripts
- Modularized setup scripts with scripts/common.sh, scripts/setup-environment.sh, and scripts/configure-project.sh
- Improved path handling in release.sh, setup.sh, and verify-keystore.sh for consistency
- Updated GitHub workflow to support configurable keystore file and environment variable-based secrets
November 3, 2025
Project Configuration & Lifecycle Updates
Added
- Project configuration script (configure.sh) to assist with renaming the KMP project
- Option to rename package structure in project via renamePackageStructure parameter
- Dry-run support for project renaming
- Configuration-based approach for file replacement logic
Improved
- Refactored lifecycle event handling to use new OnLifecycleEvents function
- Replaced hardcoded file lists with configuration-based approach for project renaming
- Improved file filtering and replacement process for maintainability
- Updated resource import handling to correctly replace module names
Fixed
- Restricted module name replacements to specific files to prevent unintended changes
- Package name replacement now only occurs in config files, not in Kotlin source files
October 20, 2025
UI & Dependency Updates
Added
- Multiple preview composables for PaywallProductItemBlock component
Improved
- Updated Material3 from 1.9.0-beta06 to 1.9.0
- Updated JetbrainsViewModel from 2.9.4 to 2.9.5
- Updated borderStrokeColor to use outlineVariant from MaterialTheme
- Changed backgroundLight color to pure white
October 13, 2025
Testing & Authentication Enhancements
Added
- Mokkery and allopen plugins for improved testing support
- OpenForMokkery annotation for mocking final classes
- Comprehensive test suite for GetOnboardingStateUseCase using Mokkery
- hostingDomain parameter to authentication flow
Improved
- Updated top bar and scaffold container colors from background to surface
- Updated dark theme background color
- Upgraded multiple dependencies: Ktor, Room, SQLite, RevenueCat, and Tweener libraries
- Updated iOS project and SwiftPM package versions for RevenueCat
October 8, 2025
Platform-Specific Improvements
Improved
- Refactored discount and trial mapping to be platform-specific (Android/iOS)
September 30, 2025
System Bars Enhancement
Added
- Platform-specific system bars color handling via ApplySystemBarsColor expect/actual function
September 24, 2025
Push Notification Updates
Improved
- Updated push notification handling to use handleIncomingMessage instead of onMessageReceived
September 23, 2025
UI Components & Dependencies
Added
- Border stroke color and width support to AppBlock component
Improved
- Updated Alarmee to version 2.4.1
- Updated Tweener dependencies (Czan to 2.10.0, CzanBlocks to 1.0.5, Alarmee to 2.4.0)
- Set default border stroke color to Color.Transparent in MyProjectUIDefaults
September 17, 2025
Major SDK & Target Updates
Improved
- Updated Android compileSDK version to 36
- Updated RevenueCat dependencies to latest versions
- Updated library versions: Kotlin, Compose Multiplatform, Ktor, Room, SQLite, JetBrains ViewModel, KSP, Tweener Firebase, and Android Activity
- Renamed androidTest directory to androidInstrumentedTest
- Removed iosX64 target from all shared modules
September 10, 2025
Dependency Updates
Improved
- Updated dependency versions: Gradle, Koin, mokoPermissions, jetbrainsViewModel, and tweenerCzan
September 2, 2025
Code Quality Improvements
Improved
- Improved readability of when statement in GetOnboardingStateUseCase
August 16, 2025
Performance Optimizations
Improved
- Increased JVM memory allocation
- Enabled R8 full mode
- Capped Gradle workers
- Switched BuildKonfig flavor to 'release' for production builds
August 14, 2025
Example Code Updates
Improved
- Removed Marvel API example code (replaced by Rick and Morty API in separate sample app repository)
August 13, 2025
Major Dependencies Update
Improved
- Updated RevenueCat to version 2.1.0 (iOS: 16.2.0)
- Updated Passage to version 1.4.2
- Updated Alarmee to version 2.2.0
- Updated Gradle to 8.14.3
- Updated multiple dependencies: Ktor, Coil, CrashlyticsPlugin, and PerformancePlugin
July 17, 2025
Firebase & Date Formatting Updates
Improved
- Replaced RemoteConfigService with FirebaseRemoteConfigService
- Updated date formatting methods from dayOfMonth() to day()
- Updated CzanBlocks to 1.0.3
- Updated KMPFirebase to 1.4.1
July 15, 2025
Dependencies Update
Improved
- Updated multiple dependencies: Gradle (8.11.1), Ktor (3.2.2), RevenueCat (1.8.7+14.2.0), Alarmee (2.1.3), Passage (1.4.1), KMPKit (1.0.10)
July 4, 2025
Apple Sign In & Onboarding Improvements
Added
- Apple Sign In capability for iOS
Improved
- Updated CzanBlocks to 1.0.2
- Updated KSP to 2.2.0-2.0.2
- Updated Ktor to version 3.2.1
- Simplified onboarding steps configuration
- Improved onboarding carousel steps design
- Removed deprecated KoinContext
Fixed
- Welcome screen now properly handles window insets padding for both 3-button and gesture navigation modes
July 3, 2025
Profile Screen & Component Refactoring
Added
- Placeholder list items to Profile screen
- Profile stats section with UI
- ProfileInfo card at the top of the Profile screen
- Click bindings on Profile screens
Improved
- Renamed all Card components to Block for unified naming convention
- Moved manage subscription from Settings to Profile screen
- Main TopBar title now changes based on current screen (Home, Favorites, or Profile)
- Improved Header UI with optional image support
July 2, 2025
Reusable UI Components & Home Screen Refactor
Added
- Reusable UI components: ScreenHeader, SectionHeader, HorizontalList, VerticalList
- HomeActivityItemModel and updated HomeTemplateModel
- Header with horizontal list of items on Home screen
- Click handling for highlighted items to show Detail screen
Improved
- Refactored home screen with new list components
- Renamed MainHomeTemplate to MainTemplate
- Simplified navigation bar management
- Removed HomeHeader and HomeHighlightedItemsList components
July 1, 2025
Splash Screen & Color Scheme Updates
Added
- Splash screen theme with custom background color and animation duration
- Preview for all Composable screens
Improved
- Isolated template from MainScreen into MainHomeTemplate
- Refactored shared color palette with new color definitions
- Updated light/dark color schemes
- Removed unused soft green color variants from Palette
Fixed
- Welcome screen no longer overlapped by navigation bar in 3-button navigation system
June 30, 2025
Major Dependencies Update
Improved
- Updated Kotlin from 2.1.21 to 2.2.0
- Updated Gradle from 8.8.2 to 8.11.0
- Updated Koin from 4.0.4 to 4.1.0
- Updated BuildKonfig from 0.15.1 to 0.17.1
- Updated Moko Permissions from 0.19.0 to 0.19.1
- Updated Jetbrains ViewModel from 2.8.4 to 2.9.1
- Updated RevenueCat from 13.32.0 to 13.38.1
- Updated Czan from 2.9.5 to 2.9.6
June 29, 2025
Authentication & Dependencies Update
Added
- Immediate display of Welcome screen when logging out
Improved
- Updated Compose Multiplatform to 1.8.2
- Updated Room to 2.7.2
- Updated SQLite to 2.5.2
- Updated Google Services plugin to 4.4.3
- Updated Czan Blocks to 1.0.1
- Updated Android Firebase to 33.16.0
June 27, 2025
Complete Authentication & Settings UI
Major update adding all authentication and account management screens.
Added
- Authentication screens: WelcomeScreen, Sign Up, Log In, Sign Up with Email, Log In with Email, ResetPassword
- Settings and account management screens: Settings, Paywall, ManageSubscriptionPlan, DeleteAccount, Set Theme Type
Improved
- Paywall now shows after onboarding flow
Fixed
- RevenueCatDataSource subscription retrieval
- RevenueDataSource initialization state
- Log out and Delete account sections now hidden when user is not logged in
June 21, 2025
Onboarding State Logic
Added
- Onboarding state logic to determine which screen to show on app launch
June 20, 2025
API Integration & App Icons
Added
- Example of using Ktor to fetch Marvel API
- BuildKonfig flavor configuration in gradle.properties
Improved
- Updated Android and iOS app icons
- Set BuildKonfig flavor to 'release' for CI builds