Skip to content

Releases: AzimMahmud/dbsh

dbsh v2.1.3

Choose a tag to compare

@AzimMahmud AzimMahmud released this 25 Aug 18:25

dbsh v2.1.3

Installation

# Linux / macOS
curl -fsSL https://github.com/AzimMahmud/dbsh/releases/download/v2.1.3/install.sh | bash

# Windows
powershell -c "iwr -Uri https://github.com/AzimMahmud/dbsh/releases/download/v2.1.3/install.ps1 | iex"

The install scripts automatically verify the downloaded archive against SHA256SUMS published alongside this release.

.NET global tool — install with dotnet tool install --global dbsh once the package is published to NuGet.

macOS users: the first time you run dbsh, Gatekeeper may quarantine the binary. The install script removes the quarantine attribute automatically.

Downloads

Platform Package
Windows x64 dbsh-windows-x64.zip
Windows ARM64 dbsh-windows-arm64.zip
Linux x64 dbsh-linux-x64.tar.gz
Linux ARM64 dbsh-linux-arm64.tar.gz
Linux musl x64 (Alpine) dbsh-linux-musl-x64.tar.gz
macOS x64 dbsh-macos-x64.tar.gz
macOS ARM64 dbsh-macos-arm64.tar.gz

Verifying integrity

Every archive is checksummed in SHA256SUMS (attached to this release). The install scripts verify it automatically; to verify manually:

curl -fsSL https://github.com/AzimMahmud/dbsh/releases/download/v2.1.3/SHA256SUMS | sha256sum -c -

Changelog

  • Fixed Unicode encoding issues in install scripts (box-drawing characters, em dashes, status icons)
  • Updated release packaging with proper UTF-8 encoding for cross-platform compatibility
  • Improved install script display for better terminal rendering

See CHANGELOG.md for details.

dbsh v2.1.1

Choose a tag to compare

@AzimMahmud AzimMahmud released this 25 Aug 16:55

dbsh v2.1.1

Installation

# Linux / macOS
curl -fsSL https://github.com/AzimMahmud/dbsh/releases/download/v2.1.1/install.sh | bash

# Windows
powershell -c "iwr -Uri https://github.com/AzimMahmud/dbsh/releases/download/v2.1.1/install.ps1 | iex"

The install scripts automatically verify the downloaded archive against SHA256SUMS published alongside this release.

.NET global tool — install with dotnet tool install --global dbsh once the package is published to NuGet.

macOS users: the first time you run dbsh, Gatekeeper may quarantine the binary. The install script removes the quarantine attribute automatically.

Downloads

Platform Package
Windows x64 dbsh-windows-x64.zip
Windows ARM64 dbsh-windows-arm64.zip
Linux x64 dbsh-linux-x64.tar.gz
Linux ARM64 dbsh-linux-arm64.tar.gz
Linux musl x64 (Alpine) dbsh-linux-musl-x64.tar.gz
macOS x64 dbsh-macos-x64.tar.gz
macOS ARM64 dbsh-macos-arm64.tar.gz

Verifying integrity

Every archive is checksummed in SHA256SUMS (attached to this release). The install scripts verify it automatically; to verify manually:

curl -fsSL https://github.com/AzimMahmud/dbsh/releases/download/v2.1.1/SHA256SUMS | sha256sum -c -

Changelog

  • Documentation site now served from https://dbsh.azim.me/ (root base) instead of the GitHub Pages project path.
  • Added CNAME to the published docs root so the custom domain persists across deploys.
  • Fixed the browser favicon path to /icon.png after the base-path change.

See CHANGELOG.md for details.

DbShift v2.0.1

Choose a tag to compare

@AzimMahmud AzimMahmud released this 23 Aug 09:23

DbShift v2.0.1

A database-agnostic migration tool for .NET — PostgreSQL, SQL Server, MySQL, and SQLite from one CLI.

Installation

Linux / macOS (Homebrew not required):

curl -fsSL https://github.com/AzimMahmud/dbshift/releases/download/v2.0.1/install.sh | bash

Windows (PowerShell):

powershell -c "iwr -Uri https://github.com/AzimMahmud/dbshift/releases/download/v2.0.1/install.ps1 | iex"

.NET global tool:

dotnet tool install --global DbShift

Manual: download the archive for your platform below, extract, and put dbshift (dbshift.exe) on your PATH.

Updating

Re-run the same install command above — it overwrites the existing binary in place and won't duplicate the PATH entry. Nothing else needs migrating between versions.

Uninstalling

Both install scripts double as uninstallers — they remove the binary and the PATH entry they added.

# Linux / macOS
UNINSTALL=1 bash -c "$(curl -fsSL https://github.com/AzimMahmud/dbshift/releases/download/v2.0.1/install.sh)"

