NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #1853 most downloaded on NuGet
Avalonia is a cross-platform UI framework for .NET providing a flexible styling system and supporting a wide range of Operating Systems such as Windows, Linux, macOS and with experimental support for Android, iOS and WebAssembly.
Last release 2 days ago
09 Oct 2026
Ships fairly regularly
a new release about every 2 weeks
Rarely documented
notes for 14 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
127 years old
155 releases · first in 1900
Core – Make DiagnosticTextRenderer numbers monospace by @qwertychouskie in #21860
DiagnosticTextRenderer numbers monospace by @qwertychouskie in #21860TextBlock text layout when the control is detached by @ronnycohen in #22281MenuItem automation by @grokys in #22295GetDpiForMonitor availability by @Davide244 in #22299AppId in WaylandPlatformOptions and WaylandProperties by @Whiletru3 in #22209MaxLines by @appel1 in #22025StyleInstance into the same ValueStore by @DamirLisak in #22276StreamGeometry Clone and Open when a Transform is set (#22213)" by @MrJul in #22294StreamGeometry Clone and Open when a Transform is set by @Evan260 in #22303CompositingRenderer by @NathanDrake2406 in #22369RunIndex mapping in BidiReorderer by @niksedk in #22384PreciseArcTo by @robloo in #22402Arc calculation and update ArcSegment comments by @robloo in #22404ArgumentNullException in chrome hit test after window close by @AtakanUk in #22409SelectAll in TreeView by @Evan260 in #22172TextBox selection notifications during text replacement by @adirh3 in #22343Polygon/Polyline geometry when the points collection changes by @Gobidev in #22346CalendarDatePicker drop-down open when focus returns to it by @Evan260 in #22354IsSelected from items declared in XAML by @Evan260 in #22363Popup with pointer placement mode when its size changes by @emmauss in #22366Button and MenuItem leak when a style sets Command by @NathanDrake2406 in #22367NativeMenuItem enabled state when CommandParameter changes by @NathanDrake2406 in #22368CalendarDatePicker by @NathanDrake2406 in #22370TextBlock embedded controls during a render pass by @Gillibald in #22394HorizontalAlignment in ColorPicker by @robloo in #22401RenderTargetSceneInfo on the render thread by @kekekeks in #22114Full Changelog: 12.1.3...12.1.4
One column per quarter.
Core – Handle DataValidationError notifications returned by ConvertBack by @Evan260 in #22171
DataValidationError notifications returned by ConvertBack by @Evan260 in #22171TopLevel.OpenedPopups by @maxkatz6 in #22074TableViewColumn.IsVisible property by @OleRoss in #22162MouseDevice.Primary for consistency with desktop platforms in #22008AssemblyDescriptorResolver.GetAssembly to not throw CultureNotFoundException by @AhtenYa in #22137SplineEasing constructor overwriting Y1 instead of setting Y2 by @Shirasagi0012 in #22169StreamGeometry Clone and Open when a Transform is set by @Evan260 in #22213TrayIcon attachment lifecycle by @Linlccc in #22118TextBlock text runs only when the content changes by @Gillibald in #22149DateTimePickerPanel ItemHeight updates by @zrt2399 in #22158ListBox ghost items by @timunie in #22165CalendarDatePicker.Focus() not focusing the text box by @Evan260 in #22170SelectableTextBlock by @Evan260 in #22212GenerateAvaloniaResources before _InjectAvaloniaAdditionalFiles by @Evan260 in #22175BeginMoveDrag before posting the drag by @Evan260 in #22228WindowTransparencyLevel is set to AcrylicBlur by @Linlccc in #22144LeaveWindow not raised with software rendering by @MrJul in #22120UnmapNotify when hiding a window by @liu-xindi in #22135SmcCloseConnection by @hartmark in #22190O_NONBLOCK on Pipe2Stream unconditionally by @MrJul in #22248PointerEvent JSObject on pointer move by @appel1 in #22112Full Changelog: 12.1.2...12.1.3
Core – Preserve current Animation progress if SpeedRatio or PlaybackDirection changes by @timiimit-tam in #19830
Animation progress if SpeedRatio or PlaybackDirection changes by @timiimit-tam in #19830TextInputOptions.HintLocales by @kerams in #21528VerticalContentAlignment for DatePicker and TimePicker by @JoaoMSSCruz in #21464:empty pseudoclass for ContentControl by @zrt2399 in #21829Popup.IsHitTestVisible to IPopupImpl to skip hit-testing popups on the OS level if available by @kekekeks in #21916Content attribute to ContentPresenter by @zrt2399 in #21997.app-packages as a folder by @jakobhellermann in #21925TextInputOptions.IsSensitive and ContentType Pin by @dariostrm in #22110GeometryBuilder.DrawRoundedCornersRectangle for Rect by @robloo in #21482ServerCompositionDrawingSurface orphaning GPU snapshots when an update is processed after Dispose by @ddunham121 in #21876Loaded event processing after a handler throws by @NathanDrake2406 in #21877AccessKeyHandler when no descendant control has focus by @AutumnYuanc in #21920ActualThemeVariant always has a proper value by @MrJul in #21930SetupWithClassicDesktopLifetime by @MrJul in #21954TopLevel.Closed from managed Dispose paths by @kekekeks in #22045PlatformCapture by @kekekeks in #22076OneWayToSource bindings by @grokys in #22103SelectableTextBlock selection for centered and right-aligned text by @zrt2399 in #21369ScrollBar's ScrollToHome and ScrollToEnd by @zrt2399 in #21748VirtualizingStackPanel by @NathanDrake2406 in #21835LogicalParent of the TableViewColumn by @OleRoss in #21840Viewbox when the template changes by @NathanDrake2406 in #21879SelectableTextBlock selection when text content changes by @zrt2399 in #21894TreeViewItem.BringIntoView by @MrJul in #21918ItemTemplate for ComboBox's selection box for controls by @MrJul in #21937WrapPanel layout jitter with LineSpacing by @zrt2399 in #21942VirtualizingStackPanel offset when scrolling to variable-sized items by @zrt2399 in #21975TabbedPage.xaml color resources by @smaicas in #21994ScrollContentPresenter.BringDescendantIntoView calls by @MrJul in #22001CalendarDatePicker in some cases by @timunie in #22012VirtualizingStackPanel ScrollToEnd with variable-sized items by @zrt2399 in #22014TextBlock ellipsis not showing with TextWrapping and MaxLines by @puk06 in #22017RefreshContainer refresh indicator when refresh is triggered programmatically by @emmauss in #22020DatePicker and TimePicker separator alignment with VerticalContentAlignment by @zrt2399 in #22023DrawingImage source invalidates by @emmauss in #22028ContextMenu by @Linlccc in #22037TextBox/SelectableTextBlock by @MrJul in #22052HotKeyManager from triggering on hidden controls" by @grokys in #22071VirtualizingStackPanel not rendering by @MrJul in #22081SelectionChanged by @grokys in #22102WM_POINTERDEVICEINRANGE/WM_POINTERDEVICEOUTOFRANGE handling by @kekekeks in #22046TrayIcon appearing after icon updates by @Linlccc in #22125NSTextInputClient range handling and null dereference issues by @Gillibald in #21885keyDown event handling for input methods by @Gillibald in #21906NSTrackingInVisibleRect for mouse movement tracking by @drasticactions in #21996AVALONIA_SCREEN_SCALE_FACTORS handling by @lindexi in #22129xdg-open by @ReinaS-64892 in #21936TextBox caret staying on previous line after autocorrect + Enter by @Zeljko-Predjeskovic in #21900TryGetFileFromPathAsync/TryGetFolderFromPathAsync returning null for content:// URI by @lfeng1420 in #21986InteropAutomationPeer during accessibility traversal by @ronnycohen in #22123BrowserDispatcherImpl never setting _signaled flag by @appel1 in #22093Full Changelog: 12.1.1...12.1.2
Controls – Add ToolTip.ShouldUseOverlayLayer attached property by @rabbitism in #21830
ToolTip.ShouldUseOverlayLayer attached property by @rabbitism in #21830UseWaylandWithFallback by @kekekeks in #21734AutomationId as resource-id for Android automation by @stevemonaco in #21780Dispatcher.ReplaceImplementation by @kekekeks in #21735UpdateTarget by @NathanDrake2406 in #21756_usedCache value that wasn't reset properly in compositor by @kekekeks in #21823CompositionInterop.IsLost by @kekekeks in #21824TreeViewItem selection behaviour on pointer release by @TomEdwardsEnscape in #21705SelectingItemsControls when items or control changes visibility by @timunie in #20798HotKeyManager from triggering on hidden controls (#21708) by @1419323749 in #21714SplitView stealing BackRequested when its pane is closed (#21740) by @gentledepp in #21741CommandBar secondary visibility during overflow open by @NathanDrake2406 in #21742AutoCompleteBox popup not closing on focus lost by @MrJul in #21749NavigationPage's logical tree until animation is complete by @MrJul in #21751SimpleTheme focus adorner contrast in dark mode by @iamvalenciia in #21753ComboBox dropdown not scrolling to selected item when opened by @zrt2399 in #21764Grid shared size groups to shrink by @NathanDrake2406 in #21837ListBox crash when scrolling after item removal by @NathanDrake2406 in #21838TextBox undo history on external text updates by @NathanDrake2406 in #21839Grid assigned definition collections with their shared size group by @NathanDrake2406 in #21848TextBox command states in constructor by @zrt2399 in #21859TabNavigation=Once by @maggch97 in #21864Padding correctly in ScrollContentPresenter by @MrJul in #21872{Binding ^} pattern for IObservable DataContext by @rabbitism in #21812DBusPlatformSettings NullReferenceException by @pos777 in #21831WaylandEglWsiSurface render target by @MrJul in #21857TextBox IME offsets by @AlexSCcon in #21680UIScene by @drasticactions in #21844Full Changelog: 12.1.0...12.1.1
Read our release blog post for more information about new features in Avalonia 12.1.0!
Read our release blog post for more information about new features in Avalonia 12.1.0!
ThemeVariant to Default to reset theme to system on android by @emmauss in #16340Dispatcher to be converted to a TaskScheduler by @TomEdwardsEnscape in #21032DispatcherTimer.Interval by @TomEdwardsEnscape in #21113eglGetProcAddress instead of NativeLibrary.TryGetExport by @kekekeks in #21392IStorageProvider.OpenFileWithResultAsync by @MrJul in #21418Bitmap.Save with a format by @MrJul in #21455SKBitmap.Copy when creating ImmutableBitmap from pixels by @kekekeks in #21675RefreshContainer by @gentledepp in #18617Scrollbar Context Menu by @drasticactions in #19413CalendarDatePicker date parsing to allow for multiple user input formats by @Deadpikle in #21193TableView by @MrJul in #21511Avalonia.WinUI for initial WinUI embed support by @drasticactions in #21430Win32Properties.WindowCornerPreference by @MrJul in #21615GraphicsAdapterSelectionCallback see unfiltered adapters and warn on Adreno WARP fallback by @nickna in #21695Tmds.DBus.Protocol by @tmds in #21472DBusSystemDialog by @kekekeks in #21379AutomaticRawEventGrouperDispatchQueue by @kekekeks in #21386TryGet api by @emmauss in #21641AvaloniaObject by @grokys in #21452RequestedThemeVariant default value by @MrJul in #21624InterWordJustification fixes by @Gillibald in #21701BclLauncher.Exec throwing instead of returning false by @Misaka-L in #21704FocusManager.CanHaveFocusableChildren by @freddiesmartbox in #21640SelectableTextBlock selection offset with InlineUIContainer by @JoshuaRowePhantom in #21646PART_OnContentPresenter name typo in ToggleSwitch by @zrt2399 in #21728AdditionalFiles by @maxkatz6 in #21729TopMost handling for Popups by @StefanKoell in #17841ComVariant (fixes NumericUpDown crash under UIA) by @valentino-saitz-optris in #21634ExpandCollapseState member order with UIA by @jmacato in #21693DBusTextInputMethodBase by @deryaza in #21527_NET_WORKAREA on WM PropertyNotify by @lambgoesbaa in #21651verityPermissions -> verifyPermissions by @Frederisk in #21281Core – Implement Unicode word segmentation and update to Unicode v17 by @JimBobSquarePants in #21361
Calendar day button selection state to automation by @jmacato in #21540ComboBox automation peer by @jmacato in #21545GetPointerDeviceRects is unavailable by @Symbai in #21337BringIntoView/AXScrollArea role by @jmacato in #21457ScrollViewer scroll bars to accessibility by @jmacato in #21596TextCollapsingProperties bidirectional-text (BiDi) correctness by @Gillibald in #21446NotificationCard pseudo class state when NotificationType changes by @zrt2399 in #21490StackOverflow when a NaN offset is set on ScrollViewer by @NicholasLachapelle in #21558TextBox keyboard handlers by @zrt2399 in #21587TimePicker selection style by @shine1258 in #21626ExecutionContext captured by DispatcherOperation by @kekekeks in #21627WinUiCompositorConnection deadlock by @MrJul in #21591ListItem accessibility peer to AXRow by @jmacato in #21537AXLayoutChanged notifications dropped for template-internal peers by @jmacato in #21595replacementRange in AvnView by @MrJul in #21608BorderOnly window resizing by @ruddypp in #21579ClipboardUriListHelper not flushing by @MrJul in #21589SelectChild should add to the selection instead of replacing it by @jmacato in #21602AndroidStorage.TryGetFile/FolderFromPathAsync returning null or throwing by @MrJul in #21628effectAllowed=uninitialized by @Der-Floh in #21486Full Changelog: 12.0.4...12.0.5
Core – Bump ANGLE version + sign native binaries by @maxkatz6 in #21219
Avalonia.Controls project by @rabbitism in #21283TextRunCache by @Gillibald in #21030CommandBar overflow labels when label position is collapsed by @jsuarezruiz in #21226RenderTargetBitmap losing effects by @timunie in #20790SelectionChanged not raised on collection reset by @NathanDrake2406 in #20942PointerEventArgs by @TomEdwardsEnscape in #21301NumericUpDown update immediately when changing the TextConverter by @cdytoby in #21320WindowDrawnDecorations background to transparent by @ent3m in #21354MenuItem grouping in MenuFlyout by @zrt2399 in #21356GetMinMax request by @emmauss in #21420WinFormsAvaloniaControlHost by @AndreyPolovodov in #21422DeviceLuid byte ordering on GPU interop by @dirivero in #21293UnregisterWindowAsync by @holdxen in #21344PointToScreen for Android TalkBack by @IsaMorphic in #21402UISceneConnectionOptions on cold launch by @koblavi in #21394TestContext on background thread by @mikegoatly in #21357Full Changelog: 12.0.3...12.0.4
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
X11 – Add workarounds for NVIDIA EGL drivers by @kekekeks in #21590
SmcCloseConnection by @hartmark in #22190Full Changelog: 11.3.21...11.3.22
Core – Fix init order of SetupWithClassicDesktopLifetime by @MrJul in #21954
SetupWithClassicDesktopLifetime by @MrJul in #21954keyDown event handling for input methods by @Gillibald in #21906LeaveWindow not raised with software rendering by @MrJul in #22120Full Changelog: 11.3.20...11.3.21
macOS – Fix NSTextInputClient range handling and null dereference issues by @Gillibald in #21885
NSTextInputClient range handling and null dereference issues by @Gillibald in #21885Full Changelog: 11.3.19...11.3.20
Core – Propagate Popup.IsHitTestVisible to IPopupImpl to skip hit-testing popups on the OS level if available by @kekekeks in #21916
Popup.IsHitTestVisible to IPopupImpl to skip hit-testing popups on the OS level if available by @kekekeks in #21916AdditionalFiles by @maxkatz6 in #21729Full Changelog: 11.3.18...11.3.19
XAML – Enhance Roslyn-compiler visible metadata by @maxkatz6 in #21546
NaN offset is set on ScrollViewer by @NicholasLachapelle in #21558replacementRange in AvnView by @MrJul in #21608Full Changelog: 11.3.17...11.3.18
XAML – Improve type caching in the XAML compiler by @MrJul in #21408
Core – Align Touch/Pen capture semantics with Mouse by @miloush in #21363
Full Changelog: 11.3.15...11.3.16
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →