Upgrading an End-of-Life Ubuntu Server

I was recently tasked with updating a handful of Ubuntu 15.04 “Vivid” servers to Ubuntu 16.04 LTS “Xenial”. At first this seemed pretty easy, but I quickly realised that Ubuntu 15.04 reached it’s end of life in February 2016… and I was attempting to perform this upgrade in January 2020. Let the fun times roll!

Semantic Versioning: An Overview

Semantic Versioning is a software versioning system that has been gaining popularity in recent years. With the rapid growth in software development through libraries, applications and web services having a standardised way of versioning software releases has never been as important.