Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Status of 1.0 release of spec? #33

Closed
nealmcb opened this issue Feb 19, 2019 · 7 comments
Closed

Status of 1.0 release of spec? #33

nealmcb opened this issue Feb 19, 2019 · 7 comments

Comments

@nealmcb
Copy link

nealmcb commented Feb 19, 2019

I see that the specification/README.rst now no longer calls the spec a draft, but the specification/tuf-spec.md itself (dated June 2018) still calls itself a draft.

  • What is the status of the spec?
  • Will there be a git tag when it is final?
  • How does the version number relate to the tuf implementation versions and tuf/ROADMAP.md?
@awwad
Copy link
Contributor

awwad commented Feb 27, 2019

Spec Status:

The spec will continue to evolve, generally through TAPs (TUF Augmentation Proposals), meaning that future versions are expected.

We'll issue a git tag when each version of the spec is finalized. I'll get back to you about the status of 1.0 in particular in the coming weeks.

As it predates this policy, version 0.9 of the spec -- which is finalized -- is available in all recent versions of the repository.

Spec Version in the Reference Implementation

The ways that specification versions are related to TUF implementation versions:

Do you think it would be helpful to additionally note conformance to a particular specification version in a comment in the code alongside TUF version, where it appears (e.g. in setup.py)?

@JustinCappos
Copy link
Member

JustinCappos commented Feb 27, 2019 via email

@nealmcb
Copy link
Author

nealmcb commented Feb 27, 2019

Ahh - for convenience, here's a link to version 0.9 of the spec, from 2015-05-14: specification/tuf-spec.0.9.txt. I hadn't noticed that there were two versions of the spec next to each other in the repo.
The "1.0 (Draft)" version text has been used to describe the new draft since it first appeared in github on 11 October 2017, it seems.

I'm not sure how helpful a comment in setup.py would be, and there's always risk of such comments getting out-of-date.

Offhand, I wonder if it would be appropriate for at least the major version number of the reference implementation to match the spec version number.

Does the implementation mean to use semantic versioning? Does the spec use Semantic Versioning (semver)? Right now, I see no reference to the term. Both the tests and code use 'spec_version': '1.0' (with no third "fix" version number), though the code says it is assumed that "spec_version" is in (major.minor.fix) format

@awwad
Copy link
Contributor

awwad commented Feb 28, 2019

I'm using this https://www.python.org/dev/peps/pep-0440/#public-version-identifiers for the reference implementation. It's quite close to semantic versioning.

My gut feeling is that if we try to match major version numbers for the spec with major version numbers for the reference implementation, it'll be muddying the semantics of the version numbers (for one, the other, or both). I don't have a particularly strong opinion about that, though.

@nealmcb
Copy link
Author

nealmcb commented Feb 28, 2019

I wouldn't be surprised if you're right about the risks of forcing matches between the spec/implementation version numbers.

In that case I think there does need to be some clear, robust way to clarify what spec versions are supported by an implementation. Text in the README.md (and also in the package long_description, which is automated to match the README.md now) might do so better than a comment in setup.py.

@JustinCappos
Copy link
Member

JustinCappos commented Feb 28, 2019 via email

@lukpueh
Copy link
Member

lukpueh commented Mar 5, 2020

Heads-up:

#51 introduced semantic versioning for the specification (adopted in the reference implementation in theupdateframework/python-tuf#914).

The current stable version of the specification has been tagged as v1.0.0. Future updates to the specification will adhere to the release policy outlined in the Versioning section of the README (introduced by #87).

It looks like we can close here.

@lukpueh lukpueh closed this as completed Mar 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants