Releases: AvaloniaUI/Avalonia
Releases · AvaloniaUI/Avalonia
11.3.9
What's Changed
Enhancements
- Core – Add
SaveFilePickerWithResultAsyncAPI by @jmacato in #19783 - Core – Primary mouse device by @miloush in #19898
- Core – Add an optional
ConvertBackmethod toFuncValueConverterby @zacfromaustinpowder in #19920 - Core – Support reading from and copying images to clipboard by @emmauss in #19930
- Core – Add
SuggestedFileTypefor Save/OpenFilePicker by @jmacato in #20026 - Headless – Add headless
AvaloniaTestIsolationLevelby @maxkatz6 in #20000 - Build – Update
Avalonia.BuildServicespackage version by @maxkatz6 in #20078
Fixes
- Core – Properly handle
DrawableRun.Baselineby @Gillibald in #19896 - Core – Fix
Selector.ValidateNestingSelectornot calling overrides by @zacfromaustinpowder in #19947 - Core – Handle long file paths in
UriFromFilePathby @startewho in #19955 - Core – Fix
ServerCompositionSimplePenmemory leak by @aguahombre in #19958 - Core – Cache platform font manager
TryMatchCharacterresult by @Gillibald in #19987 - Core – Fix
EmbeddedFontCollection.TryGetNearestMatchcaching by @Gillibald in #20013 - Controls – Make
ContentPresenter.RecognizesAccessKeystylable by @Gillibald in #19893 - Previewer – Don't let the
PreviewerWindowbe any size by @mrlacey in #19957 - Android – Fix changes to
AccessibilityNodeInfoCompat.Checkeddata type from bool to int by @BobbyCannon in #19985 - Android - Fix external app not reading text in clipboard by @emmauss in #20023
- macOS – Fix fullscreen transitions with
ExtendClientAreaToDecorationsHintwindows by @drasticactions in #19939 - macOS – Fix XButtons event handler by @DrunkyBard in #19997
- macOS – Correct key mapping for scan code 0x18 by @snowflysky in #20009
- macOS – Fix
TryCreateGlyphTypefacereturn on macOS with SkiaSharp 2.88 by @MrJul in #20084 - Windows – Handle mouse movement in non-client areas of window. (#19922) by @drasticactions in #19922
- Windows – Fix
ComVariantnative size (add extended field and asserts) by @AndreyRusyaev in #20017 - Windows – Do not activate embedded windows when shown by @emmauss in #20027
- Windows – Properly snapshot
GlSkiaImportedImageby @MrJul in #20053
Full Changelog: 11.3.8...11.3.9
11.3.8
What's Changed
Enhancements
- Core – Clarify the
CenterXandCenterYproperties documentation inRotateTransformby @YoriMirus in #19741 - Core – Add internal
PointerCaptureChangingevent by @miloush in #19833 - Core – Distribute
LineGapevenly to top and bottom by @Gillibald in #19556 - Core – Adjust
GetBackspaceCaretCharacterHitby @Gillibald in #19586 - X11 – Enable network location browsing in GTK file chooser dialogs by @meywd in #19855
Fixes
- Core – Fix
PlatformDataTransferItem.TryGetRawfor unknown formats by @MrJul in #19791 - Core – Ignore
PointerOverchange when pointer event isCancelCaptureby @emmauss in #19808 - Core – Added guards in
TryGetGlyphTypefaceso the$Defaultplaceholder stops. by @wieslawsoltes in #19891 - Controls –
LayoutTransformControl: fix memory leak due toTransform.Changedevent subscription by @pavelovcharov in #19718 - Controls – Make
ScreenBaseimpl more reliable by @maxkatz6 in #19762 - Controls – Fix
ArgumentExceptionwhen showing multiple notifications with the same content by @fgsfds in #19774 - Themes – Fix
CheckboxandRadioButtonheight in compact density of Fluent theme. by @miishan in #19882 - XAML – Fix
ExpressionParseExceptionbeing reported as an internal compiler error by @TomEdwardsEnscape in #19817 - X11 – Fix DBus tray icon
NullReferenceExceptionwhen change visible by @memorydream in #19742 - Windows – Fix margins and nc hit test for caption buttons in extend to client windows by @emmauss in #19773
- Windows – Fix
Win32Exceptionwhen a file picker has an invalid file type by @TomEdwardsEnscape in #19812 - Windows – Add finalizer to
Win32Iconwhich frees its GDI handle by @TomEdwardsEnscape in #19813 - Windows – Prevent duplicated files during drag-and-drop by @MrJul in #19864
- Windows – Properly handle non standard italic/oblique fonts on Windows by @Gillibald in #19876
- Android – Fix scaling of inset when app is launched by @emmauss in #19797
- macOS – Add
parent/automationPeernull guards onAvnWindowby @jmacato in #19805
Full Changelog: 11.3.7...11.3.8
11.3.7
What's Changed
Features
- Core – Clipboard rework by @MrJul in #19347
- Controls – Add
IsEditabletoComboBoxby @almightyju in #18094 - Controls – Add
SplitViewPanePlacementsettings forTopandBottomby @danwalmsley in #19465 - Controls – Add
HeadingLeveltoAutomationPropertiesby @codecat in #19696 - X11 – Add INCR support by @kekekeks in #18428
- macOS – Implement
IOSurface/MTLSharedEventinterop APIs by @kekekeks in #18791 - Windows – Respond to
WM_CAPTURECHANGEDby @miloush in #19685
Enhancements
- Core – Add
BoxShadow(s)documentation comments by @robloo in #19644 - Core – Add
Add/Removeevent handler methods toDragDrop. by @grokys in #19739 - Themes – Add resource for
TextControlPlaceholderOpacityby @codecat in #19705 - Build – Update
Avalonia.BuildServicespackage version by @maxkatz6 in #19757
Fixes
- Core – Fix
BoxShadowequality by @MrJul in #19650 - Core – Fix typeface exception when created with empty font family name by @jay-mao-cn in #19654
- Core – Do not recapture already captured element by @miloush in #19740
- Controls – Fix tooltip hit test following a dirty rect invalidation not respecting
IsHitTestVisibleby @TomEdwardsEnscape in #19642 - Controls – Limit
InlineUIContainerto available width by @miloush in #19651 - Controls – Make sure inlines properly inherit text run properties from their parent by @Gillibald in #19750
- Controls – Fix focus issues with
ComboBoxby @almightyju in #19672 - XAML – Fix
TypeConverterAttributefor avalonia properties by @kekekeks in #19727 - XAML – Add
FindAssembliesGrantingInternalAccesstoAvaloniaXamlIlRuntimeCompilerby @drasticactions in #19735 - X11 – Fix memory leaks when closing a window on Linux by @dif-sam in #19699
- macOS – Move Drag and Drop logic to
TopLevelImplby @drasticactions in #19731 - Browser – Fix
StorageItemmethods not working and handle conversion issue by @Bugord in #19708 - Build – Remove
Microsoft.SourceLink.GitHubPackageReference by @KirillOsenkov in #19744
Full Changelog: 11.3.6...11.3.7
11.3.6
What's Changed
Enhancements
- macOS – Adjust macOS Tray/Menu icons scaling by @drasticactions in #19628
Fixes
- Windows – Fix OS timer interval calculation in Windows dispatcher by @Swarley97 in #19597
- Windows – Fix maximized window being able to resize by @emmauss in #19620
- macOS – Fix SkiaSharp 3 Metal interop signature by @MrJul in #19598
- iOS – Backport
GRContextbugfix by @maxkatz6 in #19615 - X11 – Ignore empty
preeditTextwhen no composition was active before (#19595) by @Gillibald in #19621 - Headless – Fix headless
FontManagerleak by @maxkatz6 in #19599 - Text – Fix
TextLine.GetTextBoundszero width run by @Gillibald in #19602 - Text – Fix
TextLineImpl.GetTextBoundswith trailing zero width by @Gillibald in #19616
Full Changelog: 11.3.5...11.3.6
11.3.5
What's Changed
Features
- Core – Update
Brush.Parse()to Handle all Color Formats by @robloo in #19526 - Text – Make typeface matching and synthetic typeface creation customizable by @Gillibald in #18890
Fixes
- Core – Fix validation error not being cleared on valid input by @ondrejsusovsky in #19477
- Core – Schedule a full render pass on
CompositionBatchCompletionto prevent tearing by @kekekeks in #19487 - Core – Fix
TransformGroup.Childrencollection changes not changingTransformGroup.Valueby @TomEdwardsEnscape in #19525 - Core – Fixes duplicate class property registration by @coltonk9043 in #19558
- Text – Fix overhang calculation by @Gillibald in #19013
- Text – Fix zero width space handling by @Gillibald in #19488
- Text – Fix
FontCollection.MatchCharacterby @Gillibald in #19494 - Text – Do not treat combining marks as whitespace by @Gillibald in #19498
- Text – FontLoading adjustments by @Gillibald in #19538
- Text – Rework
TextLineImpl.GetTextBoundsby @Gillibald in #19576 - Controls – Fix usage of
GridSplitterinsideItemsControlasItemsPanelby @wieslawsoltes in #19200 - Controls – Fix
RelativePanelcalculation error with extensible and aligned child by @msojocs in #19474 - Controls – Fix selected files filename in managed file chooser by @loyvsc in #19540
- Controls – Fix
BringDescendantIntoViewwith respect to margins by @emmauss in #19544 - iOS – Pass app delegate to the default
UseiOScall by @maxkatz6 in #19550 - Windows – Fix Win32 GDI leak on
TrayIconclose by @coltonk9043 in #19583
Full Changelog: 11.3.4...11.3.5
11.3.4
What's Changed
Features
- Controls - Add
Window.CanMinimize/CanMaximizeby @MrJul in #18117 - Controls - Add
Window.IsDialogby @davisx2 in #19226 - Controls - Add
Calendar.AllowTapRangeSelectionby @drasticactions in #19367 - Android - Retrieve platform input config value by @emmauss in #19446
Fixes
- Core - Fix
WeakEventsubscription management thread race condition by @11v1 in #19383 - Controls - Enable Copy and Cut in
ContextMenuforAutoCompleteBoxby @zrt2399 in #19087 - Controls - Removed all nullability overrides from
TimePickerPresenterandDatePickerPresenterby @TomEdwardsEnscape in #19241 - Controls - Track
TabIndexvalue inNumericUpDownby @drasticactions in #19348 - Controls - Fix
SplitViewincorrectly closing when the user changesDisplayModetoInlinewhenIsPaneOpenis already true by @danwalmsley in #19460 - X11 - Fix a typo in
X11Window ClientMessageEvent.ptr5by @walterlv in #19439 - Android - Fix duplicated pointer events by @MrJul in #19440
- macOS - Remove non implemented message
AvnView.resetPressedMouseButtonsby @MrJul in #19445 - macOS - Fix thick titlebar mouse event duplication by @ErtyHackward in #19447
Full Changelog: 11.3.3...11.3.4
11.3.3
What's Changed
Features
- Documentation - Add OpenGlControlBase XML docs by @maxkatz6 in #19188
- Core - Add InputPaneActivationRequested in TextInputMethodClient by @emmauss in #19225
- Controls - Add a buffer cache to containers in VirtualizingStackPanel by @gentledepp in #18646
- iOS - Enable Pointer/Trackpad scrolling by @drasticactions in #19342
- iOS - Implement Save File Picker Support by @drasticactions in #19364
Fixes
- Core - Properly check if DispatcherOperation is pending when executing/aborting by @kekekeks in #19132
- Core - Fix memory leak by clearing shared array pool references in LightweightObservableBase by @walterlv in #19167
- Core - Fix random NRE inside
Compositor.CommitCore()callback. by @EgorRudakov2 in #19173 - Core - Set IsKeyboardFocusWithin to false when control is detached from visual tree by @emmauss in #19369
- Controls - Fixed ComboBox focus styles not being applied by @0xJins in #19147
- Controls - Make textbox context menu transient on mobile by @emmauss in #19182
- Controls - Remove textbox holding handler in text selection handle by @emmauss in #19186
- Controls - Use captured element if available as source for tap gestures by @emmauss in #19222
- Controls - Grid: Fix inner size calculation when Row/ColumnDefinition is not set but spacing is set by @zxbmmmmmmmmm in #19227
- Text - Fix selecting multiple lines in RTL mode by @AhmedZero in #19093
- Text - Fix TextLineIImpl.GetTextBounds for clustered trailing zero width characters by @Gillibald in #19208
- Text - Fix multiline selection crash by @kerams in #19337
- Skia - Explicit dispose of GRBackendRenderTarget and SKSurfaceProperties by @vadimart92 in #19100
- macOS - Replace manual input tracking with NSEvent by @drasticactions in #19101
- macOS - Fixes thick titlebar pointer events streaming by @ErtyHackward in #19320
- X11 - Fix X11Screen info update incorrectly when screen changed by @Handsome08 in #19262
- X11 - Stopgap fix for Clipboard.ClearAsync not returning by @kekekeks in #19302
- Android - Restrict souce of input events to avalonia view by @emmauss in #19289
- Win32 - Enable tray icon creation in all circumstances when running as an admin by @lwz-sabrina in #19382
Full Changelog: 11.3.2...11.3.3
11.3.2
Full Changelog: 11.3.1...11.3.2
What's Changed
Enhancements
- Documentation – Corrected
PointerPointPropertiesinline documentation, and exposed it onPointerEventArgsby @TomEdwardsEnscape in #19062 - Controls – Remove the need for MenuItem Icon to be a ILogical by @Doraku in #19075
Fixes
- Core – Extend dirty rect when UseLayoutRounding=false by @MrJul in #18511
- Core – Properly handle in cluster ShapedBuffer split by @Gillibald in #19090
- Controls – Reverse TickBar when Slider direction is reversed by @zrt2399 in #19096
- Android – Better api level detection for display edge to edge and ignore system bar color changes if on api level 35 by @emmauss in #19034
- Android – Fix oversight with display edge to edge detection for android 16 by @emmauss in #19067
- Android – Revert changes preventing status bar theme from being updated by @emmauss in #19076
- Android – Reset android input method focus and connection state when text input focus is removed by @emmauss in #19083
- macOS – SuggestedStartLocation is not set if the FileTypeChoices is not null by @Whiletru3 in #19036
- macOS – Respect info.plist values for setActivationPolicy by @drasticactions in #19066
- macOS – Add shouldResize value to SetWindowState, don't resize on Window move by @drasticactions in #19088
11.3.1
Full Changelog: 11.3.0...11.3.1
What's Changed
Enhancements
- Update SkiaSharp and HarfBuzzSharp version to support LA64 and RV64 by @4Darmygeometry in #18571
- Improved inline documentation of class event handler methods by @TomEdwardsEnscape in #18869
- Reduce allocations in
TextShaperImplby reusing HarfBuzz Buffer by @dme-compunet in #18892 - Update azure-pipelines.yml (#18876) by @Gillibald in #18940
- Don't expect WasmRuntimeAssetsLocation to be always set by @maxkatz6 in #18947
- Bump Angle version by @maxkatz6 in #18982
Fixes
- Fix TextBox multiline selection with up/down keys till start/end of text by @rastislavsvoboda in #18746
- Multiple TextLine.GetTextRunBounds fixes by @Gillibald in #18749
- Invalidate ScrollContentPresenter measure on Can...Scroll by @BAndysc in #18753
- Fix incorrect CandidateWindow position when using Pinyin IMEs in Windows by @realybin in #18759
- Improve pen secondary button handling on list box by @maxkatz6 in #18766
- Fix crash with samsung keyboard when using password textboxes by @emmauss in #18793
- Fix caret handles not updating to the latest caret points by @emmauss in #18794
- Fix an issue where input controls initialized with
InputMethod.IsInputMethodEnable=falsecould still use IME in their initial state. by @comesx4 in #18816 - Prevent children of UniformGrid from having negative dimensions when row/col spacing exceeds available space by @H0tCh0colat3 in #18832
- Fix insets on android 15 by @emmauss in #18844
- Fixed rare soft-"freezes" with OnRender(c) { ...; InvalidateVisual(); . } pattern by @kekekeks in #18901
- Fix focus not being lost when a parent element is hidden by @TomEdwardsEnscape in #18916
- Remove Keyboard Theme Override by @drasticactions in #18922
- Remove win32 dialog dpi hack by @emmauss in #18923
- Fixed transitions with delay but no duration completing instantly by @TomEdwardsEnscape in #18929
- Fix gradient stop reordeing (#18907) by @Gillibald in #18933
- Fixed RectangleGeometry not cloning its radius properties by @TomEdwardsEnscape in #18934
- Fix BindingEvaluator.ClearDataContext by @MrJul in #18964
- Fix infinite animation memory leak. by @kkwpsv in #18980
- Properly release of
StringBuilderCacheinTextBox.DeleteSelectionby @dme-compunet in #18985 - Fix LostFocus not raised on macOS by @MrJul in #18990
- Fix DirectX signatures by @MrJul in #18991
- More IDL uint fixes by @maxkatz6 in #18993
11.3.0
Full Changelog: 11.2.8...11.3.0
What's changed since 11.2.8
Features
- Add Popup.ShouldUseOverlayLayer property by @maxkatz6 in #5629
- Add
ItemsControl.PreparingContainerevent by @TomEdwardsEnscape in #14153 - feat: Support ContactRect in X11 and Windows platform by @lindexi in #16498
[GeneratedComInterface]based Windows automation by @maxkatz6 in #16543- feat(DevTools): Allow configure DevTools HotKey by @workgroupengineering in #16668
- feat(Window): Allow to persist content of Clipboard after App close by @workgroupengineering in #16778
- Added
Binding.Delayfeature by @TomEdwardsEnscape in #16805 - Feature - Container Queries by @emmauss in #16846
- Update Unicode data and algorithms to v. 16.0 by @Gillibald in #16919
- feat: Allow use of (Classes.
classname) syntax on Style and ControlThe. by @workgroupengineering in #16938 - Try to infer DataContext type from the $parent and #named compiled binding path parts by @maxkatz6 in #17204
- Introduce font family mapping by @Gillibald in #17234
- Add new constructor to AvaloniaDictionary and include unit tests #17311 by @IoannTerrible in #17312
- Properly handle nc hittest for caption buttons by @maxkatz6 in #17380
- add automation peer for UserControl by @baochenw in #17480
- Search all SelectingItemsControl items with TextSearch on key input, not just realized ones by @jonko0493 in #17506
- [TextBox] Add readonly property: LineCount. by @rabbitism in #17656
- Implement Matrix.CreateRotation with center point. by @rabbitism in #17657
- BoolConverters.Not should support ConvertBack by @maxkatz6 in #17658
- Implement support for Android TalkBack by @IsaMorphic in #17704
- Access single file or folder from IStorageFolder by name by @nickodei in #17771
- Added
WrapPanelitem alignment by @TomEdwardsEnscape in #17792 - feat: add hidesuggestions property to textbox by @jcsawyer in #17815
- Add missing Blend Modes and expose BlendMode on Image Control by @leocb in #17903
- [Refactor] Get trailing whitespace length from the glyph run metrics by @dme-compunet in #17960
- [DockPanel] Add Spacing properties by @Poker-sang in #17977
- add spacing to uniform grid - issue 8406 by @Enzx in #17993
- [Grid] Add RowSpacing and ColumnSpacing by @zxbmmmmmmmmm in #18077
- [WrapPanel] Add Spacing Properties by @Poker-sang in #18079
- feat: Support pressure and tilt on macos by @AkiSakurai in #18082
- FontFamily.FamilyTypefaces support by @Gillibald in #18113
- Warning AVLN2208: Item container in the data template by @maxkatz6 in #18132
- Add Analyzer and CodeFixProvider for Initializing Bitmap with a "avares" scheme argument. by @rabbitism in #18150
- Null conditional operator in bindings by @grokys in #18270
- Add diagnostic metrics/activities by @maxkatz6 in #18314
- Added IClipboard:TryGetInProcessDataObjectAsyns by @kekekeks in #18340
- Implement SetItems method in ResourceDictionary by @StefanKoell in #18354
- Add ContentTemplate property to flyout by @emmauss in #18361
- Introduce GlyphTypeface.FaceNames by @Gillibald in #18392
- Implement TextSearch.TextBinding by @MrJul in #18405
- Allow [AssignBinding] on attached properties by @MrJul in #18425
- Added LogToDelegate and LogToTextWriter APIs by @kekekeks in #18472
Enhancements
- Use the himetric location instead of the pixel location. by @walterlv in #16850
- Fixes and improves several access key (accelerator) related issues by @StefanKoell in #17292
- Add _NET_WM_PID atom to Linux X11 window by @lindexi in #17470
- Throw ObjectDisposedException for ClipboardImpl/ClipboardDataObject by @MrJul in #17472
- Nullable annotations for LinuxFramebuffer by @MrJul in #17489
- Align bitmap memory to 4 bytes by @Gillibald in #17774
- Nullable annotations for X11 by @MrJul in #17814
- Add FontSize property validation by @maxkatz6 in #18198
- Improve KeyGesture.ToString() output in case when Key is set to Key.None by @Samael7777 in #18353
- Bring control into view only if control isn't properly visible in viewport by @emmauss in #18359
- Raise pointer events on captured element by @MrJul in #18420
- Prevented setting 0 to ColumnSpan or RowSpan. by @abenedik in #18516
- Pick nearest parent if container query doesn't specify container name by @emmauss in #18707
- Add XML doc comments to RegisterDirect warning about unsetValue by @AnastassiaP in #18719
- Added small banner about Accelerate by @MikeCodesDotNET in #18723
Performance
- Avoid Select when no boxing required by @YohDeadfall in #16886
- Fix PopupRoot.ConfigurePosition being called unnecessary by @MrJul in #17322
- Optimization for Process.GetCurrentProcess() in Avalonia.Win32.Automation by @NeverMorewd in #17422
- Optimize SKRoundRectCache Clear Method for .NET 6+ by @lindexi in #17605
- Expanding StringTokenizator with ReadOnlySpan. by @Meloman19 in #17645
- Use Flat Array Text Blob Cache instead of more expensive ConcurrentDictionary in Avalonia.Skia.GlyphRunImpl by @Washi1337 in #17727
- [Text] Make BreakUnit a readonly struct by @Gillibald in #17729
- Add SpanStringTokenizer and avoid many string allocations in FontCollectionBase by @Washi1337 in #17745
- Optimization: Add an optimized path for notifying property changes for inherited va. by @danwalmsley in #18223
- Layout performance improvements by @MrJul in #18315
- Remove
List<IObserver<T>>.ToArray()allocations inLightweightObservableBaseby @xoofx in #18316
Fixes
- Considering scaling when centering windows by @HermanKirshin in #16158
- Enhance OpenGlControlBase.cs by @heku in #17011
- Fix INotifyCollectionChanged Move and Replace handling by @mpylon in #17171
- Fix the known valuator do not update. by @lindexi in #17321
- Fix .NET 9 WASM incompatibility by updating SkiaSharp.WASM package by @maxkatz6 in #17362
- Fix xml-test error message being not culture-invariant by @nickodei in #17374
- Fix adapter selection in Vulkan demo by @SCLDGit in #17442
- Ensure VirtualizingStackPanel correct element size estimate and fix #17460 by @BobLd in #17461
- AutoCompleteBox don't lose text selection when contextmenu opens by @punker76 in #17462
- Fix TimePicker breaking change, when using pre-11.2 styles by @maxkatz6 in #17516
- Rework XAML compilation targets by @MrJul in #17539
- Fix macOS ActivatableLifetime events by @MrJul in #17608
- DropShadowDirectionEffect: add AffectsRender for ShadowDepthProperty and DirectionProperty by @laolarou726 in https://github.com/Avalo...