sshyp v1.5.3
01/08/2024

the fortified flock update - patch three

this release is a quick hot-fix for some bugs that were noticed after the release of v1.5.2

fixes/optimizations:

- fixed a regression with the entry list causing entries not part of a subdirectory to appear 
in-line with the entry list header
- fixed extension group ownership under FreeBSD
    ^ the "wheel" group is now used where previously the non-existent "root" group was used
- fixed notes sometimes being appended in the wrong position after editing an incomplete entry
- addressed flake8 suggestions (slight optimization)
- removed unnecessary empty variable declarations
    ^ these were previously included to silence PyCharm's PEP8 warnings
    ^ the project is now primarily developed in VSCodium with the flake8 linter
    ^ the only change to flake8 defaults in the line length limit (79->120)

<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>

sshyp v1.5.2
01/07/2024

the fortified flock update - patch two

this release focuses on fixing various bugs, crashes, and visual oddities;
additionally, the new-user setup experience has been vastly improved

compatibility-breaking changes:

- this release is fully compatible with sshyp v1.5.0-v1.5.1
- the minimum Python version has been raised from Python 3.7 to Python 3.8
    ^ this was needed for the new device id changing behavior
    ^ Python 3.7 no longer receives security updates, so this should have minimal impact
    ^ please create an issue on GitHub if any Python version (3.8 or newer) does not work as intended

user-facing features:

- registered device ids can now be removed from the server tweak menu
    ^ all device id menus now stay open until the user manually exits
- changing a client's device id now attempts to automatically remove the previous id from the server
- the extension downloader now supports showing multiple lines of usage information
    ^ sshyp-mfa is taking advantage of this to display the info from the old man page
- basic tweak/init menu text wrapping and terminal-resizing has been added
    ^ the tweak/init radio menus now warn if the terminal needs to be resized to see all content;
    this resizing can be done in real time without restarting sshyp (layout dynamically adjusts)
    ^ this avoids crashes on large radio menus in small terminals (crashes are still possible, but
    only on unreasonably small terminals - this will probably stay the way it is now)
- ssh connections are no longer made from the init menu
    ^ this is to give the user time to register their ssh pubkey with the server
- the user is now warned that gpg key generation may take time and that sshyp should not be terminated
- the user is now warned about risks associated with changing or removing active device ids
- back buttons have been added to menus that were missing a safe way to exit

fixes/optimizations:

- quick-unlock has been fixed - invalid pins have been generated since v1.5.0
    ^ if quick-unlock is not working for you, re-generate your pin after this update!
- extension removal now works on Busybox environments (Alpine Linux)
- instead of crashing with an unhelpful error, sshyp now warns if a valid pinentry program is not found (gpg)
    ^ affects some Alpine Linux 3.19 base installs (pinentry does not always get installed with gpg)
- a recursive curses.wrapper() function is no longer used (fixes menu crash on Alpine Linux 3.19)
    ^ the new method of transitioning menus is more efficient on all platforms
- the wl-paste empty clipboard warning is no longer shown when multiple copies are done within 30 seconds (Wayland)
- quotes are no longer copied to the Termux clipboard on clear
- the entry reader and entry list should now be more visible in light terminals
    ^ in testing, I noticed some solarized dark themes bind color 8 to the same color as the terminal background,
    leading to some invisible text - this will not be fixed (unless custom accent colors are added), as
    I believe this is poor theme design and the fault of the particular solarized dark themes I tested
- entry list text wrapping has been vastly improved
    ^ better utilization of full terminal width
    ^ less prone to splitting entry names in half (should be impossible now)
    ^ no longer crashes on small terminals
- multi-word device ids can now verify via quick-unlock
- various language standardization changes
    ^ all back buttons in menus are now named "BACK"
    ^ all mentions of device ids are now referred to as "ids", rather than "names"
    ^ various non-user-facing variable renamings have also been made
- various menu helptext have been made more clear
    ^ this includes quick-unlock configuration, ssh configuration, device id configuration, and more
