sshyp v1.3.0

the serious shepherd update

this release ties up many of sshyp's loose ends where there was
room for major performance, compatibility, and security improvements

compatibility-breaking changes:

- due to a near full re-write of the syncing functionality, all clients and servers
must be updated to this release (v1.3.0 is not backwards compatible with any prior release)
- it is recommended to either delete the contents of ~/.config/sshyp/deleted (on the server-side)
or sync all of your clients before updating
    ^ old entries in this folder will throw errors with v1.3.0

user-facing features:

- none - all changes were under-the-hood - the user experience should be
exactly the same as v1.2.0 - just faster, less buggy, and more secure

major fixes/optimizations:

- a near full re-write of the syncing functionality
    ^ all syncing logic has been moved into sshync.py (from sshyp.py and sshypRemote.py)
    ^ in my setup, a dry, local "sshyp sync" went from 2.00+ seconds (v1.2.0) to 0.36 seconds (v1.3.0)
        ^ the performance improvements are even greater when syncing from outside your local network
- the following character sequences will no longer break the syncing logic: "@", "^&*", and "*&^"
    ^ ASCII separator characters 29-31 are now used, instead
- os.system has been replaced with subprocess.run in all cases, shell=True is no longer used with subprocess.run
    ^ this protects against shell escape attacks and potentially makes sshyp more compatible with some environments
- replaced shell commands with python built-in library functions where applicable
    ^ this brings speed and compatibility improvements
- sshyp should no longer incorrectly assume an X11 environment when Wayland is in use
    ^ this fixes clipboard support in some Wayland environments, such as Sway (Plasma/Gnome/Phosh were unaffected)
- sshyp now uses the default pinentry on Haiku thanks to haikuports/haikuports#7457
    ^ this brings the Haiku port in-line with the other sshyp packages in terms of security
- "python3" is now called over ssh, rather than "python"
    ^ some environments do not have a "python" symlink, or it links to "python2" - changing this increases compatibility
- fixed an issue from v1.2.0 where renaming threw an error if not in offline mode

other notable changes:

- quick-unlock password input is now hidden while the user is typing
    ^ user input is now invisible to prevent snooping
- lots of smaller optimizations not listed here

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

sshyp v1.2.0

the brisk bahh update

this release focuses on speeding up the sshyp user experience by adding
new features that reduce wasted time

compatibility-breaking changes:

- new configuration options (quick-unlock, offline mode) have been added and
the configuration files have been reorganized
    ^ simply running "sshyp tweak" and following the setup wizard will correct any compatibility
    issues
- for quick-unlock security, device names have been replaced with more secure device ids
    ^ older device names are still compatible, but for security reasons it is recommended
    to delete any pre-existing device names from the server and allow "sshyp tweak" to re-register
    your devices

user-facing features:

- quick-unlock mode has been added
    ^ this allows you to use a shortened version of your password by verifying that your device
    is whitelisted on your sshyp server - it's both faster and more secure than standard unlock,
    but it requires an active connection to your sshyp server to authenticate (otherwise it will
    fall back to standard unlock)
- full support for offline usage
    ^ though sshyp could be used without a server before, it now can be configured to not attempt
    to find one ever - this saves time and hides sync failure error messages
- bash completions have been added
    ^ if you have bash-completion installed, you can now use the tab key in bash to auto-complete
    sshyp arguments and entry names (client only, not added for server-specific arguments)
        ^ if you do not have bash-completion installed, you can source
        /usr/share/bash-completion/completions/sshyp (Linux/BSD) or
        /boot/system/data/bash-completion/completions/sshyp (Haiku) in your ~/.bashrc to
        use this feature

fixes/optimizations:

- fixed entries with multi-word titles failing to decrypt
- password generation is now much faster and more resource efficient
- there is no longer a length limit on generated passwords
- improved visual consistency of help menus
- rarely used modules are now imported only when needed
- sshyp now uses one fewer configuration file

other notable changes:

- sshyp is now specifically licensed under the GPL-3.0-only (keyword: only)
- sshyp now has some possible arguments and its own help menu when running in server mode
- temporary files in /dev/shm are now generated with more complex names
- sshyp now installs in /usr/lib/sshyp (Linux/BSD) or /system/lib/sshyp (Haiku) instead of
/usr/bin or /bin (it is still symlinked to the old directories)

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

sshyp v1.1.2

the sheecrets update - patch two

