Skip to content

5.0.19

Compare
Choose a tag to compare
@jeromelaban jeromelaban released this 01 Nov 20:54
· 525 commits to release/stable/5.0 since this release
5ee32c8

Today’s release is a significant step towards creating the most productive platform for building single codebase .NET applications that run on mobile, desktop and web.

Uno Platform 5.0 brings: C# Markup out of the box, Figma to C# markup export tool, new and improved Hot Reload, improved MVUX, and two new sample apps (TubePlayer, Simple Calc)!

For more details checkout our 5.0 announcement blog post!

To upgrade to Uno Platform 5.0, make sure to read our upgrade notes.

On the more specific list of Uno.UI features and big fixes:

  • Xamarin and .NET 6.0 are removed
  • .NET 8 is added
  • iOS MP4 camera capture
  • Compass support on WebAssembly
  • Improved Composition support for Skia (CompositionMaskBrush, CompositionNineGridBrush, LoadedImageSurface, CompositionViewBox)
  • ListView.IsMultiSelectCheckBoxEnabled support
  • GTK ability to extent window into TitleBar
  • WebView2 support for SetVirtualHostNameToFolderMapping for iOS/Catalyst/Android
  • PowerManager support for WebAssembly
  • Support PackageId on Skia and WASM
  • Skia support file:// uri scheme for Image
  • PreviewKeyUp/PreviewKeyDown in WebAssembly
  • Performance Improvements
    • Avoid native Paint re-creation
    • x:Bind bindback hidden NRE, including a specialized x:Bind parser
    • Misc allocation reductions in XAML source generators
    • Many resource dictionary key resolution performance improvements
    • Improved FrameworkTemplate Pooling for Skia and WebAssembly targets
  • Many small breaking changes to align further APIs to WinUI
  • Better fractional DPI scaling support for Skia+GTK
  • Many shapes clipping and alignment fixes for all platforms
  • Many measure and arrange phases alignments with WinUI
  • Many Hot Reload enhancements with full XAML and C# hot reload
  • Additional CSP compatibilty changes
  • TreeView drag and drop fixes
  • Many CalendarView fixes
  • Uno.WinUI.RemoteControl is now Uno.WinUI.DevServer
  • Many Flyout fixes
  • Theme detection improvements on Linux

Community Shout Out!

Our contributor community just passed 300 contributors across all our repositories – be it the core UI one, documentation, or gallery.

Among others:


Full changelog

