You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
New Features
Session Management System: Encrypted session caching with configurable timeouts (60s-24h), machine binding, automatic expiration, and manual lock command to clear sessions
Tag-Based Organization: Complete tagging system with tag list, tag add, tag remove commands - organize entries with up to 20 tags per entry, search by tags, and view tag usage counts
JSON Import/Export: Structured import/export system replacing plain text format - includes validation, automatic rollback on errors, batch operations, and --template flag for sample files
Configuration Management: New config command to view and modify settings like session timeout (default 8 minutes) stored in database
Automatic Backups: System now creates backups before critical operations (reset, init) and maintains last 5 backups in dedicated backup directory
Enhanced Search: Added --names-only flag to search only entry names, improved match indicators showing where pattern was found (name/description/tags)
Major Changes
Import/Export Format: Changed from plain text to structured JSON with version tracking and timestamp metadata
Description Limit: Increased from 72 to 500 characters per entry
Storage Structure: Added system entries (__config__) for configuration management
Tag Storage: Tags now encrypted separately with dedicated nonce (previously stored with description)
Session Security: Implemented 300K-iteration KDF specifically for session encryption (separate from 600K master KDF)
Error Handling: Comprehensive validation with detailed error messages and automatic cleanup on failures
Security Improvements
Machine Binding: Session files now include machine hash verification preventing session theft across devices
Session Expiration: Dual timeout system with configurable timeout and 24-hour hard limit
Failed Attempt Tracking: Session invalidation after 3 failed validation attempts
Import Rollback: Automatic rollback of partial imports on failure to maintain database consistency
Secure File Operations: Temporary file pattern (.tmp) for exports with atomic rename operation
Breaking Changes
Export format changed from plain text to JSON (v2.x exports not compatible)
Tag system completely redesigned (tags now separate from descriptions)
Configuration moved from code defaults to database storage
Session management requires re-authentication when upgrading from v2.x