this is a general polish/bugfix release

user-facing features:

- packaging support for Alpine Linux/postmarketOS
- the rename() function is no longer unnecessarily verbose
- handled exception for when the user attempts to copy an entry field that does not exist

fixes/optimizations:

- replaced shebang with "#!/usr/bin/env python3" for improved compatibility with various systems
    ^ does not affect Haiku packaging
- fixed the generic package not actually being compressed
- reduced lines of code used for cross-device entry deletion

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

sshyp v1.1.1

the sheecrets update - patch one

this is a polish/bug fix release that makes tweaks to the entry format (without breaking compatibility)

compatibility-breaking changes:

- none; the entry format tweaks are backward compatible with sshyp v1.0.0+
    ^ the new format is slightly more efficient in terms of storage space
        ^ if you would like to upgrade to it, run this script (after updating to v1.1.1):
          https://raw.githubusercontent.com/rwinkhart/sshyp-labs/main/extra/conversion-scripts/sshyp-refresh-1.1.1%2B.py

user-facing features:

- entries (when editing or adding) are now run through the new optimized_edit() function to strip trailing new lines
and ensure the format of the entries is fully compatible with all of sshyp's functions

fixes:

- when adding a note to an entry, there is no longer a chance the first note line will be added as a url
if the entry is using an older format/pass format
- the gpg auto-generation file temporarily created by sshyp no longer includes extra spaces
    ^ seems to serve no functional purpose - fixed for the sake of polish

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

sshyp v1.1.0

the sheecrets update

the main focus of this release was adding extension support (particularly for sshyp-mfa)
and cleaning up the configuration experience

compatibility-breaking changes:

- the entry directory has been moved from ~/.password-pasture to ~/.local/share/sshyp
as a means of complying with the XDG base directory spec
    ^ this requires the user to move their entry directory to the new location manually
        ^ if this is not done, sshyp will not be able to find entries made prior to v1.1.0
- due to a new configuration option (preferred text editor), 'sshyp tweak' must be run after updating

user-facing features:

- extension support
    ^ some of sshyp's critical functions can now be imported into other programs to extend
    upon sshyp's functionality
        ^ the first usecase of this is sshyp-mfa, which can be found at https://github.com/rwinkhart/sshyp-labs
- a new configuration experience
    ^ the 'sshyp tweak' menu has been made much more readable, and now the automatically generated
    gpg key has its id automatically input, making the process easier for the user
- customizable text editor
    ^ the text editor used for editing notes can now be set to any editor preferred by the user
        ^ this means that nano was dropped as a dependency

fixes:

- to avoid exceptions on server devices, all arguments (apart from 'tweak') have been disabled on servers
- fixed entry readout not printing blank lines between fields under certain conditions
- various optimizations

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

sshyp v1.0.1

The Polished Trotters Update - Patch 1

This is a hotfix for the Haiku decryption bug.

Changes:

- subprocess.Popen has been replaced with subprocess.run where applicable
- stdout is no longer captured with any subprocess.Popen or subprocess.run usages
    ^ this fixes decryption on Haiku

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

sshyp v1.0.0

The Polished Trotters Update

This release brings 'sshyp' in line with the original goals of the project.
As such, it is being crowned "v1.0.0", and is considered a stable base for future expansions.

Features:

- sshyp has been modified to run on Haiku, an open-source re-implementation of BeOS
    ^ new package formats have been added for Haiku, FreeBSD, and Fedora Linux
- the entry format has been changed to support entries created in pass/password-store
    ^ this change requires existing entry libraries to be converted - see the sshyp v1.0.0 release page on GitHub for a conversion script
- majorly overhauled visual experience for sshyp
    ^ this includes a new entry list, a new entry readout, colored output, ascii art, and more!
- entries can now optionally be passed as arguments, directly
    ^ as opposed to the user being prompted for an entry name after running a command

Changes:

- corrected outdated licensing and copyright information
- 'if __name__=="__main__":' convention is now used
- help screens have been overhauled
- improved password generator to guarantee more secure results
- fixed errors when trying to sync with a multi-word entry on the server
- sshync now uses 'scp' (via the sftp protocol), rather than 'sftp'
- rename function now properly allows for renaming folders
- renaming an entry/folder will now properly delete the old entry/folder from the server
- entry previews at the time of entry creation/editing no longer require entering the gpg password more times than necessary
- entries will no longer be overwritten if attempting to create a new entry that uses an already existing name
- the clipboard now automatically clears after 30 seconds
- sshyp server no longer needs to create copies of its libraries in ~/
- added more and improved existing exceptions
- the lock file is now decrypted to /dev/null
- ...and lots of minor (under the hood) changes!

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

