Releases: AvaloniaUI/Avalonia
Releases · AvaloniaUI/Avalonia
11.2.4
Full Changelog: 11.2.3...11.2.4
What's Changed
Enhancements
- Add ISkiaGpuWithPlatformGraphicsContext interface to vulkan skia gpu by @emmauss in #17895
- Support activation with universal links by @kerams in #18005
- Make sure MacOS uses the cached value for render scaling. by @danwalmsley in #18062
Fixes
- Try fix Korean IME on iOS by @kerams in #17680
- [ScrollViewerPresenter] Fix rtl scroll (#16667) by @ijklam in #17714
- Add NonPumpingLockHelper.Use to the SyncCommit by @maxkatz6 in #17812
- Clamp progress bar indicator width and height to never drop below zero when calculating size. by @KieranDevvs in #17816
- Fix TextLayout overflow by @dme-compunet in #17914
- Android - Fix segfault crash when native surface is destroyed on vulkan by @emmauss in #17921
- TextLayout: TextStyleOverrides aren't applied correctly by @solveEM in #17922
- [Skia] Fix RadialGradientBrush for non center origin by @Gillibald in #17925
- Respect TextBox.VerticalContentAlignment for inner contents in fluent theme by @heartacker in #17932
- Update compat dispatcher priorities by @kekekeks in #17948
- End/close AppKit sheets attached on window when we hide it by @maxkatz6 in #17968
- Fix wrong horizontal snap point parameter. by @emmauss in #17986
- Fixes/skia dash array by @Gillibald in #18001
- Fixed unnecessary window displacement on resize by @codecat in #18004
- Fix in HeadlessClipboardStub.GetDataAsync where format is not considered by @YoshihiroIto in #18008
- Path Geometry update fix for 4748 bug rerender on change for paths segments by @EvanRuiz in #18025
- Fix style without selector not finding target type by @MrJul in #18026
- Clear
Imm32InputMethod.Composition
after receivingcancel
message (WM_IME_COMPOSITION
withlParam
set to0
) by @MineCake147E in #18034 - Fix SelectableTextBlock selection by @love-linger in #18049
- make _lastKnownPosition trackable at dragging by @AnastassiaP in #18069
- Fix ManagedStorageProvider OverwritePrompt behaviour by @FishEagle in #18076
- Enable light dismiss on CalendarDatePicker popup in simple theme by @nickodei in #18092
- Fix DevTools bindings by @ltetak in #18125
- DataGrd: Use VisualBrush to generate DragIndicator if Header is a Control. by @rabbitism in #18154
- [SKIA] Don't re-create SKImage on every WriteableBitmap draw call by @kekekeks in #18164
- Fix typo in SetValue validation exception message by @maxkatz6 in #18197
- [TextTrimming] Fixed some text trimming bugs by @dme-compunet in #17998
- Fix Korean IME on Android by @kerams in #18030
Miscellaneous
11.2.3
Full Changelog: 11.2.2...11.2.3
Enhancements
- XEmbed client support by @kekekeks in #17446
- [GLX] Resize the platform render target to compositor-provided size by @kekekeks in #17779
- Make MarkupExtension.ProvideValue method inlinable for StaticResourceExtension and ResolveByNameExtension by @maxkatz6 in #17659
- Ignore key modifiers on text editing if field is a password field. by @c4llv07e in #17695
Fixes
- Fix broken pre-edit markedText on iOS and solve #17523 by @Arktische in #17618
- Fix random test failures and add empty dispatcher verification to tests by @MrJul in #17628
- Fix TextBlock re-measure in infinite container by @MrJul in #17638
- #17675 - AfterPlatformServicesSetup callbacks are not called by the A. by @gentledepp in #17676
- Made OneTime bindings update on DataContext changes by @MrJul in #17683
- Fix KnownFolder for x86 Windows by @stevemonaco in #17705
- [Win] Fix cursor update on pointer enter by @Gillibald in #17726
- Fix macOS popup memory leak due to Close not being called by @MrJul in #17753
- Update pen tap settings by @maxkatz6 in #17780
- Auto free finished vulkan command buffers in gpu interop feature implementation by @kekekeks in #17782
- [MacOS] fix small memory leak when TopLevel closes. by @danwalmsley in #17783
- [macOS] Prevent popups from stealing focus by @MrJul in #17794
- Fix TextAlignment="DetectFromContent" by @Gillibald in #17721
11.2.2
Full Changelog: 11.2.1...11.2.2
What's Changed
Fixes
- Fix FontCollection glyph typeface caching by @Gillibald in #17519
- Fix crashing after opening a uri on browser by @hez2010 in #17524
- Fix npm install for parallel builds by @MrJul in #17532
- Fix TreeViewItem Expand/Collapse event source by @rabbitism in #17558
- Win32: fix position being changed on Resize while minimized by @MrJul in #17559
- Fix visual snapshot on headless by @maxkatz6 in #17565
- Raise the
EffectiveViewPortChanged
when a control is added to the tree that has already has a valid layout by @danwalmsley in #17570 - Don't check if intent is declared by app before launch by @emmauss in #17571
- Fix IActivatableLifetime.Deactivated not being called on macOS by @JamesSmith85 in #17573
- Use URLWithString for pickers by @maxkatz6 in #17594
Misc
11.1.5
11.2.1
What's Changed
Enhancements
- Enable TemplateBinding inside ItemsPanelTemplate by @MrJul in #17483
- Updated PackageProjectUrl with UTM tags by @kekekeks in #17389
- Added basic date/time picker automation peers. by @grokys in #17426
- Bring back ".net 8" target for Avalonia.Browser by @maxkatz6 in #17452
Fixes
- Fix InlineUIContainer clipping in text when ArrangeOverride called. (#17183) by @Danich27rus in #17194
- Fix DataGrid native aot crash when sorting. by @dameng324 in #17248
- Fix InlineDictionary Behavior for Single Item Reassignment by @lindexi in #17370
- Don't use GLib helper functions introduced in 2.74 by @kekekeks in #17392
- Fix DateTimePickerPanelType enum backward compatibility by @rabbitism in #17398
- Typeface simulation fixes by @Gillibald in #17399
- Implement TryGetFeature on secondary previewer windows by @maxkatz6 in #17409
- fix Expander.cs for transition broken by @Coloryr in #17411
- Create an autorelease pool for every render timer tick by @kekekeks in #17414
- Fix TemplateBinding in custom IControlTemplate implementations by @MrJul in #17427
- Handle previously missing event types in PenDevice by @maxkatz6 in #17454
- CalendarDatePicker - use CustomDateFormatString for parsing the text input by @punker76 in #17465
- Fix Gtk open file dialog returns folder by @zii-dmg in #17500
- [Browser] Add dotnet/runtime#109289 workaround by @maxkatz6 in #17507
- Disable Metal as a default rendering mode for 11.2 by @maxkatz6 in #17508
- Fix TextBlock TextAlignment issues when a HorizontalAlignment is defined by @Gillibald in #17402
- Revert "Fixed publishing multi-architecture Android builds" by @MrJul in #17499
Full Changelog: 11.2.0...11.2.1
11.2.0
What's Changed
Combined change log from all 11.2.0 betas and rc.
Features
- feat: Every RoutedEvent should be usable as Attached Event by @workgroupengineering in #15274
- New ToolTipClosing, ToolTipOpening attached events and ToolTip.Opened, ToolTip.Closed by @maxkatz6 in #15493
- Custom popup placement callback by @maxkatz6 in #15667
- Add Close and ClearAll api for INotificationManager and IManagedNotificationManager by @wieslawsoltes in #15628
- Add dedicated automation peers for TreeView and TreeViewItem by @wieslawsoltes in #15653
- Add HotKeys Page to DevTools by @stevemonaco in #15700
- Refactored WASM rendering, added MT support for dispatcher by @kekekeks in #15709
- Implementing IFormattable on KeyGesture by @IanRawley in #15828
- DataGrid: expose row index by @rabbitism in #15909
- Avalonia.Native TopLevel embedding by @Gillibald in #15932
- Adds support for Seconds to TimePicker by @begleysm in #16079
- MacOS sandboxing feature by @maxkatz6 in #16090
- Add an overload for ClassicDesktopStyleApplicationLifetime by @NeverMorewd in #16167
- Implement
BindingOperations.GetBindingExpressionBase
by @grokys in #16214 - Add UpdateSourceTrigger support for ReflectionBindingExtension by @rabbitism in #16861
- Screens API refactor by @maxkatz6 in #16295
- X11 - Refactor x11 Screen API by @emmauss in #16705
- Improve TextTrimming customization experience by @Gillibald in #16521
- x:Shared by @workgroupengineering in #16644
- PolyBezierSegment by @workgroupengineering in #16664
- ResourceProvider upgrade by @maxkatz6 in #16928
- Add BoolTransition by @dbriard in #16941
- Expose TreeViewItem expansion status to root event. by @rabbitism in #16984
- Enable VisualBrush to be used as Visual's OpacityMask by @kekekeks in #17072
- Added Win32PlatformOptions.GraphicsAdapterSelectionCallback by @kekekeks in #17079
- Implemented GLib-based dispatcher by @kekekeks in #17281
- Avalonia single project support by @maxkatz6 in #9613
- Improve DevTools previewer of setter values by including all value priorities by @maxkatz6 in #13802
Enhancements
- Enable Metal rendering by default for iOS and macOS by @maxkatz6 in #14762
- Improve AvaloniaObject.GetValue performance by @MrJul in #15342
- ToolTip should use Popup internally + fix Popups not closing when placement target is closed by @maxkatz6 in #15358
- Add basic integration tests for NativeControlHost and improve its automation/a11y support. by @grokys in #15542
- [Windows] WindowDecorations related integration tests by @maxkatz6 in #15561
- Bump DBus stack by @affederaffe in #15568
- Validate all width/height properties of Layoutable when they are set by @TomEdwardsEnscape in #15753
- Refactor WASM input and dom-callbacks to work with multithreading by @maxkatz6 in #15849
- Request for Feedback: Improving Startup Latency in X11 by @Sewer56 in #16033
- TrayIcon integration tests by @maxkatz6 in #16154
- Fixed build error: SourceRoot paths are required to end with a slash or backslash by @heku in #16174
- Remove obsolete API usage from
SelectingItemsControl
. by @grokys in #16220 - Move IsDirect = true into DirectPropertyBase by @heku in #16256
- Android - Refactor AvaloniaInputConnection by @emmauss in #16490
- Obsolete CompiledBindingPathBuilder.SetRawSource by @MrJul in #16505
- UWP/WinUI style XYFocus subtree restrictions by @IanRawley in #16557
- Remove System.Linq.Expressions usages in ReflectionClrPropertyInfo by @MrJul in #16568
- Increase LayoutTransformControl.DecimalsAfterRound from 4 to 8 by @BobLd in #16583
- Extract non-generic members from frequently used generic types by @MrJul in #16585
- Switch to a HashSet as backing for SafeEnumerableList by @halgari in #16633
- Only add the text selection canvas when the textbox is focused by @emmauss in #16643
- 11.2.x Private/PublicAPI adjustments by @maxkatz6 in #16733
- Reduced memory alloc for combined binding subjects by @YohDeadfall in #16794
- feat: Align
PathSegments
ctor overloads to WPFPathSegmentCollection
by @workgroupengineering in #16809 - [AVN] Introduced ComObjectWeakPtr by @kekekeks in #17041
- Validate visual parent on attaching to the tree by @maxkatz6 in #17049
- Begin with DisableRuntimeMarshalling support + fix macOS Metal AOT by @maxkatz6 in #17116
- Make UiThreadRenderTimer to calculate the next tick time based on expected FPS by @kekekeks in #17121
- Use epoll for dispatcher loop since it's more accurate with wait timeouts by @kekekeks in #17123
- [fbdev] Added a mode that should not waste time in FBIO_WAITFORVSYNC by @kekekeks in #17124
- Disable runtime marshalling for GetProcAddress by @maxkatz6 in #17136
Fixes
Expand
- Fix TemplateBinding and allow custom attributes in XamlValueConverter by @maxkatz6 in #14612
- Notify window on mouseEntered (mac only) by @ltetak in #15251
- Fix nth child selector in data grid header by @appel1 in #15482
- Fix SelectableTextBlock Selection by @xLEGiON in #15536
- Win32 - Fix EntendClient hints not being applied window show by @emmauss in #15552
- X11Window should probably ignore X11 grab focus events by @walterlv in #15686
- Try to normalize family names for embedded fonts by @Gillibald in #15703
- Propagate Dispose from GlyphTypefaceImpl to dispose SkTypeface by @lindexi in #15733
- Don't show text selector when no text is ready by @emmauss in #15770
- More trimming fixes, enable analyzers unconditionally by @maxkatz6 in #15815
- FontManager adjustments by @Gillibald in #15819
- Fix OnColorValuesChanged not executed on the UI thread by @Bezolt in #15827
- [Text] Multiple text processing fixes by @Gillibald in #15837
- Translate glyphRun bounds by the baseline origin by @Gillibald in #15839
- Apply Alignments to TileBrushes with uniform stretch by @emmauss in #15846
- [Text] Fix glyph offsets by @Gillibald in #15848
- Remove from logical children and clear item container on reset by @Meloman19 in #15855
- macOS: Don't include two windows in a11y tree. by @grokys in #15899
- Fix gesture event names by @wieslawsoltes in #15931
- [X11] Ensure XSync before calling CreateNativeControlCore by @kekekeks in #15952
- Fix #15955 by @nil4 in #16005
- Fix some issues with strokeless geometry segments by @grokys in #16019
- Fix tile mode used in SkShader for a TileBrush with None TileMode by @emmauss in #16021
- Fix TrayIcon menu crash by @logiclrd in ...
11.2.0-rc2
Full Changelog: 11.2.0-rc1...11.2.0-rc2
What's Changed
Features
- Implemented GLib-based dispatcher by @kekekeks in #17281
- Make the name table optional by @Gillibald in #17306
Fixes
- ComboBox Empty Selection should not Generate a TextBlock as SelectionBoxItem by @gehongyan in #16748
- fix:
SplitButton.Click
is not fired whenSplitButton
is not in focused by @workgroupengineering in #16940 - Fix desktop lifetime non-mainwindow cancellation by @maxkatz6 in #17059
- Fix missing Orientation check in VirtualizingStackPanel by @dbriard in #17135
- Don't apply our weird window positioning hacks for clicks on traffic lights by @kekekeks in #17181
- Fixes an issue that can cause Avalonia-based Windows applications to crash on termination by @ryannewington in #17190
- Do not reset text selection when the TextBox loses focus by @Gillibald in #17195
- Fix LayoutUpdated and EffectiveViewportChanged double registration by @MrJul in #17196
- Fixed an issue RTL wrapped text calculates an extra line for the control desired size by @dme-compunet in #17209
- macOS: Prevent crash with popups by @grokys in #17218
- Set TimePicker.Time seconds to zero when UseSeconds is False by @VisualMelon in #17251
- Fix ThemeVariant equality by @MrJul in #17257
- Rework how TextBlock skips redundant measure and arrange calls by @Gillibald in #17271
- Fix overlay popup focus issues by @MrJul in #17326
11.1.4
What's Changed
Fixes
- Fix - Grow datagrid height if there's available space by @emmauss in #16527
- Fix --no-build publishing when axaml compiler is used by @js6pak in #16835
- Prevent stack overflow in two-way bindings. by @grokys in #17073
- [macOS]: Call layer.setNeedsDisplay on show. by @grokys in #17096
- Don't apply our weird window positioning hacks for clicks on traffic lights by @kekekeks in #17181
Miscellaneous
11.2.0-rc1
What's Changed
Enhancements
- Enable VisualBrush to be used as Visual's OpacityMask by @kekekeks in #17072
- [AVN] Introduced ComObjectWeakPtr by @kekekeks in #17041
- Validate visual parent on attaching to the tree by @maxkatz6 in #17049
- Added Win32PlatformOptions.GraphicsAdapterSelectionCallback by @kekekeks in #17079
- Begin with DisableRuntimeMarshalling support + fix macOS Metal AOT by @maxkatz6 in #17116
- Disable runtime marshalling for getprocaddress by @maxkatz6 in #17136
- Make UiThreadRenderTimer to calculate the next tick time based on expected FPS by @kekekeks in #17121
- Use epoll for dispatcher loop since it's more accurate with wait timeouts by @kekekeks in #17123
- [fbdev] Added a mode that should not waste time in FBIO_WAITFORVSYNC by @kekekeks in #17124
- Use coercion for MaskedTextBox.Text by @MrJul in #17143
- feat: Enable Rule CA1851 by @workgroupengineering in #16779
- Warning fixes: fall wave by @MrJul in #17180
Fixes
- Make popup focus stealing configurable. by @grokys in #16642
- [macOS] Fixes stuck mouse buttons after drag by @MrJul in #17035
- Fix parsing of XAML setters when the child isn't a text node by @MrJul in #17044
- Prevent stack overflow in two-way bindings. by @grokys in #17073
- Prevent AutoCompleteBox getting stuck in a state where it can't drop down. by @grokys in #17074
- [macOS]: Call layer.setNeedsDisplay on show. by @grokys in #17096
- Properly fixed DrawingContextProxy transform tracking by @kekekeks in #17101
- Fix HeadlessWindowImpl.Position does not persist new value by @loyvsc in #17103
- Fix WellKnownFolder.Downloads on Windows by @stevemonaco in #17107
- Add missing Screen.Equals/GetHashCode overrides by @MrJul in #17112
- Fix ClickOnce entry assembly not having Avalonia XAML compilation output by @TomEdwardsEnscape in #17115
- Unsubscribe the same handler with subscribed with in Dispatcher::ShutdownImpl by @kekekeks in #17122
- Execute Dispatcher.RunJobs after each headless NUnit test by @MrJul in #17140
- Fixed TabItem.ContentTemplate being reused for the next tab item by @TomEdwardsEnscape in #17141
- Fixed publishing multi-architecture Android builds by @TomEdwardsEnscape in #17145
- Fix SplitView :closed pseudoclass not being added on control initialization #17176 by @OccVeneficus in #17178
- fix Automation.HelpText on windows by @ahopper in #17030
- Fix AutomationProperties.HelpText on macos by @ahopper in #17046
Miscellaneous
- fix(Win32): PopupImpl memory leak by @workgroupengineering in #16890
- Delete nuget.config from IntegrationTestApp by @MrJul in #17045
- Make our TileBrush code a bit less byzantine by @kekekeks in #17098
- Do not shape and render null terminator by @Gillibald in #17119
New Contributors
- @loyvsc made their first contribution in #17103
- @OccVeneficus made their first contribution in #17178
Full Changelog: 11.2.0-beta2...11.2.0-rc1
11.2.0-beta2
What's Changed
Features
- Extract non-generic members from frequently used generic types by @MrJul in #16585
- X11 - Refactor x11 Screen API by @emmauss in #16705
- Fix a Code Typo in XSharedDirectiveTests by @gehongyan in #16765
- Reduced memory alloc for combined binding subjects by @YohDeadfall in #16794
- feat: Align
PathSegments
ctor overloads to WPFPathSegmentCollection
by @workgroupengineering in #16809 - feat: add UpdateSourceTrigger support for ReflectionBindingExtension by @rabbitism in #16861
- ResourceProvider upgrade by @maxkatz6 in #16928
- Add BoolTransition by @dbriard in #16941
- feat: expose TreeViewItem expansion status to root event. by @rabbitism in #16984
Fixes
- Fix SelectableTextBlock Selection by @xLEGiON in #15536
- Fixes #16346 by @mpylon in #16347
- Fix transform desync by @Gillibald in #16363
- Fix IME not working in some scenarios. by @kkwpsv in #16476
- Make sure GlyphRunImpl.InkBounds are always at a positive location by @Gillibald in #16601
- fix #12190, the name of FontFamily is null will cause crash by @JerryJian in #16677
- Fix bindings without property path by @MrJul in #16729
- TitleBar.Height setter crashes integrational tests app by @maxkatz6 in #16735
- Fixes geometry render bounds when curves are present by @MrJul in #16756
- Fix SimpleTheme for TimePicker by @VisualMelon in #16758
- fix: NativeMethods.txt by @workgroupengineering in #16780
- Fix stuck internal macOS modifier keys by @MrJul in #16788
- Fixed nearest font matching not working by @adirh3 in #16796
- Prevent .NET from randomly calling WndProc in RequestCompositionBatchCommitAsync by @kekekeks in #16804
- Fix --no-build publishing when axaml compiler is used by @js6pak in #16835
- Add TypographicFamilyName to GlyphTypeface and use it for FontCollection by @Gillibald in #16844
- Vulkan - Fix display surface lost error by @emmauss in #16887
- Allow selection of multiple consecutive blocks in SelectingItemsControl. by @Brubning in #16907
- Android - call base dispatch key event before called toplevel's override by @emmauss in #16969
- Android - fix selection bounds in TextEditBuffer by @emmauss in #16970
- Sync CaretIndex directly by @Gillibald in #16981
- fix(ToggleSwitch): only remove knob transitions when dragging by @jsimonsen in #16993
- [Text] Convert control codepoints into zero width space during shaping by @Gillibald in #17004
- XamlX update: IProvideValueTarget fixes and nested-types support by @maxkatz6 in #17021
Miscellaneous
- Housekeeping Update ReactiveUI and Rx base version by @ChrisPulman in #16719
- Remove invalid Properties folder reference in project by @heku in #16955
- Adjust diagnostic apis by @maxkatz6 in #17022
Full Changelog: 11.2.0-beta1...11.2.0-beta2