AvaloniaUI Changelog

What's new in AvaloniaUI 11.0.10

Mar 5, 2024
  • [Windows] Fix bitmap->icon conversion?
  • Avoid NRE from GetGlyphPath
  • Discard additional lines upon inserting when AcceptsReturn=false
  • [Browser] Handle mouse wheel coordinates.
  • Fix previewer sometimes not finding deps file
  • Fix not handling first window creation

New in AvaloniaUI 11.0.9 (Feb 9, 2024)

  • [Windows] Fix bitmap->icon conversion?
  • Avoid NRE from GetGlyphPath
  • Discard additional lines upon inserting when AcceptsReturn=false
  • [Browser] Handle mouse wheel coordinates.
  • Fix previewer sometimes not finding deps file
  • Fix not handling first window creation

New in AvaloniaUI 11.0.7 (Jan 17, 2024)

  • Fixed issue: Default font family name cannot be null or empty by @mihnea-radulescu in PR #12817
  • Fixed missing resources for TimePicker & DatePicker in simple theme by @workgroupengineering in PR #12851
  • Fixed memory leak in Animatable transitions by @DmitryZhelnin in PR #12861
  • Fixed issue with VirtualizingPanel's RemoveInternalChildRange() by @liwuqingxin in PR #12877
  • Fixed Xaml Compiler error when code-behind class contains a DllImport method by @workgroupengineering in PR #12882
  • Fixed memory leak in TopLevel's Cursor property subscriptions by @DmitryZhelnin in PR #12996
  • Added Clear function to Date and Time pickers by @rabbitism in PR #13082
  • Fixed typo in ItemsControlFromItemContainer by @workgroupengineering in PR #13118
  • Updated RenderDataRectangleNode.HitTest for proper hit-testing of rounded rectangles by @billhenn in PR #13797
  • Fixed initialization property order in SelectedItemsControl by @MrJul in PR #13800
  • Implemented helper OutputApiDiff target by @maxkatz6 in PR #13818
  • Unsubscribed Android back handler when toplevel is disposed by @emmauss in PR #13831
  • Fixed DataGrid IList editing issue by @maxkatz6 in PR #13845
  • Fixed TextLine run bounds union calculation by @Gillibald in PR #13847
  • Fixed TabItem.TabStripPlacement not being set for new tab items by @pavelovcharov in PR #13849
  • Hackfix for calling SelectAll with SelectedItem binding by @grokys in PR #13868
  • Fix OutOfMemory crash with LowLatencyDxgiSwapChain enabled by @ShadowMarker789 PR #13869
  • Added transition leak tests by @maxkatz6 in PR #13870
  • Fixed ToggleSwitch dragging by @Splitwirez in PR #13893
  • Fixed Adorner Layer Clipping by @grokys in PR #13921
  • Fixed BoxShadow style changes not triggering render updates on ContentPresenter by @Al12rs in PR #13932
  • Added feature to allow treating Avalonia Access Unstable Private APIs Warning as Error by @workgroupengineering in PR #13937
  • OpenglControl - Don't queue update if control is not attached by @emmauss in PR #13938
  • Fixed iOS Dispatcher by @maxkatz6 in PR #13942
  • Used ShowNoActivate in Win32NativeControlHost by @grokys in PR #13966
  • Don't override ContextMenu.Placement when Open is called from code by @grokys in PR #13967
  • Don't share style instances with Or selector by @grokys in PR #13969
  • Fixed IOSStorageFolder permission problem by @sghctoma in PR #13976
  • Fixed Border and Shape border re-rendering when changing Brush value by @SKProCH in PR #13980
  • Fixed DBus Exception on window close by @affederaffe in PR #13997
  • Updated Tmds.DBus.SourceGenerator to 0.0.13 by @workgroupengineering in PR #14010
  • Fixed Relative line drawing in Geometries by @workgroupengineering in PR #14013
  • Removed missing MVID warning on XAML compilation by @MrJul in PR #14014
  • Fixed color of selected DataGridRow by @zavaleriy in PR #14026
  • Fixed regression in rendering of non-clear type text by @danwalmsley in PR #14080
  • Don't crash on IsCurrent checks by @maxkatz6 in PR #14089
  • Implemented ApiInformation checks by @maxkatz6 in PR #14090
  • Fixed XML Docs: Renamed inheritdocs to inheritdoc by @workgroupengineering in PR #14093
  • Added an event to detect when an Application icon is clicked by @danwalmsley in PR #14106
  • Improved TextBox behavior on Ctrl+Backspace down event by @exGensImpl in PR #14138
  • Added InheritDataTypeFromItems for AutoCompleteBox.ValueMemberBinding by @gehongyan in PR #14162
  • Fixed exception when SelectedValueBinding evaluates to null by @TomEdwardsEnscape in PR #14171
  • Updated SkiaSharp to 2.88.7 to fix a memory exception by @MontagueM in PR #14179
  • Ported DragMove logic from WPF by @jmacato in PR #14186

New in AvaloniaUI 11.0.5 (Oct 18, 2023)

  • feat: Also allows using string instead of {x:Type} in ControlTemplate.TargetType by @workgroupengineering in #11575
  • feat: Handle ClrPropertyInfo in StaticResourceExtension by @workgroupengineering in #12047
  • fix DropDownButton glyph foreground color by @almightyju in #12048
  • Fix NotificationCard to determine the type of notification from an inherited INotification object by @Onebeld in #12103
  • Improve AutoCompleteBox performance by @timunie in #12338
  • Fix issue #12453, TextBox does not scroll at the end of line when entering CJK characters via IME by @lnxon in #12454
  • fix: AvaloniaVS can not resolve resource relative path in Previewer by @workgroupengineering in #12473
  • ToggleSwitch: fix toggle on single touch tap on the knob part by @msneijders in #12520
  • When calculating geometry bounds take into account parameters that affect geometry bounds by @kekekeks in #12606
  • Allow setting a LineHeight that is smaller than the default by @Gillibald in #12613
  • Fix TextTrimming in combination with TextWrapping by @Gillibald in #12614
  • Fix for TextBlock.TextDecorations not inheriting down to inlines. by @billhenn in #12624
  • Fix changing ItemsControl.ItemContainerTheme by @grokys in #12630
  • Update Rotate3DTransition.cs to fix flickering on backwards navigation by @yankun in #12631
  • Fix for AccessText underlines being very blurry by @billhenn in #12634
  • Revert Inline breaking change by @MrJul in #12638
  • csproj cleanup by @SimonCropp in #12657
  • Call CaptureLost on gestures when pointer loses capture by @emmauss in #12666
  • Fix Inlines TextTrimming with embedded controls by @Gillibald in #12695
  • Fix OnOpenGlInit getting called twice by @wannkunstbeikor in #12713
  • Updated Transition to use direct properties via use of new TransitionBase class by @billhenn in #12716
  • Fix popups in Windows being offset incorrectly by a workaround for another issue by @billhenn in #12725
  • Fix the scrollbar attaching to wrong scrollviewer, like scrollviewer . by @liwuqingxin in #12732
  • Introduce DrawingContext Push/PopRenderOptions by @Gillibald in #12734
  • Added Avalonia.ForTestingOnly to InternalsVisibleTo list by @kekekeks in #12750
  • Fix property analyzer exception with object initializers in cctors by @MrJul in #12754
  • Fix previewer security issue by @Takoooooo in #12757
  • Ensure GlyphRunImpl has consistent bounds by @MrJul in #12765
  • [Mac] Fixes raw keyDown/textInput handling by @Gillibald in #12774
  • Fix interpolator being called after last animation iteration by @MrJul in #12781
  • fix: DataGrid scroll should behave the same as ScrollViewer by @timunie in #12787
  • Restore PathIcon Foreground setter in Fluent theme by @wieslawsoltes in #12789
  • creating only one gtk thread by @HermanKirshin in #12830
  • fixed restarting renderer when window is minimized and restored progr. by @HermanKirshin in #12832
  • Fixed blinking caret in case TextPresenter detached and attached again by @HermanKirshin in #12846
  • macOS: Disallow entering fullscreen when showing window. by @grokys in #12865
  • macOS: Don't clear clipboard in SetText. by @grokys in #12866
  • Fixes font family definitions that mix embedded and system fonts by @Gillibald in #12871
  • Fix DataGrid' SelectedItems removing wrong item when DataGrid is grou. by @liwuqingxin in #12875
  • Fix focus loss issue with AutocompleteBox by @emmauss in #12883
  • MacOS file type filter in native file dialog by @maxkatz6 in #12899
  • Change iOS initialization order by @maxkatz6 in #12915
  • Detect recursion and check for cancellation in analyser while loops by @TomEdwardsEnscape in #12916
  • Trimmable runtime xaml loader by @maxkatz6 in #12937
  • [X11] Don't convert the current time from long to int by @kekekeks in #12941
  • [Windows] [IME] Prevent duplicate input for some IMEs by @Gillibald in #12942
  • Fix - TextPresenter ignores FontStretch property by @VladimirDrobyshev in #12947
  • Add support for setting tooltip text for TrayIcons on MacOS by @Takoooooo in #12948
  • Fix VirtualizingStackPanel and nth-child for the currently realizing item container by @MrJul in #12957
  • FluentTheme: settable ListBoxItem.FontWeight/FontSize by @MrJul in #12958
  • Added guards for compositor reentrancy and exposed batch lifetime events by @kekekeks in #12968
  • [Browser] [IME] Fix event handling by @Gillibald in #12970
  • Fix HeadlessUnitTestSession creation race condition by @MrJul in #12979
  • Fix FontManager crash by @maxkatz6 in #12982
  • Fix XAML name generator with non-Avalonia XAML files by @maxkatz6 in #13001
  • Fix unit tests culture by @MrJul in #13016
  • Fix ItemsControl logical child removal by @grokys in #13019
  • In Avalonia.Controls, modernized getter/setter syntax by @Lehonti in #13021
  • Fix initial logical scrollable state by @grokys in #13066
  • Fix offset expression animation by @Meloman19 in #13071
  • Add "EGL_ANGLE_flexible_surface_compatibility" ext check by @maxkatz6 in #13080
  • Fix CalendarDatePicker two way binding syntax. by @rabbitism in #13083
  • fix: TemplateBinding clone should carry original Mode. by @rabbitism in #13087
  • Fix popup tests randomly failing after logical scrollable tests by @MrJul in #13098
  • [nuke] Use a regex to detect a release branch. by @grokys in #13106
  • Update SkiaSharp to 2.88.6 to fix a critical security vulnerability by @spofdamon in #13109
  • fix parsing the baseline version for api diff. by @danwalmsley in #13156
  • Fix AccessKeyHandler matching on elements that are not effectively enabled. by @boydpatterson in #13185
  • Try to fix api validator by @maxkatz6 in #13213

New in AvaloniaUI 11.0.4 (Aug 20, 2023)

  • What's Changed:
  • [TransitioningContentControl] Manage his LogicalChildren by @danielmayost in #12173
  • Set PreserveSig to true for OleGetClipboard by @EgorRudakov2 in #12553
  • Fixed memory leaks in ContextMenu.cs by @adirh3 in #12526
  • Fix DataGridHeader style by @Flithor in #12544
  • remove legacy nuget feed no longer reachable. by @danwalmsley in #12563
  • fix macos keydown and textinput events being raised in the wrong order. by @danwalmsley in #12560
  • Fix for Track not arranging after IsDirectionReversed property changed. by @billhenn in #12575
  • Enhanced Clipping and Rendered Visuals Tracking in ServerCompositionVisual by @stepangovorko in #12568
  • Fix UI thread main loop cancellation from another thread on macOS by @de1acr0ix in #12579
  • Introduce RenderOptions.RequiresFullOpacityHandling by @Gillibald in #12572
  • Updated ToggleSplitButton.IsChecked to bind TwoWay by default, same as ToggleButton. by @billhenn in #12584
  • Fixes TextBox measure logic for MaxLines scenario by @billhenn in #12589
  • ShowInTaskBar with Owned window: make consistent with WPF by @danwalmsley in #12593

New in AvaloniaUI 11.0.3 (Aug 11, 2023)

  • What's Changed:
  • feat(NumericUpDown): TextAlignment by @workgroupengineering in #12368
  • Make the animation display complete by @Coloryr in #12364
  • Add null check for TextInputMethodClient in OnSelectionChanged() method by @3dfxuser in #12415
  • Generate pdb for ref assemblies by @MrJul in #12410
  • Fix not working hotkey on a custom control. closes #12323 by @flexxxxer in #12347
  • Fix DataContext not getting GC'd/Finalized. closes #12123 by @flexxxxer in #12430
  • Unwrap win32 data object by @kekekeks in #12478
  • Allow embedded root automation peers. by @grokys in #12330

New in AvaloniaUI 11.0.2 (Jul 31, 2023)

  • Use embedded pdb for analyzers and build tasks
  • Fixed issue where RowDetailsTemplate was getting the wrong DataContext
  • Catch dbus errors so that WatchAsync can register all names

New in AvaloniaUI 11.0.1 (Jul 26, 2023)

  • Fix datagrid not updating when not attached to tree
  • Fix AutoCompleteBox not opening when the text box is empty
  • Add event trigger time in DevTools.
  • Use CancellationToken in AvaloniaNameGenerator
  • Country or Region
  • Fix EGL OpenGLControlBase on Win32
  • Drop original internal XAML resources after merge
  • Api validation tool
  • Setting child of TestRoot once
  • Add suppression for removed generated NamespaceInfo types
  • Changed null checks to make use of nameof()
  • Removed redundant Source check
  • Fix composition render resources invalidation
  • Rename ImportCompeted into ImportCompleted
  • fix textbox crash double clicking last empty line 12161
  • remove duplicates in InternalsVisibleTo
  • fix combobox inside popup 11954
  • Fix SelectedValueBinding with items defined in XAML
  • Added support for Mica Light & Dark based on Win11
  • Allow to run previewer from command line via MSBuild target
  • Fix typo in GetColorValues
  • X11 mate clipboard
  • added clear function to combobox
  • Generate external symbol packages
  • Remove unnecessary cast from RootAutomationNode.
  • Modernizing syntax
  • Special handling for macos dispatcher quirks
  • Rework TextLine.GetNext/PreviousCharacterHit
  • Make dispatcher more usable on non-ui threads
  • macOS native: fix destructors accessing freed .NET objects
  • Fix window incorrect positioning with window startup location CenterScreen
  • Update Rotate3DTransition.cs to fix flickering
  • Handle ScrollContentPresenter extent rounding errors
  • Support non-generic AvaloniaProperty in GetObservable(converter)
  • Android - Text Input fixes
  • feat(DataGrid): Allow binding DataGridColumn Witdh
  • Fix TextLine.GetCharacterHitFromDistance for mixed buffers
  • Fix creating fields for attached properties called name.
  • Fix windows with BorderOnly decoration being unresizable
  • Fix segfault on Linux when typing in a TexBox
  • Adjust GetCharacterHitFromDistance to match what WPF expects

