About semantic versioning

Created on 3 November 2023, about 1 year ago
Updated 29 August 2024, 4 months ago

Just a few thoughts I want to discuss.

From the https://semver.org/

Given a version number MAJOR.MINOR.PATCH, increment the:

  • MAJOR version when you make incompatible API changes
  • MINOR version when you add functionality in a backward compatible manner
  • PATCH version when you make backward compatible bug fixes

The latest releases of the Simple XML sitemap module don't follow the semantic versioning. MINOR version is not increased even if a release contains new backward compatible features.

I don't think that this is a critical or major thing, but correct versioning gives people an understanding of what they should expect from the release. However, as I see, many popular modules don't follow this rule. But the core follows, and we can follow too :)

Also a good example of an open source project that follows semantic versioning (mostly) - https://github.com/microsoft/playwright/releases.

🌱 Plan
Status

Fixed

Version

4.0

Component

Miscellaneous

Created by

🇷🇺Russia walkingdexter

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @walkingdexter
  • Assigned to walkingdexter
  • 🇩🇪Germany gbyte Berlin

    @walkingdexter

    I am not a fan of increasing MINOR when adding functionality as it seems to create a fork and two versions to maintain, correct? In addition people stay on the previous version forever as they often have something like "^4.3" in composer. What are your thoughts?

    Also in regards to the upcoming release - we bumped compatibility from D9.3 + D10 to D10.2 + D11. What would be your preferred new version number?

  • Issue was unassigned.
  • 🇷🇺Russia walkingdexter

    I am not a fan of increasing MINOR when adding functionality as it seems to create a fork and two versions to maintain, correct?

    There is no need to maintain two versions. We just increase the minor version and move on.

    In addition people stay on the previous version forever as they often have something like "^4.3" in composer. What are your thoughts?

    This always allow non-breaking updates. ^4.3 means >=4.3.0 <5.0.0.

    Also in regards to the upcoming release - we bumped compatibility from D9.3 + D10 to D10.2 + D11. What would be your preferred new version number?

    According to https://www.drupal.org/project/ideas/issues/3357742#comment-15651225 🌱 Guidelines for semantic versioning and Drupal core support Needs review , I prefer 4.2.0 version (increase the minor version).

  • Status changed to Fixed 4 months ago
  • 🇩🇪Germany gbyte Berlin

    This always allow non-breaking updates. ^4.3 means >=4.3.0 <5.0.0.

    Obviously - sorry I worked the night and am pretty tired.

    There is no need to maintain two versions. We just increase the minor version and move on.

    Yeah I did that last time, it means unpublishing the last release - AFAIK creating new minor versions creates multiple published versions.

    According to https://www.drupal.org/project/ideas/issues/3357742#comment-15651225 🌱 Guidelines for semantic versioning and Drupal core support Needs review , I prefer 4.2.0 version (increase the minor version).

    Alright thanks for your input.

    Regarding this issue: I won't be creating new minor versions for minor new features. I'll try to stick to the other things you pointed out though.

  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.71.5 2024