Small bugfix release to revert the shell matching added in 1.1.7

  • Be gone - Added ability to delete history dividers
  • Back to the fu.. - Revert to old shell matching
  • Stay focused once again - Fixed terminal not being focused when running the clear terminal command
  • You spin me right round - Fixed spinner icons not spinning

Brand new command system which will receive even more functionality in future updates, a terminal performance upgrade, other small improvements and lots of bugfixes

  • Internal stuff, not that interesting for you
    1. Updated to electron 12
    2. Implemented a new shortcut system
    3. Moved from webfont icons to vue svg icons
    4. Migrated more code from jquery to vue
    5. Updated the history shell name and path matching (this might be buggy, please report any issues)
  • New command system for all them mouse-haters
    1. Configurable shortcut (F1 by default) to open the new actionbar
    2. Type to search for a command
    3. Open a new connection, launch a project, generate a password and paste it in the terminal, create a clip from the last history entry, quickly open a specific setting and more
  • Huge terminal write performance improvement - You no longer have to stare at a neverending waterfall of data for several minutes when extracting a tar file
  • openssl 2000 B.C. - Added more options to enable old cipher, server-hostkey, hmac and compress algorithms in case someone needs it
  • bashful - Updated the virtual shell matching algorithm to support more shells and paths with spaces
  • Down you go - Updated scrollbar hover effect and fixed scrollbar color for legacy theme
  • When did I write this? - Added time in the history entry hover tooltip
  • Off with you into the shaming corner - Moved the scroll to bottom button in the corner
  • *intensly scrolling upwards* - Added a config option to change the amount of scrollback lines to keep in memory
  • Be gone, t...erminal - Typing the 'clear' command now also clears the clientside terminal buffer
  • micro - Fixed the nano mouse support trigger
  • whereami - Fixed explorer not scrolling to fit an opened folder
  • where are all the colors - Fixed detection of missing .bashrc and .profile
  • lost in translation - Fixed a bug where closing a tab would not switch the next tab
  • 0:00:00:00:00:00:00:0 - Fixed a bug where the editor status bar would get initialized multiple times
  • no sudo for you - Improved error-handling when upgrading to sudo sftp did not work
  • hey, remember that file you opened? - Fixed the editor not being reset correctly
  • you still there? - Fixed background ping check not working correctly
  • *sigh* - Fixed emojis not being displayed in the history
  • what happened - Fixed a bug where a closing ssh stream would not get detected correctly
  • dont click that - Fixed clicking a history divider
  • editorial - Improved the 'edit' command, it now handles relative paths and gets added to the history
  • modest modals - Fixed a bug in the project list modal where the form is not reset on closing the modal
  • youtransfer - Fixed a bug in sftp transfer when a folder is created
  • autosudon't - Fixed a bug where the sftp sudo would trigger an error each time

Some bug fixes and internal code improvements, mainly released because of resizing issues

  • Internal stuff, not that interesting for you
    1. Upgraded to webpack 5
    2. Updated other dependencies
    3. Only allow http and https when calling shell.openExternal (security)
  • Tricky stuff - Fixed some terminal resize bugs
  • Broken stuff - Fixed error when a server closes connection right after connecting (rssh for example)
  • nano yes - Fixed permission toast not disappearing, improved error catch, only show mouse toggle button when nano is open

Last release has been a blast, reaching over 1900 downloads, thank you for your ongoing interest! This release brings some bug fixes, a brand new projects feature, ppk support and some minor improvements.

  • putty cool, huh? - graSSHopper is definitely not putty so it seemed logical to me that no one would try plucking a proprietary keyfile format into the form, but since many people got confused, I added ppk support when selecting keyfiles
  • Projects!
    1. With the project feature you can define multiple connections (tabs) that will be launched with one click.
    2. You can even define commands that will be executed after a connection has been established.
    3. Each command can have a configurable delay, to make it work with autosudo for example (see below).
    4. Currently, you have to enter the necessary passwords, vault and keyfile integration is not done yet
  • 𝒸𝓊𝓈𝓉𝑜𝓂 𝒻𝑜𝓃𝓉𝓈 - You can now change the terminal font, but be aware that only monospace fonts make sense here since most other fonts result in weird line-height, but thats up to you ^^. Also font-ligatures (like in fira code) do not work yet since this is a feature that is not yet supported by xterm without granting file-system access to the renderer process
  • Moar config options - Configurable scroll-speed, letter-spacing, font-weight and font-weight for bold characters
  • What was the default font? - Added reset to default button for config entries
  • Good news, everyone! - Added a news panel to keep you up-to-date
  • Shortcut wizardry - Added ctrl+tab shortcut to cycle through the connection tabs
  • 🚀 - Updated the tab init process when the explorer is active, should be a bit faster
  • U got any more of them.. colors? - When there are no colors in the terminal and no .bashrc file is detected, creating one will be suggested. Can be turned off in the config
  • optional autosudo - When a sudo password prompt for the initial user is detected, the password will be entered automatically. This is turned off by default, if you want to use it, switch it on in the config
  • 🚩🚩
    1. Added cli flags:
    2. --work-dir=<path> to change the folder grasshopper / electron uses to store data. For windows portable: when =<path> is omitted, the folder of the executable is used
    3. --conn=<connections> open predefined tabs with prefilled data, accepts one or more (comma-separated) connections in the format 'user@host:port'
  • lookin fresh - Made some UI improvements
  • Stay focu.. okay this change-title has been used too much - Indicate terminal focus through the scrollbar instead of the opacity of the whole terminal, better when using multiple screens or using the search
  • Updated to electron 11.0.3 - Minimal performance improvements, some chrome-internal fixes
  • Why did nobody tell me? - Fixed clip adding / editing
  • Updated nano error check - The 'file ... is unwritable' error detection now detects the error in 25 languages
  • 1 download = 1 prayer - Fixed the download-progress circle, you will hopefully see it in the next update.. I hope this works because most of the times I change something regarding the updater, I f*ck up.
  • is HTML an instrument? - Fixed shell change being triggered by html code editing
  • Fixed configurable default editor - The terminal.editor.cmd option wasn't actually used anywhere, it is now in the contextmenu for explorer entries (if you are one of these sick people using vim instead of nano)
  • sftp timeout - Added a connection timeout to sftp/explorer. When you had a faulty .bashrc for example, the sftp connection just failed silently, resulting in a frozen tab and locked terminal
  • regul-err expressions - The regular expressions used to define alias matches are validated before saving
  • vault fixes - Minor bug fixes in the vault credentials modal
  • vault session security - If you make request to a vault using an expired token it is reset so you can log in again
  • yay... sha1 - Fixed an error when using the insecure key exchange algorithms option - reported by Piyush
  • rej..rejec... rejected - Fixed an error handler typo when the drive list can't be fetched on linux, also added fallback for that case - reported by vinay
  • Toasty! - Fixed saving a file with the editor not showing an exception on error
  • Adjusted search - Fixed positioning, pressing enter now jumps to the next occurence
  • Damn you, cache - Fixed explorer folder reloading, More info here
  • Stay focused part 5168466687 - Fixed terminal not being focused on tab change
  • Delete all tha things! - Fixed deleting files and folders from the explorer
  • You shall not click - Fixed explorer buttons not being disabled in a disconnected tab

Usability improvements and keyfile auth!

  • I dont want toast - Added automatic dismissal of some toasts
  • I dont want to wait - Added ability to cancel an initializing ssh connection
  • I dont want anybody to see this - Added ability to remove history entries
  • Testcases - Added some simple testcases using puppeteer
  • Virtual shell improvements - Updated the multiline detection
  • Host autocomplete - the host field in the connection form now suggest hosts from your connection history
  • Editor
    1. File association is now saved per tab. Useful if the editor does not select the correct mode and you change it
    2. The modal is now slightly bigger
    3. Scroll to the top of the file when opening it (was buggy)
  • Keyfile auth - after all these years, you can select a default ssh key in the settings or a custom one in the connection modal, heck you can even save them in the vault!
  • No you can see me, now you don't - added a show/hide button to the password field in the vault
  • History shenanigans - Fixed duplicate history entries caused by sudo prompts
  • S(SH)mooth flow - Fixed a minor ssh init progress bug
  • Stay focused once again - Fixed a input/button of new modal not being focused
  • ERR_CONNECTION_REFUSED - Finally fixed the nasty error when launching graSSHopper offline
  • Clips are back - They were never gone but I messed up the clip button, sry for that
  • Contextmenu fix - Fixed contextmenu being cut off when being opened close to the lower edge of the window
  • Messed up terminal - Fixed a resize bug
  • Messed up tabz - Fixed a resize tab indicator bug
  • IPFault6 - Fixed inserting an ipv6 adress into the host field triggering quickinsert

Little version to test and debug the updater

  • whereami - added search field to config

I need a better way to test this

  • Update download not starting - Fixed clicking on the update button not starting the download
  • Update version in tooltip wrong - Fixed 'Version [object Object]/undefined has been downloaded'

Some bug fixes and missed features

  • Sudo SFTP - ported the ability to edit files with root permissions
  • Rewrite history - you can delete history entries if you want to hide your dirty little secrets
  • Updated dependencies - webpack related modules and xterm
  • Tab contextmenu - added ability to stop the connection progress
  • Added automated tests to pipeline - you can't see this .. well yes you can, here:
  • Config loading - config default values were not loaded correctly
  • Sidebar handling - fixed some bugs regarding the explorer and history bar
  • Wrong history entry - fixed faulty history entries due to password prompts
  • Stay focused - Focus the first button or input in a opened modal
  • internet is newland - Don't show an error alert when you launch graSSHopper offline
  • scrolling bug - Added temporary fix for upstream xterm issue #3058

A LOT of things have changed internally. On the outside, the part that you acutally see, basically only the design has changed. But this big release is a very important fundament for a fancy future!

  • Electron 10 - Jumped from 8.2.1 to 10.0.0
    1. disabled remote module - improved security
    2. context isolation - even moah security
  • Webpack - The app files are now bundled, this improves startup time and reduces app size (sadly electron grew a few MB in size from v8 to v10 so the app size even increased a bit)
  • Vue - Switched to vue.js framework, the app should now feel a bit more snappy over all
  • Reduce usage of jquery - Where possible jquery has been replaced, making things reactive and faster
  • Removed squirelly - Thanks to vue, the html templating engine in combination with jquery could be removed
  • Design - Fresh updated design, hope you like it!
  • Explorer path following - The explorer attempts to follow the current shell path, can be disabled in config
  • Explorer collapse all - Collapse all open folders
  • Host button contextmenu - Ability to remove host from host list
  • Tab reordering - drag your tabs around
  • Pipelines - This build is powered by, a self hosted CI/CD solution. This prepares the workflow for integration testing in the future, stay tuned
  • Various fixes during porting process - a lot of things have changed.. It is honestly a bit difficult what fixed are general or due to the vue port

More usability changes.

  • Where am I? - The position and size of the window is now saved and restored when closing and opening the app
  • FBI open up! - Improved the handling of permission restricted folders in the explorer.
  • Link's awakening - Improved the handling of symlinks in the explorer. Doubleclicking or rightclicking will check the target file
  • A Link between worlds - Weblinks in the terminal are now opened with ctrl+click, this will be indicated by a tooltip
  • Line actions - Added a quick action button when you select something, it allows you to create a clip from the selected text or perform a websearch
  • Path helper - Added a tooltip for cd'ing directly to a path when selecting one in the terminal
  • Delete all the things - Added the delete option to the explorer, plz be careful. (You will be asked if you are sure though)
  • Changing history - Rightclicking a history entry now opens a context menu that lets you create a clip from an entry
  • Select all the modes! - Added the ability to change the current highlighting mode in the editor
  • ping pong - Updated node-ping dependency which could have caused a ping bug under linux
  • f*cking zoom shortcut - Finally fixed the zoom issue via ctrl-shift-+... please. please be fixed.
  • lowlighting - Fixed some history highlighting bugs
  • virtual multiline - Improved multiline command detection
  • vault bug - Fixed vault search and button click not working

