diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d89d8c..1ddda7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.5.0] - 2026-09-25 + ### Added - **Cross-engine case-insensitive table discovery & row hashing**: @@ -570,7 +572,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - PostgreSQL schema-aware queries - MySQL foreign key check handling -[Unreleased]: https://github.com/iamvirul/deepdiff-db/compare/v1.4.3...HEAD +[Unreleased]: https://github.com/iamvirul/deepdiff-db/compare/v1.5.0...HEAD +[1.5.0]: https://github.com/iamvirul/deepdiff-db/compare/v1.4.5...v1.5.0 +[1.4.5]: https://github.com/iamvirul/deepdiff-db/compare/v1.4.4...v1.4.5 [1.4.4]: https://github.com/iamvirul/deepdiff-db/compare/v1.4.3...v1.4.4 [1.4.3]: https://github.com/iamvirul/deepdiff-db/compare/v1.4.2...v1.4.3 [1.4.2]: https://github.com/iamvirul/deepdiff-db/compare/v1.4.1...v1.4.2 diff --git a/Formula/deepdiff-db.rb b/Formula/deepdiff-db.rb index e5e4d97..454b3d0 100644 --- a/Formula/deepdiff-db.rb +++ b/Formula/deepdiff-db.rb @@ -5,12 +5,12 @@ class DeepdiffDb < Formula desc "Compare databases, detect schema drift, and generate safe SQL migration packs." homepage "https://iamvirul.github.io/deepdiff-db/" - version "1.4.5" + version "1.5.0" license "Apache-2.0" on_macos do if Hardware::CPU.intel? - url "https://github.com/iamvirul/deepdiff-db/releases/download/v1.4.5/deepdiffdb_1.4.5_darwin_amd64.tar.gz" + url "https://github.com/iamvirul/deepdiff-db/releases/download/v1.5.0/deepdiffdb_1.5.0_darwin_amd64.tar.gz" sha256 "0080d5f36c799cf72f9e5021ed25d3db2c0b59622001d28acf725f7d9153cb4b" define_method(:install) do @@ -18,7 +18,7 @@ class DeepdiffDb < Formula end end if Hardware::CPU.arm? - url "https://github.com/iamvirul/deepdiff-db/releases/download/v1.4.5/deepdiffdb_1.4.5_darwin_arm64.tar.gz" + url "https://github.com/iamvirul/deepdiff-db/releases/download/v1.5.0/deepdiffdb_1.5.0_darwin_arm64.tar.gz" sha256 "61e41b7a54faa1d3e24a6e09eb17b1002d5d96b226fdae2e8f8ca7cbdbd344c2" define_method(:install) do @@ -29,14 +29,14 @@ class DeepdiffDb < Formula on_linux do if Hardware::CPU.intel? && Hardware::CPU.is_64_bit? - url "https://github.com/iamvirul/deepdiff-db/releases/download/v1.4.5/deepdiffdb_1.4.5_linux_amd64.tar.gz" + url "https://github.com/iamvirul/deepdiff-db/releases/download/v1.5.0/deepdiffdb_1.5.0_linux_amd64.tar.gz" sha256 "3f10e5d32b98a1f742f279bcf17d62e2877b642fb0d188a6f638652c93f43ccf" define_method(:install) do bin.install "deepdiffdb" end end if Hardware::CPU.arm? && Hardware::CPU.is_64_bit? - url "https://github.com/iamvirul/deepdiff-db/releases/download/v1.4.5/deepdiffdb_1.4.5_linux_arm64.tar.gz" + url "https://github.com/iamvirul/deepdiff-db/releases/download/v1.5.0/deepdiffdb_1.5.0_linux_arm64.tar.gz" sha256 "e062a5538cdba16e74c4fd033f80a048764f76c897696e9f81eb5047949b825b" define_method(:install) do bin.install "deepdiffdb" diff --git a/action.yml b/action.yml index a846347..33b0464 100644 --- a/action.yml +++ b/action.yml @@ -11,7 +11,7 @@ inputs: command: description: > DeepDiff DB command to run. - One of: check, schema-diff, schema-migrate, diff, gen-pack, apply, resolve-conflicts + One of: check, schema-diff, schema-migrate, diff, row-diff, gen-pack, apply, resolve-conflicts, version required: true default: diff diff --git a/scoop/deepdiff-db.json b/scoop/deepdiff-db.json index e733b19..208e2a7 100644 --- a/scoop/deepdiff-db.json +++ b/scoop/deepdiff-db.json @@ -1,8 +1,8 @@ { - "version": "1.4.5", + "version": "1.5.0", "architecture": { "64bit": { - "url": "https://github.com/iamvirul/deepdiff-db/releases/download/v1.4.5/deepdiffdb_1.4.5_windows_amd64.zip", + "url": "https://github.com/iamvirul/deepdiff-db/releases/download/v1.5.0/deepdiffdb_1.5.0_windows_amd64.zip", "bin": [ "deepdiffdb.exe" ], diff --git a/website/docs/commands/row-diff.md b/website/docs/commands/row-diff.md index f61a919..d452374 100644 --- a/website/docs/commands/row-diff.md +++ b/website/docs/commands/row-diff.md @@ -4,6 +4,10 @@ sidebar_position: 6 # row-diff +:::info Added in v1.5.0 +The `row-diff` command and `--row-diff` flag were added in DeepDiff DB v1.5.0. +::: + Inspects column-level differences for modified, added, or removed rows between production and development databases. Displays a side-by-side terminal comparison with differing columns highlighted, and writes machine-readable reports. ![row-diff Terminal Inspection](/img/row-diff-terminal.svg) diff --git a/website/docs/deployment/cicd.md b/website/docs/deployment/cicd.md index 8bdabdf..88ba265 100644 --- a/website/docs/deployment/cicd.md +++ b/website/docs/deployment/cicd.md @@ -162,7 +162,7 @@ DeepDiff DB ships a `.pre-commit-hooks.yaml` at the repo root, so you can refere ```yaml repos: - repo: https://github.com/iamvirul/deepdiff-db - rev: v1.4.0 # pin to a release tag + rev: v1.5.0 # pin to a release tag hooks: - id: deepdiff-db-schema # Optional: override the config path @@ -215,7 +215,7 @@ jobs: ## Tips -- **Pin the version** with `DEEPDIFFDB_VERSION: v1.4.0` to avoid unexpected upgrades. +- **Pin the version** with `DEEPDIFFDB_VERSION: v1.5.0` to avoid unexpected upgrades. - **Cache the binary** between runs using your CI platform's cache action. - **Silent schema gate** — use `schema-diff --quiet` for a fully silent check; exit code `0` = no drift, non-zero = drift or error. - **Temporary output dirs** — use `--output-dir /tmp/deepdiff-$$` so ephemeral runners don't need a writable workspace. diff --git a/website/docs/deployment/docker.md b/website/docs/deployment/docker.md index 603cff3..eb15cb6 100644 --- a/website/docs/deployment/docker.md +++ b/website/docs/deployment/docker.md @@ -13,7 +13,7 @@ DeepDiff DB ships a minimal, scratch-based Docker image with zero native depende docker pull ghcr.io/iamvirul/deepdiff-db:latest # Specific version -docker pull ghcr.io/iamvirul/deepdiff-db:v1.4.0 +docker pull ghcr.io/iamvirul/deepdiff-db:v1.5.0 ``` ## Run a diff @@ -52,8 +52,8 @@ Copy and adapt `docker-compose.example.yml` to point at your real databases. ```bash docker build \ - --build-arg VERSION=v1.4.0 \ - -t deepdiff-db:v1.4.0 \ + --build-arg VERSION=v1.5.0 \ + -t deepdiff-db:v1.5.0 \ . ``` @@ -70,8 +70,8 @@ The multi-stage build compiles a statically linked binary with `CGO_ENABLED=0`, | Tag | Description | |-----|-------------| | `latest` | Most recent stable release | -| `v1.4.0` | Specific version | -| `v1.4.0-amd64` | Architecture-specific manifest | -| `v1.4.0-arm64` | Architecture-specific manifest | +| `v1.5.0` | Specific version | +| `v1.5.0-amd64` | Architecture-specific manifest | +| `v1.5.0-arm64` | Architecture-specific manifest | Multi-arch manifests cover `linux/amd64` and `linux/arm64`. diff --git a/website/docs/features/cross-engine-diff.md b/website/docs/features/cross-engine-diff.md index e86192d..d07428a 100644 --- a/website/docs/features/cross-engine-diff.md +++ b/website/docs/features/cross-engine-diff.md @@ -4,6 +4,10 @@ sidebar_position: 1 # Cross-Engine Data Diff & Verification +:::info Added in v1.5.0 +DeepDiff DB v1.5.0 introduces automatic identifier case folding for cross-engine schema discovery and row-level diffing. +::: + DeepDiff DB supports **cross-engine data diffing and migration verification**, allowing you to compare schemas and row data between completely different database engines (such as **PostgreSQL $\leftrightarrow$ Oracle**, **MySQL $\leftrightarrow$ PostgreSQL**, or **SQLite $\leftrightarrow$ MSSQL**). ![Live Migration Pipeline Mismatch](/img/cross-engine-pipeline-mismatch.jpg) diff --git a/website/docs/getting-started/installation.md b/website/docs/getting-started/installation.md index 465982b..959bae0 100644 --- a/website/docs/getting-started/installation.md +++ b/website/docs/getting-started/installation.md @@ -148,14 +148,14 @@ deepdiffdb --version Expected output: ``` -DeepDiff DB v1.4.0 +DeepDiff DB v1.5.0 ``` --- ## Build from Source -Requires Go 1.25.9 or later. +Requires Go 1.25.13 or later. ```bash go install github.com/iamvirul/deepdiff-db/cmd/deepdiffdb@latest diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index 4ace008..18e45cc 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -37,7 +37,7 @@ const config = { { type: 'docSidebar', sidebarId: 'docs', position: 'left', label: 'Docs' }, { to: '/blog', label: 'Blog', position: 'left' }, { href: 'https://github.com/iamvirul/deepdiff-db', label: 'GitHub', position: 'right' }, - { href: 'https://github.com/iamvirul/deepdiff-db/releases', label: 'v1.4', position: 'right' }, + { href: 'https://github.com/iamvirul/deepdiff-db/releases', label: 'v1.5', position: 'right' }, ], }, footer: { diff --git a/website/src/pages/index.js b/website/src/pages/index.js index 602976b..b6b7bc6 100644 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -131,7 +131,7 @@ export default function Home() {
-
v1.4 — Views, Routines, Triggers & Sequences
+
v1.5 — Column-Level Drift & Cross-Engine Row Diff

Database diff that
actually ships