This guide provides comprehensive instructions for AI agents on how to update versions across all platforms and trigger CI/CD workflows in the NoteDelight project.
The NoteDelight project supports multiple platforms with different versioning schemes:
- Android: Uses
versionCode(integer) andversionName(semantic version) - Desktop: Uses
packageVersion(semantic version) - iOS: Uses
MARKETING_VERSIONandCFBundleShortVersionString(semantic version)
File: app/android/build.gradle.kts
Current pattern (based on git changes):
android {
defaultConfig {
versionCode = 842 // Increment by 1
versionName = "8.4.2" // Semantic version
}
}Steps to update:
- Increment
versionCodeby 1 (integer) - Update
versionNamefollowing semantic versioning (MAJOR.MINOR.PATCH) - Ensure both values are consistent
Example update:
// Before
versionCode = 841
versionName = "8.4.1"
// After
versionCode = 842
versionName = "8.4.2"File: app/desktop/build.gradle.kts
Current pattern:
compose.desktop {
nativeDistributions {
packageVersion = "4.0.0" // Semantic version
}
}Steps to update:
- Update
packageVersionfollowing semantic versioning - This version is used for packaging (DMG, MSI, DEB)
Example update:
// Before
packageVersion = "3.0.0"
// After
packageVersion = "4.0.0"Files to update:
app/iosApp/iosApp.xcodeproj/project.pbxprojapp/iosApp/iosApp/Info.plist
Current pattern:
<!-- project.pbxproj -->
MARKETING_VERSION = 4.0;
<!-- Info.plist -->
<key>CFBundleShortVersionString</key>
<string>4.0</string>Steps to update:
- Update
MARKETING_VERSIONinproject.pbxproj(appears in both Debug and Release configurations) - Update
CFBundleShortVersionStringinInfo.plist - Ensure both values match
Example update:
<!-- project.pbxproj -->
// Before
MARKETING_VERSION = 3.0;
// After
MARKETING_VERSION = 4.0;
<!-- Info.plist -->
// Before
<key>CFBundleShortVersionString</key>
<string>3.0</string>
// After
<key>CFBundleShortVersionString</key>
<string>4.0</string>app/android/build.gradle.kts- Android versionapp/desktop/build.gradle.kts- Desktop versionapp/iosApp/iosApp.xcodeproj/project.pbxproj- iOS project versionapp/iosApp/iosApp/Info.plist- iOS bundle versionCHANGELOG.md- Release notes and change history