sshyp 2022.02.16.fr4.7

The High-Tech Shears Update - Patch 7

This release enables recursive folder syncing.

Note: Upgrading from releases older than fr4.7 requires the configuration ("sshyp tweak") to be re-done, as the configuration process has changed.

Changes:

- re-wrote folder checking function to fetch subdirectories recursively
- added in user-facing messages for when folders are being synced or entries are being removed
- fixed a typo preventing folder syncing from working (actually tested this time)

&&

Planned for next major update (fr5, The sshyp Doing a Split Update):

sshyp:
- sshyp has recieved a major visual overhaul
    ^ this includes the new file list and thematic text art

sshync:
- sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
    ^ more details will be available in the sshync repo, once it is created

&&

Planned for next, next major update (fr6, The Farmer Shearing the sshyp Update):

- imporove password generator to guarantee more secure results
- enforce permissions on the server-side
- allow for copying entire notes (not just first line)
- ability to pass entries as arguments for more functions

&&

Backlog:

- create separate gui frontend targetting mobile and desktop Linux
- auto-completion on tab (currently unsure of best way to make this work)

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

sshyp 2022.02.16.fr4.6

The High-Tech Shears Update - Patch 6

This release addresses a critical typo.

Note: Upgrading from releases older than fr4.6 requires the configuration ("sshyp tweak") to be re-done, as the configuration process has changed.

Changes:

- corrected a typo error causing folder syncing issues

&&

Planned for next major update (fr5, The sshyp Doing a Split Update):

sshyp:
- sshyp has recieved a major visual overhaul
    ^ this includes the new file list and thematic text art

sshync:
- sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
    ^ more details will be available in the sshync repo, once it is created

&&

Planned for next, next major update (fr6, The Farmer Shearing the sshyp Update):

- when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)
- imporove password generator to guarantee more secure results
- enforce permissions on the server-side
- allow for copying entire notes (not just first line)
- ability to pass entries as arguments for more functions

&&

Backlog:

- create separate gui frontend targetting mobile and desktop Linux
- auto-completion on tab (currently unsure of best way to make this work)

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

sshyp 2022.02.16.fr4.5

The High-Tech Shears Update - Patch 5

This release addresses a critical syntax error.

Note: Upgrading from releases older than fr4.5 requires the configuration ("sshyp tweak") to be re-done, as the configuration process has changed.

Changes:

- corrected a syntax error causing critical functionality issues

&&

Planned for next major update (fr5, The sshyp Doing a Split Update):

sshyp:
- sshyp has recieved a major visual overhaul
    ^ this includes the new file list and thematic text art

sshync:
- sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
    ^ more details will be available in the sshync repo, once it is created

&&

Planned for next, next major update (fr6, The Farmer Shearing the sshyp Update):

- when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)
- imporove password generator to guarantee more secure results
- enforce permissions on the server-side
- allow for copying entire notes (not just first line)
- ability to pass entries as arguments for more functions

&&

Backlog:

- create separate gui frontend targetting mobile and desktop Linux
- auto-completion on tab (currently unsure of best way to make this work)

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

sshyp 2022.02.16.fr4.4

The High-Tech Shears Update - Patch 4

This release automatically generates user-created folders on new client devices.

Note: Upgrading to releases in the fr4 series requires the configuration ("sshyp tweak") to be re-done, as a device name now must be set (for multi-client deletion). Even upgrading from fr4.3 to fr4.4 will require re-running "sshyp tweak" due to file name changes.

Features:

- implemented proper folder syncing for new clients and clients missing folders that exist server-side

Changes:

- old device names are now automatically deleted (locally) when running "sshyp tweak", to prevent conflicts

&&

Planned for next major update (fr5, The sshyp Doing a Split Update):

sshyp:
- sshyp has recieved a major visual overhaul
    ^ this includes the new file list and thematic text art

sshync:
- sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
    ^ more details will be available in the sshync repo, once it is created

&&

Planned for next, next major update (fr6, The Farmer Shearing the sshyp Update):

- when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)
- imporove password generator to guarantee more secure results
- enforce permissions on the server-side
- allow for copying entire notes (not just first line)
- ability to pass entries as arguments for more functions

