Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 17 Apr 12:02
· 13 commits to main since this release

Highlights since v0.3.0:

Features:

  • dvx run --push each|end now also pushes cache blobs to the remote (not just git push), preventing "cache files do not exist" errors in downstream runs. Opt out with -P/--no-cache-push.
  • dvx run caches output blobs locally so historical versions stay retrievable.
  • dvx status groups output by status (Stale → Missing → Transitive → Error → Fresh) with colored headers and counts. Filter with -s/--status (include) and -x/--omit (exclude), both prefix-matched (s → stale, m → missing, etc.). Flatten with -G.
  • Version-aware dvx gc with --keep N and --older-than retention policies.
  • .dvx/config.yml for run config with per-stage commit/push overrides.
  • dvx.stage IPC library (stage.commit(), stage.summary(), stage.push()).
  • Side-effect stages (no outs, deps-only freshness) for deploys, syncs, posts.
  • Fetch schedules (daily/hourly/weekly/cron) for periodic data re-fetch.
  • Directory git_deps via git tree SHAs.
  • dvx import-url --git — git-tracked imports with URL provenance and -A User-Agent.
  • Transitive staleness in dvx status ( for indirectly stale stages).
  • Colored status output: red, ? magenta, yellow, green.
  • Recursive .dvc discovery in dvx run (no targets = find all .dvc files).
  • /-prefixed dep shorthand for out-of-dvc-dir deps (vs ../../ chains).

Bug fixes:

  • Fix stale dep hashes written to .dvc after execution.
  • Fix targeted dvx pull for .dvc files (bypass dvc.yaml).
  • Fix side-effect stage path resolution in subdirectories.
  • Fix dep freshness check for raw files without .dvc.
  • Fix per-stage push config not gated on global push being enabled.
  • Fix Z suffix in ISO 8601 parsing for Python 3.10.
  • is_fetch_due: raise clearly when croniter is missing.

Internal:

  • Vendor Meta.from_info mtime patch; depend on upstream dvc-data from PyPI.

Removed:

  • after: stage ordering (redundant with git_deps on upstream .dvc files; never released to PyPI).

Full Changelog: v0.3.0...v0.4.0