Features

  • [iOS] Add mp4 video capture in CameraCaptureUI ca03383
  • Add a Uno-specific to access the native Window f9982a2
  • Add ability to configure hot reload engine also in release 4e0ad7a
  • Add ability to pause and result hot reload 91e8c8d
  • Add Compass sensor Sample d1ce8a6
  • add feat flag to disable droid measure cache 020aaff
  • Add missing WinUI PackageVersion constructor 2f13210
  • Add support for app resources update 1c40f24
  • Add support for Compass on Wasm 4a0c277
  • Add support for partial hotreload for mobiel targets 7caf0e6
  • Adding ability to filter hr test cases fa93b8d
  • Adding capture/restore extensibility to hot reload ui update process d56f1bc
  • Adding capture/restore for scrollviewer ad95f89
  • Adding user control test case ca28f64
  • Clear mappings between tests cases f04c0ab
  • Enable VS non-debugger session updates 1264913
  • Give ability to client to listen for the server to be ready to process hot-reload (for testing purposes) fe2dea4
  • Make sure that dev server is running using the expected runtime 6ce06c2
  • Make the RemoteControlClient (i.e. client of the DevServer) self-reconnect to server if connection is dropped e091b28
  • Provide ability to disable type providers generation ad2939f
  • composition: Began work on RedirectVisual (+ Sample) and CompositionVisualSurface 32dd7a9
  • composition: Completed CompositionVisualSurface implementation + Sample c38a5b2
  • composition: CompositionMaskBrush + Sample 78c32ee
  • composition: Implement CompositionCapabilities 56c39cf
  • composition: Implement IVisualElement and IVisualElement2 c1db9bc
  • composition: Initial not-working-yet implementation of CompositionNineGridBrush 9dec61d
  • composition: More work on the CompositionNineGridBrush implementation + sample 2def209
  • listview: add support for ListView.IsMultiSelectCheckBoxEnabled 2e02592
  • remove unyson in docs navbar ffa7c3b
  • composition: Implement LoadedImageSurface + Sample e095db1
  • GTK Window: Extend into Title Bar e1f5054
  • itemspresenter: add support for header and footer a5ee3d5
  • NavigationView: Include Always unlink parent 5cfbc62
  • NavigationView: Include Delay load Hierarchical NavViewItem elements db71402
  • NavigationView: Include Disable virtualization fixes 8480b6d
  • NavigationView: Include Fix issue where NavView IsPaneOpen can end up incorrect when layout changes 879205d
  • NavigationView: Include Fix issue where setting IsPaneButtonVisible 647c4d8
  • NavigationView: Include Fix issue with cancelled touch pointers not resetting state correctly 38d7ae1
  • NavigationView: Include Fix issue with exception being thrown during cleanup of NavigationView 17e7855
  • NavigationView: Include Fixing NavigationView UIA set logic 0560a3f
  • NavigationView: Include Make NavigationView SettingsItem Tag not localized 0681b28
  • NavigationView: Include Navigation does not work when using Narrator in Scan Mode fd1ee79
  • NavigationView: Include NavigationViewItem add child item fix b58f36f
  • NavigationView: Include NavigationViewTemplateSettings.OpenPaneLength Update 4db764c
  • NavigationView: Include Porting NavigationView fixes 364970f
  • PersonPicture: Overwriteable properties for style a29aa80
  • PersonPicture: Overwriteable properties for style 5a37d19
  • PersonPicture: Overwriteable properties for version 1 style 1345f5b
  • PersonPicture: Overwriteable properties for version 1 style 4e88003
  • skia: Support RTL FlowDirection 912de33
  • WebView2: Basic support for SetVirtualHostNameToFolderMapping on Android 34935c2
  • WebView2: Basic support for SetVirtualHostNameToFolderMapping on iOS 1d285ed
  • [Android] PdfDocument 092f078, closes #1796
  • Add Compass sensor Sample 77d5b7a
  • Add feature flag for path overriding 8d92d3e
  • Add HeadingTrueNorth support for iOS b96e7e8
  • Add HeadingTrueNorth support for iOS 8b5f7f2
  • Add iOS support 45207ed
  • Add support for Compass sensor acff0a6
  • Add support for Compass sensor 9a01911
  • Add support for ItemIndexRange and ItemIndexRangeHelper 0396a72
  • Add support for localized Title 252b663
  • Add support for Package Description and PublisherDisplayName e012084
  • Add support for Package Description and PublisherDisplayName 31e50ec
  • Add support for the runtime tests to handle physical pixels sized bitmap de20349
  • Add support for VariableSizedWrapGrid 0871d4c
  • Add Windows.Services.Store namespace 1c8b81f
  • Add Windows.Services.Store.StoreContract to Sync Generator 400eae5
  • Adding handler attribute 66015df
  • Adding handlers for frame and page 25fe06f
  • Adding hot reload mapping dictionary for replaced types b8697db
  • Address Rule CA2211 57d281f
  • Adjusting updating of visual tree 4e0ca93
  • Allow LocalCache folder path override 500a460
  • Handle focus keyboard events in UnoFocusInputHandler only 23663ec
  • Include key modifiers in WPF pointer events af1863e
  • Make Uno.UI.Hosting available on all targets 5c6a6d5
  • Redesign docs header 3385d99
  • Register Samples app as Android TV application 1fb3316
  • Rudimentary KeyDown support on Android 2631833
  • Support for PowerManager on WASM 5c066b0
  • Support for PowerManager on WASM 95a5a2b
  • Support for PowerManager.BatteryStatus on WASM 26d7a75
  • Support for PowerManager.BatteryStatus on WASM 238763a
  • Support icon elements for NativeCommandBarPresenter 2dcad9b
  • Support PackageId on Skia and WASM c84bb00
  • Use OpenFolderDialog in .NET 8 WPF 195bb04
  • Use OpenFolderDialog in .NET 8 WPF 8f249a9
  • Use PopupRoot everywhere e7d3e0e
  • skia: Support RTL FlowDirection d6a5884
  • Use PopupRoot everywhere 0dde4ae
  • codegen: Add support for CreateNewOnMetadataUpdate bccdb66
  • composition: Compositor is now able to create CompositionViewBox 4bc74f9
  • hotrestart: [iOS] Add support for VS 2022 hot restart e69d507
  • maps: Restore iOS/Android maps control 814bd7e
  • MediaTransportControl: import Dropout and Expand 113f95d
  • perf: Fix lazy creation of ShapeCollection when not needed fbf1e7a
  • Skia: Support file:// uri scheme for images ade1453
  • WASM: add OnPreviewKeyDown to Control 027856f
  • WASM: implement the PreviewKeyUp/Down in WebAssembly 27553dd
  • xaml: Implement XamlCompositionBrushBase 42c8dbe

Performance Improvements

  • XamlFileParser: extract static array for split characters f2a76fa
  • add a record struct to _eventHandlers data type 0126432
  • adjust IInsertionPanel.GetInsertionIndexes fa2d735
  • adjust IInsertionPanel.GetInsertionIndexes 969462b
  • adjust when_disabled test because sometimes it fails fb2cd06
  • Adust dependency property parsing b810226
  • Avoid ROS<char>.ToString in BindingPropertyHelper fast convert 94c7d68
  • Avoid calculating DC binding unnecessarily 1e81939
  • Avoid InterpEntry for BindingPropertyHelper.GetPropertyType() 475fcc3
  • Avoid re-creating Android Paint instances e9cc68d
  • Avoid TwoWay bindback null reference exception fd23462
  • Avoid using DefaultConversionExtensions 95c7d8d
  • Bundle Paint reset steps in Java 9e168b4
  • change the visibility modifier of TupleComparer to private 5ed1a9d
  • Faster ImmutableList.Add 1d52445
  • implement custom flag for TreeViewList 562545e
  • implement custom flag for TreeViewList f56237c
  • Implement NativeDispatcher b864a89
  • Improve XamlFileGenerator.FindMember performance 5b89429
  • Improve XamlFileGenerator.IsImplementingInterface performance 9328132
  • Improve sync generator performance ed4b246
  • Initialize ApplicationData folders lazily e59e24e
  • Misc performance improvements 8809d49
  • Misc performance improvements 53ca794
  • Move PropertyMetadataDictionary from HashtableEx to Hashtable 0a6a8ed
  • Move PropertyMetadataDictionary from HashtableEx to Hashtable 29883f5
  • Reduce HashSet<DP> allocations from 150,656 bytes to 37,056 bytes on SamplesApp startup d47d8e1
  • Reduce string allocations in GetMarkupExtensionType 4ea4f4e
  • remove WASM in TrackKeyState() c91bfd5
  • Remove unused InvalidateMeasureCallCount (saves 4 bytes per FrameworkElement instance) 0e48e6b
  • Save 59,638 bytes of strings (550 string) on SamplesApp startup 98e8257
  • Save 66,838 bytes of strings (2137 string) on SamplesApp startup 7295a3f
  • Small perf improvements to WinUIRevert 17ce427
  • Take down bool boxing from 8k to 2k on SamplesApp startup 8228c06
  • Use Span CopyTo instead of Array CopyTo for better performance e2d7564
  • skia: Reduce UIElement size and avoid unused property changed registration f9315ab

