diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 903f9e3843..a3bbc33418 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -35,9 +35,9 @@ jobs:
version: 6.0.401
- task: UseDotNet@2
- displayName: 'Use .NET Core SDK 7.0.100-rc.2.22477.23'
+ displayName: 'Use .NET Core SDK 7.0'
inputs:
- version: 7.0.100-rc.2.22477.23
+ version: 7.0.100
- task: CmdLine@2
displayName: 'Install Workloads'
@@ -72,9 +72,9 @@ jobs:
version: 6.0.401
- task: UseDotNet@2
- displayName: 'Use .NET Core SDK 7.0.100-rc.2.22477.23'
+ displayName: 'Use .NET Core SDK 7.0.100'
inputs:
- version: 7.0.100-rc.2.22477.23
+ version: 7.0.100
- task: CmdLine@2
displayName: 'Install Workloads'
@@ -143,9 +143,9 @@ jobs:
version: 6.0.401
- task: UseDotNet@2
- displayName: 'Use .NET Core SDK 7.0.100-rc.2.22477.23'
+ displayName: 'Use .NET Core SDK 7.0.100'
inputs:
- version: 7.0.100-rc.2.22477.23
+ version: 7.0.100
- task: CmdLine@2
displayName: 'Install Workloads'
diff --git a/global.json b/global.json
index dc6da556b3..a9318b212f 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"sdk": {
- "version": "7.0.100-rc.2.22477.23",
+ "version": "7.0.100",
"rollForward": "latestFeature"
},
"msbuild-sdks": {
diff --git a/native/Avalonia.Native/src/OSX/rendertarget.mm b/native/Avalonia.Native/src/OSX/rendertarget.mm
index 2075cc85ab..1c22c91207 100644
--- a/native/Avalonia.Native/src/OSX/rendertarget.mm
+++ b/native/Avalonia.Native/src/OSX/rendertarget.mm
@@ -183,8 +183,11 @@ static IAvnGlSurfaceRenderTarget* CreateGlRenderTarget(IOSurfaceRenderTarget* ta
[_layer setContents: (__bridge IOSurface*) surface->surface];
}
[CATransaction commit];
- [CATransaction flush];
}
+ // This can trigger event processing on the main thread
+ // which might need to lock the renderer
+ // which can cause a deadlock. So flush call is outside of the lock
+ [CATransaction flush];
}
else
dispatch_async(dispatch_get_main_queue(), ^{
diff --git a/nukebuild/Build.cs b/nukebuild/Build.cs
index 7425c344c3..2295c0beda 100644
--- a/nukebuild/Build.cs
+++ b/nukebuild/Build.cs
@@ -145,8 +145,25 @@ partial class Build : NukeBuild
{
Information($"Running tests from {projectName}");
var project = Solution.GetProject(projectName).NotNull("project != null");
+ // Nuke and MSBuild tools have build-in helpers to get target frameworks from the project.
+ // Unfortunately, it gets broken with every second SDK update, so we had to do it manually.
+ var fileXml = XDocument.Parse(File.ReadAllText(project.Path));
+ var targetFrameworks = fileXml.Descendants("TargetFrameworks")
+ .FirstOrDefault()?.Value.Split(';').Select(f => f.Trim());
+ if (targetFrameworks is null)
+ {
+ var targetFramework = fileXml.Descendants("TargetFramework").FirstOrDefault()?.Value;
+ if (targetFramework is not null)
+ {
+ targetFrameworks = new[] { targetFramework };
+ }
+ }
+ if (targetFrameworks is null)
+ {
+ throw new InvalidOperationException("No target frameworks were found in the test project");
+ }
- foreach (var fw in project.GetTargetFrameworks())
+ foreach (var fw in targetFrameworks)
{
if (fw.StartsWith("net4")
&& RuntimeInformation.IsOSPlatform(OSPlatform.Linux)
diff --git a/nukebuild/_build.csproj b/nukebuild/_build.csproj
index 865d935ad7..92d9732e91 100644
--- a/nukebuild/_build.csproj
+++ b/nukebuild/_build.csproj
@@ -16,8 +16,8 @@
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/src/Avalonia.Controls.ColorPicker/ColorPalettes/MaterialColorPalette.cs b/src/Avalonia.Controls.ColorPicker/ColorPalettes/MaterialColorPalette.cs
index 8fa7ede77e..d009926bc5 100644
--- a/src/Avalonia.Controls.ColorPicker/ColorPalettes/MaterialColorPalette.cs
+++ b/src/Avalonia.Controls.ColorPicker/ColorPalettes/MaterialColorPalette.cs
@@ -42,6 +42,11 @@ namespace Avalonia.Controls
Red800 = 0xFFC62828,
Red900 = 0xFFB71C1C,
+ RedA100 = 0xFFFF8A80,
+ RedA200 = 0xFFFF5252,
+ RedA400 = 0xFFFF1744,
+ RedA700 = 0xFFD50000,
+
// Pink
Pink50 = 0xFFFCE4EC,
Pink100 = 0xFFF8BBD0,
@@ -54,6 +59,11 @@ namespace Avalonia.Controls
Pink800 = 0xFFAD1457,
Pink900 = 0xFF880E4F,
+ PinkA100 = 0xFFFF80AB,
+ PinkA200 = 0xFFFF4081,
+ PinkA400 = 0xFFF50057,
+ PinkA700 = 0xFFC51162,
+
// Purple
Purple50 = 0xFFF3E5F5,
Purple100 = 0xFFE1BEE7,
@@ -66,6 +76,11 @@ namespace Avalonia.Controls
Purple800 = 0xFF6A1B9A,
Purple900 = 0xFF4A148C,
+ PurpleA100 = 0xFFEA80FC,
+ PurpleA200 = 0xFFE040FB,
+ PurpleA400 = 0xFFD500F9,
+ PurpleA700 = 0xFFAA00FF,
+
// Deep Purple
DeepPurple50 = 0xFFEDE7F6,
DeepPurple100 = 0xFFD1C4E9,
@@ -78,6 +93,11 @@ namespace Avalonia.Controls
DeepPurple800 = 0xFF4527A0,
DeepPurple900 = 0xFF311B92,
+ DeepPurpleA100 = 0xFFB388FF,
+ DeepPurpleA200 = 0xFF7C4DFF,
+ DeepPurpleA400 = 0xFF651FFF,
+ DeepPurpleA700 = 0xFF6200EA,
+
// Indigo
Indigo50 = 0xFFE8EAF6,
Indigo100 = 0xFFC5CAE9,
@@ -90,6 +110,11 @@ namespace Avalonia.Controls
Indigo800 = 0xFF283593,
Indigo900 = 0xFF1A237E,
+ IndigoA100 = 0xFF8C9EFF,
+ IndigoA200 = 0xFF536DFE,
+ IndigoA400 = 0xFF3D5AFE,
+ IndigoA700 = 0xFF304FFE,
+
// Blue
Blue50 = 0xFFE3F2FD,
Blue100 = 0xFFBBDEFB,
@@ -102,6 +127,11 @@ namespace Avalonia.Controls
Blue800 = 0xFF1565C0,
Blue900 = 0xFF0D47A1,
+ BlueA100 = 0xFF82B1FF,
+ BlueA200 = 0xFF448AFF,
+ BlueA400 = 0xFF2979FF,
+ BlueA700 = 0xFF2962FF,
+
// Light Blue
LightBlue50 = 0xFFE1F5FE,
LightBlue100 = 0xFFB3E5FC,
@@ -114,6 +144,11 @@ namespace Avalonia.Controls
LightBlue800 = 0xFF0277BD,
LightBlue900 = 0xFF01579B,
+ LightBlueA100 = 0xFF80D8FF,
+ LightBlueA200 = 0xFF40C4FF,
+ LightBlueA400 = 0xFF00B0FF,
+ LightBlueA700 = 0xFF0091EA,
+
// Cyan
Cyan50 = 0xFFE0F7FA,
Cyan100 = 0xFFB2EBF2,
@@ -126,6 +161,11 @@ namespace Avalonia.Controls
Cyan800 = 0xFF00838F,
Cyan900 = 0xFF006064,
+ CyanA100 = 0xFF84FFFF,
+ CyanA200 = 0xFF18FFFF,
+ CyanA400 = 0xFF00E5FF,
+ CyanA700 = 0xFF00B8D4,
+
// Teal
Teal50 = 0xFFE0F2F1,
Teal100 = 0xFFB2DFDB,
@@ -138,6 +178,11 @@ namespace Avalonia.Controls
Teal800 = 0xFF00695C,
Teal900 = 0xFF004D40,
+ TealA100 = 0xFFA7FFEB,
+ TealA200 = 0xFF64FFDA,
+ TealA400 = 0xFF1DE9B6,
+ TealA700 = 0xFF00BFA5,
+
// Green
Green50 = 0xFFE8F5E9,
Green100 = 0xFFC8E6C9,
@@ -150,6 +195,11 @@ namespace Avalonia.Controls
Green800 = 0xFF2E7D32,
Green900 = 0xFF1B5E20,
+ GreenA100 = 0xFFB9F6CA,
+ GreenA200 = 0xFF69F0AE,
+ GreenA400 = 0xFF00E676,
+ GreenA700 = 0xFF00C853,
+
// Light Green
LightGreen50 = 0xFFF1F8E9,
LightGreen100 = 0xFFDCEDC8,
@@ -162,6 +212,11 @@ namespace Avalonia.Controls
LightGreen800 = 0xFF558B2F,
LightGreen900 = 0xFF33691E,
+ LightGreenA100 = 0xFFCCFF90,
+ LightGreenA200 = 0xFFB2FF59,
+ LightGreenA400 = 0xFF76FF03,
+ LightGreenA700 = 0xFF64DD17,
+
// Lime
Lime50 = 0xFFF9FBE7,
Lime100 = 0xFFF0F4C3,
@@ -174,6 +229,11 @@ namespace Avalonia.Controls
Lime800 = 0xFF9E9D24,
Lime900 = 0xFF827717,
+ LimeA100 = 0xFFF4FF81,
+ LimeA200 = 0xFFEEFF41,
+ LimeA400 = 0xFFC6FF00,
+ LimeA700 = 0xFFAEEA00,
+
// Yellow
Yellow50 = 0xFFFFFDE7,
Yellow100 = 0xFFFFF9C4,
@@ -186,6 +246,11 @@ namespace Avalonia.Controls
Yellow800 = 0xFFF9A825,
Yellow900 = 0xFFF57F17,
+ YellowA100 = 0xFFFFFF8D,
+ YellowA200 = 0xFFFFFF00,
+ YellowA400 = 0xFFFFEA00,
+ YellowA700 = 0xFFFFD600,
+
// Amber
Amber50 = 0xFFFFF8E1,
Amber100 = 0xFFFFECB3,
@@ -198,6 +263,11 @@ namespace Avalonia.Controls
Amber800 = 0xFFFF8F00,
Amber900 = 0xFFFF6F00,
+ AmberA100 = 0xFFFFE57F,
+ AmberA200 = 0xFFFFD740,
+ AmberA400 = 0xFFFFC400,
+ AmberA700 = 0xFFFFAB00,
+
// Orange
Orange50 = 0xFFFFF3E0,
Orange100 = 0xFFFFE0B2,
@@ -210,6 +280,11 @@ namespace Avalonia.Controls
Orange800 = 0xFFEF6C00,
Orange900 = 0xFFE65100,
+ OrangeA100 = 0xFFFFD180,
+ OrangeA200 = 0xFFFFAB40,
+ OrangeA400 = 0xFFFF9100,
+ OrangeA700 = 0xFFFF6D00,
+
// Deep Orange
DeepOrange50 = 0xFFFBE9E7,
DeepOrange100 = 0xFFFFCCBC,
@@ -222,6 +297,11 @@ namespace Avalonia.Controls
DeepOrange800 = 0xFFD84315,
DeepOrange900 = 0xFFBF360C,
+ DeepOrangeA100 = 0xFFFF9E80,
+ DeepOrangeA200 = 0xFFFF6E40,
+ DeepOrangeA400 = 0xFFFF3D00,
+ DeepOrangeA700 = 0xFFDD2C00,
+
// Brown
Brown50 = 0xFFEFEBE9,
Brown100 = 0xFFD7CCC8,
@@ -257,6 +337,9 @@ namespace Avalonia.Controls
BlueGray700 = 0xFF455A64,
BlueGray800 = 0xFF37474F,
BlueGray900 = 0xFF263238,
+
+ Black = 0xFF000000,
+ White = 0xFFFFFFFF,
}
// See: https://material.io/design/color/the-color-system.html#tools-for-picking-colors