What is a Hotfix
As programmers, we start a project, work on it and complete it. Once we are done, we deploy it and then we are done right? Except that after it’s over we still have to maintain it. We might come up with new ideas, and make an update. People find bugs, and we have to patch it up (fix it).
So most company have a set schedule (ex: every Tuesday at the beginning of each month) for when they take their service down, for x amount of time, and then deploy the newer version with the updates and fixes.
What if, we’re using a bank app, and there’s a new hack/exploit that people found and now they are using it to give themself infinite amount of money. We aren’t going to wait until the next maintenance that might be weeks away to put in the new patch that fixes this issue. We are going to fix it ASAP. This is called a hotfix. We can treat the difference of normal patch and hotfixes as a yearly hospital checkup and going to the emergency room when something happened.
What is hotfix and it’s risk
A hotfix, is a software patch that is applied to “hot” (aka live) systems. For us developers, this usually means that it’s a change that was made quickly and outside of the normal development processes, as an urgent measure against certain issues that need to be fix immediately.
However as it is a last minute counter measure, it can lead to unwanted bug and might break other parts of your code. It also can lead to regression in your software. Which is basically a situation where the software still functions correctly, but the performance is worse or slower. It’s recommended to properly test your hotfix so it doesn’t break anything else and no software regression happens.
Side Note: Regression can also be avoided if your software has automated testing and well-written test cases and you run your patch with those test.
Some usages of Hotfix
Hotfixes usually only includes new features, bug fixes, security fixes, and/or a change in database schema.
Blizzard
The company Blizzard Entertainment has a different term for hotfix in their games. Where a hotfix is a change made to the game deemed critical enough that it can’t be held off until a regular content patch. Hotfixes also require only a server-side change with no download and can be implemented with no downtime, or restart of the game.
DE (Digital Extremes)
The company DE has hotfix daily, and sometimes up to 3 times day. It ranges anywhere between a simple change in a text, to re-balancing certain game issues in their game.
Riot Games
The company Riot games, will usually do a hotfix to disable certain game modes or certain champions(characters) until they find a fix to a game breaking issue. Then they will do another hotfix to fix the issue, and reenable the game mode/champion.