Added ability to publish patches for non-latest version

Also, started to work on semantic versioning check, more specifically, started to implement comparing function types for compatibility.
I think this can be more precise. If things have different types, what are the things? Can we attach the function name or alias?