Releases: unoplatform/uno
6.4.195
What's Changed
- chore: Update external docs commit hashes to latest by @Copilot in #21953
- fix: Fix cannot HR app with project dependency with code and rider (backport #21921) by @mergify[bot] in #21959
- Revert "fix: Fix cannot HR app with project dependency with code and rider (backport #21921)" by @kazo0 in #21967
- docs: vs and dotnet 10 updates (backport #21936) by @mergify[bot] in #21981
- docs: update into page to add Uno platform studio (backport #21937) by @mergify[bot] in #21980
- docs: Enhance ios memory profiling (backport #21988) by @mergify[bot] in #21993
Full Changelog: 6.4.185...6.4.195
6.4.185
This new release is a service update part of Uno Platform 6.4 — read our blog on the previous 6.4 release for more details.
What's Changed
- docs: Format folder names in hotswap app language guide (backport #21861) by @mergify[bot] in #21866
- feat: Auto-generate table of contents in llms.txt from toc.yml (backport #21844) by @mergify[bot] in #21880
- feat: Add FromJson markup extension (backport #21875) by @mergify[bot] in #21884
- Misc MCP docs adjustments (backport #21882) by @mergify[bot] in #21896
- docs: Adjust uno vscode init doc (backport #21872) by @mergify[bot] in #21901
- Improves XAML code gen (Error reporting + HR) (backport #21867) by @mergify[bot] in #21900
- Doc XAML gen error handling (backport #21846) by @mergify[bot] in #21892
- chore: adjust flaky test When_Add_Remove (backport #21879) by @mergify[bot] in #21902
- Fix typos (backport #21088) by @mergify[bot] in #21905
- fix: Fix possible invalid encoding when HR with VS (backport #21914) by @mergify[bot] in #21915
Full Changelog: 6.4.133...6.4.185
6.4.133
This new release is a service update part of Uno Platform 6.4 — read our blog on the previous 6.4 release for more details.
What's Changed
- fix(xamlreader): Accept valid toplevel properties and positional binding parameters (backport #21784) by @mergify[bot] in #21836
- docs: Updated getting started and studio overview articles (backport #21828) by @mergify[bot] in #21848
- feat: Enable partial code gen with invalid XAML (backport #21834) by @mergify[bot] in #21845
- docs: Update external documentation with latest updates (backport #21850) by @mergify[bot] in #21852
- feat: Enable partial code gen with invalid XAML - Lvl 2 (backport #21837) by @mergify[bot] in #21851
- fix: Make sure to not show temp files in HRI when doing HR with agent (backport #21829) by @mergify[bot] in #21853
Full Changelog: 6.4.106...6.4.133
6.4.106
This new release is a service update part of Uno Platform 6.4 — read our blog on the previous 6.4 release for more details.
What's Changed
- docs: Fix invalid path (backport #21795) by @mergify[bot] in #21796
- docs: Restore troubleshoot content + fix assets link (backport #21797) by @mergify[bot] in #21798
- docs: Misc docs adjustments (backport #21779) by @mergify[bot] in #21801
- docs: Add UDEI screenshots for code and rider (backport #21800) by @mergify[bot] in #21805
- fix(docs): Fix Markdown validation (backport #21808) by @mergify[bot] in #21811
- docs: Add package upgrade guidance (backport #21806) by @mergify[bot] in #21812
- revert(docs): undo PRs #21808 and #21800 (UDEI screenshots + markdownfixes) (backport #21815) by @mergify[bot] in #21816
- UDEI doc (backport #21821) by @mergify[bot] in #21822
- chore: Bump to .NET 10 RTM (backport #21803) by @mergify[bot] in #21827
- docs: Bump uno.check docs (backport #21826) by @mergify[bot] in #21830
- fix: Adjust DllImportResolver for net10 compatibility (backport #21809) by @mergify[bot] in #21813
- chore: Rename 'AI MCPs' to 'Uno MCPs' in toc.yml (backport #21824) by @mergify[bot] in #21825
- docs: update licensing (backport #21814) by @mergify[bot] in #21832
- fix(mcp): Adjust for no tools_update notification on claude/codex (backport #21820) by @mergify[bot] in #21831
Full Changelog: 6.4.43...6.4.106
6.4.43
Uno Platform 6.4 is designed to help you build faster and smarter.
It lands Day-0 support for .NET 10 and Visual Studio 2026 and provides a backbone for AI-assisted development in Uno Platform Studio 2.0.
In addition, there are tons of new improvements in 6.4. You’ll notice it immediately: the Uno Platform Status indicator that surfaces environment health inside your IDE, Skia rendering tuned for steadier, display-synced frame pacing with lower rendering overhead, Win32 windowing enhancements for polished desktop chrome, and WebView2 reliability improvements for hybrid UI.
Most importantly, Uno Platform and Uno Platform Studio now enable agentic development. In this blog we’ll address the main news on Uno Platform itself while the AI news are covered in great depth at Uno Platform Studio 2.0 announcement post.
Note
- Please refer to the migration guide when upgrading to Uno Platform 6.4.
Read more on our blog post!
Here's the full change log:
Bug Fixes
DragViewpositioning (54d140d)SystemFocusVisualrender transform (c4ec9be)- Add detailed logging for WebSocket connection reset errors in dev server and client paths (9e69ed1)
- Add missing [JSExport] attribute to Accelerometer.DispatchReading method (e61cfd2)
- Add missing
PointerDeviceType.Touchpad(4884b75) - Add missing GUID in .slnx (f972435)
- Add missing persistence method for UIKit/Android (a8a0ca2)
- Add padding on Window chrome when window is maximized (f0b06d8)
- Address review feedback - add sample to projitems, remove accidentally committed file, make method internal (08649e6)
- Adjust devserver options (61e4a12)
- Adjust devserver startup (78c894c)
- Adjust net10 private dependencies (a5c00b0)
- Allow extending into titlebar on startup (e622590)
- allow picking executables and files without extensions in Linux file picker (4416d94)
- Allow snap layouts menu on maximize button (467f2c3)
- Android allow reopening app after activity is backgrounded (c830bac)
- app-launch: Dispose of
_scavengeTimerto prevent resource leaks inApplicationLaunchMonitor(cc11a72) - app-launch: Enforce Debug configuration for UnoNotifyAppLaunch target and improve error messaging (60e4e53)
- app-launch: Ensure interception only occurs for debug builds in
VsAppLaunchIdeBridge(a9ef47d) - app-launch: Make IsDebug optional and default to false instead of required (e58847c)
- app-launch: Rename MSBuild task properties for consistent Uno-prefixed naming (b626a6d)
- app-launch: Update endpoint to use encoded paths and align with new route format (a239cd2)
- app-launch: Update telemetry event properties for clarity and consistency (3d89e97)
- Apply extension on show (58207dd)
- Avoid invalid binding in
ComoBox(70e56e1) - Avoid invalid binding in
FlyoutBase(3b05fc4) - Avoid invalid style references for
XamlDefaultProgressBar(bf95068) - Avoid modifying the native clip on non-UI thread (371d2a7)
- Avoid recreating Android native UI on application backgrounding (b120648)
- Avoid unsetting icon (4973b8d)
- Cache and filter events from native element host to ensure mouse events make it (20af63b)
- CompositionTarget: use the latest XamlRoot bounds for drawing instead of the bounds from the last Render call (1d11997)
- Correct namespace for TextBlock_ClipboardMethods files (ff8e3e8)
- Correcting handling of directories for net9 / 10 (2126ba8)
- Correctly adjust viewport dimensions for snap points (8a32f3c)
- Correctly calculate dragging regions position (230b6e7)
- Correctly extract display point (068684a)
- Correctly handle key events in
SwipeControl(38c1b5d) - Correctly position bottom and right items (153ccad)
- devserver: Adjust for delayed starting (ff019ab)
- do not throw when setting RenderPhase property (ee50933)
- Don't generate HR workaround on using with aliases (01565fb)
- Ensure
TextBlock.Textcan be set viaStyle(b9ec415) - Ensure default foreground brush is correctly initialized (cb8117f)
- ensure GetCustomMarkupExtensionValue checks for nested extensions. (396cc40)
- Ensure runtime selector uses net10 binaries (a320b0a)
- Ensure top edge resizability (0002f3a)
- first frame white flash (eb7aa13)
- Fix invalid depdencies for IDE channel (fe5172e)
- Fix invalid update from net9 to net10 (10ac374)
- Fix optional UEDI for backward compat (0cc5d41)
- Fix possible invalid error message (6f81602)
- Headings for
SKandGLCanvasElement(38bd287) - Improve error reporting from the XamlReader (9383dfa)
- Incorrect
TabViewlistview event (0d6234b) - Keep active visual state if no trigger is activated (65bf335)
- logging: Ensure consistent naming for binlog files and remove redundant build log argument (3fd4550)
- logging: Include assembly file name in error message f...
6.3.62
With over 128 issues closed, Uno Platform 6.3 continues to raise the bar for cross-platform .NET development. This release aligns with Microsoft’s latest tooling while polishing the features you use every day and pushing Hot Design further as the only visual designer for cross-platform .NET applications.
Uno Platform 6.3 highlights:
- .NET 10 Preview support – Test drive Microsoft’s latest SDK and runtime today.
- Visual Studio 2026 ready – Full support for the new .slnx format and side-by-side compatibility with VS 2022
- WebAssembly breakthrough – Image decoding moved to WebWorkers means your galleries finally scroll smoothly
- TabView refined – The reliability LOB apps demand, with new sizing modes and non-closable tabs
- Hot Design productivity – Search the elements tree instantly, toggle visibility to hide design-time clutter
Note
- Please refer to the migration guide when upgrading to Uno Platform 6.3.
- .NET 9 remains the stable target for production apps. .NET 10 support is currently in RC and should only be used for testing and evaluation. For an up-to-date list of known issues when using .NET 10 with Uno Platform, please refer to our Health Status page.
- Extensions and plugins for all supported IDEs have been updated with important fixes. Make sure you’re on the latest version to stay compatible and keep your workflow productive with Uno Platform. Here are the related links: Visual Studio, Rider, VS Code.
Read more on our blog post!
Here's the full change log:
Features
- Add a top layer for input handling on iOS (eed794f)
- Add BannerHelper for formatted console output (8743ff0)
- Add comprehensive runtime tests for PasswordBox.PasswordChar visual validation (89d736e)
- Add contract for messages used by UDEI (73b7101)
- Add platform condition attributes to all PasswordBox runtime tests (d6b676d)
- Add support for ManipualtionMode=None (d72aee1)
- Add support for ProviderFromPeer (a4aa4d5)
- Add support for the VSIX channel (8173252)
- Allow zooming keyboard shortcut on WASM (23d8d55)
- Avoid listening to status bar changes when not needed (bf70fa8)
- Implement
MoveSizeOperation(1aa8ef5) - Implement missing args (feea8c3)
- Implement PasswordBox.PasswordChar support for Skia (881c325)
- Improved error reporting on server-side initialization error (b6a9127)
- macOS: Expose UseMetalOnMacOS feature (3e538e4)
- Refactor HR init (add missing files) (cb9f3d9)
- Set tree render dirty on rasterization scale change (794d1e6)
- Shared
SKPicturerecording (ac367bc) - Split rendering on iOS (f39ca45)
- Switch to Svg.Skia (d6a2d8e)
- TabView upgrade to latest MUX sources (3b03370)
- udei: Adjust namespace (16be0ed)
- udei: Forward UDEI messages to VSIX + dev-server connection back timeout detection (b6d5b5a)
- udei: Make dev-server send UDEI notifications (f02ca3c)
- udei: Update contract (8e17f0b)
- Update
RatingControlstyles to winui3/release/1.7.3 (0b08ef6) - Update
RatingControlto winui3/release/1.7.3 (9452e07) - Update
TabViewstyles (92954da) - Update
TabViewstyles to 1.8 (f9ed2c5) - Use shared
SKPicturerecording on macOS (3317c78) - Use shared
SKPicturerecording on WASM (c03a12d) TabViewdrag & drop improvements (3f3a890)- udei: Add dev-server component messages in UDEI (6381d24)
- Update to .NET 10 Preview 7 (52a6f3e)
Performance Improvements
- allow rendering to proceed even if the UI tree is not fully laid out (bae9374)
- avoid ContinueWith in ImageSource.Open (5a3f492)
- images: load images in a web worker on wasm (8028488)
- only allocate routerArgs when it will be used (9efde6e)
- reduce sk_canvas_set_matrix calls (32889c2)
- visual: avoid SKPath creation for clipping when possible (2c4eb8c)
Bug Fixes
RemotControl.Servershould not requirenet10when targetingnet9(e662562)- Add detailed logging for WebSocket connection reset errors in dev server and client paths (098bed6)
- Address review feedback - add sample to projitems, remove accidentally committed file, make method internal (cdbe9ae)
- Adjust incorrect visual state condition (8463834)
- Adjust relative URI to ms-appx (4825d99)
- Avoid crash when iOS app is backgrounded (d5a1f50)
- Avoid exception in
ImageSourceimplicit converter (5fa3760) - Avoid invalid sizing of
TabView(a43bda8) - Call PrepareContainerForIndex for all items on Android (cfa4dcb)
- CI for missing window icon extension (2310208)
- Correct
CornerRadiustheme resources (734fbbb) - Correcting handling of directories for net9 / 10 (e869791)
- Correctly enqueue the invalidation (29049e1)
- Correctly pass-through input from native overlay layer (ab27ede)
- Drag UI is incorrectly scaled (3ef4bcf)
- Enhance error message for StorageFolder use in ApplicationData ([fc471fc](https://github.com/unoplatform/uno/c...
6.2.87
This new release is a service update part of Uno Platform 6.2 — read our blog on the previous 6.2 release for more details.
What's Changed
- docs: Add directions on creating a single-file desktop publish (backport #21294) by @mergify[bot] in #21315
- chore: Add Android emulator setup docs for Rider (backport #21274) by @mergify[bot] in #21330
- chore: add emulator troubleshooting docs (backport #21290) by @mergify[bot] in #21331
- docs: Update migration documentation for 6.2 Release (backport #21333) by @mergify[bot] in #21334
- docs: Update documentation to latest (backport #21332) by @mergify[bot] in #21340
- docs: Adjust the VS Getting Started Wizard Page (backport #21361) by @mergify[bot] in #21373
- fix(skia): TextBlock RenderTransform and FlowDirection issues (backport #21257) by @mergify[bot] in #21282
Full Changelog: 6.2.58...6.2.87
6.2.58
It’s only been five weeks since 6.1, and we’re already back with Uno Platform 6.2.
That’s the cadence we’re aiming for: focused releases that solve real issues you’ve flagged.
This cycle closes nearly 100 issues raised by the community and enterprise teams, and brings another round of improvements to Hot Design. The result: smoother workflows, faster iteration, better reliability across all platforms.
Read more on our blog post!
Here's the full change log:
Features
- Allow zooming keyboard shortcut on WASM (cafef83)
- Constrain full popup placement by visible bounds (ceefd29)
- desktop: Trim rare Skia build variants by default (439370e)
- enhance devserver testing infrastructure and implement lifecycle telemetry (a8e10e2)
- Ensure
PagerControlis up to date (9f699e0) - hotreload-telemetry: Add server-side Hot Reload telemetry measurements and documentation (8562818)
- implement centralized telemetry anonymization with MD5 hashing (5f648b9)
- implement CTRL-C via stdin for graceful devserver shutdown (2ba2eab)
- Move
VisibleBoundstoVisualTreeas the source of truth (363ae0b) - Set tree render dirty on rasterization scale change (6d2e551)
- Shared
SKPicturerecording (93eddfe) - Split rendering on iOS (0b91683)
- Support for
Vector2andVector3conversion inXamlLoader(e3d97f5) - Support for
Vector2conversion in XAML source generator (79d5a4a) - Support gitpod on RemoteControlClient with WASM Skia (6a6d270)
- telemetry: add EventsPrefix support to FileTelemetry and propagate from ServiceCollectionExtensions (074e50c)
- telemetry: Added a graceful shutdown when parent process dies (c0712b0)
- telemetry: implement server-side telemetry logging - add-in discovery, loading, and processor discovery with comprehensive error handling and timing measurements (9e78bd9)
- telemetry: implement telemetry for hot reload events (66fc8f9)
- test: add DevServer test infrastructure with telemetry redirection support (1a3c659)
- ui-tests: Added console output detail to nunit file format (d8422a0)
- Unify the methods generation (517696e)
- Use shared
SKPicturerecording on macOS (bff04cd) - Use shared
SKPicturerecording on WASM (17deaa4)
Performance Improvements
- image: simplify all logic to just use Linear samplers when both upscaling and downscaling and remove mipmapping (a18e210)
- images: reduce the impact of using Catmull-Rom filters to upscale images (d506af2)
- migrate duration measurements from DateTime to Stopwatch API (f132757)
Bug Fixes
PageStackEntrydescriptor handling (9291fab)RenderTransformOriginshould not overrideCenterPoint(7af1bf5)- Add Android.OS import in ApplicationLanguages (0891ff4)
- Adjust check for https in RemoteControlClient (a316e1e)
- Adjust incorrect visual state condition (c4ad5e1)
- Adjust new conditional tests (0334527)
- applicationview: ApplicationView has outdated VisibleBounds values when XamlRoot.Bounds changes (c210386)
- Avoid index adjusting logic in ItemsControl (aa4f05f)
- avoid race to call some API before NSApplication is running (b38057f)
- Avoid syncing default theme on load (ea71e06)
- Avoid using indexes for naming methods and calsses in code to imporve HR support (74d83c3)
- Avoid white borders for HDPI screens (4cbec7a)
- Call
OnItemsSourceSingleCollectionChangedbeforeOnItemsChanged(f49563c) - combobox: do not refresh the virtualized panel every time the drop down menu is opened (238f468)
- Correctly enqueue the invalidation (9dddda9)
- Correctly set
shouldShowOverflowButton(b8882c0) - DevServer: Remove BuildServiceProvider anti-pattern in AddInsExtensions (b014816)
- Disable flaky tests (45622b3)
- Disable new templated parent support (enabled by new code gen, but which fails tests like When_RadioButtons_TemplateBinding) (f560275)
- Do not dispose
CompositeDisposable(3cb19ed) - Ensure osx-x64 runtime pack is restored (00e12c2)
- Ensure scale is updated along with window size (a284ca5)
- Ensure the test waits properly (91a4d41)
- Explicitly unhook old
SelectionNodechildren (d8b1f80) - Fix DataTemplate not reloading (7b2ecd9)
- Fix direct access to name subject (ef72151)
- Fix double generation of resources init (03b86bd)
- Fix invalid double increment (6dab4ef)
- Fix OOO in roslyn (2719f71)
- Fix possible duplicated class name for event handlers (bc6d029)
- Fix possible name clash for event handlers (6801f30)
- Further adjustments to container/index logic (cceec84)
- Further flakiness (0e2c85c)
- hr: Do not report error if known to not be problematic ([70ce1df](70ce1dfc26480c8e791df...
6.1.34
Two months ago, we launched our most monumental release yet: Uno Platform 6.0. It introduced a unified Skia rendering engine for Uno Platform across all target platforms and officially declared our premium tooling, Uno Platform Studio, as generally available. Together, they streamline your .NET development, allowing you to build cross-platform .NET apps in record time.
Two months may seem like a long time (and yes, we took a bit of a breather after our 6.0 release), but even during that time, our team and community still managed to finalize over 300 pull requests, refining previous releases and adding new features.
Read more on our blog post!
Here's the full change log:
Features
- Add
__DESKTOP__constant (f64ab72) - Add
.desktop.cssuffix support (de5f220) - Add
MediaPlayerElementUno Feature as alias toMediaElement(9023f7f) - Add ability to have multiple direct-manipulation active in parallel (a058781)
- Add Cookie handling support to WASM runtime (ea10cc9)
- Add File System Access API support check to WASM (1174953)
- Add host builder support to WebAssembly (2de67e3)
- Add hosting support to Apple UIKit (bcf25dd)
- add runtime tests (c341757)
- Add SKCanvas Uno Feature (df51ad6)
- Add support for InputMode and EnterKeyHint on WASM (e9eed2d)
- Add three-state theme switcher (b6562b5)
- Add WebView UnoFeature for parsing (3dd1181)
- Adjust
DragViewtemplate to match tooltip design (db36453) - Adjust SkiaSharp preview references (35d56b6)
- Allow customizing UIApplicationDelegate (635288e)
- allow debugging in HR (mono runtime) (29296d8)
- Allow delaying the splash screen dismiss until Window content is loaded (0e20b59)
- Automatically include WebView2 Windows with the WebView feature (6cd42dc)
- Bump compilers version (1262c40)
- CommandBarFlyout (e0d3bd6)
- CommandBarFlyoutCommandBar (442290d)
- CommandBarFlyoutCommandBarAutomationProperties (e8b79b2)
- CommandBarFlyoutCommandBarTemplateSettings (16716da)
- Correctly reference Graphics2DSK (9a2bcb5)
- devSrv: Make VS also use csproj.user file for dev-server port config/discovery (d094b7b)
- fps indicator (0b42690)
- gestures: Improve gesture recognition by using an history of pointer points (1d6d5a0)
- Improve the focus/scroll interaction in
ScrollViewer(a7f31df) - Include resizetizer on Samples app Desktop (bfcecd7)
- Lower logging level of "pointer already being processed" (babc504)
- Make the composition timer configurable (+ code cleanup) (39bfee3)
- Mark legacy
FocusManagermethods asObsoleteand non-editor browsable (87881ab) - perf: Improve computation of UIElement transform matrix (9958d8d)
- Persist FPS indicator visibility setting (19af1c7)
- Port AppBarButtonHelpers from winui3/release/1.6.4 (ae680e0)
- Propagate
PopupZIndextoPopupPanel(076fedb) - PropertyPath port (9628bb6)
- Render sync'ed inertia processor (d5d7008)
- Samples app should match OS theme by default (e00e819)
- scrolling: Customize scrolling inertia per OS (c059002)
- scrolling: Fine-tune touch scrolling inertia deceleration (d50b089)
- skia: collapse visual subtrees into one SKPicture when the subtree doesn't change for a bit (c95db1a)
- Start font preloading early on all platforms (dbcd3b4)
- Support for
FlyoutShowOptions.ShowMode(8d8408a) - Support for InputReturnType on UIKit (055139d)
- Support InputReturnType on Android (04a767c)
- Support InputReturnType on native (7132863)
- TextBox: Support for EnterKeyHint on WebAssembly (ee977ab)
- TextCommandBarFlyout (4c78606)
- Update AcrylicBrush resources (c7383e5)
- Update app bar button automation peers to winui3/release/1.6.4 (b0f9d99)
- Update AppBarButton styles (48d7faf)
- Update AppBarButton to winui3/release/1.6.4 (2c8ef67)
- Update AppBarSeparator to winui3/release/1.6.4 (52d2369)
- Update AppBarToggleButton to winui3/release/1.6.4 (a5c9343)
- Update NumberBox helpers to winui3/release/1.7.1 (86dfa45)
- Update NumberBox styles to latest (43d8b9e)
- Update NumberBox to winui3/release/1.7.1 (8ba0400)
- Update references to HarfBuzzSharp (0da1a84)
- Update SkiaSharp and HarfbuzzSharp to stable (8abed42)
- Update WinUI extracted resources (a03bb3b)
- Use app builder for WebAssembly (0814794)
- Use host builder on UIKit (aa18418)
- Use proper WinUI string resources for
StandardUICommand([22a2874](https:/...
6.0.797
What's Changed
- docs: mention net9 limitation for MSAL WASM (backport #20755) by @mergify in #20763
- docs(nativeelementhosting): mention the infinite measuring bounds edge case (backport #20683) by @mergify in #20768
- docs: remove initializelogging calls from suggested migration code (backport #20730) by @mergify in #20785
- chore: add maui skia runtime package to sdk (backport #20767) by @mergify in #20787
- fix: remove privateassets="all" from mauiembedding bits (backport #20797) by @mergify in #20800
Full Changelog: 6.0.780...6.0.797