[8.18.1] - 2025-04-17
Added
SecretStoreclass tobuilder.pyfor secure storage of sensitive data,
includingpassword,bearer_auth,api_key, andopaque_id. This
class is integrated into theBuilderclass, ensuring sensitive data is not
exposed in logs or exceptions, and is redacted in__repr__outputs, and are
removed from the in-memory DotMap representations of the config.- Adding
SecretStorerequired the additional dependency of"cryptography>=44.0.2" - Comprehensive reStructuredText (reST) docstrings for all modules, classes, and
functions inbuilder.py,logging.py,config.py,schemacheck.py,
utils.py,exceptions.py, andcommands.py, detailing inputs, outputs,
raises, and examples. - Doctests for testable functions and classes across all modules, ensuring
functionality verification without external dependencies (e.g., mocked
click.Context,Elasticsearchclient). - Custom
__repr__methods for classes inbuilder.py(Builder,
SecretStore),logging.py(Whitelist,Blacklist,JSONFormatter),
schemacheck.py(SchemaCheck), andexceptions.py(all exception classes),
enhancing debugging with secure, redacted outputs. - Cloned the
password_filterfunction fromschemacheck.pyinto
exceptions.pyto avoid circular import, maintaining redaction for sensitive data
in exception messages.
Changed
- Enhanced security by ensuring no sensitive data (e.g., passwords, API keys)
appears in docstrings, doctests, or__repr__outputs, leveraging
password_filterfor redaction. - Updated
test_builder.pyto align withbuilder.py’sSecretStore
integration, fixing failing tests (test_pass_but_no_user,test_proper_api_key,
test_proper_api_key_token) by checking_secrets.get_secretand verifying
sensitive data cleanup. - Preserved all existing functionality, imports, comments, and pylint directives
in all modules, adding only documentation and minor formatting for line length
compliance. - Adjusted
commands.pyto include all three commands (show_all_options,
test_connection,test_stderr) with detailed docstrings and doctests,
retaining extensive comments onSHOW_EVERYTHINGusage. - Bumped version of
tiered-debugto1.2.1inpyproject.tomland
requirements.txt.