What's Changed
* Disable pre-commit.ci's PR autofixes by jakirkham in https://github.com/zarr-developers/zarr-python/pull/1506
* Bump redis from 4.5.5 to 4.6.0 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1446
* Bump ipywidgets from 8.0.7 to 8.1.0 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1510
* Bump actions/checkout from 3 to 4 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1520
* Tiny tweak: Extend copyright notice to 2023 by JackKelly in https://github.com/zarr-developers/zarr-python/pull/1528
* Bump pytest from 7.3.2 to 7.4.0 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1445
* Allow black to be run on any Python version by dstansby in https://github.com/zarr-developers/zarr-python/pull/1549
* Unnecessary list literal → set literal by DimitriPapadopoulos in https://github.com/zarr-developers/zarr-python/pull/1534
* Minor edits in docs by MSanKeys963 in https://github.com/zarr-developers/zarr-python/pull/1509
* Preserve dimension separator metadata when resizing arrays by ziw-liu in https://github.com/zarr-developers/zarr-python/pull/1540
* io.open → open by DimitriPapadopoulos in https://github.com/zarr-developers/zarr-python/pull/1421
* Bump pymongo from 4.4.0 to 4.5.0 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1507
* Fix typo newly found by codespell by DimitriPapadopoulos in https://github.com/zarr-developers/zarr-python/pull/1554
* Bump actions/setup-python from 4.6.0 to 4.7.1 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1541
* Bump pytest-doctestplus from 0.13.0 to 1.0.0 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1512
* Bump fasteners from 0.18 to 0.19 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1553
* Add links to numcodecs docs in tutorial by dstansby in https://github.com/zarr-developers/zarr-python/pull/1535
* Fail doc build on warnings by dstansby in https://github.com/zarr-developers/zarr-python/pull/1548
* DOC: Enable offline formats by MSanKeys963 in https://github.com/zarr-developers/zarr-python/pull/1560
* Remove dependency by MSanKeys963 in https://github.com/zarr-developers/zarr-python/pull/1563
* Bump setuptools-scm from 7.1.0 to 8.0.4 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1562
* Bump redis from 4.6.0 to 5.0.1 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1561
* Update release.rst by MSanKeys963 in https://github.com/zarr-developers/zarr-python/pull/1574
* Automatically document Array members by dstansby in https://github.com/zarr-developers/zarr-python/pull/1547
* DOC: Minor tweak to advanced indexing example in tutorial by rossbar in https://github.com/zarr-developers/zarr-python/pull/1550
* Bump h5py from 3.9.0 to 3.10.0 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1571
* Bump fsspec from 2023.6.0 to 2023.10.0 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1570
* Bump pytest-timeout from 2.1.0 to 2.2.0 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1577
* Bump pytest from 7.4.0 to 7.4.3 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1576
* Bump conda-incubator/setup-miniconda from 2.2.0 to 2.3.0 by dependabot in https://github.com/zarr-developers/zarr-python/pull/1575
* Remove `CODE_OF_CONDCUT.md` file from the Zarr-Python repo by MSanKeys963 in https://github.com/zarr-developers/zarr-python/pull/1572
* Bootstrap v3 branch with zarrita by jhamman in https://github.com/zarr-developers/zarr-python/pull/1584
* Extensible codecs for V3 by normanrz in https://github.com/zarr-developers/zarr-python/pull/1588
* Don't import from tests by d-v-b in https://github.com/zarr-developers/zarr-python/pull/1601
* [V3] Update minimum supported Python and Numpy versions by jhamman in https://github.com/zarr-developers/zarr-python/pull/1638
* use src layout and use `hatch` for packaging by d-v-b in https://github.com/zarr-developers/zarr-python/pull/1592
* temporarily disable mypy in v3 directory by jhamman in https://github.com/zarr-developers/zarr-python/pull/1649
* create hatch test env by rabernat in https://github.com/zarr-developers/zarr-python/pull/1650
* removed unused environments and workflows by rabernat in https://github.com/zarr-developers/zarr-python/pull/1651
* Listable V3 Stores by jhamman in https://github.com/zarr-developers/zarr-python/pull/1634
* Codecs without array metadata by normanrz in https://github.com/zarr-developers/zarr-python/pull/1632
* Add env variables to sprint setup instructions by maxrjones in https://github.com/zarr-developers/zarr-python/pull/1654
* fix sync group class methods by jhamman in https://github.com/zarr-developers/zarr-python/pull/1652
* Specify docs hatch env for v3 branch by maxrjones in https://github.com/zarr-developers/zarr-python/pull/1655
* Add test matrix for V3 by maxrjones in https://github.com/zarr-developers/zarr-python/pull/1656
* Remove attrs by d-v-b in https://github.com/zarr-developers/zarr-python/pull/1660
* Resolve Mypy erorrs in `v3` branch by DahnJ in https://github.com/zarr-developers/zarr-python/pull/1692
* Specify hatch envs using GitHub actions matrix for v3 tests by maxrjones in https://github.com/zarr-developers/zarr-python/pull/1728
* black -> ruff format + cleanup by Saransh-cpp in https://github.com/zarr-developers/zarr-python/pull/1639
* Development installation/contributing docs updates by aldenks in https://github.com/zarr-developers/zarr-python/pull/1643
* Allow dmypy to be run on v3 branch by dstansby in https://github.com/zarr-developers/zarr-python/pull/1780
* Remove unused typing ignore comments by dstansby in https://github.com/zarr-developers/zarr-python/pull/1781
* Check untyped defs on v3 by dstansby in https://github.com/zarr-developers/zarr-python/pull/1784
* [v3] Enable some more strict mypy options by dstansby in https://github.com/zarr-developers/zarr-python/pull/1793
* implement __eq__ for LocalStore by Charoula-Kyriakides in https://github.com/zarr-developers/zarr-python/pull/1792
* Remove old v3 by d-v-b in https://github.com/zarr-developers/zarr-python/pull/1742
* [v3] Disallow generic Any typing by dstansby in https://github.com/zarr-developers/zarr-python/pull/1794
* V3 update pre commit by jhamman in https://github.com/zarr-developers/zarr-python/pull/1808
* V3 reorg by jhamman in https://github.com/zarr-developers/zarr-python/pull/1809
* [v3] Sync with futures by d-v-b in https://github.com/zarr-developers/zarr-python/pull/1804
* implement `group.members` by d-v-b in https://github.com/zarr-developers/zarr-python/pull/1726
* remove windows testing on v3 branch by jhamman in https://github.com/zarr-developers/zarr-python/pull/1817
* Disallow incomplete type definitions by dstansby in https://github.com/zarr-developers/zarr-python/pull/1814
* fix: add mypy to test dependencies by d-v-b in https://github.com/zarr-developers/zarr-python/pull/1789
* Disallow untyped calls by dstansby in https://github.com/zarr-developers/zarr-python/pull/1811
* chore(ci): add numpy 2 release candidate to test matrix by jhamman in https://github.com/zarr-developers/zarr-python/pull/1828
* fix dependencies by normanrz in https://github.com/zarr-developers/zarr-python/pull/1840
* Add pytest to mypy dependencies by dstansby in https://github.com/zarr-developers/zarr-python/pull/1846
* chore(pre-commit): update pre-commit versions and remove attrs dep mypy section by jhamman in https://github.com/zarr-developers/zarr-python/pull/1848
* Remove implicit groups by jhamman in https://github.com/zarr-developers/zarr-python/pull/1827
* feature(store): list_* -> AsyncGenerators by jhamman in https://github.com/zarr-developers/zarr-python/pull/1844
* Test codec entrypoints by normanrz in https://github.com/zarr-developers/zarr-python/pull/1835
* Remove extra v3 sync module by maxrjones in https://github.com/zarr-developers/zarr-python/pull/1856
* Use donfig for V3 configuration by maxrjones in https://github.com/zarr-developers/zarr-python/pull/1855
* Fix any generics in zarr.array by dstansby in https://github.com/zarr-developers/zarr-python/pull/1861
* Fix some untyped calls by dstansby in https://github.com/zarr-developers/zarr-python/pull/1865
* chore: update project settings per scientific python repo-review by jhamman in https://github.com/zarr-developers/zarr-python/pull/1863
* Disallow untyped defs by dstansby in https://github.com/zarr-developers/zarr-python/pull/1834
* Enable some ruff rules (RUF) and fix issues by DimitriPapadopoulos in https://github.com/zarr-developers/zarr-python/pull/1869
* groundwork for V3 group tests by d-v-b in https://github.com/zarr-developers/zarr-python/pull/1743
* Add more typing to `zarr.group` by dstansby in https://github.com/zarr-developers/zarr-python/pull/1870
* [v3] First step to generalizes ndarray and bytes by madsbk in https://github.com/zarr-developers/zarr-python/pull/1826
* Reworked codec pipelines by normanrz in https://github.com/zarr-developers/zarr-python/pull/1670
* Configure Ruff to apply flake8-bugbear/isort/pyupgrade by normanrz in https://github.com/zarr-developers/zarr-python/pull/1890
* chore(ci): remove mypy from test action in favor of pre-commit action by jhamman in https://github.com/zarr-developers/zarr-python/pull/1887
* Enable ruff/flake8-raise rules (RSE) and fix issues by DimitriPapadopoulos in https://github.com/zarr-developers/zarr-python/pull/1872
* Apply assorted ruff/refurb rules (FURB) by DimitriPapadopoulos in https://github.com/zarr-developers/zarr-python/pull/1873
* Enable ruff/flake8-implicit-str-concat rules (ISC) and fix issues by DimitriPapadopoulos in https://github.com/zarr-developers/zarr-python/pull/1868
* Remove some unused mypy overrides by dstansby in https://github.com/zarr-developers/zarr-python/pull/1894
* Finish typing zarr.metadata by dstansby in https://github.com/zarr-developers/zarr-python/pull/1880
* Followup on codecs by normanrz in https://github.com/zarr-developers/zarr-python/pull/1889
* Add numpy to mypy pre-commit check env by dstansby in https://github.com/zarr-developers/zarr-python/pull/1893
* remove fixture files from src by d-v-b in https://github.com/zarr-developers/zarr-python/pull/1897
* Protocols for `Buffer` and `NDBuffer` by madsbk in https://github.com/zarr-developers/zarr-python/pull/1899
* [V3] Expand store tests by d-v-b in https://github.com/zarr-developers/zarr-python/pull/1900
* [v3] Feature: Store open mode by jhamman in https://github.com/zarr-developers/zarr-python/pull/1911
* chore: update pre-commit hooks by pre-commit-ci in https://github.com/zarr-developers/zarr-python/pull/1920
* Disallow implicit re-exports by dstansby in https://github.com/zarr-developers/zarr-python/pull/1908
* Make typing strict by dstansby in https://github.com/zarr-developers/zarr-python/pull/1879
* Enable extra mypy error codes by dstansby in https://github.com/zarr-developers/zarr-python/pull/1909
* fix(types): Group.info -> NotImplementedError by jhamman in https://github.com/zarr-developers/zarr-python/pull/1936
* Enable warn_unreachable for mypy by dstansby in https://github.com/zarr-developers/zarr-python/pull/1937
* Run sphinx directly on readthedocs by dstansby in https://github.com/zarr-developers/zarr-python/pull/1919
* Fix list of packages in mypy pre-commit environment by dstansby in https://github.com/zarr-developers/zarr-python/pull/1907
* Bump the actions group with 6 updates by dependabot in https://github.com/zarr-developers/zarr-python/pull/1904
* Fix final typing errors by dstansby in https://github.com/zarr-developers/zarr-python/pull/1939
* feature(typing): add py.typed file to package root by jhamman in https://github.com/zarr-developers/zarr-python/pull/1935
* Apply preview ruff rules by DimitriPapadopoulos in https://github.com/zarr-developers/zarr-python/pull/1942
* Enable and apply ruff rule RUF009 by DimitriPapadopoulos in https://github.com/zarr-developers/zarr-python/pull/1941
* Support all indexing variants by normanrz in https://github.com/zarr-developers/zarr-python/pull/1917
* Feature: group and array name properties by jhamman in https://github.com/zarr-developers/zarr-python/pull/1940
* implement .chunks on v3 arrays by rabernat in https://github.com/zarr-developers/zarr-python/pull/1929
* chore: update pre-commit hooks by pre-commit-ci in https://github.com/zarr-developers/zarr-python/pull/1948
* Fixes bug in transpose by normanrz in https://github.com/zarr-developers/zarr-python/pull/1949
* Buffer Prototype Argument by madsbk in https://github.com/zarr-developers/zarr-python/pull/1910
* Feature: Top level V3 API by jhamman in https://github.com/zarr-developers/zarr-python/pull/1884
* Basic working FsspecStore by martindurant in https://github.com/zarr-developers/zarr-python/pull/1785
* doc: update release notes for 3.0.0.alpha by jhamman in https://github.com/zarr-developers/zarr-python/pull/1959
New Contributors
* JackKelly made their first contribution in https://github.com/zarr-developers/zarr-python/pull/1528
* ziw-liu made their first contribution in https://github.com/zarr-developers/zarr-python/pull/1540
* rossbar made their first contribution in https://github.com/zarr-developers/zarr-python/pull/1550
* maxrjones made their first contribution in https://github.com/zarr-developers/zarr-python/pull/1654
* aldenks made their first contribution in https://github.com/zarr-developers/zarr-python/pull/1643
* Charoula-Kyriakides made their first contribution in https://github.com/zarr-developers/zarr-python/pull/1792
**Full Changelog**: https://github.com/zarr-developers/zarr-python/compare/v2.16.1...v3.0.0-alpha