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 image — ghcr.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
  • Homebrew — brew 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?​