| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| 12.0.0 source code.tar.gz | 2026-04-06 | 50.6 MB | |
| 12.0.0 source code.zip | 2026-04-06 | 53.2 MB | |
| README.md | 2026-04-06 | 37.3 kB | |
| Totals: 3 Items | 103.9 MB | 1 | |
General
Read our release blog post for more information about Avalonia 12!
Useful links:
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
GotFocusandLostFocushandling 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.Viewboxby @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
CharacterReaderinternal. by @grokys in https://github.com/AvaloniaUI/Avalonia/pull/19123 - Fix typo:
ExternalGLibMainLoopExceptionLoggerby @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
SelectingItemsControltypes plusTreeViewby @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<T> 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
IBindingtoBindingBaseand 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
AvaloniaNameIncrementalGeneratorerror 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
inheritdoclinks 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<T> 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
TabControlDataContextissues 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.TextBindingon 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