Feb 18, 2026

Avalonia 12.0 Preview 1

Avalonia 12.0 Preview 1

Julien Lebosquain

Julien Lebosquain

After months of hard work, deep discussions, and more than a few late nights, we're thrilled to announce the first preview of Avalonia 12, a significant milestone on our path to the most capable version of Avalonia we've ever shipped, and one we want you involved in from the very start.

Before you get too excited and immediately port your production app, let’s be clear about what this preview actually is.

This is not a feature-complete release. It’s the first in a series of staged previews, released so we can gather meaningful feedback before we lock things down for stable. Think of it less as a finishing line and more as the starting pistol. There’s plenty more to come in the weeks ahead, with additional new features landing on a rolling basis as we ramp up towards a stable release.

Why release now rather than wait? Because some of our largest enterprise users are already running nightly builds in production to get their hands on Android performance improvements, and if that's happening anyway, getting a preview into the wider community's hands at the same time is sensible.

What’s Actually in Preview 1?

The two themes for Avalonia 12 are Performance and Stability. With Avalonia 11, we released something incredibly ambitious, adding multiple new platforms, a completely new compositional renderer, and a long-overdue API clean-up that, by necessity, introduced significant breaking changes. Avalonia 12 has different ambitions. The goal is a rock-solid foundation that the ecosystem can confidently build on for years to come, with stability and minimal disruption taking precedence over headline-grabbing features.

Platform + Performance 

On the platform side, Android has seen significant investment: a new Looper- and MessageQueue-based dispatcher implementation improves scheduling reliability, GPU/CPU underutilisation at high refresh rates has been addressed, and several surface management and safe-area padding issues have been fixed. On top of that, spawning multiple activities with Avalonia content is now supported. iOS now has a proper scene delegate implementation, and Avalonia.iOS now supports Mac Catalyst. On all platforms, the composition engine now performs better with large visual trees.

Typography

The text and typography story has been strengthened considerably. A new TextOptions API gives you finer-grained control over text rendering behaviour; LetterSpacing has been promoted to an inherited attached property on TextElement, making it far more ergonomic to use; and the universal GlyphTypeface implementation improves font-handling consistency across backends. Font collection customisation has also been improved.

Controls

On the controls front, a brand-new GroupBox control has arrived, and we say this with complete sincerity: it is quite possibly the most technically sophisticated control we have ever built. We'll leave you to browse the source code and marvel at its complexity. Focus management has also received meaningful attention, with a new Focus Traversal API, the ability to cancel focus changes, and corrected touch and pen input focus-on-release behaviour.

With this preview,  the focus isn’t on controls, but I can share that we’re working to bring a few highly requested, genuinely complex controls to upcoming previews. We're looking forward to those announcements considerably more than we are to the GroupBox.

What else?

Compiled bindings are now enabled by default via Avalonia.props, which should be a welcome performance win for most projects with zero extra effort on your part. You can also now create compiled bindings directly from LINQ expressions via the new CompiledBinding.Create factory methods.

Linux users on X11 will benefit from INCR clipboard protocol support, meaning large clipboard transfers now work correctly. There’s also a fix for fcitx5 input method handling that resolves an issue affecting Chinese, Japanese, and Korean input on X11.

Our headless platform now supports the latest versions of xUnit (v3) and NUnit (v4).

Breaking Changes

On the breaking changes front, 12.0 targets SkiaSharp 3.0 and drops support for 2.88. Support for Tizen, Direct2D1, Avalonia.Browser.Blazor, and BinaryFormatter have all been removed. Lastly, a number of long-obsolete APIs have been cleaned up across Avalonia.Base and Avalonia.Controls. If you’ve been diligent about addressing deprecation warnings, your migration to Avalonia 12 should be painless.

Target Framework

The change worth explicitly calling out is the drop in support for netstandard2.0 and net4x. The new minimum target is .NET 8, which Microsoft supports until November 2026.

We know this won't be welcome news for those still targeting older target frameworks, but our telemetry data shows that these targets account for less than 4% of Avalonia projects combined, and that number has continued to fall since we announced the plan back in April 2025.  For those affected, migrating to .NET 8 is the path forward. On the positive side, we're committing to .NET 8 support for the full lifecycle of Avalonia 12. When Avalonia 13 arrives, we'll bump the minimum to whatever the current .NET LTS is at that time, and we'll be just as transparent about it then.

