Skip to content

Releases: unoplatform/uno

5.4.39

09 Oct 19:45
ad68653
Compare
Choose a tag to compare

What's Changed

Full Changelog: 5.4.38...5.4.39

5.4.38

07 Oct 14:35
a0d9fa8
Compare
Choose a tag to compare

What's Changed

Full Changelog: 5.4.27...5.4.38

5.4.27

07 Oct 12:51
97901cb
Compare
Choose a tag to compare

What's Changed

Full Changelog: 5.4.22...5.4.27

5.4.22

26 Sep 19:47
769a16d
Compare
Choose a tag to compare

We are introducing over 290 new additions in the Uno Platform 5.4 release, with a strong focus on performance and resolving issues for our paid clients. Some of you might not know this, but we sustain the Uno Platform open-source project through enterprise support, as described in this blog. This release primarily addresses critical client issues, while simultaneously improving the overall performance of Uno Platform apps.

Head over to our blog post for more information!

As always, thanks to our contributors:


Features

  • 2-layer skia for GTK (d6493e7)
  • 2-layer skia for WPF (7caa5d2)
  • 2-layer skia for X11 (0af2c2b)
  • Add GridViewAutomationPeers (effa40a)
  • Add a generic Application.UnhandledException handler (f35388c)
  • Add ability to not show the HR on-canvas indicator (917c03f)
  • Add analyzer for missing packages when using ProgressRing or MPE (722b2e8)
  • Add DiagnoscticsOverlay utility (fdfe38b)
  • Add disagnostic indocator for hot-reload process (3d92130)
  • Add entrance and exit animation of HR ui notif (ea10c3e)
  • Add IsPointerCaptureRequired attached property (85abb78)
  • Add ListBoxAutomationPeer (b2f4ff2)
  • Add missing Windows.Graphics structs (8b52742)
  • Add support for Keyboard Accelerator tooltips (5643e23)
  • Add WPF SelfContained support (81022c2)
  • add X11 support for reading DPI scaling from X resources (Xft.dpi) (83f1927)
  • Adding new AppWindow APIs (c543197)
  • Allow disabling generated Application.UnhandledException handler (621c298)
  • always include Lottie on Desktop (41ed53a)
  • android: Proper variable font support (2a53446)
  • ApplicationDataCompositeValue (79fa08d)
  • AppWindow Position and Size on WPF (7deb5fc)
  • AppWindow Position, Size, Move and Resize on X11 (11d7217)
  • Basic implementation for detecting layout cycles (f2b46b3)
  • Bump Uno.Fonts to 2.4.5 (32102ee)
  • devSrv: Prefer to connect on last known endpoint first (c8ebb9d)
  • diags: Add ability for a diag view to send notifications (47bfa4d)
  • embedding X11 windows as subwindows inside an Uno application (7202802)
  • Font manifest (9f32857)
  • hr: Improve perf and diagnostics per processing updates as batch (0a0d880)
  • hrui: Always use notification for operations + add engine events to the log (a9e95bd)
  • hrui: Improve HR indicator placement strategies (dacdfb4)
  • hrui: Improve types output + open overlay by default (7935c03)
  • hrui: Update HR notifications (8fc3672)
  • imagebrush: add support for RelativeTransform on skia (2a0ed53)
  • Implement FlipViewAutomationPeer (f536856)
  • Implement GroupItemAutomationPeer (3a5671a)
  • Implement ListBoxItemAutomationPeer (d28a0f7)
  • Implement ListBoxItemDataAutomationPeer (777a9d8)
  • Implement ListPickerFlyoutPresenterAutomationPeer (db69ab1)
  • Implement RichEditBoxAutomationPeer (43db136)
  • Implement RichTextBlockAutomationPeer (ca5cdd0)
  • Implement RichTextBlockOverflowAutomationPeer (a73304c)
  • Implement ScrollViewerAutomationPeer (c1707ef)
  • Implement ScrollViewerAutomationPeer (2b3ab69)
  • Implement SelectorItemAutomationPeer (a7a29f6)
  • Implement SemanticZoomAutomationPeer (1714da1)
  • Implement SliderAutomationPeer (b8041d9)
  • Implement TextBoxAutomationPeer (dd78821)
  • Implement ThumbAutomationPeer (9bfa9e9)
  • Implement ToggleButtonAutomationPeer (ef52c88)
  • Implement ToggleMenuFlyoutItemAutomationPeer (b515ef6)
  • Implement ToggleSwitchAutomationPeer (3f72be5)
  • Implement AppWindow Move and Resize on WASM (6abcdd8)
  • Implement CreateDefaultValueCallback and PropertyMetadata factory methods (18e66f1)
  • Implement font matching spec (e491dbf)
  • Improve HR diag view (18cf119)
  • Instrument dev-server to expose in diagnostics in client (8d2600b)
  • Integrate the HR status (51f4ede)
  • Internally implement TextAdapter (1028df4)
  • iOS: add fileopenpicker file limit (ce2d123)
  • ios: add webview2 inspectable feature (1663761)
  • iOS: FileOpenPicker limit multiple file selection (a19cf32)
  • iOS: validate for device version (c499ac1)
  • Make breaking on unhandled exceptions opt-in ([dbd23f3](https://github.com/jeromelaba...
Read more

5.3.31

23 Jul 17:12
4227fed
Compare
Choose a tag to compare

Hello Rider lovers!! We are bringing many additions to Uno Platform in this 5.3 release, but the highlight is official support for JetBrains Rider, as well as improved Hot Reload experience, two new UI controls (ItemsView, SelectorBar), exciting new options for Fonts, and adding support for SkiaSharp 3 preview, to name a few.

We’ve also spent significant effort into further simplifying Uno Platform versioning, so that you can spend more time coding and less time fiddling with NuGet packages. Lastly, we are continuing support for .NET 9 Preview releases and retiring support for .NET 7 as it is now officially not supported by Microsoft any longer.

Visit our blog post for more details!

Here's an extended list of features included in this release:

  • Rider Plugin support
  • Open Sans is now the default font for uno targets
  • In-app Visual Feedback for HotReload
  • SkiaSharp 3 Previews support
  • All of Uno Platform is now versioned behind the Uno.Sdk
  • Uno itself is now build with .NET 9
  • Improved project reload in Visual Studio 2022 on target framework change to avoid closing opened editors
  • ExtendIntoTitleBar on WPF
  • PreviewKey<Down|Up> on Skia Desktop
  • ScrollIntoView with using non-virtualizing ListViews
  • Layout cycles detection
  • ToolTips are now enabled by default on Skia
  • Support for Implement FlyoutBase.OverlayInputPassThroughElement
  • Skia Desktop on Linux support for drag and drop from other windows
  • ItemsView support
  • Modifiers on keyboard events on WASM
  • MRT Core ResourceLoader support
  • Skia Desktop support for Shape.StrokeDashArray and CompositionStrokeDashArray
  • Support for Linux framebuffer terminal redirection
  • New analyzer to detect if InitializeComponent is missing in a code-behind file
  • Add Multi-Touch support on Skia Desktop on Windows
  • Performance
  • RenderTargetBitmap / Drag and Drop crash fix on Android
  • Many rendering and interaction improvements to the Skia Desktop TextBox

And as always, many thanks to our contributors:

Features

  • Add basic support for ContentSite and ContentSiteView (05dffe7)
  • Add Microsoft.Windows.ApplicationModel.Resources interfaces and enums (82de40b)
  • add support for ExtendIntoTitleBar on WPF (e7fe6f9)
  • add support for PreviewKey<Down|Up> on skia (5c34158)
  • add support for ScrollIntoView with using non-virtualizing ListViews (2fde55c)
  • Add support for the Flyou.OverlayInputPassThroughElement on all platforms (7357b94)
  • Add Uno.ResourceTrimmingValidator (e9f7c2b)
  • adding alias for ExtensionsCore (7a336be)
  • Adjust WASM to use XamlRoot.RasterizationScale (841a0e3)
  • Avoid faux linear gradients on borders on iOS and macOS (9c139f7)
  • Basic ContentIsland RasterizationScale support (e0e51ee)
  • Basic implementation for detecting layout cycles (461d1f3)
  • ContentIslandStateChangedEventArgs (9f19c40)
  • Enable ToolTips on Skia by default (fdaebd3)
  • FauxGradientBorderPresenter (ea291b8)
  • flyout: Add sample for FlyoutBase.OverlayInputPassThroughElement (7a88c76)
  • flyout: Implement FlyoutBase.OverlayInputPassThroughElement (c54cc2f)
  • Implement AreAutomationPeerChildrenReversed on UIElement (993b68b)
  • Implement new focus-related types (ed17993)
  • Implement ScrollItemAdapter (fbcbeaa)
  • Implement ScrollItemAdapter AccessKeyStringBuilder (636260e)
  • implement the X Drag and Drop (XDnD) extension to accept dragging from other windows (f5295cc)
  • introduce a new BorderVisual to handle rendering the border and the background. (d7dbf39)
  • ItemsView (49bff4d)
  • make UnoFeatures ignore casing (e873d73)
  • only "repaint" Visuals that actually changed (ec00c67)
  • pointers: Add support of pointer rerouting on Android (a409065)
  • pointers: Support pass through on iOS (11ad2a5)
  • Port ComboBoxAutomationPeer (325ee6d)
  • Port FocusController (afea99b)
  • Port FocusManager adapters from WinUI (05b5b4a)
  • Port RootScale and related classes (30ab0b4)
  • sdk: Add support for Apple Privacy Manifest (57fb9e3)
  • Set modifiers on keyboard events on WASM (d42429b)
  • set the Version (20e16f4)
  • Simplified implementation of MRT Core ResourceLoader (ec0dc35)
  • skia: Support Shape.StrokeDashArray and CompositionStrokeDashArray (c3c499f)
  • Support composition keyframe animations (5277f0d)
  • Support for SelectorBar and SelectorBarItem (9068f91)
  • Support for SkiaSharp 3 (18e3798)
  • Support for UIElementCollection.Move on Skia (cd661d4)
  • Support ThemeResource in TargetNullValue and FallbackValue (7514964)
  • textbox: add support for up/down arrow keys preserving the caret "position" (550be6b)
  • textbox: variable Tab widths i.e. Tab stops (8b7e727)
  • UnoInitializeComponentAnalyzer (583210a)
  • Update Common theme resources (8fe36a1)
  • Update RatingControl to winui3/release/1.4.2 (79fabac)
  • Update ToolTip styles (c99767e)
  • Upri resources trimming (6c0935a)
  • Use XamlRoot.RasterizationScale in GTK renderers (267be8c)
    *...
Read more

5.2.80

22 Apr 19:48
f9c2069
Compare
Choose a tag to compare

We are proud to announce the .NET ecosystem’s first and only true Single Project solution, empowering developers with a unified approach across all 9 platform targets, spanning mobile, web, desktop, and embedded apps. This genuine Single Project approach simplifies development, accelerates build times, and facilitates platform-specific development, enhancing your productivity and efficiency.

In addition, the 5.2 release also adds:

• Enhanced Skia renderers, with X11 and macOS support for greater performance benefits and simplicity
• Our highly requested multi-window support
• Improvements to Uno.SDK by introducing Uno.SDK Features
• .NET 9 Preview support

This release is our biggest yet, with a record-breaking 2400+ commits—900 more than our last. It was a massive team effort, and we can’t wait for you to experience the improvements and enjoy a smoother, more productive development workflow.

See our blog post for the full announcement.

Community shout Out

Several community members contributed PRs to this release:

Thanks for your contributions!

See below for the full changelog of this release!


Features

  • add NativeOverlappedPresenter support for macOS/Skia host (ffd1bec)
  • adding implicit namespaces (e10ffe3)
  • adding implicit packages (e77cc64)
  • adding support for AOT Generation (772e702)
  • adding support for MacOS and X11 from Skia TFM (284da47)
  • adding support for Single Project (3a85523)
  • Adjust automatic profile selection (d1771aa)
  • Allow freezing of TemplatedParent (6308a3c)
  • enable skia target framework (7e6147d)
  • Ensure that uno.sdk winappsdk apps include all Assets by default (a607d1b)
  • Filter unsupported TargetFrameworks based on current OS (5bfc7de)
  • handle more macOS cursors (0333a70)
  • INativeOverlappedPresenter X11 implementation (acd6433)
  • InteractionTracker pointer wheel support (5769d1e)
  • more complete file/folder pickers for macOS/skia (8bf1f41)
  • Port ScrollView (da22a4c)
  • Provide Intent access for Android pickers (14d4923)
  • provide override to disable default UnoResizetizer Items (aaf452e)
  • Support for TeachingTip control (97e7b29)
  • Support ternary operator and relational operators in ExpressionAnimation (927fed4)
  • Update API surface to WinAppSdk 1.4 (7070d86)
  • Update to WindowsAppSDK 1.5 (deb86f0)
  • composition: IGraphicsEffectD2D1Interop + GraphicsEffectPropertyMapping + EffectType + EffectHelpers (aa7c067)
  • composition: Implement AcrylicBrush! (2ec862b)
  • composition: Implement AlphaMaskEffect and SaturationEffect + Samples + Refactor (aefc389)
  • composition: Implement BlendEffect, CompositeEffect, ColorSourceEffect, and OpacityEffect + Samples (4bf9313)
  • composition: Implement ColorMatrixEffect + Sample + Performance improvements (2f4b39d)
  • composition: Implement CompositionBackdropBrush (260ebeb)
  • composition: Implement ContrastEffect (+ Sample) and ArithmeticCompositeEffect (faf0efd)
  • composition: Implement CrossFadeEffect + Sample (c290e67)
  • composition: Implement DistantDiffuseEffect + Sample (6a153b5)
  • composition: Implement DistantSpecularEffect and SpotDiffuseEffect + Samples (be859be)
  • composition: Implement ExposureEffect + Sample (85b301b)
  • composition: Implement GammaTransferEffect + Sample (57bcce9)
  • composition: Implement grayscale effect + sample (2273c1f)
  • composition: Implement HueRotationEffect and TintEffect + Samples (1b3e7e3)
  • composition: Implement invert effect (82b8084)
  • composition: Implement LuminanceToAlphaEffect and LinearTransferEffect + Samples (3f976ba)
  • composition: Implement property listener/updater for the AcrylicBrush + Refactor (81146cb)
  • composition: Implement SpotSpecularEffect, PointDiffuseEffect, and PointSpecularEffect + Samples (f53b239)
  • composition: Implement TemperatureAndTintEffect + Sample (93643a3)
  • composition: Implement Transform2DEffect, BorderEffect, and SepiaEffect + Samples (429bf99)
  • composition: Implement WhiteNoiseEffect + Sample + Win2D + Refactor (3dc1fc2)
  • composition: Initial work on Composition effects (757dd57)
  • composition: More work on Composition effects + working sample (545004e)
  • composition: re-add ArithmeticCompositeEffect + Docs (a668ad0)
  • Add a simple XAML Playground sample (a4c145a)
  • Add AppWindowChangedEventArgs (8408032)
  • Add AppWindowPresenter (2485330)
  • Add manual tests only filter to Samples app (1ed1e44)
  • Add Microsoft.UI.Windowing enums (e0c850b)
  • add multi-window support for macOS/skia (96f4bbf)
  • Add Skia generic builder (160613b)
  • add support for file pickers in X11 (c6470ae)
  • Add support for PHPicker on iOS (f0e364b)
  • add support for saving files in X11 (d0f78d5)
    ...
Read more

5.1.31

31 Jan 14:37
7e843d5
Compare
Choose a tag to compare

It has been nearly 3 months since we launched Uno Platform 5.0. Since then, .NET RTM’d and even shipped a servicing release. Naturally, we embedded all that goodness in our 5.1 release, as well as added number one feature you requested – Our Live Wizard for Rider and VS Code users.

The same time-saving utility is now available via our Live version to JetBrain’s Rider and VS Code users so you can get your projects set up quickly. We also added three new controls, and improved performance.

Visit our blog post to learn more about Uno Platform 5.1!

A few more detailed highlights on this release :

  • Font Fallback support on Skia
  • TimePicker support
  • New MsBuild Uno.Sdk
  • Support for ComboBox.IsTextSearchEnabled
  • Support for StandardUICommand
  • TextBlock support for IsTextTrimmed and IsTextTrimmedChanged
  • Performance
    • Memory leaks improvements (NavigationView, RatingControl)
    • Animations performance improvements
    • Memory allocation and Boxing reductions in DependencyObject
    • StatusBar performance for Android
    • TextBlock rendering performance
  • Various alignments in layout engine from WinUI

And of course, many thanks to our contributors:

See below for the full changelog:

Features

  • Add ability to enable hot-reload in release (for automated testing purposes only) (11deccb)
  • Add add PhoneResource.h to WinUI resource extractor (d90d888)
  • Add basic support for TextBox.Paste and PasswordBox.Paste (456799e)
  • Add font fallback support on Skia (03397f2)
  • Add internal support for InputKeyboardSource on Uwp (187a1cb)
  • Add LinearArrayPool (87419e7)
  • Add net7 backward compatibility for msbuild getProperty (2f025e5)
  • Add new WinUI resources (96ee37e)
  • Add support for devserver IDE channel (dcecc26)
  • Add support for quicky opening searched item in SamplesApp (5b7cf3b)
  • Add TimePicker Fluent V2 styles (4dab50e)
  • Add tool to generate WinUI localized resources (aba02b0)
  • Add UIView.Dispose detection analyzer (4df839e)
  • Adding counter tutorial (673b597)
  • adding Cross Targeting globbing (3caea39)
  • Adding reloadcompleted callback (4168502)
  • adding SDK (f7c569c)
  • Adding workshops to docs (66cf878)
  • Controlling ui updates on hot reload resume (159cce7)
  • Implement GetConnectionProfiles (06a73c6)
  • Implement Automation Identifier Properties (085bc2f)
  • Implement Automation Identifier Properties (069d2e1)
  • Implement Automation Peers enums (2a1d22a)
  • Implement Automation Provider (89b5ab5)
  • Implement ComboBox.IsTextSearchEnabled (47df509)
  • Implement SCP.SizesContentToTemplatedParent (936fb48)
  • include winappsdk-workaround for non-Single Project (887a9a0)
  • InstanceTracker for FrameworkTemplatePool (0d67bd7)
  • LoopingSelectorHelper (f8312e7)
  • Port ImageAutomationPeer (3c8e536)
  • Port LayoutRound code from WinUI (95fba8f)
  • RepeatButtonAutomationPeer (bb1b1ea)
  • StandardUICommand (ba9c078)
  • Support CompositionStretch and [Horizontal|Vertical]AlignmentRatio and use that for ImageBrush (b0854ef)
  • Support for TextBox.Paste and PasswordBox.Paste on Android (aab94da)
  • Support for TextBox.Paste and PasswordBox.Paste on GTK (e58e5bc)
  • Support for TextBox.Paste and PasswordBox.Paste on iOS (d174ff9)
  • Support for TextBox.Paste and PasswordBox.Paste on WASM (3c3759a)
  • Support for TextBox.Paste and PasswordBox.Paste on WPF (a98212b)
  • Turn Sample info dialog into a flyout (4f90261)
  • UnitTestsControl should handle default parameter values (aab2154)
  • Update InfoBadge to winui3/release/1.4.2 (95292c5)
  • update menu style (06752bf)
  • Use newly added resources (082bfaf)
  • WinUI TimePicker (2810779)
  • textblock: IsTextTrimmed & IsTextTrimmedChanged (e1523f8)
  • textbox: add support for text selection (2324b9e)
  • Update DispatcherHelper to winui3/release/1.4.2 (99e91bd)
  • Update InfoBar to winui3/release/1.4.2 (a075182)
  • Update TreeView to winui3/release/1.4.2 (f668510)
  • Update TwoPaneView to winui3/release/1.4.2 (f01ebe1)
  • Use StandardUICommand for TextBox context menu (2c2b37f)
  • textbox: start skia-based TextBox implementation (bc7d426)

Performance Improvements

  • Fix NavigationView memory leak (c1591c1)
  • Fix RatingControlPage memory leak (fbc6bea)
  • only invalidate InlineCollection layout when properties change (190a824)
  • samplesapp: Fix RadioButtonsPage memory leak (7620f0a)
  • samplesapp: Fix SamplesApp leaks (b2b0a5a)
  • Access Color DP once in InlineCollection.Draw (6162874)
  • Animations-focused ...
Read more

5.0.19

01 Nov 20:54
5ee32c8
Compare
Choose a tag to compare

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...
Read more

4.10.13

07 Sep 15:55
aa0c401
Compare
Choose a tag to compare

The 4th release of 2023 brings many updates to Uno Platform, including the much-requested MAUI Embedding, Lightweight Styling along with the new ShadowContainer control, Neumophic Styles, iOS Hot Restart, Wasm CSP Support and more.

Our team is aiming to make you as productive as possible developing with .NET. The community and clients asked for MAUI extensions to be developed to aid them in Xamarin.Forms migration, so we delivered. In addition we support the .NET OSS ecosystem and we regularly contribute to .NET, including the two PRs that are making MAUI embedding more effective (dotnet/maui#16758, dotnet/maui#16803), as well as the latest SkiaSharp 2.88.5 which includes .NET 8 compatibility and WebAssembly fixes.

See our blog post for more details!


Features

  • hotrestart: [iOS] Add support for VS 2022 hot restart e74af99
  • Enable DispatcherQueueTimer and DispatcherTimer on unit tests 6a70e3d
  • pointers: Add (internal) ability to prevent default behavior of pointer events on WASM 5d302d3
  • pointers: Update skia hosts init to unify pointer support b2b0a54
  • scp: Add ability to reverse pointer wheel on the SCP for managed scrolling on skia and wasm 4be3764
  • Support for ProximitySensor on Android 383eb2e
  • pointers: Add PointerInputSource for macOS e9941bf
  • Support for SingleSelectionFollowsFocus 50ceb6d

Performance Improvements

  • Add Alert binding 6c7f6db
  • Add ApplicationView bindings a579aa9
  • Add AssetsManager bindings b02b729
  • Add Automation exports 109938c
  • Add BadgeUpdater bindings 60ab27a
  • Add ContactPicker bindings b9571c7
  • Add DataTransferManager bindings 3769dae
  • Add DispatchBackRequest export 45ea17f
  • Add DispatchContentChanged export 2e0c9da
  • Add DispatchMessage export 9b10802
  • Add DispatchNativePositionChange export f178115
  • Add DispatchStateChanged export 62bb542
  • Add DispatchStatusChanged export b857ab6
  • Add DispatchStorageInitialized export c0b6900
  • Add DispatchSystemThemeChange export e9b2451
  • Add DispatchVisibilityChange export 06f31f2
  • Add DisplayInformation exports 68d4243
  • Add DisplayRequest bindings 1b60854
  • Add DragDropExtension bindings 80bea90
  • Add FindDevices binding a16faba
  • Add FontFamily exports 41cd620
  • Add Gamepad bindings 387cf90
  • Add Gamepad exports ec769bf
  • Add GenerateGuids export b0c13b1
  • Add GetUserAgent binding 74367b5
  • Add Gyrometer bindings a841dd2
  • Add Gyrometer.DispatchReading export 48b1a69
  • Add LightSensor bindings 3de29ad
  • Add LightSensor.DispatchReading export 2207ef9
  • Add Lottie bindings 89b89fe
  • Add Magnetometer bindings 8911155
  • Add Magnetometer.DispatchReading export 2e1f623
  • Add MidiDeviceConnectionWatcher bindings 0da6c21
  • Add MidiInPort bindings c01a392
  • Add NetworkInformation bindings cca5e0d
  • Add OnNativeDropEvent export 7114313
  • Add Open binding b64414c
  • Add RegisterProtocolHandler binding d412b4a
  • Add RequestAsync binding 1a6e598
  • Add SendBuffer binding 6a75970
  • Add SpeechRecognizer bindings 22daa68
  • Add SpeechRecognizer exports 207f109
  • Add SystemNavigationManager bindings 81dd293
  • Add VibrationDevice bindings 342f2c3
  • Proper cancellation for XamlFileParser 463d921
  • Reduce array allocations when setting a single property on Wasm 9634171
  • AnalyticsInfo: Add GetDeviceType binding 6146848
  • ApplicationViewTitleBar: Add SetBackgroundColor binding 8d54f1a
  • Clipboard: Add GetTextAsync binding 582ff39
  • ConnectionProfile: Add HasInternetAccess binding 13d39e9
  • CoreWindow: Add SetCursor binding c3ee894
  • DisplayInformation: Add SetOrientationAsync binding 9cdf0b7
  • FileSavePicker: Add SaveAs binding ed5ef1b
  • Add WebAuthenticationBrokerProvider bindings d3b2e48
  • MSAL: Add AuthenticateAsync binding ec977f6
  • WindowManager: Add GetNaturalImageSizeAsync binding 223c0e6

Bug Fixes

  • android: Propagate theme change to all list view items properly 97dc9ac
  • android_clipping: Fixed clipping was applied on Android when opacity (Alpha) where less than 1. 7c69057
  • assets: Adjust assets caching by including assembly and package versions d7317ff
  • CameraCaptureUI: [iOS] Adjust camera capture for recent iOS builds 520e3af
  • ComboBox: Adjust incorrect visual state update 0422986
  • fb: Adjust initialization for framebuffer host b66e798
  • fb: Don't validate textbox features when IOverlayTextBoxViewExtension is not avialble 2f6fd2c
  • filepicker: add delegate for image picker 41b16bc
  • flyout: fix dismiss flyout on Escape cb89661
  • flyout: open flyout on tap 78ba0bb
  • Input: Properly update last input device type on Skia and WASM db7ba1f
  • ios: an instance of ListView crash during layout 3d0a558
  • iOS: ListView delete item with Bindings eccdb9b
  • listview: [Android] Adjust datacontext for header/footer for ListView 42453be
  • listview: [iOS] Adjust datacontext for header/footer for ListView e51355a
  • listview: add ctrl support for keyboard navigation in ListView 87620d3
  • listview: add support for Ctrl+Click unselecting e161fae
  • ListView: [iOS] Ensure that the DataContext propagates properly to Header/Footer f0fa91d
  • net8: Ensure that roslyn generators can be used when LangVersion is empty 722ad06
  • scrollviewer: raise PointerEnter/Exit when scrolling causes the pointer to be over a new item ae436b6
  • slider: fix dragging when the initial press is not on the thumb 2a19610
  • TextBlock: [Skia] Fix unsupported symbols rendering 5ffb03b
  • TextBlock: fix the whitespace missing issue of TextBlock Inline 90c29b4
  • ToggleSwitch: Don't force end position when ToggleSwitch is unloaded 830f517
  • vs: Restore intellisense for non-windows targets 50255d5
  • WebView: Update Android navigation properties on JS-based history changes fac11f6
  • WebView: Update iOS navigation properties on JS-based history changes 11f2de9
  • xamlreader: attached-property in setter 35a6aeb
  • xamlreader: res-dict parsing 362e2a6
  • Adjust hotrestart disable property b04c179
  • Align Duration behavior with WinUI e0bd26e
  • Avoid duplicate SyncDataContext 74e8472
  • Avoid propagating routed events up from PopupPanel 3f7c219
  • Avoid throwing if result of ExecuteScriptAsync is null 38cfd0f
  • Avoid unsetting item container DataContext 5250ebc, closes #12845
  • Correcting event handler removal cc6997c
  • Correctly raise ImageFailed on Skia 620c190
  • docs markdown tab d18abe2
  • Don't generate hotrestart stubs when maui is present 845edcb
  • Ensure CalendarView item styles are updated properly on reload dc00963
  • Ensure ThemeResource bindings are properly updated when style is applied 341cd26
  • Ensure Window size is initialized for Android a52a3d1
  • Fix TemplateBinding not working with attached DPs 06d2261
  • Fix toggle switch knob translation 37fe8ae
  • Fix x:Bind not considering inherited methods for events b293cda
  • Image with explicit size is not arranged correctly c3cc5b0
  • Implementing IDisposable and detaching event handlers 1bf5fad
  • MediaPlayerElement does not play a local source 25e3d33
  • Prevent nested elements with GestureRecognizers from raising overlapping events e2b9066
  • Propagate theme change to TextBlock inlines ab9df61
  • Properly display PosterSource for MediaPlayerElement on all platforms 9f0a507
  • Properly generate code for items in custom dictionary 8a208e8
  • Properly update WebView history properties 8c30254
  • Raise ImageFailed properly on Android adab001
  • Respect HyperlinkForeground 5c7b93d
  • Set initial Window size earlier on WASM a883ba8
  • Uno Islands sample apps had incorrect targets set 4ef38b2
  • droid: CommandBar AppBar Icon crashing 8ff5e83
  • droid: nullable types 9580db2
  • Adjust DispatcherQueueTimer behavior to match WinUI 94318ef
  • Adjust DispatcherQueueTimer on Android to match WinUI behavior 5ed9e54
  • DispatcherTimer with default Interval on Skia and WASM f43af6c
  • Use fallback color for unsupported brushes 67657f1
  • AutoSuggestBox: adjust the parameter of SubmitSearch f5c17e3
  • AutoSuggestBox: fix the AutoSuggestBox not working when using custom ItemContainerStyle 1041d3f
  • AutoSuggestBox: fix the issue that e.ChosenSuggestion is incorrect 7c3911b
  • AutoSuggestBox: fix the issue that SuggestionList is not updated properly 5a502ac
  • AutoSuggestBox: Init the ChosenSuggestion to null after calling the QuerySubmitted handler 8b4624a
  • AutoSuggestBox: optimize the code 90bd0a7
  • AutoSuggestBox: return null as ChosenSuggestion when query button is clicked c471dc1
  • AutoSuggestBox: set QueryText to _textBox.Text d0b99ae
  • AutoSuggestBox): revert "fix(AutoSuggestBox: Init the ChosenSuggestion to null after calling the QuerySubmitted handler" e45dafa
  • ContentControl: set Content null when using ComboBox 1eaea2a
  • droid: SVGImageSource open file when custom downloader 1c94322
  • FileOpenPicker: iOS open image library when using PickerLocationId.PicturesLibrary c7e92ef
  • gtk: report gtk init error through stderr. 5da0b4b
  • ImageSource: SvgImageSource crashing on null uri abc8426
  • iOS: SVGImageSource null exception efc6778
  • linux: Adjust initial position on ubuntu distro d378ff9
  • lottie: Fixed a regression where the lottie module where not properly loaded when the was used in the csproj baa1652
  • media: Adjust error reporting on libVLC initialization 246621f
  • **...
Read more

4.9.17

05 Jun 19:19
3dafa2f
Compare
Choose a tag to compare

Uno Platform 4.9.17 brings two much requested features, as well as well as over 100 other improvements.

First, .NET developers can now reuse MediaPlayerElement across all supported platforms – iOS, Android, Web, Mac and Linux, in addition to, of course, Windows itself.

Second, we’ve added support for WebView2 for iOS, Android and Mac Catalyst.

Head to our blog post for more details about this release.

Community Shout Out

As always, thanks to our community contributors!


Features

  • Resizing video for transport controls 5b4436f
  • wasm: Support ms-appdata for Image 4b48a50
  • Add extensibility support for Windows.Media.Playback.MediaPlayer 50cff71
  • Add missing MUX and Microsoft.Web generated APIs 34e34a4
  • Add support for Window.Title in Uno.WinUI 36a4a3b
  • Delaying paint until Activation 3819b16
  • Display Android Splash Screen until Window.Activate 4cd5c8a
  • Improve IconElement, include shared Grid c10c689
  • Initialize WindowManager asynchronously 09be506
  • Move OS theming logic to SystemThemeHelper b8e36a7
  • Support for FontIcon.MirroredWhenRightToLeft 7632d67
  • Support indexers in x:Bind 2612342
  • Wasm: Implement UIElement.ProtectedCursor 99d3078
  • initial implementation with basic playback capabilities 5786d73
  • Support CommunityToolkit.Mvvm in two way x:Bind 8ffc159
  • Support for UIElement.ActualOffset 76d72ab
  • svg: [Wasm] Add support for ms-appdata 8dd1e30
  • Add support for ExecuteScriptAsync on iOS/macOS 6da41f4
  • Apply themed background color to root visual fecbd42
  • Display WASM Splash Screen until Window.Activate 28628b0
  • Enabling net6 support for msal on ios/android 9780f82
  • ExecuteScriptAsync and InvokeScriptAsync on Android 8a9f504
  • Include full namespace for FrameworkPropertyMetadata in generated code 0df4900
  • Include MUX and Microsoft.Web namespaces in Uno.UI SyncGenerator c6cf258
  • Key CoreWebView2 event args, events 9b2d107
  • Move linked/shared messaging files into a new package feb2bb7
  • Support for DefaultTextForegroundThemeBrush 95324b5
  • Support for IconSourceElement 7188dd7
  • Support for WebMessageReceived on Android 8072ecc
  • Support for WebMessageReceived on iOS/macOS cb09425
  • Support more ComboBox visual states a89ab15
  • Support persistent bootstrapper loaders on WASM 39d44ee
  • CurrencyFormatter: Implement FormatDouble and ParseDouble d5616ad
  • nativehost: Add support the native view hosting 756f1ad
  • pointers: Fix pointer state not updated properly 33a38ea
  • Run: [Skia] Add support to Unicode Symbol and emoji 46ed691
  • update Cross Runtime Library template to WinUI / net7 5e3599f
  • Update to latest version of Uno.Fonts.Fluent 77df8a0
  • WebView: Support for IsScrollEnabled 3fbd8fb

Performance Improvements

  • Add Application bindings 9a3c97b
  • Add Clipboard bindings f201f48
  • Add CreateInstance binding 75f0bbc
  • Add DestroyInstance binding 6607df4
  • Add DisableFrameReporting binding 65ffab1
  • Add DispatcherCallback export b42f301
  • Add DisplayInformation bindings b7d0279
  • Add EnableFrameReporting binding 0f04f79
  • Add fast path when TextBlock has a single Run 036ebd3
  • Add FileOpenPicker bindings 2482244
  • Add FileSavePicker bindings 7dbddbc
  • Add FolderPicker bindings 1a2e00f
  • Add ForceFontUsage binding 2f3a3e8
  • Add GetAppMemoryUsage binding 0a109f5
  • Add GetBasicPropertiesAsync binding 131d4f8
  • Add GetBootTime binding 8309a5c
  • Add JSObject.Dispatch() export 753f368
  • Add LoadFont binding 57f4ce7
  • Add NativeReadStreamAdapter bindings 72bd34d
  • Add NativeWriteStreamAdapter bindings 1f6a53b
  • Add OnNativePointerEvent export bbdcc2b
  • Add RegisterNoOp binding f735d89
  • Add SetAnimationFramesInterval binding 5f06391
  • Add SetStartFrameDelay binding 8a39643
  • Add StorageFolder bindings 44e0b99
  • Add SystemFocusVisual bindings fbbccaf
  • Add WindowManager initialization exports 6e81972
  • Avoid native call to get parent while bubbling events 50cc2a3
  • Avoid rooting compilations in XamlFileGenerator 1773201
  • Avoid using Regex in AndroidResourceNameEncoder b15c12f
  • Fix few more occurrences of ToDisplayString f517a6a
  • GetWinUIThemeResourceUrl shouldn't format a string 8471381
  • Move some XAML generator caches to compilation-level 610ce31
  • Reduce dictionary lookups of repeated FindType call on the same XamlType 0b0d1af
  • Reduce string allocations in XamlFileParser fc64e72
  • Use StringBuilderBasedSourceText in DependencyObjectAvailabilityGenerator 31701d7
  • Use memoized FindType instead of SourceFindType 743c1f8
  • Animations: Marshal pointers instead of strings d51f099
  • WindowManager: Add CssSupports binding bf0276d
  • WindowManager: Add FindLaunchArguments binding 5152ab2
  • WindowManager: Add FocusView binding cd8db30
  • WindowManager: Add GetAttribute binding 9a46fda
  • WindowManager: Add GetProperty binding ca1be0a
  • WindowManager: Add RawPixelsToBase64EncodeImage binding 5991c93
  • WindowManager: Add ReleasePointerCapture binding aa423c3
  • WindowManager: Add SelectInputRange binding 3006ede
  • WindowManager: Add SetImageAsMonochrome binding aec6bcc
  • WindowManager: Add SetPointerCapture binding 6fc79f1
  • WindowManager: Add Window bindings 77e89ea
  • Address TODO regarding O(n) search 90c1dc5
  • Cache PreorderTree to avoid expensive enumeration d1610cd
  • Cache SKFont to avoid unnecessary allocations 3200437
  • Don't use LINQ in measure path b7ca706
  • Implement an alternative to ToDisplayString d58ecc2

Bug Fixes

  • [Android] fix android transformtovisual 02d2582
  • avoid calls to CGColorCreateSRGB before iOS13 cb4a983
  • Corrected sizing of videoView 1eee18d
  • dispatch setting of visibleboundspadding insets 3420cb5
  • Do not throw for already disposed callbacks ade95d8
  • FileStorage.CopyAsync should open target stream for write bf9db5a
  • Fix CalendarView selecting next day due to not respecting current time zone 014673d
  • Get video playing again 6b18dac
  • style + case diff between iOS and Mac API 53467fc
  • Transparency pixels 4134047
  • Update Uno.Fonts.Fluent to get latest glyph fixes 6a8960f
  • animation: anomalies when quickly transitioning between multiple VisualStates of same VSGroup 101606e
  • animation: not defaulting starting value from animated value 54a6d5d
  • AutoSuggestBox: fix Suggestion Item not being selected 498e536
  • CalendarView: CalendarView SelectedDates not working 1bab1ee
  • CalendarView: Fix CalendarView positioning of day's TextBlocks a4ddc83
  • CalendarView: fix the date selecting error by difference of timezone fffad38
  • ci: Ensure Uno.Foundation.Runtime.WebAssembly NET7 is published c336724
  • ComboBox: flyout placement in ios SheetPage af92831
  • droid: bringintoview for not visible items 5e0c4fe
  • droid: ScrollView Offset fc86ee6
  • ExportManager: Ensure Uno NET7 is used 1c22a28
  • Geolocator: Stop using location when unsubscribing from events. 22ee956
  • image: Don't update the image asynchronously to avoid showing intermediate visuals 27001a8
  • iOS: GetTransform allow controllers to be null 76e1bed
  • ItemsControl: desync from modifying ItemsSource of non-INCC/IObservableVector source 4cee87a
  • itemsRepeater: Fix regerssion that would prevent nested IR to render items after the first page if scrolling slowly 342b8a6
  • ListView: unnecessary SelectTemplate call on collection reset fab5c1c
  • lottie: Improved the loadeability of Lottie library on Wasm when running in Embedded context. 685ba37
  • pointers: [Skia] fix captured release to early when crossing bounds of the capturing element + invalid dispatch to a transformed elements e1a1929
  • pointers: Make sure to cleanup pointers state when an element is being recycled 027323b
  • progressing: prevent breaking change by internal interface b39a2d3
  • reg: Fix offset computation of native only elements 5630f84
  • reg: Fix pointer capture broken on Firefox ccb7a46
  • skia: UIElement.KeyDown firing twice per input ba79e98
  • ToolTip: fix an issue where the tooltip remains even when the button is pressed 35c9497
  • ToolTip: fix an issue where the tooltip remains even when the button is pressed cdf98ee
  • ToolTip: fix the namespace referencing error of virtual key. aa9a8c0
  • Add app.manifest to SamplesApps 27e318f
  • Add app.manifest to UWP-based templates 3db340c
  • Add missing app.manifest to old template cf8248b
  • Adding package metadata d40a8ba
  • Address Review 8148005
  • Adjust Border.Child replacement b26f1e2
  • Adjust Expander API to match WinUI aec2a15
  • Adjust for missing propsfile 5d0256e
  • Adjust full path property in netcore tests 22873d2
  • Adjust nullability of ApiExtensibility 715e676
  • Adjust transform on PopupPanel 886bc6d
  • Adjust vscode support d76fb34
  • Allow multiple reads of StorageFile 750e93a
  • always raise CoreWindow.KeyUp/Down 65fed34
  • ambiguity in KeyboardEvents sample f672f76
  • AppBar and CommandBar Uno Islands support 7ca5247
  • AppBar and Flyout base fixes for Uno Islands 5b0ca83
  • Avoid delay when hovering over SelectorItem with mouse 5f6c6b9
  • Avoid raising events when recycling TextBox, ToggleSwitch, and ToggleButton 0e1d70e
  • Call the correct FocusManager methods with option...
Read more