diff --git a/build/cSpell.json b/build/cSpell.json index 7b39a1c0b17d..b93032229ee6 100644 --- a/build/cSpell.json +++ b/build/cSpell.json @@ -124,6 +124,7 @@ "Authenticode", "automagically", "bluetoothdevice", + "browserwasm", "commandbar", "CLSID", "datatransfer", diff --git a/doc/articles/features/image.md b/doc/articles/features/image.md index 17e8b2a4b979..db6a1aa8ce94 100644 --- a/doc/articles/features/image.md +++ b/doc/articles/features/image.md @@ -39,3 +39,17 @@ MyImage.UriSource = new BitmapImage { UriSource = new($"ms-appdata:///local/imag > [!IMPORTANT] > When using WinAppSDK Unpackaged mode, `ms-appdata:///` is not supported on `Image`. In this case, you can use [`BitmapImage.SetSourceAsync`](https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.media.imaging.bitmapsource.setsourceasync) to set the image programmatically. + +## Gif Support + +Displaying animated GIFs is supported on: + +- netX.0-desktop (5.4 and later) +- netX.0-windows +- netX.0-browserwasm + +Unsupported targets, where only the first frame is shown, as of Uno Platform 5.4: + +- netX.0-ios +- netX.0-android +- netX.0-maccatalyst diff --git a/doc/articles/features/windows-ui-markup-extensions.md b/doc/articles/features/windows-ui-markup-extensions.md index da4ebdbab6cc..da1e7d762e9c 100644 --- a/doc/articles/features/windows-ui-markup-extensions.md +++ b/doc/articles/features/windows-ui-markup-extensions.md @@ -80,7 +80,45 @@ This class can be used as follows in the XAML: ### IRootObjectProvider -Not supported as of Uno 4.3 +With access to IRootObjectProvider becomes possible for a Markup extension to browse the visual tree, starting from the root of the XAML file. + +This following example [from the WinUI specifications](https://github.com/microsoft/microsoft-ui-xaml-specs/blob/34b14114af141ceb843413bedb85705c9a2e9204/active/XamlServiceProvider/XamlServiceProviderApi.md#irootobjectprovider) give a glimpse of this feature. + +Using the following XAML: + +```csharp +public class DynamicBindExtension : MarkupExtension +{ + public DynamicBindExtension(string propertyName) + { + _propertyName = propertyName; + } + string _propertyName; + + public override object ProvideValue(IXamlServiceProvider serviceProvider) + { + var root = ((IRootObjectProvider)serviceProvider.GetService(typeof(IRootObjectProvider))).RootObject; + var info = root.GetType().GetProperty(_propertyName); + return info.GetValue(root); + } +} +``` + +The following XAML will display β€œPage Tag”: + +```xml + + + + + + +``` ### IUriContext diff --git a/doc/articles/features/working-with-xaml-hot-reload.md b/doc/articles/features/working-with-xaml-hot-reload.md index e3ae2537399a..3e3a70b44c5c 100644 --- a/doc/articles/features/working-with-xaml-hot-reload.md +++ b/doc/articles/features/working-with-xaml-hot-reload.md @@ -103,7 +103,7 @@ Hot Reload features vary between platforms and IDE, you can check below the list WinAppSDK - βœ…πŸžβœ…πŸž + βœ…[5]πŸžβœ…πŸž πŸ”³πŸ”³ πŸ”³πŸ”³ @@ -243,6 +243,7 @@ Legend: - [2]: Support is [not available](https://youtrack.jetbrains.com/issue/RIDER-53302/launchSettings.json-WSL2-command-support). - [3]: C# Hot Reload is affected by a [.NET Runtime issue](https://github.com/dotnet/android/issues/9120). - [4]: XAML Hot Reload is using the XAML Reader, [pending C# Hot Reload update](https://github.com/unoplatform/uno/issues/15918) and a [VS/VS Code update](https://developercommunity.visualstudio.com/t/net70-iosnet70-android-MetadataUpd/10279604). +- [5]: C# Markup Hot Reload is supported when running in Unpackaged mode only ## Supported features per Platform diff --git a/doc/articles/migrating-from-previous-releases.md b/doc/articles/migrating-from-previous-releases.md index faa348a0bf23..e91bd7957b30 100644 --- a/doc/articles/migrating-from-previous-releases.md +++ b/doc/articles/migrating-from-previous-releases.md @@ -6,6 +6,33 @@ uid: Uno.Development.MigratingFromPreviousReleases This article details the migration steps required to migrate from one version to the next when breaking changes are being introduced. +## Uno Platform 5.4 + +Uno Platform 5.4 contains breaking changes for Uno.Extensions. + +## WinAppSDK 1.6 considerations + +Uno Platform 5.4 updates to WinAppSDK 1.6 if you using the [`Uno.SDK`](xref:Uno.Features.Uno.Sdk), which requires a temporary version adjustment until newer versions of the .NET 8 SDKs are released. + +In your project, you may need to add the following lines (or uncomment them if you kept them from our templates) to get the `net8.0-windowsXX` target to build: + +```xml + + + 10.0.19041.38 + +``` + +### UWP Support for Uno.Extensions + +The [`Uno.Extensions`](https://aka.platform.uno/uno-extensions) compatibility with legacy UWP apps has been removed. If your app is UWP-based and uses Uno.Extensions, in order to migrate to Uno Platform 5.4, you can keep using [previous releases of Uno.Extensions](https://github.com/unoplatform/uno.extensions/releases), or [migrate your app to WinUI](https://platform.uno/docs/articles/updating-to-winui3.html). + +All the other features of Uno Platform 5.4 continue to be compatible with both UWP and WinUI apps. + +### Updates in Uno.Extensions.Reactive + +The generated code has changed. Make sure to [review our docs to upgrade](xuid:Uno.Extensions.Reactive.Upgrading) to Uno Platform 5.4. + ## Uno Platform 5.3 Uno Platform 5.3 contains an improved template and Uno.SDK versioning, new default text font, and Rider support. diff --git a/doc/import_external_docs.ps1 b/doc/import_external_docs.ps1 index f0726dd0d753..2f64dbcc98ba 100644 --- a/doc/import_external_docs.ps1 +++ b/doc/import_external_docs.ps1 @@ -7,17 +7,17 @@ Set-PSDebug -Trace 1 $external_docs = @{ # use either commit, or branch name to use its latest commit - "uno.wasm.bootstrap" = "6a034bdd23a8be6882b0d05e8b017e49f655e89d" #latest main commit - "uno.themes" = "38d6bf005a2637f77bb052d92be88ac567479811" #latest release branch commit - "uno.toolkit.ui" = "27c6e65094a8e9a53e6a4f33b846f4d98c118fc4" #latest release branch commit - "uno.check" = "27a06fd34c4744d07d48249daae1bcdf21a8a005" #latest main commit - "uno.xamlmerge.task" = "21f02c98702b875a9942047ca042e41810b6fe56" #latest main commit + "uno.wasm.bootstrap" = "abcb066159e3a089019032fbd4befda836336296" #latest release/stable/8.0 branch commit + "uno.themes" = "1da7240824a1bc5ddaf5efc1ed6e22ea5a41abd9" #latest release/stable/5.2 branch commit + "uno.toolkit.ui" = "a79e83cb260c17f59be6a843ce90038cb2479a61" #latest release/stable/6.2 branch commit + "uno.check" = "27e686d9205654375fd2c7861c3ebe5f2ad69e93" #latest main commit + "uno.xamlmerge.task" = "74c832124dad9a979f8d6318b6c18be1125467e5" #latest main commit "figma-docs" = "842a2792282b88586a337381b2b3786e779973b4" #latest main commit - "uno.resizetizer" = "dce3eabef076e37b38fe058b427eb84f1d19b881" #latest main commit + "uno.resizetizer" = "b17e1d54f4375f79da24ae5eaaf3f738851786eb" #latest main commit "uno.uitest" = "9669fd2783187d06c36dd6a717c1b9f08d1fa29c" #latest master commit - "uno.extensions" = "3cdb9fc1dba989986413b563fdaaf07bd88c31f1" #latest release branch commit - "workshops" = "df05737f9e3088a4e60179f6fa2cd2fc6866d2c7" #latest master commit - "uno.samples" = "d30313f954c312563a118196b734a534718eceb9" #latest master commit + "uno.extensions" = "f2871cf4aa93bce96d8a19ede2b1417776589093" #latest release/stable/5.0 branch commit + "workshops" = "e3c2a11a588b184d8cd3a6f88813e5615cca891d" #latest master commit + "uno.samples" = "cf96230ed902e18335411683cb07321eae125df2" #latest master commit } $uno_git_url = "https://github.com/unoplatform/"