ngff icon indicating copy to clipboard operation
ngff copied to clipboard

Are previous version keys allowed in v0.5?

Open ziw-liu opened this issue 8 months ago • 2 comments

Context: I'm implementing v0.5 and need a clear definition of various version fields in the v0.4/v0.5 spec (MUST, MUST NOT, SHOULD, MAY etc).

From RFC-2:

https://github.com/ome/ngff/blob/106d7d9d5726182226ca49297b058570707c354b/rfc/2/index.md?plain=1#L261

And the latest JSON schema do not contain .ome.plate.version, .ome.multiscales[0].version etc.

However the spec also states that:

https://github.com/ome/ngff/blob/8cbba216e37407bd2d4bd5c7128ab13bd0a6404e/index.bs#L501-L502

https://github.com/ome/ngff/blob/8cbba216e37407bd2d4bd5c7128ab13bd0a6404e/index.bs#L545-L546

So we have the following situation, using .ome.plate.version as an example:

  • RFC-2, JSON examples in the v0.5 spec, and the schema indicate that having this field should cause a validation error.
  • The v0.5 spec text says that NOT having this field should cause a validation error.

Different implementations can interpret these requirements in ways that are not compatible with each other.

ziw-liu avatar Apr 15 '25 19:04 ziw-liu

That needs correcting in the spec doc. Neither plates nor wells should have a version key.

normanrz avatar Apr 15 '25 19:04 normanrz

Since the JSON schema is just one implementation of the specification, I think the thing to do here is:

  • Fix the JSON schema to match the specification
  • Change these fields in v0.6 of the specification so they are removed as intended originally for v0.5

dstansby avatar Jun 04 '25 19:06 dstansby