Skip to content

Releases: AntonVanAssche/BashPass

BashPass 3.3

17 May 18:40
3.3
Compare
Choose a tag to compare

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:

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 or gpg2

Clipboard support:

  • X11
    • xclip or xsel
  • 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

23 Feb 15:11
3.2
364898a
Compare
Choose a tag to compare

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 or gpg2

Clipboard support:

  • X11
    • xclip or xsel
  • 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

04 Apr 14:50
3.1
8b3c446
Compare
Choose a tag to compare

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 and BSDmakefile 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:

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 or gpg2

Clipboard support:

  • X11
    • xclip or xsel
  • 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

07 Mar 14:01
3.0
4d11461
Compare
Choose a tag to compare

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 uses git, instead of rsync. (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 or gpg2

Clipboard support:

  • xclip or xsel

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, using wl-clipboard as a new dependency.
  • 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

28 Oct 15:20
2.3
d369f07
Compare
Choose a tag to compare

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 or gpg2

Clipboard support:

  • xclip or xsel

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 use git instead. This will make it easier to synchronize passwords between multiple devices.

BashPass 2.2

29 Aug 17:59
2.2
e68798d
Compare
Choose a tag to compare

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 or gpg2

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

21 Jun 16:59
2.1
f1f03ac
Compare
Choose a tag to compare

Here's what's new:

Fixes:

  • Email not copied over to new config format. (f4e68d0)
  • Compatibility, use read instead of sleep. 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 or gpg2

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

23 Apr 16:42
2.0
28a7fa0
Compare
Choose a tag to compare

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).
  • 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.
  • 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 or gpg2

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

12 Mar 16:29
Compare
Choose a tag to compare

Bug fixes

  • copy: Use printf instead of the output of --show. This will only copy the password and not the word Password: as in the output of --show. #1d1674d

BashPass 1.0

11 Feb 16:37
Compare
Choose a tag to compare

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)