Skip to content

Define the versioning model for the SSL Config Generator #314

@gene1wood

Description

@gene1wood

(This issue came out of #240 (comment) )

The SSL Config Generator has essentially 2 different "versions" that might matter. One is the version of the guidelines, which is what the guideline argument in the permalink is for and is meant to map to the version of the recommendation, which the SSL Config Generator is trying to use as it's basis for rendering configurations. This version can be seen in https://wiki.mozilla.org/Security/Server_Side_TLS#Version_History .

The second is the version of the SSL Config Generator itself. This would be changes to how the generator functions or changes to specific configuration logic based on changes to server software. We don't really track this version and I'm seeing that we're kind of conflating the two versions (for example with this 5.7.1 release which captures new SSL Config Generator functionality but which doesn't relate to a change in the actual guidelines that sit behind the generator.

This can also be seen in the Unreleased section of the CHANGELOG which shows changes that are live on the SSL Config Generator site (and not unreleased). These changes don't have a version to go into since they're not a change to the guidelines.

The CHANGELOG was originally meant to be a CHANGELOG for the guidelines (which is why it's in the src/static/guidelines directory instead of the root) but it now contains changes for both the generator and the guidelines. Once we figure this out we should separate the CHANGELOG into guidelines and generator changelogs.

This dual/conflated versioning is confusing and we should probably do something to clarify this. Maybe we do reserve the patch portion of the semver for changes to the generator and restrict the guidelines to only using major and minor. This would follow the 5.7.1 release example.

What do folks think?

  • Should we reserve the patch part of the semver for changes to the SSL Config Generator?
  • Should the SSL Config Generator have it's own distinct version number, unrelated to the guidelines version? If so how do we make sure that there's no confusion between the two versions? Start at version 100.0.0?
  • Is there some better way to track changes to the config generator and the guidelines distinctly?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions