All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
--no-vaultflag removed frompacer auth init— encrypted vault is now mandatorypacer auth loginnow prompts for vault passphrase (creates vault if none exists)- Plaintext credential storage (
config.env) is no longer offered as an option
- Regex fallback parser (
parse_docket_regex) captured</h3>closing tag as part of case number — changed\S+to[\w:\-\.]+character class
- Full Encrypted Vault section in README covering AES-256-GCM architecture, vault file structure, operations table, and Scrypt tuning environment variables
- Vault documentation added to SECURITY.md
- README: vault.json shown in archive directory tree
- README: all credential storage references updated to reflect vault-only model
- SECURITY.md: removed plaintext opt-out language
- Removed redundant
force-includeinpyproject.tomlthat caused a duplicatecourt-lookup.jsonentry in the wheel, rejected by PyPI on upload
- README:
pacer auth initis now the documented first step (replacesauth login) - README: command aliases table corrected and expanded (
cases,parties,find) - README: added
pacer auth init,pacer auth code, andpacer parse textcommand docs - README: encrypted vault documented in Configuration section
- CONTRIBUTING: fixed source path (
src/pacer-cli/→src/pacer_cli/) and release process
- Package renamed from
indepacertopacer-clifor clarity - Config directory changed from
~/.config/indepacer/to~/.config/pacer-cli/
- Auth init wizard (
pacer auth init) - Interactive setup with MFA validation, encrypted vault, and credential testing - TOTP code generator (
pacer auth code) - Generate codes for manual PACER login or MFA removal - Encrypted credential vault - AES-256-GCM encryption with Scrypt KDF for secure credential storage
- Inline TOTP implementation - Replaced
pyotpdependency with stdlib-only RFC 6238 implementation - Security module - TLS hardening, rate limiting, audit logging
- QA environment support -
--qaflag for testing against PACER QA servers
pacer auth loginnow redirects to init wizard if no credentials exist- Vault passphrase prompted automatically when vault exists
- Encrypted storage enabled by default in setup wizard (made mandatory in 0.3.0)
- Scrypt parameters lowered (2^14) for broader compatibility, configurable via env vars
- QA TOTP fallback to production secret when QA secret not set
get_config_from_vaultno longer leaks credentials to environment variablestime_step <= 0validation in TOTP generation- Empty vault passphrase rejection (minimum 8 characters)
- Cross-platform atomic file writes with
os.replace() - Deprecated
datetime.utcnow()calls replaced with timezone-aware versions - Test isolation with
_env_file=None
- Removed leaked TOTP secrets from documentation
- Added
*secret*.txt,*key*.txtto gitignore - KDF parameters now stored in vault for future migration compatibility
- Initial release
- PCL case and party search
- Docket and document downloads
- Local archive with hierarchical structure
- Context-aware commands
- Rich CLI with aliases