Skip to content

Release versioning is not consistent when breaking changes happen #552

@macsux

Description

@macsux

Currently the buildpack semver does not seems to follow industry expectations around when to increment major/minor/patch. This is a problem for customers because buildpacks are typically managed by infrastructure folks who are oblivious to language specific nuances the given buildpack supports. As most often the case they blindly install the latest version. This causes issues when buildpack removes a major version of .NET while there are active apps running on the platform that relied on this version. An example is release 2.3.35 of the buildpack which removed .NET 2.1, but did so as part of a "patch" semver release increment. A patch release should not have major breaking changes like this, so when platform team upgrades none of the deployed apps are able to be restaged.

The proposal is to increment a major version number of the buildpack when any major versions of .NET are removed, and increment a minor version when a major version is added (being that .NET SDKs are backward compatible in most scenarios and should generally not produce breaking changes). This would allow platform team to maintain an older version of the buildpack on the platform under a different name, allowing outdated apps to "peg" against older buildpack.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    ✅ Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions