Repository navigation
Releases
BashDock v1.14.1
BashDock 1.14.1 adds temporary external Git Bash command buttons and fixes their argument handling. These notes cover changes since 1.14.0.
Temporary external shell buttons
- Enable Run in temporary external shell on a command button to run it in a separate Git Bash window, leaving a long-running process in the tab's terminal alone. The external window closes when its Bash command finishes.
- An external-shell icon appears on the button and in Configure tab, alongside the existing timing and confirmation markers.
- Quotes and multiline commands now reach Bash intact. To invoke Windows Command Prompt from Git Bash, use
cmd.exe //c, for examplecmd.exe //c start "" "http://127.0.0.1:8000/". Git Bash converts/cas a path and can otherwise leave an interactive Command Prompt open.
Install and update
Download the Windows x64 ZIP, extract the complete bashdock folder, and run bashdock.exe. Git for Windows is required; Python and Node are not. The matching .sha256 file verifies the ZIP. Application and dependency source archives are attached separately.
The Windows executables are not Authenticode-signed. Automatic-update metadata is signed separately and verified by BashDock. BashDock is licensed under GNU GPL version 3 only; see bundled notices for third-party components.
Full Changelog: v1.14.0...v1.14.1
BashDock v1.14.0
BashDock 1.14.0 adds an interrupt instruction to command buttons. These notes cover changes since public release 1.13.4.
Interrupt from a button
- Put
<<interrupt>>on its own line in a button's Bash command to send Ctrl+C to the active terminal. - Put a Bash command on the next line to run it after the interrupted program returns to the local shell prompt. For example, a button can stop a development server and restart it.
- A button containing only
<<interrupt>>can interrupt a foreground program, including one in an interactive or remote session. Following commands wait for the local Bash prompt, so they do not automatically run inside a remote session. - The marker must use the exact spelling shown above. Existing button settings and presets need no migration.
Install and update
Download the Windows x64 ZIP, extract the complete bashdock folder, and run bashdock.exe. Git for Windows must be installed; Python and Node are not required. Check the ZIP using the accompanying .sha256 file. The application source and matching dependency source archives are separate release assets.
The Windows executables are not Authenticode-signed. Automatic-update metadata is signed separately and verified by BashDock. BashDock is licensed under GNU GPL version 3 only; see the bundled notices and source information for third-party components.
Full Changelog: v1.13.4...v1.14.0
BashDock v1.13.4
BashDock 1.13.4 adds personal command preset groups, clearer button confirmations, and a few tab and editor refinements. These notes cover changes since public release 1.12.1.
Personal command preset groups
- Create and edit your own groups in Manage preset groups… alongside the built-in groups.
- Import and export groups to share them or keep a backup. Review imported commands before applying them to a tab, especially commands from someone else.
- Create group from current tab… in the group manager copies that tab's configured buttons into a new personal group.
- Optional button descriptions now appear in Edit command button. They carry through preset application and group creation, and appear as hover help on command buttons and in the tab configuration list.
Button and tab polish
- Buttons requiring confirmation now show the button label as the dialog title and the configured confirmation message prominently. Show command reveals the scrollable script when you want to inspect it.
- Clock and bell markers in the tab configuration list identify buttons with execution timing and confirmation enabled. Both markers appear before the command text.
- Closing the last tab asks for confirmation before closing BashDock, without a second exit prompt.
- Terminal focus returns after closing the Manage menu so the next typed character reaches the shell.
Install and update
Download the Windows x64 ZIP, extract the complete bashdock folder, and run bashdock.exe. Git for Windows must be installed; Python and Node are not required. Check the ZIP using the accompanying .sha256 file. The application source and matching dependency source archives are separate release assets.
The Windows executables are not Authenticode-signed. Automatic-update metadata is signed separately and verified by BashDock. BashDock is licensed under GNU GPL version 3 only; see the bundled notices and source information for third-party components. Window restoration starts fresh shells rather than restoring running commands or remote connections.
Full Changelog: v1.12.1...v1.13.4
BashDock v1.12.1
BashDock 1.12.1 adds terminal search, quick font zoom, optional command timing, and more tab and command-button controls. These notes cover the changes since public release 1.6.8.
Find text in terminal output
- Press Ctrl+F or choose Manage → Find in terminal… to open search in the active tab.
- Matches update as you type. Search ignores case, treats the query as literal text, and handles wrapped lines and Unicode.
- Use Enter / Shift+Enter or the arrow buttons for next / previous match. Navigation wraps at the end.
- Escape closes search and restores terminal focus without jumping to the bottom.
- Each tab keeps its own query for the session. Normal scrollback shows match counts and highlights up to 1,000 matches; alternate-screen programs can search their current screen.
- Search stays inside the terminal page. Queries are not sent to Bash, saved in settings, or included in diagnostic reports. Search highlights do not trigger automatic clipboard copying.
Quick font zoom and shortcut reference
- Ctrl++ (also Ctrl+=), Ctrl+-, and Ctrl+0 increase, decrease, and reset the current tab’s font size. Matching actions are available under Settings.
- Zoom is temporary and independent for each tab, stays within 8–48 pixels, and resets to the tab’s configured size. It leaves saved preferences unchanged.
- Help → Keyboard shortcuts… lists the existing app, search, and command-editor keys in a read-only reference.
- Check for updates… now sits directly above About BashDock… in the bottom Help menu group.
More tab icons and useful context menus
- Choose from 96 original generic tab icons, with live filtering by name and keywords.
- Right-click a tab to configure, rename, duplicate, open its folder in Explorer, copy its folder path, or close it.
- Middle-click a tab to close it using the existing shell-session confirmation behavior.
- Right-click a command button to edit, duplicate, move left/right, or delete it.
- Duplicating a tab preserves its configuration and opens a fresh shell. It does not copy running commands or connections.
- Explorer folder shortcuts correctly distinguish similarly named folders such as
bashdockandbashdock.com.
Optional command-button timing
- Enable Show execution time in an individual command button’s editor to show its elapsed time and exit status in that tab’s footer.
- Timing starts disabled for existing and new buttons. It applies to button scripts started at the local Bash prompt; additional input to a foreground program or remote session remains untimed.
- Timed scripts run in the existing shell, preserving directory and environment changes. Their implementation wrapper is kept out of the terminal and shell history, and the normal multiline prompt is restored afterward.
- Diagnostics continue to exclude command text, terminal output, clipboard contents, and search queries.
Windows validation
The test runner isolates native terminal tests from the general Qt suite, reports WebEngine startup evidence on failures, and repeats command execution, timing, scrolling, zoom and search checks across the Git/Python compatibility matrix.
Download the Windows x64 ZIP, extract the complete bashdock folder, and run bashdock.exe. Git for Windows must be installed; Python and Node are not required.
The .sha256 file verifies the ZIP. Build information records the source commit and dependency versions.
The Windows executables are not Authenticode-signed. Update metadata is signed
separately and verified by the updater. Window restoration starts fresh shells;
it does not restore running commands or remote connections.
BashDock is licensed under GNU GPL version 3 only. Third-party components keep
their own licenses; see LICENSE, COPYRIGHT, THIRD-PARTY-NOTICES.md, and
licenses/ and third-party-licenses.zip in the app folder. The archive contains
the complete detailed notices and a hash index; open it in File Explorer or from
Help → About → License and notices. SOURCE.txt identifies matching source archives.
The application source ZIP and Qt, PySide, pywinpty, and Rust dependency source
archives are attached separately beside the executable ZIP. You do not need
these archives to run the app. bashdock-VERSION-SHA256SUMS.txt (with the release
version in its filename) checks all release assets. Preserve source access and
notices when redistributing.
Signed releases include bashdock-update.json and bashdock-update.sig for the
app's automatic updater. These are additional metadata assets, not application
or source downloads.
Full Changelog: v1.6.8...v1.12.1
BashDock v1.6.8
BashDock 1.6.8 makes the download smaller, cleans up old update backups, and polishes tab controls and keyboard focus.
Smaller downloads
- Keep the independent updater free of unnecessary Qt rendering dependencies.
- Omit five WebEngine debug resources from release builds, while retaining the release resources, translations, QML, and developer tools.
- Together these changes reduce the 1.6.8 ZIP by 19.3% compared with 1.6.0: from 267.61 MiB to 215.94 MiB. The attached ZIP is 226,427,474 bytes; use its matching checksum file to verify your download.
- Add checks for the updater's frozen dependencies and real packaged terminal rendering at 100%, 125%, and 150% scaling, repeated after ZIP extraction.
Update backup cleanup
After a successful update, BashDock cleans up older backups that its update journals identify as safe to remove, retaining the latest healthy rollback copy for that installation. In-use files are retried later. Unrecognized folders and unfinished or failed update transactions are left for recovery or review.
Tab controls and focus
- Move New tab directly after the tabs, with a small borderless circular + that brightens on hover or keyboard focus. It stays accessible when tabs overflow.
- Center the + precisely and leave a small gap above the terminal border.
- Restore terminal typing focus when opening a new tab and when closing a tab.
Test reliability
Contain packaged Windows rendering probes in isolated process jobs so console and shell descendants cannot retain temporary folders after a probe exits.
Synchronize the interactive Ctrl+C test with foreground-job startup, removing a timing gap in the test. Repeat its interruption and recovery checks across the Windows Git/Python compatibility matrix, and include terminal state in prompt timeout failures.
Download the Windows x64 ZIP, extract the complete bashdock folder, and run bashdock.exe. Git for Windows must be installed; Python and Node are not required.
The .sha256 file verifies the ZIP. Build information records the source commit and dependency versions.
The Windows executables are not Authenticode-signed. Update metadata is signed
separately and verified by the updater. Window restoration starts fresh shells;
it does not restore running commands or remote connections.
BashDock is licensed under GNU GPL version 3 only. Third-party components keep
their own licenses; see LICENSE, COPYRIGHT, THIRD-PARTY-NOTICES.md, and
licenses/ and third-party-licenses.zip in the app folder. The archive contains
the complete detailed notices and a hash index; open it in File Explorer or from
Help → About → License and notices. SOURCE.txt identifies matching source archives.
The application source ZIP and Qt, PySide, pywinpty, and Rust dependency source
archives are attached separately beside the executable ZIP. You do not need
these archives to run the app. bashdock-VERSION-SHA256SUMS.txt (with the release
version in its filename) checks all release assets. Preserve source access and
notices when redistributing.
Signed releases include bashdock-update.json and bashdock-update.sig for the
app's automatic updater. These are additional metadata assets, not application
or source downloads.
Full Changelog: v1.6.0...v1.6.8
BashDock v1.6.0
BashDock 1.6 improves command buttons with multiline editing, optional confirmation prompts, and curated presets.
Multiline command editor
Configure tab now opens a dedicated editor for a button's label and command body.
Write multiple lines with indentation, blank lines, quotes and Unicode, including
Bash loops, functions, continuation lines and heredocs. Commands run in the tab's
existing shell and retain its directory and environment. Bash syntax controls
whether later commands run after a failure; there is no automatic stop-on-error.
Use Add / Edit…, double-click a row, or press F2/Enter. Enter adds a line, Tab
inserts indentation, and Ctrl+Tab moves focus out of the command body. Save in the
editor stages changes until Configure tab is saved; Cancel discards staged edits.
Confirm before using
Each command button can request confirmation with a custom message, defaulting
to “Are you sure?”. The message field is disabled until confirmation is enabled.
The execution prompt shows the message, button label, target tab and exact
command. Cancel is the default; Run command submits the reviewed command once
to the reviewed shell. Existing buttons keep confirmation off unless enabled.
Confirmation settings stay with buttons in saved workspaces, settings exports,
imports and backups. Editing, applying or restoring definitions never runs them.
Command presets
Configure tab → Presets… offers 18 editable starter buttons in five groups:
- Git essentials
- Git recovery / AI Rescue
- Python / Backend
- Web / Node
- Docker Compose
Choose individual buttons or all new buttons in a group. Review exact commands,
required tools and confirmation messages before applying. Presets append by
default; replacement previews the removed buttons and requires confirmation.
Exact label-and-command duplicates are marked Already added and skipped by
Select all new buttons, with explicit duplicate selection still available.
Applying only stages ordinary editable buttons in Configure tab. Save keeps them;
Cancel preserves the existing buttons. Presets do not install tools. Commands
that discard, overwrite or stop work have confirmation enabled by default, with
specific messages that remain editable.
Fixes and validation
- Preserve literal tabs in button commands with standard Bash Readline bindings.
- Fix Ctrl+Tab navigation from the command editor on Windows.
- Close the HTTPS response when rejecting an insecure update redirect, avoiding
an unclosed response without weakening certificate or redirect verification. - Improve Windows test cleanup and cover confirmation, preset persistence,
cancellation, keyboard access and short-window layout across Python versions.
Download the Windows x64 ZIP, extract the complete bashdock folder, and run bashdock.exe. Git for Windows must be installed; Python and Node are not required.
The .sha256 file verifies the ZIP. Build information records the source commit and dependency versions.
The Windows executables are not Authenticode-signed. Update metadata is signed
separately and verified by the updater. Window restoration starts fresh shells;
it does not restore running commands or remote connections.
BashDock is licensed under GNU GPL version 3 only. Third-party components keep
their own licenses; see LICENSE, COPYRIGHT, THIRD-PARTY-NOTICES.md, and
licenses/ and third-party-licenses.zip in the app folder. The archive contains
the complete detailed notices and a hash index; open it in File Explorer or from
Help → About → License and notices. SOURCE.txt identifies matching source archives.
The application source ZIP and Qt, PySide, pywinpty, and Rust dependency source
archives are attached separately beside the executable ZIP. You do not need
these archives to run the app. bashdock-VERSION-SHA256SUMS.txt (with the release
version in its filename) checks all release assets. Preserve source access and
notices when redistributing.
Signed releases include bashdock-update.json and bashdock-update.sig for the
app's automatic updater. These are additional metadata assets, not application
or source downloads.
Full Changelog: v1.3.0...v1.6.0
BashDock v1.3.0
BashDock 1.3 adds wrapping command buttons.
Command buttons wrap into additional rows as the window narrows, keeping their
configured order. Widening returns space to the terminal; the configure gear
stays beside the first row. Long labels shorten visually, with the full label
and command in a tooltip. Unusually large command bars scroll vertically to
preserve terminal space. Resizing keeps the running shell and its contents.
Also included from 1.2: tab icons and compact tab overflow.
Tabs receive generic shape icons automatically. Configure tab → Tab icon
offers 36 bundled shapes and symbols. Icons are remembered with tabs, saved
workspaces, settings exports and backups. When tab labels no longer fit, the
bar switches to icons with full names in tooltips. Widening the window restores
labels; scroll arrows remain available when compact tabs also overflow.
Also included from 1.1: Manage → Workspaces → Replace current.
Leave it unchecked to add missing workspace tabs. Check it to replace the current
tabs, using the existing confirmation and backup. The mode is remembered across
launches; changing the toggle alone leaves running shells untouched.
New terminal views start with a dark background while loading, avoiding a white
flash when adding tabs or replacing a workspace. The background follows the
terminal's configured theme.
Download the Windows x64 ZIP, extract the complete bashdock folder, and run bashdock.exe. Git for Windows must be installed; Python and Node are not required.
The .sha256 file verifies the ZIP. Build information records the source commit and dependency versions.
The Windows executables are not Authenticode-signed. Update metadata is signed
separately and verified by the updater. Window restoration starts fresh shells;
it does not restore running commands or remote connections.
BashDock is licensed under GNU GPL version 3 only. Third-party components keep
their own licenses; see LICENSE, COPYRIGHT, THIRD-PARTY-NOTICES.md, and
licenses/ and third-party-licenses.zip in the app folder. The archive contains
the complete detailed notices and a hash index; open it in File Explorer or from
Help → About → License and notices. SOURCE.txt identifies matching source archives.
The application source ZIP and Qt, PySide, pywinpty, and Rust dependency source
archives are attached separately beside the executable ZIP. You do not need
these archives to run the app. bashdock-VERSION-SHA256SUMS.txt (with the release
version in its filename) checks all release assets. Preserve source access and
notices when redistributing.
Signed releases include bashdock-update.json and bashdock-update.sig for the
app's automatic updater. These are additional metadata assets, not application
or source downloads.
Full Changelog: v1.0.0...v1.3.0
BashDock v1.0.0
BashDock 1.0 brings persistent Git Bash tabs, per-tab command buttons and saved
workspaces to Windows.
- Restore tabs, folders, command bars and window geometry in fresh shell sessions.
- Set terminal defaults and independent per-tab appearance overrides.
- Export/import settings and recover from backups.
- Copy/paste with multiline confirmation, jump to the bottom of terminal output,
and open an independent external Git Bash window. - Install verified, signed automatic updates after confirming restart, with
startup checks and rollback protection. Developers can stage local builds. - Export diagnostic reports without command text, terminal output or clipboard
contents.
Download the Windows x64 ZIP, extract the complete bashdock folder, and run bashdock.exe. Git for Windows must be installed; Python and Node are not required.
The .sha256 file verifies the ZIP. Build information records the source commit and dependency versions.
The Windows executables are not Authenticode-signed. Update metadata is signed
separately and verified by the updater. Window restoration starts fresh shells;
it does not restore running commands or remote connections.
BashDock is licensed under GNU GPL version 3 only. Third-party components keep
their own licenses; see LICENSE, COPYRIGHT, THIRD-PARTY-NOTICES.md, and
licenses/ and third-party-licenses.zip in the app folder. The archive contains
the complete detailed notices and a hash index; open it in File Explorer or from
Help → About → License and notices. SOURCE.txt identifies matching source archives.
The application source ZIP and Qt, PySide, pywinpty, and Rust dependency source
archives are attached separately beside the executable ZIP. You do not need
these archives to run the app. bashdock-VERSION-SHA256SUMS.txt (with the release
version in its filename) checks all release assets. Preserve source access and
notices when redistributing.
Signed releases include bashdock-update.json and bashdock-update.sig for the
app's automatic updater. These are additional metadata assets, not application
or source downloads.
Full Changelog: v0.11.12...v1.0.0
BashDock v0.11.12
Download the Windows x64 ZIP, extract the complete bashdock folder, and run bashdock.exe. Git for Windows must be installed; Python and Node are not required.
The .sha256 file verifies the ZIP. Build information records the source commit and dependency versions.
These executables are not Windows code-signed. Microsoft Defender SmartScreen may display an “unrecognized app” warning on first launch.
BashDock is licensed under GNU GPL version 3 only. Third-party components keep
their own licenses; see LICENSE, COPYRIGHT, THIRD-PARTY-NOTICES.md, and
licenses/ and third-party-licenses.zip in the app folder. The archive contains
the complete detailed notices and a hash index; open it in File Explorer or from
Help → About → License and notices. SOURCE.txt identifies matching source archives.
The application source ZIP and Qt, PySide, pywinpty, and Rust dependency source
archives are attached separately beside the executable ZIP. You do not need
these archives to run the app. bashdock-VERSION-SHA256SUMS.txt (with the release
version in its filename) checks all release assets. Preserve source access and
notices when redistributing.
Signed releases include bashdock-update.json and bashdock-update.sig for the
app's automatic updater. These are additional metadata assets, not application
or source downloads.
Full Changelog: v0.11.11...v0.11.12
BashDock v0.11.11
Download the Windows x64 ZIP, extract the complete bashdock folder, and run bashdock.exe. Git for Windows must be installed; Python and Node are not required.
The .sha256 file verifies the ZIP. Build information records the source commit and dependency versions.
These executables are not Windows code-signed. Microsoft Defender SmartScreen may display an “unrecognized app” warning on first launch.
BashDock is licensed under GNU GPL version 3 only. Third-party components keep
their own licenses; see LICENSE, COPYRIGHT, THIRD-PARTY-NOTICES.md, and
licenses/ and third-party-licenses.zip in the app folder. The archive contains
the complete detailed notices and a hash index; open it in File Explorer or from
Help → About → License and notices. SOURCE.txt identifies matching source archives.
The application source ZIP and Qt, PySide, pywinpty, and Rust dependency source
archives are attached separately beside the executable ZIP. You do not need
these archives to run the app. bashdock-VERSION-SHA256SUMS.txt (with the release
version in its filename) checks all release assets. Preserve source access and
notices when redistributing.
Signed releases include bashdock-update.json and bashdock-update.sig for the
app's automatic updater. These are additional metadata assets, not application
or source downloads.
Full Changelog: v0.11.5...v0.11.11