appflight_cli
AppFlight CLI — upload APKs from your terminal or CI pipelines without the Play Store.
0.5.0
144 downloads/mo
#1644 most downloaded on pub.dev
mhmzdev/appflight-cli-docs
What this package is like to depend on
Last release 1 months ago
11 Jul 2026
Release timing varies
gaps range from 2 weeks to 2 months
Nearly every release is documented
notes for 13 of 13 stable releases
Nothing withdrawn
no release was ever pulled
4 months old
13 releases · first in 2026
13 releases in the last 12 months
see the full history below
Release timeline
13 releases · Apr 2026 to Jul 2026Releases
latest 13-
0.5.011 Jul 2026Release notes
Open source →- Native Android (Kotlin) support —
appflight initnow prompts for Kotlin as a third stack option (or accepts--project-type kotlin) alongside Flutter and React Native. Native Android projects are validated againstapp/build.gradle(.kts)at the project root (noandroid/wrapper). - Layout-aware Gradle resolution —
GradleParser.resolvePathresolvesapp/build.gradle(.kts)for Kotlin projects andandroid/app/build.gradle(.kts)for React Native,.kts-first in both. - Framework-aware APK paths and build hints — Kotlin APK output paths and the "APK not found" / next-steps hints use
./gradlew assemble...Releasefrom the project root (nocd android). - Automatic version from Gradle — Kotlin uploads read
versionName+versionCodefrom rootapp/build.gradle(.kts), same as React Native.
- Native Android (Kotlin) support —
-
0.4.101 May 2026Release notes
Open source →project_typeadded to analytics events — upload, init, and plan-limit events now includeproject_type: "flutter"|"react-native"so CLI usage can be segmented by framework in GA4.
-
0.4.001 May 2026Release notes
Open source →- Anonymous usage analytics — the CLI now optionally collects anonymous usage data via GA4 to help improve the tool. You are prompted once on first run; CI environments are always skipped.
appflight analytics enable— opt in to analytics.appflight analytics disable— opt out at any time.appflight analytics status— show current opt-in status.
-
0.3.101 May 2026Release notes
Open source →- Kotlin DSL support in
appflight upload— version resolution now checksbuild.gradle.ktsbeforebuild.gradle, and the regexes handle both Groovy (versionName "x") and Kotlin DSL (versionName = "x") syntax. Fixes React Native 0.77+ projects that usebuild.gradle.ktsby default.
- Kotlin DSL support in
-
0.3.001 May 2026Release notes
Open source →- React Native bare workflow support —
appflight initnow prompts for your framework (Flutter or React Native) or accepts--project-type flutter|react-nativeto skip the prompt. React Native projects are validated againstpackage.json+android/app/build.gradle. - Framework-aware APK paths — React Native uses Gradle output paths (
android/app/build/outputs/apk/<flavor>/release/); Flutter paths are unchanged. - Automatic version from Gradle — React Native uploads read
versionName+versionCodefromandroid/app/build.gradleand combine them as1.2.0+7. Override with--versionor--build-numberas usual. - Smarter project root detection —
uploadnow walks up looking forappflight.jsoninstead ofpubspec.yaml, so it works from any subdirectory in both Flutter and React Native projects. - Conditional build hints — the "APK not found" error now shows the correct build command for your framework (
flutter build apkvs./gradlew assemble...). - All existing Flutter behaviour is fully backward-compatible —
projectTypedefaults toflutterand no changes to existingappflight.jsonfiles are required.
- React Native bare workflow support —
-
0.2.127 Apr 2026Release notes
Open source →- Two-segment package names now allowed in
appflight init— the validator previously required at least 3 dot-separated segments (e.g.com.mycompany.myapp). Names likedev.mhmzare now accepted, matching the AppFlight mobile app and backend.
- Two-segment package names now allowed in
-
0.2.024 Apr 2026Release notes
Open source →- Rollover uploads — First Class (pro) uploads at the APK cap now auto-drop the oldest build instead of blocking. When a rollover happens, the CLI prints
Rolled over oldest build (vX.Y.Z) to stay at your plan cap. - Higher pro APK caps — Individual First Class: 10 → 15; Organization First Class: 15 → 20.
- Free-tier TTL shortened to 7 days (was 14). First Class keeps 14 days.
- Economy (free) uploads at cap still exit
8with the existingPLAN_LIMITmessage.
- Rollover uploads — First Class (pro) uploads at the APK cap now auto-drop the oldest build instead of blocking. When a rollover happens, the CLI prints
-
0.1.722 Apr 2026Release notes
Open source →- Default environment is now
prod(wasstage). Pasted keys from the AppFlight mobile app now work out of the box without anyAPPFLIGHT_ENVoverride.stageandlocalremain available viaAPPFLIGHT_ENV/--envfor contributors hacking on the CLI or Cloud Functions.
- Default environment is now
-
0.1.622 Apr 2026Release notes
Open source →- Fix
appflight --versioncrashing withPathNotFoundException— version is now read from an embedded Dart constant instead ofpubspec.yaml(which is not shipped to~/.pub-cache/global_packages/).
- Fix
-
0.1.521 Apr 2026 -
0.1.417 Apr 2026Release notes
Open source →Patch Changes
- 6e5e541: Fix release pipeline: use PAT for tag push to correctly trigger pub.dev publish
-
0.1.116 Apr 2026 -
0.1.016 Apr 2026Release notes
Open source →- Initial release
init— scaffoldappflight.jsonin a Flutter projectlogin— authenticate with an AppFlight API keylogout— remove saved credentialswhoami— display the authenticated userupload— upload an APK and notify testers automatically