Skip to content

enhancement: allow + in tag names #16304

@nakedible-p

Description

@nakedible-p

Currently tags must satisfy the regexp ^[\w][\w.-]{0,127}$. That means that tags allow _, . and - apart from letters and numbers.

Semantic Versioning is quite a common versioning system today, used in NPM and in increasing numbers in other projects, including Docker itself. Semantic Versioning 2.0.0 says:

Build metadata MAY be denoted by appending a plus sign and a series of dot separated identifiers immediately following the patch or pre-release version. Identifiers MUST comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty. Build metadata SHOULD be ignored when determining version precedence. Thus two versions that differ only in the build metadata, have the same precedence. Examples: 1.0.0-alpha+001, 1.0.0+20130313144700, 1.0.0-beta+exp.sha.5114f85.

This means that Semantic Versioning version numbers can in full represented by Docker tags, with the exception of the plus sign. Adding the plus sign as an allowed character in tags would allow all semantic versions to be directly used as docker tags.

It is obvious that there are a lot of competing versioning schemes and there are probably a lot of other characters that would be required for some of them as well, so the addition of just the plus sign is probably a judgement call.

However, I wanted to suggest this because of the widespread usage of semantic versioning and let the project make the judgement call.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/distributionkind/enhancementEnhancements are not bugs or new features but can improve usability or performance.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions