diff --git a/CHANGELOG.md b/CHANGELOG.md index a136579c..3740e9c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,11 @@ -# Airship Xamarin Changelog +# Airship DotNet Changelog + +## Version 19.0.0 - Nov 21, 2023 +Major release that updates the Airship bindings and cross-platform libraries to target .NET 8.0. The Airship .NET SDK now requires .NET 8.0 (`net8.0-android` and `net8.0-ios`) as the minimum target framework, and iOS 14+ as the minimum deployment version with Xcode 15+. + +## Changes +- Updated iOS SDK to 17.6.1 +- Resolved build issues in Windows Visual Studio. Linked Mac builds are now working as expected. ## Version 18.0.0 - Nov 10, 2023 Major release that updates to Airship SDK 17.x. This release adds support for Stories, In-App experiences downstream of a sequence in Journeys, and improves SDK auth. The .NET SDK now requires .NET 7.0 (`net7.0-android` and `net7.0-ios`) as the minimum target framework, and iOS 14+ as the minimum deployment version with Xcode 14.3+. diff --git a/Cartfile b/Cartfile index 95da7b72..97dbad6a 100644 --- a/Cartfile +++ b/Cartfile @@ -1 +1 @@ -github "urbanairship/ios-library" == 17.6.0 +github "urbanairship/ios-library" == 17.6.1 diff --git a/Directory.Build.props b/Directory.Build.props index b3a7e0c6..f960f63e 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -6,14 +6,14 @@ 17.5.0 - 17.5.0 + 17.5.0.1 - 17.6.0 - 17.6.0 + 17.6.1 + 17.6.1 - 18.0.0 - 18.0.0 + 19.0.0 + 19.0.0 diff --git a/MauiSample/MauiSample.csproj b/MauiSample/MauiSample.csproj index 6e423149..64f3292f 100644 --- a/MauiSample/MauiSample.csproj +++ b/MauiSample/MauiSample.csproj @@ -1,7 +1,7 @@ - net7.0-android;net7.0-ios + net8.0-android;net8.0-ios Exe MauiSample true @@ -11,8 +11,8 @@ MauiSample - com.urbanairship.richpush - com.urbanairship.sample + com.urbanairship.richpush + com.urbanairship.sample f6a79f57-dd45-4efa-9d46-98b431478fa1 1.0 @@ -27,7 +27,7 @@ 4 - + Automatic iPhone Developer Platforms\iOS\Entitlements.plist @@ -35,7 +35,7 @@ false - + iPhone Developer Platforms\iOS\Entitlements.plist None @@ -57,15 +57,20 @@ false 4 - + 2G + + + + + - + @@ -73,7 +78,7 @@ - + @@ -91,7 +96,7 @@ - + @@ -99,7 +104,7 @@ - + @@ -123,11 +128,11 @@ - + - + diff --git a/airship.properties b/airship.properties index 4aebbab0..1af0784e 100644 --- a/airship.properties +++ b/airship.properties @@ -1,9 +1,9 @@ # Airship native SDK versions -iosVersion = 17.6.0 +iosVersion = 17.6.1 androidVersion = 17.5.0 # Airship.Net cross-platform version -crossPlatformVersion = 18.0.0 +crossPlatformVersion = 19.0.0 # Filename of the iOS SDK zip file iosFrameworkZip = Airship-Xcode15.zip @@ -12,7 +12,7 @@ iosFrameworkZip = Airship-Xcode15.zip # If > 0, the revision number will be added to the versions # defined above as a 4th segment (i.e., MAJOR.MINOR.PATCH.REVISION). # If = 0, NuGet packages will be versioned using standard 3-segment semver. -androidRevision = 0 +androidRevision = 1 iosRevision = 0 crossPlatformRevision = 0 diff --git a/binderator/source/AndroidProject.cshtml b/binderator/source/AndroidProject.cshtml index 81ecd3f5..d4cbfad6 100644 --- a/binderator/source/AndroidProject.cshtml +++ b/binderator/source/AndroidProject.cshtml @@ -4,8 +4,8 @@ - net7.0-android - 33 + net8.0-android + 21.0 enable enable true diff --git a/docs/mainpage.md b/docs/mainpage.md index 32ed3e66..4c3c26aa 100644 --- a/docs/mainpage.md +++ b/docs/mainpage.md @@ -1,22 +1,22 @@ # Airship .NET The Airship .NET SDK exposes a common subset of functionality between -the iOS and Android SDKs. This library is built against .NET 6.0, and can be used +the iOS and Android SDKs. This library is built against .NET 8.0, and can be used within shared codebases (e.g., a MAUI app). ## Compatibility The Airship .NET SDK targets the following platforms: -- `net6.0` -- `net6.0-android` -- `net6.0-ios` +- `net8.0` +- `net8.0-android` +- `net8.0-ios` The Airship .NET SDK is compatible with: - Android 5.0 (API 21) or higher. -- iOS 13 or higher, using the latest supported release of Xcode. +- iOS 14 or higher, using the latest supported release of Xcode. ## Resources -- [Getting started guide](https://docs.airship.com/platform/mobile/setup/sdk/xamarin/) +- [Getting started guide](https://docs.airship.com/platform/mobile/setup/sdk/maui/) - [Mobile platform documentation](https://docs.airship.com/platform/mobile/) ## Setup @@ -27,7 +27,7 @@ Use NuGet to install the `airship.net` package. * `airship.net.messagecenter` - Provides a cross-platform control that can be used to display Message Center messages. -Detailed instructions can be found in the [Getting started guide](https://docs.airship.com/platform/mobile/setup/sdk/xamarin/). +Detailed instructions can be found in the [Getting started guide](https://docs.airship.com/platform/mobile/setup/sdk/maui/). A cross-platform sample app is provided in the `MauiSample` directory on -[Github](https://github.com/urbanairship/urbanairship-xamarin/tree/main/MauiSample). +[Github](https://github.com/urbanairship/airship-dotnet/tree/main/MauiSample). diff --git a/global.json b/global.json index 6e7e4550..322b6fad 100644 --- a/global.json +++ b/global.json @@ -1,7 +1,7 @@ { "sdk": { - "version": "7.0.100", + "version": "8.0.100", "rollForward": "patch" }, "msbuild-sdks": diff --git a/src/Airship.Net.MessageCenter/Airship.Net.MessageCenter.csproj b/src/Airship.Net.MessageCenter/Airship.Net.MessageCenter.csproj index 41526b55..523b84c8 100644 --- a/src/Airship.Net.MessageCenter/Airship.Net.MessageCenter.csproj +++ b/src/Airship.Net.MessageCenter/Airship.Net.MessageCenter.csproj @@ -1,7 +1,7 @@ - net7.0;net7.0-android;net7.0-ios + net8.0;net8.0-android;net8.0-ios true true enable @@ -25,38 +25,36 @@ $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb - + false - + false - + - + - - - - - - - - - + - - + + + + + + + + diff --git a/src/Airship.Net.MessageCenter/build.gradle b/src/Airship.Net.MessageCenter/build.gradle index 8150b1f9..d27bd92f 100644 --- a/src/Airship.Net.MessageCenter/build.gradle +++ b/src/Airship.Net.MessageCenter/build.gradle @@ -6,7 +6,7 @@ task clean(type: Delete) { } task build { - mustRunAfter(':src:Airship.Net:build') + dependsOn(':src:Airship.Net:build', ':binderator:build', ':src:AirshipBindings.iOS.common:build') def BuildConfiguration=project.properties['build_configuration'] ?: "Release" doLast() { @@ -18,7 +18,9 @@ task build { task pack { - mustRunAfter(':src:Airship.Net:pack') + dependsOn(':src:Airship.Net:pack') + // With .NET8, we apparently need to pack the bindings after the cross-platform nupkgs... + finalizedBy(':binderator:pack', ':src:AirshipBindings.iOS.common:pack') // Pack Airship.Net.MessageCenter library doLast() { diff --git a/src/Airship.Net/Airship.Net.csproj b/src/Airship.Net/Airship.Net.csproj index 9dafbea6..61d2e3f2 100644 --- a/src/Airship.Net/Airship.Net.csproj +++ b/src/Airship.Net/Airship.Net.csproj @@ -1,7 +1,7 @@ - net7.0;net7.0-android;net7.0-ios + net8.0;net8.0-android;net8.0-ios true true enable @@ -25,30 +25,30 @@ $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb - + false - + false HttpClientHandler - + + + + + + + - - + - - - - - - + diff --git a/src/Airship.Net/build.gradle b/src/Airship.Net/build.gradle index e95dc06b..556fca30 100644 --- a/src/Airship.Net/build.gradle +++ b/src/Airship.Net/build.gradle @@ -6,7 +6,7 @@ task clean(type: Delete) { } task build { - mustRunAfter(':binderator:build', ':src:AirshipBindings.iOS.common:build') + dependsOn(':binderator:build', ':src:AirshipBindings.iOS.common:build') def BuildConfiguration=project.properties['build_configuration'] ?: "Release" doLast() { @@ -17,7 +17,7 @@ task build { } task pack { - mustRunAfter(':binderator:pack', ':src:AirshipBindings.iOS.common:pack') + dependsOn(':src:Airship.Net:build') // Pack Airship.Net library doLast() { diff --git a/src/SharedAssemblyInfo.Common.cs b/src/SharedAssemblyInfo.Common.cs index cd8f1a30..863199ee 100644 --- a/src/SharedAssemblyInfo.Common.cs +++ b/src/SharedAssemblyInfo.Common.cs @@ -6,4 +6,4 @@ // Change them to the values specific to your project. // Cross-platform version of the plugin -[assembly: UACrossPlatformVersion ("18.0.0")] +[assembly: UACrossPlatformVersion ("19.0.0")] diff --git a/src/SharedAssemblyInfo.CrossPlatform.cs b/src/SharedAssemblyInfo.CrossPlatform.cs index 0a21597a..e76bf22f 100644 --- a/src/SharedAssemblyInfo.CrossPlatform.cs +++ b/src/SharedAssemblyInfo.CrossPlatform.cs @@ -12,5 +12,5 @@ // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. -[assembly: AssemblyVersion ("18.0.0")] +[assembly: AssemblyVersion ("19.0.0")] diff --git a/src/SharedAssemblyInfo.iOS.cs b/src/SharedAssemblyInfo.iOS.cs index 140fc12f..b017d271 100644 --- a/src/SharedAssemblyInfo.iOS.cs +++ b/src/SharedAssemblyInfo.iOS.cs @@ -17,4 +17,4 @@ // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. -[assembly: AssemblyVersion ("18.0.0")] +[assembly: AssemblyVersion ("19.0.0")] diff --git a/workloads.json b/workloads.json deleted file mode 100644 index 2fbdb62a..00000000 --- a/workloads.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "microsoft.net.sdk.android": "33.0.95/7.0.100", - "microsoft.net.sdk.ios": "16.4.7107/7.0.100", - "microsoft.net.sdk.maccatalyst": "16.4.7107/7.0.100", - "microsoft.net.sdk.macos": "13.3.7107/7.0.100", - "microsoft.net.sdk.tvos": "16.4.7107/7.0.100", - "microsoft.net.sdk.maui": "7.0.96/7.0.100", - "microsoft.net.workload.mono.toolchain": "6.0.12/7.0.100", - "microsoft.net.workload.emscripten": "6.0.12/7.0.100" -}