Arrays whose stored regular chunk grid mixes chunk sizes with lists of chunk edge lengths, such as "chunk_shape": [2, [5, 10, 5]] (written by zarr 3.2.0 and 3.2.1 for chunks=(2, (5, 10, 5)), and as [2, [5.0, 10.0, 5.0]] for float edges), can be read again, without enabling array.rectilinear_chunks. The grid is read as the rectilinear chunk grid it describes, with a ZarrUserWarning; re-saving the array's metadata (or writing chunks to it) stores that rectilinear grid, which requires the flag. A group's consolidated metadata keeps such an array's metadata as it was stored.
The array.rectilinear_chunks flag now gates reading and storing array metadata that declares a rectilinear chunk grid, including in a group's consolidated metadata, instead of constructing RectilinearChunkGridMetadata. An operation that would store such metadata with the flag off (creating an array, Array.resize, deleting a member of a group with consolidated metadata, create_hierarchy) raises before it deletes or writes anything, and the error names the array, also when it is a member of a group's consolidated metadata.