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

Handling mixed spec-version objects without version inventories #569

Open
zimeon opened this issue Dec 1, 2021 · 3 comments
Open

Handling mixed spec-version objects without version inventories #569

zimeon opened this issue Dec 1, 2021 · 3 comments
Milestone

Comments

@zimeon
Copy link
Contributor

zimeon commented Dec 1, 2021

If there are no version inventories then one can only tell that the spec version of a prior object version is the same or any prior spec version compared to that declared for the latest object version (for which there must be an inventory). This is made clear by https://ocfl.io/draft/spec/#conformance-of-prior-versions . What are the implications of this with respect to validation and conformance? I think we should understand this before we release 1.1.

@zimeon
Copy link
Contributor Author

zimeon commented Dec 21, 2021

2021-12-21 Editors lean toward adopting an explicit solution to this in 2.0, which might be either:

  • Adjust the inventory.json schema to require a version number to be specified for each version, or
  • Require a Namaste file for each version (which would also avoid issues with missing version directories)

For the immediate case of version 1.1, we are dealing with backwards compatible changes so it should be OK if the validator can't tell whether a prior version directory is 1.0 or 1.1. Need to check this with #570

@rosy1280 rosy1280 modified the milestones: 1.1, 2.0 Jan 20, 2022
@julianmorley
Copy link
Contributor

Discussing this on the editors call, we think there are few, if any, implementations that create version directories without inventory files and a validator could try validating a version against 1.0 and 1.1 and flag an error if neither worked. So we decided to defer this potentially breaking change to 2.0.

@rosy1280
Copy link
Contributor

rosy1280 commented Sep 22, 2023

Working Definition for a Breaking Change :

  • a 1.1 tool would flag a valid 2.0 object as invalid
  • a version 2.0 tool would NOT flag a valid 1.1 object as invalid

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants