off topic question a little bit… what about branching the git repository with a branch for active development of new features, and a stable branch where only bugfixes are committed? When the active development one becomes stable enough, you could merge those changes into the stable one and go on with the development…
edit: in addition, tagging those commits that represent released versions could be a good idea for people to start off from a known stable base
Yes, tagging stable versions could be as much useful. In my opinion they could be more “fine grained” than actual releases, intented to mark snapshots of the library that are stable in both the meaning of “not in the middle of a refactoring/developing process” and relatively “bug free”