What Isn't Ready Yet

In the spirit of transparency, it's worth being equally clear about what's still in progress. Our documentation for 12.0 is not yet complete, and you may find gaps as you explore the new APIs. Avalonia Accelerate component compatibility is ongoing, and mileage may vary depending on which components you're relying on. Everything here will be resolved as we work towards stable, and we'll keep you updated along the way.

This Is Just the Beginning

Preview 1 is a snapshot of what's to come. The team has several additional new features in active development that will land in subsequent previews in the coming weeks. We’re being deliberate about this cadence precisely so that major additions get their own focused feedback window rather than arriving all at once in a release candidate.

We want to take a moment to thank everyone who has contributed to Avalonia 12. From bug reports and documentation improvements to smaller fixes that quietly make the experience better for everyone, the community's involvement matters more than it might seem. The big architectural work is carried out by our team, but they build it for you, and the feedback, encouragement, and real-world testing from this community are what make that work worth doing.

How to Help

Try it. Break it. Tell us about it. The best thing you can do right now is take 12.0.0-preview1 for a spin and file issues for anything that doesn't behave as you'd expect. Every piece of feedback directly influences what we prioritise before stability. And for those wondering whether the preview is production-ready: we're confident in this release. So confident, in fact, that customers on our Enhanced Support plan will receive full support for Avalonia 12 previews as though they were stable releases. If you need to move fast, you don't have to wait.

You can grab the preview today from NuGet and follow progress on GitHub. There's a lot more to come, and we'll see you in the next one.

After months of hard work, deep discussions, and more than a few late nights, we're thrilled to announce the first preview of Avalonia 12, a significant milestone on our path to the most capable version of Avalonia we've ever shipped, and one we want you involved in from the very start.

Before you get too excited and immediately port your production app, let’s be clear about what this preview actually is.

This is not a feature-complete release. It’s the first in a series of staged previews, released so we can gather meaningful feedback before we lock things down for stable. Think of it less as a finishing line and more as the starting pistol. There’s plenty more to come in the weeks ahead, with additional new features landing on a rolling basis as we ramp up towards a stable release.

Why release now rather than wait? Because some of our largest enterprise users are already running nightly builds in production to get their hands on Android performance improvements, and if that's happening anyway, getting a preview into the wider community's hands at the same time is sensible.

What’s Actually in Preview 1?

The two themes for Avalonia 12 are Performance and Stability. With Avalonia 11, we released something incredibly ambitious, adding multiple new platforms, a completely new compositional renderer, and a long-overdue API clean-up that, by necessity, introduced significant breaking changes. Avalonia 12 has different ambitions. The goal is a rock-solid foundation that the ecosystem can confidently build on for years to come, with stability and minimal disruption taking precedence over headline-grabbing features.

Platform + Performance 

On the platform side, Android has seen significant investment: a new Looper- and MessageQueue-based dispatcher implementation improves scheduling reliability, GPU/CPU underutilisation at high refresh rates has been addressed, and several surface management and safe-area padding issues have been fixed. On top of that, spawning multiple activities with Avalonia content is now supported. iOS now has a proper scene delegate implementation, and Avalonia.iOS now supports Mac Catalyst. On all platforms, the composition engine now performs better with large visual trees.

Typography

The text and typography story has been strengthened considerably. A new TextOptions API gives you finer-grained control over text rendering behaviour; LetterSpacing has been promoted to an inherited attached property on TextElement, making it far more ergonomic to use; and the universal GlyphTypeface implementation improves font-handling consistency across backends. Font collection customisation has also been improved.

Controls

On the controls front, a brand-new GroupBox control has arrived, and we say this with complete sincerity: it is quite possibly the most technically sophisticated control we have ever built. We'll leave you to browse the source code and marvel at its complexity. Focus management has also received meaningful attention, with a new Focus Traversal API, the ability to cancel focus changes, and corrected touch and pen input focus-on-release behaviour.

With this preview,  the focus isn’t on controls, but I can share that we’re working to bring a few highly requested, genuinely complex controls to upcoming previews. We're looking forward to those announcements considerably more than we are to the GroupBox.

What else?

Compiled bindings are now enabled by default via Avalonia.props, which should be a welcome performance win for most projects with zero extra effort on your part. You can also now create compiled bindings directly from LINQ expressions via the new CompiledBinding.Create factory methods.

