v1.2.0: - GUI localization (EN/RU/ZH) with language switcher and persistent selection - About dialog (ⓘ) with app info, features, quick start guide - core/i18n.py — internationalization module with t() function - All GUI components translated via t() keys v1.3.0: - TOTP/2FA tab — Google Authenticator compatible codes with live 30s countdown, one-click copy, per-server secret management - core/totp.py — TOTP module (pyotp, RFC 6238) - core/logger.py — rotating file logger (5MB, 3 backups) - Stronger Fernet encryption key with automatic migration from old key - Thread-safe server store with locks, atomic writes, auto-restore on corruption - Parallel status checks via ThreadPoolExecutor (up to 10 concurrent) - SSH client: explicit channel cleanup, Unix key permissions - Server dialog: port validation (1-65535), TOTP secret field - Language change preserves active tab and server selection - pyotp dependency added Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
68 lines
2.9 KiB
Markdown
68 lines
2.9 KiB
Markdown
# Changelog
|
|
|
|
## [1.3.0] - 2026-02-23
|
|
|
|
### Added
|
|
- **TOTP / 2FA tab** — Google Authenticator compatible codes with live 30-second countdown
|
|
- Per-server TOTP secret storage (encrypted alongside passwords)
|
|
- One-click code copy to clipboard
|
|
- Color-coded countdown (green → yellow → red)
|
|
- Generate random secrets or paste existing ones
|
|
- TOTP secret field in server add/edit dialog
|
|
- `core/totp.py` — TOTP module (pyotp, RFC 6238)
|
|
- `core/logger.py` — rotating file logger (5 MB, 3 backups)
|
|
- `pyotp` dependency in requirements.txt
|
|
|
|
### Changed
|
|
- **Encryption**: new stronger Fernet key with automatic migration from old key
|
|
- **Server store**: thread-safe file writes with locks, atomic saves (tmp + rename), auto-restore from backup on corruption
|
|
- **Status checker**: parallel server checks via ThreadPoolExecutor (up to 10 concurrent)
|
|
- **SSH client**: explicit channel cleanup in finally blocks, Unix key permissions (0o600)
|
|
- **Server dialog**: port range validation (1-65535), TOTP secret field
|
|
- `version.py` → 1.3.0
|
|
|
|
## [1.2.0] - 2026-02-23
|
|
|
|
### Added
|
|
- About dialog (ⓘ button in header bar) with app info, features, and quick start guide
|
|
- GUI localization: English, Russian (Русский), Chinese (中文)
|
|
- Language switcher in header bar with persistent selection
|
|
- `core/i18n.py` — internationalization module with full translation dictionaries
|
|
- `gui/about_dialog.py` — CTkToplevel About window
|
|
|
|
### Changed
|
|
- All GUI components use `t()` translation function for all user-visible strings
|
|
- `server_store.py` saves/loads language preference in settings.json
|
|
- `version.py` → 1.2.0
|
|
- Tabs, sidebar, dialogs, and all tab contents fully translated
|
|
|
|
## [1.1.0] - 2026-02-23
|
|
|
|
### Added
|
|
- Fernet encryption for servers.json (passwords no longer stored in plaintext)
|
|
- Automatic migration: first launch encrypts existing servers.json, creates pre-encryption backup
|
|
- Manual and automatic backups (auto-backup every 10 min on save)
|
|
- Backup restore from GUI (Setup tab → Configuration section)
|
|
- Configurable config path (change servers.json location via GUI)
|
|
- Settings persistence in settings.json
|
|
- Encryption module installed alongside ssh.py for CLI support
|
|
- `cryptography` dependency
|
|
|
|
### Changed
|
|
- server_store.py: encrypted read/write, settings management, backup logic
|
|
- ssh.py: encryption-aware load/save with fallback for missing encryption module
|
|
- claude_setup.py: installs encryption.py alongside ssh.py
|
|
- setup_tab.py: Configuration section with path selector, backup/restore controls, encryption status
|
|
|
|
## [1.0.0] - 2026-02-23
|
|
|
|
### Added
|
|
- Server CRUD (SSH, Telnet, RDP, MariaDB, MSSQL, PostgreSQL)
|
|
- SSH Terminal with auto-sudo
|
|
- SFTP file transfer with progress bar
|
|
- SSH key management (generate, install, copy)
|
|
- Background status monitoring (online/offline)
|
|
- Dark theme (CustomTkinter)
|
|
- Search and filter servers
|
|
- Build scripts for Windows, Linux, macOS
|