- Replaced unused AJAX and JS methods (`cleanProvisioningProcess`, `showErrorStatus`) in HA management with simpler, streamlined equivalents. Moved HA cluster data fetching logic to the new endpoint (`HAClustersView`).
- Introduced `compareConfig()` method to improve configuration diff rendering. Removed redundant templates (`compare.html`), leveraging external Diff2Html library.
- Simplified HA service installation logic in `Reconfigure`, enabling task-based tracking. Removed redundant progress logic (`increaseProgressValue`, `checkInstallResp`).
- Added support for Spanish localization (`es-ES.html`, updated `languages.html` template).
- Replaced Python PagerDuty SDK for a more actively maintained library.
- Fixed description rendering logic in HA cluster templates.
- Updated Nginx to support multiple aliases per server.
- Minor dependency updates and comments cleanup in Ansible WAF tasks.
Replaced raw SQL queries with ORM-based queries in metrics retrieval functions, ensuring better maintainability and readability. Simplified logic in `check_user_group_for_flask` and `get_dick_permit` by removing redundant arguments and unused paths. Adjusted the flow for consistent error handling and improved data grouping across various time ranges for metrics calculations.
Redesigned Nginx proxy addition by removing unused templates, consolidating scripts, and introducing new modular template structures. Improvements include dynamic JavaScript handlers, enhanced UI flow, better SSL and upstream management, and new functionality for headers and location-specific configurations. Cleaned up obsolete code and adjusted database version updating logic.
Removed all references to HAProxy enterprise functionality from the codebase, including UI elements, backend logic, and service settings. Standardized status key casing across files and improved error handling in `_service_status` method.
Simplify and consolidate service settings template by introducing reusable variables and reducing code redundancy. Remove unnecessary imports and streamline logging logic to eliminate redundant parameters.
Introduce a new modal to display HA cluster creation progress with messages and a progress bar. This enhances the user interface by providing clear feedback during the creation process.
Removed unnecessary error handling logic and unused `error_mess` variables. Adjusted HA cluster polling interval from 10 minutes to 1 minute for better responsiveness. Cleaned up redundant HTML elements and ensured consistent coding practices across files.
Removed the obsolete `Reconfigure` function from UDP.js and cleaned up unused parameters in config.py. Enhanced logging by simplifying error messages in auth.py and clarified variable naming for HA routes. These changes improve readability and maintainability.
Removed the sections handling SSL certificates and Let's Encrypt in the add.html template. This includes related scripts, HTML elements, and form inputs for certificate management. Streamlines the template by eliminating unused or unnecessary functionality related to SSL.
Introduced an SSL management table with dynamic fields for server, type, domain, and credentials in `ssl.html`. Simplified JS logic by removing redundant conditions and enhanced `showConfigFiles` to support preselection. Added `makeid` function for generating random strings.
Introduced support for uploading, viewing, and deleting SSL certificates via a dedicated web interface. Updated routing, templates, and backend logic to handle certificate types (pem, key, crt) and improved integration with SSL-related UI components.
Replaced unsafe input checks with Pydantic validation, improving route type safety. Adjusted blacklist handling logic in the frontend and templates for better consistency. Fixed minor JS selector bugs and added hidden input for group_id in the config template.
Extended "mode" options to include "log" for frontend/backend configurations. Enhanced RAM/CPU metrics to better handle remote servers and removed redundant logic. Streamlined logging with structured formatting, improved error handling, and removed unnecessary parameters.
Updated the version in the database to 8.1.6.1. Adjusted WAF log handling to correctly process parameters and URLs, improving functionality and accuracy. Fixed minor issues, including initializing variables and handling edge cases for section edits in configurations.
Enhanced configuration management by introducing support for editing specific sections in HAProxy configurations via `edit_section`. Added server templates with structured validation, improved file encoding handling, and addressed edge cases in multiple components for greater robustness.
Removed a debug print statement, added error handling for SSH commands, updated token inputs to be password-protected, and fixed a log path in Fail2Ban configuration. Updated server list handling in templates to improve code consistency. These changes enhance reliability, security, and maintainability across the application.
Introduces the ability to enable or disable a checker service for UDP listeners. Includes UI updates, database migration, new API route, and backend logic to handle checker settings on UDP listeners.
Introduced backend status monitoring for UDP listeners and enhanced HA cluster checks. Updated several templates and JavaScript files to reflect these changes, improving service visibility and coordination. Minor code refactoring and removed unused functions for cleaner implementation.
Updated the default HAProxy version to 3.1.1-1 and Nginx experimental version to 1.4.0 in the templates and service installation logic. This ensures compatibility with the latest releases and improves functionality.
Added `by_id='true'` to the `select()` function in `add.html` for enhanced identification. Refactored `_create_env` in `lets_encrypt_views.py` to be static and updated the `run_ansible` call to use `ansible_role`. Removed redundant commented-out code from the Let's Encrypt Ansible task file.
Introduce a dark theme for the web interface, enabling users to switch between themes seamlessly. Additionally, enhance HAProxy management by updating available versions and streamlining API routes for list management, ensuring smoother operations and integration.
Replaced common.is_ip_or_dns() with pydantic type validation in various route functions to ensure input consistency and clarity. Updated several methods to use Union[IPvAnyAddress, DomainName] for typing and added necessary imports. Also refined templates and helper functions for better readability.
Replaced common.is_ip_or_dns() with pydantic type validation in various route functions to ensure input consistency and clarity. Updated several methods to use Union[IPvAnyAddress, DomainName] for typing and added necessary imports. Also refined templates and helper functions for better readability.
Implemented an IP calculator feature using the netaddr library and added corresponding JS and HTML form elements. Enhanced existing nettools forms by utilizing Flask-Pydantic for validation and AJAX request improvements. Removed deprecated alert selection methods in the database checker module. Updated language translations and incremented version to 8.1.2.
Removed redundant service checks for 'haproxy' and 'nginx' in WAF routes. Simplified action confirmation logic by using hidden input to fetch server names dynamically. Updated database operation calls to be concise for deleting and updating group settings.
Refactor multiple functions to call `get_group` instead of `get_group_name_by_id`. Remove the `ApiToken` class and related database table operations. Simplify the template logic in `show_sub_ovw.html` by removing unnecessary loop and context variables. Cleanup unused imports and streamline several function implementations across the codebase.
Updated multiple functions across the codebase to use the `get_server_by_ip` method instead of iterating over server lists. This change simplifies the code, improves readability, and reduces potential errors. Adjusted SQL queries to remove unnecessary conditions and parameters related to master servers.
Remove the letsencrypt.sh script and integrate LetsEncrypt functionality directly into the web application via new API endpoints. This includes creating, updating, retrieving, and deleting LetsEncrypt configurations, improving maintainability and user interaction with the LetsEncrypt feature.
Refactored SSH credential handling to better support shared credentials and improve code readability. Simplified WAF mode changes by switching from hostname to server ID, enhancing reliability. Updated various templates and functions to align with these changes.
Implement additional checks for shared SSH credential editing and deletion. Refactored database connection logic to use keyword arguments for improved readability and maintainability.
Refactored code to use `server_id` in place of `server` across various modules to improve clarity and consistency. Updated database migrations, schema definitions, API documentation, and templates accordingly. Additionally, fixed related issues in the backup creation and management logic.
Convert WAF parameter from string to integer for consistency. Update JavaScript comparison operators for strict equality checks. Remove unused functions and intro.js library to streamline and simplify the codebase.
Updated script.js to use strict equality for empty string checks and removed an obsolete inclusion of intro.js in admin.html. These changes enhance code accuracy and reduce unnecessary clutter in the project.
Deleted the admin introduction script and associated source map since they are no longer required. This cleanup helps to reduce clutter and improve maintainability of the project.
Commented out the unused statAgriment function and its associated event listener. Replaced var with let in various parts of the script for better scope handling and used triple equals for strict comparison. Also added a new script to the add.html template.
Streamlined conditional checks using 'in' for better readability in `show_services_ovw.html`. Additionally, removed an unused import in `cred_views.py` and updated database creation script for efficiency.
Deleted the Grafana role from Ansible playbooks and related references in various files. This includes updates to HTML templates, route definitions, and database entries to ensure no remnants of Grafana configuration remain.
Updated variable types from `var` to `let` in script.js for block scope. Renamed `file_name` to `file_path` for consistency across templates and models. Added additional error conditions for alert handling in the JavaScript code.
Refactor NGINX service command execution for dockerized environments, improving status and process parsing. Fix an issue in the service template by correcting session storage key handling and ensure correct directory ownership initialization.
Removed all references and functionality related to keepalived service. Added detailed status handling for various services including nginx, haproxy, and apache, improving the accuracy of the status checks and error handling for each service. Adjusted user interface elements to reflect the service status changes more clearly.
Updated the AJAX call to send JSON data with proper content type and handle the response more robustly. Also standardized the button styling across delver.html and configver.html templates for a consistent user experience.
Moved `cfg` retrieval inside the `if` block to ensure it is only fetched when `serv`, `edit`, and other conditions are met. Also, removed an unnecessary hidden input from the HTML template.
Added new icons for Keepalived and Roxy services in the static images and integrated them into the main menu. Updated HA view validation to use `eth` instead of `ip` and changed certain property types from string to integer. Enhanced error handling and data processing for the configuration routes and improved JSON data handling in the script.js file.