@@ -485,25 +485,11 @@ mandatory names:
485485
486486 The ``data_type `` value is an extension point and may be defined by a data
487487 type extension. If the data type is defined by an extension, then the value
488- must be an object containing the names ``name `` and optionally
489- ``configuration `` and ``fallback ``. The ``name `` is required and its value
490- must refer to a v3 data type specification. ``configuration `` is optional
491- and its value is defined by the extension. The ``fallback `` is optional and,
492- if provided, its value must be one or a list of the data type identifiers
493- defined in this specification or an extension. Fallback extension datatypes
494- are specified as an object with ``name `` and (optionally) ``configuration ``.
495-
496- If an implementation does not recognise the extension or specific data type,
497- but a ``fallback `` is present, then the implementation may proceed using the
498- first known ``fallback `` value as the data type. For fixed-sized data types,
499- if there is no more specific fallback available, a raw number of bytes using
500- the raw type (``r* ``) should be given.
501-
502- The default list of fallbacks to put into the metadata should be defined by
503- the data type extension, but it may be overridden by the user. *Note for
504- implementations *: Silently using a fallback without explicit approval might
505- cause problems for users, please consider options to (de-)activate fallback
506- behavior and/or appropriate warnings.
488+ may be either a plain string or an object containing the members ``name ``
489+ and optionally ``configuration ``. A plain string is equivalent to
490+ specifying an object with just a ``name `` member. The ``name `` is required
491+ and its value must refer to a v3 data type specification. ``configuration ``
492+ is optional and its value is defined by the extension.
507493
508494``chunk_grid ``
509495^^^^^^^^^^^^^^
@@ -767,8 +753,7 @@ above, but using a (currently made up) extension data type::
767753 "name": "datetime",
768754 "configuration": {
769755 "unit": "ns"
770- },
771- "fallback": "int64"
756+ }
772757 },
773758 "chunk_grid": {
774759 "name": "regular",
@@ -963,7 +948,7 @@ Core data types
963948 * - ``complex128 ``
964949 - real and complex components are each IEEE 754 double-precision floating point
965950 * - ``r* `` (Optional)
966- - raw bits, use for extension type fallbacks
951+ - raw bits, variable size given by `` * ``, limited to be a multiple of 8
967952
968953Additionally to these base types, an implementation should also handle the
969954raw/opaque pass-through type designated by the lower-case letter ``r `` followed
@@ -1650,8 +1635,7 @@ array codecs `codecs`_
16501635array storage transformer `storage_transformers `_
16511636=========== ======================= ================================================
16521637
1653- If such extension points are used by groups or arrays, they are required, except
1654- for data types specifying fallback data types.
1638+ If such extension points are used by groups or arrays, they are required.
16551639
16561640See https://github.com/zarr-developers/zarr-specs/issues/49 for a list of
16571641potential extensions.
@@ -1758,6 +1742,8 @@ by time.
17581742Changes after Provisional Acceptance
17591743------------------------------------
17601744
1745+ - Fallback data type support was removed. `PR #248
1746+ <https://github.com/zarr-developers/zarr-specs/pull/248/> `_
17611747- It is now required to specify an ``array -> bytes `` codec in the ``codecs ``
17621748 array metadata field. `PR #249
17631749 <https://github.com/zarr-developers/zarr-specs/pull/249> `_
0 commit comments