Episerver releases software on a continuous release cycle. This means that a new version of Episerver is typically available every week. This is good news for customers as the software is kept up to date with new features and bug fixes.
However updates are not automatic (for good reason) and need to be installed and put through a standard deployment cycle. As administrators or developers potentially working on multiple Episerver solutions it can sometimes be tricky to know exactly what version is installed and what the latest version of Episerver packages are when looking at the UI.
So I created a tool that allows users to see what versions of packages are installed and also what is the latest available version.
What does the tool do
The tool adds a new icon to the menu bar showing the current status of packages (green = up to date, yellow = updates available, red = very out of date) with some descriptive text on hover:
When clicking the icon it reveals a drop down listing packages installed from the Episerver Nuget Feed:
It's possible to hover over individual packages to see details of the installed version and the latest version that is available on the Episerver Nuget Feed :
This nice thing is that the package list will automatically show modules such as Episerver Commerce or Find if they are being used in the solution:
Deciding what packages appear in the menu
All installed packages are checked against the Episerver Nuget feed and will only be displayed if they are available on the feed.
Assessing whether a package is out of date
The following rules are applied to decide whether a version is out of date or not:
- If the major versions are out of date its considered a danger warning
- If the minor version is out by more than the number of versions defined in configuration then it's a danger warning
- Revision numbers are not considered at this point (let me know your thoughts in the comments about this!)
The top menu icon always shows the status of the most out of date package.
In order for the version check icon to appear users need to be in the "Administrators" or "VersionChecker" group. This can be overridden in the configuration.
The following optional appSetting entries can be used to configure how the tool works:
|versionchecker:MinorVersionsBeforeWarning||Creates a yellow warning if the number of minor versions different is greater than this number|
|versionchecker:MinorVersionsBeforeDanger||Creates a red warning if the number of minor versions different is greater than this number|
|versionchecker:RolesToAccess||List of roles a user must belong to in order to see the tool|
|versionchecker:Enabled||Set to false to disable the tool completely. Useful in development environments when not connected to the internet|
The VersionChecker package is availale on the Episerver Nuget Feed and the source code available over on GitHub.
Do you think that will be a useful tool? Is this something clients ask for or would appreciate? I’d be happy to discuss in the comments below or on @davidknipe.