CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 543
.NET 8.0.1xxx - Xcode 15.4 Support (8018)
Compare
2711323
This is a servicing release to the previous .NET 8 release, adding support for Xcode 15.4, and new APIs introduced in Xcode 15.3 and Xcode 15.4, along with numerous other improvements and bug fixes.
Note: these are the base SDKs that add support for the platforms in question, for MAUI (which is built on top of our SDKs), go here instead: https://docs.microsoft.com/en-us/dotnet/maui/.
Known issues
XAML Hot Reload doesn't work
We've identified a regression that prevents Hot Reload from working correctly.
The symptom is a yellow bar in Visual Studio that says:
XAML Hot Reload is disabled because your iOS Linker Settings for (project name) are unsupported. Set your Linker Behavior to "Don't Link" and rebuild your project to use Hot Reload.
The workaround is to do as the message says, or add this to the project file (which is the same thing):
<PropertyGroup>
<MtouchLink>None</MtouchLink>
</PropertyGroup>
We've already fix this regression internally, and it will be shipped in the next service release.
New features
Multi targeting for library projects
We've added support for targeting the earliest APIs for a given .NET release in library projects, in addition to the latest APIs we support.
In this release, this means we support targeting our iOS 17.0 APIs + iOS 17.5 APIs.
Multi targeting is enabled by adding the given iOS version to the target framework in the project file, like this:
<PropertyGroup>
<TargetFrameworks>net8.0-ios17.0;net8.0-ios17.5</TargetFrameworks>
</PropertyGroup>
Note that this will fail to build once we release support for iOS 17.6, stating that the iOS version 17.5 is not supported (since we only support earliest and latest - which would be iOS 17.0 and iOS 17.6 at this point). To avoid this, don't specify any version for the latest (because the default is the latest):
<PropertyGroup>
<TargetFrameworks>net8.0-ios17.0;net8.0-ios</TargetFrameworks>
</PropertyGroup>
And this will target the iOS 17.0 bindings + the latest iOS 17.* bindings depending on the current release.
Note: the examples are for iOS, but this works for all platforms (tvOS, macOS and Mac Catalyst as well)
References:
Bind protocols using default interface members
We've improved how we bind Objective-C protocols to take advantage of default interface members in C#: most importantly optional members are now members of the C# interface we map Objective-C protocols to (we previously used extension methods for optional members).
This has a couple of advantages:
- Makes it easier to implement optional protocol members, because Intellisense works in IDEs (since the members are available on the corresponding C# interface).
- Protocol properties can be implemented as actual properties, instead of a set of Get/Set pair of methods (which we had to do because there are no extension properties in C#, only extension methods).
References:
Versions
This release consists of the following versions:
Full release notes: https://github.com/xamarin/xamarin-macios/wiki/.NET-8-release-notes
🚨 This release requires Xcode 15.4
What's Changed
- [Accelerate] Make P/Invokes have blittable signatures. by @rolfbjarne in #19991
- [Accessibility] Make P/Invokes have blittable signatures. by @rolfbjarne in #20124
- [AddressBook] Make P/Invokes have blittable signatures. by @rolfbjarne in #20145
- [AppKit/UIKit] Adjust a few availability attributes in NS[Mutable]ParagraphStyle. Fixes #19209. by @rolfbjarne in #19211
- [AppKit] Add support for Xcode 15. by @mandel-macaque in #19119
- [AppKit] Create a better binding for [NSEvent eventWithGCEvent:]. by @rolfbjarne in #20362
- [AppKit] Fix availability attribute for NSSplitViewItem.CanCollapseFromWindowResize. by @rolfbjarne in #20650
- [AppKit] Fix binding for NSFontDescriptor.Create. Fixes #19659. by @rolfbjarne in #19663
- [AppKit] Implement the NSUserInterfaceItemSearching protocol. Fixes #19649. by @rolfbjarne in #19662
- [AppKit] Improve bindings for NSPasteboard and NSPasteboardReading a bit. by @rolfbjarne in #20643
- [AppKit] Make NSGraphics.NSBestDepth P/Invoke blittable. by @rolfbjarne in #19614
- [AppKit] Make P/Invokes have blittable signatures. by @rolfbjarne in #19987
- [AppKit] Provide an NSEvent.GetCGEventObject method. by @rolfbjarne in #20423
- [AppKit] Remove [NSImage imageWithSymbolName:bundle:variableValue:] from Mac Catalyst. by @rolfbjarne in #19320
- [AppKit] Update the NSBezelStyle enum according to latest headers. Fixes #19555. by @rolfbjarne in #19556
- [AudioToolbox] Add correct trimmer annotations for AudioQueue.GetProperty. by @rolfbjarne in #20363
- [AudioToolbox] Fix computing array size. by @rolfbjarne in #19952
- [AudioToolbox] Make P/Invokes in AudioConverter.cs have blittable signatures. by @rolfbjarne in #19848
- [AudioToolbox] Make P/Invokes in AudioFile.cs have blittable signatures. by @rolfbjarne in #19936
- [AudioToolbox] Make P/Invokes in AudioFileGlobalInfo.cs have blittable signatures. by @rolfbjarne in #19906
- [AudioToolbox] Make P/Invokes in AudioFileStream.cs have blittable signatures. by @rolfbjarne in #19835
- [AudioToolbox] Make P/Invokes in AudioFormat.cs have blittable signatures. by @rolfbjarne in #19954
- [AudioToolbox] Make P/Invokes in AudioQueue.cs have blittable signatures. by @rolfbjarne in #19933
- [AudioToolbox] Make P/Invokes in AudioServices.cs have blittable signatures. by @rolfbjarne in #19841
- [AudioToolbox] Make P/Invokes in AudioSession.cs have blittable signatures. by @rolfbjarne in #19834
- [AudioToolbox] Make P/Invokes in AudioToolbox.cs have blittable signatures. by @rolfbjarne in #19840
- [AudioToolbox] Make P/Invokes in MusicPlayer.cs have blittable signatures. by @rolfbjarne in #19694
- [AudioToolbox] Make P/Invokes in MusicSequence.cs have blittable signatures. by @rolfbjarne in #19839
- [AudioToolbox] Make P/Invokes in MusicTrack.cs have blittable signatures. by @rolfbjarne in #19678
- [AudioToolbox] Make P/Invokes in SystemSound.cs have blittable signatures. by @rolfbjarne in #19677
- [AudioToolbox] Sprinkle DynamicallyAccessedMembers attributes to fix ILC trimmer warnings. by @rolfbjarne in #19913
- [AudioUnit] Make P/Invokes in AudioComponent.cs have blittable signatures. by @rolfbjarne in #20146
- [AudioUnit] Make P/Invokes in AudioUnit.cs have blittable signatures. by @rolfbjarne in #20620
- [AudioUnit] Make P/Invokes in AUGraph.cs have blittable signatures. by @rolfbjarne in #20636
- [AudioUnit] Make P/Invokes in ExtAudioFile.cs have blittable signatures. by @rolfbjarne in #19995
- [AudioUnit] Remove unnecessary MarshalAs attributes from the AudioComponentDescription struct. by @rolfbjarne in #20565
- [AutomaticAssessmentConfiguration] Add missing constructors to AEAssessmentApplication. Fixes #19133. by @rolfbjarne in #19180
- [AVFoundation] Fix delegate signature for AVAudioSourceNode callbacks. by @rolfbjarne in #20357
- [AVFoundation] Numerous improvements to the AVSampleCursor type + some other structs. by @rolfbjarne in #20685
- [AVFoundation] Obsolete AVSpeechSynthesizer.WriteUtteranceAsync. Fixes #20338. by @rolfbjarne in #20339
- [AVKit] Add bindings for AVCaptureEventInteraction by @rpendleton in #20296
- [bgen] Add support for binding constructors in protocols. Fixes #14039. by @rolfbjarne in #20583
- [bgen] Add support for binding static members in protocols. by @rolfbjarne in #20645
- [bgen] Add support for copying xml documentation for enums fields. by @rolfbjarne in #20323
- [bgen] Add support for marking API bindings as preview APIs using the Experimental attribute. by @rolfbjarne in #20591
- [bgen] Adjust logic to handle protocol-backed events. by @rolfbjarne in #19689
- [bgen] Fix assembly comparison. Fixes #19612. by @rolfbjarne in #19619
- [bgen] Fix generated code to be nullability correct. by @rolfbjarne in #19655
- [bgen] Fix logic to handle protocol-backed events. by @rolfbjarne in #19707
- [bgen] Fix support for ErrorDomain enums in third-party bindings. by @rolfbjarne in #20499
- [bgen] Generate xml documentation for generated default constructors. by @rolfbjarne in #20525
- [bgen] Generate xml documentation for generated enums. by @rolfbjarne in #20511
- [bgen] Generate xml documentation for generated UIAppearance logic. by @rolfbjarne in #20502
- [bgen] Generate xml documentation for notifications. by @rolfbjarne in #20492
- [bgen] Generate xml documentation for the extension class we generate for protocols. by @rolfbjarne in #20564
- [bgen] Generate xml documentation for the generated ClassHandle property. by @rolfbjarne in #20425
- [bgen] Generate xml documentation for the generated constructors every NSObject subclass gets. by @rolfbjarne in #20436
- [bgen] Implement support for using default interface members to bind protocols. by @rolfbjarne in #20681
- [bgen] Provide correct initialization for AudioBuffers. by @rolfbjarne in #20356
- [bgen] Re-generate the codebehind for the resources during normal build. by @rolfbjarne in #20226
- [Blocks] Remove a block callback validation that's apparently too eager. by @rolfbjarne in #20625
- [CFNetwork] Make P/Invokes have blittable signatures. by @rolfbjarne in #20037
- [CGEvent] Use CGEventCreateScrollWheelEvent2 instead of CGEventCreateScrollWheelEvent. Fixes #13121. by @rolfbjarne in #20361
- [Compression] Add missing enum members. Fixes #20319. by @rolfbjarne in #20332
- [Compression] Make P/Invokes have blittable signatures. by @rolfbjarne in #19996
- [CoreAnimation] Make P/Invokes have blittable signatures. by @rolfbjarne in #19997
- [CoreBluetooth] Fix a typo in CBPeripheralDelegate.DiscoveredService for XAMCORE_5_0. by @rolfbjarne in #19582
- [CoreFoundation] Fix CFWriteStream.DoGetProperty to actually get the property. by @rolfbjarne in #20158
- [CoreFoundation] Fix memory leak in CFProxySupport. by @rolfbjarne in #20713
- [CoreFoundation] Make P/Invokes in CFBundle and CFDictionary have blittable signatures. by @rolfbjarne in #20060
- [CoreFoundation] Make P/Invokes in CFMessagePort have blittable signatures. by @rolfbjarne in #20160
- [CoreFoundation] Make P/Invokes in CFNetwork have blittable signatures. by @rolfbjarne in #20161
- [CoreFoundation] Make P/Invokes in CFSocket have blittable signatures. by @rolfbjarne in #20162
- [CoreFoundation] Make P/Invokes in CFStream have blittable signatures. by @rolfbjarne in #20163
- [CoreFoundation] Make remaining P/Invokes have blittable signatures. by @rolfbjarne in #20166
- [CoreGraphics] Bind CGEventPostToPid. by @rolfbjarne in #20365
- [CoreGraphics] Bind CGEventSetIntegerValueField and CGEventSetDoubleValueField. Fixes #12650. by @rolfbjarne in #20424
- [CoreGraphics] Bind CGEventTapCreateForPid and misc other improvements. by @rolfbjarne in #20404
- [CoreGraphics] Make P/Invokes in CGColorSpace have blittable signatures. by @rolfbjarne in #20202
- [CoreGraphics] Make P/Invokes in CGContext have blittable signatures. by @rolfbjarne in #20207
- [CoreGraphics] Make P/Invokes in CGEvent have blittable signatures. by @rolfbjarne in #20211
- [CoreGraphics] Make P/Invokes in CGFunction have blittable signatures. by @rolfbjarne in #20220
- [CoreGraphics] Make P/Invokes in CGImage have blittable signatures. (#20229) by @rolfbjarne in #20237
- [CoreGraphics] Make P/Invokes in CGImage have blittable signatures. by @rolfbjarne in #20229
- [CoreGraphics] Make P/Invokes in CGPDFArray have blittable signatures. by @rolfbjarne in #20258
- [CoreGraphics] Make P/Invokes in CGPDFDictionary have blittable signatures. by @rolfbjarne in #20274
- [CoreGraphics] Make P/Invokes in CGPDFDocument have blittable signatures. by @rolfbjarne in #20283
- [CoreGraphics] Make P/Invokes in CGPDFObject have blittable signatures. by @rolfbjarne in #20286
- [CoreGraphics] Make P/Invokes in CGPDFScanner have blittable signatures. by @rolfbjarne in #20304
- [CoreGraphics] Make P/Invokes in CGRect/CGPoint/CGSize have blittable signatures. by @rolfbjarne in #20246
- [CoreGraphics] Make the remaining P/Invokes have blittable signatures. by @rolfbjarne in #20310
- [CoreGraphics] Most of CoreGraphics is available in all versions of Mac Catalyst, so mark as such. by @rolfbjarne in #20369
- [CoreLocation] Make P/Invokes have blittable signatures. by @rolfbjarne in #20001
- [CoreMedia] Make the P/Invokes in CMBlockBuffer have blittable signatures. by @rolfbjarne in #20318
- [CoreMedia] Make the P/Invokes in CMBufferQueue have blittable signatures. by @rolfbjarne in #20355
- [CoreMedia] Make the P/Invokes in CMFormatDescription have blittable signatures. by @rolfbjarne in #20329
- [CoreMedia] Make the P/Invokes in CMSampleBuffer have blittable signatures. by @rolfbjarne in #20334
- [CoreMedia] Make the P/Invokes in CMSync have blittable signatures. by @rolfbjarne in #20340
- [CoreMedia] Make the remaining P/Invokes in have blittable signatures. by @rolfbjarne in #20360
- [CoreMidi] Add CoreMidi enums to Watch so that we can have them for avfoundation. by @mandel-macaque in #19580
- [CoreMidi] Add support for tvOS. by @mandel-macaque in #19529
- [CoreMidi] Make P/Invokes have blittable signatures. by @rolfbjarne in #19706
- [CoreMidi] Make P/Invokes have blittable signatures. by @rolfbjarne in #19724
- [CoreMidi] Obsolete the MidiPacket.Bytes property. by @rolfbjarne in #19705
- [CoreMidi] Remove unused delegates. by @rolfbjarne in #20378
- [CoreServices] Make P/Invokes have blittable signatures. by @rolfbjarne in #20408
- [CoreText] Add NotNullWhen to help MAUI with null errors. by @mandel-macaque in #20050
- [CoreText] Fix a few nullability issues in CTFontDescriptor. by @rolfbjarne in #19439
- [CoreText] Implement CTFontDescriptor.MatchFontDescriptors. Fixes #19397. by @rolfbjarne in #19399
- [CoreText] Make P/Invokes in CTFont have blittable signatures. by @rolfbjarne in #20418
- [CoreText] Make P/Invokes in CTFontDescriptor, CTFramesetter and CTParagraphStyle have blittable signatures. by @rolfbjarne in #20426
- [CoreText] Make P/Invokes in CTFontManager have blittable signatures. by @rolfbjarne in #20464
- [CoreText] Make P/Invokes in CTRunDelegate have blittable signatures. by @rolfbjarne in #20461
- [CoreVideo] Make P/Invokes in CVBuffer and CVDisplayLink have blittable signatures. by @rolfbjarne in #20494
- [CoreVideo] Make P/Invokes in CVImageBuffer and CVMetalTexture[Cache] have blittable signatures. by @rolfbjarne in #20500
- [CoreVideo] Make P/Invokes in CVPixel related types have blittable signatures. by @rolfbjarne in #20510
- [CoreWlan] Make P/Invokes have blittable signatures. by @rolfbjarne in #20465
- [CryptoTokenKit] Bind this framework. Fixes #7876. by @rolfbjarne in #20587
- [Darwin] Make the 'kevent' P/Invoke have blittable signatures. by @rolfbjarne in #20467
- [Darwin] Treat this code as a framework, which simplifies things a little bit. by @rolfbjarne in #20833
- [DeviceDiscoveryExtension] Added bindings for DeviceDiscoveryExtension. by @rolfbjarne in #20272
- [DeviceDiscoveryUI] Added bindings for DeviceDiscoveryUI. by @rolfbjarne in #20271
- [dotnet-linker] Add ProcessExportedFields to the list of steps we execute. Fixes #20061. by @rolfbjarne in #20066
- [dotnet-linker] Remove code/file we don't need by @rolfbjarne in #19447
- [dotnet] add sourcelink support by @haritha-mohan in #20054
- [dotnet] Add support for linking with Swift system libraries. Fixes #18848. by @rolfbjarne in #20463
- [dotnet] Add warning when the TargetPlatformVersion isn't supported by @rolfbjarne in #19901
- [dotnet] Automatically link with the Security framework. Fixes #20406. by @rolfbjarne in #20413
- [dotnet] Call the _CreateAssetPackManifest target during the build. Fixes #19669. by @rolfbjarne in #19681
- [dotnet] Complete support for universal builds when using NativeAOT. by @rolfbjarne in #19183
- [dotnet] Compute _SdkIsSimulator and the trimmer configuration earlier in the build. by @rolfbjarne in #20431
- [dotnet] Compute relative paths using absolute paths. by @rolfbjarne in #20374
- [dotnet] Compute the path to the Xamarin SDK root as a relative path to .NET's root directory. by @rolfbjarne in #19404
- [dotnet] Differentiate between "OS version we support as TargetPlatformVersion" and "OS version we support or have supported". by @rolfbjarne in #19882
- [dotnet] Disable support for custom runtime hosting. by @rolfbjarne in #20128
- [dotnet] Don't build library projects multiple times for universal apps. by @rolfbjarne in #19990
- [dotnet] Fix detecting if the interpreter is enabled. by @rolfbjarne in #19812
- [dotnet] Fix sourcelink test failure by @haritha-mohan in #20205
- [dotnet] Fix typo causing universal builds to not keep any symbols when stripped. Fixes #19860. by @rolfbjarne in #19900
- [dotnet] Force 'AppendRuntimeIdentifierToOutputPath=true' for the inner build of universal apps. by @rolfbjarne in #20839
- [dotnet] Make the VB templates compile use models instead of protocol interfaces. by @rolfbjarne in #20576
- [dotnet] Multi target with Xcode 15.0 by @rolfbjarne in #20155
- [dotnet] Remove support for MtouchArch and XamMacArch. by @rolfbjarne in #19319
- [dotnet] Rename packs to contain target framework. by @rolfbjarne in #19765
- [dotnet] Show a better error when using a .NET framework version we don't support yet. by @rolfbjarne in #20255
- [dotnet] Show a better error when using a .NET framework version we don't support. by @rolfbjarne in #20142
- [dotnet] Stop using a separate default platform version. by @rolfbjarne in #19754
- [dotnet] Store the .NET version we target in a generated props file. by @rolfbjarne in #19416
- [dotnet] Throw an exception if the developer tries to use server garbage collection. Fixes #16853. by @rolfbjarne in #20569
- [dotnet] Use the correct variable to define the verbosity for 'dotnet build' by @rolfbjarne in #19676
- [Foundation] Add missing properties to NSCharacterSet. Fixes #20745. by @rolfbjarne in #20761
- [Foundation] Add support for Xcode 15 beta 7. by @mandel-macaque in #19007
- [Foundation] Always call the completion handler in a few callbacks in NSUrlSessionHandler. by @rolfbjarne in #20326
- [Foundation] Bind a few missing notifications. Fixes #19837. by @rolfbjarne in #19846
- [Foundation] Create a strong dictionary for NSAttributedStringDocumentAttributeKey. by @rolfbjarne in #19824
- [Foundation] Create a strong dictionary for NSAttributedStringDocumentReadingOptionKey. by @rolfbjarne in #19667
- [Foundation] Don't dispose the CancellationTokenSource in NSUrlSessionHandler's InflightData. Fixes #11799. by @rolfbjarne in #20328
- [Foundation] Don't leak exceptions in WrappedNSInputStream.Read. by @rolfbjarne in #20131
- [Foundation] Fix a few issues with NSUrlConnection.SendSynchronousRequest. by @rolfbjarne in #19458
- [Foundation] Fix hack in NSUrlSessionHandler to avoid a deadlock. by @rolfbjarne in #20327
- [Foundation] Improve visibility of NSObject members in intellisense by @haritha-mohan in #19106
- [Foundation] Make P/Invokes have blittable signatures. by @rolfbjarne in #20539
- [Foundation] Make P/Invokes in NSDecimal.cs have blittable signatures. by @rolfbjarne in #19702
- [Foundation] Make the generic collection classes' generic GetEnumerator methods public. by @rolfbjarne in #20808
- [Foundation] NSArray.FromNSObjects will never return null objects. Fixes #19622. by @rolfbjarne in #19627
- [Foundation] Suppress trimmer warnings for certain Blocks members. by @rolfbjarne in #20267
- [Foundation] Suppress trimmer warnings for NSObject.CreateNSObject. by @rolfbjarne in #20254
- [Foundation] Suppress trimmer warnings for NSObject.DynamicConformsToProtocol members. by @rolfbjarne in #20333
- [Foundation] Use 'Foundation' as the namespace for NSUrlSessionHandler for all platforms. by @rolfbjarne in #20581
- [GameController] Bind GCVirtualControllerConfiguration.Hidden. Fixes #20389. by @rolfbjarne in #20401
- [GameController] GCMouse doesn't conform to NSCoding/NSSecureCoding. by @rolfbjarne in #20641
- [GameController] Make a few structs blittable. by @rolfbjarne in #20697
- [GameController] Make P/Invokes have blittable signatures. by @rolfbjarne in #20528
- [GameKit] Add support for Xcode 15 by @haritha-mohan in #19285
- [GameplayKit] Remove the bindings for GKHybridStrategist. by @rolfbjarne in #20468
- [Generator] == on a type those a reference equals check. by @mandel-macaque in #19756
- [Generator] Add BindingTouchConfig to BindingTouch by @dustin-wojciechowski in #19485
- [generator] Add support for XML documentation in the API definitions. Fixes #17397. by @rolfbjarne in #20253
- [Generator] Allow to have a way to attach to the generator. by @mandel-macaque in #19565
- [Generator] Clean the AttributeManager from deps and fix a bug in the errors. by @mandel-macaque in #19532
- [Generator] Do not couple BindingTouch to the TypeCache. by @mandel-macaque in #19426
- [Generator] Group all those classes that act as a Cache. by @mandel-macaque in #19480
- [Generator] Implement TypeCache. by @dustin-wojciechowski in #19398
- [Generator] Move the most of the path logic out of BT. by @mandel-macaque in #19429
- [Generator] Move the NSValue create map to the TypeCache. by @mandel-macaque in #19495
- [Generator] Move Type-related methods into Type Manager by @dustin-wojciechowski in #19380
- [Generator] New LibraryManager for BindingTouch by @dustin-wojciechowski in #19479
- [Generator] Provide a way to get all the types from the assembly. by @mandel-macaque in #19481
- [Generator] Refactor Format Type methods into TypeManager class by @dustin-wojciechowski in #19331
- [Generator] Refactor ReferenceFixer and SearchPathsAssemblyResolver by @dustin-wojciechowski in #19428
- [Generator] Remove a dict to which we only write and never read. by @mandel-macaque in #19483
- [Generator] Remove method that adds no value. by @mandel-macaque in #19482
- [Generator] Remove properties that are used very few times. by @mandel-macaque in #19531
- [Generator] Remove the BT reference from the NSManager. by @mandel-macaque in #19427
- [Generator] The Nomenclator does know how to get the name of a type. by @mandel-macaque in #19530
- [Generator] Try to make the project a little more manageable. by @mandel-macaque in #19460
- [Generator] TryLoadApi method by @dustin-wojciechowski in #19470
- [GLKit] Make the GLKVertexAttributeParametersFromModelIO P/Invoke have a blittable signature. by @rolfbjarne in #20529
- [HealthKit] Make P/Invokes have blittable signatures. by @rolfbjarne in #20005
- [hotrestart] Ensure we set the correct value for the "IsHotRestartBuild" property by @mauroa in #19103
- [ImageIO] Make P/Invokes have blittable signatures. by @rolfbjarne in #19701
- [InputMethodKit] Remove existing code for InputMethodKit. by @rolfbjarne in #19462
- [LocalAuthentication] Make path have the correct case by @rolfbjarne in #19465
- [MapKit] Make P/Invokes have blittable signatures. by @rolfbjarne in #20006
- [MediaAccessibility] Make P/Invokes have blittable signatures. by @rolfbjarne in #20120
- [MediaPlayer] Make P/Invokes have blittable signatures. by @rolfbjarne in #20012
- [MediaToolbox] Make P/Invokes in MTAudioProcessingTap.cs have blittable signatures. by @rolfbjarne in #20642
- [Metal] Add support for Xcode15. by @mandel-macaque in #19379
- [Metal] Make P/Invokes have blittable signatures. by @rolfbjarne in #20009
- [MetalFX] Add the framework (which was added in Xcode 14) and add xcode 15 support. by @mandel-macaque in #19107
- [MetalKit] Add support for Xcode 15. by @mandel-macaque in #19274
- [MetalPerformanceShaders] Make P/Invokes have blittable signatures. by @rolfbjarne in #20014
- [mmp] Add PreserveSmartEnumConversionsSubStep to the linker sub steps. Fixes #19712. by @rolfbjarne in #19836
- [mmp] Don't run pkg-config when generating partial static registrar code. by @rolfbjarne in #19473
- [MobileCoreServices] Make P/Invokes have blittable signatures. by @rolfbjarne in #20015
- [ModelIO] Include MDLMaterial.cs in the build. by @rolfbjarne in #19464
- [ModelIO] Make P/Invokes have blittable signatures. by @rolfbjarne in #20153
- [msbuild/dotnet] Add support for app extensions which are xpc services. by @rolfbjarne in #18295
- [msbuild/dotnet] Automatically link with Swift's system libraries if a binding project has the IsSwift=true property. by @rolfbjarne in #20546
- [msbuild] Add a check for actually having anything to AOTCompile. by @rolfbjarne in #20206
- [msbuild] Add more diagnostic output to FindItemWithLogicalName. by @rolfbjarne in #20376
- [msbuild] Adjust error message when we can't find Xcode to not talk about VS. Fixes #19818. by @rolfbjarne in #20306
- [msbuild] Copy extracted files from the DecompressXpcServices target back to Windows. by @rolfbjarne in #20219
- [msbuild] Copy files to be signed into the correct directory for Hot Restart. Fixes #19278. by @rolfbjarne in #19302
- [msbuild] Copy the entire frameworks to the Mac when building remotely in the ResolveNativeReferences task. Fixes #19173. by @rolfbjarne in #19227
- [msbuild] Correctly add custom entitlements to the archived entitlements. by @rolfbjarne in #19920
- [msbuild] Deduplicate code to create lists of TaskItems for each file in a directory recursively. by @rolfbjarne in #19382
- [msbuild] Detect any dylibs in NativeReferences. Fixes #19520. by @rolfbjarne in #19560
- [msbuild] Detect problems with long paths, and try to show a bit more helpful information. Fixes #20053. by @rolfbjarne in #20298
- [msbuild] Disable certain .NET behaviors we don't need when doing stuff on a remote Mac. by @rolfbjarne in #19961
- [msbuild] Don't add frameworks with static libraries to Hot Restart apps. by @rolfbjarne in #19300
- [msbuild] Don't create output files for files we already copy in CreateBindingResourcePackage. by @rolfbjarne in #20221
- [msbuild] Don't support RuntimeIdentifiers for Hot Restart. by @rolfbjarne in #20750
- [msbuild] Don't try to bundle the BouncyCastle.Crypto library anymore. by @rolfbjarne in #20044
- [msbuild] Don't try to read a file that might not exist in the XamarinBuildTask task. by @rolfbjarne in #19327
- [msbuild] Enable nullability and improve error reporting in the PackLibraryResources task. by @rolfbjarne in #19998
- [msbuild] Enable nullability for ArTool and AcTool. by @rolfbjarne in #20010
- [msbuild] Enable nullability in a few tasks. by @rolfbjarne in #20509
- [msbuild] Enable nullability in all project files + disable nullability in each file. by @rolfbjarne in #19452
- [msbuild] Enable nullability in the CollectBundleResources task. by @rolfbjarne in #19992
- [msbuild] Enable nullability in WriteItemsToFile and fix any issues. by @rolfbjarne in #20099
- [msbuild] Enable the _ExpandNativeReferences target for Hot Restart. by @rolfbjarne in #19299
- [msbuild] Explicitly exclude any GitInfo package references we've pulled in. by @rolfbjarne in #19937
- [msbuild] Fix check for Link metadata by checking for both null and empty string. Fixes #12783. by @rolfbjarne in #18487
- [msbuild] Fix duplicated property declaration. by @rolfbjarne in #20549
- [msbuild] Fix issue referencing static libraries from compressed xcframeworks. by @rolfbjarne in #20585
- [msbuild] Fix item name confusion - the texture atlas item group is called AtlasTexture, not TextureAtlas. by @rolfbjarne in #19994
- [MSBuild] Fix nullability that broke main. by @mandel-macaque in #20067
- [msbuild] Fix parsing single-char mtouch extra args of the form '-vvvv'. by @rolfbjarne in #19318
- [msbuild] Fix resolving static libraries inside an XCFramework in a NuGet. by @rolfbjarne in #19502
- [msbuild] Fix WriteAssetPackManifest class name and abstractability after recent changes. by @rolfbjarne in #19978
- [msbuild] Handle backslash characters better on Windows in the ParseBundlerArguments task. by @rolfbjarne in #19719
- [msbuild] Improve errors in case native linking fails. by @rolfbjarne in #20462
- [msbuild] Improve makefile dependency in msbuild. by @rolfbjarne in #19640
- [msbuild] Improve the UnpackLibraryResources task a bit. by @rolfbjarne in #20004
- [msbuild] Look for and copy binding resource packages to the remote Mac in the ResolveNativeReferences task. Fixes #19229. by @rolfbjarne in #19325
- [msbuild] Make the GetFileSystemEntries task actually cancellable. by @rolfbjarne in #20209
- [msbuild] Make the IBTool task nullable. by @rolfbjarne in #20550
- [msbuild] Make the level of parallelism configurable in all tasks that call Parallel.ForEach. Fixes #20210. by @rolfbjarne in #20256
- [msbuild] Make the level of parallelism in the codesign task configureable. by @rolfbjarne in #20242
- [msbuild] Parse --nowarn and --warnaserror from MtouchExtraArgs for .NET. by @rolfbjarne in #19540
- [msbuild] Pass /p:RestoreConfigFile to 'dotnet build' in addition to 'dotnet restore'. by @rolfbjarne in #20008
- [msbuild] Process custom entitlements as if they came from an Entitlements.plist file. by @rolfbjarne in #19942
- [msbuild] Remove 'UsingTask' statement trying to load a task that doesn't exist. by @rolfbjarne in #20151
- [msbuild] Remove SimpleAssemblyResolver - it's not used. by @rolfbjarne in #20016
- [msbuild] Remove the CodesignProvision property from the DetectSigningIdentity task. by @rolfbjarne in #19494
- [msbuild] Remove the CodesignVerify target. by @rolfbjarne in #19490
- [msbuild] Report a better error if a NativeResource doesn't exist on disk. by @rolfbjarne in #19199
- [msbuild] Set the working directory before executing 'dotnet build' in the ComputeRemoteGeneratorProperties task. by @rolfbjarne in #20506
- [msbuild] Several updates to the ScnTool task. by @rolfbjarne in #19976
- [msbuild] Show a better error with invalid app bundles due to Resources subdirectory. Fixes #20135. by @rolfbjarne in #20593
- [msbuild] Show a slightly better warning message when trying to expand TeamIdentifierPrefix/AppIdentifierPrefix without a provisioning profile. by @rolfbjarne in #20759
- [msbuild] Subclass XamarinTask in numerous other tasks to reduce duplicated code. by @rolfbjarne in #19343
- [msbuild] Take the CustomEntitlements item group into account in DetectSigningIdentity. by @rolfbjarne in #19919
- [msbuild] The DTPlatformName is supposed to be 'macosx' for Mac Catalyst. by @rolfbjarne in #20720
- [msbuild] Try to provide some better diagnostics if we fail to compute remote generator properties. by @rolfbjarne in #20218
- [msbuild] Unify MonoBundlingExtraArgs and MtouchExtraArgs into AppBundleExtraOptions. Fixes #12807. by @rolfbjarne in #20594
- [msbuild] Update values we put in the generated Info.plist for Xcode archives. by @rolfbjarne in #20719
- [msbuild] Use a single generated versions file for all platforms. by @rolfbjarne in #19593
- [msbuild] Use exact version of XVS' packages. by @rolfbjarne in #20043
- [msbuild] Use MetadataLoadContext in the UnpackLibraryResources task. by @rolfbjarne in #20017
- [msbuild] Use the fully resolved path when computing the relative path for the LogicalName property. Fixes #20330. by @rolfbjarne in #20364
- [msbuild] Version the Xamarin.Localization.MSBuild assembly. Fixes #20062. by @rolfbjarne in #20623
- [NativeAOT] Improve the transformation of [Preserve(AllMembers = true)] by @simonrozsival in #19516
- [NerabyInteraction] Add support for xcode 15. by @mandel-macaque in #19273
- [Network] Add support for Xcode 15. by @mandel-macaque in #19418
- [Network] Make P/Invokes in NWDescriptor and NWWebSocket have blittable signatures. by @rolfbjarne in #20659
- [Network] Make P/Invokes in NWConnection[Group] have blittable signatures. by @rolfbjarne in #20662
- [Network] Make P/Invokes in NWFramer[Message] have blittable signatures. by @rolfbjarne in #20647
- [Network] Make P/Invokes in NWProtocol* have blittable signatures. by @rolfbjarne in #20638
- [Network] Make the remaining P/Invokes have blittable signatures. by @rolfbjarne in #20668
- [NSUrlSessionHandler] Only update the request's RequestUri if a redirection occurred. Fixes #20629. by @rolfbjarne in #20633
- [ObjCRuntime] Cache a few expensive and frequent operations in Class. Fixes #19079. by @rolfbjarne in #19086
- [ObjCRuntime] Fix string comparison to be ordinal. by @rolfbjarne in #20377
- [ObjCRuntime] Make P/Invokes have blittable signatures. by @rolfbjarne in #20547
- [ObjCRuntime] Refactor the Block.SetupBlock(Delegate,Delegate) implementation a bit. by @rolfbjarne in #20353
- [ObjCRuntime] Suppress trimmer warnings for certain Blocks members. by @rolfbjarne in #20309
- [ObjCRuntime] Suppress trimmer warnings for certain DynamicRegistrar members. by @rolfbjarne in #20300
- [ObjCRuntime] Suppress trimmer warnings for certain DynamicRegistrar members. by @rolfbjarne in #20350
- [ObjCRuntime] Suppress trimmer warnings for certain Runtime members. by @rolfbjarne in #20290
- [ObjCRuntime] Suppress trimmer warnings for certain Runtime members. by @rolfbjarne in #20322
- [ObjCRuntime] Suppress trimmer warnings for certain Runtime members. by @rolfbjarne in #20337
- [ObjCRuntime] Suppress trimmer warnings for certain Stret members. by @rolfbjarne in #20313
- [ObjCRuntime] Suppress trimmer warnings for Class.ResolveToken. by @rolfbjarne in #20278
- [ObjCRuntime] Throw a more descriptive InvalidCastException when failing to create an instance of the appropriate type in Runtime.CreateNSObject. by @rolfbjarne in #19629
- [OpenGL/OpenGLES] Make P/Invokes have blittable signatures. by @rolfbjarne in #20512
- [PassKit] Add support Xcode15 Beta 7 by @tj-devel709 in #19139
- [PrintCore] Make P/Invokes have blittable signatures. by @rolfbjarne in #20542
- Add UseInterpreter as part of the check for DynamicCodeSupport by @dalexsoto in #20921
- Do not enable dedup when targeting
maccatalyst-x64
by @dalexsoto in #20946 - Enable dedup only when targeting arm64 platforms by @ivanpovazan in #20952
- Reenable dedup optimization for all AOT modes by @dalexsoto in #20940
- [runtime] Add support for additional type encodings. Fixes #18562. by @rolfbjarne in #20521
- [runtime] Call mono_unhandled_exception to raise AppDomain.UnhandledException. by @rolfbjarne in #20656
- [runtime] Convert the bindings-generator.csproj project to a .NET project. by @rolfbjarne in #20743
- [runtime] Detect recursion when handling unhandled Objective-C exceptions. Fixes #14796. by @rolfbjarne in #20276
- [runtime] Don't register Runtime.CreateDelegateProxy when using the managed static registrar. by @rolfbjarne in #20164
- [runtime] Don't register Runtime.GetGenericMethodFromToken when the managed static registrar is used. by @rolfbjarne in #20144
- [runtime] Fix conserving stack trace when re-throwing marshalled exceptions. Fixes #19417. by @rolfbjarne in #20316
- [runtime] Fix memory leak with BlockLiteral descriptors. Fixes #20503. by @rolfbjarne in #20556
- [runtime] Fix min OS versions in various compiler and linker arguments. by @rolfbjarne in #20275
- [runtime] Remove dead code. by @rolfbjarne in #20655
- [runtime] Throw exception for condition we don't handle in the dynamic registrar. by @rolfbjarne in #20568
- [runtime] Use calloc instead of malloc. by @rolfbjarne in #20692
- [runtime] Use objc_[retain|release|autorelease] instead of sending messages. by @rolfbjarne in #19415
- [runtime] Use strnlen instead of strlen. by @rolfbjarne in #20702
- [SafetyKit] Added bindings for SafetyKit. by @rolfbjarne in #20263
- [SearchKit] Make P/Invokes have blittable signatures. by @rolfbjarne in #20493
- [Security] Make P/Invokes have in SslContext.cs blittable signatures. by @rolfbjarne in #20582
- [Security] Make P/Invokes in [Sec]Trust.cs have blittable signatures. by @rolfbjarne in #20595
- [Security] Make P/Invokes in Certificate.cs have blittable signatures. by @rolfbjarne in #20571
- [Security] Make remaining P/Invokes have blittable signatures. by @rolfbjarne in #20618
- [Speech] Fix wrong added API in macOS. by @mandel-macaque in #19759
- [src/docs] Add xml documentation for types. by @rolfbjarne in #20672
- [src/tools] Propagate the BackwardsCompatibleCodeGeneration field from Protocol attributes in bindings to the generated code. by @rolfbjarne in #20804
- [src] Add a TransientCFString struct. by @rolfbjarne in #19763
- [src] Delete several file that weren't included in the build. by @rolfbjarne in #19466
- [src] Disable a few code paths on macOS if dynamic registration is disabled. by @rolfbjarne in #20178
- [src] Enable nullability by default and turn it off in files that haven't been audited/converted. by @rolfbjarne in #19680
- [src] Enable nullability in project files, and disable (for now) in files that haven't been processed yet. by @rolfbjarne in #19472
- [src] Expand multi-field single statements into multiple statements. by @rolfbjarne in #20489
- [src] Fix accidental xml documentation comments. by @rolfbjarne in #20637
- [src] Fix capitalization in a few APIs for XAMCORE_5_0. by @rolfbjarne in #20281
- [src] Fix definition of AVSampleCursorAudioDependencyInfo for Mac Catalyst. by @rolfbjarne in #20781
- [src] Fix generating bgen.csproj.inc. by @rolfbjarne in #19696
- [src] Fix making all warnings errors. by @rolfbjarne in #20422
- [src] Fix the array itself and not the first array element. by @rolfbjarne in #19420
- [src] Fix unintentional xml doc comment. by @rolfbjarne in #20252
- [src] Implement a more generic way of calling objc_msgSend with variadic arguments. by @rolfbjarne in #20832
- [src] Interface members are public by default, so make these explicitly private. by @rolfbjarne in #19833
- [src] Make a few P/Invokes stragglers have blittable signatures. by @rolfbjarne in #20675
- [src] Propagate the [CCallback] and [BlockCallback] attributes to generated code. by @rolfbjarne in #20225
- [src] Rearrange code to avoid compiler warning. by @rolfbjarne in #19750
- [src] Remove a few MarshalAs attributes in various APIs. by @rolfbjarne in #20704
- [src] Remove any 32-bit logic not applicable to watchOS. by @rolfbjarne in #20152
- [src] Remove EventArgs attribute on a category method. by @rolfbjarne in #20346
- [src] Remove the Protocolize attribute. by @rolfbjarne in #19684
- [src] Remove the UnifiedInternal attribute. by @rolfbjarne in #19687
- [src] Stop generating CGPoint, CGRect and CGSize from a t4 file. by @rolfbjarne in #20432
- [src] Try to fix race condition with regards to restoring NuGet packages. by @rolfbjarne in #19467
- [src] Update dependencies of bgen.csproj to not use the dependencies of generator.csproj. by @rolfbjarne in #19572
- [src] Use proper return type for stret functions. by @rolfbjarne in #19682
- [Storekit] Add support for xcode 15. by @mandel-macaque in #19309
- [tools] Don't detect/resolve binding resource packages in mtouch/mmp/dotnet-linker. Fixes #19378. by @rolfbjarne in #19407
- [tools] Don't require a LinkWith attributes to find Objective-C classes in assemblies. by @rolfbjarne in #20479
- [tools] Enable nullability in a few files. by @rolfbjarne in #19440
- [tools] Sort list of versions before showing them in an error message. by @rolfbjarne in #20324
- [UIKit] Add missing attrs for catalyst. by @mandel-macaque in #19355
- [UIKit] Add support for Xcode 15. by @mandel-macaque in #19120
- [UIKit] Adjust availability attributes for UIButtonConfiguration.[Sub]TitleLineBreakMode. Fixes ##19377. by @rolfbjarne in #19384
- [UIKit] Fix a few nullability issues by @rolfbjarne in #19688
- [UIKit] Fix breaking change in UITraitChangeObservable. by @rolfbjarne in #19886
- [UIKit] Fix broken UITrait bindings. Fixes #19410. by @rolfbjarne in #19411
- [UIKit] Make P/Invokes have blittable signatures. by @rolfbjarne in #19725
- [UIKit] Make P/Invokes related to UIAccessibility have blittable signatures. by @rolfbjarne in #19698
- [UIKit] Remove presnippet for UITextView.TypingAttributes. Fixes #12709. by @rolfbjarne in #20089
- [UIKit] Remove UITextAttributes.Dictionary. Fixes #20409. by @rolfbjarne in #20410
- [UIKit] Store the delegate in a local variable in the UIContextMenuInteraction. by @rolfbjarne in #19386
- [VideoToolbox] Make P/Invokes have blittable signatures. by @rolfbjarne in #20019
- [Vision] Add support for Xcode 15 by @haritha-mohan in #19099
- [Vision] Make P/Invokes have blittable signatures. by @rolfbjarne in #19703
- [Vision] Update Xcode 15 support by @haritha-mohan in #19412
- [WebKit] Add missing notification attrs. by @mandel-macaque in #19275
- [WebKit] Add support for Xcode 15 by @haritha-mohan in #19237
- [Xcode 15.2] Bump to Xcode 15.2 by @dalexsoto in #19785
- [xcode15.3] Bump to Xcode 15.3 bindings by @dalexsoto in #20780
- [xcode15.4] Update bindings to Xcode 15.4 by @rolfbjarne in #20865
- Add documentation on how to provide the Apple Privacy Manifest by @mcumming in #20292
- Add the .NET TFM as a constant to the generated SdkVersions.cs from our Makefile variables. by @rolfbjarne in #19401
- Allow null for CGColorSpace.CreatePattern by @snechaev in #20294
- Apple Privacy Manifest doc updates by @mcumming in #20391
- Avoid passing null to TaskRunner.FixReferencedItems by @mauroa in #19871
- Enable dedup optimization in FullAOT mode only by @kotlarmilos in #20687
- Fix a few places that hardcoded the target framework to use the current .NET version instead. by @rolfbjarne in #19403
- Fix Apple Privacy Manifest doc typos by @jfversluis in #20352
- Fix boolean condition to determine whether dynamic code is supported or not. Fixes #dotnet/runtime@101840. (#20563) by @rolfbjarne in #20696
- Fix sending MidiPacket when MidiPacket has been created using a point… by @jamesdlow in #18981
- Make MidiPacket.ByteArray and MidiPacket.BytePointer public by @Youssef1313 in #20540
- More methods extracted in BindingTouch [Generator] by @dustin-wojciechowski in #19635
- NSUrlSessionHandler: Rewind request content to the start before sending by @wcoder in #16341
- Update AOTCompile task to handle cycles in up-to-date check by @filipnavara in #20103
- Update the Mono.Options package references to the same (latest) version everywhere. by @rolfbjarne in #19457
New Contributors
- @MSLukeWest made their first contribution in #19046
- @jamesdlow made their first contribution in #18981
- @wcoder made their first contribution in #16341
- @snechaev made their first contribution in #20294
- @jfversluis made their first contribution in #20352
- @Youssef1313 made their first contribution in #20540
Full Changelog: dotnet-8.0.1xx-xcode15.1-8078...dotnet-8.0.1xx-xcode15.4-8018