Skip to content

Unfreeze Xamarin.GooglePlayServices.Ads.Lite and update to latest 25.0.0#1431

Draft
Copilot wants to merge 4 commits into
mainfrom
copilot/fix-google-play-services-ads-lite-binding
Draft

Unfreeze Xamarin.GooglePlayServices.Ads.Lite and update to latest 25.0.0#1431
Copilot wants to merge 4 commits into
mainfrom
copilot/fix-google-play-services-ads-lite-binding

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jun 2, 2026

Xamarin.GooglePlayServices.Ads.Lite was pinned/frozen at play-services-ads-lite:24.0.0 while full Ads is on 25.3.0. Per maintainer request, this unfreezes the entry and updates it to the latest upstream stable version.

Note that upstream emptied the play-services-ads-lite artifact at 24.3.0 and moved its implementation into play-services-ads-api. As a result, the rebuilt Xamarin.GooglePlayServices.Ads.Lite 125.0.0 becomes an empty package that only depends on (redirects to) Xamarin.GooglePlayServices.Ads.Api. Consumers needing the actual Ads API should reference Xamarin.GooglePlayServices.Ads or Xamarin.GooglePlayServices.Ads.Api.

Upstream AAR class counts (verified by downloading the AARs):

Artifact Classes
play-services-ads-lite:24.0.0 1189
play-services-ads-lite:24.3.0 0 (stub → depends on play-services-ads-api)
play-services-ads-lite:25.0.0 0 (stub → depends on play-services-ads-api)

Changes

  • config.json — Unfroze the play-services-ads-lite entry: bumped version 24.0.025.0.0 and nugetVersion 124.0.0.5125.0.0, removed the frozen: true flag and the stale extraDependencies. These values match exactly what binderator update produces once frozen is removed (it sets Version = LatestVersion and prefixes the NuGet version with 1).
  • config.json — Removed the now-orphaned play-services-ads-base:24.0.0 dependency-only entry, which only existed to satisfy the hard [24.0.0] pin from the old frozen lite POM.
  • config.json — Added a comments field documenting that the binding is now an empty stub redirecting to Xamarin.GooglePlayServices.Ads.Api, so future maintainers understand why the package contains no API.
{
  "artifactId": "play-services-ads-lite",
  "version": "25.0.0",
  "nugetVersion": "125.0.0",
  "nugetId": "Xamarin.GooglePlayServices.Ads.Lite",
  "comments": "Upstream '...play-services-ads-lite' is an empty stub from 24.3.0 onward (0 classes); the implementation moved to '...play-services-ads-api'. This binding therefore contains no API and only depends on Xamarin.GooglePlayServices.Ads.Api. ...",
  "type": "xbd"
}

Notes

  • The generated binding project files are not committed (CI regenerates them from config.json), so config.json is the only source of truth changed here.
  • Because upstream 25.0.0 contains no classes, existing consumers referencing the old Lite types will see them disappear (they moved into ...Ads.Api). This matches upstream's intended behavior; flagged on the PR for author confirmation before merge.

Co-authored-by: jonathanpeppers <840039+jonathanpeppers@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix Xamarin.GooglePlayServices.Ads.Lite binding to use updated version Document intentional freeze of Xamarin.GooglePlayServices.Ads.Lite at upstream 24.0.0 Jun 2, 2026
Copilot AI requested a review from jonathanpeppers June 2, 2026 16:36
@jonathanpeppers
Copy link
Copy Markdown
Member

@copilot can you actually attempt to "unfreeze" this, and update to latest?

Co-authored-by: jonathanpeppers <840039+jonathanpeppers@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Jun 2, 2026

@copilot can you actually attempt to "unfreeze" this, and update to latest?

Done in 7864b94. I unfroze the entry and bumped it to the latest stable, play-services-ads-lite:25.0.0 (NuGet 125.0.0) — this matches exactly what binderator update produces once frozen is removed. I also dropped the now-orphaned play-services-ads-base:24.0.0 dependency-only entry, which only existed to satisfy the hard [24.0.0] pin from the old lite POM.

One thing to flag before merging: I verified the upstream AARs and play-services-ads-lite is empty from 24.3.0 onward —

Artifact Classes
play-services-ads-lite:24.0.0 1189
play-services-ads-lite:24.3.0 0
play-services-ads-lite:25.0.0 0

25.0.0's classes.jar has zero .class files and its POM depends only on play-services-ads-api. So the rebuilt Xamarin.GooglePlayServices.Ads.Lite 125.0.0 will be an empty package that just transitively pulls in Xamarin.GooglePlayServices.Ads.Api. Existing consumers referencing the old Lite types will see them disappear (they moved into ...Ads.Api). That's the upstream-intended behavior, but wanted to confirm shipping an empty redirect package is what you want here rather than keeping it pinned.

Co-authored-by: jonathanpeppers <840039+jonathanpeppers@users.noreply.github.com>
Copilot AI changed the title Document intentional freeze of Xamarin.GooglePlayServices.Ads.Lite at upstream 24.0.0 Unfreeze Xamarin.GooglePlayServices.Ads.Lite and update to latest 25.0.0 Jun 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Xamarin.GooglePlayServices.Ads.Lite still binds play-services-ads-lite 24.0.0 while full Ads package is on 25.3.0

2 participants