Some usability changes.
Btw: that unicode support from last release wasn't so useless at all, vue-cli for example uses emotes inside the install process.. yeah 🤦‍♂️

  • History, Shells and Aliases - If you are a fast typer, the delay to the server is high or both, chances are that sometimes an alias would not get replaced. Failed aliases are now detected and you have the option to add a 'fake' delay to your enter key to ensure working aliases. This is usually a delay of less than 100ms which is barely noticeable. You can also define a default fake delay if you encounter this issue more often
  • Connecting... - Added a loading indicator in the tab to show that the connection process is still running
  • edit! - Added the ability to open a file in the editor by typing edit in the terminal. This can be disabled, because the edit command has an actual use on some installations
  • The highlight of this release - Added a basic-level syntax highlighting for the history commands
  • New tab who dis - The current user is now displayed in the tab title if available
  • Back to work³ - If the connection is closed you now have the ability to reconnect
  • 🍞 - Replaced some modals with less annoying toasts
  • Restyle - changed the new tab layout a bit
  • Back to work⁴ - clicking an input field when the window was unfocused now properly focuses the clicked input field

Lots of fixes and a chmod tool

  • Updated history trigger - commands are only pushed to the history after the server confirms the linebreak
  • Parkway Drive - Added drive select to the local side of the file transfer view
  • Fouldaz - Added the ability to upload folders in the file transfer view
  • 💩 - Added unicode 11 support... yeah I don't know why
  • Electronix - Updated to latest electron version 8
  • Gimme them perms - Added a chmod tool to the explorer
  • Pass plz - The password modal is now re-shown after a failed decryption attempt of a vault
  • Latest connections / hosts not being saved - ye I fixed that.
  • Enter the editor! - Fixed enter not working in the editor
  • CRLF? - Force unix newline mode in the editor, this is important for pasting something
  • Back to work - Clicking on a history entry un-focused the terminal
  • Back to work² - Confirming alert modals also un-focused the terminal
  • Wrong pass, I get it.. - The auth-fail modal could not be closed correctly
  • Offline - Updated an error catch when the app starts in an offline situation
  • Deprecated - Fixed some electron deprecation warnings
  • ^C - Fixed a history bug
  • RIP cursor disco - Fixed a bug where the cursor starts blinking like crazy after the window was minimized
  • Another one wrecks the tabs - Closing the left of two tabs did not focus the second one

Config hotfix

  • Zoom still broken - Fixed ctrl -/+ still zooming the whole app
  • The config nuke - latest changes in the config class resulted in a total deadlock situation on fresh installs

Usability changes and bugfixes

  • Updated fontsize handling - the fontsize settings are now synced and resizing is handled better
  • Minor ui improvements - actionbuttons, explorer buttons, file transfer view
  • Sudo SFTP - Finally, ability to upgrade the explorer with sudo rights, also brings a new config entry to automatically upgrade the explorer when the root account is detected in the terminal
  • Updated shell indicator - The current shell now displays immediately instead only after triggering a command
  • Data migration - hosts and clipboard data are now also saved in the config file, to prepare for future online-capability
  • Sidebar toggle - The left and right sidebar can now be toggled by clicking on the headline
  • Terminal shortcuts - Reworked terminal shortcuts
  • Update flashing - The update button should flash while electron-updater downloads
  • Stay focused² - Refocus the active tab when switching menu entries
  • Init progress - Fixed a bug in the init progress when explorer or history are disabled
  • Editor filemode - Saving a file in the editor now keeps the original file mode
  • Lua & yaml - Fixed lua and yaml missing from ace modelist
  • stfu - The terminal is now muted while background execs are running (affects 'show current folder')
  • Fixed form hiding bug - submitting the form in a new connection did also hide the form in the clips modal

