Ensure that invocations of create_array use consistent keyword arguments, with consistent defaults.
zarr.api.synchronous.create_arraynow takes awrite_datakeyword argumentThe
Group.create_arraymethod takesdataandwrite_datakeyword arguments.The functions
api.asynchronous.create,api.asynchronous.create_arrayand the methodsGroup.create_array,Group.array, had the defaultfill_valuechanged from0to theDEFAULT_FILL_VALUEvalue, which instructs Zarr to use the default scalar value associated with the array's data type as the fill value. These are all functions or methods for array creation that mirror, wrap or are wrapped by, another function that already has a defaultfill_valueset toDEFAULT_FILL_VALUE. This change is necessary to make these functions consistent across the entire codebase, but as this changes default values, new data might have a different fill value than expected after this change.For data types where 0 is meaningful, like integers or floats, the default scalar is 0, so this change should not be noticeable. For data types where 0 is ambiguous, like fixed-length unicode strings, the default fill value might be different after this change. Users who were relying on how Zarr interpreted
0as a non-numeric scalar value should set their desired fill value explicitly after this change.