What a version number promises the people depending on you
A note on Semantic Versioning 2.0.0 by Tom Preston-Werner, published on semver.org.
Everyone knows major-minor-patch. Far fewer have read the spec, and the useful part is the definition rather than the format.
A major version is required when the public API changes incompatibly. The question that follows, what counts as the public API, is where plugin work gets interesting. In a WordPress plugin the public surface is much larger than the functions you documented. It is every hook other developers have attached to, every filter whose return shape they rely on, every database column a site owner has written a report against. Rename a hook and you have shipped a breaking change regardless of what the version number says.
The spec is also clear that the scheme only works if the API is declared. Without that, every consumer decides for themselves what is public, and the answer becomes "everything they happened to use".
Worth reading alongside the strangler fig entry: both are ultimately about making change survivable for people you cannot coordinate with, which is the defining constraint of shipping to an install base you do not control.
This is the thinking behind supporting a plugin across WordPress versions.