From f4a0c52ca8a89531684d91f959a4bcc199dc2d53 Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Mon, 23 May 2022 02:17:42 -0400 Subject: [PATCH] Update documentation --- extra/changelog-total | 303 +++++++++++++++++++++----------------- extra/manpage | 2 +- share/doc/sshyp/changelog | 7 +- 3 files changed, 173 insertions(+), 139 deletions(-) diff --git a/extra/changelog-total b/extra/changelog-total index 81c1ba2..7ee488b 100755 --- a/extra/changelog-total +++ b/extra/changelog-total @@ -1,3 +1,38 @@ +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 +- 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, 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 +- 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 +- ...and lots of minor (under the hood) changes! + +<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> + sshyp 2022.02.16.fr4.7 The High-Tech Shears Update - Patch 7 @@ -17,28 +52,28 @@ Changes: Planned for next major update (fr5, The sshyp Doing a Split Update): sshyp: -** sshyp has recieved a major visual overhaul +- 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 +- 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 +- 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) +- create separate gui frontend targetting mobile and desktop Linux +- auto-completion on tab (currently unsure of best way to make this work) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> @@ -59,29 +94,29 @@ Changes: Planned for next major update (fr5, The sshyp Doing a Split Update): sshyp: -** sshyp has recieved a major visual overhaul +- 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 +- 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 +- 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) +- create separate gui frontend targetting mobile and desktop Linux +- auto-completion on tab (currently unsure of best way to make this work) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> @@ -102,29 +137,29 @@ Changes: Planned for next major update (fr5, The sshyp Doing a Split Update): sshyp: -** sshyp has recieved a major visual overhaul +- 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 +- 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 +- 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) +- create separate gui frontend targetting mobile and desktop Linux +- auto-completion on tab (currently unsure of best way to make this work) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> @@ -149,29 +184,29 @@ Changes: Planned for next major update (fr5, The sshyp Doing a Split Update): sshyp: -** sshyp has recieved a major visual overhaul +- 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 +- 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 +- 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) +- create separate gui frontend targetting mobile and desktop Linux +- auto-completion on tab (currently unsure of best way to make this work) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> @@ -192,29 +227,29 @@ Changes: Planned for next major update (fr5, The sshyp Doing a Split Update): sshyp: -** sshyp has recieved a major visual overhaul +- 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 +- 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 +- 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) +- create separate gui frontend targetting mobile and desktop Linux +- auto-completion on tab (currently unsure of best way to make this work) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> @@ -236,29 +271,29 @@ Changes: Planned for next major update (fr5, The sshyp Doing a Split Update): sshyp: -** sshyp has recieved a major visual overhaul +- 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 +- 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 +- 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) +- create separate gui frontend targetting mobile and desktop Linux +- auto-completion on tab (currently unsure of best way to make this work) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> @@ -280,29 +315,29 @@ Changes: Planned for next major update (fr5, The sshyp Doing a Split Update): sshyp: -** sshyp has recieved a major visual overhaul +- 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 +- 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 +- 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) +- create separate gui frontend targetting mobile and desktop Linux +- auto-completion on tab (currently unsure of best way to make this work) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> @@ -331,29 +366,29 @@ Changes: Planned for next major update (fr5, The sshyp Doing a Split Update): sshyp: -** sshyp has recieved a major visual overhaul +- 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 +- 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 +- 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) +- create separate gui frontend targetting mobile and desktop Linux +- auto-completion on tab (currently unsure of best way to make this work) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> @@ -374,30 +409,30 @@ Changes: Planned for next major update (fr4, The sshyp Doing a Split Update): sshyp: -** sshyp has recieved a major visual overhaul +- 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 +- 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 +- 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) +- create separate gui frontend targetting mobile and desktop Linux +- auto-completion on tab (currently unsure of best way to make this work) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> @@ -418,39 +453,39 @@ Changes: 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 +- 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 +- 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 +- 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 +- 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) +- create separate gui frontend targetting mobile and desktop Linux +- auto-completion on tab (currently unsure of best way to make this work) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> @@ -468,39 +503,39 @@ Changes: 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 +- 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 +- 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 +- 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 +- 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) +- create separate gui frontend targetting mobile and desktop Linux +- auto-completion on tab (currently unsure of best way to make this work) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> @@ -519,39 +554,39 @@ Changes: 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 +- 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 +- 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 +- 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 +- 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) +- create separate gui frontend targetting mobile and desktop Linux +- auto-completion on tab (currently unsure of best way to make this work) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> @@ -574,39 +609,39 @@ Changes: 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 +- 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 +- 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 +- 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 +- 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) +- create separate gui frontend targetting mobile and desktop Linux +- auto-completion on tab (currently unsure of best way to make this work) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> @@ -1121,5 +1156,3 @@ What is currently functional: - sort notes and passwords into folders - gpg encryption - edit password/note entries - -<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> diff --git a/extra/manpage b/extra/manpage index 2ceb8e7..cd4c3ed 100644 --- a/extra/manpage +++ b/extra/manpage @@ -1,4 +1,4 @@ -.TH sshyp 1 "22 May 2022" "v1.0.0" "sshyp man page" +.TH sshyp 1 "23 May 2022" "v1.0.0" "sshyp man page" .SH NAME sshyp \- A very simple self-hosted, synchronized password manager for UNIX systems. Alternative to (and compatible with) pass/password-store. .SH SYNOPSIS diff --git a/share/doc/sshyp/changelog b/share/doc/sshyp/changelog index b826d60..155748e 100644 --- a/share/doc/sshyp/changelog +++ b/share/doc/sshyp/changelog @@ -11,23 +11,24 @@ Features: - 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, coloured output, and more! + ^ this includes a new entry list, a new entry readout, colored output, 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 liscensing and copyright information +- 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 protocal), rather than 'sftp' +- 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 - 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 - ...and lots of minor (under the hood) changes! <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>