The process of building custom applications and tools that interact with Microsoft SharePoint, including SharePoint Online in Microsoft 365.
Hello Shaun, thank you for reaching out to the Q&A Forum.
I completely understand your concern regarding the upcoming retirement of the legacy public CDN domain and how it might impact your custom Global Navigation application.
Do you happen to have the .sppkg file for that app? If not, you can download it directly from your Tenant App Catalog here: https://[your-tenant-name].sharepoint.com/sites/appcatalog/_layouts/15/tenantAppCatalog.aspx/manageApps
Once you have the file:
- Rename the extension from .sppkg to .zip and extract everything into a new, empty folder.
- Open a code editor like Notepad++ or Visual Studio Code and use “Find in Files” to search the entire extracted folder for the legacy domain:
publiccdn.sharepointonline.com
According to provided link, the only change is the addition of a hyphen. Update every instance of publiccdn.sharepointonline.comto public-cdn.sharepointonline.com
You will find these references in the SPFx manifest JSON files (the files ending in .manifest.json; this is where the cdnBasePath value is baked in after packaging).
The full URLs usually look like this: https://publiccdn.sharepointonline.com/tenantname.sharepoint.com/sites/appcatalog/ClientSideAssets/...
(Only insert the hyphen, leave the rest of the path, tenant name, library, and file hashes exactly as they are.)
After making all the changes:
- Save the files.
- Go back to the extracted folder, select all files and folders inside it (do not select the parent folder itself), right-click, and compress them into a new .zip file.
- Rename the new .zip back to .sppkg.
Upload the modified .sppkg back to your SharePoint App Catalog. It will prompt you to replace the existing solution. Check the box to deploy/enable it tenant-wide.
Once deployed, your Global Navigation solution will point to the new CDN path and continue working after the legacy domain is retired on March 31, 2026.
If your search returns zero results for the old domain, the package does not have the legacy CDN hardcoded (it’s likely using a direct SharePoint library URL or automatic Microsoft hosting). In that case, no changes are needed, it will stay compatible automatically.
Hope this info is helpful. If you have any other questions, please don't hesitate to ask.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.