BREAKING CHANGES

  • Uno.WinUI used to have NavigationView both in MUXC and WUXC namespaces. It's now removed from WUXC and kept only in MUXC namespace.

(cherry picked from commit ca19a4d)

  • Fuzzy matching is now disabled by default

(cherry picked from commit ed7855d)

  • Resources dictionaries are now required to be
    explicitly referenced by URI to be considered during resource
    resolution. This change is present to align the inclusion behavior with
    WinUI, which does not automatically place dictionaries as ambiently
    available. This change can be disabled by using FeatureConfiguration.ResourceDictionary.IncludeUnreferencedDictionaries.
  • Application.OnWindowCreated does not exist in WinAppSDK
  • DependencyObjectGenerator no longer generated an empty ApplyCompiledBindings method.
  • EasingFunctionBase API is now aligned with WinUI
  • Remove ResourcesService and ResourceHelper
  • Move SwipeControl, SwipeItem, SwipeItemInvokedEventArgs, SwipeMode, SwipeItems, and SwipeBehaviorOnInvoked implementation from WUX namespace to MUX namespace.
  • Move MenuBar, MenuBarItem, and MenuBarItemFlyout to MUX namespace
  • Implicit conversion from string to Point is removed.
  • Move AnimatedVisualPlayer, IAnimatedVisualSource , and IThemableAnimatedVisualSource from WUX to MUX
  • Rename CreateTheamableFromLottieAsset to CreateThemableFromLottieAsset
  • Rename Microsoft.Toolkit.Uwp.UI.Lottie namespace to CommunityToolkit.WinUI.Lottie
  • Avoid directly implementing ISensorEventListener on SimpleOrientationSensor on Android
  • Timeline shouldn't implement IDisposable
  • SimpleOrientationSensor should not schedule on Dispatcher
  • GridExtensions is made internal
  • The property is read-only in UWP/WinUI
  • ControlsResourcesVersion enum is moved to Uno.UI assembly
  • The following types are removed from public API: DelegateCommand, DelegateCommand<T>, IResourceService, IndexPath, and SizeConverter.
  • IsEnabled property is moved from FrameworkElement to Control
  • Remove SetContentOffset and SetZoomScale from IUIScrollView
  • Xaml generator now always uses strict search
  • Renamed the PropertyMetadata parameter to defaultMetadata
  • ShouldWriteErrorOnInvalidXaml now defaults to true.
  • Deleted dead code and some public APIs.
  • GetLeft, GetTop, SetLeft, SetTop, GetZIndex, and SetZIndex overloads that take DependencyObject are now removed. The UIElement overloads should be used instead.
  • Some obsolete members are now removed.
  • BaseFragment is not needed and is now removed.
  • ViewHelper.GetScreenSize method on iOS/macOS is now internal.
  • FrameworkElement constructors are now protected instead of public
  • ViewHelper.MainScreenScale and ViewHelper.IsRetinaDisplay are removed in iOS and macOS
  • Some RelativePanel methods had UIElement parameters named as "view". This is now renamed to "element"
  • WebView.NavigateWithHttpRequestMessage parameter type is now Windows.Web.Http.HttpRequestMessage instead of System.Net.Http.HttpRequestMessage
  • OnVerticalOffsetChanged and OnHorizontalOffsetChanged are now private instead of virtual protected.
  • PanelExtensions is now removed.
  • ICoreWindowEvents is no longer public.
  • FrameBufferHost and GtkHost constructors that takes args are now removed. args were already unused.
  • RegisterDefaultStyleForType methods were removed.
  • Xaml code generator was generating an always-null-returning FindResource method. This method is no longer generated.
  • SolidColorBrushHelper isn't available in UWP, so we are making it internal.
  • FontFamilyHelper is made static, and some APIs are removed.
  • Remove GetGeopositionHistoryAsync overloads that always returned empty list and don't match Windows signatures
  • Window.SetNeedsKeyboard in macOS is removed.
  • CalendarDatePicker._dateChanged shouldn't be public.
  • Removed SuspendingDeferral constructor that takes an Action
  • The type Windows.Storage.Streams.InMemoryBuffer is removed. Use Windows.Storage.Streams.Buffer instead.
  • Values of CreationCollisionOption weren't matching UWP. This is now fixed.
  • This type is hidden when programming with .NET.
  • Control.GetImplementedRoutedEvents method is now removed.
  • ContentPropertyAttribute.Name is now a field to match UWP.
  • In UWP, IClosable appears as System.IDisposable. The interface is now removed along with Deferral.Close which was implementing the interface.
  • ElevatedView was shadowing Control.CornerRadius. Now, ElevatedView.CornerRadius is removed.

