Files
server-manager/CHANGELOG.md
chrome-storm-c442 bf39fd7b67 v1.2.0 + v1.3.0: Localization, About dialog, TOTP/2FA, stability improvements
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>
2026-02-23 11:07:51 -05:00

2.9 KiB

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