This release updates the rendering engine to GroupDocs.Viewer 26.8.0, which makes GroupDocs.Viewer.UI.SelfHost.Api cross-platform on Windows, Linux, and macOS. As a result the separate GroupDocs.Viewer.UI.SelfHost.Api.CrossPlatform package is no longer needed and is now deprecated.
⚠️ Read this before upgrading — PSD, PSB, AI, and ONE are not rendered in this version
GroupDocs.Viewer 26.8.0 splits the engine into per-TFM runtime packages. On .NET 6, 8, and 10 the UI resolves the cross-platform build, and that build does not include Photoshop, Illustrator, or OneNote support:
| Format | 26.4.0 | 26.8.0 |
|---|---|---|
.psd Adobe Photoshop Document |
✅ | ❌ not recognised |
.psb Photoshop Large Document |
✅ | ❌ not recognised |
.ai Adobe Illustrator |
✅ | ❌ not recognised |
.one OneNote Document |
✅ | ❌ not recognised |
These file types resolve as FileType.Unknown, so they fail at runtime rather than at build time — nothing in your code will stop compiling.
If your application renders any of these four formats, skip 26.8.0. Stay on 26.4.0 and wait for a later public release that restores them. There is no configuration switch or workaround in 26.8.0.
Everything else is unaffected. Word, Excel, PowerPoint, PDF, Visio, CAD, Project, email, archives, and image formats all continue to render — verified in this release for DOCX, XLSX, PPTX, PDF, TIFF, EML, ZIP, and password-protected documents.
🛠️ Changes
Rendering engine updated to GroupDocs.Viewer 26.8.0
GroupDocs.Viewer is now a TFM router that resolves a per-framework runtime package. Projects targeting net6.0, net8.0, or net10.0 resolve GroupDocs.Viewer.Net60, which ships the GroupDocs cross-platform native assets and SkiaSharp Linux assets.
You reference GroupDocs.Viewer.UI.SelfHost.Api exactly as before — the change is transparent. Do not reference GroupDocs.Viewer.Net60 directly; always go through GroupDocs.Viewer, which pins the runtime package to a matching version.
GroupDocs.Viewer.UI.SelfHost.Api is now cross-platform
Rendering goes through SkiaSharp and the GroupDocs cross-platform native assets instead of GDI+. The package now runs on Windows, Linux, and macOS from a single build.
If you were using GroupDocs.Viewer.UI.SelfHost.Api.CrossPlatform for Linux, switch to GroupDocs.Viewer.UI.SelfHost.Api — see the migration section below.
Docker images no longer require libgdiplus
GDI+ is no longer used for rendering, so libgdiplus is no longer needed anywhere.
If you build your own image around GroupDocs.Viewer.UI.SelfHost.Api, you can now delete this block — it was previously required on Linux and is not any more:
# No longer required as of 26.8.0
RUN apt update && apt install -y --no-install-recommends \
libgdiplus \
libc6-devIt has been removed from the sample Dockerfiles in this repository. The official groupdocs/viewer-net-ui image never installed it — it was already built on the cross-platform API — so that image is unchanged in this respect, and switching it to GroupDocs.Viewer.UI.SelfHost.Api cost nothing.
Fonts are still required. Keep installing fontconfig and the Microsoft Core Fonts — text will render with substituted fonts otherwise. See the Dockerfile for the current dependency list.
The System.Drawing.EnableUnixSupport runtime switch has also been removed from the samples; it no longer has any effect.
GroupDocs.Viewer.UI.SelfHost.Api.CrossPlatform is deprecated
Now that the standard package is cross-platform, the CrossPlatform variant is a duplicate of it and is being retired.
26.8.0 is its final release. It ships no assemblies — it forwards to GroupDocs.Viewer.UI.SelfHost.Api and emits build warning GDVUI0001. Existing code keeps compiling and running unchanged, because both packages expose the same namespaces, the same AddGroupDocsViewerSelfHostApi() entry point, and the same configuration API.
Dependency changes
-
The engine now requires
System.Text.Json10.0.4 or later. If you pinSystem.Text.Jsonto an 8.x version in a project that also referencesGroupDocs.Viewer.UI.SelfHost.Api, restore will fail with NU1605. Remove the pin or raise it to10.0.4. -
net6.0projects will see new build warnings.System.Text.Json 10.xand severalMicrosoft.Extensions.*andSystem.*packages no longer ship anet6.0asset, so they resolve theirnetstandard2.0build and each emits a warning like:warning : System.Text.Json 10.0.4 doesn't support net6.0 and has not been tested with it. Consider upgrading your TargetFramework to net8.0 or later.The build still succeeds and the tests pass on
net6.0. If the noise is a problem, set:<PropertyGroup Condition="'$(TargetFramework)' == 'net6.0'"> <SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings> </PropertyGroup>
.NET 6 reached end of life in November 2024. Moving to
net8.0or later removes the warnings and gives a smaller dependency graph. Projects onnet8.0ornet10.0are unaffected. -
GroupDocs.Viewer.Net6026.8.0 has a prerelease transitive dependency,Microsoft.Extensions.DataIngestion.Abstractions 10.4.0-preview.1.26160.2. Restore succeeds normally, but private feed mirrors or lockfile policies that reject prerelease packages may block it.
🔀 Migrating from GroupDocs.Viewer.UI.SelfHost.Api.CrossPlatform
Change the package reference. No code changes are required.
-<PackageReference Include="GroupDocs.Viewer.UI.SelfHost.Api.CrossPlatform" Version="26.4.0" />
+<PackageReference Include="GroupDocs.Viewer.UI.SelfHost.Api" Version="26.8.0" />Upgrade both packages together if you reference both. Leaving the CrossPlatform package on 26.4.0 while moving GroupDocs.Viewer.UI.SelfHost.Api to 26.8.0 fails the build, because the old package still ships its own copy of the extension methods:
error CS0121: The call is ambiguous between the following methods or properties:
'MvcBuilderExtensions.AddGroupDocsViewerSelfHostApi(IMvcBuilder, Action<Config>)' and
'MvcBuilderExtensions.AddGroupDocsViewerSelfHostApi(IMvcBuilder, Action<Config>)'
Once both are on 26.8.0 this goes away — the CrossPlatform package ships no assemblies, so there is nothing left to collide. That combination builds cleanly and only emits GDVUI0001.
To upgrade now and migrate later, take the 26.8.0 shim and silence the warning:
<NoWarn>GDVUI0001</NoWarn>📦 Packages
All GroupDocs.Viewer.UI packages are available on NuGet at version 26.8.0:
- GroupDocs.Viewer.UI
- GroupDocs.Viewer.UI.Api
- GroupDocs.Viewer.UI.Api.AwsS3.Storage
- GroupDocs.Viewer.UI.Api.AzureBlob.Storage
- GroupDocs.Viewer.UI.Api.Cloud.Storage
- GroupDocs.Viewer.UI.Api.Distributed.Cache
- GroupDocs.Viewer.UI.Api.InMemory.Cache
- GroupDocs.Viewer.UI.Api.Local.Cache
- GroupDocs.Viewer.UI.Api.Local.Storage
- GroupDocs.Viewer.UI.Cloud.Api
- GroupDocs.Viewer.UI.Core
- GroupDocs.Viewer.UI.SelfHost.Api
Deprecated, final release:
- GroupDocs.Viewer.UI.SelfHost.Api.CrossPlatform — use
GroupDocs.Viewer.UI.SelfHost.Apiinstead
Thank you for using GroupDocs.Viewer.UI! If you encounter any issues or have suggestions, please don't hesitate to provide feedback here on GitHub or at our Free Support Forum.