Skip to main content

Migration Guide: v0.x → v1.0

Breaking changes

1. Output file permissions tightened

Output files (diff reports, migration packs, checkpoints) are now created with 0600 permissions instead of 0644, and output directories with 0750 instead of 0755.

Impact: Files are no longer world-readable.

Action: If your pipeline reads output files as a different OS user, ensure both users share the same group.

2. Go 1.25.8 minimum (build from source only)

If you build from source, Go 1.25.8+ is required. This resolves two stdlib CVEs (GO-2026-4603, GO-2026-4601).

Action: go install golang.org/dl/go1.25.8@latest && go1.25.8 download

3. Release archive names changed

GoReleaser now builds releases. Archive names changed:

Platformv0.xv1.0
Linux x64deepdiffdb-linux-amd64deepdiffdb_v1.0.0_linux_amd64.tar.gz
Linux ARM64deepdiffdb-linux-arm64deepdiffdb_v1.0.0_linux_arm64.tar.gz
macOS ARM64deepdiffdb-darwin-arm64deepdiffdb_v1.0.0_darwin_arm64.tar.gz
Windows x64deepdiffdb-windows-amd64.exedeepdiffdb_v1.0.0_windows_amd64.zip

Action: Update your CI download scripts.


Non-breaking additions

  • Docker imageghcr.io/iamvirul/deepdiff-db:v1.0.0
  • docker-compose.example.yml — included in repo root
  • examples/cicd/ — GitHub Actions, GitLab CI, and pre-commit hook examples
  • Homebrewbrew install iamvirul/deepdiff-db/deepdiff-db
  • Security scanning in CI — gosec + govulncheck on every push

Config file compatibility

The deepdiffdb.config.yaml format is fully compatible. No changes required.


Upgrade steps

# 1. Update binary
brew upgrade deepdiff-db
# or
curl -fsSL \
https://github.com/iamvirul/deepdiff-db/releases/download/v1.0.0/deepdiffdb_v1.0.0_linux_amd64.tar.gz \
| tar -xz deepdiffdb && sudo mv deepdiffdb /usr/local/bin/

# 2. Verify
deepdiffdb --version
deepdiffdb check --config deepdiffdb.config.yaml

Need help?