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 24, 2025

RevenueCat Updates

Improved

  • Removed sandbox AskToBuy simulation for RevenueCat
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 15, 2025

Compose Multiplatform Update

Improved

  • Updated Compose Multiplatform to 1.9.1
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 25, 2025

Alarmee Update

Improved

  • Updated Alarmee to version 2.4.2
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 9, 2025

Gradle Cleanup

Improved

  • Removed obsolete R8 properties from gradle.properties
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
August 7, 2025

UI Navigation Fixes

Improved

  • Updated Czan to version 2.9.8

Fixed

  • Onboarding screen now properly handles window insets padding for both 3-button and gesture navigation modes
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
June 18, 2025

Koin Setup Fix

Fixed

  • Koin setup by adding missing declarations