Skip to content

3.7.3

Compare
Choose a tag to compare
@jeromelaban jeromelaban released this 27 Apr 21:34
· 41 commits to release/stable/3.7 since this release

Uno Platform 3.7 expands our support for the newest WinUI, Project Reunion and Linux, all while continuing performance improvements for WebAssembly head.

This release includes:

  • A new SwipeControl
  • GTK/Skia TextBox support
  • Performance improvements
  • WebAuthenticationBroker for Android
  • Project Reunion 0.5.5 updates

and many contributors updates:

  • @luke-welton fixed an issue in the WinUI template caused by invalid collection of the main window
  • @microhobby contributed fixes to pointers support in the very new support for WSLg on Windows 10, and dotnet new templates fixes.
  • @iosub contributed a fix to the native TimePicker control for Android not showing up properly
  • @trungnt2910 contributed a fix for the FileSavePicker on WebAssembly for not providing proper file extensions
  • @workgroupengineering contributed a fix for the Visual Studio extensions to enable automatic installation of core pre-requisites, which will help those of you completely new to the .NET ecosystem to set up a project.
  • @pkar70 contributed implementations for common WinRT classes

To all our contributors: Thank you!

For more details, visit our blog post.

Features

  • Support for iOS universal links 3a7253e
  • Upgrade template to Reunion 0.5.5 c57f1bd
  • animations: Add compositor thread on Android 077511b
  • authentication_broker: Added support for Android. c1d057f
  • FocusVisuals: SystemFocusVisual control 66293ac
  • fontIconSource: Add basic support of FontIconSource 67ca382
  • GTK: Support for some GTK TextBox visual properties, clear button 8f7ab5c
  • swipecontrol: Add source commit id in headers bd2371c
  • swipecontrol: Add support for simulated inertia. 2f1dbfa
  • swipecontrol: Implement minimal gestures on Skia. e460f34
  • swipecontrol: Implement SwipeItem cd6c42b
  • swipecontrol: Implement SwipeTestHooks dcdd0fc
  • swipecontrol: Implement the core of the SwipeControl 3bfc847
  • swipecontrol: Import properties files 3f6c86e
  • swipecontrol: Initial import 3908581
  • swipecontrol: Set namespaces f8d6d43
  • swipeControl: Implement SwipeItems bb90161
  • Add feature flag to configure NotImplemented log level 9a07c7b
  • WPF: Add support for visual properties on WPF TextBox, clear button 19e6680
  • Add Uno.WinUI compatibility for net5-windows c04b549
  • ChatMessage, fields for ChatMessageReader 7101c84
  • ContactQueryOptions and ContactBatch (Android) 2879bd8
  • Multiline TextBlock rendering 3c61d3c
  • vsix: Automatic installing prerequisites. 150c161
  • CookieManager b4d18a5, closes #5431
  • Geofence for all platforms 074c6a2
  • Implement HttpCookie class 3628d08
  • Support for HttpCookie class 90b0cc8

Performance Improvements

  • Add DependencyObject benchmarks deee2f3
  • Add HashTableEx specialized for internal lookups b085b63
  • add PropertyMetadataDictionary for faster GetMetadata 292522c
  • Avoid using statment in hot binding path 2d02800
  • Cache Marshal.SizeOf values 746ba84
  • Cache self style key to avoid Type.ToString invocations 3b40a9c
  • DependencyPropertyRegistry improvement ab54bd7
  • Don't create attached stores on bindable propagation ef17b62
  • don't manipulate the classes list on arranged e820c2b
  • Don't rely on reflection for Marshal.PtrToStructure 20ea231
  • FrameworkProperties for type performance 366d36e
  • Improve name to DependencyProperty lookup 4bce59b
  • Remove foreach statement in SubscribeToPropertyChanged 5f0aed5
  • Remove HashtableEx version validation and concurrency validation 777f88a
  • remove unused property lookup 8b88c0b
  • Remove use of generic delegate in Brush.AssignAndObserveBrush bb71491
  • TypeToProperties cache improvements 889dd55
  • Update DependencyPropertyCacheEntry comparer 0f723f3

