Skip to content

Releases: unoplatform/uno

6.0.465

08 May 20:33
6b95f7e
Compare
Choose a tag to compare

Nearly seven years after unveiling Uno Platform for the first time, we’re announcing our BIGGEST RELEASE EVER and are stepping into the whole new chapter of Uno Platform evolution.

See the Uno Platform 6.0 announcement in our blog post!

Among the changes in this release:

  • Unified Skia Rendering for all targets, including iOS, Android and WebAssembly
  • MediaPlayer element, as part of the open source offering, for all platforms
  • WebView Support, as part of the open source offering, for all platforms
  • Native Embedding and Airspace support for all platforms
  • Win32 Skia Desktop backend for leaner publish payload and improved rendering performance
  • Skia Desktop and Skia iOS improvements in Xaml and Resources trimming
  • Skia ImageSource caching
  • Uno.WinRT is now available to reference individually for non-UI projects and packages
  • Significantly improved Skia touch support with GestureRecognizer and improved scrolling inertia
  • Many rendering and reliability improvements in Skia TextBox
  • Aligned HTML interop API for support on both DOM and Skia renderers
  • Skia rendering performance improvements with partial tree rendering
  • Skia background Image loading
  • IDE Extensions now provide uno.sdk upgrade notification
  • Debugger enabled Hot Reload for VS Code
  • New item templates for Rider
  • Many Skia Composition API improvements (CompositionGeometricClip, CompositionGeometry, all easing functions, CanvasGeometry, CanvasPathBuilder)

On the breaking changes side:

  • GTK Skia backend has been removed
  • UWP API set has been removed
  • SkiaSharp 3 is now required

You can browse below the complete change log for this release.


