clarify what is considered to be public API considering semantic versioning