Q:

What is a best practice to fix a bug in an old release version?

I have a GitHub project with few releases:

1.0
1.5
2.0
2.1

I was asked to fix a bug in version 1.5.  What is the best practice to do it?
Shall I check out the 1.5, fix the bug and push it as 1.5.1?
Is this a proper way?

A:

Yes, this is exactly what you should be doing.  Since you won't be able to change the commit the tag refers to without major ramifications, branching off of the tag is the most logical solution here.

