Releases: AvaloniaUI/Avalonia
Releases · AvaloniaUI/Avalonia
Release list
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
11.3.17
11.3.16
12.0.3
11.3.15
12.0.2
What's Changed
Enhancements
- Core – Add
Window.WindowDecorationsThemeproperty by @MrJul in #21061 - Core – Clarify that
ElementRoleis dependent onExtendClientAreaToDecorationsHintby @MrJul in #21243 - Core – Implement
GetTemplateDescendantsby @MrJul in #21245 - Core – Update SkiaSharp to 3.119.4 Preview 1 @4Darmygeometry in #21263
- Headless – Throw
ObjectDisposedExceptionwhenPlatformImplis null by @maxkatz6 in #21276
Fixes
- Core – Fix
OneWaybinding fails to update target after local change by @martimclaudino in #20964 - Core – Fix safe area calc in drawer page by @emmauss in #21050
- Core – Reset expected commit callback timing after waiting for app exiting idle by @kekekeks in #21157
- Core – Fix
Button.IsPressednot becoming false when aButtonwithout keyboard focus is disabled by @TomEdwardsEnscape in #21168 - Core – Prefer window content over underlay in chrome hit testing by @MrJul in #21177
- Core – Add back
Design.SetPreviewWith(AvaloniaObject, Control)overload by @MrJul in #21184 - Core – Do not update composition target when rendering is stopped by @MrJul in #21192
- Core – Fix safe area calcs for navigation page by @emmauss in #21221
- Core – Fix
TabControlcrash when rapidly switching tabs during transitions by @jsuarezruiz in #21227 - Core – Change
CommandBaricon foreground inheritance by @jsuarezruiz in #21251 - Core – Fix
FocusManager.SetFocusScopenot doing anything by @MrJul in #21261 - Core – Suppress
ExecutionContextflow for render scheduling by @Shirasagi0012 in #21273 - macOS – Fix Metal renderer memory leak by @nvborisenko in #21099
- Windows – Fix back requested by @mikegoatly in #21207
- Windows – Fix
BorderOnlymaximized position on secondary screens in more cases by @MrJul in #21229 - Android – Fix crash on surface destroyed by @kerams in #21176
- Android – Fix
SelectedTextboundary check and backward selection crash by @luthfiampas in #21182 - Android – Fix
OnBackPressedbeing prevented for Android API 33 and above by @Mliybs in #21239 - Android – Make
ToplevelImpl._viewnullable by @emmauss in #21270 - Android/Browser/iOS – Standardize the behavior of
CreateFile/CreateFolderacross different OS by @Frederisk in #20850 - Headless – Fix headless cleanup race: dispose before signaling TCS by @Kryptos-FR in #21223
- Themes – Add
HeaderTemplatetoDrawerPageheader by @zdpcdt in #21275
Full Changelog: 12.0.1...12.0.2
12.0.1
What's Changed
Security
- Linux – Bump Tmds.DBus.Protocol to 0.92.0 by @drasticactions in #21122
Enhancements
- macOS – Announce changes to live regions on macOS by @kirb in #21045
- Core – Implement
DataFormat.CreateInProcessFormat<T>by @NathanDrake2406 in #21076
Fixes
- Core – Ensure glyph clusters are slice relative by @Gillibald in #21089
- Core – Fix date picker spacer location by @rabbitism in #21093
- Core – Fix
DataTransferItemreturning wrong data for mismatched format by @NathanDrake2406 in #21114 - Core – Fix
DatePickerPresenterfocusing wrong selector for day-first locales by @NathanDrake2406 in #21116 - Core – Fix
AutoCompleteBoxout of sync with bound Text by @timunie in #21121 - Core – Fix subtree input hit test coordinates by @NathanDrake2406 in #21125
- Core – Prevent toggle controls from changing state when commands cannot execute by @NathanDrake2406 in #21126
- Core – Fix
InvalidCastExceptioninPageNavigationHostby @emmauss in #21144 - macOS – Fix file pickers native crash by @MrJul in #21104
- macOS – Fix
StorageProvidernull pointer bugs by @NathanDrake2406 in #21115 - Windows – fix
None/BorderOnlymaximized position on secondary screens by @MrJul in #21136 - Linux – Add
IDispatcherImplWithExplicitBackgroundProcessingtoEpollDispatcherImplby @kekekeks in #21152
Full Changelog: 12.0.0...12.0.1