Skip to content

Stable Updates 20260810 - #1515

Open
jonathanpeppers with Copilot wants to merge 8 commits into
mainfrom
copilot/stable-updates-20260810
Open

Stable Updates 20260810#1515
jonathanpeppers with Copilot wants to merge 8 commits into
mainfrom
copilot/stable-updates-20260810

Conversation

Copilot AI commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Weekly stable Maven→NuGet version bump via update-config, generate-component-governance, and list-artifacts, with manual corrections where the latest published Maven versions are not consumable.

Version bumps

  • androidx.media31.11.0 (all artifacts)
  • com.google.android.gms:play-services-nearby19.4.0

Manual corrections to update-config output

  • org.chromium.net cronet / httpengine-native-provider — pinned at 143.7445.0. The latest 500.0.1 is a deprecated empty transitional artifact ("merely pulls the cronet artifact") whose POM declares the proprietary Android Software Development Kit License, which trips binderate's xbd-license check.

  • com.google.ai.edge.litert litert / litert-api — held at 2.1.5 / 1.4.2. Bumping both to 2.1.6 is unsatisfiable: litert:2.1.6 requires litert-api:2.1.6, while litert-gpu:1.4.2 (its latest) hard-pins litert-api:[1.4.2].

  • androidx.media3:media3-cast — excluded the compose-BOM-managed, versionless androidx.compose.material3:material3 runtime dependency that binderate cannot resolve (no value), consistent with existing exclusions elsewhere in config.json:

    {
      "groupId": "androidx.media3",
      "artifactId": "media3-cast",
      "version": "1.11.0",
      "nugetVersion": "1.11.0",
      "nugetId": "Xamarin.AndroidX.Media3.Cast",
      "excludedRuntimeDependencies": "androidx.compose.material3.material3"
    }

Generated files

  • cgmanifest.json and docs/artifact-list-with-versions.md regenerated to match.

Not yet included

PublicApi.*.txt, published-namespaces.txt, and the api-diff-markdown-info-pr output are pending a full library build, which was still running when work paused. These should be regenerated and committed before merge.

Copilot AI linked an issue Aug 10, 2026 that may be closed by this pull request
Copilot AI and others added 3 commits August 10, 2026 09:40
…tifacts

Co-authored-by: jonathanpeppers <840039+jonathanpeppers@users.noreply.github.com>
…rtifact)

Co-authored-by: jonathanpeppers <840039+jonathanpeppers@users.noreply.github.com>
Co-authored-by: jonathanpeppers <840039+jonathanpeppers@users.noreply.github.com>
Copilot AI changed the title [WIP] Run stable updates and generate governance artifacts Stable Updates 20260810 Aug 10, 2026
Copilot AI requested a review from jonathanpeppers August 10, 2026 10:23
…umps

- media3-common: add explicit interface impl for DefaultHardwareBufferFrame.Builder
  (covariant return types on Build/SetContentTimeUs/SetMetadata vs IHardwareBufferFrameBuilder)
- media3-effect: add explicit interface impl for DefaultGlFrameProcessor.Factory.Create
  (covariant return vs IFrameProcessorFactory)
- media3-exoplayer: add explicit IComparator.Compare impl for
  DefaultPreloadManager.SimpleRankingDataComparator (generic erasure param mismatch)