Vault rework, fontsize and fixes

  • Reworked vaults - bug fixes and internal changes
  • Fontsize - the terminal font size is now configurable and has ctrl +/- shortcuts
  • Stay focused - the terminal of the active tab will now be focued when you switch back to the graSSHopper window
  • Usability - the first button in a modal will now be focused automatically, that means you can quickly close it using enter
  • Disable text selection in titlebar - The title in the titlebar was selectable
  • Fixed ctrl+n shortcut - Shortcut was global instead of local
  • Fixed virtual shell bug - history was not working when the shell name containes a space
  • Fixed nano error catch - the nano error catch was not working when the error color is not red

Moar fixes, clipboard update and legacy theme

  • Better quickinsert regex - Passwords in quickinsert format can now contain colons
  • Mouse support action button - Quickly en/disable nano mouse support
  • Contrast ratio - Added contrast ratio config option for WCAG AA/AAA compliance
  • Updated terminal theme - Updated the terminal colors, added a 'legacy' color option if you want the default terminal colors.
  • Updated clipboard - The clipboard now contains global, host- or tab-scoped clips.
  • Added reopen with sudo - When you open a file with nano but it is not writable, you can press the 'reopen with sudo' button and it ..well reopens the file with sudo rights
  • Removed fade on new tab - Removed fade when creating a new tab, die vile smoothness!
  • Fixed Indicator not hiding - Hide indicator if no tabs are open
  • Fixed terminal selection - Selecting something in the terminal did not work if the mouse left the terminal element
  • Fixed explorer rightclick - Explorer contextmenu wasn't working
  • Fixed newlines in pasted text - newlines in pasted text are now properly converted
  • Fixed bug in history shell - Fixed another bug when 'cat' messes up your terminal

More tiny fixes

  • Style update - Tabs, the menubar and modals got a little style update
  • History shell - Sometimes, (for example when somewhone types in 'cat picture.jpeg' - Yeah I know, who would do that?!) the last line of the terminal can be stuck with some non-ascii charactes and then the actual shell name. non-alphabetic chars at the beginning will be ignored to fix that.
  • Pulsing update - The update arrow now pulses to indicate that your filesystem is bombarded with gigabytes of update files. Kappa.
  • Loading screen flash - Fixed short flash of unformatted window in the loading splash, rhymes yo.
  • Fixed vault url bug - Fixed missing / at the end
  • Fixed contextmenu bug - Fixed rightclick not working
  • Fixed search - Fixed search not opening
  • Removed useless button - The su action button had no use, it is a relic from trying something out in dev

This release focuses on small improvements

  • Removed tab transition - Tabs now switch instantly instead of fading for improved workflow
  • Removed explorer transition - Explorer folders now instantly open/close instead of sliding down/up
  • Password generator - handy little built-in password generator
  • Quick insert - Added quick insert feature, pasting a string like host:port:user:pass into the host input field auto-fills the other fields
  • Scroll to bottom - If the console is spammed with lines from the server and you accidently scroll up, the scrollbar was stuck until the output stops, for this case a 'scroll to bottom' button appears.
  • Portable Updater - Fixed error in portable updater
  • Latest connection buttons - Fixed order and input focus on click
  • Alias adding - Fixed alias deleting a settings headline
  • Tooltip bug - Fixed tooltip lineheight bug
  • Titlebar bug - Fixed titlebar max and minimize not working
  • Deprecation warning - Fixed a deprecation warning
  • Explorer scroll into view - The 'show current folder' button now scrolls the explorer into view

The Linux release, at last. This version brings .deb, AppImage and .pacman releases for Linux aswell as an installer for Windows. There are mainly internal changes, no new features, stay tuned for the next release!

  • Linux - Adjustments to run on linux
  • Automatic build system - Packaging for all platforms with the press of a button!
  • Performance improvements - If you are on windows, consider installing graSSHopper via the installer instead of using the portable version since the portable version extracts the whole app each time, resulting in a slow app start. Nevertheless there have been some performance issues to speed up the app start even more.
  • Icons - Moved icon management outside the project to remove unnecessary devDependencies for the build system.
  • Error catching - Added error logging in the renderer process

Skipped because of update testing - press f to pay respect


