When making a significant functional update that remains compatible with previous versions, it is recommended to increment the major version number. This aligns with the guidelines outlined in Semver 2.0.0.
In accordance with Semver 2.0.0, Major version X (X.y.z | X > 0) MUST be increased if any changes that are incompatible with previous versions are made to the public API. It may also include minor and patch level changes. Patch and minor versions should reset to 0 when the major version is incremented.
Following the language specified in RFC 2119 as referenced by Semver, the emphasis on permission to increment the major version only for minor and patch level changes highlights the flexibility in interpreting these guidelines.
This interpretation acknowledges that many non-breaking changes consist of numerous minor and patch-level adjustments. The absence of directives such as "It must not only include minor and patch level changes" or "It must involve backwards incompatible modifications" in the specification allows for some discretion in version increments.
Paragraph 7 suggests an alternative option of solely increasing the minor version in certain scenarios, offering leeway where technically no backward compatibility issues exist but the updates are substantial enough to appear major.
This approach recognizes the need for flexibility in cases where significant business or marketing-driven developments warrant a major version upgrade beyond just changes in the API specifications.