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