VirtualText 2.0.0 beta for Optimizely CMS 13 previews

Posted on Thursday, March 26, 2026

DavidHome.Optimizely.VirtualText 2.0.0 has been released as beta for Optimizely CMS 13 previews.

This is a major technical release. The focus is compatibility with CMS 13 previews, updated routing behavior, and alignment with Optimizely's newer application and shell APIs.

What changed

VirtualText now relies more on Optimizely's application model and less on older site-definition-based assumptions. Internally, that means updated routing, start page resolution, and site context handling through APIs such as IApplicationRepositoryIApplicationResolver, and IRoutableApplication.

I also added ApplicationEventsSubscriber so partial routers are registered from application lifecycle events, and refactored several code paths from PageReference to ContentReference.

On the UI side, the plugin and RobotsTxt extension layouts were updated to use the newer Optimizely shell resources and components.

Breaking changes

2.0.0 beta is for CMS 13 previews only. If your solution is on CMS 12, stay on the previous VirtualText line.

If you have custom code around SiteDefinition.CurrentISiteDefinitionRepository, site-based routing assumptions, or overridden plugin views, review that code before upgrading.

If you run a multi-site solution, validate routing behavior explicitly after the upgrade. Router registration now follows the application lifecycle.

You should also expect small adjustments if your own code mirrors older PageReference-based assumptions.

Who should upgrade

This beta is for teams already working with Optimizely CMS 13 previews and willing to validate a major-version upgrade.

If that is your target, this is the version to evaluate. If not, stay on the current stable line.

Happy coding!