[wp-trac] [WordPress Trac] #43495: Use Semantic Versioning for releases

WordPress Trac noreply at wordpress.org
Thu Mar 8 14:02:17 UTC 2018


#43495: Use Semantic Versioning for releases
--------------------------------------+------------------------------
 Reporter:  netweb                    |       Owner:
     Type:  enhancement               |      Status:  new
 Priority:  normal                    |   Milestone:  Awaiting Review
Component:  Upgrade/Install           |     Version:
 Severity:  normal                    |  Resolution:
 Keywords:  2nd-opinion dev-feedback  |     Focuses:
--------------------------------------+------------------------------

Comment (by jdgrimes):

 I am definitely a fan of semantic versioning, but I think it is important
 to realize that we can't just decide to change how we version core without
 some major implications. The update code currently treats 4.5.0 as a
 "major" release, and 4.5.1 as a "minor" release (core's terminology). Both
 of these effectively map to semver's "minor" release. There is no concept
 of a "breaking" release or a "patch" release, as semver defines them. The
 code in core (and probably any plugins/themes/etc.) that relates to core
 updates will have to be changed. But so will users' perception of what to
 expect from updates. In short, this would be a breaking change, as
 @Luciano Croce pointed out, so there is no way that there could be a
 4.10.0 following semver. It would have to be a 5.0.0 that made the switch.

 In addition, because core attempts to maintain almost-infinite backward
 compatibility, if we switched to semver WordPress would in theory always
 be on 5.x, because there would never be a breaking release to usher in
 6.x. Of course, the reality is that core just ends up making little
 breaking changes all of the time, once it is safe to do so without much
 chance of actually breaking any code out in the wild.

 In the end, what we would really be contemplating here would be a complete
 change of philosophy for WP in regard to versioning, backward
 compatibility, patches, minor updates, etc. Although part of me would
 prefer that core embraced semver, core has a somewhat unique situation in
 regard to its technical debt, scope, and diverse versioning audience, and
 there is wisdom in some of the philosophies that it has embraced here,
 which are not really compatible with semver.

 '''TL;DR:''' semver is not just a way of specifying version numbers, it
 implies an entire versioning philosophy, and it runs counter to the
 versioning philosophy embraced by WordPress core. There is a lot that
 would have to be considered before a change like this could be made.

--
Ticket URL: <https://core.trac.wordpress.org/ticket/43495#comment:3>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list