mirror of
https://github.com/rwinkhart/sshyp.git
synced 2026-08-30 13:56:31 -04:00
Former-commit-id: d7e5cd4c453f28ab69cce51c9720f9bc81932525 Former-commit-id: 42b30444972be06c8781ad193abcd638b64fd2de
212 lines
11 KiB
Plaintext
212 lines
11 KiB
Plaintext
sshyp v1.5.0
|
|
07/12/2023
|
|
|
|
the fortified flock update
|
|
|
|
this release implements new curses-based TUI configuration menus and improves the security of sshyp
|
|
|
|
compatibility-breaking changes:
|
|
|
|
- a completely new configuration system calls for a new configuration file
|
|
^ before using sshyp v1.5.0 for the first time, 'sshyp init' will need to be ran to create the
|
|
new configuration file - the old configuration files can be safely deleted
|
|
^ 'sshyp tweak' has been repurposed as the configuration menu for changing individual options,
|
|
rather than re-doing setup entirely - after initialization, this is the one you want to use
|
|
- the new extension manager is replacing the old method of installing extensions as system packages
|
|
^ any older extensions you have installed should be uninstalled to prevent conflicts
|
|
^ extensions are now installed and removed through the 'sshyp tweak' menu's extension manager
|
|
^ this does not yet apply to Haiku and Termux, which will continue to install extensions using
|
|
the previous method
|
|
- all clients and servers must be updated to this release for the folder renaming bug fix to work
|
|
^ failure to update all devices will result in errors and/or potential data loss
|
|
- various packaging changes
|
|
^ x-clip and wl-clipboard are now marked as optional dependencies, so the correct tool will
|
|
need to be installed as needed - a warning has been added for this if neither package is installed
|
|
^ the changelog no longer ships with sshyp - it is still available on GitHub
|
|
|
|
user-facing features:
|
|
|
|
- the old configuration menu, 'sshyp tweak', has been split into two new curses-based TUI menus
|
|
^ 'sshyp init' is for first-time setup/initialization
|
|
^ 'sshyp tweak' can be used at any time to quickly adjust individual settings
|
|
^ whitelist management tools have been moved to the new 'sshyp tweak' menu
|
|
^ clients and servers now each have their own dedicated 'sshyp tweak' menu
|
|
^ the new config file is in .INI format, making it easier to edit the config without sshyp
|
|
- added a 'sshyp tweak' option for re-encrypting all entries with a new gpg key
|
|
- added a security advisory when enabling quick-unlock to ensure the user understands potential risks
|
|
- the user is now warned if the clipboard tool relevant to their platform is not installed
|
|
- passwords are now hidden by default in the entry reader
|
|
^ they can be displayed by appending '--show' or '-s' to the end of the command
|
|
- input is now hidden when adding/editing a password in an entry
|
|
- entries are no longer re-encrypted and synced if the note editor is quit without saving
|
|
|
|
|
|
fixes/optimizations:
|
|
|
|
- a tmpfs is no longer used for decrypting entries unless editing notes
|
|
^ data is now decrypted directly into sshyp and written to entries pre-encrypted
|
|
^ this makes reading entries much more secure
|
|
^ editing entries is similarly secure to before - greater improvements coming in a future update
|
|
- folder renaming has been re-enabled and now functions as intended
|
|
- some unnecessarily verbose outputs were silenced and/or made to appear more cleanly
|
|
- FreeBSD packaging fixes
|
|
^ no longer incorrectly includes and uses the logic for the Termux clipboard
|
|
^ now specifies 'python3' dependency instead of 'python'
|
|
- many lists provided to the subprocess module have been swapped with tuples
|
|
- more correct and clear language is used to describe options and arguments in the help menus
|
|
- properly display an error when attempting to copy blank fields from entries
|
|
- shebangs have been removed from libraries not meant to be run directly
|
|
|
|
other factors of note:
|
|
|
|
- with the release of Debian 12 Bookworm, sshyp is once again fully supported on vanilla Debian
|
|
^ previously, it was only working correctly in offline mode due to Debian 11's old OpenSSH package
|
|
- this is the biggest release of sshyp ever
|
|
^ it includes LOTS of minor changes and optimizations not included in the patch notes summary
|
|
^ as such, keep an eye out for new bugs!
|
|
- the next major release of sshyp may be even larger...
|
|
^ but it is also likely very far away
|
|
^ GnuPG is great, but it is inherently incompatible with sshyp's future security model
|
|
^ if all goes according to plan, GnuPG will be replaced in the next release
|
|
^ assuming this happens, this next release will be crowned v2.0.0
|
|
^ sshyp v1.5.X is expected to be the latest stable release for a longer amount of time than usual
|
|
^ sshyp v1.5.X may receive security/bug fix patches after the release of v2.0.0, as needed
|
|
|
|
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
|
|
|
|
sshyp v1.4.3
|
|
06/08/2023
|
|
|
|
the argumentative agronomist update - patch three
|
|
|
|
IMPORTANT: the next major release of sshyp, v1.5.0, will make breaking changes that will require
|
|
running through 'sshyp tweak' again - also starting with v1.5.0, a copy of the changelog will no
|
|
longer be packaged with sshyp (it will still be available on GitHub) and clipboard tools
|
|
(x-clip and wl-clipboard) will be set to optional dependencies ('sshyp tweak' will warn of this)
|
|
|
|
this is a highly unconventional release featuring backports to fix critical bugs found during the
|
|
development of the upcoming v1.5.0
|
|
|
|
fixes:
|
|
|
|
- folder renaming has been disabled to prevent a severe data loss bug from occuring
|
|
^ this has been properly fixed for v1.5.0, but the fix requires all clients and servers
|
|
to be updated - to avoid breaking compatibility with 1.4.X, folder renaming was simply disabled
|
|
for the time being
|
|
- backported fix for syncing over IPv6
|
|
- backported fix for multiple versions of Powershell being called under WSL
|
|
- backported fix for checking /lib/sshyp instead of /usr/lib/sshyp
|
|
|
|
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
|
|
|
|
sshyp v1.4.2
|
|
04/30/2023
|
|
|
|
the argumentative agronomist update - patch two
|
|
|
|
IMPORTANT: the next major release of sshyp, v1.5.0, will make breaking changes that will require
|
|
running through 'sshyp tweak' again - also starting with v1.5.0, a copy of the changelog will no
|
|
longer be packaged with sshyp (it will still be available on GitHub) and clipboard tools
|
|
(x-clip and wl-clipboard) will be set to optional dependencies ('sshyp tweak' will warn of this)
|
|
|
|
this release makes use of a new ports framework to make sshyp even smaller and faster than before
|
|
|
|
user-facing features:
|
|
|
|
- full WSL (Windows Subsystem for Linux) support
|
|
- partial MacOS support
|
|
^ fully functional; packaging support has not yet been added
|
|
- dedicated help screen for 'gen'
|
|
^ this was previously not included due to 'sshyp gen' being a valid command prior to v1.4.0
|
|
- removed interactive input for whitelist management
|
|
^ this is to be consistent with the removal of interactive input on clients in v1.4.0
|
|
|
|
fixes/optimizations:
|
|
|
|
- leading and following spaces are no longer stripped when printing entry contents
|
|
- properly display an error when trying to remove a device from the whitelist that is not whitelisted
|
|
- ports framework to remove unneeded code for each platform
|
|
^ BLANKS.py removes all blank lines
|
|
^ CLIPBOARD.py removes non-platform-critical clipboard code
|
|
^ COMMENTS.py removes all comments
|
|
^ RMSERVER.py removes server-only code for creating client-only packages
|
|
^ the Haiku package, which was already unsupported as a server, now only includes client code
|
|
^ SHEBANG.sh sets the shebang to what is required by the platform
|
|
^ TABS.sh converts all groups of spaces to tabs for space efficiency
|
|
^ UNAME.py removes all instances of platform detection and leaves only the platform-required code
|
|
^ THESE SCRIPTS ARE ONLY USED FOR PACKAGING AND DO NOT AFFECT THE SOURCE FILES IN THE GIT REPO
|
|
|
|
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
|
|
|
|
sshyp v1.4.1
|
|
|
|
the argumentative agronomist update - patch one
|
|
|
|
this release improves sshyp's shell completions by adding zsh support and significantly optimizing and improving Bash support
|
|
|
|
user-facing features:
|
|
|
|
- zsh completion support
|
|
^ ensure modern completions are enabled in your ~/.zshrc
|
|
|
|
fixes/optimizations:
|
|
|
|
- Bash completions are now much faster due to the use of recursive globbing
|
|
- Bash completions have been modified to be functionally similar to the new zsh completions
|
|
|
|
other notable changes:
|
|
|
|
- some official packages now use more space-efficient compression
|
|
|
|
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
|
|
|
|
sshyp v1.4.0
|
|
|
|
the argumentative agronomist update
|
|
|
|
this release overhauls sshyp's argument system and further streamlines
|
|
the experience with optimizations and the removal of legacy features
|
|
|
|
compatibility-breaking changes:
|
|
|
|
- there are no technical breaking changes, but the UX has changed significantly due to the new argument system (detailed below)
|
|
|
|
user-facing features:
|
|
|
|
- when typing an entry/folder name, it is now always the FIRST argument
|
|
^ e.g. instead of "sshyp copy -p /example/test", it would now be "sshyp /example/test copy -p"
|
|
^ this allows more easily editing the previous command to copy/edit a different field
|
|
- better extension integration
|
|
^ extensions can now ship with a config file that sshyp can use to call them from standard sshyp arguments
|
|
^ the first extension supporting this is sshyp-mfa
|
|
^ if sshyp-mfa v1.4.0.1+ is installed, "sshyp /example/test copy -m" will copy MFA keys to your clipboard
|
|
- entry/folder names now MUST be specified as arguments
|
|
^ there is no longer a separate input prompt if the entry/folder name is not provided as an argument
|
|
^ the input prompt was a legacy feature from before arguments could specify entrys/folders with shell completion
|
|
^ the entry list generated by entry_list_gen() is still present and can be viewed by running "sshyp" with no arguments
|
|
- better Bash completions
|
|
^ now correctly places backslashes to escape spaces in entry/folder names
|
|
^ slightly faster than the previous iteration
|
|
- IPv6 configuration support
|
|
|
|
fixes/optimizations:
|
|
|
|
- replaced "+=" with ".append" when extending lists to prevent creating an additional list
|
|
- optimized usage of "str.split()" and replaced it with "str.splitlines()" where applicable
|
|
- more concise "if... in ()" syntax replaces long "if" statement chains
|
|
- lists have been substituted with tuples where applicable
|
|
- entry_list_gen() has been re-written to be much smaller and faster
|
|
- os.path is now used in place of pathlib.Path in areas where it is faster
|
|
- the user's home directory is saved to a variable to prevent running expanduser() every time it is needed
|
|
|
|
other notable changes:
|
|
|
|
- removed some uncommonly used, redundant arguments
|
|
^ e.g. "-rm", "-s", "delete"
|
|
^ their functionality was NOT removed, just their redundant arguments, since "shear", "sync", and "del" are the accepted syntax
|
|
- errors containing entry/folder names reinforce correct syntax by adding leading/following slashes where necessary
|
|
- thanks to pull request #25, there are new error messages for the read shortcut
|
|
^ includes when no entry name is provided or the entry name only refers to a directory
|
|
- directories provided in user input are no longer denoted by a following slash
|
|
^ instead, os.path is used to determine if the user is referring to a file or directory
|