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/md5
and in the remote at<remote_dir>/files/md5
. -
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, usestage add --run
instead (#9508). -
--show-json
/--show-md
/--show-csv
flags are removed (#9475). Use--json
/--md
/--csv
instead. -
--recursive
option fromdvc add
is removed (#9513). Usedvc add dir
to recursively add files in a directory. -
--file
option fromdvc add
,dvc import
anddvc import-url
is now removed (#9547, #9562, #9548). -
--meta
,--desc
,--label
, and--type
option fromdvc add
,dvc import
anddvc import-url
is now removed (#9481). -
--jobs
option that is used in combination withdvc add --to-remote
is now renamed to--remote-jobs
to avoid confusion withcore.checksum_jobs
(#9522, #9550). -
--metrics
option is removed from bothexp run
andrepro
commands (#9458). -
--pcp
option fromexp 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 usecmd
/metrics
/plots
in.dvc
files (#9546, #9551, #9552, #9554). Also, if you have used dvc before1.0
,Dvcfile
is no longer supported or recognized. -
pkg
info has moved fromdvc.utils.pkg
todvc._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