History

24.10.8 (2024-10-16)

Changed

  • Now using Poetry for package management and installation.

  • Refactored GitHub Actions workflows.

  • Updated ReadTheDocs configuration.

  • (Versions 24.10.0 - 24.10.7 were fix attempts.)

23.4.2 (2023-04-20)

Added

  • Added bats test for secrets find command.

Changed

  • Switched to using f-strings for formatting.

  • Fixed broken bats tests.

  • Update GitHub Actions workflows.

23.4.1 (2023-04-19)

Added

  • Added secrets find command.

  • Added support for new variable type boolean.

Changed

  • Updated GitHub Actions workflows (default to Python 3.9.16).

  • Drop Python 3.7, 3.8, add Python 3.11 (default to 3.10) for tox.

  • Fixed downstream dependency and pip installation problems.

  • Resolved new pep8 and bandit findings.

22.6.1 (2022-06-21)

Added

  • Added –ignore-missing option to continue when settings variables.

  • Added ‘Operational Security’ section to README.

22.6.0 (2022-06-10)

Added

  • Add about command to expose selected settings for situational awareness.

  • Add pytest code coverage reporting.

  • Add BATS runtime tests related to changes.

Changed

  • Fix caching bug with non-unique secret generation.

  • Fix bugs with setting/deleting secrets.

  • Improve secrets basedir initialization logic.

  • Expand use of pathlib.Path.

  • Improvements to source code, test, and vscode launch configuration quality.

22.5.1 (2022-05-25)

Changed

  • Switch to using factory pattern for secrets generation.

  • General code quality and test improvements.

  • Improve secrets get command logic and help.

  • Fix utils yaml-to-json subcommand and tests.

  • Resolve setuptools warnings.

  • Separate utility functions from utils subcommands.

Removed

  • Retire consul_key secret type in favor of token_base64.

  • Retire insecure secrets types (e.g., use of SHA1).

22.5.0 (2022-05-11)

Added

  • Test support for Python 3.10.

  • Add better logging controls.

Changed

  • Generalize Google OAuth2 email functionality.

  • Improve use and testing of exceptions.

22.1.0 (2022-01-22)

Added

  • Add init command and –init flag to initialize secrets base directory.

  • Ensure overridden values via flags are exported to process environment for subprocesses to use.

  • Add missing tests for features added in a previous release.

  • Add and start using application-specific exception classes.

Changed

  • Move functions and variables to utils to improve reuse ability.

  • Use get_ prefix more consistently for getter method/function names.

  • Over-ride cliff formatter class globally in app parser setup.

  • Use pathlib.Path for paths for cleaner code.

  • Fix bugs in environments delete command.

  • Fix bugs in –from-options feature of secrets get and secrets set.

  • Improvements to source code, test, and vscode launch configuration quality.

21.11.0 (2021-11-22)

Added

  • Add Help attribute to descriptions for URL to more information.

Changed

  • General code quality, documentation, and testing enhancements

  • Move tmpdir path creation to secrets_environment.SecretsEnvironment().

  • Move umask() function and variables to utils.

Removed

  • Drop Python 3.6 support due to it being EOL.

21.9.1 (2021-09-15)

Added

  • Added secrets tree subcommand.

Changed

  • Fixed bugs with environments path –tmpdir subcommand and run subcommand with –elapsed option when no environment exists.

  • Changed license file name.

  • Improved documentation.

21.9.0 (2021-09-07)

Added

  • Increased test coverage to address bugs (below) being fixed.

Changed

  • Fixed bugs in Makefile and tox.ini file.

  • Fixed bug setting undefined variables.

  • Switched from numpy to Python secrets module for random bytes.

  • Increased key size from 16 to 32 bits for consul_key, token_hex and token_urlsafe.

21.8.0 (2021-08-12)

Changed

  • Fixed bug in setup.py+setup.cfg

21.7.0 (2021-07-30)

Added

  • Secrets descriptions for demoing HypriotOS Flash mods Medium article

Changed

  • Improve secrets set –from-options

  • General code quality, documentation, and testing enhancements

21.6.0 (2021-06-23)

Added

  • Ability to set and generate secrets from defaults options

  • Ability to create an alias for an existing environment

  • Allow retroactive mirroring of new secrets

Changed

  • Switched from pbr to setuptools_scm for version numbering

  • Switched to more secure random number generation

21.2.0 (20201-02-23)

Added

  • Improve GitHub Actions workflows

  • Overall documentation and code enhancements

  • Improve handling of wildcards in options list

Changed

  • Fix bugs with handling empty lists, cloning environments, BATS tests

  • Increase password complexity a bit more

  • Fix ReadTheDocs

20.11.0 (2020-11-17)

Added

  • Add secrets create and secrets delete commands

Changed

  • Normalize all logger and exception output text

  • Refactoring code for better modulatiry

  • Normalize group create and group delete code

  • Normalize secrets show and secrets describe code

  • Fix bug that left variables missing after cloning

  • Add Python 3.9 to testing matrix

  • Switch from .yml to .json format for secrets

  • Expand IP address support in utils subcommand

20.8.1 (2020-08-11)

Changed

  • Fixes to v20.8.0

20.8.0 (2020-08-11)

Added

  • Add GitHub workflow to publish to test.pypi.org

  • Add secrets backup and secrets restore logic

  • Open web browser to documentation for help

Changed

  • Go back to date-based version numbering

  • General CI/CD workflow updates

  • Improve directory handling in environments path

20.2.15 (2012-02-15)

Added

  • Added Python 3.8 support to test matrix

