Releases: dandi/dandi-cli
0.75.1
🐛 Bug Fix
- Add support for updated error text upon Zarr name conflicts #1848 (@brianhelba)
- BF: Add timeout to follow_redirect HEAD requests; retry on Timeout #1849 (@yarikoptic)
🏠 Internal
- ENH: Add REUSE specification and checks for compliance #1844 (@yarikoptic @CodyCBakerPhD)
🧪 Tests
- Allow test server to be provided externally #1847 (@brianhelba @yarikoptic)
Authors: 3
- Brian Helba (@brianhelba)
- Cody Baker (@CodyCBakerPhD)
- Yaroslav Halchenko (@yarikoptic)
0.75.0
Release Notes
RF: Derive LocalZarrEntry.filepath from zarr_basepath and parts (#1843)
Refactor LocalZarrEntry so filepath is derived from zarr_basepath and parts instead of being stored separately, eliminating the possibility of internal inconsistency between the two representations.
🚀 Enhancement
- ENH: Machine-readable validate output with store/reload #1822 (@yarikoptic @CodyCBakerPhD)
- Refactoring of codebase into dandi/validate/ subpackage for larger #1822 #1830 (@yarikoptic @CodyCBakerPhD)
🐛 Bug Fix
- RF: Derive LocalZarrEntry.filepath from zarr_basepath and parts #1843 (@candleindark)
- Fix broken external_file paths when organizing on Windows #1832 (@h-mayorquin)
- BF: Seek file data to 0 before every retry in request(), not just for retryable status codes #1824 (@yarikoptic @CodyCBakerPhD)
- Bump nwbinspector to ~= 0.7.0 #1809 (@bendichter @CodyCBakerPhD)
- Upload .bidsignore files as part of BIDS datasets #1819 (@yarikoptic)
- Fix test assertions for enhanced move operation error messages #1802 (@Copilot @CodyCBakerPhD)
- Update test assertions for enhanced API error messages #1801 (@Copilot)
- Fix test assertion mismatch in test_move_not_dandiset #1800 (@Copilot)
🏠 Internal
- Introduce hatch-managed environments #1831 (@candleindark)
- Remove no-op
DANDI_ALLOW_LOCALHOST_URLSfrom test configs #1829 (@candleindark) - gh-actions: Bump codecov/codecov-action from 5 to 6 #1826 (@dependabot[bot])
- Remove sync git bug workflow for now altogether #1814 (@yarikoptic)
- Configure user.* git vars for git-bug #1813 (@yarikoptic)
- Fix git-bug sync workflow: bridge configure → bridge new #1810 (@yarikoptic)
- Add git-bug distributed issue tracking #1804 (@yarikoptic @CodyCBakerPhD @yarikoptic-gitmate)
- Enhance path validation error messages #1792 (@yarikoptic @CodyCBakerPhD @Copilot @yarikoptic-gitmate)
- Enhance API client error messages #1791 (@yarikoptic @CodyCBakerPhD @Copilot @yarikoptic-gitmate)
📝 Documentation
- ai: fix up CLAUDE.md as to pytest markers placement #1812 (@yarikoptic)
- Adapt LAD framework to dandi-cli project practices #1805 (@yarikoptic @CodyCBakerPhD)
- Add module docstrings to core API and configuration modules #1787 (@yarikoptic @CodyCBakerPhD @yarikoptic-gitmate)
- Add LLM-Assisted Development (LAD) test quality framework #1785 (@yarikoptic @yarikoptic-gitmate)
- Add module docstrings to operation modules #1788 (@yarikoptic @CodyCBakerPhD @yarikoptic-gitmate)
🧪 Tests
- BF: Pin rabbitmq image to 4.2-management in test docker-compose #1841 (@yarikoptic)
Authors: 8
- @Copilot
- @dependabot[bot]
- Ben Dichter (@bendichter)
- Cody Baker (@CodyCBakerPhD)
- GitMate for @yarikoptic (@yarikoptic-gitmate)
- Heberto Mayorquin (@h-mayorquin)
- Isaac To (@candleindark)
- Yaroslav Halchenko (@yarikoptic)
0.74.3
🐛 Bug Fix
- bf: pass aiohttp timeouts to fsspec to fix test hang #1795 (@yarikoptic)
- Enhance dandiset metadata error messages #1790 (@yarikoptic @yarikoptic-gitmate)
- Fix type annotation in upload sync path prefix calculation #1794 (@yarikoptic @yarikoptic-gitmate)
- Fix macOS-15-intel CI failures: h5py and opencv-python regressions #1783 (@yarikoptic)
📝 Documentation
- Add module docstrings to validation and NWB utilities #1789 (@yarikoptic @yarikoptic-gitmate)
Authors: 2
- GitMate for @yarikoptic (@yarikoptic-gitmate)
- Yaroslav Halchenko (@yarikoptic)
0.74.2
🐛 Bug Fix
- Allow for newer versions of
zarrpackage #1779 (@kabilar) - Add HINT validation result for dandiset.yaml in both validate and upload commands #1741 (@Copilot @yarikoptic @candleindark)
Authors: 4
- @Copilot
- Isaac To (@candleindark)
- Kabilar Gunalan (@kabilar)
- Yaroslav Halchenko (@yarikoptic)
0.74.1
🏠 Internal
- Update license copyright year(s) #1775 (@github-actions[bot])
- Update EMBER-DANDI Sandbox API URL #1774 (@NEStock)
Authors: 2
- @github-actions[bot]
- Nicole Tregoning (@NEStock)
0.74.0
Release Notes
Remove hardcoded vendor specific information (#1760)
Removed hardcoded vendor specific info so that dandi-cli can now connect to different DANDI instances with different vendor specific info.
Add support for all known instances in short URL format, removed dandi-staging and renamed EMBER* ones into EMBER-DANDI* (#1750)
- Added support for all known instances in short URL format (such as
DANDI-SANDBOX:123456orEMBER-DANDI:123456) matching the instance names known to the dandi CLI and library.
BREAKING: Note thatINSTANCE:in above examples must be capital - lower casedandi:123456would no longer be supported. Also version will be treated case-sensitive so must bedraftnotDRAFT. - Removed deprecated
dandi-staginginstance definition. - Renamed
emberandember-sandboxintoember-dandiandember-dandi-sandboxcorrespondingly.
🚀 Enhancement
- Add support for all known instances in short URL format, removed dandi-staging and renamed EMBER* ones into EMBER-DANDI* #1750 (@Copilot @yarikoptic)
- Set
dandischemadependency to0.12.0and beyond #1744 (@candleindark)
🐛 Bug Fix
- Switch to use /rdf/ renderer for purl obo urls #1772 (@yarikoptic)
- Remove hardcoded vendor specific information #1760 (@candleindark)
- Rename
keyring.pytokeyring_utils.py#1765 (@candleindark) - Drop support for Python 3.9 #1759 (@Copilot)
- docs: Document vendorizable test environment variables #1757 (@Copilot)
- BF: strip away any prefix before ":" while determining numeric dandiset identifier #1751 (@yarikoptic)
🏠 Internal
- gh-actions: bump actions/checkout from 5 to 6 #1755 (@dependabot[bot] @candleindark)
📝 Documentation
- Improve help message for the
--validationoption indandi upload#1768 (@candleindark) - Add alert/clarification for 0.73.2 release #1747 (@yarikoptic)
🧪 Tests
- Not run test without
obolibrarymark inobolibrary-onlyenv #1770 (@candleindark) - Add dependency versions to pytest header output #1761 (@yarikoptic)
- bf(tests): pass DBUS_SESSION_BUS_ADDRESS env var for docker #1763 (@yarikoptic)
- Make dandi-archive instance used by tests vendorizable #1756 (@candleindark @Copilot)
- Update GitHub CI MacOS intel runner #1746 (@candleindark)
Authors: 4
- @Copilot
- @dependabot[bot]
- Isaac To (@candleindark)
- Yaroslav Halchenko (@yarikoptic)
0.73.2
Release Notes
Obtain API key for DANDI instance from corresponding env var (#1731)
Instead of attempting to obtain API key from the environment variable DANDI_API_KEY when connecting to any known DANI instances, obtain the API key from an environment variable corresponding the to name of the instance. For example, obtain the key from the DANDI_API_KEY env var when connecting to the known DANI instance named dandi and obtain the key from the EMBER_SANDBOX_API_KEY var when the connecting to the known instance named ember-sandbox. I.e., the environment variable name is the capitalized version of the instance's name with "-" replaced by "_" suffixed by "_API_KEY".
🐛 Bug Fix
- Obtain API key for DANDI instance from corresponding env var #1731 (@candleindark)
🏠 Internal
🧪 Tests
- Add required env var to api integration tests #1739 (@jjnesbitt @candleindark)
Authors: 3
- Austin Macdonald (@asmacdo)
- Isaac To (@candleindark)
- Jacob Nesbitt (@jjnesbitt)
0.73.1
🐛 Bug Fix
- Allow for client to provide records with newer COMPATIBLE or older (upgradable) version of schema to the server #1732 (@yarikoptic)
🏠 Internal
- Refactor: Consolidate all metadata into pyproject.toml #1726 (@yarikoptic)
Authors: 1
- Yaroslav Halchenko (@yarikoptic)
0.73.0
🚀 Enhancement
- feat: add session end time extraction from NWB files #1714 (@bendichter @yarikoptic)
🐛 Bug Fix
- Don't include
x-amz-aclheader in zarr upload #1710 (@jjnesbitt @yarikoptic) - Upgrade minimal
dandischemaversion to 0.11.1 for schema version compatibility #1658 (@kabilar @CodyCBakerPhD) - BF: fix incompatibility with click >= 8.2.0 #1723 (@yarikoptic)
🏠 Internal
- gh-actions: Bump github/codeql-action from 3 to 4 #1721 (@dependabot[bot])
Authors: 6
- @dependabot[bot]
- Ben Dichter (@bendichter)
- Cody Baker (@CodyCBakerPhD)
- Jacob Nesbitt (@jjnesbitt)
- Kabilar Gunalan (@kabilar)
- Yaroslav Halchenko (@yarikoptic)
0.72.0
🚀 Enhancement
- Add strain field to subject metadata and corresponding test case #1716 (@bendichter @yarikoptic)
📝 Documentation
- Quote ".[test]" for
pip installin DEVELOPMENT.md (might help on some shells e.g. under OS X) #1718 (@bendichter) - Update
dandi [--help]printout on README.md #1699 (@candleindark) - Document options for the
dandi download --existingflag #1708 (@kabilar @yarikoptic)
🧪 Tests
- Tune up tests docker-compose env vars for DANDI multi-instance (AKA vendorization) support #1720 (@candleindark @yarikoptic)
- Workaround typing errors with unittest.mock.ANY in mypy 1.18.1 #1707 (@yarikoptic)
Authors: 4
- Ben Dichter (@bendichter)
- Isaac To (@candleindark)
- Kabilar Gunalan (@kabilar)
- Yaroslav Halchenko (@yarikoptic)