...
- We change the message format in Kafka.
- We break compatibility (i.e. remove deprecated public methods after a reasonable period, and typically wait 1 year after deprecation).
- We make major version changes on our dependent projects or when we drop an old Java / Scala support version.
- We do something totally amazing (exactly once?) and decide to release as a new major version milestone.
...