Linux users on X11 will benefit from INCR clipboard protocol support, meaning large clipboard transfers now work correctly. There’s also a fix for fcitx5 input method handling that resolves an issue affecting Chinese, Japanese, and Korean input on X11.

Our headless platform now supports the latest versions of xUnit (v3) and NUnit (v4).

Breaking Changes

On the breaking changes front, 12.0 targets SkiaSharp 3.0 and drops support for 2.88. Support for Tizen, Direct2D1, Avalonia.Browser.Blazor, and BinaryFormatter have all been removed. Lastly, a number of long-obsolete APIs have been cleaned up across Avalonia.Base and Avalonia.Controls. If you’ve been diligent about addressing deprecation warnings, your migration to Avalonia 12 should be painless.

Target Framework

The change worth explicitly calling out is the drop in support for netstandard2.0 and net4x. The new minimum target is .NET 8, which Microsoft supports until November 2026.

We know this won't be welcome news for those still targeting older target frameworks, but our telemetry data shows that these targets account for less than 4% of Avalonia projects combined, and that number has continued to fall since we announced the plan back in April 2025.  For those affected, migrating to .NET 8 is the path forward. On the positive side, we're committing to .NET 8 support for the full lifecycle of Avalonia 12. When Avalonia 13 arrives, we'll bump the minimum to whatever the current .NET LTS is at that time, and we'll be just as transparent about it then.

What Isn't Ready Yet

In the spirit of transparency, it's worth being equally clear about what's still in progress. Our documentation for 12.0 is not yet complete, and you may find gaps as you explore the new APIs. Avalonia Accelerate component compatibility is ongoing, and mileage may vary depending on which components you're relying on. Everything here will be resolved as we work towards stable, and we'll keep you updated along the way.

This Is Just the Beginning

Preview 1 is a snapshot of what's to come. The team has several additional new features in active development that will land in subsequent previews in the coming weeks. We’re being deliberate about this cadence precisely so that major additions get their own focused feedback window rather than arriving all at once in a release candidate.

We want to take a moment to thank everyone who has contributed to Avalonia 12. From bug reports and documentation improvements to smaller fixes that quietly make the experience better for everyone, the community's involvement matters more than it might seem. The big architectural work is carried out by our team, but they build it for you, and the feedback, encouragement, and real-world testing from this community are what make that work worth doing.

How to Help

Try it. Break it. Tell us about it. The best thing you can do right now is take 12.0.0-preview1 for a spin and file issues for anything that doesn't behave as you'd expect. Every piece of feedback directly influences what we prioritise before stability. And for those wondering whether the preview is production-ready: we're confident in this release. So confident, in fact, that customers on our Enhanced Support plan will receive full support for Avalonia 12 previews as though they were stable releases. If you need to move fast, you don't have to wait.

You can grab the preview today from NuGet and follow progress on GitHub. There's a lot more to come, and we'll see you in the next one.

After months of hard work, deep discussions, and more than a few late nights, we're thrilled to announce the first preview of Avalonia 12, a significant milestone on our path to the most capable version of Avalonia we've ever shipped, and one we want you involved in from the very start.

Before you get too excited and immediately port your production app, let’s be clear about what this preview actually is.

This is not a feature-complete release. It’s the first in a series of staged previews, released so we can gather meaningful feedback before we lock things down for stable. Think of it less as a finishing line and more as the starting pistol. There’s plenty more to come in the weeks ahead, with additional new features landing on a rolling basis as we ramp up towards a stable release.

Why release now rather than wait? Because some of our largest enterprise users are already running nightly builds in production to get their hands on Android performance improvements, and if that's happening anyway, getting a preview into the wider community's hands at the same time is sensible.

What’s Actually in Preview 1?

The two themes for Avalonia 12 are Performance and Stability. With Avalonia 11, we released something incredibly ambitious, adding multiple new platforms, a completely new compositional renderer, and a long-overdue API clean-up that, by necessity, introduced significant breaking changes. Avalonia 12 has different ambitions. The goal is a rock-solid foundation that the ecosystem can confidently build on for years to come, with stability and minimal disruption taking precedence over headline-grabbing features.

Platform + Performance 

