Releases: AvaloniaUI/Avalonia
11.1.1
11.0.12
11.1.0
What's Changed
- Converter for DataValidationErrors by @timunie in #11282
- Add default template to the ContentControl, remove theme specific templates by @maxkatz6 in #11365
- Introduce MenuItem.ToggleType by @maxkatz6 in #11441
- Samsung Tizen by @OmidID in #12151
- Refractor WindowNotificationManager by @timunie in #12178
- Do not hardcode Grid.*Span-Properties for ScrollViewer FluentTheme by @timunie in #12301
- Bugfix: CanResize unused when Width/Height is set by @uthidata in #12445
- fix: Missing quality parameter by @workgroupengineering in #12507
- feat: Avalonia Properties Page by @workgroupengineering in #12562
- feat: Using pdbstr from Microsoft.Debugging.Tools.PdbStr instead of obsolete SourceLink package by @workgroupengineering in #12570
- Win32+Angle: reuse the first created D3D11 display by @MrJul in #12574
- Added PointerPressed and PointerReleased events to DataGrid header by @ctacke in #12595
- Revert "Clipboard image" by @maxkatz6 in #12599
- Pass
NoWarn
to external MSBuild processes by @TomEdwardsEnscape in #12647 - fix polygon/polyline load fail points within the template by @a526684540 in #12651
- Implement CVDisplayLink based timer on macOS by @maxkatz6 in #12652
- Fix default values of window properties not being sent to
IWindowImpl
by @TomEdwardsEnscape in #12656 - Updated Inter font to fix vertical stretching issue and for lighter typefaces by @dbriard in #12667
- Implement xdg-desktop-portal accent-color spec by @affederaffe in #12674
- Introduce GlyphTypeface.TryGetStream by @Gillibald in #12696
- Fix pointer sample page scrolling issue by @emmauss in #12697
- Adjust popup working area with toplevel's safe area padding by @emmauss in #12699
- Add github sponsors badge to readme by @Mrxx99 in #12701
- Remove hardcoded popup constraint adjustment by @emmauss in #12708
- Update CONTRIBUTING.md by @grokys in #12714
- Implemented Geometry.GetWidenedGeometry. by @grokys in #12724
- Add win32 platform options to select process DPI awareness by @emmauss in #12726
- Vulkan backend by @kekekeks in #12737
- Improve updates of Win32 window's WindowStyles by @emmauss in #12752
- Made clear behavior in RenderTargetBitmap.CreateDrawingContext optional by @PMahern in #12793
- feat: WindowNotificationManager: support TopCenter and BottomCenter position by @rabbitism in #12804
- feat(DevTools): Focus follower by @workgroupengineering in #12813
- fix: PULL_REQUEST_TEMPLATE.md docs link by @workgroupengineering in #12815
- Apply XamlX PR #92 override the Content attribute for a base class by @workgroupengineering in #12824
- Closing tooltips on control click by @HermanKirshin in #12831
- Fixed bug with initial size and position calculation for X11Window by @HermanKirshin in #12833
- Added ConverterCulture to bindings. by @grokys in #12876
- Hold Gesture size and event improvements by @emmauss in #12879
- [X11] Use Xft.dpi and QT_*** environment variable to get screen scaling by @kekekeks in #12880
- Add ThreadProxyRenderTimer by @maxkatz6 in #12900
- fix: set
AvaloniaUseCompiledBindingsByDefault
to false by default by @workgroupengineering in #12987 - Added PhysicalKey handling for Android by @MrJul in #13006
- Bump minimal TFM for mobile projects from .NET 6 to .NET 7. by @maxkatz6 in #13012
- Fix MobileSandbox.iOS TFM by @MrJul in #13017
- In
Avalonia.Base
, private fields that are never modified were madereadonly
by @Lehonti in #13020 - In
Avalonia.Dialogs
, addedreadonly
to fields that are never modi. by @Lehonti in #13022 - In
Avalonia.ReactiveUI
, simplified null checks for delegate invocations by @Lehonti in #13023 - Add Header content control template for Fluent and Simple themes by @thevortexcloud in #13028
- In
Avalonia.Base
, sealed several classes whose constructors aren't available from public API, and which have no inheritors by @Lehonti in #13043 - Modernized accessor syntax in several places by @Lehonti in #13044
- Incorrect reset of a captured control when moving the pointer over a MenuItem by @viordash in #13046
- Impl auto safe area padding by @maxkatz6 in #13047
- Replace old Roadmap link with link to Blog by @MaxwellDAssistek in #13069
- Make ColorPicker button content customizable. by @rabbitism in #13073
- Housekeeping/improve issue templates by @timunie in #13074
- Use latest Angle builds by @maxkatz6 in #13081
- perf: Micro optimization EndsWith using by @workgroupengineering in #13084
- Fixed an issue that windows empty Win32 window would show unnecessarily by @adirh3 in #13097
- Implement Text Selection handles in TextBox for touch input by @emmauss in #13107
- bump version. by @danwalmsley in #13117
- Fix documentation typos in AvaloniaLIst (#4948) by @mgnslndh in #13146
- Update XamlX by @MrJul in #13158
- [Mac] Only raise TextInput for non empty keySymbol by @Gillibald in #13179
- Introduce AppBuilder extension to customize system fonts by @Gillibald in #13191
- feat: avoid redundant null check in PinchGestureRecognizer by @workgroupengineering in #13207
- Replace lost DynLoader with NativeLibraryEx by @maxkatz6 in #13217
- [Mac] Handle control keys all the time by @Gillibald in #13220
- Do not set borders if window state is maximized in Win32 by @emmauss in #13228
- cleanup(PinchGestureRecognizer): Removing unused methods by @workgroupengineering in #13229
- Fix TextWrapping for all modes when nothing fits into a line by @Gillibald in #13241
- feat(PinchGestureRecognizer): Report Pinch angle in degrees by @workgroupengineering in #13244
- Typo on TextBlock.cs comments by @alessandrofrancesconi in #13255
- Fixes leading space GlyphRun.InkBounds by @Gillibald in #13268
- update xamlx by @workgroupengineering in #13328
- Handle array types when parsing XAML values by @TomEdwardsEnscape in #13331
- Make
PreventGestureRecognition
pointer scope, and not event scope. by @emmauss in #13351 - Add Platform InputPane interface by @emmauss in #13363
- Fix SystemFontCollection nearest match lookup by @Gillibald in #13365
- feat(DevTools): Pin properties by @workgroupengineering in #13371
- Implement DirectComposition support, as well as return Win8+ window transparency by @maxkatz6 in #13382
- Fix previewing XAML in the Simple theme project by @mgnslndh in #13394
- Disable close, move, resize, maximize and minimize functions for parent of modal window on Linux. by @EgorRudakov2 in #13398
- [X11] IME hack for fcitx4 by ...
11.1.0-rc2
Full Changelog: 11.1.0-rc1...11.1.0-rc2
What's Changed
- Convert IAvaloniaXamlIlParentStackProvider to eager one if needed by @MrJul in #16028
- Fix negation of null values. by @grokys in #16101
- Fix BindingNotification handling in MultiBinding by @grokys in #16102
- Fix
ICommand
bindings in style setters by @grokys in #16122 - Make bindings react to PropertyChanged even if property hasn't changed by @grokys in #16150
11.0.11
https://www.nuget.org/packages/Avalonia/11.0.11
Full Changelog: 11.0.10...11.0.11
What's Changed
- Implement MacOSProperties.IsTemplateIcon attached property on TrayIcon by @maxkatz6 in #14348
- Create a new run loop observer for a nested loop if it's being started from an observer callback by @kekekeks in #15425
- Fix VirtualizingStackPanel ScrollIntoView by @grokys in #15449
- [Win] Fix composition on focus change by @Gillibald in #15907
11.1.0-rc1
This release contains bugfixes for issues reported for 11.1.0-beta2.
Full Changelog: 11.1.0-beta2...11.1.0-rc1
What's Changed
- Vulkan backend by @kekekeks in #12737
- Fix tooltips not closing when the pointer leaves the window by @TomEdwardsEnscape in #15312
- Reduce generated invocations to
FindNameScope
by @Rekkonnect in #15370 - Add isStroked overload for IGeometryContext by @emmauss in #15430
- fix: ICommadSource Implemetation by @workgroupengineering in #15496
- Fix: PhysicalKeyExtensions.ToQwertyKey by @satanikia1300 in #15502
- CompileAvaloniaXamlTask - handle no-pdb compilations by @ltetak in #15509
- Correctly handle x,y offset for Bitmap.CopyPixels by @Gillibald in #15510
- Grid fixes by @zii-dmg in #15516
- Fixed use of stride in ImmutableBitmap ctor by @dbriard in #15520
- Fix Avalonia.Browser running on .NET 9 by @maxkatz6 in #15521
- Use tap size as default size for scrolling start. reset IsGestureRecognitionSkipped when pointer is released by @emmauss in #15524
- Win32 - Apply extend client state when window visibility changes by @emmauss in #15566
- Update TargetFrameworks in Avalonia.Vulkan.csproj by @kekekeks in #15578
- Fix crash when linux tray icon's visibility is toggled on/off. by @jmacato in #15582
- Add vulkan support for android by @emmauss in #15588
- fix(Themes.Fluent): MenuItem Chevron position by @workgroupengineering in #15594
- More Tooltip edge case fixes by @TomEdwardsEnscape in #15596
- Added support for Compatibility profile in Wgl and Glx code by @odalet in #15598
- Fix android launcher return values by @maxkatz6 in #15601
- [Android][TextBox] fix strange caret move behaviour on Android 14 by @Tangent-90 in #15605
- [TextBox] fix double click on TextBox cannot select word on touch device by @Tangent-90 in #15606
- Set alpha and pixel format for Direct2D WIC bitmap by @hez2010 in #15610
- Add [GeneratedCode] and [ExcludeFromCodeCoverage] to Name Generator output members by @stevemonaco in #15616
- Wrap type conversions in try-catch to prevent crashes due to unhandled exceptions by @BAndysc in #15640
- fix the initialContent is always null by @afunc233 in #15650
- Fixed DeferredContent parents order by @MrJul in #15670
- Hack to enable subpixel rendering by default. by @grokys in #15676
- Implement missing browser stream methods by @maxkatz6 in #15701
- Fixed NativeAOT on .NET 9 by @MrJul in #15705
- Fix DrmOutputOptions.ConnectorTypeId naming by @MrJul in #15710
- Fixes spurious DataGrid data validation error by @grokys in #15716
- Allow nested BindingNotifications. by @grokys in #15722
- Fix Animator for progress values less than zero by @MrJul in #15726
- Fix Android app randomly hangs by @zabolotnev in #15810
- Handle case when TaskBarList could not be created by @mojoe-playground in #15852
11.1.0-beta2
Full Changelog: 11.1.0-beta1...11.1.0-beta2
API Diff for 11.1.0-beta2: https://gist.github.com/maxkatz6/9feb6029ef9a412fdab64ded4d7e2033
API Diff for 11.1.0-beta1: https://gist.github.com/maxkatz6/a7df42607cc7187b94e2e693ccf15f6d
NuGet: https://www.nuget.org/packages/Avalonia/11.1.0-beta2
Most of new features are still pending updated documentation.
You can follow progress on this issue - AvaloniaUI/avalonia-docs#384.
Continuing https://github.com/AvaloniaUI/Avalonia/releases/tag/11.1.0-beta1
New features
- New converters: ObjectConverters.Equal and ObjectConverters.NotEqual
- New ActivationKind.File with FileActivatedEventArgs.
- Avalonia is now compatible with SkiaSharp 3.0, see #15503
Controls changes:
- DataGrid now supports basic automation integration.
- New ToolTip APIs: BetweenShowDelay, ServiceEnabled and ShowOnDisabled.
- ComboBox.SelectionBoxItemTemplate to redefine template of the selected content.
- TransitioningContentControl.TransitionCompleted event allowing to release any resources associated with the previous content.
- Window.SortWindowsByZOrder sorting input windows by their ZOrder.
New platform features
Linux
- New X11PlatformOptions.UseRetainedFramebuffer
Browser
- BrowserPlatformOptions now includes BrowserRenderingMode with possible values: WebGL2, WebGL1, Software2D
iOS
- It's now possible to override CreateAppBuilder.
- Various improvements in Mouse/Physical Keyboard handling.
Android
- AvaloniaActivity base class extracted from AvaloniaMainActivity.
- It's now possible to override CreateAppBuilder.
Tizen
- It's now possible to override CreateAppBuilder.
LinuxFramebuffer
- New LibInputBackendOptions and FbDevOutputOptions.
VNC
- VNC now supports wider set of clients and password protection.
This release also includes bug fixes, performance improvements and various smaller enhancements.
11.1.0-beta1
Full Changelog: https://github.com/AvaloniaUI/Avalonia/commits/11.1.0-beta1
Full API Diff: https://gist.github.com/maxkatz6/a7df42607cc7187b94e2e693ccf15f6d
Please install latest dotnet templates.
Most of new features are still pending updated documentation.
You can follow progress on this issue - AvaloniaUI/avalonia-docs#384.
New features
- Binding markup extension was refactored, and now supports UpdateSourceTrigger!
- Tizen backend with Tizen TV support.
- XAML warnings support, starting with Obsolete and TemplatePart warnings. Configurable via csproj and editorconfig. XAML error reporting is now also improved, not being limited by a single error at a time.
- New top-level and application services: ILauncher, IInputPane, IActivatableLifetime.
- XY focus with arrow keys and remote DPad is now available.
- Global exception handling via Dispatcher UnhandledException and UnhandledExceptionFilter.
New and extended controls:
- HyperlinkButton is now available.
- MenuItem now supports ToggleType property, including CheckBox and Radio types with radio groups.
- Border now includes a new BackgroundSizing property, allowing customizing transparent border brushes rendering.
- Many interactive controls were updated to be usable with TV remote control, where only DPad buttons and Space (Select) + Escape (Back) are available.
- NumericUpDown and AutoCompleteBox: MaxLength, InnerLeftContent, and InnerRightContent.
- WindowNotificationManager was refactored and now can be embedded at any level of the controls tree, not being hardcoded to the top level.
- RadialGradientBrush now has separated
RadiusX
andRadiusY
properties that allow absolute and relative values. OldRadius
property is now obsolete.
New platform features
Windows
- DirectComposition rendering mode is now supported for older Windows versions (8.1+)
- It's now possible to add
WndProc
andWindowStyles
callbacks viaWin32Properties
API.
macOS
TrayIcon
now includesMacOSProperties.IsTemplateIcon
attached property, allowing monochrome icons consistent with macOS system icons
Linux
- It's now possible to set
NetWmWindowType
andWmClass
on any window viaX11Properties
attached properties. - Avalonia now respects XGD accent color spec.
Browser
StaticWebAssets
SDK is now supported. It brings support for building in .NET Brotli compression and caching. To use this SDK, please recreate the browser project from the new template using the 11.1.0-beta1 version.- WebGL2 is now enabled by default.
iOS
- Metal rendering mode was implemented and now can be enabled via iOSPlatformOptions.
- Physical keyboard and mouse input handling now work.
- tvOS support was added.
Android
- Android TV support was added
Breaking Changes
- iOS and Android backends now require .NET 8 or newer, as per .NET mobile workloads support timelines.
- Browser backend now also requires .NET 8 or newer, but also has changes to its project structure. We recommend using newer Avalonia templates as a reference, but a migration guide specifically for the browser is also planned.
11.0.10
https://www.nuget.org/packages/Avalonia/11.0.10
Full Changelog: 11.0.9...11.0.10
What's Changed
- Move
ScrollIntoView
intoItemsControl
. by @grokys in #14538 - Use dynamic resources in Expander button theme. by @grokys in #14542
- Fixes/revert x11 popup changes by @kekekeks in #14573
- Fix InlineUIContainer focus by @Gillibald in #14590
- Make integration tests catch issues with Icon Loading by @danwalmsley in #14593
- Fix TextBlock wrong caret position by @Donzasto in #14627
- added _windowProperties override to Win32.EmbeddedWindowImpl by @Basnederveen in #14649
- GPU interop features now don't require to skip the first frame and available earlier in general by @kekekeks in #14651
- [Win32] Fixes improper IME composition ignorance by @gehongyan in #14664
- Fix initial selection for TabControl with AlwaysSelected by @Gillibald in #14668
- Fix InlinesCollection Logical/VisualParent update by @Gillibald in #14679
- Recreate TextLayout on measure to make sure constraint is updated by @Gillibald in #14705
- Backport fix NullReferenceException in X11Window.Activate by @pos777 in #14787
11.0.9
https://www.nuget.org/packages/Avalonia/11.0.9
Full Changelog: 11.0.8...11.0.9
Releasing shortly after previous, as 11.0.8 release had critical issues.
What's Changed
- [Windows] Fix bitmap->icon conversion? by @kekekeks in #13445
- [Linux] Fix popups position on X11 by @marysaka in #14551
- Avoid NRE from GetGlyphPath by @maxkatz6 in #14530
- Discard additional lines upon inserting when AcceptsReturn=false by @markl65536 in #14173
- [Browser] Handle mouse wheel coordinates. by @workgroupengineering in #14533
- Fix previewer sometimes not finding deps file by @maxkatz6 in #14552
- Fix not handling first window creation by @maxkatz6 in #14553