What's Changed
Enhancements
- Core – Preserve current
Animationprogress ifSpeedRatioorPlaybackDirectionchanges by @timiimit-tam in #19830 - Core – Add
TextInputOptions.HintLocalesby @kerams in #21528 - Controls – Implement
VerticalContentAlignmentforDatePickerandTimePickerby @JoaoMSSCruz in #21464 - Controls – Add
:emptypseudoclass forContentControlby @zrt2399 in #21829 - Controls – Propagate
Popup.IsHitTestVisibletoIPopupImplto skip hit-testing popups on the OS level if available by @kekekeks in #21916 - Controls – Add
Contentattribute toContentPresenterby @zrt2399 in #21997 - Controls – Don't build the selected text just to check whether a selection exists by @NathanDrake2406 in #22100
- macOS – Enable picking
.app-packages as a folder by @jakobhellermann in #21925 - Linux – Select a KMS-capable DRM card automatically by @Illustar0 in #21923
- Android – Support
TextInputOptions.IsSensitiveandContentTypePin by @dariostrm in #22110 - iOS – Implement VoiceOver support by @IsaMorphic in #18016
Fixes
- Core – Fix
GeometryBuilder.DrawRoundedCornersRectangleforRectby @robloo in #21482 - Core – Fix Vulkan image layout in GPU interop by @nateglasser in #21787
- Core – Fix
ServerCompositionDrawingSurfaceorphaning GPU snapshots when an update is processed afterDisposeby @ddunham121 in #21876 - Core – Fix
Loadedevent processing after a handler throws by @NathanDrake2406 in #21877 - Core – Keep transform playback in sync when hidden by @NathanDrake2406 in #21896
- Core – Fix vector geometry anti-aliasing regression by making stencil buffers opt-in by @NathanDrake2406 in #21899
- Core – Fix
AccessKeyHandlerwhen no descendant control has focus by @AutumnYuanc in #21920 - Core – Ensure that
ActualThemeVariantalways has a proper value by @MrJul in #21930 - Core – Fix init order of
SetupWithClassicDesktopLifetimeby @MrJul in #21954 - Core – Raise
TopLevel.Closedfrom managedDisposepaths by @kekekeks in #22045 - Core – Ignore default ignorable codepoints in font fallback by @Gillibald in #22059
- Core – Justify word gaps that fall on a run boundary by @Gillibald in #22065
- Core – Snap a right-to-left buffer split to the cluster boundary by @Gillibald in #22066
- Core – Do not shape the space after fallback text with the fallback font by @Gillibald in #22067
- Core – Use effective capturer (which can be recognizer) for
PlatformCaptureby @kekekeks in #22076 - Core – Short-circuit the binding chain on a null-conditional operator by @grokys in #22082
- Core – Fix dispatcher frame capturing wrong dispatcher by @kekekeks in #22086
- Core – Fix memory leak when binding to observables by @grokys in #22097
- Core – Fix data validation errors not showing for
OneWayToSourcebindings by @grokys in #22103 - Core – Fix focus being locked when restoring focus to a control that's detached from the visual tree by @emmauss in #22113
- Core – Fix infinite loop when a text run shapes to no glyphs by @Gillibald in #22119
- Controls – Fix
SelectableTextBlockselection for centered and right-aligned text by @zrt2399 in #21369 - Controls – Use large scroll events for
ScrollBar'sScrollToHomeandScrollToEndby @zrt2399 in #21748 - Controls – Hide cached focused items in
VirtualizingStackPanelby @NathanDrake2406 in #21835 - Controls – Set the
LogicalParentof theTableViewColumnby @OleRoss in #21840 - Controls – Disconnect template descendants hosted inside
Viewboxwhen the template changes by @NathanDrake2406 in #21879 - Controls – Fix
SelectableTextBlockselection when text content changes by @zrt2399 in #21894 - Controls – Fix
TreeViewItem.BringIntoViewby @MrJul in #21918 - Controls – Use
ItemTemplateforComboBox's selection box for controls by @MrJul in #21937 - Controls – Fix
WrapPanellayout jitter withLineSpacingby @zrt2399 in #21942 - Controls – Fix tooltip flickering by @MrJul in #21965
- Controls – Fix
VirtualizingStackPaneloffset when scrolling to variable-sized items by @zrt2399 in #21975 - Controls – Update
TabbedPage.xamlcolor resources by @smaicas in #21994 - Controls – Fix multiple
ScrollContentPresenter.BringDescendantIntoViewcalls by @MrJul in #22001 - Controls – Fix icon not rendered for
CalendarDatePickerin some cases by @timunie in #22012 - Controls – Fix
VirtualizingStackPanelScrollToEndwith variable-sized items by @zrt2399 in #22014 - Controls – Fix
TextBlockellipsis not showing withTextWrappingandMaxLinesby @puk06 in #22017 - Controls – Show the
RefreshContainerrefresh indicator when refresh is triggered programmatically by @emmauss in #22020 - Controls – Fix
DatePickerandTimePickerseparator alignment withVerticalContentAlignmentby @zrt2399 in #22023 - Controls – Invalidate image measure when
DrawingImagesource invalidates by @emmauss in #22028 - Controls – Fix light dismiss behavior when opened from the
ContextMenuby @Linlccc in #22037 - Controls – Handle clipboard exceptions in
TextBox/SelectableTextBlockby @MrJul in #22052 - Controls – Revert "Stop
HotKeyManagerfrom triggering on hidden controls" by @grokys in #22071 - Controls – Fix auto-sized
VirtualizingStackPanelnot rendering by @MrJul in #22081 - Controls – Fix crash when changing source during
SelectionChangedby @grokys in #22102 - Windows – Drop dead
WM_POINTERDEVICEINRANGE/WM_POINTERDEVICEOUTOFRANGEhandling by @kekekeks in #22046 - Windows – Fix pointer capture cancellation by @kekekeks in #22054
- Windows – Fix hidden
TrayIconappearing after icon updates by @Linlccc in #22125 - macOS – Keep window creation on-screen during display reconfiguration by @brianwphamSF in #21543
- macOS – Fix
NSTextInputClientrange handling and null dereference issues by @Gillibald in #21885 - macOS – Open a submenu when its parent menu item is clicked by @AntonZelinsky in #21890
- macOS – Fix
keyDownevent handling for input methods by @Gillibald in #21906 - macOS – Use
NSTrackingInVisibleRectfor mouse movement tracking by @drasticactions in #21996 - macOS – Prevent title bar flash on fullscreen exit by @Illustar0 in #22101
- X11 – Fix
AVALONIA_SCREEN_SCALE_FACTORShandling by @lindexi in #22129 - Wayland – Handle (0,0) surface size by @MrJul in #21863
- Linux – Fix wrong escaping on
xdg-openby @ReinaS-64892 in #21936 - Linux – Free native DRM resources after enumeration by @Illustar0 in #21924
- Android – Fix multiline
TextBoxcaret staying on previous line after autocorrect + Enter by @Zeljko-Predjeskovic in #21900 - Android – Fix
TryGetFileFromPathAsync/TryGetFolderFromPathAsyncreturning null forcontent://URI by @lfeng1420 in #21986 - Android – Unregister automation peers when their control leaves the visual tree by @ronnycohen in #22024
- Android – Fix crash on a stale accessibility virtual view id by @ronnycohen in #22122
- Android – Don't walk an
InteropAutomationPeerduring accessibility traversal by @ronnycohen in #22123 - iOS – Fix issue with creating files under app container Documents directory by @KijongHan in #22031
- Browser – Fix
BrowserDispatcherImplnever setting_signaledflag by @appel1 in #22093
Full Changelog: 12.1.1...12.1.2