Features

  • Add AndroidX.Core.SplashScreen to Uno.Sdk (830296b)
  • Add ConditionalTestClassAttribute (c6a7c39)
  • Add ConditionalTestClassAttribute (2a60aa3)
  • Add error details in dev-server status event (621ebf4)
  • Add full screen mode support on WebAssembly (f3a2b23)
  • add keyboard events support for wasm-skia (d332e43)
  • add playback rate and position (ee2c4b4)
  • add support for airpsace on WASM-Skia (cf9aecd)
  • Add support for wasm+skia runtime (69b0385)
  • Add tvOS to Sync Generator (d5901c4)
  • Add Uno.Foundation and Uno.WinRT (918bda2)
  • Add UnoSdkVersion MSBuild property (a0dd96d)
  • Added ability to generate code that doesn't blow up raw string litterals by counting the number of quotes in the code. (bdba743)
  • Added the ability to embed XAML as sources for HR/HD operations (99ebadd)
  • Added the ability to embed XAML sources as code when using HR (4af785b)
  • Adjust Uno Composition for tvOS (c597ef5)
  • Adjust Uno WinRT for tvOS (55019b2)
  • Align MainActivity with Uno Templates (44546ed)
  • Allow overriding default scaling in runtime tests (7485fb7)
  • android-skia MPE (12a0ca0)
  • android-skia: native embedding hosting support for Android with the skia backend (f227526)
  • android: Add full support for keyboard input connection (6537260)
  • android: add permission handling functionality on Skia.Android (48219ad)
  • Apply target framework override to unit test projects (8ca14d3)
  • BitmapImage: image caching (1fae3af)
  • Bump AppCompat for EdgeToEdge (ffd33b5)
  • Bump WinAppSDK version (a0d5032)
  • composition: add Composition Path Clipping sample (f26c404)
  • composition: add easing functions UI tests (63f8909)
  • composition: add more CompositionSpriteShape tests (fd9b4cb)
  • composition: add Path Shape UI test for CompositionSpriteShape (6ec0751)
  • composition: add support for all geometry types for CompositionGeometricClip + optimize geometry creation and rendering (4c87eca)
  • composition: animations support for CompositionGeometry + sample (054b01c)
  • composition: High DPI support for ISkiaSurface (f2668b1)
  • composition: implement all Composition easing functions (3e91a44)
  • composition: Implement more CanvasGeometry methods + more tests (61b3c4e)
  • composition: implement property animator for AnimationController (dca9bee)
  • composition: Implemented CanvasPathBuilder + few fixes for CompositionPathGeometry (d0d61a3)
  • composition: initial implementation of AnimationController (54970a9)
  • composition: initial support for Composition easing functions (e46a8b3)
  • composition: Initial work on Composition Paths (e285c3e)
  • composition: more work on AnimationController (cc7433c)
  • composition: More work on CanvasGeometry, CanvasPathBuilder, and UI sample tests (f667ce3)
  • composition: multi-window High DPI support for ISkiaSurface (8fafa6d)
  • composition: Partially implement CompositionPathGeometry (b11d583)
  • composition: Partially implemented CanvasGeometry + UI samples (4516581)
  • ConditionalTestAttribute support for new Skia targets (08bf892)
  • Detect if we're running on VS and delegate the SAVE to it when it's the case. (04ba6c9)
  • Do not use CoreWindow on Skia targets (f00d481)
  • gestures: Improve gesture recognition by using an history of pointer points (e879150)
  • hardware acceleration for android-skia (7aa9339)
  • hr: Add ability to remove root of a DataTemplate with HR without cnomua (504593d)
  • HW acceleration on Skia.iOS (d1a302c)
  • Implement pattern/template grammar for DateTimeFormatter ([c8c6a43](c8c6a43...
Read more

5.6.91

21 Mar 20:34
b6e37c5
Compare
Choose a tag to compare

What's Changed

Full Changelog: 5.6.81...5.6.91

5.6.81

06 Mar 15:55
ff56350
Compare
Choose a tag to compare

What's Changed

  • docs: Update documentation and images to reflect latest .NET 9 instead of previous .NET 8 (backport #19542) by @mergify in #19555
  • feat: Add error details in dev-server status event (backport #19450) by @mergify in #19568
  • docs: Update Hot Design documentation and clarify project selection for VS Code sign-in with Uno Platform account (backport #19569) by @mergify in #19570
  • docs: Add Shiny .NET to supported 3rd-party libraries list (backport #19588) by @mergify in #19589
  • Ensuring items in the TOC are alphabetized for the reference section (backport #19573) by @mergify in #19596
  • HR: Changed the way code (XAML) is updated through Hot Reload (backport #19584) by @mergify in #19609
  • fix(wasm): Ensure proper dependents execution after 9.0.102 (backport #19594) by @mergify in #19613
  • fix(vs): don't reload the profile observer on initial solution open (backport #19614) by @mergify in #19619
  • fix(droid): add workaround for NavView leaving blank on IsBackButtonVisible update (backport #19517) by @mergify in #19624

Full Changelog: 5.6.70...5.6.81

5.6.70

20 Feb 16:49
6243a46
Compare
Choose a tag to compare

What's Changed

Full Changelog: 5.6.61...5.6.70

5.6.61

13 Feb 19:00
42ab882
Compare
Choose a tag to compare

What's Changed

Full Changelog: 5.6.33...5.6.61

5.6.30

28 Jan 22:04
980b1c9
Compare
Choose a tag to compare

In Uno Platform 5.6, our first release of 2025, we’re doubling down on what matters most to you — productivity, performance, and seamless cross-platform development experiences. There are major advancements across the board, from faster Hot Reload and expanded app packaging support to significant runtime and memory optimizations.

  • Hot Reload continues to evolve and lead the .NET ecosystem. As it is the foundation of Hot Design, our next-generation visual designer, nothing short of an amazing Hot Reload experience will satisfy us.
  • App packaging is now even easier, with new support for .pkg and .dmg formats, code signing, notarization, and destructive mode Snap package creation for CI environments.
  • Performance improvements across Uno Platform include up to 10x faster execution for Wasm AOT, more efficient visual states, and memory optimizations that make apps leaner and faster.

Take a look at our blog post for now details!

See below for the full change log.


Features

  • Add Color resources to ResourcesExtractor (7d9a654)
  • Add Microsoft.Windows.AppLifecycle to Sync generator (96ac958)
  • Add missing contracts to ApiInformation (0fe8895)
  • Add native embedding to netXX-desktop/macOS (66daa65)
  • Add support for AppWindow.Show methods (c9305c4)
  • Add XAML resources UPRI trimming (0dfd176)
  • Allow selecting custom values on Selector (8b6a5d3)
  • Allow simulating touch input in Samples app (2a243c9)
  • hr: Add ability to remove root of a DataTemplate with HR without cnomua (545e109)
  • hr: Remove deprecated XAML and partial reload HR modes (a46202a)
  • Implement pattern/template grammar for DateTimeFormatter (c8c6a43)
  • implement ShapeVisual.ViewBox (0a0c855)
  • implement the X Input extension to support touch input, smooth scrolling, etc. (071570e)
  • In app review on Android (760205a)
  • InputPropertyAttribute (493ede4)
  • Listen to trat changes on iOS 17+ (3cafa43)
  • macOS: override ms-appx location when app is bundled (05f21e6)
  • Microsoft.Windows.AppLifecycle contract (b4619da)
  • Simulate preview key events for tests (61c80df)
  • Uno.UI.GooglePlay (61041ae)
  • Use SIMD to compage images in a test to accelerate builds. (f1883d1)
  • Warn the user when native frame is used with WinUI Frame behavior (e7a0788)

Performance Improvements

  • anim: Don't refresh triggers and transitions during parsing (ec3ab58)
  • anim: Register only once to the JS animationframe callback (2b303b6)
  • brush: Don't use reflection to invoke brush updates (679b4bf)
  • Enable ResourceDictionary "not found" caching (6f696d4)
  • limit JavaStringCache entries to deal with excessive GREF counts (deff175)
  • optimize opacity filter allocations (91be36d)
  • reduce SKPaint and SKPath allocations (9264d5e)
  • wasm: Split methods containing try/catch/finally blocks (c4df6bf)

Bug Fixes

  • add minimum API HttpRequestHeaderCollection to work (c781c95)
  • Adjust [NotImplemented] on PasswordVault (0202aa8)
  • Adjust build for macOS 15/14 for the removal of Xcode 16. (519a059)
  • Adjust for outdated rc2 references (ba5b416)
  • Adjust implicit package inclusion (aba082d)
  • Adjust IsFocusable on Popup (228d4a1)
  • Adjust support for InvariantCulture mode support (39931e8)
  • Adjust tf reordering for VS 17.12 or later (5e6c681)
  • Adjust tf reordering for VS 17.12 or later (d7f3733)
  • Adjust the target SDK version of Samples app on Android (dc9da22)
  • Adjust TreeHelper to correctly handle native elements (06e9137)
  • align DepObjCol indexer behavior with winui (1c01de0)
  • Allow closing ContentDIalog after button click cancellation (2aacc68)
  • Allow properties to be multi-lines (5813d5b)
  • Allow properties to be multi-lines (78fa7d7)
  • Always activate window on Activate() (33ebe65)
  • android: PointerRoutedEventArgs.GestureEventsAlreadyRaised was reset while bubbling events up (864e00f)
  • android: Restore inheritance workaround for android (0222291)
  • Apply x:Bind expressions in Resources (5529e7b)
  • assets: Adjust project transitive output path (983b96d)
  • Avoid duplicate slash in AssetsPathBuilder (e5db20c)
  • Avoid handler leak on layout instance (f647e4c)
  • Avoid MUX vs WUX type clashes (2143af3)
  • Avoid subscribing to touch scroll events twice (546946c)
  • change how we handle the keyboard (5b7c0fc)
  • ci for macOS (d1ca282)
  • codegen: markup-ext improper cast for nullable value-type dp (0ab2847)
  • Correcly await async RunOnUIThread calls (7866edc)
  • DeferLoadStrategy should work even if no visibility is set (6c198eb)
  • Define the working directory for add-in discovery (922f095)
  • Deprecated iOS Launcher methods (73c27f8)
  • Do not output PopupPan...
Read more

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