Changelog¶
Release 0.14.0 (unreleased)¶
Use
.cdx.jsonas the default extension for CycloneDX SBOM reports (#1118)Embed base64-encoded license text in SBOM
licenses[].textwhen a license is successfully identified (#1112)Set SBOM
licensesto the SPDX expressionNOASSERTIONwhen a license file is not found or cannot be classified (#1112)Add a
dfetch:license:findingproperty to SBOM whenNOASSERTIONis set, explaining the reason (#1112)Add
dfetch:license:thresholdanddfetch:license:toolSBOM properties (#1116)Add
dfetch:license:<spdx-id>:confidenceSBOM property for per-licence confidence scores (#1116)Use github purl, repo and version for a github release archive in SBOM (#1063)
Allow
dfetch freezeto accept project names to freeze only specific projects (#1063)Edit manifest in-place when freezing inside a git or SVN superproject, preserving comments and layout (#1063)
Add new
removecommand to remove projects from manifest and disk (#26)Fix “unsafe symlink target” error for archives containing relative
..symlinks (#1122)Fix
dfetch addcrashing with aValueErrorwhen the remote URL has a trailing slash (#1137)Fix unhelpful error message when a metadata file is malformed (#1145)
Fix arbitrary file write via malicious tar/zip symlink (#1152)
Prevent SSH command injection (#1152)
Release 0.13.0 (released 2026-03-30)¶
Add archive (
vcs: archive) support for fetching dependencies from.tar.gz,.tgz,.tar.bz2,.tar.xzand.zipfiles via HTTP, HTTPS or file URLs (#1058)Fix path-traversal check using character-based prefix comparison instead of path-component comparison (#1058)
Fix directory hash being non-deterministic across filesystem traversal orders, causing false local-change detection (#1058)
Fix
dfetch freezenot capturing branch information for SVN projects when only the revision matched (#1058)Rename child-manifests to sub-manifests in documentation and code (#1027)
Fix missing closing quote in unfetched-project diagnostic command example (#1070)
Fetch git submodules in git subproject at pinned revision (#1013)
Add nested projects in subprojects to project report (#1017)
Make
dfetch reportoutput more yaml-like (#1017)Don’t break when importing submodules with space in path (#1017)
Warn when
src:glob pattern matches multiple directories (#1017)Introduce new
addcommand with optional interactive mode (-i) (#25)
Release 0.12.1 (released 2026-02-24)¶
Fix missing unicode data in standalone binaries (#1014)
Release 0.12.0 (released 2026-02-21)¶
Internal refactoring: introduce superproject & subproject (#896)
Switch from pykwalify to StrictYAML (#922)
Show line number when manifest validation fails (#36)
Add Fuzzing (#819)
Don’t allow NULL or control characters in manifest (#114)
Allow multiple patches in manifest (#897)
Fallback and warn if patch is not UTF-8 encoded (#941)
Skip patches outside manifest dir (#942)
Make patch path in metadata platform independent (#937)
Fix extra newlines in patch for new files (#945)
Replace colored-logs and Halo with Rich (#960)
Group logging under a project name header (#953)
Introduce new
update-patchcommand (#614)Introduce new
format-patchcommand (#943)Drop python 3.9 support (#988)
Release 0.11.0 (released 2026-01-03)¶
Support python 3.14
Drop python 3.7, 3.8 support (#801)
Don’t show animation when running in CI (#702)
Improve logic for creating Purls in SBoM (#780)
Add External VCS reference to SBoM if possible (#780)
Use CycloneDX schema version 1.6 (#542)
Add security policy (#784)
Add provenance / release attestation to pypi package (#784)
Support multiple licenses per project (#788)
Add evidence to sbom report (#788)
Let action work outside of dfetch repo (#816)
Handle SVN tags with special characters (#811)
Don’t return non-zero exit code if tool not found during environment (#701)
Create standalone binaries for Linux, Mac & Windows (#705)
Don’t make metadata file part of diff (#267)
Fix unneeded project prefix in SVN diffs (#888)
Add more tests and documentation for patching (#888)
Restrict
srcto string only in schema (#888)Don’t consider ignored files for determining local changes (#350)
Avoid waiting for user input in
git&svncommands (#570)Extend git ssh command to run in BatchMode (#570)
Use native line breaks in
dfetch freeze&dfetch import(#327)
Release 0.10.0 (released 2025-03-12)¶
Release 0.9.1 (released 2024-12-31)¶
Fix pypi publishing
Release 0.9.0 (released 2024-12-30)¶
Report unavailable project version during check (#381)
Don’t look for update on random branch if only revision is provided in git (#393)
Don’t report update available if revision on disk matches revision in manifest for git (#393)
Report the revision available in git if only revision is in git (#393)
Add
ignorelist to project entries in the manifest (#571)
Release 0.8.0 (released 2023-12-23)¶
Don’t break if no suggestion found (#358)
Drop python 3.6 support (#386)
Fix checking project from svn branch (#383)
Move all configuration into single
pyproject.toml(#401)Also build for python 3.11, 3.12 in CI
Add 3.11, 3.12 classifier to pyproject
When importing non-std SVN external, identify
srcpath
Release 0.7.0 (released 2022-06-22)¶
Warn about local changes during check (#286)
Add support for Gitlab-CI/Code Climate check reports (#18)
Improve Sarif/github messages (#292)
Update to CycloneDX spec 1.4 (#296)
Never overwrite main project folder and manifest (#302)
Add codespell and fix typo’s (#303)
Add warning to metadata file, not to change it (#170)
Fix SBoM report (#337)
Suggest a correct project name if not found (#320)
Handle relative urls during dfetch import (#339)
Release 0.6.0 (released 2022-01-31)¶
Pin dependencies
Recommend child-projects instead of fetching (#242)
Show spinner when fetching (#264)
Don’t allow path traversal for dst path
Check for casing issues in
dst:path during update (#256)Check for overlapping destinations of projects (#173)
Handle invalid metadata file (#280)
Update to CycloneDX spec 1.3 (#282)
Make it possible to generate jenkins and sarif json report for check (#18)
Release 0.5.1 (released 2021-12-09)¶
Pin dependencies
Release 0.5.0 (released 2021-12-09)¶
Add diff command for svn projects (#24)
Also add binary files as part of generated patch (#251)
Create diff on working copy instead of current revision (#254)
Deprecate
dfetch listcommand fordfetch reportcommandAdd Software Bill-of-Materials (sBoM) export to
dfetch reportcommand (#154)Guess license for sbom export (#50)
Match more licenses (#260)
Release 0.4.0 (released 2021-11-26)¶
Release 0.3.0 (released 2021-07-19)¶
Release 0.2.0 (released 2021-06-18)¶
Release 0.1.1 (released 2021-05-27)¶
Fix empty folder remains after using
src:with subfolder in git (#163)New logo
Release 0.1.0 (released 2021-05-13)¶
Release 0.0.9 (released 2021-03-16)¶
Release 0.0.8 (released 2021-02-14)¶
Release 0.0.7 (released 2021-02-13)¶
Release 0.0.6 (released 2021-02-03)¶
Make import command available for svn projects with externals.
Improve documentation.
Fix #73: Don’t fail if svn or git is not installed.
Fix #74: Don’t default to SVN for non-ssh url.
Add
vcs:field to manifest.Make
src:partial checkouts available for git.Drop support for shortened git sha (#80).
Release 0.0.5 (released 2021-01-05)¶
Fix
dfetch importcommand.Improve template.
If no
dstis given for a project, use name of project instead.Fixes #28: Rename manifest.yaml to dfetch.yaml
Release 0.0.4 (released 2020-11-12)¶
Increase readability in terminals.
Fix template generated by
dfetch init.
Release 0.0.3 (released 2020-11-09)¶
Added release procedure.
Added
importcommand.
Release 0.0.2 (released 2020-11-03)¶
Added
dfetch environmentcommand.Added changelog.
Release 0.0.1 (released 2020-11-03)¶
Initial release