chore(deps): Bump appfunctions-service to 1.0.0-alpha10#83
Conversation
Google Maven has published appfunctions-service:1.0.0-alpha10 (released 2026-07-01), resolving the publishing lag that kept it pinned at alpha09. Remove the mixed-version pin and align all three artifacts at alpha10. Note CLAUDE.md gotcha: alpha10 introduced @AppFunctionServiceEntryPoint as a mandatory annotation on AppFunctionService subclasses. The generated GeneratedAppFunctions class does not yet conform; a follow-up issue is needed to update KotlinGenerator and AndroidManifest accordingly.
📝 WalkthroughWalkthroughThe Android AppFunctions service dependency was upgraded from alpha09 to alpha10. CLAUDE.md now documents the alpha10-only toolchain, breaking API requirements, deprecation details, resolved publishing status, and migration guidance. ChangesAndroid AppFunctions alpha10 migration
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@app/android/app/build.gradle.kts`:
- Line 50: Revert the appfunctions-service dependency in the Gradle
configuration to the pre-alpha10 version until migration is complete. Do not
retain the alpha10 bump while GeneratedAppFunctions and AndroidManifest.xml
still use the legacy service class and registration; update those migration
pieces separately before restoring alpha10.
In `@CLAUDE.md`:
- Line 37: Update the remaining Android AppFunctions version references in the
documentation sections corresponding to docs/architecture.md and docs/usage.md,
replacing appfunctions-service alpha09 guidance with the consistent alpha10
version used by CLAUDE.md and app/android/app/build.gradle.kts. Ensure no
mixed-version pinning instructions remain.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 1d97aec6-550b-46a3-8b9c-6eecc4c96a7e
📒 Files selected for processing (2)
CLAUDE.mdapp/android/app/build.gradle.kts
| // (the release notes page lists it, but the artifact 404s) — keep this pinned to | ||
| // alpha09 until Google publishes it, or the build fails to resolve dependencies. | ||
| implementation("androidx.appfunctions:appfunctions-service:1.0.0-alpha09") | ||
| implementation("androidx.appfunctions:appfunctions-service:1.0.0-alpha10") |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n== build.gradle.kts ==\n'
sed -n '1,140p' app/android/app/build.gradle.kts
printf '\n== CLAUDE.md mentions appfunctions ==\n'
rg -n "appfunctions|AppFunctionService|AppFunctionServiceEntryPoint|alpha10|alpha09|GeneratedAppFunctions" CLAUDE.md app/android -S
printf '\n== candidate files ==\n'
fd -a "GeneratedAppFunctions|AppFunctionService|AndroidManifest.xml|build.gradle.kts" app/android app | sed -n '1,120p'Repository: touyou/flutter_intents
Length of output: 7434
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n== app/android/app/build.gradle.kts ==\n'
cat -n app/android/app/build.gradle.kts | sed -n '1,140p'
printf '\n== CLAUDE.md appfunctions sections ==\n'
rg -n -C 3 "appfunctions|AppFunctionService|AppFunctionServiceEntryPoint|GeneratedAppFunctions|alpha10|alpha09" CLAUDE.md
printf '\n== relevant source files ==\n'
fd -a "GeneratedAppFunctions|AppFunctionService|AndroidManifest.xml" app/androidRepository: touyou/flutter_intents
Length of output: 10055
🌐 Web query:
androidx.appfunctions appfunctions-service 1.0.0-alpha10 AppFunctionServiceEntryPoint AppFunctionService requirements
💡 Result:
In the androidx.appfunctions library (version 1.0.0-alpha10), AppFunctionServiceEntryPoint and AppFunctionService are core components used to expose app functions to the Android system [1][2][3]. AppFunctionServiceEntryPoint is an annotation used to mark an abstract class as an entry point for App Functions [2][4]. When applied, the compiler generates a concrete service implementation and an XML asset file describing the exposed functions [2][4]. It requires two parameters: serviceName: The name of the generated service class [2][4]. appFunctionXmlFileName: The name of the generated app function XML file, which will be placed in the assets directory [2][4]. AppFunctionService is the base class for implementing these services [3]. To use it, you must declare the service in your AndroidManifest.xml with the required permission and intent filter [3]: Functions within your service class are exposed by annotating them with @AppFunction [5][6]. The compiler bridges these annotated methods with the service's execution logic [2][4]. Note that AppFunctionService requires API level 36 or higher [3].
Citations:
- 1: https://developer.android.com/jetpack/androidx/releases/appfunctions
- 2: https://developer.android.com/reference/androidx/appfunctions/AppFunctionServiceEntryPoint
- 3: https://developer.android.com/reference/kotlin/androidx/appfunctions/AppFunctionService
- 4: https://developer.android.com/reference/kotlin/androidx/appfunctions/AppFunctionServiceEntryPoint
- 5: https://developer.android.com/reference/androidx/appfunctions/service/AppFunction
- 6: https://developer.android.com/reference/androidx/appfunctions/AppFunction
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n== GeneratedAppFunctions.kt ==\n'
cat -n app/android/app/src/main/kotlin/com/example/app/generated/GeneratedAppFunctions.kt | sed -n '1,220p'
printf '\n== AndroidManifest.xml ==\n'
cat -n app/android/app/src/main/AndroidManifest.xml | sed -n '1,220p'Repository: touyou/flutter_intents
Length of output: 9113
Hold the alpha10 bump until the AppFunctions migration lands app/android/app/src/main/kotlin/com/example/app/generated/GeneratedAppFunctions.kt is still a plain class, and app/android/app/src/main/AndroidManifest.xml still uses the old APP_FUNCTIONS_SERVICE / BIND_APP_FUNCTIONS_SERVICE registration. Alpha10 expects the @AppFunctionServiceEntryPoint / AppFunctionService path, so the generator and manifest need to move together.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@app/android/app/build.gradle.kts` at line 50, Revert the appfunctions-service
dependency in the Gradle configuration to the pre-alpha10 version until
migration is complete. Do not retain the alpha10 bump while
GeneratedAppFunctions and AndroidManifest.xml still use the legacy service class
and registration; update those migration pieces separately before restoring
alpha10.
| | Deep Linking | **app_links** package | | ||
| | Android Minimum | **API 36** (Android 16, for AppFunctions) | | ||
| | Android AppFunctions | **Jetpack `androidx.appfunctions` 1.0.0-alpha10** (`appfunctions-service` pinned at alpha09 pending Google Maven publish — see Gotchas) | | ||
| | Android AppFunctions | **Jetpack `androidx.appfunctions` 1.0.0-alpha10** (all three artifacts at alpha10 as of July 2026) | |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
Update the remaining alpha09 documentation references.
docs/architecture.md:358-370 and docs/usage.md:55-70 still instruct readers to pin appfunctions-service at alpha09, contradicting this file and app/android/app/build.gradle.kts:50. Update those references to prevent users from recreating the mixed-version configuration.
Based on learnings, persistent project documentation should be updated when integration details change.
Also applies to: 565-565
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@CLAUDE.md` at line 37, Update the remaining Android AppFunctions version
references in the documentation sections corresponding to docs/architecture.md
and docs/usage.md, replacing appfunctions-service alpha09 guidance with the
consistent alpha10 version used by CLAUDE.md and
app/android/app/build.gradle.kts. Ensure no mixed-version pinning instructions
remain.
Source: Learnings
Summary
appfunctions-service1.0.0-alpha09→1.0.0-alpha10appfunctionsandappfunctions-compilerwere already at alpha10 (PR chore(deps): Bump androidx.appfunctions to 1.0.0-alpha10 #80); this PR removes the mixed-version pin forappfunctions-servicethat was held back due to a Google Maven publishing lag.What changed in alpha10
AppFunctionServiceEntryPoint(new, breaking): All@AppFunctionmethods must now live in a class that extendsAppFunctionServiceAND is annotated with@AppFunctionServiceEntryPoint. Previously the plainGeneratedAppFunctionsclass was sufficient.AppFunctionConfigurationdeprecated: Will be removed in a future release; replaced by@AppFunctionServiceEntryPoint. This project does not useAppFunctionConfigurationdirectly, so no immediate action required.searchAppFunctionsAPI added: NewAppFunctionManager.searchAppFunctions()+functionNamesfield onAppFunctionSearchSpec(additive, no action needed).AppFunctionInstruction/AppFunctionSignatureannotations added: New optional annotations for runtime-registered function declarations (additive, no action needed).AppFunctionServicecallback support:AppFunctionServiceAPI updated to support callbacks (service-side; no Dart-facing change).Diff
CLAUDE.md updated to:
@AppFunctionServiceEntryPointbreaking change and migration pathAppFunctionConfigurationdeprecationFollow-up needed
@AppFunctionServiceEntryPointmigration (likely build-breaking)The current
KotlinGeneratoremits a plainclass GeneratedAppFunctions { ... }. Alpha10 requires this class to extendAppFunctionServiceand carry@AppFunctionServiceEntryPoint. Until the follow-up lands,:app:kspDebugKotlinmay fail whenappfunctions-service:1.0.0-alpha10is resolved.Required follow-up changes:
KotlinGenerator._generateAppFunctionsClass— add@AppFunctionServiceEntryPointannotation andAppFunctionService()superclass; add importsandroidx.appfunctions.service.AppFunctionServiceandandroidx.appfunctions.service.AppFunctionServiceEntryPointAndroidManifest.xmlin the example app — verify whether the KSP-generated service class name changes; update<service>registration if neededGeneratedAppFunctions.ktwithmake kotlin-genflutter build apk --debug🤖 Generated by weekly appfunctions maintenance routine
Generated by Claude Code
Summary by CodeRabbit