Overview
Virto Commerce is known for its rapid innovation and continuous development of new features. We offer three release channels: Stable, Edge, and Preview. Depending on your requirements and development cycle, you can choose the appropriate release strategy.
Stable Releases
Stable releases in the Stable channel have undergone rigorous testing, including full regressions, end-to-end (E2E) testing, and load testing. These releases are recommended for all users to ensure a smooth experience and take full advantage of the platform’s capabilities.
Every quarter, we publish a new Stable Release in the Stable Release Module Manifests on GitHub. To apply updates, you can use the Virto Commerce CLI in conjunction with the provided manifests.
If a bug is discovered, we release a hotfix for the two most recent stable releases. We recommend using the Stable channel for maintenance updates and new solution development.
Edge Releases
The Edge channel gives you the opportunity to be among the first to experience the latest updates, performance improvements, and new features with minimal risk. We publish Edge releases for different modules daily.
Information about Edge releases can be found on Virto Commerce GitHub and the Module Manifest. By default, the Virto Commerce CLI works with Edge releases.
If you want to stay up to date and access new features faster, we recommend using the Edge channel.
Preview Release
Preview releases in the Preview channel provide a glimpse of our current work. Although these releases may still contain some bugs, we want our community to be the first to explore what’s new.
Usually, we create a Preview release for pull requests (PR) or contributions, allowing us to verify implementation and align it in the early stages.
How to Install Stable Release
Virto Commerce CLI (vc-build) helps automate all installation and update processes. To install the Virto Commerce CLI, run the following command:
dotnet tool install -g VirtoCommerce.GlobalTool
To install a stable release, follow these steps:
- Create a clean folder for Virto Commerce. For example,
C:\vc-platform-stable
. - Run the following command to install modules from the latest bundle:
vc-build install -stable
- Run the following command to install modules from a bundle named 4:
vc-build install -stable -v "4"
When you run vc-build install
, the Virto Commerce CLI creates a default vc-package.json
file in the folder automatically.
How to Update to the Latest Stable Release
To update to the latest stable release, install the latest stable release for the platform and modules from the vc-package.json
file by running the following command:
vc-build update -stable
How to Install the Latest Edge Release
To install the latest edge release, follow these steps:
- Create a clean folder for Virto Commerce. For example,
C:\vc-platform-edge
. - In the command line, go to the vc-platform folder by running the following command:
cd C:\vc-platform-edge
- Install the latest edge release for the platform and modules from the commerce bundle by running the following command:
vc-build install
How to Update to the Latest Edge Release
To update to the latest edge release, follow these steps:
- In the command line, go to the vc-platform folder by running the following command:
cd C:\vc-platform-edge
- Install the latest edge release for the platform and modules from the commerce bundle by running th
e following command:
vc-build update
Obsolete Strategy
Virto Commerce is committed to ensuring a seamless migration process for its users while continuously striving to enhance the platform’s quality and performance. This pursuit of improvement often involves making necessary changes, which can occasionally lead to breaking changes. While the goal is to minimize disruption, certain updates, such as transitioning to the latest .NET standards and improving security protocols like TLS, may necessitate adjustments.
To manage this delicate balance, we employ a well-established approach. One of the cornerstones of our strategy is the use of the Obsolete
attribute. By annotating deprecated methods with this attribute, we signal to developers that these methods are no longer recommended for use.
Each breaking change is assigned a unique DiagnosticId
to track its impact on the ecosystem. For instance, a DiagnosticId
like “VC0005” corresponds to breaking changes introduced after the Stable Release v5. This not only helps us internally but also provides developers with a clear reference to the changes in the documentation.
[Obsolete("Method1 is deprecated, please use Method2 instead.", DiagnosticId = "VC0005", UrlFormat = "https://docs.virtocommerce.org/products/products-virto3-versions/")]
public void Method1()
{
}
Moreover, our approach ensures a controlled transition period. The Obsolete
attribute typically remains active for the next two stable releases, affording our partners ample time to adapt their code to the newer alternatives. This approach aligns with our commitment to provide a smooth migration process, giving developers the necessary timeframe to adjust their implementations.
Documentation
You can use Virto Commerce CLI to install a specific version either platform or module. You can find more details in Virto Commerce CLI - Package management - Virto Commerce Documentation.
Tips
- On a local machine, we recommend creating a new clean folder for every stable update. It helps to prevent unexpected behaviours in the cloud where CI creates a platform image from scratch.
- Keep vc-package.json under source control, ex: GitHub, Azure DevOps, etc. It helps you have a history of modifications.
- Creates vc-package.json boilerplate with the latest version number of the platform by running
vc-build init
- You can customize the location of vc-package.json file by using command argument -PackageManifestPath ./somedir/somename.json. Ex:
vc-build install -PackageManifestPath /path/package.json
. - Virto Commerce CLI prevents appsettings.json from modifications during the update.
- You can find the preview version of modules in Pull Requests and modules_v3.json at github
- Review all features of Virto Commerce CLI at github.
Summary
Virto Commerce provides three options: Stable, Edge and Preview, called channels, to manage how often Virto Commerce is updated with new features.
You can choose the best approach.
We expect that your Virto Commerce Solution is kept up to date and we can continuously deliver new features and innovation to you as easily as we did when you start development.