NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2892 most downloaded on PyPI
Git for data scientists - manage your code and data together
Last release 6 months ago
31 Mar 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
555 releases · first in 2017
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/3.1.0...3.2.0
One column per quarter.
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/3.0.0...3.1.0
use of .dvc file as a pipeline stage has been removed, which has been deprecated in 1.0. This means that now it is forbidden to use params/cmd/metrics…
<!-- Release notes generated using configuration in .github/release.yml at main -->
DVC used to identify a file by removing CRLF line endings (although it stored the original file contents in the cache).
However, in DVC 3.x, this behaviour has been dropped.
Now, DVC hashes the file contents directly without removing CRLF line endings.
All pre-existing DVC-tracked data from DVC 2.x can still be accessed and used in DVC 3.x. However, any new operations that result in a DVC committed change will generate a 3.x DVC output, which will be stored in a different location than 2.x DVC outputs.
The files will be stored in cache at .dvc/cache/files/md5 and in the remote at <remote_dir>/files/md5.
You can read more about it in #4658 and #9538.
While strictly not required, dvc cache migrate command is introduced to migrate 2.x format of cache to 3.x format to make migrations easier (#9591).
Support for tracking (cached) external outputs has been removed (#9570).
checkpoints has been removed (#9271).
dvc run command has been removed, use stage add --run instead (#9508).
exp init, exp gc commands have been removed (#9269, #9273).
--show-json/--show-md/--show-csv flags are removed (#9475). Use --json/--md/--csv instead.
--recursive option from dvc add is removed (#9513). Use dvc add dir to recursively add files in a directory.
--file option from dvc add, dvc import and dvc import-url is now removed (#9547, #9562, #9548).
--meta, --desc, --label, and --type option from dvc add, dvc import and dvc import-url is now removed (#9481).
--jobs option that is used in combination with dvc add --to-remote is now renamed to --remote-jobs to avoid confusion with core.checksum_jobs (#9522, #9550).
--metrics option is removed from both exp run and repro commands (#9458).
--pcp option from exp show has been removed (#9270).
Read-only support for dvc 1.0 lockfile format has been removed (#9476).
Support for defining multiple plots as a dictionary has been removed (#9486). Use a list instead.
dvc.yaml: stage-level vars is removed (#9556).
use of .dvc file as a pipeline stage has been removed, which has been deprecated in 1.0. This means that now it is forbidden to use params/cmd/metrics/plots in .dvc files (#9546, #9551, #9552, #9554). Also, if you have used dvc before 1.0, Dvcfile is no longer supported or recognized.
pkg info has moved from dvc.utils.pkg to dvc._build. You can now import it using from dvc import PKG (#9559).
Full Changelog: https://github.com/iterative/dvc/compare/2.58.2...3.0.0
Nothing published for this version
Nothing published for this version
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
init. by @daavoo in https://github.com/iterative/dvc/pull/9269--pcp. by @daavoo in https://github.com/iterative/dvc/pull/9270data ls and support for --meta/--desc/--label/--type cli flags by @skshetry in https://github.com/iterative/dvc/pull/9481dvc.main.main alias by @skshetry in https://github.com/iterative/dvc/pull/9488gc. by @daavoo in https://github.com/iterative/dvc/pull/9273Full Changelog: https://github.com/iterative/dvc/compare/2.57.2...3.0.0a0
<!-- Release notes generated using configuration in .github/release.yml at 2.x -->
<!-- Release notes generated using configuration in .github/release.yml at 2.x -->
Full Changelog: https://github.com/iterative/dvc/compare/2.58.1...2.58.2
<!-- Release notes generated using configuration in .github/release.yml at 2.x -->
<!-- Release notes generated using configuration in .github/release.yml at 2.x -->
Full Changelog: https://github.com/iterative/dvc/compare/2.58.0...2.58.1
<!-- Release notes generated using configuration in .github/release.yml at 2.x -->
<!-- Release notes generated using configuration in .github/release.yml at 2.x -->
Full Changelog: https://github.com/iterative/dvc/compare/2.57.3...2.57.4
<!-- Release notes generated using configuration in .github/release.yml at 2.x -->
<!-- Release notes generated using configuration in .github/release.yml at 2.x -->
Full Changelog: https://github.com/iterative/dvc/compare/2.57.2...2.57.3
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.57.1...2.57.2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
pytest_virtualenv by @daavoo in https://github.com/iterative/dvc/pull/9469Full Changelog: https://github.com/iterative/dvc/compare/2.57.0...2.57.1
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
--rev to support append action. by @daavoo in https://github.com/iterative/dvc/pull/9391--allow-missing by @daavoo in https://github.com/iterative/dvc/pull/9437testing.benchmarks and register dvc-testing as a pytest plugin by @pmrowla in https://github.com/iterative/dvc/pull/9383Full Changelog: https://github.com/iterative/dvc/compare/2.56.0...2.57.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
--not-in-remote arg. by @daavoo in https://github.com/iterative/dvc/pull/9350exp_show. by @daavoo in https://github.com/iterative/dvc/pull/9356studio_repo_url works with exp run --queue. by @daavoo in https://github.com/iterative/dvc/pull/9353Full Changelog: https://github.com/iterative/dvc/compare/2.55.0...2.56.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
dvc exp show --json format has changed vs prior DVC releases)Full Changelog: https://github.com/iterative/dvc/compare/2.54.0...2.55.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.53.0...2.54.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
artifacts: section by @aguschin in https://github.com/iterative/dvc/pull/9220--copy-paths arg. by @daavoo in https://github.com/iterative/dvc/pull/9302Full Changelog: https://github.com/iterative/dvc/compare/2.52.0...2.53.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
exp_save. by @daavoo in https://github.com/iterative/dvc/pull/8727branch arg optional. by @daavoo in https://github.com/iterative/dvc/pull/9211executor/queue. by @daavoo in https://github.com/iterative/dvc/pull/9165.dvc/config.local in TempDirExecutor. by @daavoo in https://github.com/iterative/dvc/pull/9289Full Changelog: https://github.com/iterative/dvc/compare/2.51.0...2.52.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
dvc-render>=0.3.1<0.4.0. by @daavoo in https://github.com/iterative/dvc/pull/9197Full Changelog: https://github.com/iterative/dvc/compare/2.50.0...2.51.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.49.0...2.50.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
STUDIO_REPO_URL in run_env. by @daavoo in https://github.com/iterative/dvc/pull/9161Full Changelog: https://github.com/iterative/dvc/compare/2.48.0...2.49.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.47.2...2.48.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.47.1...2.47.2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
feature section by @skshetry in https://github.com/iterative/dvc/pull/9153Full Changelog: https://github.com/iterative/dvc/compare/2.47.0...2.47.1
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
metrics on done event. by @daavoo in https://github.com/iterative/dvc/pull/9027Full Changelog: https://github.com/iterative/dvc/compare/2.46.0...2.47.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
allow_missing flag. by @daavoo in https://github.com/iterative/dvc/pull/9071pathspec to handle include_untracked. by @daavoo in https://github.com/iterative/dvc/pull/9064Full Changelog: https://github.com/iterative/dvc/compare/2.45.1...2.46.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.45.0...2.45.1
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.44.0...2.45.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
post_live_metrics from queue to executor by @daavoo in https://github.com/iterative/dvc/pull/8955update after cloud versioned import-url --no-download by @pmrowla in https://github.com/iterative/dvc/pull/8984Full Changelog: https://github.com/iterative/dvc/compare/2.43.4...2.44.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.43.3...2.43.4
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
pull after import-url --version-aware with subdirs by @pmrowla in https://github.com/iterative/dvc/pull/8946Full Changelog: https://github.com/iterative/dvc/compare/2.43.2...2.43.3
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
hash_info or meta in cloud versioning. by @daavoo in https://github.com/iterative/dvc/pull/8849version_aware=True to fs if files is present. by @daavoo in https://github.com/iterative/dvc/pull/8882merge_versioned option. by @daavoo in https://github.com/iterative/dvc/pull/8873Full Changelog: https://github.com/iterative/dvc/compare/2.43.1...2.43.2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.43.0...2.43.1
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.42.0...2.43.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
ConfigError from ConfigObjError. by @daavoo in https://github.com/iterative/dvc/pull/8802--dry option. by @daavoo in https://github.com/iterative/dvc/pull/8833recursive flag by @daavoo in https://github.com/iterative/dvc/pull/8825Full Changelog: https://github.com/iterative/dvc/compare/2.41.1...2.42.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.41.0...2.41.1
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
import-url: Update options order by @jorgeorpinel in https://github.com/iterative/dvc/pull/8785Full Changelog: https://github.com/iterative/dvc/compare/2.40.0...2.41.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.39.0...2.40.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
start and done calls. by @daavoo in https://github.com/iterative/dvc/pull/8688post_live_metrics: Pass params on start event. by @daavoo in https://github.com/iterative/dvc/pull/8741SIGINT as the default signal in queue kill by @karajan1001 in https://github.com/iterative/dvc/pull/8657exp apply can accept exp names and failed exps as target by @karajan1001 in https://github.com/iterative/dvc/pull/8708exp run --run-all: re-enable --jobs concurrency by @PythonFZ in https://github.com/iterative/dvc/pull/8608queue stop --kill can kill false running status tasks by @karajan1001 in https://github.com/iterative/dvc/pull/8713Full Changelog: https://github.com/iterative/dvc/compare/2.38.1...2.39.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.38.0...2.38.1
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.37.0...2.38.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
dvc update: support worktree update by @pmrowla in https://github.com/iterative/dvc/pull/8649Full Changelog: https://github.com/iterative/dvc/compare/2.36.0...2.37.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
run_env. by @daavoo in https://github.com/iterative/dvc/pull/8630worktree vs version_aware behavior by @pmrowla in https://github.com/iterative/dvc/pull/8634Full Changelog: https://github.com/iterative/dvc/compare/2.35.2...2.36.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.35.1...2.35.2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.35.0...2.35.1
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
open_browser by @daavoo in https://github.com/iterative/dvc/pull/8604Full Changelog: https://github.com/iterative/dvc/compare/2.34.3...2.35.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
OmegaConf.to_yaml for dumping .yaml output. by @daavoo in https://github.com/iterative/dvc/pull/8587dvc add by @pmrowla in https://github.com/iterative/dvc/pull/8595Full Changelog: https://github.com/iterative/dvc/compare/2.34.2...2.34.3
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
name and sweeps. by @daavoo in https://github.com/iterative/dvc/pull/8556Full Changelog: https://github.com/iterative/dvc/compare/2.34.1...2.34.2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.34.0...2.34.1
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
files entry for cloud versioned dir dependencies by @pmrowla in https://github.com/iterative/dvc/pull/8528Full Changelog: https://github.com/iterative/dvc/compare/2.33.2...2.34.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/iterative/dvc/compare/2.33.1...2.33.2
deps: bump dvc-data to 0.25.2 by @efiop in https://github.com/iterative/dvc/pull/8489
Full Changelog: https://github.com/iterative/dvc/compare/2.33.0...2.33.1
deps: bump dvc-data to 0.25.1 by @efiop in https://github.com/iterative/dvc/pull/8487
Full Changelog: https://github.com/iterative/dvc/compare/2.32.1...2.33.0
yappi: add --yappi-separate-threads flag by @efiop in https://github.com/iterative/dvc/pull/8485
Full Changelog: https://github.com/iterative/dvc/compare/2.32.0...2.32.1
Use celery status as the exp show status by @karajan1001 in https://github.com/iterative/dvc/pull/8369
Full Changelog: https://github.com/iterative/dvc/compare/2.31.0...2.32.0
> Refer to https://dvc.org/doc/install for installation instructions.
Refer to https://dvc.org/doc/install for installation instructions.
Thanks again to @dependabot, @dependabot[bot] and @efiop for the contributions! 🎉
> Refer to https://dvc.org/doc/install for installation instructions.
Refer to https://dvc.org/doc/install for installation instructions.
index.save() for fetching imports (#8249) @pmrowlapassphrase, ask_passphrase (#8143) @daavooscm.describe (#8453) @karajan1001Thanks again to @daavoo, @dependabot, @dependabot[bot], @dtrifiro, @efiop, @karajan1001, @pmrowla, @pre-commit-ci, @pre-commit-ci[bot] and @skshetry for the contributions! 🎉
exp show :Add --hide-queued and --hide-failed flag by @karajan1001 in https://github.com/iterative/dvc/pull/8318
--hide-queued and --hide-failed flag by @karajan1001 in https://github.com/iterative/dvc/pull/8318dvc get-url by @rlamy in https://github.com/iterative/dvc/pull/8410Full Changelog: https://github.com/iterative/dvc/compare/2.29.0...2.30.0
> Refer to https://dvc.org/doc/install for installation instructions.
Refer to https://dvc.org/doc/install for installation instructions.
Thanks again to @daavoo, @dberenbaum, @dependabot, @dependabot[bot], @dtrifiro, @efiop, @pmrowla, @pre-commit-ci, @pre-commit-ci[bot], @rlamy and @skshetry for the contributions! 🎉
> Refer to https://dvc.org/doc/install for installation instructions.
Refer to https://dvc.org/doc/install for installation instructions.
Thanks again to @MartinoMensio, @daavoo, @dberenbaum, @dependabot, @dependabot[bot], @dtrifiro, @efiop, @karajan1001, @pared, @pmrowla and @skshetry for the contributions! 🎉
Your coding agent can read these notes before it upgrades. Set up the MCP server →