Skip to content

MigraDiff

v1.2.0 Breaking

This release includes 1 breaking change for platform teams planning a safe upgrade.

Published 5d Relational Databases
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

ReleasePort's take

Light signal
editorial:auto 2d

In v1.2.0, MigraDiff enables --safe mode by default, preventing destructive migrations unless --force-destructive is explicitly used.

Why it matters: Default safe‑mode blocks unintentional data loss; operators must add --force-destructive to trigger destructive changes, reducing accidental migration errors.

Summary

AI summary

--safe mode is now on by default preventing destructive migrations without --force-destructive.

Changes in this release

Feature Medium

--safe mode is now on by default, halting destructive migrations.

--safe mode is now on by default, halting destructive migrations.

Source: llm_adapter@2026-06-02

Confidence: low

Feature Medium

Smart column rename detection prompts for potential renames instead of separate drop/add.

Smart column rename detection prompts for potential renames instead of separate drop/add.

Source: llm_adapter@2026-06-02

Confidence: low

Feature Low

Enum evolution diffing supports ADD VALUE for safe additions and DROP+recreate for removals.

Enum evolution diffing supports ADD VALUE for safe additions and DROP+recreate for removals.

Source: llm_adapter@2026-06-02

Confidence: high

Feature Low

Domain diffing capability added to migradiff.

Domain diffing capability added to migradiff.

Source: llm_adapter@2026-06-02

Confidence: high

Feature Low

--safe mode is enabled by default, aborting on destructive operations.

--safe mode is enabled by default, aborting on destructive operations.

Source: granite4.1:30b@2026-06-02-audit

Confidence: low

Feature Low

Use --force-destructive to override the safe mode and proceed with destructive changes.

Use --force-destructive to override the safe mode and proceed with destructive changes.

Source: granite4.1:30b@2026-06-02-audit

Confidence: low

Feature Low

Smart column rename detection suggests renames when DROP and ADD COLUMN match on same table.

Smart column rename detection suggests renames when DROP and ADD COLUMN match on same table.

Source: granite4.1:30b@2026-06-02-audit

Confidence: low

Refactor Low

Codebase now has zero flake8 warnings.

Codebase now has zero flake8 warnings.

Source: llm_adapter@2026-06-02

Confidence: high

Full changelog

Quick update on the migradiff fork (maintained continuation of
the deprecated djrobstep/migra).

v1.2.0 is out: pip install --upgrade migradiff

The headline feature: --safe mode is now on by default. If a
generated migration contains DROP TABLE, DROP COLUMN, or other
destructive operations, the tool halts with exit code 1 and
tells you exactly what it found. Use --force-destructive to
proceed when you're sure.

Also added smart column rename detection — when a DROP COLUMN
and ADD COLUMN of the same type appear on the same table,
migradiff asks if you meant to rename it instead. Saves a lot
of accidental data loss.

Other additions: enum evolution diffing (ADD VALUE for safe
additions, DROP+recreate for removals), domain diffing, and
the codebase now has zero flake8 warnings for the first time.

Full changelog: https://github.com/migradiff/migra/blob/main/CHANGELOG.md

Breaking Changes

  • Default behavior changed: --safe mode is on by default, causing the tool to exit with code 1 when destructive operations (DROP TABLE, DROP COLUMN, etc.) are detected; use --force-destructive to override.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track MigraDiff

Get notified when new releases ship.

Sign up free

About MigraDiff

All releases →

Related context

Earlier breaking changes

  • v1.1.0 Requires uninstalling original migra before installing migradiff

Beta — feedback welcome: [email protected]