Changed

  • Fix bug in environments default

  • Put elapsed time (and BELL) on stdout

  • Fix bug in environments tree

  • Allow setting vars using diff names+environment

19.12.0 (2019-12-16)

Added

  • Add and document new boolean data type

  • Add groups delete command

Changed

  • Improve default environment handling

  • Improve tox+BATS testing

  • Address security issue per “Your xkcd passwords are pwned” article

  • General code quality and test improvements

  • Add protection from over-writing existing env vars

  • Add Options attribute

19.11.1 (2019-11-29)

Changed

  • Enhancements to better support Windows 10

  • Allow cloning group descriptions from environment

  • Fix tty/no-tty handling with environments delete

  • Expose terraform command on -v

  • Validate variable exists in environment

  • Fix broken environments tree code

19.10.1 (2019-10-20)

Changed

  • Move BATS unit tests into tox testing

  • Avoid attempting interactive things when no tty

  • Improve file and directory permissions logic

19.10.0 (2019-10-14)

Added

  • Working SSH key and configuration management

  • Use bullet for interactive list selection

  • Elapsed timer feature

  • Parsing of terraform output to extract SSH public keys

  • umask control for better new file permission settings

  • Support configuring terraform tfstate backend

  • Allow setting secrets by copying from another environment

Changed

  • Numerous bug fixes

  • Refine testing

  • Option to only show undefined variables

  • Sort environments when listing

19.9.0 (2019-09-05)

Added

  • Add environments delete subcommand

  • Allow cloning environment from an existing one

Changed

19.8.3 (2019-08-28)

Changed

  • Dynamically get version number

  • General testing enhancements

  • General code quality enhancements

  • Ensure more secure file permissions

19.8.2 (2019-08-23)

Changed

  • General code quality enhancements

19.8.0 (2019-08-22)

Added

  • IP address determination

  • Allow cloning new group in an empty environment

  • Make python -m psec work

  • JSON output method

  • Environment aliasing feature

Changed

  • General code quality and testing enhancements

  • Be more explicit about default environment

  • Tighten permissions on cloned environments/groups

  • Add insecure permissions checking

19.5.1 (2019-05-08)

Changed

Add HISTORY.rst file

19.4.5 (2019-05-08)

Added

  • Add command ssh config to manage SSH configuration snippet for use by update-dotdee to generate ~/.ssh/config file

  • Add command ssh known-hosts add and ssh known-hosts remove to manage system known_hosts file(s)

Changed

  • Generalized exception to fix –version bug

  • Clean up temporary docs/psec_help.txt file

19.4.4 (2019-04-21)

Changed

  • Fix Bats dependencies/tests

  • Fix broken documentation (wt?)

  • Fix messed up release tagging

19.4.0 (2019-04-19)

Added

  • Python 3.7 coverage for Travis CI

Changed

  • Complete –help output (epilog text) in all commands

  • Install a script ‘psec’ to complement console_script entry point

  • Clarify arguments in –help output

Deprecated

  • The ‘python_secrets’ command is now just ‘psec’

19.3.1 (2019-04-06)

Added

  • Add environments rename command

  • Add utils set-aws-credentials command to mirror AWS CLI credentials

  • Use autoprogram_cliff for self-documentation

  • Add cliff.sphinxext for documentation

Changed

  • Refactored SecretsEnvironment() so autoprogram_cliff works

18.11.0 (2018-11-09)

Added

  • Add “–type” option to “secrets describe”

  • Improve visibility into default environment

  • Add screencasts to documenation

  • Add RST checks to ensure PyPi documentation works

  • Add feedback about minimum Python version

  • Add --json output to environments path

  • Add reference to proof-of-concept using goSecure fork

Changed

  • The “secrets describe” command now describes variables and types

  • Allow secrets set to set any type (not just string)

18.9.0 (2018-09-27)

Added

  • Switched to calendar version numbering

  • Finish GPG encrypted email delivery of secrets

  • groups create command

  • Improve error handling consistency when no environment exists

0.16.0 (2018-09-12)

Added

  • Use attribute maps instead of lookup loops

  • Add Prompt attribute in descriptions for better UX when setting variables

  • Note new undefined variables when adding groups or environments create --clone-from

  • When exporting vars, also export PYTHON_SECRETS_ENVIRONMENT w/environment name

  • Add reference to Python Security coding information

  • environments tree command

  • environments path command with features supporting Ansible Lookup Plugin

  • secrets get command

  • groups path command

  • environments default command

0.14.0 (2018-08-30)

Added

  • Option to export secrets as environment variables (with optional prefix)

  • Can now set secrets (any specified or all undefined) via command line

  • utils myip command returns routable IP address (with CIDR option)

  • run command allows running commands with exported environment variables

Changed

  • Renamed template comamnd to utils tfoutput

Removed

  • Dropped support for Python 3.4, 3.5, since secrets module only in Python >= 3.6

0.10.0 (2018-08-23)

Added

  • New string type for manually set secrets

  • secrets path command provides path to secrets .yml file

  • template command (Jinja templating)

  • Default environment to basename of cwd

  • Clone environment from skeleton directory in repo

0.9.1 (2018-08-19)

Added

  • secrets describe command

  • environments create command

  • environments list command

  • Expand secrets types and generation methods

  • Add initial feature for sending secrets via email using Google OAuth2 SMTP

Removed

  • Drop Python 2.7 support (at least for now…)

Security

  • Add six for securing input call

0.8.0 (2018-05-11)

(TBD)

0.4.0 (2018-05-01)

(TBD)

0.3.6 (2018-04-29)

(TBD)

0.3.0 (2018-04-27)

  • First release on PyPI.