[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