Hey everyone! For our dev dive today, we're going to talk about different types of maintenance that can be performed on a platform. I've mentioned before that not all bugs are equally easy to solve, and that means that not all fixes are necessarily deployed in the same way, either.

Back in the day, the big distinction was hotfixes vs coldfixes. Hotfix referred to any software patch that was applied to a "hot" system, or one that was currently running. Nowadays, hotfixes are increasingly the norm, especially on the web, and coldfixes are increasingly rare. Because of that, these days the word "hotfix" is more often used to describe small, very specific bug fixes that may not even be reported to end users.

Because the term "hotfix" has shifted, new terms have been brought into usage so that we can be more descriptive about the type of update that's being implemented. A patch, for example, is similar to a hotfix, but it generally fixes a known bug and is publicly released to end users. Maintenence releases and service packs describe larger sets of updates, and they generally apply to more than one part of the system. Through this set of terms, we can clearly communicate the size and scope of any given update.

Coldfixes, or fixes that require restarting the service that they're applied to, do still exist today - even if they aren't as common. A notable example would be updates to Windows or macOS that require you to restart your computer. A lot of programs that run on these desktop operating systems also require cold fixes, necessitating the program to be closed and opened again for those bug fixes to be applied.