I know this is a very basic question but I cant seem to find the answer with Google. What is the difference between a hotfix and a bugfix?
The term hotfix is generally used when client has found an issue within the current release of the product and can not wait to be fixed until the next big release. Hence a hotfix issue is created to fix it and is released as a part of update to the current release usually called Cumulative Update(CU). CUs are nothing but a bunch of hotfixes together.
Bugfix - We usually use this when an issue is found during the development and testing phase internally.
From my experience in support at a large software company the two terms are unrelated.
Bug fix is an action on the source code, it is a code change or set of changes to address a reported code defect (a bug.)
hotfix is generally a patch or update for clients / deployed systems but more specifically they are patches which are:-
not released to a schedule.
intended to address either 'niche' situations or 'emergency' responses.
only relevant to the specific issue documented in the release notes.
poorly tested. If at all.
a potential source for the (re)introduction of bugs.
intended for small audiences.
likely to affect automated patching systems and require additional monitoring. Hotfixes may deploy a file/library with unusually high version number to prevent the hotfix from being patched over.
supplied by the software maker directly to named contacts, not publically available. Customers are often expected to contact technical support to request hotfixes for example.
frequently branched from the 'last known good' source tree. As a 'quick fix' the code used in the hotfix may never make it back into the main build (it may be that as a temporary fix a better solution requires more time/resources.)
A bugfix is just that: a fix for a bug. This could happen at almost any time in a product's lifetime: during development, during testing, or after release.
A hotfix can be one or more bugfixes. The important part is the hot, which refers to when it is applied. Originally, it referred to patching an actively running system (aka, 'hot'). It's grown to more generally refer to bugfixes provided after the product is released to the public (this could be during public beta testing, too), but outside of the regular update schedule.