Skip to content

Releases: unoplatform/uno

5.5.94

18 Dec 18:07
d9bc2e2
Compare
Choose a tag to compare

What's Changed

Full Changelog: 5.5.87...5.5.94

5.5.87

04 Dec 19:01
582da1a
Compare
Choose a tag to compare

What's Changed

Full Changelog: 5.5.76...5.5.87

5.5.37

31 Oct 18:26
6383649
Compare
Choose a tag to compare

Uno Platform 5.5 - Automated App Packaging, .NET 9 RC2, OpenGL, WebView2 and more

Each release, we don’t just improve—we aim to revolutionize your development experience. For this release, we focused on drastically reducing the time and complexity required to package and distribute your cross-platform applications, in addition to a plethora of other productivity and performance features.

Our new App Packaging automates the process of bundling binaries, assets and dependencies into platform-specific installers for Linux, macOS and Windows on desktop. And, yes, that’s in addition to the seamless support we already provide for Mobile and Web packaging. It removes hours of frustration and dozens of manual steps which are typically needed when preparing your app for publishing, with just a few commands or clicks.

In addition to app packaging improvements, we are adding support for .NET 9 RC2 with WebAssembly, OpenGL Support, WebView2, New Skia Canvas, Combo Box and Templated Parent. It’s a big release, grab a coffee and read through our blog post.

At a glance, here are some of the new features:

  • Linux Snap, macOS .app and ClickOnce packaging support
  • GLCanvasElement for Desktop
  • SkiaVisual / SKCanvas support
  • WebView2 support on WebAssembly
  • .NET 9 RC2 support
  • .NET 9 WebAssembly bootstrapper support
  • Support for ComboBox.IsEditable, ComboBox.TextSubmitted, ComboBox.SelectionChangedTrigger
  • Many TemplatedParent propagation fixes
  • Support for ColorHelper and KnownColors
  • In-App rating support on iOS
  • Various DependencyObject performance improvements and memory usage reductions

You can find out the changelog below.


Features

  • add a SkiaVisual that allows external use of SkiaSharp (5ff75bd)
  • Add ability to configure timeout for file update to work on slow CI (7ab30cc)
  • Add ability to send null old content to overwrite file (2cd7ad4)
  • Add contract for to allow user interaction in IDE from the dev-server (fc7312c)
  • Add discovery of dev-server add-ins (d73066d)
  • Add extensiblity support in dev-server (753965d)
  • Add message for to add a menu in the IDE (0433d09)
  • Add Microsoft.NET.Sdk.WebAssembly support (d3312b2)
  • Add more info (86dfaca)
  • Allow disabling generated Application.UnhandledException handler (307acc1)
  • Allow selecting custom values on Selector (8b6a5d3)
  • Allow usage of HR indicator from external tool (2cf2f71)
  • Bump Uno.Fonts to 2.4.5 (84a5e72)
  • ComboBox.IsEditable (f491c97)
  • ComboBox.TextSubmitted (a22f88c)
  • Correctly indicate support for DesktopAcrylicController and MicaController (c4ee18a)
  • Create IIdeChannel services and register it into DI to be usable by add-ins (2099883)
  • Define constants for packaged vs. unpackaged WinAppSDK (2ad6248)
  • GlCanvasElement on MacOS (363b8df)
  • hr: Add ability to safely handle exceptions in UpdateFile (e5974da)
  • hr: Add UpdateFile API (bcabbd2)
  • Implement ColorHelper (73e0d61)
  • Implement KnownColors (0d604a0)
  • Implement GetColorNameResourceId (d494270)
  • In-app rating request on iOS (672148d)
  • InputPropertyAttribute (493ede4)
  • introduce the ability to draw using raw OpenGL on skia (ff6e501)
  • ios: add webview2 inspectable feature (f8c6ac7)
  • iOS: validate for device version (918f34b)
  • Make breaking on unhandled exceptions opt-in (48d42f6)
  • New DependencyPropertyHelper class (844b8e2)
  • Reduce allocations when using AsyncLock (+ remove all dependencies) (6a52019)
  • Simulate preview key events for tests (61c80df)
  • Support for ComboBox.SelectionChangedTrigger (0d016e2)
  • Throw ArgumentNullException if XamlRoot is not provided to VisualTreeHelper (c53c785)
  • Update API surface to WinAppSDK 1.6 (abb3fca)
  • Update Sync generator to WinAppSDK 1.6 (49ecdae)
  • wasm: Remove dependency on js invocation internal calls (c9f9377)
  • WebView and WebView2 on WebAssembly (be3a0fb)
  • webview2: add feature configuration for ios inspectable (15ed6af)

Bug Fixes

  • ActionAppNotificationSettings Launcher missing package reference (7b7cb35)
  • Adjust AddIn path (54da54f)
  • Adjust ContentPresenter automatic propagation (8ad591f)
  • Adjust IsFocusable on Popup (228d4a1)
  • Adjust ScrollContentPresenter measure to prevent infinite available size when necessary (565dd04)
  • Adjust the target SDK version of Samples app on Android (dc9da22)
  • Adjust TreeHelper to correctly handle native elements (06e9137)
  • adjust workaround for android popuppanel layout (72ce4eb)
  • android: Restore inheritance workaround for android (0222291)
  • Avoid error on SamplesApp.UITests (0641657)
  • Avoid infinite layout loop in MediaTransportControls (dbca1b0)
  • Button: Command binding resetting on CanExecution exception (82846ba)
  • codegen: Adjust mvvm toolkit properties discovery (e94127f)
  • Compare the right font in OnFontLoaded when FontFamily contains '#' (3843646)
  • Correcly await async RunOnUIThread calls (7866edc)
  • desktop will always build as WinEXE ([30437b8](https://github.com/unoplatform/Uno...
Read more

5.4.43

30 Oct 13:20
be0defa
Compare
Choose a tag to compare

What's Changed

Full Changelog: 5.4.39...5.4.43

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