How we develop and deploy software

We follow the practice of continuous integration to ensure that the software is always in a working state, and that developer branches do not diverge significantly from trunk.

We want to be able to get program changes reviewed, integrated, tested and deployed as fast as possible. This process is an order of magnitude faster and cheaper when the changes are small and self-contained, and the branches they live on are short-lived. Working in small batches also ensures developers get regular feedback on the impact of their work on the system as a whole—from other developers, testers, customers, and automated performance and security tests—which in turn makes any problems easier to detect, triage, and fix.

We deploy each of our applications in exactly one of the following ways:

  1. Virtual Machine (VM) with installed applications. You access VMs via any web browser.
  2. Software-as-a-Service (SaaS). You access SaaS applications via any web browser.
  3. Installable application (EXE, MSI, DLL, MSIX) on your local machine. You start these applications from your local Windows operating system.

Find a more detailed explanation on the page about our Software Architecture.


How you get the latest version

Regarding new versions, we have the following policies:

  1. VM: New purchases get the most recent image. We do not offer older VM versions. Some, but not all of the applications in the VM are updated automatically. See the product description for details.
  2. SaaS: There is only one version. All users see the same, most recent version. New functionality may be in beta/ preview before it is finally released.
  3. Installable application: Add-on Manager is our only installable application. It is updated automatically when you start it. All DLLs from our shop, which Add-on Manager administers, are also updated automatically.

Update FAQ