On the platform side, Android has seen significant investment: a new Looper- and MessageQueue-based dispatcher implementation improves scheduling reliability, GPU/CPU underutilisation at high refresh rates has been addressed, and several surface management and safe-area padding issues have been fixed. On top of that, spawning multiple activities with Avalonia content is now supported. iOS now has a proper scene delegate implementation, and Avalonia.iOS now supports Mac Catalyst. On all platforms, the composition engine now performs better with large visual trees.

Typography

The text and typography story has been strengthened considerably. A new TextOptions API gives you finer-grained control over text rendering behaviour; LetterSpacing has been promoted to an inherited attached property on TextElement, making it far more ergonomic to use; and the universal GlyphTypeface implementation improves font-handling consistency across backends. Font collection customisation has also been improved.

Controls

On the controls front, a brand-new GroupBox control has arrived, and we say this with complete sincerity: it is quite possibly the most technically sophisticated control we have ever built. We'll leave you to browse the source code and marvel at its complexity. Focus management has also received meaningful attention, with a new Focus Traversal API, the ability to cancel focus changes, and corrected touch and pen input focus-on-release behaviour.

With this preview,  the focus isn’t on controls, but I can share that we’re working to bring a few highly requested, genuinely complex controls to upcoming previews. We're looking forward to those announcements considerably more than we are to the GroupBox.

What else?

Compiled bindings are now enabled by default via Avalonia.props, which should be a welcome performance win for most projects with zero extra effort on your part. You can also now create compiled bindings directly from LINQ expressions via the new CompiledBinding.Create factory methods.

Linux users on X11 will benefit from INCR clipboard protocol support, meaning large clipboard transfers now work correctly. There’s also a fix for fcitx5 input method handling that resolves an issue affecting Chinese, Japanese, and Korean input on X11.

Our headless platform now supports the latest versions of xUnit (v3) and NUnit (v4).

Breaking Changes

On the breaking changes front, 12.0 targets SkiaSharp 3.0 and drops support for 2.88. Support for Tizen, Direct2D1, Avalonia.Browser.Blazor, and BinaryFormatter have all been removed. Lastly, a number of long-obsolete APIs have been cleaned up across Avalonia.Base and Avalonia.Controls. If you’ve been diligent about addressing deprecation warnings, your migration to Avalonia 12 should be painless.

Target Framework

The change worth explicitly calling out is the drop in support for netstandard2.0 and net4x. The new minimum target is .NET 8, which Microsoft supports until November 2026.

We know this won't be welcome news for those still targeting older target frameworks, but our telemetry data shows that these targets account for less than 4% of Avalonia projects combined, and that number has continued to fall since we announced the plan back in April 2025.  For those affected, migrating to .NET 8 is the path forward. On the positive side, we're committing to .NET 8 support for the full lifecycle of Avalonia 12. When Avalonia 13 arrives, we'll bump the minimum to whatever the current .NET LTS is at that time, and we'll be just as transparent about it then.

What Isn't Ready Yet

In the spirit of transparency, it's worth being equally clear about what's still in progress. Our documentation for 12.0 is not yet complete, and you may find gaps as you explore the new APIs. Avalonia Accelerate component compatibility is ongoing, and mileage may vary depending on which components you're relying on. Everything here will be resolved as we work towards stable, and we'll keep you updated along the way.

This Is Just the Beginning

Preview 1 is a snapshot of what's to come. The team has several additional new features in active development that will land in subsequent previews in the coming weeks. We’re being deliberate about this cadence precisely so that major additions get their own focused feedback window rather than arriving all at once in a release candidate.

We want to take a moment to thank everyone who has contributed to Avalonia 12. From bug reports and documentation improvements to smaller fixes that quietly make the experience better for everyone, the community's involvement matters more than it might seem. The big architectural work is carried out by our team, but they build it for you, and the feedback, encouragement, and real-world testing from this community are what make that work worth doing.

How to Help

Try it. Break it. Tell us about it. The best thing you can do right now is take 12.0.0-preview1 for a spin and file issues for anything that doesn't behave as you'd expect. Every piece of feedback directly influences what we prioritise before stability. And for those wondering whether the preview is production-ready: we're confident in this release. So confident, in fact, that customers on our Enhanced Support plan will receive full support for Avalonia 12 previews as though they were stable releases. If you need to move fast, you don't have to wait.

You can grab the preview today from NuGet and follow progress on GitHub. There's a lot more to come, and we'll see you in the next one.

Continue Reading

The latest News articles