- media3-exoplayer-dash: rename abstract SegmentBase.CopyWithPresentationTimeOffset to
  CopyWithPresentationTimeOffsetCore via Metadata.xml and add subclass overrides
  delegating to the existing covariant-returning methods (return-type-only overloads
  are not valid in C#)
- media3-exoplayer-hls: add explicit interface impl for
  DefaultHlsPlaylistTracker.ContentSteeringTracker (covariant return vs IHlsPlaylistTracker)
- media3-session: remove synthetic bridge setPackageNameOverride methods that duplicated
  the real covariant-returning methods on MediaLibrarySession.Builder/MediaSession.Builder
- play-services-nearby: fix ConnectionLifecycleCallback's new zza base type causing
  IConnections/IConnectionsClient to be invalidated, and rename PreciseEstimateInfo's
  EstimateFailureReason/EstimateKind getters to avoid clashing with the generated
  IntDef constant classes of the same name

Regenerated PublicAPI.Unshipped.txt for all affected packages; verified 0 build errors
across all touched projects.
@jonathanpeppers
jonathanpeppers marked this pull request as ready for review August 10, 2026 18:47
Copilot AI lite review requested due to automatic review settings August 10, 2026 18:47
@jonathanpeppers

Copy link
Copy Markdown
Member

@copilot you didn't update the namespace file:

New Namespaces
--------------
Android.Gms.Nearby.Internal.Connection
AndroidX.Media3.Common.Video
Google.Android.Gms.Nearby.Connection.V3.Dct

An error occurred when executing task 'verify-namespace-file'.

----------------------------------------
TearDown
----------------------------------------
     #TimingDataStopwatch,  20260810-172245.78,                   verify-namespace-file,         00:00:04.7446234
          #TimingDataCake,  20260810-172245.78,                   verify-namespace-file,         00:00:04.7444856
Error: Namespaces were added or removed.
please run:
    dotnet cake utilities.cake -t=generate-namespace-file

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Weekly stable Maven→NuGet update for this repo’s binding pipeline, primarily bumping AndroidX Media3 and Google Play Services Nearby while applying targeted metadata/additions fixes to keep the generated bindings buildable and API-stable.

Changes:

  • Bump androidx.media3 artifacts to 1.11.0 and com.google.android.gms:play-services-nearby to 19.4.0 (with regenerated cgmanifest.json + artifact list).
  • Add/adjust binding fixes for new upstream API shapes (covariant return types, synthetic bridge methods, stripped base classes, and property name collisions).
  • Update PublicAPI baselines for affected bindings (Unshipped).

Reviewed changes

Copilot reviewed 23 out of 24 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
source/com.google.android.gms/play-services-nearby/Transforms/Metadata.xml Fixes new 19.4.0 binding issues (internal base class, property name collisions).
source/com.google.android.gms/play-services-nearby/PublicAPI/PublicAPI.Unshipped.txt Public API baseline updates for Nearby 19.4.0.
source/androidx.media3/media3-transformer/PublicAPI/PublicAPI.Unshipped.txt Public API baseline updates for Media3 1.11.0 transformer.
source/androidx.media3/media3-session/Transforms/Metadata.xml Removes synthetic bridge methods causing CS0111 duplicates for new builder APIs.
source/androidx.media3/media3-session/PublicAPI/PublicAPI.Unshipped.txt Public API baseline updates for Media3 1.11.0 session.
source/androidx.media3/media3-muxer/PublicAPI/PublicAPI.Unshipped.txt Public API baseline updates for Media3 1.11.0 muxer.
source/androidx.media3/media3-exoplayer/Additions/AndroidX.Media3.ExoPlayer.Source.Preload.DefaultPreloadManager.cs Explicit interface impl to satisfy Comparator erasure mismatch in C#.
source/androidx.media3/media3-exoplayer-hls/PublicAPI/PublicAPI.Unshipped.txt Public API baseline updates for Media3 1.11.0 HLS.
source/androidx.media3/media3-exoplayer-hls/Additions/DefaultHlsPlaylistTracker.cs Explicit interface property impl to handle covariant return mismatch.
source/androidx.media3/media3-exoplayer-dash/Transforms/Metadata.xml Renames abstract base method to avoid covariant-return name clash.
source/androidx.media3/media3-exoplayer-dash/PublicAPI/PublicAPI.Unshipped.txt Public API baseline updates for Media3 1.11.0 DASH (incl. renamed abstract member).
source/androidx.media3/media3-exoplayer-dash/Additions/SegmentBase.cs Adds overrides that bridge covariant-returning subclasses back to the renamed abstract base.
source/androidx.media3/media3-effect/PublicAPI/PublicAPI.Unshipped.txt Public API baseline updates for Media3 1.11.0 effect.
source/androidx.media3/media3-effect/Additions/DefaultGlFrameProcessor.cs Explicit interface impl to satisfy factory covariant return mismatch.
source/androidx.media3/media3-decoder/PublicAPI/PublicAPI.Unshipped.txt Public API baseline updates for Media3 1.11.0 decoder.
source/androidx.media3/media3-container/PublicAPI/PublicAPI.Unshipped.txt Public API baseline updates for Media3 1.11.0 container.
source/androidx.media3/media3-common/PublicAPI/PublicAPI.Unshipped.txt Public API baseline updates for Media3 1.11.0 common (notably new video frame APIs).
source/androidx.media3/media3-common/Additions/DefaultHardwareBufferFrame.cs Explicit interface impls to bridge covariant builder return types.
source/androidx.media3/media3-cast/PublicAPI/PublicAPI.Unshipped.txt Public API baseline updates for Media3 1.11.0 cast.
docs/artifact-list-with-versions.md Regenerated artifact list to match updated versions.
config.json Version bumps + manual exclusion for media3-cast dependency resolution.
cgmanifest.json Regenerated component governance manifest to match updated versions.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment thread source/androidx.media3/media3-session/Transforms/Metadata.xml Outdated
Comment thread config.json
Comment on lines 1428 to 1435
{
"groupId": "androidx.media3",
"artifactId": "media3-cast",
"version": "1.10.1",
"nugetVersion": "1.10.1.1",
"nugetId": "Xamarin.AndroidX.Media3.Cast"
"version": "1.11.0",
"nugetVersion": "1.11.0",
"nugetId": "Xamarin.AndroidX.Media3.Cast",
"excludedRuntimeDependencies": "androidx.compose.material3.material3"
},
Co-authored-by: jonathanpeppers <840039+jonathanpeppers@users.noreply.github.com>

Copilot AI commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

@copilot you didn't update the namespace file:

New Namespaces

...

Added the three reported namespaces to published-namespaces.txt in commit 371ece9.

Addresses Copilot review comment: the version referenced in the comment
should match the actual media3 version bump (1.11.0), not 19.11.x.
@jonathanpeppers
jonathanpeppers enabled auto-merge (squash) August 11, 2026 15:25
@jonathanpeppers

Copy link
Copy Markdown
Member

@dalexsoto review

@dalexsoto dalexsoto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking because the Nearby 19.4.0 binding drops ConnectionLifecycleCallback.OnBandwidthChanged even though the upstream AAR and API reference still expose it. The exact-head API diff reports the breaking removal for both TFMs. Please preserve or re-add the registered virtual callback while rebasing the internal superclass, then regenerate the PublicAPI and API-diff outputs.

static Android.Gms.Nearby.Uwb.UwbStatusCodes.Zza(int p0) -> string!
virtual Android.Gms.Nearby.Connection.ConnectionLifecycleCallback.OnBandwidthChanged(string! p0, Android.Gms.Nearby.Connection.BandwidthInfo! p1) -> void
static Google.Android.Gms.Nearby.Connection.V3.Dct.DctDevice.Creator.get -> Android.OS.IParcelableCreator!
virtual Android.Gms.Nearby.Connection.ConnectionLifecycleCallback.Zza(System.Collections.IList! p0) -> void

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OnBandwidthChanged(string, BandwidthInfo) is missing here. Google's 19.4.0 AAR still publicly declares onBandwidthChanged, so rebasing the new internal zza superclass to Java.Lang.Object is causing an unintended breaking change in our binding. Can we preserve or re-add the registered virtual callback?

static Android.Gms.Nearby.Uwb.UwbStatusCodes.Zza(int p0) -> string!
virtual Android.Gms.Nearby.Connection.ConnectionLifecycleCallback.OnBandwidthChanged(string! p0, Android.Gms.Nearby.Connection.BandwidthInfo! p1) -> void
static Google.Android.Gms.Nearby.Connection.V3.Dct.DctDevice.Creator.get -> Android.OS.IParcelableCreator!
virtual Android.Gms.Nearby.Connection.ConnectionLifecycleCallback.Zza(System.Collections.IList! p0) -> void

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This Zza(IList) member is an obfuscated implementation detail introduced with Google's internal zza hierarchy and should not be exposed as public managed API. Can we remove it while preserving the public OnBandwidthChanged(string, BandwidthInfo) callback?

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.

Stable Updates 20260810

5 participants