Creating and managing versioned documentation for web application, mobile apps and software products is challenging. If multiple versions of the software can be used at the same time, the documentation must be available for all versions. Keeping them updated and in sync is tedious job.
Creating multiple versions of the software docs is normal. Whenever a (big) new release of the software is published, the software documentation must be updated and published. Typically this document gets a new version number or specifies the related software version. The document related to the current version is published and made available e.g. on the product website, internal help or hosted documentation tool.
Normally, the manuals of the previous version are removed from the download page. But if multiple software version are officially supported, also the documentation must be available for the earlier versions.
Imagine, for the main releases 1.x, 2.x and this year’s 3.x release, the documentation must be available. For the releases 1.x and 2.x, only minor updates and regulatory improvements are made. The current main release 3.x also gets new features and UI screens.
For software development, the code for the main releases 1.x, 2.x and 3.x is stored in different branches. Changes can be (more or less) automatically be merged and compared.
But for software documentation with different documents, this is typically not easy. Imagine, the documentation for release 1.x consists of only a 20 page Word document. Release 2.x was big and now has 5 Word documents with over 200 pages. Release 3.x is now managed in a documentation suite that has more than 200 pages, with new screenshots. Since the next major release will be going international, the plan is to translate the content also in two additional languages. Keeping up with 4 different levels of versioned documentation will be challenging.
Adding and tagging document with a version number is common practice. This can be simple as
Assuming, the product development teams is using the semantic versioning, the documentation team could follow this approach:
– For major and minor version (1.*, 1.2.*), the software documentation is updated with the every new release
– For bugfix releases (1.2.3), the software documentation is not updated by default – only if the fixed bugs are related to documented features.
– For a SaaS or mobile application, there is typically only one “latest” version. So there is only one version of the documentation following the latest release.
– Older version of the user manual should only be kept and provided to the user if the product release is still officially supported and used. Different version of the docs should otherwise not be provided to the user, to not confuse them.
– If your development department uses continuous integration ( CI/CD ), check if the documentation can be integrated into the deployment process. The advantage is that the documentation is always updated and deployed along the latest version.
– If possible, only support and update the latest documentation version. Managing and keeping multiple documentation branches is very hard. If multiple releases of the docs must be managed, only “bugfix” the old releases docs.
The open source product ReadTheDocs provide a broad set of features to generate documentation from the software code repository. It handles multiple versions of documentation – using the branches or tags of the repository (git, svn and other). It uses the tools Sphinx and MkDocs internally.
GitBook is a more recent SaaS based tool that focuses on developers to quickly publish the documentation from their git repository – now “building the future of knowledge management”.
If you have a question or need some more information how perform troubleshooting or create a great troubleshooting guide, reach out to us. Subscribe to our newsletter to get more information and content about documentation processes and best practices.