Releases: AntonVanAssche/BashPass
BashPass 3.3
Version 3.3 has arrived! This release focuses on code improvements and removing unnecessary settings.
The main script has been refactored for better readability and security. Unnecessary settings have been removed, and more local variables are used to reduce the global scope and prevent potential conflicts. Variables containing settings are now readonly to avoid accidental changes.
The configuration file has been simplified, now containing only essential settings: the GPG key ID, default password length, default password store, and timer. If the configuration file is missing or incomplete, the script can fall back on default settings, making BashPass easier to use without configuration file edits.
The need to specify an email address in the configuration file has been removed, as it wasn't necessary for encryption/decryption, which only requires the GPG key ID.
The Git repository URL setting is no longer needed for the sync feature. If a .git
directory is found in the password store, the script will automatically use it.
A Bash completion script has been added for tab completion of the main script. This script must be installed manually and is not included in the make install
command. However, the new rpm
and deb
packages will install the completion script automatically, requiring the user to source it in their shell configuration file.
Here's what's new:
Added:
- GitHub Actions for automated
deb
-package building. (32519f2 and c06a211) - GitHub Actions for automated
rpm
-package building. (646e8eb and c06a211) - Bash completion script for tab completion of the main script. (33b68ba, 6a21b10 and 204e4e5)
Updates:
- Refactored the main script for better readability and security. (e040166)
- Removed uneccessary sudo/doas calls during install. (6896d75)
- Re-wrote the man-page for better readability, and reflect the changes in the script. (316d591 and b69f480)
- Re-wrote the documentation for better readability, and reflect the changes in the script. (0e32920)
- Re-wrote contributing guidelines. (b971066)
- Only publish wiki-pages on new tag creation. (167c09d)
Removed:
- Default configuration settings for email address and Git repository URL. (88dbbe2 and b6391de)
- Default configuration file. (906fc72)
Full Changelog: 3.2...3.3
Info:
The dependencies for this release are:
bash >= 3.0
Password encryption:
gpg
orgpg2
Clipboard support:
- X11
xclip
orxsel
- Wayland
wl-clipboard
- macOS:
pbcopy
Synchronization support:
git
Which systems are supported:
Technically, all (UNIX) systems on where Bash is installed are supported. This means:
- Most Linux distributions
- Most BSD variants
- macOS
Plans for next release
To be continued...
BashPass 3.2
It's been a while but here it finally is: BashPass 3.2. This release is a rather small one, focusing on adding pbcopy support on macOS devices. BashPass will now default to pbcopy as the clipboard manager to use when using the --copy functionality on macOS systems.
Further, the license has been updated to the current year.
Here's what's new:
Added:
- Copy functionality will now default to
pbcopy
on macOS systems. (c9014d7)
Updates:
- The year mentioned in the license has been updated to 2024. (d3b000a)
Removed:
- None
Full Changelog: 3.1...3.2
Info:
The dependencies for this release are:
bash >= 3.0
Password encryption:
gpg
orgpg2
Clipboard support:
- X11
xclip
orxsel
- Wayland
wl-clipboard
- macOS:
pbcopy
Synchronization support:
git
Which systems are supported:
Technically, all (UNIX) systems on where Bash is installed are supported. This means:
- Most Linux distributions
- Most BSD variants
- macOS
Plans for next release
To be continued...
BashPass 3.1
Introducing BashPass version 3.1! This release features several significant changes that improve the maintainability and usability of BashPass.
Firstly, the installation process has been updated. The old one-liner scripts for installation, updating, and uninstallation have been replaced with two Makefiles (GNUmakefile
and BSDmakefile
), streamlining the codebase and making BashPass more manageable. This also means that BashPass is now installed globally on the system, compared to before where it was user specific.
In addition, I have made some code changes to enhance readability and maintainability. Variable and function names have been converted to snake_case, and some variables have been given more descriptive names, making their purpose clearer.
The most significant addition in this release is the Wayland support for the copy feature. After transitioning from X11 to Wayland, I noticed a lack of Wayland support for BashPass. To remedy this, I've rewritten the copy()
function, to use wl-copy
when it's available on the system. This rewrite also allowed me to clean up the function, making it more readable and efficient.
Other changes include improved documentation, GitHub workflows for testing, and other minor updates.
Thank you for using BashPass, and please don't hesitate to share any feedback or suggestions for future updates.
Here's what's new:
Added:
- Wayland support for the copy feature. (259504f, 5fc2a74 and 1cf96ab)
GNUmakefile
andBSDmakefile
for installation, updating, and uninstalling, replacing the old one-liner scripts. (725b375 and fa6a62c)- GitHub workflows for testing the Makefiles. (527b94d)
- Prefer
gpg2
when available. (4e07511) - Release signing script. (1bb1688)
- Restrict new password file permissions to only the current user. (54d4cc3)
- Remove raw password files when an error occures. (d323cd9)
- Randomly generated passwords can now contain spaces. (d17478d)
Updates:
- The version number is now specified within the application itself. (201eb86)
- Codebase improved with snake_case variable and function names, and clearer variable naming.
- Documentation improvements.
- Man pages. (d3507df, 728600f and 2d482cd)
Removed:
- The old one-liner scripts for installation, updating, and uninstallation. (b2c3eab, 4ca0c48 and 628e7f2)
And probably a lot more that I forgot to mention 😉!
Full Changelog: 3.0...3.1
Info:
The dependencies for this release are:
bash >= 3.0
Password encryption:
gpg
orgpg2
Clipboard support:
- X11
xclip
orxsel
- Wayland
wl-clipboard
Synchronization support:
git
Which systems are supported:
Technically, all (UNIX) systems on where Bash is installed are supported. This means:
- Most Linux distributions
- Most BSD variants
- macOS
Plans for next release
To be continued...
BashPass 3.0
I'm excited to announce the release of BashPass version 3.0! This new release primarily focuses on the sync
feature, re-implementing it from scratch and removing the old way it was done.
In this release, I have made some small code format changes to improve the readability and maintainability of the codebase.
The biggest change in this release is the re-implementation of the sync feature. Previously, this feature used rsync
to synchronize the password between two machines. I have now replaced rsync
with git
, which makes it easier for users to manage their passwords across multiple devices.
With this new implementation, users can push their passwords to a PRIVATE Git repository of their choice, which eliminates the need for manually selecting which passwords to synchronize, with which machine.
I believe that these changes will greatly improve the functionality and usability of BashPass, and I encourage all users to upgrade to version 3.0 to take advantage of these improvements.
As for the version number change, I decided to make this release version 3.0 instead of 2.4 due to the significant changes made to the sync
feature. I believe this change warrants a major version number increment, and I hope that this version number change makes it easier for users to understand the significance of the update.
Thank you for using BashPass, and please let me know if you have any feedback or suggestions for future updates.
Here's what's new:
Added:
- Re-implementation of the
--sync
option, which now usesgit
, instead ofrsync
. (899fe94, 46a88bb and b802114)- Making it easier to synchronize passwords across multiple devices at once.
Updates
- The information within the man pages have been updated to include the new
--sync
implementation. (12f4e32, bf93280 and 5e98c44) - Small code format changes. (7d3d6e0, a8de0b3 and 2c7c7bf)
- Mainly to improve the readability and maintainability of the codebase.
Info:
The dependencies for this release are:
bash >= 3.0
Password encryption:
gpg
orgpg2
Clipboard support:
xclip
orxsel
Synchronization support:
git
Which systems are supported:
Technically, all systems on where Bash is installed are supported. This means:
- Most Linux distributions.
- Mac OS (I can't test this because I don't own a Mac OS system)
Plans for next release
The next release will be 3.1, which will contain the following change(s):
- Wayland support for the
--copy
(-c
) option, usingwl-clipboard
as a new dependency.- Checkout the progress inside the
wayland-support
development branch.
- Checkout the progress inside the
- Rework the installation process, to just one
Makefile
, instead of separate scripts.- Including the removal of the one-liners.
- Checkout the progress inside the
makefile
development branch.
- Remove the version setting from the config file, and assigning it within the application itself.
- Code readability improvements.
- Switching over to snake_case for variable and function names.
- More descriptive variable/function names.
BashPass 2.3
Here's what's new:
Added:
- Support for
xsel
has been added. BashPass will now detect which clipboard manipulation tool is installed and use it. (3b55891 and cc39d65)
Updates
- The man page has been updated to include
xsel
as a dependency. (97cdc1f)
Info:
The dependencies for this release are:
bash >= 3.0
Password encryption:
gpg
orgpg2
Clipboard support:
xclip
orxsel
Synchronization support:
rsync
Which systems are supported:
Technically, all systems on where Bash is installed are supported. This means:
- Most Linux distributions.
- Mac OS (I can't test this because I don't own a Mac OS system)
Plans for the next release:
- Rework the
--sync
functionality to usegit
instead. This will make it easier to synchronize passwords between multiple devices.
BashPass 2.2
Here's what's new:
Added:
- Man pages have been added for both the application itself and the configuration file. (a9f8d3f, 6d5d187 and 6e24439)
Updates
- The input prompt for the password inputs has been slightly changed. (d250d8f)
Info:
The dependencies for this release are:
bash >= 3.0
Password encryption:
gpg
orgpg2
Clipboard support:
xclip
Synchronization support:
rsync
Which systems are supported:
Technically, all systems on where Bash is installed are supported. This means:
- Most Linux distributions.
- Mac OS (I can't test this because I don't own a Mac OS system)
BashPass 2.1
Here's what's new:
Fixes:
- Email not copied over to new config format. (f4e68d0)
- Compatibility, use
read
instead ofsleep
. Surprisingly,sleep
is an external program and not a Bash built-in. (b3e45b5)
Added:
Info:
The dependencies for this release are:
bash >= 3.0
Password encryption:
gpg
orgpg2
Clipboard support:
xclip
Synchronization support:
rsync
Which systems are supported:
Technically, all systems on where Bash is installed are supported. This means:
- Most Linux distributions.
- Mac OS (I can't test this because I don't own a Mac OS system)
BashPass 2.0
Here's what's new:
Updated features:
- Password generation.
- Config format.
- The installer can update the old config to the new format without losing your current settings.
Added features:
- Installation using a one-liner.
- The old method is still available.
- Default password length (
14
).- Can be changed in the config file (
~/.config/bashpass/bashpass.conf
).
- Can be changed in the config file (
sync
Option to copy passwords between two devices.- Exit with corresponding exit code (examples:
127
,128
, etc.) when an error occurs.- You can use
echo $?
to see the exit code.
- You can use
- Encrypt with specific key (defined by
keyID
form the config file).- Added for users with multiple GPG keys on there system.
Fixes:
- BSD support.
Info:
The dependencies for this release are:
bash >= 3.0
Password encryption:
gpg
orgpg2
Clipboard support:
xclip
Synchronization support:
rsync
Which systems are supported:
Technically, all systems on where Bash is installed are supported. This means:
- Most Linux distributions.
- Mac OS (I can't test this because I don't own a Mac OS system)
BashPass 1.1
Bug fixes
- copy: Use
printf
instead of the output of--show
. This will only copy the password and not the wordPassword:
as in the output of--show
. #1d1674d
BashPass 1.0
There have been 35
commits to master since the start of the project. As of this point in time I can say that BashPass is feature complete so I'm releasing version 1.0
.
The script now supports a number of functions, such as adding, updating and removing a password.
Here's what's new:
- You can add a pasword using
--add
or-a
. - You can update a pasword using
--update
or-u
. - You can delete a pasword using
--delete
or-d
. - You can show a pasword using
--show
or-s
. - You can copy a pasword using
--copy
or-c
to the clipboard. - You can generate a list with the names of all your passwords using
--list
or-l
.
Info:
The dependencies for this release are:
gpg
this is used the encrypt all the files where the passwords are stored.xclip
this is used to copy the password to the clipboard when using the--copy
or-c
option.
Which systems are supported:
Technically, all systems on which Bash is installed are supported. This means:
- Most Linux distributions.
- Mac OS (I can't test this because I don't own a Mac OS system)