Sry for the mess in the last release, I was just testing you. Kappa.

  • Focus indication - not sponsored by ford, but the terminal now fades out a bit when unfocused
  • Fingerprint verification - host fingerprints are now verified upon connection - yay for security!
  • Nano warnings - since nano mouse support triggers directly after opening nano, it overrides any errors. Those are now catched and displayed as modal instead.
  • Current folder button - little button in the explorer to open the current $PWD in the explorer
  • Latest connections - your latest connections are now available as quick buttons in a new tab, for them lazy peoplez
  • Alias not working - Aliases are now always prefixed with '^' to only trigger at the beginning of a command. btw '^' looks cute.
  • Remove path from shell - changing directories no longer triggers a history divider

This release brings basic editor functionality, for the times when nano just doesn't do it.

  • Explorer - doubleclicking a file in the explorer or rightclick > open in editor opens up the editor
  • History divider - nobody has the intention to build a wall... history dividers now indicate when you switch shells
  • Alias editing - Editing aliases in the config was bugged

Don't claim I didn't warn you: this release might add some unstable / unpolished features, namely the new history and the file transfer. Fun fact: the git repo just passed 100 commits, yay

  • File Transfer - biggest change first: the new file transfer can be opend by clicking the little arrow button in the top right of your explorer. It enables you to drag&drop-upload and -download files from your pc to the server and vice-vera. Many features and improvements are planned. Be aware: this is not fully tested i.e interaction with symlinks
  • History
    1. The history no longer relies on hijacking the prompt_command variable, this has multiple advantages towards the previous attempt:
    2. the init progress is faster
    3. less tampering with server-side bash settings
    4. history is independent of sftp and with that independent of the user and even the bash type
    5. commands are pushed to the history right after they are entered, not after a short delay
    6. commands are captured even if you enter a new shell, i.e attaching to a docker container
    7. enables new awesome stuff, like aliases
  • Aliases - You can define command aliases as regular expressions in the settings, one alias is enabled by default: the mapping of 'll' to 'ls -la'. Dont try sneaking up to your collegues computer to remap 'ls' to 'rm -r /', just dont.
  • Log - Lumberjacks listen up, there is a log now. Bad jokes aside: the application now logs to a file which could help make debugging easier in the future
  • Bug report tool - pressing the bug button now opens a little window with prefilled system information. Submitting launches you right to the bugreport page (btw the landing page of grasshopper now looks sick af)
  • New action button: Switch user - quickly log in as new user on the same host, vault usage suggested
  • Internal work - minor css, cleanup and performance changes
  • Improved bash check - the initial bash check no longer relies on $bash and $shell, as these variables are not always set
  • Tab scrollbar z-index - scrollbar was overlaid by the terminal
  • Ping bug IPV6 - the ping npm module is outdated and thus the v6: false option was not default
  • Added tenex shell - added tcsh as bash type, for dem strato users

What happened to 1.0.7? nobody will ever know..

  • Ditched icomoon - you won't notice this hopefully but it makes developement much easier
  • Reduced build size - .exe size is a bit smaller despite the new icon generation thanks to removing the 5MB request module
  • Updated license - grasshopper is now GPL-3.0+, yay for legal stuff
  • Tooltips! - you now see what each button does, so you don't rm -rf / by accident, this also applies to the update button
  • Moar tabs - tabs now have a context menu that currently only contains the duplicate function
  • Less tabs - tabs now can be closes via middleclick
  • Improved modals - error modals now stay inside a connection tab instead of plopping up on top of everything
  • Tab status indicator - tabs now have a little colored dot to mitigate the schrödingers-tab issue
  • Search - The search is no longer triggered via ctrl-f by default, in case this shortcut is used in your shell for shutting down your server or something like that. It can still be enabled in the config.

Whoop whoop houston we have a changelog

  • Improved connection close handling - your tab stays open when the server hamster dies
  • Added indicator for ssh activity - so you know if the log is still scrolling or frozen
  • Added indicator for connection loss - because the ssh2 package only notifies connection loss when the next keepalive package fails.. which is every 4 minutes or so
  • Improved enter-ness - the tab form now submits in every field when you press enter
  • Added changelog link in the app menu - which is located in the top left of your app, which might be the thing that brought you here.. hi btw, did you know we have a changelog now?