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/"