&&

Backlog:

- create separate gui frontend targetting mobile and desktop Linux
- auto-completion on tab (currently unsure of best way to make this work)

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

sshyp 2022.02.16.fr4.3

The High-Tech Shears Update - Patch 3

This release addresses a bug with local entry deletion.

Note: Upgrading to releases in the fr4 series requires the configuration ("sshyp tweak") to be re-done, as a device name now must be set (for multi-client deletion).

Changes:

- fixed an issue where entries could not be deleted locally

&&

Planned for next major update (fr5, The sshyp Doing a Split Update):

sshyp:
- sshyp has recieved a major visual overhaul
    ^ this includes the new file list and thematic text art

sshync:
- sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
    ^ more details will be available in the sshync repo, once it is created

&&

Planned for next, next major update (fr6, The Farmer Shearing the sshyp Update):

- when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)
- imporove password generator to guarantee more secure results
- enforce permissions on the server-side
- allow for copying entire notes (not just first line)
- ability to pass entries as arguments for more functions

&&

Backlog:

- create separate gui frontend targetting mobile and desktop Linux
- auto-completion on tab (currently unsure of best way to make this work)

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

sshyp 2022.02.16.fr4.2

The High-Tech Shears Update - Patch 2

This release re-addresses a bug with local folder deletion.

Note: Upgrading to releases in the fr4 series requires the configuration ("sshyp tweak") to be re-done, as a device name now must be set (for multi-client deletion).

Changes:

- fixed an issue where folders could not be deleted locally (actually, this time)
- properly handled an exception for when the user forgets a following '/' when attempting to delete a folder

&&

Planned for next major update (fr5, The sshyp Doing a Split Update):

sshyp:
- sshyp has recieved a major visual overhaul
    ^ this includes the new file list and thematic text art

sshync:
- sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
    ^ more details will be available in the sshync repo, once it is created

&&

Planned for next, next major update (fr6, The Farmer Shearing the sshyp Update):

- when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)
- imporove password generator to guarantee more secure results
- enforce permissions on the server-side
- allow for copying entire notes (not just first line)
- ability to pass entries as arguments for more functions

&&

Backlog:

- create separate gui frontend targetting mobile and desktop Linux
- auto-completion on tab (currently unsure of best way to make this work)

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

sshyp 2022.02.16.fr4.1

The High-Tech Shears Update - Patch 1

This release addresses a bug with local folder deletion.

Note: Upgrading to releases in the fr4 series requires the configuration ("sshyp tweak") to be re-done, as a device name now must be set (for multi-client deletion).

Changes:

- fixed an issue where folders could not be deleted locally
- optimized deletion flags

&&

Planned for next major update (fr5, The sshyp Doing a Split Update):

sshyp:
- sshyp has recieved a major visual overhaul
    ^ this includes the new file list and thematic text art

sshync:
- sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
    ^ more details will be available in the sshync repo, once it is created

&&

Planned for next, next major update (fr6, The Farmer Shearing the sshyp Update):

- when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)
- imporove password generator to guarantee more secure results
- enforce permissions on the server-side
- allow for copying entire notes (not just first line)
- ability to pass entries as arguments for more functions

&&

Backlog:

- create separate gui frontend targetting mobile and desktop Linux
- auto-completion on tab (currently unsure of best way to make this work)

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

sshyp 2022.02.16.fr4

The High-Tech Shears Update

This release adds in a major feature: multi-client deletion (details below)

Note: This release requires the configuration ("sshyp tweak") to be re-done, as a device name now must be set (for multi-client deletion).

Features:

- added multi-client deletion
    ^ this means that when an entry is deleted from one client (and thus the server), if another client that has a copy of the deleted entry tries to sync, instead of re-uploading the deleted entry, it will now also have its entry deleted.
    ^ the current implementation requires a new Python script in addition to sshyp and sshync

Changes:

- fixed an issue where sshyp would use the wrong SSH key when trying to delete entries from or create folders on the server
    ^ this is a fix that was recently applied to sshync - turns out I made the same mistake in sshyp
- deleting folders should now work properly with "sshyp shear" if the directory is entered with a following "/"

&&

Planned for next major update (fr5, The sshyp Doing a Split Update):

sshyp:
- sshyp has recieved a major visual overhaul
    ^ this includes the new file list and thematic text art

sshync:
- sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
    ^ more details will be available in the sshync repo, once it is created