# Windows
iwr -Uri https://github.com/AzimMahmud/dbshift/releases/download/v2.0.1/install.ps1 -OutFile install.ps1
.\install.ps1 -Uninstall

Downloads

Platform Package
Windows x64 dbshift-windows-x64.zip
Linux x64 dbshift-linux-x64.tar.gz
Linux arm64 dbshift-linux-arm64.tar.gz
macOS x64 dbshift-macos-x64.tar.gz
macOS arm64 dbshift-macos-arm64.tar.gz
NuGet DbShift.2.0.1.nupkg

Self-contained .NET 10 single-file binaries — no runtime install required.

macOS: first run may be blocked by Gatekeeper — run xattr -d com.apple.quarantine dbshift (or sudo xattr -rd com.apple.quarantine /usr/local/bin/dbshift).

What's New

Documentation

  • VitePress documentation site — full documentation deployed to GitHub Pages covering installation, all commands, configuration, multi-database setup, script conventions, tracking tables, architecture, and CI/CD integration.
  • Custom light/dark theme — branded VitePress theme with teal-blue gradient palette, styled nav, feature cards, and sidebar.
  • GitHub Pages deployment workflow — auto-deploys docs on push to main.
  • README rewritten — condensed from 608 to 150 lines with a professional structure: centered header, feature highlights, command table with docs links, and clear installation instructions.

Design

  • Nav improved — icon-only logo in nav bar, styled hover/active states, border divider.
  • Favicon fixed — now uses the square icon SVG, displaying correctly in browser tabs.

Verify

Checksums are in SHA256SUMS.

curl -fsSL https://github.com/AzimMahmud/dbshift/releases/download/v2.0.1/SHA256SUMS | sha256sum -c -

Changelog

See CHANGELOG.md for the complete, itemized list.

DbShift v2.0.0

Choose a tag to compare

@AzimMahmud AzimMahmud released this 22 Aug 16:57

DbShift v2.0.0

A database-agnostic migration tool for .NET — PostgreSQL, SQL Server, MySQL, and SQLite from one CLI.

Breaking change: dropped net6.0/net8.0 support — DbShift now targets .NET 10 only. This only affects the dotnet tool install --global DbShift path, which needs the .NET 10 SDK/runtime. The self-contained binaries below are unaffected either way — they bundle .NET 10 and need no runtime installed at all.

Installation

Linux / macOS (Homebrew not required):

curl -fsSL https://github.com/AzimMahmud/dbshift/releases/download/v2.0.0/install.sh | bash

Windows (PowerShell):

powershell -c "iwr -Uri https://github.com/AzimMahmud/dbshift/releases/download/v2.0.0/install.ps1 | iex"

Manual: download the archive for your platform below, extract, and put dbshift (dbshift.exe) on your PATH.

Updating

Re-run the same install command above — it overwrites the existing binary in place and won't duplicate the PATH entry. Nothing else needs migrating between versions.

Uninstalling

Both install scripts double as uninstallers — they remove the binary and the PATH entry they added.

# Linux / macOS
UNINSTALL=1 bash -c "$(curl -fsSL https://github.com/AzimMahmud/dbshift/releases/download/v2.0.0/install.sh)"
# Windows — download first; a switch like -Uninstall can't be passed through `iwr | iex`
iwr -Uri https://github.com/AzimMahmud/dbshift/releases/download/v2.0.0/install.ps1 -OutFile install.ps1
.\install.ps1 -Uninstall

Downloads

Platform Package
Windows x64 dbshift-windows-x64.zip
Linux x64 dbshift-linux-x64.tar.gz
Linux arm64 dbshift-linux-arm64.tar.gz
macOS x64 dbshift-macos-x64.tar.gz
macOS arm64 dbshift-macos-arm64.tar.gz

Self-contained .NET 10 single-file binaries — no runtime install required.

macOS: first run may be blocked by Gatekeeper — run xattr -d com.apple.quarantine dbshift (or sudo xattr -rd com.apple.quarantine /usr/local/bin/dbshift).

What's new

Breaking

  • .NET 10 only — dropped net6.0/net8.0 multi-targeting. Building from source, dotnet tool install, and CI now all require the .NET 10 SDK/runtime.

Testing & security

  • 54 real-database integration tests — PostgreSQL, MySQL, and SQL Server now get the same tracker/lock-manager/audit-log coverage SQLite already had, run against live containers via Testcontainers (dotnet test --filter Category=Integration, needs Docker).
  • CodeQL security scanning — automated security-and-quality analysis on every push/PR and weekly on a schedule.

