Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.2.0] - 2026-04-05

### Added
- **GitHub OAuth author verification for `version commit`** (issue #77)
- `version init` now prompts to authenticate via GitHub device flow; verified username stored in `.deepdiffdb/config` (`0o600` permissions, token never persisted)
Expand Down Expand Up @@ -404,7 +406,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.0.0...HEAD
[Unreleased]: https://github.com/iamvirul/deepdiff-db/compare/v1.2.0...HEAD
[1.2.0]: https://github.com/iamvirul/deepdiff-db/compare/v1.1.0...v1.2.0
[1.1.0]: https://github.com/iamvirul/deepdiff-db/compare/v1.0.0...v1.1.0
[1.0.0]: https://github.com/iamvirul/deepdiff-db/compare/v0.9...v1.0.0
[0.9]: https://github.com/iamvirul/deepdiff-db/compare/v0.8...v0.9
[0.8]: https://github.com/iamvirul/deepdiff-db/compare/v0.7...v0.8
Expand Down
41 changes: 26 additions & 15 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,21 @@ We release a new version every **Saturday**. Each release includes one or more f

---

## Current Status: v1.1.0 β€” Git-like Versioning πŸŽ‰
## Current Status: v1.2.0 β€” Verified Authorship & CI/CD Hardening πŸŽ‰

**Last Release:** 2026-03-31
**Released:** 2026-04-05

**Current Features:**
**Features:**
- GitHub OAuth author verification for `version commit` (issue #77) βœ…
- Documentation & website updates throughout

---

## Previous Release: v1.1.0 β€” Git-like Versioning πŸŽ‰

**Released:** 2026-04-01

**Features:**
- Schema drift detection and standalone schema migration (`schema-migrate`)
- Row-level data comparison with SHA-256 hashing
- Migration pack generation and transactional apply mode
Expand All @@ -32,7 +42,8 @@ We release a new version every **Saturday**. Each release includes one or more f
- Bounded O(batch_size) memory during hashing regardless of table size
- Per-batch memory telemetry at DEBUG log level (`alloc_mb`, `batch`)
- Oracle Database support β€” pure Go driver, no Instant Client required
- **NEW:** Git-like versioning β€” `version init/commit/log/diff/rollback` with SHA-256 content-addressable commit objects and offline rollback SQL generation
- Git-like versioning β€” `version init/commit/log/diff/rollback` with SHA-256 content-addressable commit objects and offline rollback SQL generation
- **NEW in v1.2.0:** GitHub OAuth author verification β€” device flow auth in `version init`; verified `github:<username>` used automatically in `version commit`

---

Expand All @@ -49,6 +60,12 @@ We release a new version every **Saturday**. Each release includes one or more f
- New `internal/version` package: `model.go`, `store.go`, `rollback.go`
- Sample 17: Git-like Versioning β€” two MySQL 8 containers, three-sprint demo, automated `demo.sh`

### v1.2.0: Verified Authorship & CI/CD Hardening (Released 2026-04-05)

**Scope:**
- **GitHub OAuth author verification** (issue #77) β€” `version init` prompts GitHub device flow; verified `github:<username>` stored in `.deepdiffdb/config` (`0o600`); used automatically by `version commit`; `--skip-auth` for CI; `DEEPDIFFDB_GITHUB_CLIENT_ID` env var or build-time `-ldflags` injection
- Documentation and website updated throughout for v1.2.0

### v0.6: Enhanced Error Handling & Logging (Released 2026-01-06)

**Features Delivered:**
Expand Down Expand Up @@ -190,31 +207,25 @@ We release a new version every **Saturday**. Each release includes one or more f
- ~~`version branch` / `version checkout` / `version tree`~~ β€” branching and ASCII graph
- See [Sample 17](https://github.com/iamvirul/deepdiff-db/tree/main/samples/17-git-like-versioning) for end-to-end demo

2. **GitHub OAuth Author Verification** βœ… **Done (issue #77)**
2. ~~**GitHub OAuth Author Verification**~~ βœ… **Shipping in v1.2.0 (issue #77)**
- ~~`version init` GitHub device flow authentication~~
- ~~`version commit` reads verified `github:<username>` from `.deepdiffdb/config`~~
- ~~Build-time client ID injection via `-ldflags` in `release.yml`~~
- ~~`DEEPDIFFDB_GITHUB_CLIENT_ID` env var override for local use~~

3. **CI/CD Integration**
- GitHub Actions plugin
- GitLab CI integration
- Jenkins plugin
- Pre-commit hooks

3. **Advanced Schema Features**
3. **Advanced Schema Features** _(v1.3.0 candidate)_
- View and stored procedure diff
- Trigger comparison
- Function/procedure diff
- Sequence comparison

4. **Performance & Scalability**
4. **Performance & Scalability** _(v1.4.0 candidate)_
- Parallel table processing
- Distributed diff processing
- Incremental diff (only changed tables)
- Diff caching

5. **Developer Experience**
5. **Developer Experience** _(v1.5.0 candidate)_
- VS Code extension
- CLI autocomplete
- Configuration wizard
Expand Down Expand Up @@ -280,5 +291,5 @@ If you'd like to contribute to any of these features, please:

---

**Last Updated:** 2026-03-22
**Last Updated:** 2026-04-05

2 changes: 1 addition & 1 deletion website/docs/deployment/cicd.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ jobs:

## Tips

- **Pin the version** in CI with `DEEPDIFFDB_VERSION: v1.1.0` to avoid unexpected upgrades.
- **Pin the version** in CI with `DEEPDIFFDB_VERSION: v1.2.0` to avoid unexpected upgrades.
- **Cache the binary** between runs using your CI platform's cache action.
- **Fail fast on schema changes** β€” set `--exit-code` (coming in a future release) to fail CI if any drift is detected.
- **Use Docker** in CI for a hermetic environment: `docker run ghcr.io/iamvirul/deepdiff-db:latest diff`.
Expand Down
12 changes: 6 additions & 6 deletions website/docs/deployment/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.1.0
docker pull ghcr.io/iamvirul/deepdiff-db:v1.2.0
```

## Run a diff
Expand Down Expand Up @@ -52,8 +52,8 @@ Copy and adapt `docker-compose.example.yml` to point at your real databases.

```bash
docker build \
--build-arg VERSION=v1.1.0 \
-t deepdiff-db:v1.1.0 \
--build-arg VERSION=v1.2.0 \
-t deepdiff-db:v1.2.0 \
.
```

Expand All @@ -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.1.0` | Specific version |
| `v1.1.0-amd64` | Architecture-specific manifest |
| `v1.1.0-arm64` | Architecture-specific manifest |
| `v1.2.0` | Specific version |
| `v1.2.0-amd64` | Architecture-specific manifest |
| `v1.2.0-arm64` | Architecture-specific manifest |

Multi-arch manifests cover `linux/amd64` and `linux/arm64`.
2 changes: 1 addition & 1 deletion website/docs/getting-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ deepdiffdb --version
Expected output:

```
DeepDiff DB v1.1.0
DeepDiff DB v1.2.0
```

---
Expand Down
2 changes: 1 addition & 1 deletion website/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -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.1', position: 'right' },
{ href: 'https://github.com/iamvirul/deepdiff-db/releases', label: 'v1.2', position: 'right' },
],
},
footer: {
Expand Down
2 changes: 1 addition & 1 deletion website/src/pages/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ export default function Home() {
<div className={styles.hero}>
<div className={styles.heroBg} />
<div className={styles.heroContent}>
<div className={styles.heroBadge}>v1.1 β€” Production ready release</div>
<div className={styles.heroBadge}>v1.2 β€” Verified authorship & CI/CD hardening</div>
<h1 className={styles.heroTitle}>
Database diff that<br />
<span className={styles.heroGradient}>actually ships</span>
Expand Down
Loading