[xcode26.4] Merge remote-tracking branch 'origin/main' into xcode26.4#24942
[xcode26.4] Merge remote-tracking branch 'origin/main' into xcode26.4#24942
Conversation
…cOS CI (#24908) The test fails intermittently when the keychain has stale entries from previous runs, causing Query to return ItemNotFound while Add returns DuplicateItem. Fix the flakiness with three changes: - Clean up any stale keychain entry before the test starts - In SaveUserPassword, handle the DuplicateItem race by removing the stale entry and retrying the add - Wrap the test body in try/finally to ensure cleanup on failure - Fix the missing $ in TEST 3's interpolated string assertion Fixes #24860 --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…lization resources from other assemblies. (#24899)
…24878) When disposing an NSUrlSessionHandler backed by a background NSUrlSession and immediately creating a new handler with the same background session identifier, the new session could fail with 'Task created in a session that has been invalidated'. This happened because InvalidateAndCancel() is asynchronous - it marks the session for invalidation but doesn't wait for it to complete. Apple reuses the same native session object for background sessions with the same identifier, so creating a new session before invalidation completes returns the already-invalidated session. Fix by detecting this scenario in the test, and marking the test as inconclusive. Fixes #24376 --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…uments. Fixes #24892. (#24911) The PlatformTypeMappingMassager did not recurse into child nodes (such as type arguments inside Action<> or Func<>) because the VisitMemberType and VisitSimpleType overrides did not call their base implementations. This meant that types like NSURLResponse inside Action<NSData, NSURLResponse> were never mapped to their .NET equivalents (NSUrlResponse). Fix by calling base.VisitMemberType/VisitSimpleType before processing the type itself, so children (type arguments) are mapped first. Added a test case with a block parameter containing mapped types. Fixes #24892. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…24840. (#24845) Static frameworks were included in _PostProcessingItem (which feeds dsymutil/strip) even though they aren't copied to the app bundle. This caused dsymutil to try to process frameworks that don't exist. The fix reuses the _FilteredFrameworkToPublish item group (produced by _ComputeFrameworkFilesToPublish) instead of _ResolvedNativeReference when building the _PostProcessingItem list for frameworks. This ensures only dynamic frameworks that will actually be present in the app bundle are included. An explicit dependency on _ComputeFrameworkFilesToPublish is added to _CollectItemsForPostProcessingDependsOn in the SDK targets. Fixes #24840 --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Improve nullability annotations for GetItem<T> (return T?). * Add ToArrayDropNullElements instance methods for converting NSArray to managed arrays. * Update NSArray<TKey> indexer to return TKey?. * Update NSMutableArray<TValue> indexer to return TValue? with [DisallowNull] for the setter. * Update PdfBorder.DashPattern and PdfAnnotationMarkup.QuadrilateralPoints to use ToArrayDropNullElements. * Update VTCompressionProperties to handle nullable GetItem return values. * Obsolete MPMediaQuery.GetItem/GetSection/GetCollection in favor of array properties. * Update XML docs for all modified members. Contributes towards #17285. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…20260318055049745 to main (#24918) LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_20260318055049745 to main with localized lcls
… type mapping (#24913) When two types in the platform assembly map to the same native name, prefer the standard protocol interface (named "I" + nativeName, e.g. INSCopying for native "NSCopying") over a [Model] class stub. Previously, collisions between a [Model] class (e.g. NSCopying with [Protocol()]) and the protocol interface (INSCopying with [Protocol(Name="NSCopying")]) would cause both mappings to be dropped entirely. Now the standard protocol interface wins, so types like NSCopying in generic constraints are correctly mapped to INSCopying. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This pull request updates the following dependencies ## From https://github.com/dotnet/dotnet - **Subscription**: [30303172-6f12-44a9-887a-ea8520fce068](https://maestro.dot.net/subscriptions?search=30303172-6f12-44a9-887a-ea8520fce068) - **Build**: [20260317.11](https://dev.azure.com/dnceng/internal/_build/results?buildId=2928892) ([306642](https://maestro.dot.net/channel/9626/github:dotnet:dotnet/build/306642)) - **Date Produced**: March 17, 2026 9:45:30 PM UTC - **Commit**: [853c0311d71c9991dbf3ec6e7324c0ff349700da](dotnet/dotnet@853c031) - **Branch**: [release/10.0.3xx](https://github.com/dotnet/dotnet/tree/release/10.0.3xx) - **Dependency Updates**: - From [10.0.0-beta.26166.109 to 10.0.0-beta.26167.111][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.Build.Tasks.Feed - Microsoft.DotNet.SharedFramework.Sdk - From [10.0.300-preview.0.26166.109 to 10.0.300-preview.0.26167.111][1] - Microsoft.NET.Sdk - From [10.0.300-preview.26166.109 to 10.0.300-preview.26167.111][1] - Microsoft.TemplateEngine.Authoring.Tasks [1]: dotnet/dotnet@e116d98...853c031
* Use web sockets to connect the endpoints when doing hot reload / dotnet watch. * Change the defaults when launching desktop apps and we're in 'dotnet watch' mode: * Always open app in a new instance. * Wait for exit enabled. * Pipe stdout/stderr to the current terminal. * Validate that the project wasn't built with a build configuration that would prevent Hot Reload from working. Contributes towards #24782.
…20260317174730541 to main (#24912) LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_20260317174730541 to main with localized lcls
…ized buffer (#24920) CreateAdaptive_3 and CreateAdaptive_4 used a hardcoded 512-byte buffer for a 256x256 adaptive bitmap context. When ToImage() called CGBitmapContextCreateImage, CoreGraphics tried to copy the bitmap data from this tiny buffer, reading past the allocation and causing a SIGSEGV. Fix CreateAdaptive_3 by computing the buffer size from parameters.AlignedBytesPerRow * parameters.Height (matching CreateAdaptive_2). Fix CreateAdaptive_4 by using a 1MB buffer, large enough for any 256x256 adaptive bitmap format. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Improve nullability annotations for FromArrayOfArray (accept NSArray?, return NSObject[][]?). * Rewrite FromArrayOfArray to use ArrayFromHandleDropNullElements. * Improve nullability annotations for From(NSObject[][]) (accept NSObject[][]?, return NSArray?). * Rewrite From(NSObject[][]) to use FromNSObjects. * Update XML docs for all modified members. * Add tests for NSArray.FromArrayOfArray, NSArray.From(NSObject[][]) and NSEntityDescription.UniquenessConstraints. Contributes towards #17285. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This pull request updates the following dependencies ## From https://github.com/dotnet/xharness - **Subscription**: [02e03784-16b3-4ced-b02a-3715797fc7da](https://maestro.dot.net/subscriptions?search=02e03784-16b3-4ced-b02a-3715797fc7da) - **Build**: [20260317.2](https://dev.azure.com/dnceng/internal/_build/results?buildId=2928635) ([306520](https://maestro.dot.net/channel/2/github:dotnet:xharness/build/306520)) - **Date Produced**: March 17, 2026 1:33:45 PM UTC - **Commit**: [f3b160fbbe5a43f6fc03b27629e689ef00de3ef9](dotnet/xharness@f3b160f) - **Branch**: [main](https://github.com/dotnet/xharness/tree/main) - **Dependency Updates**: - From [11.0.0-prerelease.26166.1 to 11.0.0-prerelease.26167.2][1] - Microsoft.DotNet.XHarness.iOS.Shared [1]: dotnet/xharness@581c6a9...f3b160f
[main] Update dependencies from dotnet/dotnet (#24930) This pull request updates the following dependencies ## From https://github.com/dotnet/dotnet - **Subscription**: [30303172-6f12-44a9-887a-ea8520fce068](https://maestro.dot.net/subscriptions?search=30303172-6f12-44a9-887a-ea8520fce068) - **Build**: [20260317.15](https://dev.azure.com/dnceng/internal/_build/results?buildId=2929122) ([306693](https://maestro.dot.net/channel/9626/github:dotnet:dotnet/build/306693)) - **Date Produced**: March 18, 2026 3:24:01 AM UTC - **Commit**: [4a2e646b931b90322897a5166f0bbcd3f5508a03](dotnet/dotnet@4a2e646) - **Branch**: [release/10.0.3xx](https://github.com/dotnet/dotnet/tree/release/10.0.3xx) - **Dependency Updates**: - From [10.0.0-beta.26167.111 to 10.0.0-beta.26167.115][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.Build.Tasks.Feed - Microsoft.DotNet.SharedFramework.Sdk - From [10.0.300-preview.0.26167.111 to 10.0.300-preview.0.26167.115][1] - Microsoft.NET.Sdk - From [10.0.300-preview.26167.111 to 10.0.300-preview.26167.115][1] - Microsoft.TemplateEngine.Authoring.Tasks [1]: dotnet/dotnet@853c031...4a2e646
…20260318174924112 to main (#24925) LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_20260318174924112 to main with localized lcls
Brings fixes for building from Windows targeting a .NET version lower than the used to build (i.e., building with .NET 11 a project targeting net10.0-ios). --------- Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
…s.dll). (#24932) We want to build our task assembly for .NET 10, but there's a breaking change when loading .NET assemblies in MSBuild: they're isolated from eachother. However, we need all our tasks to be able to talk to eachother when building remotely (because the remote connection is stored in static state) - so the solution is to put all the tasks in the same assembly. The quickest and easiest way to do this is to just create an empty subclass of the actual task class in the assembly where we have all the other tasks, so this pull request does that. To simplify iterating on the MSBuild logic, I've also included the `Xamarin.Messaging.targets` file.
This pull request updates the following dependencies ## From https://github.com/dotnet/xharness - **Subscription**: [02e03784-16b3-4ced-b02a-3715797fc7da](https://maestro.dot.net/subscriptions?search=02e03784-16b3-4ced-b02a-3715797fc7da) - **Build**: [20260318.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2929517) ([306735](https://maestro.dot.net/channel/2/github:dotnet:xharness/build/306735)) - **Date Produced**: March 18, 2026 9:51:17 AM UTC - **Commit**: [607b3de9cf2dbfec6734e686e68d2813b40b2b51](dotnet/xharness@607b3de) - **Branch**: [main](https://github.com/dotnet/xharness/tree/main) - **Dependency Updates**: - From [11.0.0-prerelease.26167.2 to 11.0.0-prerelease.26168.1][1] - Microsoft.DotNet.XHarness.iOS.Shared [1]: dotnet/xharness@f3b160f...607b3de
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This pull request updates the following dependencies ## From https://github.com/dotnet/xharness - **Subscription**: [02e03784-16b3-4ced-b02a-3715797fc7da](https://maestro.dot.net/subscriptions?search=02e03784-16b3-4ced-b02a-3715797fc7da) - **Build**: [20260319.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2930521) ([306917](https://maestro.dot.net/channel/2/github:dotnet:xharness/build/306917)) - **Date Produced**: March 19, 2026 11:31:01 AM UTC - **Commit**: [b0c8bf6dba87c70e284cff06819f0cd714c8f2e4](dotnet/xharness@b0c8bf6) - **Branch**: [main](https://github.com/dotnet/xharness/tree/main) - **Dependency Updates**: - From [11.0.0-prerelease.26168.1 to 11.0.0-prerelease.26169.1][1] - Microsoft.DotNet.XHarness.iOS.Shared [1]: dotnet/xharness@607b3de...b0c8bf6
…Phones. (#24921) This fixes an issue where passing `--device=<ipad-udid>` wouldn't work, because the UDID wouldn't be found in the list of applicable devices, because iPads weren't listed as applicable devices.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This way we get validation of any xml docs in dotnet-linker. Also make all warnings errors, since we're now warning-free.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
4f7e7d9 to
0f3554f
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
✅ [PR Build #0f3554f] Build passed (Detect API changes) ✅Pipeline on Agent |
✅ [CI Build #0f3554f] Build passed (Build packages) ✅Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
✅ API diff for current PR / commitNET (empty diffs)✅ API diff vs stableNET (empty diffs)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
✅ [CI Build #0f3554f] Build passed (Build macOS tests) ✅Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
🔥 [CI Build #0f3554f] Test results 🔥Test results❌ Tests failed on VSTS: test results 0 tests crashed, 2 tests failed, 154 tests passed. Failures❌ cecil tests [attempt 7]1 tests failed, 0 tests passed.Failed tests
Html Report (VSDrops) Download ❌ windows tests1 tests failed, 2 tests passed.Failed tests
Html Report (VSDrops) Download Successes✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download macOS tests✅ Tests on macOS Monterey (12): All 5 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
No description provided.