- Introduced `hide_backend_headers` option in Nginx configuration for enhanced security.
- Updated models, templates, and JavaScript to support `hide_backend_headers`.
- Improved UDP listener rendering logic by dynamically fetching and syncing listeners via AJAX.
- Added new database migration to update version to `8.2.3`.
- Introduced `NginxProxyPassSecurity` model for managing security headers and server token settings.
- Enhanced templates and JavaScript to support `hide_server_tokens`, `security_headers`, and `hsts` options.
- Updated Ansible and migration files to align with new security and HTTP/2 features.
- Extracted `server_ip` for consistent use across server creation workflows.
- Replaced `datetime.now()` with `datetime.utcnow()` for metric timestamp standardization.
- Enhanced exception handling and logging in service configuration to improve debuggability.
- 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 inline `get_user_params()` calls with decorators for error handlers, improving readability and consistency. Cleaned up unused imports in multiple files and improved logging messages for better clarity. Simplified `create_db.py` by removing unused ORM fields.
Changed action type from 'create' to 'update' in `_edit_config` for proper handling of updates. Added 'update' as a valid action in `_edit_config` logic. Also removed unnecessary print statements and standardized whitespace across migration-related files for better readability.
Standardize the use of formatted strings (f-strings) for error messages across all migration scripts to ensure correctness and consistency. Added missing blank lines across files to comply with PEP 8 style guidelines and improve code readability.
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.
Introduce migration management tools using Peewee's migrate module. Add scripts for migration creation, application, rollback, and listing. Include initial batch of database migrations for schema and data changes.
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 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.
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.
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.
Adjusted HAProxy Ansible role for ownership and removed unused peer configurations. Added error handling to HA-related views and database queries to improve stability. Updated HAProxy Exporter dependency to a newer version for compatibility.
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.
Introduce a new `private_key` field in the `cred` table for secure key storage. Updated related functions to eliminate file-based key handling and use the database instead. Includes migration script for schema changes and necessary code adjustments across the application.
Consolidated multiple metric insertion and deletion functions into more generic and reusable functions using dictionaries and typing literals. This refactoring reduces code duplication and improves maintainability. Additionally, flask route functions have been updated to use type validation, ensuring stronger typing and input verification.
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.
Consolidated service-specific alert checks into a single function for better maintainability. Deprecated outdated functions with markers for future deletion. Also, updated the database version to '8.1.1.1'.
Replaced multiple SQL function calls with consistent `get_server` naming. Consolidated and streamlined the function calls to `get_server` and `get_server_by_ip` to ensure consistency and improve maintainability across the codebase. Removed obsolete and redundant function definitions that were no longer in use.
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.
Renamed get_user_status to select_user_status in roxy.py and db.py for better clarity and consistency. This modification ensures alignment in method naming conventions across the codebase, improving readability and maintainability.
Removed the unused 'distro' and 'Union' imports for code cleanliness. Simplified the user status check mechanism by introducing a direct method, `get_user_status`, and modified the service control flow accordingly. Simplified 'update_plan' function to only insert a default username.
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 the `group` attribute to `group_id` in the Settings model and all related instances in the codebase to improve clarity and consistency. This change affects model definitions, setting initialization, and queries throughout the project.
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.
Updated the server creation functions to utilize keyword arguments, simplifying the code and making it more maintainable. Additionally, improved the handling of VIP updates and error logging for HA clusters.
Implement additional checks for shared SSH credential editing and deletion. Refactored database connection logic to use keyword arguments for improved readability and maintainability.
Add return statements to `insert_*` methods for consistency. Introduce a `delete_section` method and implement it in the view. Enhance response handling with new `IdDataStrResponse` and update OpenAPI spec to better reflect data structures.
Added support for managing Docker settings and improved the handling of service-specific configurations. Updated various backup methods and database columns to ensure consistency and clarity. Included new database migration scripts to handle renamed columns.
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.
Adjusted line formatting in `runtime.py` and `waf.py` for consistency and readability. Added exception handling for logging in `auth.py` to prevent crashes and provide error feedback.
Refactor multiple files to correct spacing issues, including extra blank lines, misaligned parameters, and inconsistent indentation. These changes improve code readability and maintain coding standards without altering functionality.
Added logic to set user_group_id based on Flask global object `g`, with a fallback to default value if an exception occurs. This enhances the flexibility of `user_group_id` assignment based on runtime context.
Enhance various service functions to accept and process group_id from user parameters. This update ensures that settings and actions are correctly scoped to the user's group, improving access control and accuracy of the returned data.
Replaced hostname lookups with unified server object retrieval in metrics and credential management endpoints. Added proxy environment variables to ModSecurity download tasks and improved error handling across various modules.
Introduce a custom exception `RoxywiResourceNotFound` to manage cases where system information cannot be found. Refactor the server installation process to use server IDs instead of IPs, improving data consistency and reliability.
Added try-except blocks for better exception handling and updated VIP retrieval logic. Changed the structure from using server names and IPs to using IDs in both backend and frontend code. Updated template selections and introduced new expected version options.
Removed outdated Debian, EL7, EL8, and EL9 requirement files. Improved various VIP handling and validation functionalities, including changes to VIP endpoints and associated JavaScript functions. Minor enhancements and bug fixes across multiple modules and views.
Added support for deleting configuration file versions via the DELETE method in ServiceConfigVersionsView. Updated corresponding routes, templates, and scripts to handle this functionality.
Integrated port scanner endpoints to manage and retrieve scanner configurations. Removed unused imports and redundant code blocks across multiple files for better performance and readability. Simplified error handling and consolidated port scanner settings operations.