Bug Fixes

  • fix!: Remove Windows.UI.Xaml.Controls.NavigationView from Uno.WinUI dcd271e

  • chore!: Disable fuzzy matching by default 588d150

  • fix!: Improve ResourceKey lazy resolution 825f68d

  • fix!: Remove Application.OnWindowCreated from WinUI tree 28dff5f

  • fix!: Remove ApplyCompiledBindings from code generated by DependencyObjectGenerator fa87ac3

  • fix!: Align EasingFunctionBase with WinUI 9de7a3e

  • fix!: Remove ResourcesService and ResourceHelper 3668a0c

  • fix!: Move SwipeControl to MUX f0c3395

  • fix!: Move MenuBar to MUX namespace f96c3c6

  • fix!: Remove implicit conversion from string to Point 64dd3b6

  • fix!: Lottie breaking changes 7677157

  • fix!: Avoid directly implementing ISensorEventListener on SimpleOrientationSensor on Android f99b243

  • fix!: Timeline shouldn't implement IDisposable 61849e7

  • fix!: SimpleOrientationSensor should not schedule on Dispatcher fe5d243

  • fix!: Make GridExtensions internal 775576e

  • fix!: Window.Visible setter should not be public 74167e6

  • fix!: Move ControlsResourcesVersion to Uno.UI assembly 5179ec3

  • fix!: Remove some types from public API 5e04dc1

  • fix!: Move IsEnabled property from FrameworkElement to Control bbaf224

  • fix!: Remove SetContentOffset and SetZoomScale from IUIScrollView 35e9359

  • fix!: Always use strict search d0d32f2

  • fix!: Update DependencyProperty.RegisterAttached to match WinUI parameter names 655f32d

  • fix!: Default ShouldWriteErrorOnInvalidXaml to true. 4e440f3

  • fix!: Delete dead code and public APIs. 9719cb1

  • fix!: Remove [Get|Set][Left|Top|ZIndex] methods that take DependencyObject from Canvas 8ef166e

  • fix!: Remove obsolete members 6b0b3d1

  • fix!: Remove unneeded BaseFragment class on Android e377a20

  • fix!: Make ViewHelper.GetScreenSize internal 197d785

  • fix!: Make FrameworkElement constructors protected. 43abb19

  • fix!: Remove ViewHelper.MainScreenScale and ViewHelper.IsRetinaDisplay fc9c235

  • fix!: Align RelativePanel methods parameter names 2caaf4b

  • fix!: Align WebView.NavigateWithHttpRequestMessage signature with UWP 00ea4b6

  • fix!: OnVerticalOffsetChanged and OnHorizontalOffsetChanged are no longer protected. 607c6c9

  • fix!: Remove PanelExtensions bebca81

  • fix!: ICoreWindowEvents is made internal. 6ab96db

  • fix!: Remove constructor overloads that takes an unused args parameter 99f1cce

  • fix!: Remove unneeded Style.RegisterDefaultStyleForType 7a3dbe2

  • fix!: Remove always-null-returning FindResource from Xaml generated code e42d2ee

  • fix!: Make SolidColorBrushHelper internal 706b5af

  • fix!: Adjust FontFamilyHelper 8085f0b

  • fix!: Remove wrong GetGeopositionHistoryAsync overloads from Geolocator 1bb014a

  • fix!: Remove SetNeedsKeyboard from macOS fb6259d

  • fix!: Remove CalendarDatePicker._dateChanged 015285e

  • fix!: Removed SuspendingDeferral constructor that takes an Action 5cf0335

  • fix!: Remove Windows.Storage.Streams.InMemoryBuffer f7727fb

  • fix!: Correct values of CreationCollisionOption enum 15d698b

  • fix!: Remove Windows.Foundation.HResult bad98eb

  • fix!: Remove Control.GetImplementedRoutedEvents d829734

  • fix!: Make ContentPropertyAttribute.Name field instead of a property. 7ecf9ec

  • fix!: Remove Windows.Foundation.IClosable and Deferral.Close a9fa4b0

  • fix!: ElevatedView shouldn't have CornerRadius as it exists in the base Control class. bd4a9c0

  • add GrantWriteUriPermission to file save picker c3599ae

  • Adjust _ValidateSvgDependencySkia to check for minimum Svg.Skia version a1f43f3

  • Adjust bindable metadata provider generation when type count is large 0c495f8

  • Adjust clipping logic to be closer to Windows 810e5eb

  • Adjust compatibility for RemoteControl package 3c36733

  • Adjust descriptions for Catalyst/iOS apps d3e22c1

  • Adjust for nint support for TSBindingsGenerator be7537a

  • Adjust generator for disabled metadata provider 7f8cc25

  • Adjust GTK to handle Windows fractional scaling in all cases f10fe76

  • Adjust mobile hotreload 5fc3767

  • Adjust support for non-newtype HR updates 6052026

  • Adjust Type.GetType and reflection exclusion to avoid interpreter fallback in DependencyPropertyDescriptor.Parse b7de5f9

  • Adjust x:Load insertion on iOS/Catalyst considering manual CALayers b9467b0

  • Avoid DPI scaling issues on GTK eb339e5

  • Avoid nested UI classes in runtime tests e40221a

  • Avoid possible exception in hot-reload 8c64eae

  • Avoid using nested View class in Given_Border 262c4c3

  • Change Restore to support async eda8bb4

  • Correcting handling of datacontext due to inheritance 1cabf10

  • Correctly generate nested merged dictionaries e6dee03

  • Disable resizetizer codegen for UWP eef33f3

  • Don't skip arrange if the element is measured with zero size 4c7390c

  • Don't use static fields to store compilation symbols 1c00ca0

  • Enable FrameworkTemplatePool for Skia targets 4edf37f

  • Enabling test case f8e8bf2

  • Ensure browser does not truncate filename 810f523

  • Ensure to run dev-server using the right dotnet version 81d44cc

  • FilePickerSelectedFilesArray.Count shouldn't have a throwing setter #6885 1031ce9, closes #6885

  • FilePickerSelectedFilesArray.cs set removed 5656496

  • Fix corner radius handling on Wasm 17282ef

  • Fix elevated view double border on Wasm 2e02685

  • Fix hot-relaod of nested resource dictionnaries d9a6f0b

  • Fix iOS CameraCapture crash when cancelling c2ffe6e

  • Fix shapes clipping on Android 59e459e

  • Fix SwipeContentStackPanel orientation not set properly on Wasm/Skia f63f90b

  • fix the build error of RemoteControl.Wasm 257322c

  • Generate chesum based subclasses names to metadata updates c65de58

  • Implement IUnoKeyboardInputSource on FrameBuffer 35bfe5c

  • Improve metadata update tracing bf5bb86

  • Make sure update message includes metadata relevant to current instance e357a86

  • Making classes accessible to windows via uno.ui.toolkit 9963531

  • Match FrameworkElement.[Measure|Arrange]Override with Windows 74fd140

  • Properly prevent the correct specific gesture f62383e

  • Properly replace target framework for net8.0 reference 13dbe58

  • property escape % in resw files e69047d

  • Provide the ability to troubleshoot Roslyn's hotreload 9ac3bf3

  • Restore XamlReader HR for mobile targets 01a5f6f

  • Set _lastSingleTap even when Tap is prevented d8fd096

  • Setting dispatcherqueue from current window d7ebe55

  • Use most recent available uno-runtime from packages 4a41e18

  • android: Invalidate measure when removing a managed view a2e5829

  • android_clipping: Fixed clipping was applied on Android when opacity (Alpha) where less than 1. a50a332

  • AppData: Don't reuse ISharedPreferences instance 1e9f5b6

  • binding: Avoir reading source property on UpdateSource for non-DP 203609d

  • Catalyst: prevent npw e9f945d

  • clipping: Fix clipping of the Border 76c50a1

  • composition: ContainerVisual now sets the parent visual on its items a34e306

  • composition: Fix multiple RotationAngleInDegrees implementation and uniformize the Transform support of composition objects d44fa14

  • composition: Use ShapeVisual as visual for UIELement, use its Shapes to render "local content" instead of adding sub-visual, and its ViewBox to properly clip transformed content. b1a787b

  • fb: Adjust initialization for framebuffer host de705fd

  • fb: Don't validate textbox features when IOverlayTextBoxViewExtension is not avialble 5999814

  • flyout: fix nested flyout closing/closed event ordering 2be07b5

  • gtk: Adjust window bounds computation 0b8ff85

  • hr: Adjust wasm reload for missing updated types in VS 17.8 df02162

  • hr: Don't propagate RuntimeIdentifier so libraries can build using their natural targets fe0554a

  • hr: Ensure UnoRuntimeIdentifier is included in devserver attributes d45ea36

  • hr: Use type mapping for x:Bind inner bindings class 17f9c70

  • intellisense: Add missing XmlnsDefinition for Automation namespace 023117e

  • iOS: clear scrollview weakreference b5969ca

  • iOS: DataContext detaching from ListViewItem 1ed3c9f

  • iOS: prevent removing parent when reusing listviewitem 98b44e6

  • itemspresenter: fix ItemsPresenter.<Measure|Arrange>Override in case of padding bf8c396

  • ListView: droid lv crash when scrolled 983654f

  • lottie: Use a net8 compatible property for lottie/skiasharp detection c413d09

  • MessageDialog: Apply current application theming on Android cc19d98

  • MessageDialog: Apply current application theming on iOS 8604656

  • Adjust path measuring for Uniform and UniformToFill stretch modes b36ecee

  • Calculate shape bounding box properly on Android excluding control points a5cf2d9

  • Correct availableSize value passed to MeasureOverride to match Windows ced8fe6

  • Execute Resuming only after Suspended 9bafc42

  • Fix path bounds calculation on Skia e6d5dc2

  • Remove netcoreapp3.1 legacy support 649da43

  • reset _applyTemplateShouldBeInvoked when OnApplyTemplate is called 939327e

  • Respect DefaultBindMode of ResourceDictionary 022e0f7

  • android: Propagate theme change to all list view items properly 52e64d6

  • assets: Adjust upri handling e37c2d7

  • commandbar: fix popup not dismissing when a pointer clicks outside it 7143b80

  • csp: Make setCursor CSP compliant 9f25ea9

  • hyperlink: change color on hover/press 17ed3b4

  • iOS: Window null pointer exception 0a51e71

  • listview: account for panel orientation 4a44ab9

  • pointers: Fix multi-press on Gtk cc6cbff

  • reg: Fix CornerRadius clipping cf1dae7

  • reg: Fix memory leak with TextBlock 06e2fd8

  • reg: Fix RefreshContainer content not visible 646e5a7

  • reg: Fix shappes offset being ignored 066056d

  • renderTargetBitmap: RenderTargetBitmap using logical pixels on iOS 56d31f0

  • ToggleSwitch: Don't force end position when ToggleSwitch is unloaded 5ad2ca2

  • TreeView: allow dragging and dropping of treeview items 50e0552

  • TreeView: prevent throwing exception 36c06c9

  • vs: Restore intellisense for non-windows targets 6f6d027

  • wasm: Don't convert content to uno assets for hosted server projects 5e49f77

  • wpf: Fix CoreWindow.PointerCursor not working on WPF e0581a6

  • Adjust more devserver package changes e629e48

  • Adjust WASM launchSettings to work with Dev Tunnels 8197141

  • Align Duration behavior with WinUI 4ba972b

  • Assert DisplayName value instead of Title a875c41

  • Avoid duplicate SyncDataContext 45a0ebf

  • Detach native element on Unload 76e63b8

  • Do not log error when favorites or LRU samples files are missing c10984e

  • Don't swap R and B 378f2ea

  • Ensure Android apps can launch for debugging d44bd53

  • Ensure CalendarView item styles are updated properly on reload 00f8582

  • Ensure common transitions do not cause startup errors e2b11c4

  • Ensure WASM- and Skia-specific WinRTFeatureConfiguration is accessible 692d4ca

  • Ensure Window size is initialized for Android 71e419d

  • Fix MenuFlyoutSubItem placement on Android on first open dcd55ff

  • Fix path closing on macOS 22f2f35

  • Fix path stroke thickness scaling on Skia when it shouldn't 394220f

  • Fix possible race condition in animations a87dd32

  • Fix RenderTragetBitamp to return physical pixels image on skia 1654005

  • Fix shapes when Stroke is null dc7cda4

  • Fix Stretch.None behavior and closing path on Skia 5e9a12f

  • fix the syntax error of IInsertionPanel.GetInsertionIndexes be863a0

  • Mark generated files for incremental build support 87cd188

  • markdown tab docs 0ea6bc5

  • padding should affect measure a812c34

  • Propagate theme change to TextBlock inlines 7f692c8

  • Properly override ProcessCandidateTabStopOverride in CalendarView ec72d6c

  • Rename RC to DevServer a9d1d54

  • Tests don't correctly exit when they fail 29c589b

  • use MSBuild props to set app title, version & id c6f98a4

  • UWP sample app not building properly e1e0cda

  • WebMessageReceived must execute on the UI thread 0e031a2

  • android: Fix rendering of RenderTargetBitmap 1a048e7

  • android_clipping: Fixed clipping was applied on Android when opacity (Alpha) where less than 1. 7886b32

  • CameraCaptureUI: [iOS] Adjust camera capture for recent iOS builds 8b34d80

  • clipping: Change the way the clipping is activated on Android to bring the logic closer to other platforms. f2d1d0f

  • dragdrop: [Wasm] Adjust interop for multi files drag and drop b66ea0a

  • flyout: close flyouts on window size changed or unfocused e7495b7

  • flyout: fix dismiss flyout on Escape fd338db

  • flyout: focus flyout child on open 89f1b99

  • flyout: open flyout on tap e81f61d

  • ios: an instance of ListView crash during layout 7c54365

  • iOS: Implement new screen orientations APIs for 16 51a38fb

  • iOS: prevent multiple CMMotionManager sessions 177885c

  • listview: add ctrl support for keyboard navigation in ListView 566216e

  • listview: add support for Ctrl+Click unselecting 953ac58

  • listview: Adjust scrollbar height to avoid duplicating the header size 471298f

  • listview: recycled containers should clear their Index 4414d3a

  • listviewitem: clear visual state on recycle. daf0895

  • menuflyout: Fix potential NRE on closing Popups 9e3a0c0

  • menuflyout: properly propagate DataContext from the Popup 02f0ea9

  • menuflyout: properly propagate DataContext from the Popup c2917c2

  • net8: Adjust WinUI property detection 591797b

  • rc: prevent stack overflow on assembly resolution 41ee094

  • rc: Terminate RC host on parent process termination f614532

  • resources: Incorrect resource resolution for multiple identical source dictionaries f58be7b

  • RotatedListView_WithRotatedItems: ListViewItem Glyph changed to E73E 13b79a0

  • scrollviewer: raise PointerEnter/Exit when scrolling causes the pointer to be over a new item 2fd9da2

  • shapes: Get shapes arrange closer to UWP b6658d2

  • skia: Fix app staying blank if no background on the main page ed34f40

  • TextBox: Avoid NRE on Android on virtual keyboard enter 1a3606b

  • treeviewlist: make DispatcherHerlper use DispatcherQueue which fixes setting IsExpanded in PrepareContainerForItemOverride 92913c2

  • XamlReader: Properly support TemplateBinding of attached properties c187ba5

  • Adjust log level of UpdateZoomedContentAlignment 5b2b812

  • Adjust path measuring for Uniform and UniformToFill stretch modes bff7e27

  • Align the core measure logic more with Windows 6bc2e50

  • Avoid raising events on non-UI thread ff65fa1

  • Calculate shape bounding box properly on Android excluding control points de33870

  • Correct availableSize value passed to MeasureOverride to match Windows ab49b2a

  • Fix binding property path for expressions with parentheses and casts d3a2af2

  • Fix path bounds calculation on Skia 205a927

  • Fix path closing on macOS 90afd16

  • Fix path stroke thickness scaling on Skia when it shouldn't 9119170

  • Fix possible race condition in animations fdec823

  • Fix shapes when Stroke is null 48d7c5f

  • Fix Stretch.None behavior and closing path on Skia 53baca9

  • Improve system dark theme detection on Linux c10924b

  • Keyboard events should not throw on Uno islands faf5eae

  • ListViewItem style glyph similar as in CheckBox 3305ee0

  • winappsdk: Adjust 1.4 detection 36e11c1

  • Synchronize TemplatedParent after PopupPanel iss initialized eeca65a

  • update Uno.Fonts.Fluent for informational icon 5844c67

  • dragdrop: [Wasm] Adjust interop for multi files drag and drop 939f47f

  • fb: Adjust initialization for framebuffer host 67a7cad

  • fb: Don't validate textbox features when IOverlayTextBoxViewExtension is not avialble 5200ccf

  • GridView: GridViewItem checkbox style as in ListView ecf4157

  • iOS: prevent multiple CMMotionManager sessions c1698b5

  • listview: account for panel orientation 625a7e6

  • navigationview: remove OnExpandCollapseChevronTapped which was flipping IsExpanded after it was already flipped, undoing the change ed41f53

  • resw: Log invalid resw language as warnings 77808f0

  • TextBlock: [Skia] Fix unsupported symbols rendering 2a8b962

  • Execute Resuming only after Suspended a4c429a

  • GridView: Multipleselection mode. 5d43fe2

  • listview: recycled containers should clear their Index 20350a1

  • listviewitem: clear visual state on recycle. 823b6eb

  • menuflyout: Fix potential NRE on closing Popups 60a585f

  • navigationview: remove OnExpandCollapseChevronTapped which was flipping IsExpanded after it was already flipped, undoing the change 43a3797

  • RotatedListView_WithRotatedItems: ListViewItem Glyph changed to E73E 6f1a28c

  • scrollcontentpresenter: fix offset calculations when viewport size is greater than content size 417e437

  • scrollviewer: fix scrollability logic in PointerWheelScroll 7db8ac0

  • shapes: Get shapes arrange closer to UWP a244c1e

  • skia: Fix app staying blank if no background on the main page 823a697

  • TextBlock: [Skia] Fix unsupported symbols rendering a8d063f

  • TextBox: Avoid NRE on Android on virtual keyboard enter d023bb1

  • TreeView: allow dragging and dropping of treeview items 0ab8332

  • TreeView: prevent throwing exception 390f0dd

  • vs: Restore intellisense for non-windows targets fe8a4e0

  • Adjust log level of UpdateZoomedContentAlignment 02bee2f

  • Align the core measure logic more with Windows 78f96d8

  • Avoid raising events on non-UI thread 191c76f

  • Fix binding property path for expressions with parentheses and casts f10746f

  • Fix MenuFlyoutSubItem placement on Android on first open f8c11eb

  • fix the syntax error of IInsertionPanel.GetInsertionIndexes c607004

  • Ignore Pedometer TryCreateInstance 605594d

  • Improve system dark theme detection on Linux e4c747f

  • Keyboard events should not throw on Uno islands 8e7ead8

  • ListViewItem style glyph similar as in CheckBox ff1be7a

  • Mark generated files for incremental build support fe6ce7c

  • markdown tab docs 943b363

  • Properly override ProcessCandidateTabStopOverride in CalendarView d1674f8

  • winappsdk: Adjust 1.4 detection 85a5aae

  • Null Background on XamlIslandRoot 34a589d

  • Properly warn the user about UpdateZoomedContentAlignment 825bc0a

  • Respect HyperlinkForeground 61c839e

  • Set initial Window size earlier on WASM 7e139e8

  • Synchronize TemplatedParent after PopupPanel iss initialized 7e06240

  • Use fallback color for unsupported brushes a6f162a

  • skia: Fix clipping issue when using render transforms e654071

  • slider: fix dragging when the initial press is not on the thumb 2c8c455

  • xamlreader: res-dict parsing 3a08d16

  • Adjust hotrestart disable property 35b32c2

  • Don't generate hotrestart stubs when maui is present 1f2daad

  • Ensure ThemeResource bindings are properly updated when style is applied 7d69690

  • Fix memory manager not being used properly on Skia 3f1f0e5

  • Fix ScrollBarVisibility regression on Wasm 6d55017

  • Fix TemplateBinding not working with attached DPs 96e2283

  • Fix toggle switch knob translation 0b1215b

  • Fix x:Bind not considering inherited methods for events b94c449

  • iOS unsupported Title 8d08e83

  • Prevent nested elements with GestureRecognizers from raising overlapping events a0cdd1c

  • Remove failing Range from test 686e436

  • Updated the code to work with the recent changes 6a8092d

  • ItemsRepeater: Fix ItemWrapGrid not sizing dynamic items properly afed695

  • xamlreader: attached-property in setter 79bd074

  • Adjust incorrect VirtualKey enum values 14fd019

  • Avoid propagating routed events up from PopupPanel 326a0ec

  • Avoid unsetting item container DataContext 02b42f4, closes #12845

  • comment out unimplemented PointerUpThemeAnimation from Generic.xaml 0b01f37

  • docs markdown tab 83a7ce7

  • Ensure initial Mesure/Arrange happens only when Window has allocated size 594ea6c

  • Ensure that clipping changes are applied 98aee9a

  • Fix formatting error 7992e9d

  • fix performance regression of unnecessary EnsureMaterialized calls. 65b4a4c

  • fix property inheritance for Control.IsEnabledProperty ea88803

  • Fix resolving attached properties for platform-specific xaml namespaces d8fb339

  • Fix TextDecoratios DP type and improve conversion to enum handling 99dd854

  • Improve VirtualKey mappings ae14a69

  • Notify Uno Window of FrameBuffer Window creation 2937d9d

  • Notify Uno Window of GTK Window creation a71574a

  • Notify Uno Window of WPF Window creation b67b77c

  • assets: Adjust assets caching by including assembly and package versions 57a48eb

  • button: Change default Button style to match Windows 3a046c7

  • button: fix button ignoring ButtonForeground/PointerOver values 446223c

  • iOS: ListView delete item with Bindings 2fa709a

  • Properly adhere to brush changes (and refactor) 0015c9b

  • button: fix VisualStates not binding to resources on first load 2095da5

  • ComboBox: Adjust incorrect visual state update 566f384

  • Input: Properly update last input device type on Skia and WASM b9475ed

  • listview: [Android] Adjust datacontext for header/footer for ListView 9b9ea84

  • listview: [iOS] Adjust datacontext for header/footer for ListView d6de226

  • ListView: [iOS] Ensure that the DataContext propagates properly to Header/Footer 85e8594

  • ListView: Fix element not placed properly when re-ordering 8edbc1b

  • scrollviewer: fixed scolling by pressing scrollbar thumb in a ScrollViewer. efa2eed

  • svg: Use StorageFile for reading the SVG payload d46894b

  • WebView: Update Android navigation properties on JS-based history changes a0c229f

  • WebView: Update iOS navigation properties on JS-based history changes 290336d

  • Avoid duplicate events for FlipView 04e9737

  • Correcting event handler removal 8d11d44

  • Correcting startup location for remote control service b83b010

  • Fix ListView selection when items are duplicated 0e748ec

  • Properly update WebView history properties 96999a8

  • remove meaningless calls to UpdateResourceBindings 77c7a44

  • Use the correct default value for string DPs 10e7733

  • Write a custom x:Bind parser instead of relying on Roslyn's SyntaxFactory 3c85843

  • android: Add support for resource resolution for net8+ cbfcd12

  • filepicker: add delegate for image picker 6f31a75

  • iOS: AutoSuggestBox selection 0786f13

  • iOS: AutoSuggestBox selection with MultiLineText 146cd93

  • rc: Restore Uno.WinUI.RemoteControl.Messaging dependency 31555f2

  • scrollviewer: Clean up the fix to scrollviewer scrolling 744a0b3

  • scrollviewer: fix ScrollViewer scrolling and interaction with child ScrollBars to match Windows 9e1d871

  • scrollviewer: fix ScrollViewer scrolling by ScrollBar buttons on Skia 3388733

  • skia: restore proper visibility for FrameworkElement.NameProperty aac26e1

  • SyncGenerator: Generate missing attributes 72ac37e

  • textbox: fix regression from previous commit on all platforms but Skia 354ca5d

  • Implementing IDisposable and detaching event handlers 7d5acf3

  • textbox: fix Wpf's password text box behaviour de2b48a

  • Search results shows scrollbars on Microsoft Edge dbd2cb6

  • textbox: added SelectionBeforeKeyDown to the Skia TextBox hierarchy 0228293

  • textbox: Changed details in TextBox keyboard navigation and related 4665dc6

  • textbox: Fixed TextBox keyboard navigation only working vertically 2645857

  • xamlgen: Fix InvalidCastException when accessing array in x:Bind 1c3221e

  • Add missing ContentProperty attributes f20bfb2

  • Adjust not implemented link ad36125

  • Adjust reading package to return null if Logo not specified 8a22c72

  • Adjust visibility of missed reference members 6904f20

  • droid: FlipView Background color e138fbb

  • Adjust runtime replace to avoid self-reference b709f73

  • android resource encoding blank filenames dd2358e

  • avoid null check 6f19c62

  • Correct nullable usage 340af1a

  • Correcting loading behaviour for subsequent calls to Logo 1025db7

  • Fix Binding '' not working 2787a82

  • Fix Main window is not set yet exception on Skia 78bee7a

  • Fix setting source on WriteableBitmap for Android and Skia 5500d6c

  • TextBox: Propagate FontFamily to DisplayBlock on Skia 62bc87d

  • Restore iOS tests, move to dotnet test 0b266b8

  • Show window content only when both Activate and Content are set 64c17dc

  • update Uno.Fonts.Fluent for informational icon 39eb90f