Reliability fixes

  • Lock-loss safety fix — a deploy no longer keeps applying migrations after its distributed lock lease has silently expired and been taken by another process; it now stops immediately and reports the failure instead of risking a concurrent-write race.
  • Deploy crash fix — a non-database fault during a migration no longer crashes the entire deploy; it's now reported as a structured failure like any other error, while genuine cancellation (Ctrl+C) still propagates correctly.

Installer fixes and improvements

  • install.sh now exits 0 on success — a cleanup-trap bug made every install (successful or not) exit with workdir: unbound variable. Anyone scripting around the exit code would have seen every install "fail."
  • install.ps1 now actually prints its status messages — they were silently blank on every run due to an unbound variable reference.
  • New: install.sh --uninstall / install.ps1 -Uninstall — both scripts now remove the binary and clean up the PATH entry they added, idempotently.
  • Quieter startup bannerdbshift new's interactive wizard no longer prints your .NET runtime/OS version on every run.

CI hardening

  • Explicit least-privilege permissions: contents: read added to the build workflow.

Verify

Checksums are in SHA256SUMS.

Changelog

See CHANGELOG.md for the complete, itemized list.

DbShift v1.1.0

Choose a tag to compare

@AzimMahmud AzimMahmud released this 30 Jul 04:39

DbShift v1.1.0

A database-agnostic migration tool for .NET — PostgreSQL, SQL Server, MySQL, and SQLite from one CLI.

Installation

Linux / macOS ( Homebrew not required ):

curl -fsSL https://github.com/AzimMahmud/dbshift/releases/download/v1.1.0/install.sh | bash

Windows (PowerShell):

powershell -c "iwr -Uri https://github.com/AzimMahmud/dbshift/releases/download/v1.1.0/install.ps1 -OutFile install.ps1; .\install.ps1"

Manual: download the archive for your platform below, extract, and put dbshift (dbshift.exe) on your PATH.

Downloads

Platform Package
Windows x64 dbshift-windows-x64.zip
Linux x64 dbshift-linux-x64.tar.gz
Linux arm64 dbshift-linux-arm64.tar.gz
macOS x64 dbshift-macos-x64.tar.gz
macOS arm64 dbshift-macos-arm64.tar.gz

Self-contained .NET 10 single-file binaries — no runtime install required.

macOS: first run may be blocked by Gatekeeper — run xattr -d com.apple.quarantine dbshift (or sudo xattr -rd com.apple.quarantine /usr/local/bin/dbshift).

What's new

  • --verbose flag — information-level logs for migrations, rollbacks, and repairs.
  • strictAudit mode — audit failures are re-thrown instead of silently swallowed.
  • InvalidateCache() — force re-reading scripts from disk without restarting.
  • Async script parsingParseAsync() with cancellation token support.
  • ProviderSqlHelper — extracted 7 SQL template methods, reducing NewCommand by ~100 lines.
  • 16 SQLite integration tests — real database tests for tracker, lock, and audit.
  • Per-provider SQL conventions — SQL Server [brackets] + dbo., MySQL backticks + InnoDB, PostgreSQL/SQLite idiomatic styles.
  • SQLite lock fixReleaseAsync/RenewAsync no longer crash with SqliteException.

Verify

Checksums are in SHA256SUMS.

Changelog

See CHANGELOG.md.

DbShift v1.0.0

Choose a tag to compare

@AzimMahmud AzimMahmud released this 25 Jun 17:33

DbShift v1.0.0

A database-agnostic migration tool for .NET — PostgreSQL, SQL Server, MySQL, and SQLite from one CLI.

Installation

Linux / macOS ( Homebrew not required ):

curl -fsSL https://github.com/AzimMahmud/dbshift/releases/download/v1.0.0/install.sh | bash

Windows (PowerShell):

powershell -c "iwr -Uri https://github.com/AzimMahmud/dbshift/releases/download/v1.0.0/install.ps1 -OutFile install.ps1; .\install.ps1"

Manual: download the archive for your platform below, extract, and put dbshift (dbshift.exe) on your PATH.

Downloads

Platform Package
Windows x64 dbshift-windows-x64.zip
Linux x64 dbshift-linux-x64.tar.gz
Linux arm64 dbshift-linux-arm64.tar.gz
macOS x64 dbshift-macos-x64.tar.gz
macOS arm64 dbshift-macos-arm64.tar.gz

Self-contained .NET 8 single-file binaries — no runtime install required.

macOS: first run may be blocked by Gatekeeper — run xattr -d com.apple.quarantine dbshift (or sudo xattr -rd com.apple.quarantine /usr/local/bin/dbshift).

Verify

Checksums are in SHA256SUMS.

Changelog

See CHANGELOG.md.