- Add single-admin login with SQLite3 user storage - First-run setup wizard for admin account creation - Account management page for password changes - Optional HTTPS with auto-generated self-signed certificates - Configurable via STEGASOO_AUTH_ENABLED, STEGASOO_HTTPS_ENABLED env vars - UI improvements: larger QR previews, consistent panel styling - Update docker-compose.yml with auth config and persistent volumes - Update all documentation for v4.0.2 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.9 KiB
3.9 KiB
Changelog
All notable changes to Stegasoo will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
4.0.2 - 2026-01-02
Added
- Web UI Authentication: Single-admin login with SQLite3 user storage
- First-run setup wizard for admin account creation
- Account management page for password changes
@login_requireddecorator protects encode/decode/generate routes- Argon2id password hashing (lighter 64MB for fast login)
- Optional HTTPS: Auto-generated self-signed certificates for home network deployment
- Configurable via
STEGASOO_HTTPS_ENABLEDenvironment variable - Certificates stored in
frontends/web/certs/
- Configurable via
- New environment variables:
STEGASOO_AUTH_ENABLED,STEGASOO_HTTPS_ENABLED,STEGASOO_HOSTNAME
Changed
- PIN entry column widened in encode/decode forms (col-md-4 → col-md-6)
- Channel options column narrowed (col-md-8 → col-md-6)
- QR preview panels enlarged for better text readability
- Consistent font sizing across all preview panel banners (0.7rem filename, 0.6rem data, 0.65rem badges)
Fixed
- QR preview text too small to read in encode/decode templates
- Inconsistent label sizes between reference/carrier/stego panels
4.0.1 - 2025-01-02
Fixed
- Fixed numpy binary incompatibility on Python 3.10 (jpegio/scipy)
- Fixed BatchCredentials test failures with missing
reference_photoparameter - Graceful handling when DCT dependencies have version mismatches
Changed
- Applied
rufflinter fixes across entire codebase (~400 issues) - Applied
blackformatter to all Python files - Modernized type hints:
Optional[X]→X | None - Updated ruff config to use
[tool.ruff.lint]section - Moved documentation files to repository root
Removed
- Removed obsolete debug/diagnostic scripts
- Cleaned up backup files and dev scripts
4.0.0 - 2024-12-29
Added
- Refreshed Web UI with modern, snazzy interface
- Improved user experience across all pages
Changed
- Major version bump for breaking API changes
- Simplified passphrase handling (single passphrase instead of day-based)
- Removed date_str parameter from encoding
Fixed
- Various bug fixes for Web UI
- CLI updates and improvements
3.2.0 - 2024-12-28
Added
- Big revamp of the encoding system
- Home and about page improvements
- UNDER_THE_HOOD.md documentation
Changed
- Renamed
phrase→passphrasein API - Updated Web UI styling
3.0.2 - 2024-12-27
Added
- Full experimental DCT steganography support
- jpegio integration for better JPEG manipulation
- DCT/LSB mode selector in Web UI
3.0.0 - 2024-12-25
Added
- DCT (Discrete Cosine Transform) steganography mode
- Support for JPEG carriers without quality loss
- Channel key feature for private messaging
Changed
- Complete rewrite of steganography engine
- New hybrid authentication system
2.0.0 - 2024-12-20
Added
- Web UI frontend
- REST API (FastAPI)
- Batch processing support
- RSA key authentication option
Changed
- Migrated to hybrid photo + passphrase + PIN authentication
1.0.0 - 2024-12-15
Added
- Initial release
- LSB steganography
- AES-256-GCM encryption
- CLI interface
- Basic PIN authentication