Bug Fixes

  • Remote control for winui a1ff315
  • dotnetTemplate: Fixed Window losing scope on Windows 0d5418d
  • Fix NRE from x:Bind two-way through converter 101e5bf
  • No scrollbars in ScrollViewer on skia and WASM c0474c6
  • TheadPoolTimer.CreatePeriodicTimer raises events properly 33f50d4
  • FileSavePicker: Group extensions by the mime types. All file extensions now show properly on WASM target 3229b4b
  • FileSavePicker: Use generic MimeType / for WASM. FileSavePicker now does not show unwanted extensions. Fixes #5685 c31eafc, closes #5685
  • GTK: pointer events in wrong locations using Wayland a7b59c0, closes #5706
  • html_custom_event: Fixed a hard-coded exception when processing custom html events. Was visible mostly when more than one handler was registered on the same event. 3368739
  • Pointers: Ignore GTK ungrab mode for window leave notification b4bb98c
  • popup: [iOS/Droid] not responding 89ef822
  • rc: Adjust server processors path dd39a82
  • template: Remove blue background 9f2328f
  • textblock: On Wasm, the <TextBlock> were not properly displaying the ellipsis on text overflow, because the CSS requires the overflow: hidden to be applied. 160a506
  • textbox: Update on Foreground brush Color changed 96b7371
  • Add Bindable attribute on VirtualizingPanelLayout 3ee4070
  • Add ContentTemplate Binding to TextBlockButtonStyle 10162ca
  • Adjust error message for FileOpenPicker 9a35c32
  • Adjust generation for x:Bind events in x:Load context 0938736
  • Adjust incorrect generation behavior during roslyn design-time build 8f6bf1f
  • Adjust NotImplemented for file pickers f952c3e, closes #5766
  • Adjust Roslyn generators support for UnoUISourceGeneratorDebuggerBreak e91067c
  • Adjust Skia GTK target override for netcoreapp3.1 beff850
  • Contact FullName fix 75b0b87
  • Ensure Fluent style placeholders in ComboBox and TextBox update when theme changes d7837d6
  • Invalid defines for WinUI 3 template a4c3d3f
  • x:Bind typeof expression for nullable reference 9518f7d
  • Border: Adjust max radius for inner border shape 81654c1
  • listview: Fix ItemTemplateSelector not working with Fluent styles 5393841
  • templates: Make UWP head mandatory 2fee3e1
  • TimePicker: Make sure Android flyout opens 0701e4f
  • Apply ContentTemplateSelector with Fluent styles 51b8edf
  • AutoSuggestBox.QueryIcon does not work 1486945, closes #5545
  • BorderLayerRenderer accumulates shape visuals 9417b2d
  • Do not close JS stream reader if closed 4fa0db3
  • Do not throw on read stream Flush 3b67dd4, closes #5751
  • Fix native horizontal scrollbar remains visible on FF 2a4e199
  • Fix spurious DataContext propagation in ContentControl 996d574
  • FullAOT may fail for missing generated marshaller b387786
  • Handle errors from Brush callbacks for disposed views 4ad04fe
  • Improve internal debug info d2a0583
  • Project Reunion logging and Suspending event adjustments f3e30d0
  • Renew UWP samples app certificate 995a4af
  • droid: issues when navigating back 0f8a4c9
  • NativeFramePresenter: [iOS] Fix a bug where pre-populated frames would log errors when displayed. 17c04dc
  • perf: Don't materialize unneeded theme dictionaries 4ad6e86
  • textblock: [WASM]Removed a useless scrollbar appearing sometimes on TextBlock c888b36
  • themeresource: Update VisualState.Setter value when theme changes b9440c7
  • xbind: Support nested expression x:Bind events af614a0
  • VS 16.9 uap build should not run roslyn source generators c7de633