&&

Planned for next, next major update (fr6, The Farmer Shearing the sshyp Update):

- when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)
- imporove password generator to guarantee more secure results
- enforce permissions on the server-side
- allow for copying entire notes (not just first line)
- ability to pass entries as arguments for more functions

&&

Backlog:

- create separate gui frontend targetting mobile and desktop Linux
- auto-completion on tab (currently unsure of best way to make this work)

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

sshyp 2022.01.26.fr3.4

The Boxing Update - Patch 4

This release is a hotfix for 2022.01.17.fr3.3. It fixes a major bug with sshync.

Changes:

- sshync now correctly uses the auto-generated SSH key in all operations
- an exception has been added for attempting to delete/shear a file that does not exist
- the manpage has been updated and now includes setup instructions

&&

Planned for next major update (fr4, The sshyp Doing a Split Update):

sshyp:
- sshyp has recieved a major visual overhaul
    ^ this includes the new file list and thematic text art

sshync:
- sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
    ^ more details will be available in the sshync repo, once it is created

&&

Planned for next, next major update (fr5, The Farmer Shearing the sshyp Update):

- allow for multi-client deletion... somehow (in sshync)
- when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)
- imporove password generator to guarantee more secure results
- enforce permissions on the server-side
- allow for copying entire notes (not just first line)
- ability to pass entries as arguments for more functions

&&

Backlog:

- create separate gui frontend targetting mobile and desktop Linux
- auto-completion on tab (currently unsure of best way to make this work)

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

sshyp 2022.01.17.fr3.3

The Boxing Update - Patch 3

This release is a hotfix for 2022.01.16.fr3.2. It fixes major bugs, especially with Termux.

Changes:

- the temporary directory for Termux is now sym-linked with its full path (no longer dangling)
- the copy function can now properly detect if Termux is being used
- ~/.config is created, if it does not already exist
- "sshyp shear" now functions again, as a bug with the lock file has been fixed
- sshync -should- now properly detect the database file on all platforms (was broken on Termux)
- total lines of code have been slightly reduced with various small optimizations

Additions planned for minor releases:

- updated the manpage with more information regarding how sshyp works and how to set it up
- ensured that it is now impossible for ghosts of entires to remain in /dev/shm
- reduced total lines of code with small optimizations

&&

Planned for next major update (fr4, The sshyp Doing a Split Update):

sshyp:
- sshyp has recieved a major visual overhaul
    ^ this includes the new file list and thematic text art

sshync:
- sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
    ^ more details will be available in the sshync repo, once it is created

&&

Planned for next, next major update (fr5, The Farmer Shearing the sshyp Update):

- allow for multi-client deletion... somehow (in sshync)
- when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)
- imporove password generator to guarantee more secure results
- enforce permissions on the server-side
- allow for copying entire notes (not just first line)
- ability to pass entries as arguments for more functions

&&

Backlog:

- create separate gui frontend targetting mobile and desktop Linux
- auto-completion on tab (currently unsure of best way to make this work)

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

sshyp 2022.01.16.fr3.2

The Boxing Update - Patch 2

This release is a hotfix for 2022.01.16.fr3.1. It fixes major bugs, including one massively impacting Termux.

Changes:

- sshyp now uses a symlink to the temporary storage directory, allowing for easy implementation of different temporary directories on different platforms
    ^ the first usage of this is enabling the use of temporary storage on Termux
- sshync now properly auto-generates its config directory

Additions planned for minor releases:

- updated the manpage with more information regarding how sshyp works and how to set it up
- ensured that it is now impossible for ghosts of entires to remain in /dev/shm
- reduced total lines of code with small optimizations

&&

Planned for next major update (fr4, The sshyp Doing a Split Update):

sshyp:
- sshyp has recieved a major visual overhaul
    ^ this includes the new file list and thematic text art

sshync:
- sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
    ^ more details will be available in the sshync repo, once it is created

&&

Planned for next, next major update (fr5, The Farmer Shearing the sshyp Update):

- allow for multi-client deletion... somehow (in sshync)
- when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)
- imporove password generator to guarantee more secure results
- enforce permissions on the server-side
- allow for copying entire notes (not just first line)
- ability to pass entries as arguments for more functions

&&

Backlog:

- create separate gui frontend targetting mobile and desktop Linux
- auto-completion on tab (currently unsure of best way to make this work)

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

sshyp 2022.01.16.fr3.1

The Boxing Update - Patch 1

This release is a hotfix for 2022.01.13.fr3. It fixes sshync/syncing support after the changes in the last release.

Changes:

- sshync has been updated to work with the new config directory
- sshync now uses its own directory to store the database file
    ^ this is preperation for separating sshync into its own package
- expanduser lines in sshyp have been simplified (no user-facing impact)

Additions planned for minor releases:

- updated the manpage with more information regarding how sshyp works and how to set it up
- ensured that it is now impossible for ghosts of entires to remain in /dev/shm
- reduced total lines of code with small optimizations

&&

Planned for next major update (fr4, The sshyp Doing a Split Update):

sshyp:
- sshyp has recieved a major visual overhaul
    ^ this includes the new file list and thematic text art

sshync:
- sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
    ^ more details will be available in the sshync repo, once it is created

&&

Planned for next, next major update (fr5, The Farmer Shearing the sshyp Update):

- allow for multi-client deletion... somehow (in sshync)
- when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)
- imporove password generator to guarantee more secure results
- enforce permissions on the server-side
- allow for copying entire notes (not just first line)
- ability to pass entries as arguments for more functions

&&

Backlog:

- create separate gui frontend targetting mobile and desktop Linux
- auto-completion on tab (currently unsure of best way to make this work)

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

sshyp 2022.01.13.fr3

The Boxing Update

This release adapts sshyp to be compatible with Termux and allows for packaging for various distributions in addition to Arch Linux.

Features:

- the copy function now has support for termux-clipboard-set from termux-api
    ^ this allows clipboard functionality to work on Termux

Changes:

- sshyp no longer writes to/reads from /var
    ^ configuration files are now stored under the user's home directory in ~/.config/sshyp
    ^ this change allows for compatibility with less standard environments, such as Termux on Android

Additions planned for minor releases:

- updated the manpage with more information regarding how sshyp works and how to set it up
- ensured that it is now impossible for ghosts of entires to remain in /dev/shm
- reduced total lines of code with small optimizations

&&

Planned for next major update (fr4, The sshyp Doing a Split Update):

sshyp:
- sshyp has recieved a major visual overhaul
    ^ this includes the new file list and thematic text art

sshync:
- sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
    ^ more details will be available in the sshync repo, once it is created

&&

Planned for next, next major update (fr5, The Farmer Shearing the sshyp Update):

- allow for multi-client deletion... somehow (in sshync)
- when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)
- imporove password generator to guarantee more secure results
- enforce permissions on the server-side
- allow for copying entire notes (not just first line)
- ability to pass entries as arguments for more functions

&&

Backlog:

- create separate gui frontend targetting mobile and desktop Linux
- auto-completion on tab (currently unsure of best way to make this work)

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

sshyp 2022.01.10.fr2.3

The Lighter Update - Patch 3

This release is a hotfix for 2021.12.01.fr2.2. It features critical security fixes and quality-of-life improvements.

New features:

- a man page has been added

Changes:

- folders in /dev/shm are no longer created before input from the user (fixes critical security flaws)
- fixed syncing of files (specifically downloading) with special characters, such as '('
- fixed program still continuing after trying to edit an entry that doesn't exist
- the gen command has been updated to use the newer notetaking system
- printing functions in sshyp have been combined into one function (arguments determine section to print, fewer lines of code)
- file not found exceptions have been re-implemented
- .lower() is now used to remove casing when checking inputs
- removed an old reference to "rsync" in the configuration dialog

Planned for next major update (The Fluffier Update):

- new visual features
    ^ this includes the new file list and thematic text art. sshyp will be
    getting a retro computing theme.
- packages for more environments
    ^ "sshyp" will be officially packaged for Arch Linux, Alpine Linux, and Termux (Android).
    Debian/Ubuntu and Fedora packaging will come later.
- imporove password generator to guarantee more secure results
- when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)

Planned for next, next major update (The Shears Update Pt. 1):

- enforce permissions on the server-side
- allow for copying entire notes (not just first line)
- allow for multi-client deletion... somehow (in sshync)
- detatch sshync and make it a separate package

Planned for next, next, next major update (The Shears Update Pt. 2):

- ability to pass entries as arguments for more functions
- auto-completion on tab (currently unsure of best way to make this work)

Backlog:

- package for more Linux distributions, such as Debian and Fedora
- create separate gui frontend targetting mobile and desktop Linux
