chore: plumbing upgrade 2026-08-02 - #496
Conversation
Bump Kotlin to 2.4.10 (was 2.4.0) in the example's Android toolchain and raise the example iOS project's IPHONEOS_DEPLOYMENT_TARGET to 13.0 to match the plugin's actual minimum (podspec/Package.swift). AGP, Gradle, compileSdk/targetSdk, and the Facebook Android/iOS SDK pins are already at their latest stable releases within policy, so no changes there. Bump plugin version to 0.30.4 (pubspec.yaml, podspec) with matching CHANGELOG entry.
There was a problem hiding this comment.
Pull request overview
Scheduled plumbing upgrade that bumps the plugin patch version and refreshes example app tooling/config to keep the sample project aligned with the plugin’s supported platform/toolchain baseline.
Changes:
- Bump package version to
0.30.4(pubspec + podspec) and add a0.30.4changelog entry. - Update the example Android Kotlin version to
2.4.10. - Raise the example iOS app deployment target to
iOS 13.0in the Xcode project.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
pubspec.yaml |
Bumps plugin version to 0.30.4. |
ios/facebook_app_events.podspec |
Keeps CocoaPods spec version in sync with the Dart package version (0.30.4). |
CHANGELOG.md |
Adds release notes for 0.30.4. |
example/android/build.gradle |
Updates ext.kotlin_version to 2.4.10 for the example Android build. |
example/android/settings.gradle |
Updates the Kotlin Android plugin version to 2.4.10 for the example. |
example/ios/Runner.xcodeproj/project.pbxproj |
Raises IPHONEOS_DEPLOYMENT_TARGET from 12.0 to 13.0 across configs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -1,3 +1,8 @@ | |||
| ## 0.30.4 | |||
|
|
|||
| - **Update Android toolchain** — Kotlin 2.4.10 (was 2.4.0). AGP, Gradle, and `compileSdk`/`targetSdk` are already at their latest stable releases (8.13.0, 8.13, and 36 respectively), so no change there. The Facebook Android SDK Maven range (`[18.0,19.0)`) already covers the latest 18.x release (18.3.0) and the iOS CocoaPods/SPM `~> 18.0` / `"18.0.0"..<"19.0.0"` pins already cover the latest 18.x release (18.1.0), so no Facebook SDK dependency changes were needed this round. | |||
There was a problem hiding this comment.
Good catch — reworded in 78beafc to say Gradle stays pinned at 8.13 (matched to AGP 8.13.x) rather than claiming it's "latest stable", since a newer 8.14.x patch exists and was intentionally left out this round.
Generated by Claude Code
| description: Flutter plugin for Facebook App Events, an app measurement | ||
| solution that provides insight on app usage and user engagement in Facebook Analytics. | ||
| version: 0.30.3 | ||
| version: 0.30.4 |
There was a problem hiding this comment.
Correct, thanks — updated example/pubspec.lock's facebook_app_events path-dependency version to 0.30.4 in 78beafc.
Generated by Claude Code
Regenerate example/pubspec.lock's facebook_app_events path-dependency pin (0.30.3 -> 0.30.4) to match the version bump, and reword the CHANGELOG entry so it doesn't claim Gradle is at the "latest stable" release when a newer 8.14.x patch was intentionally left unpinned.
main released 0.30.4 (tag v0.30.4, commit 3ab9184) while this branch was open, and this branch had also claimed 0.30.4. Conflict resolved by keeping both changelog sections and moving this branch's plumbing entry to a new 0.30.5 heading above the released 0.30.4 one. The version bump itself was a silent semantic conflict, not a textual one: both sides wrote the same literal 0.30.4 into pubspec.yaml, ios/facebook_app_events.podspec and example/pubspec.lock, so git merged them cleanly onto an already-tagged version. All three are now 0.30.5, kept in sync per CONTRIBUTING.md's release process. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This PR was generated by the scheduled plumbing-upgrade job.
SDK bumps
None. Both Facebook SDK pins already cover the latest release in their tracked major (v18.x per repo policy):
com.facebook.android:facebook-android-sdk[18.0,19.0)FBSDKCoreKit(CocoaPods)~> 18.0FBSDKCoreKit(SPM)"18.0.0"..<"19.0.0"FBAudienceNetworkBuild tooling bumps
build-verify.yml) still treats AGP 9 as an experimental, allowed-to-fail matrix cell, so flipping the example's default toolchain to AGP 9 was left out of this automated run as a deliberate maintainer staging decision, not a plumbing bump)# AGP 8.13.x pairs with Gradle 8.13comment; a newer 8.14.5 patch exists but wasn't pulled in isolation since it can't be verified in this environment)compileSdk/targetSdkminSdkPackage.swift)>=3.38.0/>=3.3.0 <4.0.0Files touched
example/android/build.gradle— Kotlin 2.4.0 → 2.4.10example/android/settings.gradle— Kotlin 2.4.0 → 2.4.10example/ios/Runner.xcodeproj/project.pbxproj—IPHONEOS_DEPLOYMENT_TARGET12.0 → 13.0 (6 build-config entries)pubspec.yaml— version 0.30.4 → 0.30.5ios/facebook_app_events.podspec— version 0.30.4 → 0.30.5example/pubspec.lock— path-dependency version 0.30.4 → 0.30.5CHANGELOG.md— new 0.30.5 entrySource code changes forced by the SDK bump
None — no Kotlin/Swift source changes were needed this round.
Verification
deployment_target/IPHONEOS_DEPLOYMENT_TARGET, and everycompileSdk/targetSdk/minSdk— all consistent after the edit (this is what caught the stale exampleIPHONEOS_DEPLOYMENT_TARGET = 12.0).gradle -v— confirms Gradle is invocable in this environment (Gradle 8.14.3 tool on PATH, unrelated to the project's own wrapper pin).Verification skipped
flutter pub get(root and example),flutter analyze,flutter test, AndroidassembleDebugof the example — no Flutter/Dart SDK is installed in this execution environment (flutter/dartnot found onPATH), so none of these could be run.example/ios/Podfile.lock— no CocoaPods (pod) toolchain available in this environment; left untouched. It's currently pinned toFBSDKCoreKit 18.0.0, one patch behind the latest 18.1.0 the pin range already allows — a normalpod update FBSDKCoreKitby a maintainer with CocoaPods available would pick that up.Plugin version
Old:
0.30.4(released onmainwhile this PR was open) → New:0.30.5CHANGELOG entry (verbatim):
Merge conflict resolution (2026-08-07)
mainmoved while this PR was open: PR #497 landed, thenmainwas released as 0.30.4 (commit3ab9184, tagv0.30.4). This branch had also claimed 0.30.4, so it needed both a textual and a semantic fix.CHANGELOG.md. Both sides added a top section. Resolved by keeping both: this branch's plumbing entry moves to a new## 0.30.5heading, sitting above the released## 0.30.4codeless-manifest entry frommain. Nothing from either side was dropped.0.30.4intopubspec.yaml,ios/facebook_app_events.podspecandexample/pubspec.lock, so git saw no conflict at all and would have shipped a second, different 0.30.4 over an already-tagged release. All three are now 0.30.5, kept in sync per theCONTRIBUTING.mdrelease process.Verified after the merge that
git diff origin/main HEADis identical togit diff origin/main...HEAD— i.e. the merge reverted nothing frommain; the PR's net effect is still only the seven plumbing files.The two Copilot review points (Gradle "latest stable" wording, stale
example/pubspec.lock) were already addressed in78beafcand survive the merge intact.Reviewer notes
lib/, no new/renamed/resignatured methods.~> 18.0) and the SPM manifest ("18.0.0"..<"19.0.0") remain in lockstep — neither was touched this round since both already cover the latest 18.x release.experimental/allowed-to-fail matrix cell (seebuild-verify.yml), which reads as an intentional, maintainer-paced rollout rather than something this automated job should preempt by flipping the default.example/ios/Podfile.lockrefresh to pick upFBSDKCoreKit18.0.0 → 18.1.0 (still within the existing~> 18.0pin) — no CocoaPods toolchain was available to regenerate it safely in this run.Generated automatically by the scheduled plumbing-upgrade job. Closing this PR is safe — the next scheduled run will start fresh from the default branch rather than resuming this branch.
Generated by Claude Code