Releases: AvaloniaUI/Avalonia
Releases · AvaloniaUI/Avalonia
Release list
11.3.20
What's Changed
Fixes
- macOS – Fix
NSTextInputClientrange handling and null dereference issues by @Gillibald in #21885
Full Changelog: 11.3.19...11.3.20
11.3.19
What's Changed
Enhancements
- Core – Propagate
Popup.IsHitTestVisibletoIPopupImplto skip hit-testing popups on the OS level if available by @kekekeks in #21916
Fixes
- XAML – Don't include non-text files in Roslyn's
AdditionalFilesby @maxkatz6 in #21729 - X11 – Fix active window tracking by @kekekeks in #21846
Full Changelog: 11.3.18...11.3.19
12.1.1
What's Changed
Enhancements
- Controls – Add
ToolTip.ShouldUseOverlayLayerattached property by @rabbitism in #21830 - XAML – Allow single parameter with any type when binding to a method by @MrJul in #21867
- Wayland – Add
UseWaylandWithFallbackby @kekekeks in #21734 - Android – Expose
AutomationIdas resource-id for Android automation by @stevemonaco in #21780
Fixes
- Core – Fix
Dispatcher.ReplaceImplementationby @kekekeks in #21735 - Core – Reapply cached binding source values during
UpdateTargetby @NathanDrake2406 in #21756 - Core – Fix custom-hit-test optimization by @kekekeks in #21769
- Core – Detach platform input when presentation source closes by @NathanDrake2406 in #21782
- Core – Fix line break enumerator infinite loop by @rabbitism in #21808
- Core – Fix EGL surface recreation after native handle changes by @AB901 in #21816
- Core – Fix stale
_usedCachevalue that wasn't reset properly in compositor by @kekekeks in #21823 - Core – Properly wire
CompositionInterop.IsLostby @kekekeks in #21824 - Core – Preserve lines at rounded fractional heights by @NathanDrake2406 in #21834
- Controls – Correct nested
TreeViewItemselection behaviour on pointer release by @TomEdwardsEnscape in #21705 - Controls – Fix some issues on
SelectingItemsControlswhen items or control changes visibility by @timunie in #20798 - Controls – Stop
HotKeyManagerfrom triggering on hidden controls (#21708) by @1419323749 in #21714 - Controls – Fix
SplitViewstealing BackRequested when its pane is closed (#21740) by @gentledepp in #21741 - Controls – Fix
CommandBarsecondary visibility during overflow open by @NathanDrake2406 in #21742 - Controls – Fix
AutoCompleteBoxpopup not closing on focus lost by @MrJul in #21749 - Controls – Position popup using the screen containing the anchor point by @MrJul in #21750
- Controls – Keep page in
NavigationPage's logical tree until animation is complete by @MrJul in #21751 - Controls – Fix
SimpleThemefocus adorner contrast in dark mode by @iamvalenciia in #21753 - Controls – Fix
ComboBoxdropdown not scrolling to selected item when opened by @zrt2399 in #21764 - Controls – Allow
Gridshared size groups to shrink by @NathanDrake2406 in #21837 - Controls – Fix
ListBoxcrash when scrolling after item removal by @NathanDrake2406 in #21838 - Controls – Clear
TextBoxundo history on external text updates by @NathanDrake2406 in #21839 - Controls – Register
Gridassigned definition collections with their shared size group by @NathanDrake2406 in #21848 - Controls – Initialize
TextBoxcommand states in constructor by @zrt2399 in #21859 - Controls – Fix infinite loop in tab stop search with
TabNavigation=Onceby @maggch97 in #21864 - Controls – Handle
Paddingcorrectly inScrollContentPresenterby @MrJul in #21872 - XAML – Respect disabled Avalonia name generator by @mklts in #21804
- XAML – Support
{Binding ^}pattern forIObservableDataContextby @rabbitism in #21812 - Windows – Fix Vulkan popup transparency by @the-bla in #21802
- macOS – Fix IME preedit lost on focus change by @hyunq21 in #21601
- macOS – Fix off-thread accessibility hit-test crash by @VicChelaru in #21779
- macOS – Fix app activation by @JakobScholer in #21799
- X11 – Fix active window tracking by @kekekeks in #21846
- X11/Wayland – Fix
DBusPlatformSettingsNullReferenceExceptionby @pos777 in #21831 - Wayland – Report disposed
WaylandEglWsiSurfacerender target by @MrJul in #21857 - Wayland – Destroy transient framebuffer SHM pools by @jmacato in #21870
- Android – Fix multiline
TextBoxIME offsets by @AlexSCcon in #21680 - iOS – Block external roles from activating
UISceneby @drasticactions in #21844 - Headless – Fix headless session hang when cleanup throws by @NathanDrake2406 in #21781
Full Changelog: 12.1.0...12.1.1
12.1.0
General
Read our release blog post for more information about new features in Avalonia 12.1.0!
What's Changed
Enhancements
- Core – Allow setting
ThemeVarianttoDefaultto reset theme to system on android by @emmauss in #16340 - Core – Allow
Dispatcherto be converted to aTaskSchedulerby @TomEdwardsEnscape in #21032 - Core – Remove obsolete int32 limit on
DispatcherTimer.Intervalby @TomEdwardsEnscape in #21113 - Core – Bump MicroCOM and use source generators by @maxkatz6 in #21218
- Core – Improve composition hit testing performance with per-visual AABBs by @hez2010 in #21310
- Core – Tests/render data drawing context coverage by @ZehMatt in #21341
- Core – Align Touch/Pen capture semantics with Mouse (#21325) by @miloush in #21363
- Core – Refactor per-draw render data allocations with a binary opcode stream by @ZehMatt in #21366
- Core – Allow attaching a platform-specific event cookie to platform events by @kekekeks in #21378
- Core – Pass original logical size to render targets by @kekekeks in #21380
- Core – Pass shadow extents to the platform by @kekekeks in #21385
- Core – A bit better handling of gpu context loss by @kekekeks in #21387
- Core – Platform event to toggle drawn decorations state by @kekekeks in #21388
- Core – Use
eglGetProcAddressinstead ofNativeLibrary.TryGetExportby @kekekeks in #21392 - Core – Support desktop OpenGL profiles via EGL by @kekekeks in #21393
- Core – Implement
IStorageProvider.OpenFileWithResultAsyncby @MrJul in #21418 - Core – Implement
Bitmap.Savewith a format by @MrJul in #21455 - Core – Disable region dirty rect clipping by default by @MrJul in #21553
- Core – Enable stencil buffers by default + add configurable option by @MrJul in #21586
- Core – avoid
SKBitmap.Copywhen creatingImmutableBitmapfrom pixels by @kekekeks in #21675 - Core – Generate a CycloneDX SBOM per published NuGet package by @grokys in #21681
- Core – Composition-aware geometries and drawing change detection by @MrJul in #21682
- Controls – Improve pull-to-refresh usability in
RefreshContainerby @gentledepp in #18617 - Controls – Add
ScrollbarContext Menu by @drasticactions in #19413 - Controls – Add custom
CalendarDatePickerdate parsing to allow for multiple user input formats by @Deadpikle in #21193 - Controls – Implement
TableViewby @MrJul in #21511 - Controls – Show checkerboard background for transparent ColorView palette items by @Jaex in #21613
- Controls – Allow copying and cutting revealed TextBox passwords by @zrt2399 in #21710
- Windows – Optimize rendering performance by reducing premultiplied AlphaMode by @lindexi in #20757
- Windows – Create
Avalonia.WinUIfor initial WinUI embed support by @drasticactions in #21430 - Windows – Implement
Win32Properties.WindowCornerPreferenceby @MrJul in #21615 - Windows – Support rendering at max refresh rate of current displays by @emmauss in #21643
- Windows – Let
GraphicsAdapterSelectionCallbacksee unfiltered adapters and warn on Adreno WARP fallback by @nickna in #21695 - X11 – Implement automatic fps detection by @kekekeks in #18558
- X11 – Implement XDND: drag-and-drop support for Linux by @MrJul in #20926
- X11/Wayland – Update to latest
Tmds.DBus.Protocolby @tmds in #21472 - X11/Wayland – Better platform window handle abstraction for
DBusSystemDialogby @kekekeks in #21379 - X11/Wayland – Introduce cross-thread support for
AutomaticRawEventGrouperDispatchQueueby @kekekeks in #21386 - X11/Wayland – Workarounds for NVIDIA EGL drivers by @kekekeks in #21590
- Wayland – Wayland-specific handling for platform surface readiness by @kekekeks in #21382
- Wayland – Roslyn generator for generating cross-thread call proxies by @kekekeks in #21384
- Wayland – Wayland protocol support by @kekekeks in #21448
- Wayland – Added GLib event loop support to wayland backend by @kekekeks in #21669
- Android/iOS – Add platform feedback api for sound and haptic feedback by @emmauss in #21189
- Android – Use BCL storage for
TryGetapi by @emmauss in #21641
Fixes
- Core – Remove dead code in
AvaloniaObjectby @grokys in #21452 - Core – Fix text selection brush not applying when text selection changes by @emmauss in #21480
- Core – Fix
RequestedThemeVariantdefault value by @MrJul in #21624 - Core – Rework text fallback itemization by @Gillibald in #21631
- Core –
InterWordJustificationfixes by @Gillibald in #21701 - Core – Fix
BclLauncher.Execthrowing instead of returning false by @Misaka-L in #21704 - Controls – Return false by default from
FocusManager.CanHaveFocusableChildrenby @freddiesmartbox in #21640 - Controls – Fix
SelectableTextBlockselection offset withInlineUIContainerby @JoshuaRowePhantom in #21646 - Controls – Fix
PART_OnContentPresentername typo inToggleSwitchby @zrt2399 in #21728 - XAML – Compiled Bindings: Fix unpredictable binding to method selection by @maxkatz6 in #21617
- XAML – Don't include non-text files in Roslyn's
AdditionalFilesby @maxkatz6 in #21729 - Windows – Fix
TopMosthandling for Popups by @StefanKoell in #17841 - Windows – Support decimal in automation
ComVariant(fixesNumericUpDowncrash under UIA) by @valentino-saitz-optris in #21634 - Windows – Respect IME preedit cursor position by @gotoh in #21632
- Windows – Align
ExpandCollapseStatemember order with UIA by @jmacato in #21693 - Windows – Fix working area changed won't update screen by @Misaka-L in #21707
- Windows – Fix empty automation bounds for custom root providers by @jmacato in #21730
- X11 – Fix mishandled cancellation in
DBusTextInputMethodBaseby @deryaza in #21527 - X11 – Re-read
_NET_WORKAREAon WMPropertyNotifyby @lambgoesbaa in #21651 - X11 – Fix XEmbed client by @kekekeks in #21677
- Android – TalkBack should still respond to all hover events by @IsaMorphic in #21644
- Android – TalkBack should highlight controls instead of their ancestors by @IsaMorphic in #21654
- Android – Fix crash populating accessibility node for some peers by @mikegoatly in #21726
- Android – Fix AvaloniaView double root creation by @MrJul in #21738
- Browser – Fix typo:
verityPermissions->verifyPermissionsby @Frederisk in #21281 - Headless – Fix hang if exception is thrown during headless session app construction by @ThadHouse in #21688
Misc
- Samples – Update ControlCatalog to use the Page system by @emmauss in #21044
- Samples – Fix OpenGL Lease page not showing in ControlCatalog by @MrJul in #21198
- Samples – Improve ControlCatalog sidebar search by @jsuarezruiz in #21236
- Samples – ControlCatalog: improve transparent appearance by @MrJul in #21441
- ...
12.0.5
What's Changed
Enhancements
- Core – Implement Unicode word segmentation and update to Unicode v17 by @JimBobSquarePants in #21361
- Core – Unicode and text layout optimizations by @Gillibald in #21400
- Core – Expose
Calendarday button selection state to automation by @jmacato in #21540 - Core – Expose menu item toggle state to automation by @jmacato in #21541
- Core – Support Value pattern on editable
ComboBoxautomation peer by @jmacato in #21545 - XAML – Enhance Roslyn-compiler visible metadata by @maxkatz6 in #21546
- Windows – Fall back to pixel location when
GetPointerDeviceRectsis unavailable by @Symbai in #21337 - macOS – Add AX
BringIntoView/AXScrollArearole by @jmacato in #21457 - macOS – Synchronize Metal drawable presentation by @drasticactions in #21588
- macOS – Expose
ScrollViewerscroll bars to accessibility by @jmacato in #21596 - macOS – Report read-only value state to accessibility by @jmacato in #21597
- macOS – Expose tree item selection to accessibility by @jmacato in #21598
- X11 – Expose placeholder text as the AT-SPI placeholder-text attribute by @jmacato in #21554
- Android – Add support for hover events on android by @emmauss in #21551
- Headless – Add sleep timer option by @maxkatz6 in #21423
Fixes
- Core – Fix culture aware font matching by @Gillibald in #21435
- Core – Fix
TextCollapsingPropertiesbidirectional-text (BiDi) correctness by @Gillibald in #21446 - Core – Fix
NotificationCardpseudo class state whenNotificationTypechanges by @zrt2399 in #21490 - Core – Apply placeholder opacity to combobox placeholder textblock by @emmauss in #21493
- Core – Fix radio button disabled fill and stroke brushes by @emmauss in #21495
- Core – Listen to layout changes for ancestor visuals in text selection canvas by @emmauss in #21536
- Core – Fix caption button background in dark mode by @MrJul in #21555
- Core – Fix system font caching when retrieved with a different name by @MrJul in #21557
- Core – Fix
StackOverflowwhen aNaNoffset is set onScrollViewerby @NicholasLachapelle in #21558 - Core – Avoid read-only editing side effects in
TextBoxkeyboard handlers by @zrt2399 in #21587 - Core – Fix
TimePickerselection style by @shine1258 in #21626 - Core – Suppress culture flowing with
ExecutionContextcaptured byDispatcherOperationby @kekekeks in #21627 - XAML – Fix some AOT warnings by @maxkatz6 in #21616
- XAML – Fix typo in key assignment for reference assembly by @collindang88 in #21474
- Windows – Fix window animations in extended mode by @MrJul in #21498
- Windows – Fix
WinUiCompositorConnectiondeadlock by @MrJul in #21591 - macOS – Map
ListItemaccessibility peer toAXRowby @jmacato in #21537 - macOS – Fix
AXLayoutChangednotifications dropped for template-internal peers by @jmacato in #21595 - macOS – Fix accessibility read-only, selection, and expand/collapse actions by @jmacato in #21599
- macOS – Handle
replacementRangeinAvnViewby @MrJul in #21608 - X11 – Fix
BorderOnlywindow resizing by @ruddypp in #21579 - X11 – Fix
ClipboardUriListHelpernot flushing by @MrJul in #21589 - X11 – AT-SPI:
SelectChildshould add to the selection instead of replacing it by @jmacato in #21602 - X11 – AT-SPI: Expose list item containers as accessible children by @jmacato in #21605
- X11 – Fix invisible window when un-minimizing by @MrJul in #21614
- Android – Fix
AndroidStorage.TryGetFile/FolderFromPathAsyncreturning null or throwing by @MrJul in #21628 - Browser – Fix file picker crashing while listing entries of folders by @emmauss in #21449
- Browser – Ensure sync context is set before running dispatcher messages by @emmauss in #21462
- Browser – Fix Firefox drag-and-drop: handle
effectAllowed=uninitializedby @Der-Floh in #21486 - Browser – Check permissions before reading or writing to clipboard by @emmauss in #21573
Full Changelog: 12.0.4...12.0.5
11.3.18
What's Changed
Enhancements
Fixes
- Core – Fix StackOverflow when a
NaNoffset is set onScrollViewerby @NicholasLachapelle in #21558 - macOS – Handle
replacementRangeinAvnViewby @MrJul in #21608
Full Changelog: 11.3.17...11.3.18
12.0.4
What's Changed
Enhancements
- Core – Bump ANGLE version + sign native binaries by @maxkatz6 in #21219
- Core – Update XML documentation to reflect correct type references in
Avalonia.Controlsproject by @rabbitism in #21283 - Core – Add missing AutomationPeers from built-in Controls by @jmacato in #21322
- Core – Align Touch/Pen capture semantics with Mouse by @miloush in #21325
- Core – Fire property-changed events when AutomationId changes at runtime by @dimension-zero in #21374
- Core – Update SkiaSharp to 3.119.4 by @MrJul in #21434
- macOS – Add accessibility events for expand & collapse events by @codecat in #21043
Performance
- Core – Implement
TextRunCacheby @Gillibald in #21030 - XAML – Improve type caching in the XAML compiler by @MrJul in #21408
Fixes
- Core – Fix
CommandBaroverflow labels when label position is collapsed by @jsuarezruiz in #21226 - Core – Fix
RenderTargetBitmaplosing effects by @timunie in #20790 - Core – Fix
SelectionChangednot raised on collection reset by @NathanDrake2406 in #20942 - Core – Ensure system back event is passed to child page once by @emmauss in #21246
- Core – Make sure TryGetGlyphTypeface does not fail for concurrent access by @Gillibald in #21269
- Core – Avoid exceptions when getting a position from a
PointerEventArgsby @TomEdwardsEnscape in #21301 - Core – Make text in
NumericUpDownupdate immediately when changing theTextConverterby @cdytoby in #21320 - Core – Fixes double reorder of cached bidi runs by @Gillibald in #21351
- Core – Set
WindowDrawnDecorationsbackground to transparent by @ent3m in #21354 - Core – Fix radio
MenuItemgrouping inMenuFlyoutby @zrt2399 in #21356 - Core – Fix popup positioning anchor rect bug with drawn window decorations by @kekekeks in #21383
- Core – Make cursor respect the captured element by @MrJul in #21421
- Core — Add a resource for title bar background by @MrJul in #21440
- XAML – Fix compiled binding DataContext inference in ItemTemplate by @JoaoMSSCruz in #21248
- Windows – Run file picker on dedicated STA thread to avoid MTA deadlock by @ZehMatt in #21266
- Windows – Fix borders and shadows on Windows 10 in extended mode by @MrJul in #21412
- Windows – Include border size in
GetMinMaxrequest by @emmauss in #21420 - Windows – Fix UIA tree not visible for Avalonia content embedded via
WinFormsAvaloniaControlHostby @AndreyPolovodov in #21422 - macOS – Fix
DeviceLuidbyte ordering on GPU interop by @dirivero in #21293 - X11 – Observe potential DBus exception in
UnregisterWindowAsyncby @holdxen in #21344 - X11 – Update Avalonia.DBus submodule by @jmacato in #21419
- Android – Fix File properties by @emmauss in #21307
- Android – Correct usage of
PointToScreenfor Android TalkBack by @IsaMorphic in #21402 - iOS – Drain
UISceneConnectionOptionson cold launch by @koblavi in #21394 - Headless – Fix xUnit headless tests losing
TestContexton background thread by @mikegoatly in #21357
Full Changelog: 12.0.3...12.0.4