-
Notifications
You must be signed in to change notification settings - Fork 44
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
0.5.1: replace the missing omero metadata text (fix #286) #287
Conversation
Automated Review URLs |
If a new version is being released, will the version numbers in the ome metadata be updated from |
No. |
So in effect, this means version 0.5 of the specification is being silently changed, without versioning? I appreciate this is fixing a mistake, but doesn't it defeat the point of versioning the spec if specfiic versions aren't frozen after release? |
To give a concrete example, a dataset written with this OME-Zarr metadata is currently valid: {
"attributes": {
"ome": {
"version": "0.5",
"omero": {
"id": 1,
"name": "example.tif"
}
}
}
} but if version 0.5 is changed to add
this metadata suddenly becomes invalid because it doesn't contain the "channels" field. If, after this change to the spec is made, a reader sees this metadata, then it's not clear what to do:
If instead, the version number is bumped to "0.5.1" in the metadata, this issue is resolved - if a reader sees "0.5", don't validate that "channels" exists. If a reader sees "0.5.1", do validate that "channels" exists. |
Thanks, David. I appreciate the conscientiousness. Your concerns are certainly valid and in the general case, we want to avoid just that type of breakage, but there's a real-world balance here of managing the complexity for the implementers. The points which I've taken into account for moving forward with this fix are:
To not allow the incorrect 0.5.0 specification further time to be in the wild, I'm merging this PR. We can begin work on an announcement that explains the situation to the best of our ability. Thanks again. |
SHA: 5ecd837 Reason: push, by @joshmoore Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Okay, sounds good, and thanks for actioning quickly!
This wasn't clear to me - what sign can we look for to know if the release is final and not going to change? Just want to make sure we don't waste time implementing an unfinished version over at Going forward I think it would be really useful to have the release process written down and codified, so it's clear to folks that a version shown on https://ngff.openmicroscopy.org isn't neccesarily final, and also have some sort of mechanism to mark a release as 'released' (so to speak!) |
0.5 was the first time we had tried to a "soft" release and I'm not sure I would try it again or even codify it. Though there were pragmatic considerations (hackathon, holidays), to a large extent it was in response to the lack of a reference implementation for Zarr v3. I.e., the community was in a bit of limbo and therefore we were trying to be careful in case some form of emergency change was needed.
I would hope we wouldn't even soft release something that would lead to these situations. In this case, the impact I understand it is on the one hand more validation needs adding to o-z-m-p and on the other hand, someone might have started creating non-unvalidatable "omero" blocks but these are the points I covered in #287 (comment) So, apologies that the text got elided, but I think we're back on track.
Definitely. Let's keep working on that in #282. 👍 |
Re: soft release: would it be better if there is a formal release candidate phase? Just like most software that have users that the developers don't know would do. Early implementers can then look at the release candidates and report anything that needs to be fixed urgently. |
The block of text explaining the requirements of the
"omero" metadata block added in #191 was only applied
to the 0.4/index.bs file and not to latest/index.bs
such that on publication the 0.5/index.bs also did not
have the change.
This restores that text as 0.5.1 with no change to the
on-disk format.