Version 1.9.0
Web-LGSM v1.9.0 Release Notes
Release Overview
Release Date: February 8, 2026
Version: v1.9.0 (Previously planned as v1.8.7)
Significance: This release marks a major architectural shift with significant structural changes, improved user management, and some security patches. The version jump to v1.9.0 reflects some minor breaking changes and substantial re-architecture work undertaken.
Major Architectural Improvements
Application Restructuring
-
Modular Codebase Organization:
- Broke up monolithic
views.py,auth.py, andutils.pyinto modular, route-specific blueprint files - Restructured app directory to better house individual application components
- Separated API routes into individual blueprint files for better scalability
- Organized models into individual files within a models package directory
- Broke up monolithic
-
Service Layer Implementation:
- Introduced new service classes for better separation of concerns
- Created
ConfigManagerclass for handling INI configurations with Flask-like interface - Implemented
CommandExecServicewith dependency inversion for local/remote command execution - Added
UserModuleServicefor running shared code as multiple users via sudo - Introduced
BlocklistServiceandProcInfoServiceas proper singleton classes
-
Directory Reorganization:
- Created dedicated
services/andmanagers/directories - Moved extension initialization to separate
extensions.pyfile - Renamed "scripts" directory to "bin" for consistency
- Created dedicated
Enhanced User Management & Security
New Alternative User Management System
-
Sudo-Based User Execution:
- Replaced SSH-based local user management with sudoers-based approach
- Added new playbook for managing sudoers rules during user creation/deletion
- Created mechanism for extending allowed username list with custom entries
- Improved speed by eliminating SSH overhead for local user operations
-
User Permission Structure Overhaul:
- BREAKING CHANGE: Completely restructured user permission JSON format
- New permission structure with separate
routes,controls, andserver_idsarrays - Simplified permission checking using Flask's
current_userinterface - Moved permission logic into database class for cleaner implementation
User Interface & Experience
Installation Improvements
-
Enhanced Install Page:
- Added new form to edit server details before installation
- Support for custom installation username, path, and server name
- Add backend mechanism for allowing persistent non-lgsm system user installs
-
Terminal & Control Improvements:
- Fixed terminal scaling issues on dynamic user resize
- Renamed "Command" to "Controls" throughout the project for consistency
- Refactored command handling into new
ControlServiceclass - Updated controls page to work with both same-user and alternative user installs
Performance & Infrastructure
Caching & Optimization
-
Flask Cache Integration:
- Implemented Flask-Cache for tmux socket name caching
- Added caching for configuration buttons on controls page
- Fixed cached null socket file name bug after fresh installations
-
SSH Connection Optimization:
- Added caching for authenticated SSH client objects to reduce response times
- Improved overall system performance for remote server management
Technical Foundation
Testing & Quality Assurance
-
Enhanced Test Infrastructure:
- Added random test execution order to catch order-dependent bugs
- Fixed integration test race conditions and debugging issues
- Added unit tests for new service classes including
ConfigManager
-
Continuous Integration:
- Fixed CI/CD pipeline coverage badge generation
System Administration
Configuration Management
-
Dynamic Configuration Handling:
- New
ConfigManagerclass with batch update capabilities using context managers - Support for dynamic config reloading when underlying files change
- Default value fallbacks for robust error handling
- New
-
Process Management:
- Moved global process management to dedicated service classes
- Improved process information sharing between application components
- Better separation of concerns for system monitoring
Bug Fixes & Maintenance
Critical Fixes
-
Installation & Deployment:
- Fixed
dpkginstallation checks for Debian systems - Fixed same-user installation status indicators
- Fixed
-
Security Updates:
- Upgraded
requestsdependency to v2.32.5 - Updated
SECURITY.mddocumentation with new version support information
- Upgraded
-
User Interface:
- Fixed bug with term not scaling on dynamic user resize
- Added new form for entering game server installation details
Breaking Changes & Migration Notes
- User Permission Structure: The user permission JSON format has changed significantly. An Admin user will need to go to the Edit Users and manually re-enter the users permissions, then save. Refer to FAQ #13 for migration instructions.
- SSH Local Management: The SSH-based local user management system has been replaced with a sudoers-based approach, requiring sudoers rule configuration during installation. App will try to update sudoers appropriately.
- API Endpoints: Some API endpoints may have changed due to architectural restructuring.
Future Development Foundation
This release lays the groundwork for continued application growth with:
- Cleaner separation of concerns through service classes
- More maintainable codebase structure
- Improved scalability for future features
- Better testing infrastructure for reliable development
Note: This release represents a significant milestone in Web-LGSM's evolution, transitioning from a monolithic codebase to a more modular, maintainable architecture while introducing important security and user management improvements. Users should review the breaking changes before upgrading from v1.8.x versions. Feel free to report any issue or reach out for support!