[Mono.Android] Bind Android API-36 Beta 2.#9814
Merged
Conversation
grendello
pushed a commit
that referenced
this pull request
Feb 21, 2025
Context: https://developer.android.com/about/versions/16 Context: https://android-developers.googleblog.com/2025/01/first-beta-android16.html Android 16 Beta 2 has been released. * [API-Baklava Beta 2 vs. API-35][0] * [API-Baklava Beta 2 vs. Beta 1][1] The Android 16 Preview Program Overview [Timeline and updates][2] section suggests the following timeline: * Nov/Dec: Developer Previews * Jan/Feb: Unstable Betas * Mar/Apr: Stable Betas * ???: Final Currently, this will be usable in its preview form to `main` users who explicitly target `net10.0-android36`. Once we are shipping .NET 10 previews, it will be usable for users who explicitly target `net10.0-android36`. We still need to decide on our strategy for backporting this to .NET 9 service releases. Additional note(s): - We cannot generate an updated `PublicAPI.Unshipped.txt` because this is done within VS and current VS versions cannot load `net10.0` projects. We have temporarily disabled PublicAPI verification for unstable API levels until this is resolved. [0]: https://developer.android.com/sdk/api_diff/b-beta2/changes [1]: https://developer.android.com/sdk/api_diff/b-beta2-incr/changes [2]: https://developer.android.com/about/versions/16/overview
jonpryor
pushed a commit
that referenced
this pull request
Mar 19, 2025
Context: https://developer.android.com/about/versions/16 Context: https://android-developers.googleblog.com/2025/03/the-third-beta-of-android-16.html Android 16 Beta 3 has been released. * [API-36 Beta 3 vs. API-35][0] * [API-36 Beta 3 vs. API-Baklava Beta 2][1] The Android 16 Preview Program Overview [Timeline and updates][2] section suggests the following timeline: * Nov/Dec: Developer Previews * Jan/Feb: Unstable Betas * Mar/Apr: Stable Betas * ???: Final Additionally, enumify and mark API-36 as "stable", which changes `net10.0-android` to default to `net10.0-android36.0`. We still need to decide on our strategy for backporting this to .NET 9 service releases. ## Notes APICompat: - There are several `Android.Runtime.RequiresPermissionAttribute` fields that have been removed. As we do not consume this attribute, it does not cause any API breakage. - Several `[ObsoletedOSPlatformAttribute]` attributes are missing. These have all been documented as "undeprecated" in Android's change list: https://developer.android.com/sdk/api_diff/36/changes PublicAPI: - Nullable reference type attribute changes (`T?` -> `T!`) - Method parameter name changes. This is technically a source breaking change, but something we've never tracked or fixed before. - Some consts changed "values" in `PublicAPI*.txt` like from `MediaCodecProfileType.Av1profilemain10hdr10` to `MediaCodecProfileType.Apvprofile42210hdr10`: - const Android.Media.MediaCodecInfo.CodecProfileLevel.AV1ProfileMain10HDR10 = Android.Media.MediaCodecProfileType.Av1profilemain10hdr10 -> Android.Media.MediaCodecProfileType + const Android.Media.MediaCodecInfo.CodecProfileLevel.AV1ProfileMain10HDR10 = Android.Media.MediaCodecProfileType.Apvprofile42210hdr10 -> Android.Media.MediaCodecProfileType This is a weird enum that has lots of members with the same values, and the PublicAPI tooling likely chooses the first alphabetically. The const *value* did not actually change, just the way it is listed in `PublicAPI*.txt`: public enum Android.Media.MediaCodecProfileType { [global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android36.0")] Apvprofile42210hdr10 = 4096, [global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android29.0")] Av1profilemain10hdr10 = 4096, // … } MAUI Integration Tests: - It looks like the MAUI Integration tests are broken because they [explicitly target net10.0-android35.0][3] instead of `net10.0-android`. The MAUI team will need to update this when our changes flow to them. [0]: https://developer.android.com/sdk/api_diff/36/changes [1]: https://developer.android.com/sdk/api_diff/36-incr/changes [2]: https://developer.android.com/about/versions/16/overview [3]: https://github.com/dotnet/maui/blob/c451130571777aef5d9fa2737789dd987430e6dc/Directory.Build.props#L158
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context: https://developer.android.com/about/versions/16
Context: https://android-developers.googleblog.com/2025/02/second-beta-android16.html
Android 16 Beta 2 has been released. The Android 16
Developer Preview Program Overview Timeline and updates section
suggests the following timeline:
Currently, this will be usable in its preview form to
mainusers who explicitly targetnet10.0-android36. Once we are shipping .NET 10 previews, it will be usable for users who explicitly targetnet10.0-android36. We will need to decide on our strategy for backporting this to .NET 9 service releases.Additional note(s):
PublicAPI.Unshipped.txtbecause this is done in VS and current VS versions cannot loadnet10projects. We have temporarily disabled PublicAPI verification for unstable API levels until this is resolved.