What's Changed
🛠 Breaking Changes
-
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/md5and in the remote at<remote_dir>/files/md5. -
While strictly not required,
dvc cache migratecommand 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).
-
checkpointshas been removed (#9271). -
dvc runcommand has been removed, usestage add --runinstead (#9508). -
--show-json/--show-md/--show-csvflags are removed (#9475). Use--json/--md/--csvinstead. -
--recursiveoption fromdvc addis removed (#9513). Usedvc add dirto recursively add files in a directory. -
--fileoption fromdvc add,dvc importanddvc import-urlis now removed (#9547, #9562, #9548). -
--meta,--desc,--label, and--typeoption fromdvc add,dvc importanddvc import-urlis now removed (#9481). -
--jobsoption that is used in combination withdvc add --to-remoteis now renamed to--remote-jobsto avoid confusion withcore.checksum_jobs(#9522, #9550). -
--metricsoption is removed from bothexp runandreprocommands (#9458). -
--pcpoption fromexp showhas 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
varsis removed (#9556). -
use of
.dvcfile as a pipeline stage has been removed, which has been deprecated in 1.0. This means that now it is forbidden to usecmd/metrics/plotsin.dvcfiles (#9546, #9551, #9552, #9554). Also, if you have used dvc before1.0,Dvcfileis no longer supported or recognized. -
pkginfo has moved fromdvc.utils.pkgtodvc._build. You can now import it usingfrom dvc import PKG(#9559).
🐛 Bug Fixes
- repro: check for hash mismatch between deleted dependencies and upstream outputs (#9533).
- exp list: show experiment shas (#9501).
- update: make sure we update hashes/checksums on --to-remote (#9536).
- fetch: cache collected (#9579).
Full Changelog: 2.58.2...3.0.0