Upgrading Avalonia 0.10 to 11
Breaking0.10.22 → 11.3.22Breaking10Security5Platform2Deprecated4New294Changed222Fixed906Other154
BreakingUpgrade verdict
10 breaking changes and 2 platform requirement changes and 5 security fixes.
In plain terms
- The old CF_TEXT clipboard format is no longer used on Windows.
- The separate Avalonia.ReactiveUI package is gone, so projects using it must change.
- Removes DataGrid from the main repository.
- Removes Console support in DevTools.
Must act Top 5 of 21 that need code or config changes
Avalonia publishes an official migration guide for version 11. It covers more than the release notes do.
Migration guide ↗Target frameworks requirement changed in 11.1.0-beta1: .NETCoreApp2.0, .NETFramework4.6.1, .NETStandard2.0 → .NETStandard2.0, net6.0, net8.0.
What you must change
Breaking10
Removes obsolete clipboard format CF_TEXT on Windows.
CF_TEXTRemoves the Avalonia.ReactiveUI package.
Avalonia.ReactiveUIRemoves DataGrid from the main repository.
DataGridRemoves Console support in DevTools.
DevToolsRenames Win32SpecificOptions to Win32Properties.
Win32SpecificOptionsWin32PropertiesRenames ImportCompeted into ImportCompleted.
ImportCompetedImportCompletedMoves ItemsRepeater to a dedicated repository.
ItemsRepeaterSeals several
Avalonia.Base classes whose constructors are not public and which have no inheritors.Avalonia.BaseLists breaking changes in rc2 via a filtered pull request query, described as hopefully the last ones.
Makes NamespaceInfo internal.
NamespaceInfoSecurity5
Bumps SharpCompress from 0.24.0 to 0.48.0 in the VNC component.
SharpCompressBumps Tmds.DBus.Protocol to 0.21.3 on Linux.
Tmds.DBus.ProtocolFixes SixLabors ImageSharp out-of-bounds write vulnerability CVE-2024-41131.
SixLabors.ImageSharpFixes a security issue in the previewer.
Updates SkiaSharp to 2.88.6 to fix a critical security vulnerability.
SkiaSharpPlatform2
iOS and Android backends now require .NET 8 or newer.
Browser backend now requires .NET 8 or newer and has a changed project structure.
Deprecations to plan for
Deprecated4
Obsoletes CompiledBindingPathBuilder.SetRawSource.
CompiledBindingPathBuilder.SetRawSourceMarks unstable math utilities as unstable.
RadialGradientBrush adds separate RadiusX and RadiusY properties; the old Radius property is obsolete.
RadialGradientBrushRadiusXRadiusYRadiusMarks CubicBezierEasing as obsolete.
CubicBezierEasing