Skip to content

avalonia — releases

Latest 20 GitHub releases for AvaloniaUI/Avalonia. Auto-mirrored by playbooks/local/autodocgen.yml.

[!info] Pinned in BreeZ-CF: 11.x · upstream latest: 12.0.2.

12.0.2 · 12.0.2

2026-04-28 · by @MrJul

What's Changed

Enhancements

  • Core – Add Window.WindowDecorationsTheme property by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/21061
  • Core – Clarify that ElementRole is dependent on ExtendClientAreaToDecorationsHint by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/21243
  • Core – Implement GetTemplateDescendants by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/21245
  • Core – Update SkiaSharp to 3.119.4 Preview 1 @4Darmygeometry in https://github.com/AvaloniaUI/Avalonia/pull/21263
  • Headless – Throw ObjectDisposedException when PlatformImpl is null by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/21276

Fixes

  • Core – Fix OneWay binding fails to update target after local change by @martimclaudino in https://github.com/AvaloniaUI/Avalonia/pull/20964
  • Core – Fix safe area calc in drawer page by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/21050
  • Core – Reset expected commit callback timing after waiting for app exiting idle by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/21157
  • Core – Fix Button.IsPressed not becoming false when a Button without keyboard focus is disabled by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/21168
  • Core – Prefer window content over underlay in chrome hit testing by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/21177
  • Core – Add back Design.SetPreviewWith(AvaloniaObject, Control) overload by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/21184
  • Core – Do not update composition target when rendering is stopped by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/21192
  • Core – Fix safe area calcs for navigation page by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/21221
  • Core – Fix TabControl crash when rapidly switching tabs during transitions by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/21227
  • Core – Change CommandBar icon foreground inheritance by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/21251
  • Core – Fix FocusManager.SetFocusScope not doing anything by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/21261
  • Core – Suppress ExecutionContext flow for render scheduling by @Shirasagi0012 in https://github.com/AvaloniaUI/Avalonia/pull/21273
  • macOS – Fix Metal renderer memory leak by @nvborisenko in https://github.com/AvaloniaUI/Avalonia/pull/21099
  • Windows – Fix back requested by @mikegoatly in https://github.com/AvaloniaUI/Avalonia/pull/21207
  • Windows – Fix BorderOnly maximized position on secondary screens in more cases by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/21229
  • Android – Fix crash on surface destroyed by @kerams in https://github.com/AvaloniaUI/Avalonia/pull/21176
  • Android – Fix SelectedText boundary check and backward selection crash by @luthfiampas in https://github.com/AvaloniaUI/Avalonia/pull/21182
  • Android – Fix OnBackPressed being prevented for Android API 33 and above by @Mliybs in https://github.com/AvaloniaUI/Avalonia/pull/21239
  • Android – Make ToplevelImpl._view nullable by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/21270
  • Android/Browser/iOS – Standardize the behavior of CreateFile/CreateFolder across different OS by @Frederisk in https://github.com/AvaloniaUI/Avalonia/pull/20850
  • Headless – Fix headless cleanup race: dispose before signaling TCS by @Kryptos-FR in https://github.com/AvaloniaUI/Avalonia/pull/21223
  • Themes – Add HeaderTemplate to DrawerPage header by @zdpcdt in https://github.com/AvaloniaUI/Avalonia/pull/21275

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/12.0.1...12.0.2


12.0.1 · 12.0.1

2026-04-13 · by @MrJul

What's Changed

Security

  • Linux – Bump Tmds.DBus.Protocol to 0.92.0 by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/21122

Enhancements

  • macOS – Announce changes to live regions on macOS by @kirb in https://github.com/AvaloniaUI/Avalonia/pull/21045
  • Core – Implement DataFormat.CreateInProcessFormat<T> by @NathanDrake2406 in https://github.com/AvaloniaUI/Avalonia/pull/21076

Fixes

  • Core – Ensure glyph clusters are slice relative by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/21089
  • Core – Fix date picker spacer location by @rabbitism in https://github.com/AvaloniaUI/Avalonia/pull/21093
  • Core – Fix DataTransferItem returning wrong data for mismatched format by @NathanDrake2406 in https://github.com/AvaloniaUI/Avalonia/pull/21114
  • Core – Fix DatePickerPresenter focusing wrong selector for day-first locales by @NathanDrake2406 in https://github.com/AvaloniaUI/Avalonia/pull/21116
  • Core – Fix AutoCompleteBox out of sync with bound Text by @timunie in https://github.com/AvaloniaUI/Avalonia/pull/21121
  • Core – Fix subtree input hit test coordinates by @NathanDrake2406 in https://github.com/AvaloniaUI/Avalonia/pull/21125
  • Core – Prevent toggle controls from changing state when commands cannot execute by @NathanDrake2406 in https://github.com/AvaloniaUI/Avalonia/pull/21126
  • Core – Fix InvalidCastException in PageNavigationHost by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/21144
  • macOS – Fix file pickers native crash by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/21104
  • macOS – Fix StorageProvider null pointer bugs by @NathanDrake2406 in https://github.com/AvaloniaUI/Avalonia/pull/21115
  • Windows – fix None/BorderOnly maximized position on secondary screens by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/21136
  • Linux – Add IDispatcherImplWithExplicitBackgroundProcessing to EpollDispatcherImpl by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/21152

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/12.0.0...12.0.1


11.3.14 · 11.3.14

2026-04-13 · by @MrJul

What's Changed

Security

  • Linux – Bump Tmds.DBus.Protocol to 0.21.3 by @kekekeks

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/11.3.13...11.3.14


12.0.0 · 12.0.0

2026-04-07 · by @MrJul

General

Read our release blog post for more information about Avalonia 12!

Useful links: - Website - Documentation
- v12 breaking changes

What's Changed

Changes since 12.0.0-rc2

  • CompositionAnimation fixes by @zxbmmmmmmmmm in https://github.com/AvaloniaUI/Avalonia/pull/20936
  • AvnAccessibilityElement fixes by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/21062
  • Measure/Arrange TextPresenter with WidthIncludingTrailingWhitespace by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/21067
  • Fix/linux atspi backend by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/21072
  • Post NSAccessibility notifications for property changes on macOS by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/21074
  • Fix access keys not working when KeySymbol is null by @NathanDrake2406 in https://github.com/AvaloniaUI/Avalonia/pull/21077

Full Changelog since 12.0.0-rc2: https://github.com/AvaloniaUI/Avalonia/compare/12.0.0-rc2...12.0.0

