Skip to content

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.

  • 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.
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.

Breaking10
Removes obsolete clipboard format CF_TEXT on Windows.
CF_TEXT
Removes the Avalonia.ReactiveUI package.
Avalonia.ReactiveUI
Removes DataGrid from the main repository.
DataGrid
Removes Console support in DevTools.
DevTools
Renames Win32SpecificOptions to Win32Properties.
Win32SpecificOptionsWin32Properties
Renames ImportCompeted into ImportCompleted.
ImportCompetedImportCompleted
Moves ItemsRepeater to a dedicated repository.
ItemsRepeater
Seals several Avalonia.Base classes whose constructors are not public and which have no inheritors.
Avalonia.Base
Lists breaking changes in rc2 via a filtered pull request query, described as hopefully the last ones.
Makes NamespaceInfo internal.
NamespaceInfo
Security5
Bumps SharpCompress from 0.24.0 to 0.48.0 in the VNC component.
SharpCompress
Bumps Tmds.DBus.Protocol to 0.21.3 on Linux.
Tmds.DBus.Protocol
Fixes SixLabors ImageSharp out-of-bounds write vulnerability CVE-2024-41131.
SixLabors.ImageSharp
Fixes a security issue in the previewer.
Updates SkiaSharp to 2.88.6 to fix a critical security vulnerability.
SkiaSharp
Platform2
iOS and Android backends now require .NET 8 or newer.
Browser backend now requires .NET 8 or newer and has a changed project structure.
Deprecated4
Obsoletes CompiledBindingPathBuilder.SetRawSource.
CompiledBindingPathBuilder.SetRawSource
Marks unstable math utilities as unstable.
RadialGradientBrush adds separate RadiusX and RadiusY properties; the old Radius property is obsolete.
RadialGradientBrushRadiusXRadiusYRadius
Marks CubicBezierEasing as obsolete.
CubicBezierEasing