In these days I’ve received some messages from partners (and I saw on forums opened questions too) that signal that, during the upgrade to 15.4 release of a SaaS tenant, some custom extensions deployed on sandboxes are unpublished. Is this a problem or a bug in the Microsoft’s upgrade process for the SaaS tenant? NO! This is not a bug!
As I said many times on this blog (just search for the word “sandbox” here), the sandbox environment is something different compared to the production environment. A sandbox environment is an environment created for developing or testing or training. This is not a real clone of the production environment under the hoods.
Said that, as you know, on a production environment you can deploy per-tenant extensions only via the Extension Management page, while on a sandbox environment you can also deploy directly by using Visual Studio Code. And this is the cause of the unpublishing of extensions.
As I wrote in the past, when you publish an app to to a sandbox environment from Visual Studio Code (per-tenant extension or PTE), this app is published with a local scope (scope of the service node that hosts the sandbox environment). An app published on a production environment is instead published with a global scope. What happens when Microsoft upgrades your sandbox from Dynamics 365 Business Central version X to version Y? This is not a common platform upgrade, but the entire environment is moved on another node where the new version Y is running. For this, all your installed PTEs are unpublished and you need to publish them again on the newly upgraded environment (obviously, you don’t loose data if you maintain the same extension’s ID).
This is exactly what happened to many partners in the opened ticket I’ve received. So, be aware of this and act accordingly.
If your customer is actively working on a sandbox environment (I see many customers that are using the sandbox for testing features, creating financials simulations, training employees) remember also that a sandbox environment has not an automatic backup policy in place by Microsoft (it’s not backed up with your production tenant). If you have customer’s sensitive data in a sandbox because your customer is doing simulations or trainings, you can evaluate if it’s better for you to create a secondary production environment instead of using a sandbox.