Skip to content

Passlock v2.0.0 - Adaptive Encryption & Flexible TUI

Choose a tag to compare

@hachimamma hachimamma released this 14 Feb 16:31
· 119 commits to main since this release

The following are the main implementations made:

Added

Core Features

  • Adaptive Encryption - Automatically selects AES-256-GCM (with AES-NI) or ChaCha20-Poly1305 (without)
  • CPU Feature Detection - Detects AES-NI support for optimal performance
  • Beautiful TUI - Complete terminal user interface with Gruvbox theme
  • Password History - Track up to 5 previous passwords per entry
  • Tags & Categories - Organize passwords with custom tags
  • Advanced Search - Fast search across names, usernames, URLs, and tags
  • Filter by Tags - View passwords by category
  • Password Generator - Generate strong, random passwords (4-64 characters)
  • Password Strength Meter - Real-time feedback on password quality
  • Go API Server - RESTful API for web frontend
  • HTML Frontend - Modern web interface (development)

Security Improvements

  • Argon2id Key Derivation - GPU/ASIC-resistant password hashing
  • Authenticated Encryption - AEAD with Poly1305 MAC prevents tampering
  • Secure Memory Zeroing - Sensitive data cleared after use
  • Vault File Versioning - Support for multiple encryption formats
  • Auto-lock on Exit - TUI properly cleans up temporary files

Developer Experience

  • Modular UI Architecture - 10 separate UI modules for maintainability
  • Comprehensive Documentation - README, COMMANDS, CONTRIBUTING, SECURITY
  • Professional Makefile - Easy build, test, install, and release
  • Zero Clippy Warnings - Clean, idiomatic Rust code
  • GitHub Actions Ready - CI/CD workflows prepared

Commands

  • passlock info cpu - Show CPU features and recommended cipher
  • passlock version - Show version information
  • passlock help - Improved help text
  • passlock tui - Launch TUI interface

Changed

  • Encryption - Migrated from AES-256-GCM-only to adaptive encryption
  • UI Framework - Switched to ratatui with custom Gruvbox theme
  • Vault Format - New format with cipher metadata (backward compatible)
  • C Crypto Core - Optimized vault_engine.c for better performance
  • Build System - Enhanced Makefile with color output and better targets
  • Exit Handling - Fixed TUI cleanup (no more unicode mess on exit!)

Fixed

  • Terminal not properly cleaned up on exit
  • ESC key causing terminal corruption
  • Password visibility in edit mode
  • Vault locking issues
  • Memory leaks in crypto operations
  • Compiler warnings and clippy issues

Performance

  • 6x faster encryption on CPUs without AES-NI (ChaCha20-Poly1305)
  • 3-5 GB/s encryption speed on modern CPUs with AES-NI
  • Optimized vault loading and saving
  • Reduced memory allocations in hot paths

Documentation

  • Complete command reference (COMMANDS.md)
  • Security documentation (SECURITY.md)
  • Contributing guidelines (CONTRIBUTING.md)
  • Updated README with features comparison
  • Installation instructions for multiple distros
  • Troubleshooting guide

Infrastructure

  • Professional Makefile with 20+ targets
  • Support for both system-wide and local installation
  • Go server build integration
  • Dependency checking
  • Code formatting and linting
  • Size optimization