Releases: AzimMahmud/dbsh
Release list
dbsh v2.1.3
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 dbshonce 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
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 dbshonce 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
CNAMEto the published docs root so the custom domain persists across deploys. - Fixed the browser favicon path to
/icon.pngafter the base-path change.
See CHANGELOG.md for details.
DbShift v2.0.1
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 | bashWindows (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 DbShiftManual: 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 -UninstallDownloads
| 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(orsudo 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
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 DbShiftpath, 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 | bashWindows (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 -UninstallDownloads
| 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.shnow exits 0 on success — a cleanup-trap bug made every install (successful or not) exit withworkdir: unbound variable. Anyone scripting around the exit code would have seen every install "fail."install.ps1now 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 banner —
dbshift new's interactive wizard no longer prints your .NET runtime/OS version on every run.
CI hardening
- Explicit least-privilege
permissions: contents: readadded to the build workflow.
Verify
Checksums are in SHA256SUMS.
Changelog
See CHANGELOG.md for the complete, itemized list.
DbShift v1.1.0
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 | bashWindows (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(orsudo xattr -rd com.apple.quarantine /usr/local/bin/dbshift).
What's new
--verboseflag — information-level logs for migrations, rollbacks, and repairs.strictAuditmode — audit failures are re-thrown instead of silently swallowed.InvalidateCache()— force re-reading scripts from disk without restarting.- Async script parsing —
ParseAsync()with cancellation token support. ProviderSqlHelper— extracted 7 SQL template methods, reducingNewCommandby ~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 fix —
ReleaseAsync/RenewAsyncno longer crash withSqliteException.
Verify
Checksums are in SHA256SUMS.
Changelog
See CHANGELOG.md.
DbShift v1.0.0
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 | bashWindows (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(orsudo xattr -rd com.apple.quarantine /usr/local/bin/dbshift).
Verify
Checksums are in SHA256SUMS.
Changelog
See CHANGELOG.md.