Changes since 11.3.13

  • Design improvements by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/18300
  • Add ability to cancel focus change by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/18373
  • [X11] Added INCR support by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/18428
  • Don't round size in TextBlock when UseLayoutRounding is false by @appel1 in https://github.com/AvaloniaUI/Avalonia/pull/18456
  • Fix MeasureCore when there's a size constraint and there's a negative… by @appel1 in https://github.com/AvaloniaUI/Avalonia/pull/18462
  • Focus Traversal Api by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/18647
  • Make sure that tests inherit from ScopedTestBase by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/18690
  • Update bug_report.yml by @timunie in https://github.com/AvaloniaUI/Avalonia/pull/18711
  • Fix typo in PseudoClassesExtensions class name by @zdpcdt in https://github.com/AvaloniaUI/Avalonia/pull/18717
  • feat: add TreeViewItemIndentConverter for dynamic margin calculation by @zdpcdt in https://github.com/AvaloniaUI/Avalonia/pull/18718
  • Limit use of deprecated Android display API by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/18722
  • Move android app initialization to custom application class by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/18756
  • Add IAddChild to StyleBase to fix IDE errors when adding Style as children to ContainerQuery by @wieslawsoltes in https://github.com/AvaloniaUI/Avalonia/pull/18800
  • Added missing class event handler methods by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/18837
  • fix WrapPanel comments by @ingts in https://github.com/AvaloniaUI/Avalonia/pull/18862
  • Fixed core GotFocus and LostFocus handling being skippable by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/18868
  • Add IActivityApplicationLifetime for android by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/18893
  • Fixes accumulated glitches in GpuInterop demo by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/18900
  • Add DrawingImage.Viewbox by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/18913
  • Bump ImageSharp to 2.1.10 by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/18924
  • Update azure-pipelines.yml (#18876) by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/18940
  • fix: Prevent DXGI from intercepting Alt+Enter and PrintScreen by @M0n7y5 in https://github.com/AvaloniaUI/Avalonia/pull/18970
  • [Android] Do not underutilize CPU/GPU when can't keep up with refresh rate by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/18973
  • [ANDROID] Skip glWaitClient/glWaitGL/glWaitNative by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/18974
  • Implement IDispatcherImpl for Android based on Looper and MessageQueue by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/18975
  • [12.0] Target SkiaSharp 3.0. Drop 2.88 support by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/18981
  • Remove old linux hack by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/18989
  • Switch to using animation request for scroll inertia dispatch by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/18997
  • Cleanup InvalidationAwareSurfaceView related code by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/19045
  • Fix WindowCloseReason Passed During System Shutdown by @lindexi in https://github.com/AvaloniaUI/Avalonia/pull/19055
  • feat: expose Popup property in PopupFlyoutBase for external access. by @zdpcdt in https://github.com/AvaloniaUI/Avalonia/pull/19106
  • Make CharacterReader internal. by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/19123
  • Fix typo: ExternalGLibMainLoopExceptionLogger by @Dragorn421 in https://github.com/AvaloniaUI/Avalonia/pull/19128
  • Developer Documentation by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/19131
  • Remove PropertyPath. by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/19133
  • move to SDK 8.0.411 in global.json by @SimonCropp in https://github.com/AvaloniaUI/Avalonia/pull/19136
  • remove some redundant returns by @SimonCropp in https://github.com/AvaloniaUI/Avalonia/pull/19137
  • remove some duplicate dict lookups by @SimonCropp in https://github.com/AvaloniaUI/Avalonia/pull/19138
  • remove Settings.StyleCop from sln by @SimonCropp in https://github.com/AvaloniaUI/Avalonia/pull/19140
  • remove some un-used code by @SimonCropp in https://github.com/AvaloniaUI/Avalonia/pull/19146
  • Feat/19059 add automation for validation error by @longbuibao in https://github.com/AvaloniaUI/Avalonia/pull/19161
  • Capture ExecutionContext for Dispatcher.InvokeAsync by @walterlv in https://github.com/AvaloniaUI/Avalonia/pull/19163
  • Rename "Documentation" subfolder into "docs" by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/19189
  • Improved NuGet package creation docs. by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/19196
  • Unify selection event handling for all SelectingItemsControl types plus TreeView by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/19203
  • Fix: Unable to input numbers, symbols, and English letters in Avalonia on X11 with fcitx5 ForwardKey messages by @SeWZC in https://github.com/AvaloniaUI/Avalonia/pull/19207
  • Use hard links for build by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19209
  • Migrate AvaloniaNameSourceGenerator to IIncrementalGenerator by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/19216
  • Fix typo in XML documentation for ExtendClientAreaChromeHints enum by @Versette in https://github.com/AvaloniaUI/Avalonia/pull/19245
  • Typos fix by @oktrue in https://github.com/AvaloniaUI/Avalonia/pull/19257
  • Add GroupBox by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/19366
  • Implemented Dispatcher.Yield / Dispatcher.Resume by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/19370
  • Commit missing resource values by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/19371
  • Use VisualBrush for GroupBox Border by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/19372
  • [v12] Enable Mac Catalyst in Avalonia.iOS by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/19415
  • Update release instructions by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19417
  • Text API sample app by @miloush in https://github.com/AvaloniaUI/Avalonia/pull/19455
  • Increase RemoteProtocolTests timeout by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19461
  • Fix comment for #19163 by @walterlv in https://github.com/AvaloniaUI/Avalonia/pull/19469
  • Removed locks from Ref by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/19476
  • Improved API diff by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19490
  • Font features in test app by @miloush in https://github.com/AvaloniaUI/Avalonia/pull/19493
  • Avoid processing frameworks in parallel in ValidateApiDiff by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19511
  • Fix BitmapInterpolationMode.HighQuality when downscaling by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19513
  • Update Nuke to v9 and fix ValidateApiDiff by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19529
  • Move IBinding to BindingBase and tidy up some binding APIs by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/19589
  • Ignore empty preeditText when no composition was active before (#19595) by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19621
  • Fix: ChoreographerTimer should check for Android version correctly. by @IsaMorphic in https://github.com/AvaloniaUI/Avalonia/pull/19643
  • DOCS: Add final newline to markdown files by @VbhvGupta in https://github.com/AvaloniaUI/Avalonia/pull/19645
  • Limit InlineUIContainer to available width (#19651) by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19675
  • Move ControlCatalog.MacCatalyst/tvOS to their own folders by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19709
  • Enable compiled bindings by default in Avalonia.props by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/19712
  • Run Avalonia.LeakTests on CI by @pos777 in https://github.com/AvaloniaUI/Avalonia/pull/19720
  • Remove Tizen by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19722
  • Implement focus change only on release when using touch or pen input by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19753
  • Improve FontCollection customization by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19756
  • Universal GlyphTypeface implementation by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19852
  • Update to .NET 10 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19869
  • Improve AvaloniaNameIncrementalGenerator error handling by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/19934
  • Changed FuncMultiValueConverter to take IList instead of IEnumerable by @zacfromaustinpowder in https://github.com/AvaloniaUI/Avalonia/pull/19936
  • Modernise ControlCatalog XAML by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/19971
  • [Text] Properly handle DrawableRun.Baseline (#19896) by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19983
  • [DesignerHost/HTML]: improve high-dpi screen behavior by @ijklam in https://github.com/AvaloniaUI/Avalonia/pull/19996
  • feat: Handle Datavalidations on base class "Control" by @timunie in https://github.com/AvaloniaUI/Avalonia/pull/20067
  • Fix TryCreateGlyphTypeface return on macOS with SkiaSharp 2.88 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20084
  • Android - Directly use the surface window handle cached in InvalidationAwareSurfaceView instead of requesting new handles by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20093
  • Rewrite leak tests without dotMemory Unit by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20095
  • Remove Avalonia.Browser.Blazor by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20105
  • Introduce TextOptions by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/20107
  • Remove netstandard2.0 from almost all projects by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20111
  • Remove Direct2D1 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20132
  • Use Silk.NET in GpuInterop sample by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20133
  • Update dependencies by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20139
  • [Feature] Move LetterSpacing to TextElement as inherited attached property by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20141
  • Add screen orientation support for Linux DRM by @ThadHouse in https://github.com/AvaloniaUI/Avalonia/pull/20154
  • Improve NuGet.Config by clearing all package source options to make it independent of global NuGet.Config by @Athari in https://github.com/AvaloniaUI/Avalonia/pull/20169
  • Remove obsolete projects from solution filter file by @quanzhuo in https://github.com/AvaloniaUI/Avalonia/pull/20178
  • Fix several issues with ExtendClientAreaToDecorationsHint on Windows by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20217
  • Use standalone Bun to build JS projects instead of NodeJS by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20243
  • Fix dnx random failures by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20284
  • Restore integration tests by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20296
  • Add PlaceholderForeground property to TextBox, AutoCompleteBox, CalendarDatePicker, NumericUpDown by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20303
  • Fix common warnings by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20311
  • Split analyzers and code fixes into separate projects by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20312
  • Update .NET SDK to 10.0.101 by @Youssef1313 in https://github.com/AvaloniaUI/Avalonia/pull/20322
  • Update to xunit.v3 by @Youssef1313 in https://github.com/AvaloniaUI/Avalonia/pull/20331
  • Remove legacy Diagnostics project by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20332
  • Delete Direct2D1 test files by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20333
  • Update Nuke to v10 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20345
  • Enable nullability in Base/Markup/Markup.Xaml unit tests by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20346
  • Fix NRE bug in TextShaperImpl.ShapeText on netstandard2.0 by @adams85 in https://github.com/AvaloniaUI/Avalonia/pull/20369
  • Update NUnit to v4 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20372
  • Enable nullability in Controls.UnitTests by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20373
  • Enable nullability in various test projects by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20374
  • Enable nullability in Avalonia.Native by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20378
  • Enable nullability in all samples by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20379
  • Fix ambiguous and dead inheritdoc links by @ScrubN in https://github.com/AvaloniaUI/Avalonia/pull/20397
  • Fix Android obsolete warnings by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20412
  • Update CODE_OF_CONDUCT.md by @MikeCodesDotNET in https://github.com/AvaloniaUI/Avalonia/pull/20417
  • Handle added packages in API diff by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20428
  • Fix some XML doc warnings by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20429
  • Fix ncrunch configuration. by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/20437
  • Move compiled bindings to Avalonia.Base. by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/20439
  • Add CompiledBinding.Create factory methods from LINQ expressions by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/20443
  • Fix android wrong inset safe area padding value after resume by @Shirasagi0012 in https://github.com/AvaloniaUI/Avalonia/pull/20448
  • Implement scene delegate for iOS by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20454
  • Remove BinaryFormatter by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20455
  • Fix for HarfBuzz was missing by @timunie in https://github.com/AvaloniaUI/Avalonia/pull/20456
  • Fix xUnit warnings in AnimationIterationTests by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20459
  • Fix Avalonia.Desktop.slnf compiling by @gehongyan in https://github.com/AvaloniaUI/Avalonia/pull/20461
  • Fix NuGet warnings by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20466
  • Remove EnableUnsafeBinaryFormatterSerialization property by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20467
  • Update headless xUnit support to v3 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20481
  • Composition system SP1 by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20497
  • Enable warnings as errors by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20504
  • Fix typo in build.md by @mrlacey in https://github.com/AvaloniaUI/Avalonia/pull/20513
  • Use net8.0 TFM for shipped build props by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20518
  • Remove IInternalScroller and move IScrollable to Avalonia.Base by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20519
  • Remove IDataObject to IDataTransfer wrappers and related methods by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20521
  • Simplify text formatting constructors by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20527
  • Merge IGeometryContext and IGeometryContext2 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20528
  • Make Screen abstract by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20529
  • Fix Android surface recreation by @kerams in https://github.com/AvaloniaUI/Avalonia/pull/20538
  • Fix TabItem's Content inheriting TabControl's DataContext instead of TabItem's by @ptasev in https://github.com/AvaloniaUI/Avalonia/pull/20541
  • Fixes several simple TODO12 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20544
  • Add AlphaFormat to ILockedFramebuffer by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20556
  • Merge multiple interfaces related to rendering by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20557
  • Headless: use HarfBuzz by default by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20561
  • Merge IResourceHost2 into IResourceHost by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20576
  • Remove NativeMenuItemToggleType and NativeMenuBar.EnableMenuItemClickForwarding by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20577
  • Move ConstructorArgumentAttribute and remove BindingMode from ReflectionBinding constructor by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20589
  • Fix warnings and index bugs in ControlCatalog sample by @ThadHouse in https://github.com/AvaloniaUI/Avalonia/pull/20590
  • Add IsAlive property to IRef by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20593
  • Make NUnit tests visible in Rider again by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20594
  • Remove AutoCompleteBox.BindingEvaluator by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20596
  • Make IPopupHost a private API by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20597
  • Headless NUnit: Handle async SetUp/TearDown by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20612
  • Remove obsolete members from Avalonia.Base by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20613
  • Remove obsolete members from Avalonia.Controls by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20617
  • Hide binding plugins and disable Data Annotations validation by default by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/20623
  • Remove obsolete members from various assemblies by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20628
  • Move GetWindowsZOrder to IWindowingPlatform by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20633
  • Fix Border clip regression by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20648
  • Use KeySymbol for AccessKey by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20662
  • Fixed wrong Mac accessibility roles for List, ListItem, and StatusBar by @codecat in https://github.com/AvaloniaUI/Avalonia/pull/20681
  • Make sure that adorners are actually correctly positioned in visual tree for TransformToVisual and friends by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20691
  • Make TextBox.PlaceholderText accessible by @kirb in https://github.com/AvaloniaUI/Avalonia/pull/20714
  • [macOS] Add NativeDock.Menu API for adding menu items to macOS dock icon by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/20634
  • [v12] Android - Remove redundant appbuilder methods in android, use AvaloniaActivity in toplevel classes by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20715
  • Introduce PresentationSource, move some responsibilities from TopLevel by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20624
  • Add boundary check to HarfBuzzTextShaper by @rabbitism in https://github.com/AvaloniaUI/Avalonia/pull/20716
  • Update BclLauncher.cs to use ArgumentList property by @tompnub in https://github.com/AvaloniaUI/Avalonia/pull/19713
  • Fixed incorrect opacity stack handling by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20730
  • macOS: Fix file dialogs in embedded views by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20719
  • Onboard onto Central Package Management by @dfederm in https://github.com/AvaloniaUI/Avalonia/pull/20704
  • Add tooltips for settings in control catalog by @TeaDrivenDev in https://github.com/AvaloniaUI/Avalonia/pull/20731
  • Handle GlyphTypeface creation exceptions by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20739
  • Handle font cmap format 13 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20740
  • More changes for non-toplevel visual tree roots. by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20732
  • Remove unused internal classes, methods, and comparers by @Evan260 in https://github.com/AvaloniaUI/Avalonia/pull/20746
  • Fix menu memory leak by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20753
  • Implement AT-SPI2 Accessibility Backend by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/20735
  • Support ExperimentalAttribute in XAML by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20765
  • Fix Toplevel not losing focus with native implementation deactivates. by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20768
  • Fix for GhostItems in virtualized ItemsControls like ListBox by @timunie in https://github.com/AvaloniaUI/Avalonia/pull/20700
  • Fixed creation of files/folders in a subfolder, as well as its deletion on Android by @Paulsams in https://github.com/AvaloniaUI/Avalonia/pull/20750
  • Fix CalendarDatePicker becoming unusable when closed programmatically by @Evan260 in https://github.com/AvaloniaUI/Avalonia/pull/20756
  • Make RemoteServer/RemoteWidget internal by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20767
  • Use a default DesignEmHeight if the font doesn't have one by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20764
  • Make a few more things internal by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20772
  • iOS: fix universal link activation with scenes by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20752
  • Fix TopLevelHost mirroring RTL content by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20754
  • Add AppBuilder.UseTextShapingSubsystem by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20761
  • Create DiagnosticTextRenderer lazily by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20766
  • Fix font Weight/Stretch matching by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20773
  • Fix missing root automation peer in x11/atspi by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/20775
  • Don't call FormattingObjectPool.VerifyAllReturned by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20774
  • CompiledBinding.Create must be AOT-compatible, even by using reflection by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20776
  • Don't throw on unexpected iOS input by @kerams in https://github.com/AvaloniaUI/Avalonia/pull/20728
  • Introduce Dispatcher.CurrentDispatcher, Dispatcher.FromThread, AvaloniaObject.Dispatcher by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/18686
  • Fix NativeControlHost not accounting for visual transforms in size calculation by @mfkl in https://github.com/AvaloniaUI/Avalonia/pull/20785
  • Move Gesture events to InputElement by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20789
  • Themeable Client Window Decorations by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20770
  • Include Avalonia.IntegrationTests.Win32 into desktop slnf by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20797
  • Fix for remaining Ghost-Item in VirtualizationStackPanel by @timunie in https://github.com/AvaloniaUI/Avalonia/pull/20784
  • Fix TextBox validation error persisting when reverting to same valid value by @Evan260 in https://github.com/AvaloniaUI/Avalonia/pull/20780
  • Rename SystemDecorations to WindowDecorations since they aren't necessary "system". by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20796
  • Add PopupOverlayLayer by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20751
  • Explicitly truncate when opening a stream for writing by @Frederisk in https://github.com/AvaloniaUI/Avalonia/pull/20804
  • Add gesture CLR events to InputElement by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20806
  • Update SkiaSharp to 3.119.3-preview.1.1 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20809
  • Bump Tmds.DBus.Protocol to version 0.90.3 by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/20810
  • [iOS] Truncate file in IOSStorageFile.OpenWrite by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20807
  • Render target/surface housekeeping by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20811
  • [Feature] Page-based navigation system by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20794
  • X11IconLoader needs to scale the icon into our hardcoded size by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20817
  • Streamline drawn decorations management to avoid call ordering problems by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20840
  • [Metal] Dispose GRBackendRenderTarget and @autoreleasepool for metal objects by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/20815
  • [Navigation] Fire Page lifecycle events after transitions complete, not before by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/20826
  • Fix pixel rounding and visual transforms in NativeControlHost by @mfkl in https://github.com/AvaloniaUI/Avalonia/pull/20786
  • Find perfect match before nearest in font collection by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20851
  • Add automation landmarks to HamburgerMenu by @kirb in https://github.com/AvaloniaUI/Avalonia/pull/20857
  • Fix TabControl DataContext issues when switching tabs by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/20856
  • [Feature] Add PipsPager Control by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20660
  • Update summaries for gesture events in InputElement by @luke-whos-here in https://github.com/AvaloniaUI/Avalonia/pull/20862
  • Disable Animations processing when Visual's not visible redux by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/20820
  • Translation property for CompositionVisual by @zxbmmmmmmmmm in https://github.com/AvaloniaUI/Avalonia/pull/20836
  • Add FocusChangedEventArgs for GotFocus/LotFocus by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20859
  • Made GetMaxSizeFromConstraint a protected method by @codecat in https://github.com/AvaloniaUI/Avalonia/pull/20877
  • Add /update-api and /api-diff commands by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20887
  • Remove Uncompilable code guarded by platform defines by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20861
  • Use Numerge package by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20892
  • Don't tick with render loop when app is idle by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20873
  • Hide TextRange. It has no public usage. by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/20893
  • Make SelectionHandleType internal by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20908
  • Use the correct flag to determine if extra dirty rect needs to be combined with existing one by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20896
  • Open FocusManager API by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20854
  • Allow TextSearch.TextBinding on non-controls. by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/20884
  • Defer default icon loading until Window is shown by @NathanDrake2406 in https://github.com/AvaloniaUI/Avalonia/pull/20898
  • Validate layoutable Thickness properties to block NaN or infinite values by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/20899
  • Update .NET SDK to 10.0.201 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20912
  • New HeadlessWindow.SetRenderScaling API by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20888
  • Fix X11IconLoader exception for icons < 128px by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20914
  • X11: Fix clipboard bitmap transferred with INCR by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20895
  • Fix values of known atoms by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20894
  • Add WinForms message filter for Avalonia windows by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20814
  • Do not resolve markup extensions when resolving selector types by @dme-compunet in https://github.com/AvaloniaUI/Avalonia/pull/20903
  • [Feature] Add gestures and WrapSelection (loops) support to Carousel by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20659
  • Restructure VisualLayerManager by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20905
  • Added more Carousel samples by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20932
  • Add FindNextElementOptions.FocusedElement by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20930
  • Fix Windows Snap in BorderOnly mode by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20937
  • Make FlyoutBase.IsOpen a public StyledProperty by @NathanDrake2406 in https://github.com/AvaloniaUI/Avalonia/pull/20920
  • [Feature] Expand Page-type navigation: CarouselPage by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20871
  • Fix TabItem.Icon type and add IconTemplate by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20939
  • Allow CanResize on macOS in BorderOnly mode by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20940
  • Update Placeholder properties to use TextBox as owner in NumericUpDown & ComboBox by @zdpcdt in https://github.com/AvaloniaUI/Avalonia/pull/20929
  • Remove unnecessary style for fullscreen button by @rabbitism in https://github.com/AvaloniaUI/Avalonia/pull/20934
  • Android - Query date modified for android storage folder by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20860
  • 20868 - virtualizingstackpanel, when viewport shrinks and grows agai… by @gentledepp in https://github.com/AvaloniaUI/Avalonia/pull/20870

  • Add IconTemplate to Page and DrawerPage by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20946
  • Change visual brush for group box to grid by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20947
  • Make RoutedEvent nullable in event arguments by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20953
  • Fixed creating RenderTarget when using Vulkan backend by @abenedik in https://github.com/AvaloniaUI/Avalonia/pull/20952
  • Remove UnstableAttribute from several RoutedEventArgs by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20955
  • Make Dispatcher.Yield use the current dispatcher by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20956
  • Animation PlaybackBehavior Implementation and Tests. by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/20966
  • Rename PipsPager button theme APIs by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20954
  • Update packages by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20967
  • Revert MicroCom to 0.11.0 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20975
  • Use CurrentDispatcher in DispatcherTimer and AvaloniaSynchronizationContext by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20957
  • Make Window.WindowState a direct property with (on some platforms) reliable values by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20973
  • Add StyleKeyOverride for ContentPage by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20977
  • Add Page HeaderTemplate by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20982
  • Cache RenderScaling in PresentationSource by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20972
  • Add StyleOverrides for other Page types by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20985
  • X11: Handle ShowActivated=false by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20958
  • Design properties not being applied for user controls by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20986
  • Fix ComboBox not displaying Text property validation by @ptasev in https://github.com/AvaloniaUI/Avalonia/pull/20978
  • Add more gesture recognizer sample pages to ControlCatalog by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20983
  • QoL for ControlCatalog: add sidebar search, auto-sort, and default page selection by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20987
  • Introduced "forced" CSD mode without app opting in by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20976
  • Use the correct value for animations stopped during a visual tree detach by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20995
  • Remove LambdaExpression.Compile from CompiledBinding.Create by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20996
  • Add DrawerHeaderTemplate and DrawerFooterTemplate properties to DrawerPage by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/21008
  • Include VisualLayerManager itself in layer lookup. by @rabbitism in https://github.com/AvaloniaUI/Avalonia/pull/20999
  • Fix DrawerPage double footer on compact mode for Bottom/Top placement by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/21004
  • Fix TabbedPage samples wrong icon by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/21003
  • Fix Placeholder not visible by @shine1258 in https://github.com/AvaloniaUI/Avalonia/pull/21024
  • Add SECURITY.md by @rabbitism in https://github.com/AvaloniaUI/Avalonia/pull/21029
  • Added explicit background processing support to managed dispatcher impl by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/21025
  • Combine Ready/Corrupted into a single passthrough struct by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/21028
  • Change XInternAtoms call force-create atoms by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/21034
  • Rename AppBar controls by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/21041
  • Apply optimizations in Avalonia Android by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20968
  • Fix Mouse pointer triggering focus change on pointer release. by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/21009
  • Change DoDragDropAsync trigger event to PointerPressedEventArgs by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20988
  • Apply optimizations in Avalonia iOS by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20969
  • Expose allowed titlebar button actions from the platform implementation and respect them from drawn decorations by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/21035
  • Do not use visual children enumerator in TopLevelHost by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/21048
  • Replaced raw COM pointers with smart ones by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/21001
  • Update readme.md by @MikeCodesDotNET in https://github.com/AvaloniaUI/Avalonia/pull/21051
  • Touch Improvements to TextBox by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20848
  • Add keyboard navigation for overflow CommandBar popup by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/21005
  • Improve CommandBar dynamic overflow separator handling by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/21039
  • Fix FocusManager.FocusedElement on canceled/redirected focus by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/21047
  • CompositionAnimation fixes by @zxbmmmmmmmmm in https://github.com/AvaloniaUI/Avalonia/pull/20936
  • AvnAccessibilityElement fixes by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/21062
  • Measure/Arrange TextPresenter with WidthIncludingTrailingWhitespace by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/21067
  • Fix/linux atspi backend by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/21072
  • Post NSAccessibility notifications for property changes on macOS by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/21074
  • Fix access keys not working when KeySymbol is null by @NathanDrake2406 in https://github.com/AvaloniaUI/Avalonia/pull/21077

Full Changelog since 11.3.13: https://github.com/AvaloniaUI/Avalonia/compare/11.3.13...12.0.0


12.0.0-rc2 · 12.0.0-rc2

2026-03-31 · by @MrJul · prerelease

What's Changed

This is the raw list of changes between 12.0.0-rc1 and 12.0.0-rc2:

  • Make RoutedEvent nullable in event arguments by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20953
  • Fixed creating RenderTarget when using Vulkan backend by @abenedik in https://github.com/AvaloniaUI/Avalonia/pull/20952
  • Remove UnstableAttribute from several RoutedEventArgs by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20955
  • Make Dispatcher.Yield use the current dispatcher by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20956
  • Animation PlaybackBehavior Implementation and Tests. by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/20966
  • Rename PipsPager button theme APIs by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20954
  • Update packages by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20967
  • Revert MicroCom to 0.11.0 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20975
  • Use CurrentDispatcher in DispatcherTimer and AvaloniaSynchronizationContext by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20957
  • Make Window.WindowState a direct property with (on some platforms) reliable values by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20973
  • Add StyleKeyOverride for ContentPage by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20977
  • Add Page HeaderTemplate by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20982
  • Cache RenderScaling in PresentationSource by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20972
  • Add StyleOverrides for other Page types by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20985
  • X11: Handle ShowActivated=false by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20958
  • Design properties not being applied for user controls by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20986
  • Fix ComboBox not displaying Text property validation by @ptasev in https://github.com/AvaloniaUI/Avalonia/pull/20978
  • Add more gesture recognizer sample pages to ControlCatalog by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20983
  • QoL for ControlCatalog: add sidebar search, auto-sort, and default page selection by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20987
  • Introduced "forced" CSD mode without app opting in by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20976
  • Use the correct value for animations stopped during a visual tree detach by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20995
  • Remove LambdaExpression.Compile from CompiledBinding.Create by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20996
  • Add DrawerHeaderTemplate and DrawerFooterTemplate properties to DrawerPage by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/21008
  • Include VisualLayerManager itself in layer lookup. by @rabbitism in https://github.com/AvaloniaUI/Avalonia/pull/20999
  • Fix DrawerPage double footer on compact mode for Bottom/Top placement by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/21004
  • Fix TabbedPage samples wrong icon by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/21003
  • Fix Placeholder not visible by @shine1258 in https://github.com/AvaloniaUI/Avalonia/pull/21024
  • Add SECURITY.md by @rabbitism in https://github.com/AvaloniaUI/Avalonia/pull/21029
  • Added explicit background processing support to managed dispatcher impl by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/21025
  • Combine Ready/Corrupted into a single passthrough struct by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/21028
  • Change XInternAtoms call force-create atoms by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/21034
  • Rename AppBar controls by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/21041
  • Apply optimizations in Avalonia Android by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20968
  • Fix Mouse pointer triggering focus change on pointer release. by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/21009
  • Change DoDragDropAsync trigger event to PointerPressedEventArgs by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20988
  • Apply optimizations in Avalonia iOS by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20969
  • Expose allowed titlebar button actions from the platform implementation and respect them from drawn decorations by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/21035
  • Do not use visual children enumerator in TopLevelHost by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/21048
  • Replaced raw COM pointers with smart ones by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/21001
  • Update readme.md by @MikeCodesDotNET in https://github.com/AvaloniaUI/Avalonia/pull/21051
  • Touch Improvements to TextBox by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20848
  • Add keyboard navigation for overflow CommandBar popup by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/21005
  • Improve CommandBar dynamic overflow separator handling by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/21039
  • Fix FocusManager.FocusedElement on canceled/redirected focus by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/21047

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/12.0.0-rc1...12.0.0-rc2


11.3.13 · 11.3.13

2026-03-28 · by @MrJul

What's Changed

Enhancements

  • Core – Make TextBox.Watermark accessible by @kirb in https://github.com/AvaloniaUI/Avalonia/pull/20714
  • Core – Made TextBlock.GetMaxSizeFromConstraint a protected method by @codecat in https://github.com/AvaloniaUI/Avalonia/pull/20877
  • Core – Defer default icon loading until Window is shown by @NathanDrake2406 in https://github.com/AvaloniaUI/Avalonia/pull/20898
  • macOS – Add NativeDock.Menu API for adding menu items to macOS dock icon by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/20634
  • macOS – Dispose GRBackendRenderTarget and @autoreleasepool for metal objects by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/20815
  • macOS – Allow CanResize on macOS in BorderOnly mode by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20940
  • X11 – Handle ShowActivated=false by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20958
  • Android – Query date modified for storage folder by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20860

Fixes

  • Core – Use SetCurrentValue for all IMenuItem properties by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/20682
  • Core – Fix TransformTrackingHelper tracking by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20692
  • Core – Fix for ghost items in virtualized ItemsControls by @timunie in https://github.com/AvaloniaUI/Avalonia/pull/20700
  • Core – Fix menu memory leak by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20753
  • Core – Fix for remaining ghost items in VirtualizationStackPanel by @timunie in https://github.com/AvaloniaUI/Avalonia/pull/20784
  • Core – Fix CalendarDatePicker becoming unusable when closed programmatically by @Evan260 in https://github.com/AvaloniaUI/Avalonia/pull/20756
  • Core – Fix TextBox validation error persisting when reverting to same valid value by @Evan260 in https://github.com/AvaloniaUI/Avalonia/pull/20780
  • Core – Fix NativeControlHost not accounting for visual transforms in size calculation by @mfkl in https://github.com/AvaloniaUI/Avalonia/pull/20785
  • Core – Fix pixel rounding in NativeControlHost by @mfkl in https://github.com/AvaloniaUI/Avalonia/pull/20786
  • Core – Fix VirtualizingStackPanel when viewport shrinks and grows again by @gentledepp in https://github.com/AvaloniaUI/Avalonia/pull/20870
  • Core – Do not resolve markup extensions when resolving selector types by @dme-compunet in https://github.com/AvaloniaUI/Avalonia/pull/20903
  • Core – Fix ComboBox not displaying Text property validation by @ptasev in https://github.com/AvaloniaUI/Avalonia/pull/20978
  • Windows – Add WinForms message filter for Avalonia windows by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20814
  • macOS – Fix wrong accessibility roles for List, ListItem, and StatusBar by @codecat in https://github.com/AvaloniaUI/Avalonia/pull/20681
  • macOS – Fix file dialogs in embedded views by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20719
  • X11 – Fix values of known atoms by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20894
  • X11 – Fix clipboard bitmap transferred with INCR by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20895
  • Android – Fix TargetException in ToggleNodeInfoProvider by @SunnyDesignor in https://github.com/AvaloniaUI/Avalonia/pull/20686
  • Android – Fix unexpected crashes during accessibility actions by @SunnyDesignor in https://github.com/AvaloniaUI/Avalonia/pull/20687
  • Android - only handle back event from source toplevel by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20694
  • Android – Fix creation of files/folders in a subfolder, as well as its deletion by @Paulsams in https://github.com/AvaloniaUI/Avalonia/pull/20750
  • iOS – Don't throw on unexpected input by @kerams in https://github.com/AvaloniaUI/Avalonia/pull/20728

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/11.3.12...11.3.13


12.0.0-rc1 · 12.0.0-rc1

2026-03-19 · by @MrJul · prerelease

What's Changed

This is the raw list of changes between 12.0.0-preview2 and 12.0.0-rc1: * Streamline drawn decorations management to avoid call ordering problems by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20840 * [Metal] Dispose GRBackendRenderTarget and @autoreleasepool for metal objects by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/20815 * [Navigation] Fire Page lifecycle events after transitions complete, not before by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/20826 * Fix pixel rounding and visual transforms in NativeControlHost by @mfkl in https://github.com/AvaloniaUI/Avalonia/pull/20786 * Find perfect match before nearest in font collection by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20851 * Add automation landmarks to HamburgerMenu by @kirb in https://github.com/AvaloniaUI/Avalonia/pull/20857 * Fix TabControl DataContext issues when switching tabs by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/20856 * [Feature] Add PipsPager Control by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20660 * Update summaries for gesture events in InputElement by @luke-whos-here in https://github.com/AvaloniaUI/Avalonia/pull/20862 * Disable Animations processing when Visual's not visible redux by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/20820 * Translation property for CompositionVisual by @zxbmmmmmmmmm in https://github.com/AvaloniaUI/Avalonia/pull/20836 * Add FocusChangedEventArgs for GotFocus/LotFocus by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20859 * Made GetMaxSizeFromConstraint a protected method by @codecat in https://github.com/AvaloniaUI/Avalonia/pull/20877 * Add /update-api and /api-diff commands by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20887 * Remove Uncompilable code guarded by platform defines by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20861 * Use Numerge package by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20892 * Don't tick with render loop when app is idle by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20873 * Hide TextRange. It has no public usage. by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/20893 * Make SelectionHandleType internal by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20908 * Use the correct flag to determine if extra dirty rect needs to be combined with existing one by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20896 * Open FocusManager API by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20854 * Allow TextSearch.TextBinding on non-controls. by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/20884 * Defer default icon loading until Window is shown by @NathanDrake2406 in https://github.com/AvaloniaUI/Avalonia/pull/20898 * Validate layoutable Thickness properties to block NaN or infinite values by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/20899 * Update .NET SDK to 10.0.201 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20912 * New HeadlessWindow.SetRenderScaling API by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20888 * Fix X11IconLoader exception for icons < 128px by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20914 * X11: Fix clipboard bitmap transferred with INCR by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20895 * Fix values of known atoms by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20894 * Add WinForms message filter for Avalonia windows by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20814 * Do not resolve markup extensions when resolving selector types by @dme-compunet in https://github.com/AvaloniaUI/Avalonia/pull/20903 * [Feature] Add gestures and WrapSelection (loops) support to Carousel by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20659 * Restructure VisualLayerManager by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20905 * Added more Carousel samples by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20932 * Add FindNextElementOptions.FocusedElement by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20930 * Fix Windows Snap in BorderOnly mode by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20937 * Make FlyoutBase.IsOpen a public StyledProperty by @NathanDrake2406 in https://github.com/AvaloniaUI/Avalonia/pull/20920 * [Feature] Expand Page-type navigation: CarouselPage by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20871 * Fix TabItem.Icon type and add IconTemplate by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20939 * Allow CanResize on macOS in BorderOnly mode by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20940 * Update Placeholder properties to use TextBox as owner in NumericUpDown & ComboBox by @zdpcdt in https://github.com/AvaloniaUI/Avalonia/pull/20929 * Remove unnecessary style for fullscreen button by @rabbitism in https://github.com/AvaloniaUI/Avalonia/pull/20934 * Android - Query date modified for android storage folder by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20860 * #20868 - virtualizingstackpanel, when viewport shrinks and grows agai… by @gentledepp in https://github.com/AvaloniaUI/Avalonia/pull/20870 * Add IconTemplate to Page and DrawerPage by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20946 * Change visual brush for group box to grid by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20947

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/12.0.0-preview2...12.0.0-rc1

Discussion


12.0.0-preview2 · 12.0.0-preview2

2026-03-05 · by @MrJul · prerelease

What's Changed

This is the raw list of changes between 12.0.0-preview1 and 12.0.0-preview2: * Make TextBox.PlaceholderText accessible by @kirb in https://github.com/AvaloniaUI/Avalonia/pull/20714 * [macOS] Add NativeDock.Menu API for adding menu items to macOS dock icon by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/20634 * [v12] Android - Remove redundant appbuilder methods in android, use AvaloniaActivity in toplevel classes by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20715 * Introduce PresentationSource, move some responsibilities from TopLevel by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20624 * Add boundary check to HarfBuzzTextShaper by @rabbitism in https://github.com/AvaloniaUI/Avalonia/pull/20716 * Update BclLauncher.cs to use ArgumentList property by @tompnub in https://github.com/AvaloniaUI/Avalonia/pull/19713 * Fixed incorrect opacity stack handling by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20730 * macOS: Fix file dialogs in embedded views by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20719 * Onboard onto Central Package Management by @dfederm in https://github.com/AvaloniaUI/Avalonia/pull/20704 * Add tooltips for settings in control catalog by @TeaDrivenDev in https://github.com/AvaloniaUI/Avalonia/pull/20731 * Handle GlyphTypeface creation exceptions by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20739 * Handle font cmap format 13 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20740 * More changes for non-toplevel visual tree roots. by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20732 * Remove unused internal classes, methods, and comparers by @Evan260 in https://github.com/AvaloniaUI/Avalonia/pull/20746 * Fix menu memory leak by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20753 * Implement AT-SPI2 Accessibility Backend by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/20735 * Support ExperimentalAttribute in XAML by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20765 * Fix Toplevel not losing focus with native implementation deactivates. by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20768 * Fix for GhostItems in virtualized ItemsControls like ListBox by @timunie in https://github.com/AvaloniaUI/Avalonia/pull/20700 * Fixed creation of files/folders in a subfolder, as well as its deletion on Android by @Paulsams in https://github.com/AvaloniaUI/Avalonia/pull/20750 * Fix CalendarDatePicker becoming unusable when closed programmatically by @Evan260 in https://github.com/AvaloniaUI/Avalonia/pull/20756 * Make RemoteServer/RemoteWidget internal by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20767 * Use a default DesignEmHeight if the font doesn't have one by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20764 * Make a few more things internal by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20772 * iOS: fix universal link activation with scenes by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20752 * Fix TopLevelHost mirroring RTL content by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20754 * Add AppBuilder.UseTextShapingSubsystem by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20761 * Create DiagnosticTextRenderer lazily by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20766 * Fix font Weight/Stretch matching by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20773 * Fix missing root automation peer in x11/atspi by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/20775 * Don't call FormattingObjectPool.VerifyAllReturned by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20774 * CompiledBinding.Create must be AOT-compatible, even by using reflection by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20776 * Don't throw on unexpected iOS input by @kerams in https://github.com/AvaloniaUI/Avalonia/pull/20728 * Introduce Dispatcher.CurrentDispatcher, Dispatcher.FromThread, AvaloniaObject.Dispatcher by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/18686 * Fix NativeControlHost not accounting for visual transforms in size calculation by @mfkl in https://github.com/AvaloniaUI/Avalonia/pull/20785 * Move Gesture events to InputElement by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20789 * Themeable Client Window Decorations by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20770 * Include Avalonia.IntegrationTests.Win32 into desktop slnf by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20797 * Fix for remaining Ghost-Item in VirtualizationStackPanel by @timunie in https://github.com/AvaloniaUI/Avalonia/pull/20784 * Fix TextBox validation error persisting when reverting to same valid value by @Evan260 in https://github.com/AvaloniaUI/Avalonia/pull/20780 * Rename SystemDecorations to WindowDecorations since they aren't necessary "system". by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20796 * Add PopupOverlayLayer by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20751 * Explicitly truncate when opening a stream for writing by @Frederisk in https://github.com/AvaloniaUI/Avalonia/pull/20804 * Add gesture CLR events to InputElement by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20806 * Update SkiaSharp to 3.119.3-preview.1.1 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20809 * Bump Tmds.DBus.Protocol to version 0.90.3 by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/20810 * [iOS] Truncate file in IOSStorageFile.OpenWrite by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20807 * Render target/surface housekeeping by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20811 * [Feature] Page-based navigation system by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20794 * X11IconLoader needs to scale the icon into our hardcoded size by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20817

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/12.0.0-preview1...12.0.0-preview2


12.0.0-preview1 · 12.0.0-preview1

2026-02-17 · by @MrJul · prerelease

What's Changed

This is the raw list of changes between 11.3.12 and 12.0.0-preview1:

  • Design improvements by @maxkatz6 in #18300
  • Add ability to cancel focus change by @emmauss in #18373
  • [X11] Added INCR support by @kekekeks in #18428
  • Don't round size in TextBlock when UseLayoutRounding is false by @appel1 in #18456
  • Fix MeasureCore when there's a size constraint and there's a negative… by @appel1 in #18462
  • Focus Traversal Api by @emmauss in #18647
  • Make sure that tests inherit from ScopedTestBase by @kekekeks in #18690
  • Update bug_report.yml by @timunie in #18711
  • Fix typo in PseudoClassesExtensions class name by @zdpcdt in #18717
  • feat: add TreeViewItemIndentConverter for dynamic margin calculation by @zdpcdt in #18718
  • Limit use of deprecated Android display API by @emmauss in #18722
  • Move android app initialization to custom application class by @emmauss in #18756
  • Add IAddChild to StyleBase to fix IDE errors when adding Style as children to ContainerQuery by @wieslawsoltes in #18800
  • Added missing class event handler methods by @TomEdwardsEnscape in #18837
  • fix WrapPanel comments by @ingts in #18862
  • Fixed core GotFocus and LostFocus handling being skippable by @TomEdwardsEnscape in #18868
  • Add IActivityApplicationLifetime for android by @emmauss in #18893
  • Fixes accumulated glitches in GpuInterop demo by @kekekeks in #18900
  • Add DrawingImage.Viewbox by @TomEdwardsEnscape in #18913
  • Bump ImageSharp to 2.1.10 by @drasticactions in #18924
  • Update azure-pipelines.yml (#18876) by @Gillibald in #18940
  • fix: Prevent DXGI from intercepting Alt+Enter and PrintScreen by @M0n7y5 in #18970
  • [Android] Do not underutilize CPU/GPU when can't keep up with refresh rate by @kekekeks in #18973
  • [ANDROID] Skip glWaitClient/glWaitGL/glWaitNative by @kekekeks in #18974
  • Implement IDispatcherImpl for Android based on Looper and MessageQueue by @kekekeks in #18975
  • [12.0] Target SkiaSharp 3.0. Drop 2.88 support by @maxkatz6 in #18981
  • Remove old linux hack by @kekekeks in #18989
  • Switch to using animation request for scroll inertia dispatch by @emmauss in #18997
  • Cleanup InvalidationAwareSurfaceView related code by @maxkatz6 in #19045
  • Fix WindowCloseReason Passed During System Shutdown by @lindexi in #19055
  • feat: expose Popup property in PopupFlyoutBase for external access. by @zdpcdt in #19106
  • Make CharacterReader internal. by @grokys in #19123
  • Fix typo: ExternalGLibMainLoopExceptionLogger by @Dragorn421 in #19128
  • Developer Documentation by @grokys in #19131
  • Remove PropertyPath. by @grokys in #19133
  • move to SDK 8.0.411 in global.json by @SimonCropp in #19136
  • remove some redundant returns by @SimonCropp in #19137
  • remove some duplicate dict lookups by @SimonCropp in #19138
  • remove Settings.StyleCop from sln by @SimonCropp in #19140
  • remove some un-used code by @SimonCropp in #19146
  • Feat/19059 add automation for validation error by @longbuibao in #19161
  • Capture ExecutionContext for Dispatcher.InvokeAsync by @walterlv in #19163
  • Rename "Documentation" subfolder into "docs" by @maxkatz6 in #19189
  • Improved NuGet package creation docs. by @grokys in #19196
  • Unify selection event handling for all SelectingItemsControl types plus TreeView by @TomEdwardsEnscape in #19203
  • Fix: Unable to input numbers, symbols, and English letters in Avalonia on X11 with fcitx5 ForwardKey messages by @SeWZC in #19207
  • Use hard links for build by @MrJul in #19209
  • Migrate AvaloniaNameSourceGenerator to IIncrementalGenerator by @maxkatz6 in #19216
  • Fix typo in XML documentation for ExtendClientAreaChromeHints enum by @Versette in #19245
  • Typos fix by @oktrue in #19257
  • Add GroupBox by @maxkatz6 in #19366
  • Implemented Dispatcher.Yield / Dispatcher.Resume by @kekekeks in #19370
  • Commit missing resource values by @maxkatz6 in #19371
  • Use VisualBrush for GroupBox Border by @drasticactions in #19372
  • [v12] Enable Mac Catalyst in Avalonia.iOS by @drasticactions in #19415
  • Update release instructions by @MrJul in #19417
  • Text API sample app by @miloush in #19455
  • Increase RemoteProtocolTests timeout by @MrJul in #19461
  • Fix comment for #19163 by @walterlv in #19469
  • Removed locks from Ref by @kekekeks in #19476
  • Improved API diff by @MrJul in #19490
  • Font features in test app by @miloush in #19493
  • Avoid processing frameworks in parallel in ValidateApiDiff by @MrJul in #19511
  • Fix BitmapInterpolationMode.HighQuality when downscaling by @MrJul in #19513
  • Update Nuke to v9 and fix ValidateApiDiff by @MrJul in #19529
  • Move IBinding to BindingBase and tidy up some binding APIs by @grokys in #19589
  • Ignore empty preeditText when no composition was active before (#19595) by @Gillibald in #19621
  • Fix: ChoreographerTimer should check for Android version correctly. by @IsaMorphic in #19643
  • DOCS: Add final newline to markdown files by @VbhvGupta in #19645
  • Limit InlineUIContainer to available width (#19651) by @Gillibald in #19675
  • Move ControlCatalog.MacCatalyst/tvOS to their own folders by @MrJul in #19709
  • Enable compiled bindings by default in Avalonia.props by @maxkatz6 in #19712
  • Run Avalonia.LeakTests on CI by @pos777 in #19720
  • Remove Tizen by @MrJul in #19722
  • Implement focus change only on release when using touch or pen input by @emmauss in #19753
  • Improve FontCollection customization by @Gillibald in #19756
  • Universal GlyphTypeface implementation by @Gillibald in #19852
  • Update to .NET 10 by @MrJul in #19869
  • Improve AvaloniaNameIncrementalGenerator error handling by @TomEdwardsEnscape in #19934
  • Changed FuncMultiValueConverter to take IList instead of IEnumerable by @zacfromaustinpowder in #19936
  • Modernise ControlCatalog XAML by @TomEdwardsEnscape in #19971
  • [Text] Properly handle DrawableRun.Baseline (#19896) by @Gillibald in #19983
  • [DesignerHost/HTML]: improve high-dpi screen behavior by @ijklam in #19996
  • feat: Handle Datavalidations on base class "Control" by @timunie in #20067
  • Fix TryCreateGlyphTypeface return on macOS with SkiaSharp 2.88 by @MrJul in #20084
  • Android - Directly use the surface window handle cached in InvalidationAwareSurfaceView instead of requesting new handles by @emmauss in #20093
  • Rewrite leak tests without dotMemory Unit by @MrJul in #20095
  • Remove Avalonia.Browser.Blazor by @maxkatz6 in #20105
  • Introduce TextOptions by @Gillibald in #20107
  • Remove netstandard2.0 from almost all projects by @MrJul in #20111
  • Remove Direct2D1 by @MrJul in #20132
  • Use Silk.NET in GpuInterop sample by @MrJul in #20133
  • Update dependencies by @MrJul in #20139
  • [Feature] Move LetterSpacing to TextElement as inherited attached property by @jsuarezruiz in #20141
  • Add screen orientation support for Linux DRM by @ThadHouse in #20154
  • Improve NuGet.Config by clearing all package source options to make it independent of global NuGet.Config by @Athari in #20169
  • Remove obsolete projects from solution filter file by @quanzhuo in #20178
  • Fix several issues with ExtendClientAreaToDecorationsHint on Windows by @MrJul in #20217
  • Use standalone Bun to build JS projects instead of NodeJS by @maxkatz6 in #20243
  • Fix dnx random failures by @MrJul in #20284
  • Restore integration tests by @MrJul in #20296
  • Add PlaceholderForeground property to TextBox, AutoCompleteBox, CalendarDatePicker, NumericUpDown by @jsuarezruiz in #20303
  • Fix common warnings by @MrJul in #20311
  • Split analyzers and code fixes into separate projects by @MrJul in #20312
  • Update .NET SDK to 10.0.101 by @Youssef1313 in #20322
  • Update to xunit.v3 by @Youssef1313 in #20331
  • Remove legacy Diagnostics project by @MrJul in #20332
  • Delete Direct2D1 test files by @MrJul in #20333
  • Update Nuke to v10 by @MrJul in #20345
  • Enable nullability in Base/Markup/Markup.Xaml unit tests by @MrJul in #20346
  • Fix NRE bug in TextShaperImpl.ShapeText on netstandard2.0 by @adams85 in #20369
  • Update NUnit to v4 by @MrJul in #20372
  • Enable nullability in Controls.UnitTests by @MrJul in #20373
  • Enable nullability in various test projects by @MrJul in #20374
  • Enable nullability in Avalonia.Native by @MrJul in #20378
  • Enable nullability in all samples by @MrJul in #20379
  • Fix ambiguous and dead inheritdoc links by @ScrubN in #20397
  • Fix Android obsolete warnings by @MrJul in #20412
  • Update CODE_OF_CONDUCT.md by @MikeCodesDotNET in #20417
  • Handle added packages in API diff by @MrJul in #20428
  • Fix some XML doc warnings by @MrJul in #20429
  • Fix ncrunch configuration. by @grokys in #20437
  • Move compiled bindings to Avalonia.Base. by @grokys in #20439
  • Add CompiledBinding.Create factory methods from LINQ expressions by @grokys in #20443
  • Fix android wrong inset safe area padding value after resume by @Shirasagi0012 in #20448
  • Implement scene delegate for iOS by @MrJul in #20454
  • Remove BinaryFormatter by @MrJul in #20455
  • Fix for HarfBuzz was missing by @timunie in #20456
  • Fix xUnit warnings in AnimationIterationTests by @MrJul in #20459
  • Fix Avalonia.Desktop.slnf compiling by @gehongyan in #20461
  • Fix NuGet warnings by @MrJul in #20466
  • Remove EnableUnsafeBinaryFormatterSerialization property by @MrJul in #20467
  • Update headless xUnit support to v3 by @MrJul in #20481
  • Composition system SP1 by @kekekeks in #20497
  • Enable warnings as errors by @MrJul in #20504
  • Fix typo in build.md by @mrlacey in #20513
  • Use net8.0 TFM for shipped build props by @kekekeks in #20518
  • Remove IInternalScroller and move IScrollable to Avalonia.Base by @MrJul in #20519
  • Remove IDataObject to IDataTransfer wrappers and related methods by @MrJul in #20521
  • Simplify text formatting constructors by @MrJul in #20527
  • Merge IGeometryContext and IGeometryContext2 by @MrJul in #20528
  • Make Screen abstract by @MrJul in #20529
  • Fix Android surface recreation by @kerams in #20538
  • Fix TabItem's Content inheriting TabControl's DataContext instead of TabItem's by @ptasev in #20541
  • Fixes several simple TODO12 by @MrJul in #20544
  • Add AlphaFormat to ILockedFramebuffer by @MrJul in #20556
  • Merge multiple interfaces related to rendering by @MrJul in #20557
  • Headless: use HarfBuzz by default by @MrJul in #20561
  • Merge IResourceHost2 into IResourceHost by @MrJul in #20576
  • Remove NativeMenuItemToggleType and NativeMenuBar.EnableMenuItemClickForwarding by @MrJul in #20577
  • Move ConstructorArgumentAttribute and remove BindingMode from ReflectionBinding constructor by @MrJul in #20589
  • Fix warnings and index bugs in ControlCatalog sample by @ThadHouse in #20590
  • Add IsAlive property to IRef by @MrJul in #20593
  • Make NUnit tests visible in Rider again by @MrJul in #20594
  • Remove AutoCompleteBox.BindingEvaluator by @MrJul in #20596
  • Make IPopupHost a private API by @MrJul in #20597
  • Headless NUnit: Handle async SetUp/TearDown by @MrJul in #20612
  • Remove obsolete members from Avalonia.Base by @MrJul in #20613
  • Remove obsolete members from Avalonia.Controls by @MrJul in #20617
  • Hide binding plugins and disable Data Annotations validation by default by @grokys in #20623
  • Remove obsolete members from various assemblies by @MrJul in #20628
  • Move GetWindowsZOrder to IWindowingPlatform by @MrJul in #20633
  • Fix Border clip regression by @kekekeks in #20648
  • Use KeySymbol for AccessKey by @MrJul in #20662
  • Fixed wrong Mac accessibility roles for List, ListItem, and StatusBar by @codecat in #20681
  • Make sure that adorners are actually correctly positioned in visual tree for TransformToVisual and friends by @kekekeks in #20691

11.3.12 · 11.3.12

2026-02-12 · by @MrJul

What's Changed

Enhancements

  • Core – Add AXAML Source Information to debug builds by @mrlacey in https://github.com/AvaloniaUI/Avalonia/pull/20524
  • Core – Improve the error message for invalid surface size by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20591
  • Core – Improve capture source change notification by @miloush in https://github.com/AvaloniaUI/Avalonia/pull/20656
  • Controls – Add LandmarkType automation property by @codecat in https://github.com/AvaloniaUI/Avalonia/pull/20134
  • Controls – Add LiveSetting automation property by @codecat in https://github.com/AvaloniaUI/Avalonia/pull/20473
  • Controls – Add automation peer for Expander control by @codecat in https://github.com/AvaloniaUI/Avalonia/pull/20475
  • Controls – Add property changed event for IToggleProvider by @codecat in https://github.com/AvaloniaUI/Avalonia/pull/20486
  • Controls – Add FindAncestorOfType and FindDescendantOfType with predicates by @miloush in https://github.com/AvaloniaUI/Avalonia/pull/20661
  • Controls – Add ItemStatus and ItemType automation properties by @miloush in https://github.com/AvaloniaUI/Avalonia/pull/20669
  • Windows – Add thread name in DxgiConnection by @lindexi in https://github.com/AvaloniaUI/Avalonia/pull/20505
  • Windows – Reduce the number of WrapDirect3D11Texture calls by @lindexi in https://github.com/AvaloniaUI/Avalonia/pull/20517

Fixes

  • Core – Reset cached transform on PopEffect by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20474
  • Core – Use epsilon-aware greater than in TextLine and TextFormatter by @kerams in https://github.com/AvaloniaUI/Avalonia/pull/20650
  • Controls – Fix DatePicker to respect custom Width property by @Evan260 in https://github.com/AvaloniaUI/Avalonia/pull/20487
  • Controls – Disable scroll chaining for ScrollViewers in popup by @rabbitism in https://github.com/AvaloniaUI/Avalonia/pull/20503
  • Controls – Fix TimePicker to respect custom Width property by @Evan260 in https://github.com/AvaloniaUI/Avalonia/pull/20507
  • Controls – Fix ScrollBar collapsing during active thumb drag by @dme-compunet in https://github.com/AvaloniaUI/Avalonia/pull/20563
  • Controls – Do not inherit TextDecorations in popup by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20472
  • Controls – Fix broken accessibility properties in ScrollBar control by @codecat in https://github.com/AvaloniaUI/Avalonia/pull/20483
  • Controls – Fix title bar appearing in content element accessibility tree by @codecat in https://github.com/AvaloniaUI/Avalonia/pull/20485
  • Android – Raise IAvaloniaActivity.Activated on new intent by @daniel-lerch in https://github.com/AvaloniaUI/Avalonia/pull/20564
  • Windows – Fix clipboard not returning bitmaps in some cases by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20506
  • Windows – Fix DxgiRenderTimerLoop throwing an exception when accessing a Screen instance @lindexi in https://github.com/AvaloniaUI/Avalonia/pull/20511
  • Windows – Fix clipboard bitmap pixel shift by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20654
  • X11 – Fix clipboard manager store completion by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20514
  • macOS – Release implicit mouse capture on focus lost by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20574
  • macOS – Ensure render target is at least 1x1 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20610

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/11.3.11...11.3.12


11.3.11 · 11.3.11

2026-01-13 · by @MrJul

What's Changed

Enhancements

  • Core – Add support for parsing BoxShadows with color functions by @gehongyan in https://github.com/AvaloniaUI/Avalonia/pull/20321
  • X11 – Set XkbSetDetectableAutoRepeat to true by @flabbet in https://github.com/AvaloniaUI/Avalonia/pull/20360

Fixes

  • Core – Fix thread-race condition in Dispatcher on shutdown by @11v1 in https://github.com/AvaloniaUI/Avalonia/pull/20299
  • Core – Fix NullReferenceException in TextShaperImpl.ShapeText on netstandard2.0 by @adams85 in https://github.com/AvaloniaUI/Avalonia/pull/20369
  • Core – Add null reference check for animation keyframes by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/20422
  • Core – Fix accessibility with screen reader on TextBlock with inlines by @codecat in https://github.com/AvaloniaUI/Avalonia/pull/20438
  • Core – Fix BindingExpression.LeafNode throwing when nodes list is empty by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/20442
  • Documentation – Update HelpLink for XAML namespace resolution by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20371
  • iOS – Fix TextInputResponder by @kerams in https://github.com/AvaloniaUI/Avalonia/pull/19310
  • Android – Call default back callbacks when not handled by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20452
  • Windows – Remove obsolete clipboard format CF_TEXT. by @yu-kopylov in https://github.com/AvaloniaUI/Avalonia/pull/20389
  • Headless – Fix InvalidOperationException Dispatcher job loop detected by @wieslawsoltes in https://github.com/AvaloniaUI/Avalonia/pull/20310

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/11.3.10...11.3.11


11.3.10 · 11.3.10

2025-12-18 · by @MrJul

What's Changed

Enhancements

  • Core – Allow stopping composition animation by @zxbmmmmmmmmm in https://github.com/AvaloniaUI/Avalonia/pull/20074
  • Core – Introduce PathSegmentEllipsis TextTrimming by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/20077
  • Core – Enable antialiasing based on EdgeMode in DrawBitmap by @snowflysky in https://github.com/AvaloniaUI/Avalonia/pull/20116
  • Core – Reduce allocations in text rendering by @Washi1337 in https://github.com/AvaloniaUI/Avalonia/pull/20175
  • Core – Improve effect render performance by providing Skia with information about subscene bounds by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/20191
  • Controls – Add StrokeMiterLimit property to Shape by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20156
  • Controls – Add FillRule property for Polyline/Polygon by @jsuarezruiz in https://github.com/AvaloniaUI/Avalonia/pull/20159
  • ReactiveUI – Remove Avalonia.ReactiveUI by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20101
  • Windows – Change empty TrayIcon to use lazy initialization by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20211
  • Windows – Export bitmap in more clipboard formats by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20209
  • macOS – Implement accessibility value setter by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20262
  • X11 – Add basic Pen support by @flabbet in https://github.com/AvaloniaUI/Avalonia/pull/19910

Fixes

  • Core – Fix newline requiring two backspaces to be deleted by @Linlccc in https://github.com/AvaloniaUI/Avalonia/pull/20073
  • Core – Correct some Container Query error outputs by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20170
  • Core – Fix ImmediateRenderer by @ds1709 in https://github.com/AvaloniaUI/Avalonia/pull/20174
  • Core – Fix exception when deleting a non-empty directory by @wasdawz in https://github.com/AvaloniaUI/Avalonia/pull/20194
  • Core – Fix SystemFontCollection by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/20207
  • Controls – Round measured cell sizes when UseLayoutRounding is enabled in UniformGrid by @Soar360 in https://github.com/AvaloniaUI/Avalonia/pull/19959
  • Controls – Preserve run formatting when applying SelectionForegroundBrush in SelectableTextBlock by @AuroraZiling in https://github.com/AvaloniaUI/Avalonia/pull/20110
  • Controls – Fix ReversibleStackPanel not invalidating arrange on ReverseOrder change by @Athari in https://github.com/AvaloniaUI/Avalonia/pull/20172
  • Controls – Skip disabled controls in XYFocus by @IanRawley in https://github.com/AvaloniaUI/Avalonia/pull/20241
  • Controls – Apply NumberFormat changes to NumericUpDown by @dpse in https://github.com/AvaloniaUI/Avalonia/pull/20248
  • Designer – Fix thread-safety issue causing infinite loops in TypeHelper cache by @copilot-swe-agent in https://github.com/AvaloniaUI/Avalonia/pull/20113
  • Windows – Fix no border sysmenu by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19923
  • Windows – Fix intermediate mouse points order by @flabbet in https://github.com/AvaloniaUI/Avalonia/pull/20075
  • Windows – Fix popups not closing when using WinForms Host by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20090
  • Windows – Fix winforms mnemonic handler being called when textbox is focused. by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20091
  • macOS – Use relative placement for detecting drag and drop locations. by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/20280
  • X11 – Avoid clearing clipboard if we still have the ownership by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20137
  • X11 – Clean up IME inconsistencies by @AlanIWBFT in https://github.com/AvaloniaUI/Avalonia/pull/20201
  • Android – Fix Android Api 36 by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20112
  • Android – Use androidx lib for backpressed callback by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20291
  • iOS – Fix on screen keyboard missing decimal separator by @YasarYY in https://github.com/AvaloniaUI/Avalonia/pull/20279
  • Headless – Fix headless race condition by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20143

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/11.3.9...11.3.10


11.3.9 · 11.3.9

2025-11-18 · by @MrJul

What's Changed

Enhancements

  • Core – Add SaveFilePickerWithResultAsync API by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/19783
  • Core – Primary mouse device by @miloush in https://github.com/AvaloniaUI/Avalonia/pull/19898
  • Core – Add an optional ConvertBack method to FuncValueConverter by @zacfromaustinpowder in https://github.com/AvaloniaUI/Avalonia/pull/19920
  • Core – Support reading from and copying images to clipboard by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19930
  • Core – Add SuggestedFileType for Save/OpenFilePicker by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/20026
  • Headless – Add headless AvaloniaTestIsolationLevel by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20000
  • Build – Update Avalonia.BuildServices package version by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/20078

Fixes

  • Core – Properly handle DrawableRun.Baseline by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19896
  • Core – Fix Selector.ValidateNestingSelector not calling overrides by @zacfromaustinpowder in https://github.com/AvaloniaUI/Avalonia/pull/19947
  • Core – Handle long file paths in UriFromFilePath by @startewho in https://github.com/AvaloniaUI/Avalonia/pull/19955
  • Core – Fix ServerCompositionSimplePen memory leak by @aguahombre in https://github.com/AvaloniaUI/Avalonia/pull/19958
  • Core – Cache platform font manager TryMatchCharacter result by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19987
  • Core – Fix EmbeddedFontCollection.TryGetNearestMatch caching by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/20013
  • Controls – Make ContentPresenter.RecognizesAccessKey stylable by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19893
  • Previewer – Don't let the PreviewerWindow be any size by @mrlacey in https://github.com/AvaloniaUI/Avalonia/pull/19957
  • Android – Fix changes to AccessibilityNodeInfoCompat.Checked data type from bool to int by @BobbyCannon in https://github.com/AvaloniaUI/Avalonia/pull/19985
  • Android - Fix external app not reading text in clipboard by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20023
  • macOS – Fix fullscreen transitions with ExtendClientAreaToDecorationsHint windows by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/19939
  • macOS – Fix XButtons event handler by @DrunkyBard in https://github.com/AvaloniaUI/Avalonia/pull/19997
  • macOS – Correct key mapping for scan code 0x18 by @snowflysky in https://github.com/AvaloniaUI/Avalonia/pull/20009
  • macOS – Fix TryCreateGlyphTypeface return on macOS with SkiaSharp 2.88 by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20084
  • Windows – Handle mouse movement in non-client areas of window. (#19922) by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/19922
  • Windows – Fix ComVariant native size (add extended field and asserts) by @AndreyRusyaev in https://github.com/AvaloniaUI/Avalonia/pull/20017
  • Windows – Do not activate embedded windows when shown by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/20027
  • Windows – Properly snapshot GlSkiaImportedImage by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/20053

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/11.3.8...11.3.9


11.3.8 · 11.3.8

2025-10-23 · by @MrJul

What's Changed

Enhancements

  • Core – Clarify the CenterX and CenterY properties documentation in RotateTransform by @YoriMirus in https://github.com/AvaloniaUI/Avalonia/pull/19741
  • Core – Add internal PointerCaptureChanging event by @miloush in https://github.com/AvaloniaUI/Avalonia/pull/19833
  • Core – Distribute LineGap evenly to top and bottom by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19556
  • Core – Adjust GetBackspaceCaretCharacterHit by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19586
  • X11 – Enable network location browsing in GTK file chooser dialogs by @meywd in https://github.com/AvaloniaUI/Avalonia/pull/19855

Fixes

  • Core – Fix PlatformDataTransferItem.TryGetRaw for unknown formats by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19791
  • Core – Ignore PointerOver change when pointer event is CancelCapture by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19808
  • Core – Added guards in TryGetGlyphTypeface so the $Default placeholder stops. by @wieslawsoltes in https://github.com/AvaloniaUI/Avalonia/pull/19891
  • Controls – LayoutTransformControl: fix memory leak due to Transform.Changed event subscription by @pavelovcharov in https://github.com/AvaloniaUI/Avalonia/pull/19718
  • Controls – Make ScreenBase impl more reliable by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/19762
  • Controls – Fix ArgumentException when showing multiple notifications with the same content by @fgsfds in https://github.com/AvaloniaUI/Avalonia/pull/19774
  • Themes – Fix Checkbox and RadioButton height in compact density of Fluent theme. by @miishan in https://github.com/AvaloniaUI/Avalonia/pull/19882
  • XAML – Fix ExpressionParseException being reported as an internal compiler error by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/19817
  • X11 – Fix DBus tray icon NullReferenceException when change visible by @memorydream in https://github.com/AvaloniaUI/Avalonia/pull/19742
  • Windows – Fix margins and nc hit test for caption buttons in extend to client windows by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19773
  • Windows – Fix Win32Exception when a file picker has an invalid file type by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/19812
  • Windows – Add finalizer to Win32Icon which frees its GDI handle by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/19813
  • Windows – Prevent duplicated files during drag-and-drop by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19864
  • Windows – Properly handle non standard italic/oblique fonts on Windows by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19876
  • Android – Fix scaling of inset when app is launched by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19797
  • macOS – Add parent/automationPeer null guards on AvnWindow by @jmacato in https://github.com/AvaloniaUI/Avalonia/pull/19805

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/11.3.7...11.3.8


11.3.7 · 11.3.7

2025-10-03 · by @MrJul

What's Changed

Features

  • Core – Clipboard rework by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19347
  • Controls – Add IsEditable to ComboBox by @almightyju in https://github.com/AvaloniaUI/Avalonia/pull/18094
  • Controls – Add SplitViewPanePlacement settings for Top and Bottom by @danwalmsley in https://github.com/AvaloniaUI/Avalonia/pull/19465
  • Controls – Add HeadingLevel to AutomationProperties by @codecat in https://github.com/AvaloniaUI/Avalonia/pull/19696
  • X11 – Add INCR support by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/18428
  • macOS – Implement IOSurface/MTLSharedEvent interop APIs by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/18791
  • Windows – Respond to WM_CAPTURECHANGED by @miloush in https://github.com/AvaloniaUI/Avalonia/pull/19685

Enhancements

  • Core – Add BoxShadow(s) documentation comments by @robloo in https://github.com/AvaloniaUI/Avalonia/pull/19644
  • Core – Add Add/Remove event handler methods to DragDrop. by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/19739
  • Themes – Add resource for TextControlPlaceholderOpacity by @codecat in https://github.com/AvaloniaUI/Avalonia/pull/19705
  • Build – Update Avalonia.BuildServices package version by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/19757

Fixes

  • Core – Fix BoxShadow equality by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19650
  • Core – Fix typeface exception when created with empty font family name by @jay-mao-cn in https://github.com/AvaloniaUI/Avalonia/pull/19654
  • Core – Do not recapture already captured element by @miloush in https://github.com/AvaloniaUI/Avalonia/pull/19740
  • Controls – Fix tooltip hit test following a dirty rect invalidation not respecting IsHitTestVisible by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/19642
  • Controls – Limit InlineUIContainer to available width by @miloush in https://github.com/AvaloniaUI/Avalonia/pull/19651
  • Controls – Make sure inlines properly inherit text run properties from their parent by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19750
  • Controls – Fix focus issues with ComboBox by @almightyju in https://github.com/AvaloniaUI/Avalonia/pull/19672
  • XAML – Fix TypeConverterAttribute for avalonia properties by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/19727
  • XAML – Add FindAssembliesGrantingInternalAccess to AvaloniaXamlIlRuntimeCompiler by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/19735
  • X11 – Fix memory leaks when closing a window on Linux by @dif-sam in https://github.com/AvaloniaUI/Avalonia/pull/19699
  • macOS – Move Drag and Drop logic to TopLevelImpl by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/19731
  • Browser – Fix StorageItem methods not working and handle conversion issue by @Bugord in https://github.com/AvaloniaUI/Avalonia/pull/19708
  • Build – Remove Microsoft.SourceLink.GitHub PackageReference by @KirillOsenkov in https://github.com/AvaloniaUI/Avalonia/pull/19744

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/11.3.6...11.3.7


11.3.6 · 11.3.6

2025-09-12 · by @MrJul

What's Changed

Enhancements

  • macOS – Adjust macOS Tray/Menu icons scaling by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/19628

Fixes

  • Windows – Fix OS timer interval calculation in Windows dispatcher by @Swarley97 in https://github.com/AvaloniaUI/Avalonia/pull/19597
  • Windows – Fix maximized window being able to resize by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19620
  • macOS – Fix SkiaSharp 3 Metal interop signature by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19598
  • iOS – Backport GRContext bugfix by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/19615
  • X11 – Ignore empty preeditText when no composition was active before (#19595) by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19621
  • Headless – Fix headless FontManager leak by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/19599
  • Text – Fix TextLine.GetTextBounds zero width run by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19602
  • Text – Fix TextLineImpl.GetTextBounds with trailing zero width by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19616

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/11.3.5...11.3.6


11.3.5 · 11.3.5

2025-09-03 · by @MrJul

What's Changed

Features

  • Core – Update Brush.Parse() to Handle all Color Formats by @robloo in https://github.com/AvaloniaUI/Avalonia/pull/19526
  • Text – Make typeface matching and synthetic typeface creation customizable by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/18890

Fixes

  • Core – Fix validation error not being cleared on valid input by @ondrejsusovsky in https://github.com/AvaloniaUI/Avalonia/pull/19477
  • Core – Schedule a full render pass on CompositionBatchCompletion to prevent tearing by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/19487
  • Core – Fix TransformGroup.Children collection changes not changing TransformGroup.Value by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/19525
  • Core – Fixes duplicate class property registration by @coltonk9043 in https://github.com/AvaloniaUI/Avalonia/pull/19558
  • Text – Fix overhang calculation by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19013
  • Text – Fix zero width space handling by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19488
  • Text – Fix FontCollection.MatchCharacter by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19494
  • Text – Do not treat combining marks as whitespace by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19498
  • Text – FontLoading adjustments by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19538
  • Text – Rework TextLineImpl.GetTextBounds by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19576
  • Controls – Fix usage of GridSplitter inside ItemsControl as ItemsPanel by @wieslawsoltes in https://github.com/AvaloniaUI/Avalonia/pull/19200
  • Controls – Fix RelativePanel calculation error with extensible and aligned child by @msojocs in https://github.com/AvaloniaUI/Avalonia/pull/19474
  • Controls – Fix selected files filename in managed file chooser by @loyvsc in https://github.com/AvaloniaUI/Avalonia/pull/19540
  • Controls – Fix BringDescendantIntoView with respect to margins by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19544
  • iOS – Pass app delegate to the default UseiOS call by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/19550
  • Windows – Fix Win32 GDI leak on TrayIcon close by @coltonk9043 in https://github.com/AvaloniaUI/Avalonia/pull/19583

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/11.3.4...11.3.5


11.3.4 · 11.3.4

2025-08-15 · by @MrJul

What's Changed

Features

  • Controls - Add Window.CanMinimize/CanMaximize by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/18117
  • Controls - Add Window.IsDialog by @davisx2 in https://github.com/AvaloniaUI/Avalonia/pull/19226
  • Controls - Add Calendar.AllowTapRangeSelection by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/19367
  • Android - Retrieve platform input config value by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19446

Fixes

  • Core - Fix WeakEvent subscription management thread race condition by @11v1 in https://github.com/AvaloniaUI/Avalonia/pull/19383
  • Controls - Enable Copy and Cut in ContextMenu for AutoCompleteBox by @zrt2399 in https://github.com/AvaloniaUI/Avalonia/pull/19087
  • Controls - Removed all nullability overrides from TimePickerPresenter and DatePickerPresenter by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/19241
  • Controls - Track TabIndex value in NumericUpDown by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/19348
  • Controls - Fix SplitView incorrectly closing when the user changes DisplayMode to Inline when IsPaneOpen is already true by @danwalmsley in https://github.com/AvaloniaUI/Avalonia/pull/19460
  • X11 - Fix a typo in X11Window ClientMessageEvent.ptr5 by @walterlv in https://github.com/AvaloniaUI/Avalonia/pull/19439
  • Android - Fix duplicated pointer events by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19440
  • macOS - Remove non implemented message AvnView.resetPressedMouseButtons by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/19445
  • macOS - Fix thick titlebar mouse event duplication by @ErtyHackward in https://github.com/AvaloniaUI/Avalonia/pull/19447

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/11.3.3...11.3.4


11.3.3 · 11.3.3

2025-08-05 · by @MrJul

What's Changed

Features

  • Documentation - Add OpenGlControlBase XML docs by @maxkatz6 in https://github.com/AvaloniaUI/Avalonia/pull/19188
  • Core - Add InputPaneActivationRequested in TextInputMethodClient by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19225
  • Controls - Add a buffer cache to containers in VirtualizingStackPanel by @gentledepp in https://github.com/AvaloniaUI/Avalonia/pull/18646
  • iOS - Enable Pointer/Trackpad scrolling by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/19342
  • iOS - Implement Save File Picker Support by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/19364

Fixes

  • Core - Properly check if DispatcherOperation is pending when executing/aborting by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/19132
  • Core - Fix memory leak by clearing shared array pool references in LightweightObservableBase by @walterlv in https://github.com/AvaloniaUI/Avalonia/pull/19167
  • Core - Fix random NRE inside Compositor.CommitCore() callback. by @EgorRudakov2 in https://github.com/AvaloniaUI/Avalonia/pull/19173
  • Core - Set IsKeyboardFocusWithin to false when control is detached from visual tree by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19369
  • Controls - Fixed ComboBox focus styles not being applied by @0xJins in https://github.com/AvaloniaUI/Avalonia/pull/19147
  • Controls - Make textbox context menu transient on mobile by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19182
  • Controls - Remove textbox holding handler in text selection handle by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19186
  • Controls - Use captured element if available as source for tap gestures by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19222
  • Controls - Grid: Fix inner size calculation when Row/ColumnDefinition is not set but spacing is set by @zxbmmmmmmmmm in https://github.com/AvaloniaUI/Avalonia/pull/19227
  • Text - Fix selecting multiple lines in RTL mode by @AhmedZero in https://github.com/AvaloniaUI/Avalonia/pull/19093
  • Text - Fix TextLineIImpl.GetTextBounds for clustered trailing zero width characters by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19208
  • Text - Fix multiline selection crash by @kerams in https://github.com/AvaloniaUI/Avalonia/pull/19337
  • Skia - Explicit dispose of GRBackendRenderTarget and SKSurfaceProperties by @vadimart92 in https://github.com/AvaloniaUI/Avalonia/pull/19100
  • macOS - Replace manual input tracking with NSEvent by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/19101
  • macOS - Fixes thick titlebar pointer events streaming by @ErtyHackward in https://github.com/AvaloniaUI/Avalonia/pull/19320
  • X11 - Fix X11Screen info update incorrectly when screen changed by @Handsome08 in https://github.com/AvaloniaUI/Avalonia/pull/19262
  • X11 - Stopgap fix for Clipboard.ClearAsync not returning by @kekekeks in https://github.com/AvaloniaUI/Avalonia/pull/19302
  • Android - Restrict souce of input events to avalonia view by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19289
  • Win32 - Enable tray icon creation in all circumstances when running as an admin by @lwz-sabrina in https://github.com/AvaloniaUI/Avalonia/pull/19382

Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/11.3.2...11.3.3


11.3.2 · 11.3.2

2025-06-24 · by @MrJul Full Changelog: https://github.com/AvaloniaUI/Avalonia/compare/11.3.1...11.3.2

What's Changed

Enhancements

  • Documentation – Corrected PointerPointProperties inline documentation, and exposed it on PointerEventArgs by @TomEdwardsEnscape in https://github.com/AvaloniaUI/Avalonia/pull/19062
  • Controls – Remove the need for MenuItem Icon to be a ILogical by @Doraku in https://github.com/AvaloniaUI/Avalonia/pull/19075

Fixes

  • Core – Extend dirty rect when UseLayoutRounding=false by @MrJul in https://github.com/AvaloniaUI/Avalonia/pull/18511
  • Core – Properly handle in cluster ShapedBuffer split by @Gillibald in https://github.com/AvaloniaUI/Avalonia/pull/19090
  • Controls – Reverse TickBar when Slider direction is reversed by @zrt2399 in https://github.com/AvaloniaUI/Avalonia/pull/19096
  • Android – Better api level detection for display edge to edge and ignore system bar color changes if on api level 35 by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19034
  • Android – Fix oversight with display edge to edge detection for android 16 by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19067
  • Android – Revert changes preventing status bar theme from being updated by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19076
  • Android – Reset android input method focus and connection state when text input focus is removed by @emmauss in https://github.com/AvaloniaUI/Avalonia/pull/19083
  • macOS – SuggestedStartLocation is not set if the FileTypeChoices is not null by @Whiletru3 in https://github.com/AvaloniaUI/Avalonia/pull/19036
  • macOS – Respect info.plist values for setActivationPolicy by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/19066
  • macOS – Add shouldResize value to SetWindowState, don't resize on Window move by @drasticactions in https://github.com/AvaloniaUI/Avalonia/pull/19088