New in AvaloniaUI 11.0.0 (Jul 5, 2023)

  • New Features:
  • A11y (Accessibility):
  • This version of Avalonia takes major strides in making applications more accessible. We've added support for various accessibility tools, making it easier for everyone to use Avalonia applications.
  • IME (Input Method Editor) Support:
  • We have introduced support for Input Method Editor (IME), this allows onscreen keyboards and input in all languages.
  • Compositing Renderer:
  • The new compositing renderer enhances the graphical rendering capabilities, providing a more robust, efficient, and flexible rendering pipeline.
  • WebAssembly (WASM) Support:
  • WASM support allows Avalonia applications to run directly in the browser, broadening our platform support and giving developers more freedom and flexibility.
  • iOS and Android Support:
  • We've added support for both iOS and Android platforms. Developers can now build and run Avalonia applications on two of the most popular mobile platforms.
  • Full Rich Text support:
  • You can now fully render rich text allowing you to render complex documents.
  • With the Text Inlines feature, you can easily construct complex formatted text blocks. It enables you to add annotations, hyperlinks, and other inline elements in your text.
  • Smooth Virtualization (Reworked ItemsControl):
  • We've completely reworked the ItemsControl to provide smooth virtualization. This improves the efficiency and user experience for controls with many items.
  • Performance Improvements:
  • Avalonia 11.0 comes with significant performance improvements, enhancing the speed and efficiency of your applications.
  • Control Themes, Nested Styles, and Theme Variants:
  • We've added the ability to theme controls, apply nested styles, and choose theme variants. This makes it easier to build beautiful and consistent UIs.
  • Bitmap Effects:
  • The Bitmap Effects feature lets you apply visual effects to bitmaps. You can add blur, drop shadows, and other effects to images.
  • 3D Transforms:
  • With 3D Transforms, you can now create stunning three-dimensional effects in your UI.
  • AOT (Ahead-Of-Time) Compilation and Trimming:
  • AOT compilation enables your apps to run faster by compiling them before runtime. Trimming reduces the size of your apps by removing unused code.
  • GPU Interop:
  • The GPU Interop feature allows Avalonia to work more efficiently with the GPU, improving rendering performance and visuals.
  • Experimental Metal Support:
  • We're testing Metal support to improve performance on iOS and macOS devices.

New in AvaloniaUI 0.10.21 (May 19, 2023)

  • Remove msbuild debug code, causing a "test.bin" file to be left next to the main project.

New in AvaloniaUI 0.10.20 (May 18, 2023)

  • Critical MacOS fix, after 24 hours mouse events behave strangely.
  • Crash could occur if tooltip open / close collided with window resizing.
  • Fix popup pointer positioning from touch.
  • When ExtendClientAreaToDecorations is true, and CanResize = false, dont allow Zoom osx or Maximize on Windows.

New in AvaloniaUI 0.10.19 (Mar 24, 2023)

  • Bugfixes:
  • #8514 Skip disabled controls when moving to first/last item
  • #8880 [macOS] macOS: Fix child window order with multiple child windows
  • #9221 Fix setting WindowState before showing Window.
  • #9300 [macOS] OSX: fix menu re-entrancy crash
  • #9326 [macOS] OSX: fix minimise button being disabled when either a parent or a dialog.
  • #9451 [macOS] [OSX] Fixed NativeMenu memory leak
  • #9469 [macOS] [OSX] Use non-opaque window background for non-transparent windows
  • #9566 [macOS] MacOS: Only bring windows to front if they're on the active space.
  • #9699 Fix SelectionModelSelectionChangedEventArgs.SelectedItems indexer.
  • #9716 [macOS] macos: Fix child window key handling
  • #10153 [macOS] macOS: Sync actual window state after window show, and fix integration tests on macOS 13.1
  • #10196 [macOS] macOS: Fix window transparency
  • #10204 [Windows] Update Angle to 2.1.0.2023020321
  • #10265 [Windows][macOS] Various macOS and win32 fixes
  • #10427 [macOS] macOS: Fix window order breaking when closing modal dialog
  • #10431 if the window is closed, we cannot become the key window.
  • #10575 [macOS] macOS: Don't allow window zoom when CanResize=false.
  • #10600 [Linux] Add nullable reference checking to X11Window.
  • #10677 [macOS] macOS: Fix interaction between ExtendClientAreaToDecorationsHint and SystemDecorations

New in AvaloniaUI 0.10.18 (Feb 9, 2023)

  • Fix crash loading some images from stream.
  • Fix reopening hidden windows on macos when parent window is clicked.
  • Win32 minimize and restore window size is kept consistent.
  • Fix window CanResize issue with ExtendClientAreaToDecorations.