Is adding a function in a patch release a violation of semver? Technically, yes but technical answers aren't always the right answers. This came up in a recent discussion focused on the relevant importance of setting the minimum patch version for a dependency. Some crates go so far as to never bump their minor version, like serde.