Introduces migration 233 to update the application version to 2.7.8 and trigger the version info dialog for users. Updates the migration configuration to use the new migration version.
Introduces per-band breakdown of new gridsquares in the monthly report, including model, controller, and view changes. The report now displays new gridsquares grouped by band, as well as improved details for new DXCCs and satellite activity breakdowns.
Updated Monthlyreport_model to distinguish Satellite and EME DXCC entities from terrestrial bands, grouping them separately and including callsign/mode details. Modified report view to filter and display terrestrial, satellite, and EME DXCCs in distinct sections with improved formatting and additional QSO info.
Enhances the monthly report to display QSO mode and satellite name for new DXCCs and grids. Adds a satellite breakdown table showing QSOs per satellite and their percentage of total satellite QSOs. Improves data structure in the model to support these features and updates the view for clearer presentation.
Replaced repeated database queries for grid 'new' checks with pre-built in-memory caches, significantly improving performance by reducing hundreds of queries to a few. Added build_historical_caches() to load all relevant historical grid data at once and refactored is_grid_new, is_grid_new_for_prop, and is_grid_new_for_hf to use these caches for instant lookups.
Adds callsign information to new DXCC and grid entries in the monthly report, both in the backend data and frontend display. Also updates JSON export to include a filename for downloads. This provides more detailed context for each new entity or grid worked during the month.
Refactored is_grid_new, is_grid_new_for_prop, and is_grid_new_for_hf to more accurately check for new grids by matching the first 4 characters of COL_GRIDSQUARE and parsing COL_VUCC_GRIDS. This ensures grids are not considered new if present in either field, improving report accuracy.
Updated gridsquare and VUCC grid handling to consistently use only the first 4 characters in all relevant methods. Also modified country selection to use MAX(COL_COUNTRY) and group by COL_DXCC for improved aggregation.
Replaced use of distinct() with MAX(COL_COUNTRY) in select statements to group DXCC entities more efficiently. This change improves query performance and ensures correct aggregation of country names in monthly report generation.
Introduces a new Monthlyreport controller, model, and views to generate comprehensive monthly activity reports for amateur radio logbooks. The feature includes summary statistics, new DXCC entities and gridsquares, breakdowns by mode, band, and propagation, and export options in JSON and text formats for AI/blog post generation. Also adds a navigation link to the header for easy access.
Adds a check for zero QSOs in the statistics section. Displays an informational alert and hides tabs when no QSOs are found, improving user feedback for new users.
Wrapped database queries in a try-catch block to log errors and prevent failures in the get_most_worked method. Also improved null checks and result array initialization for robustness.
Introduces new summary statistics, trends, continent, and most worked data endpoints to Statistics controller, with corresponding AJAX and UI updates in statistics.js and index.php. Adds summary cards, date range filtering, error handling, and improved chart/table rendering for a more interactive statistics dashboard.
Update migration to use array definitions for new user ClubLog fields instead of raw SQL strings. This improves compatibility and clarity when adding columns to the 'users' table.
Introduces migration 232 to update the application version to 2.7.7 and trigger the version info dialog for users. Updates migration configuration to use the new migration version.
Adds CSS styling for images in release notes and updates the markdown parser to convert image syntax () to HTML <img> tags. This improves the display of images in the version dialog.
Enhanced the PHP markdown-to-HTML conversion for release notes in the version dialog modal. Added CSS for better styling, improved handling of code blocks, lists, headers, links, bold/italic text, and cleaned up line break conversions for more accurate and readable output.
Introduces functionality to assign satellite information to multiple QSOs in Logbook Advanced. Adds controller and model methods for updating satellite data, a new view for satellite selection, and corresponding frontend logic to handle user interaction and update selected entries.
Introduces the ability to view and change the station location for selected QSOs in Logbook Advanced. Updates backend, frontend, and QSO model to support station location display and modification, including new UI elements and AJAX handlers. Removes SimpleFLE documentation file.
Initial documentation for Simple Fast Log Entry (SimpleFLE) in Cloudlog, covering syntax, usage, supported features, and troubleshooting tips for rapid QSO logging.
Eliminated an unused header section and improved formatting in the simplefle index view. Minor CSS adjustments were made for better table display and code readability.
Added fixed column widths and ellipsis styling to QSO table headers and rows for better horizontal scrolling and readability. Updated CSS and HTML structure to enhance table responsiveness and appearance on various screen sizes.
Refactored the SimpleFLE interface for better spacing, clarity, and mobile responsiveness. Enhanced button styling and feedback areas, and moved satellite feedback for improved visibility. In JavaScript, session data restoration now occurs after satellite data loads, ensuring correct initialization and reducing race conditions.
Introduces a visual feedback area in the SimpleFLE form to display satellite name and available modes when satellite-related input is detected. Updates JavaScript to show/hide feedback in real time as users type, highlight selected modes, and handle cases where satellites are not found in the database. Feedback is cleared when switching to regular bands or clearing the session.
Enhanced the syntax help and JavaScript logic to support satellite QSOs and gridsquares. Satellite contacts can now be entered using 'sat' or 'satellite' keywords, with automatic frequency/mode population from a satellite database. Gridsquares can be included with callsigns, and both features are now parsed, displayed, and saved in the QSO table and backend.
Introduces the isValidGridsquare() method to reject obvious invalid or placeholder gridsquare values (e.g., AA00AA, JJ00JJ) when updating QSO data from callbook information. This ensures only valid gridsquares are stored, improving data quality.
Migration now checks if 'user_clublog_name', 'user_clublog_password', and 'user_clublog_callsign' fields exist before adding them to the 'users' table, preventing errors if fields are already present.
Introduces migration 231 to update the application version to 2.7.6 and trigger the version info dialog for users. Updates the migration version in the configuration to 231.
Updated the SQL statement in Logbook_model to use utf8mb4_general_ci collation instead of utf8mb4_unicode_ci for the MEMORY table QSO_LOOKUP. This may improve performance for certain lookup operations.
Updated the SQL statement in Logbook_model to use utf8mb4_general_ci collation instead of utf8mb4_unicode_ci for the MEMORY table QSO_LOOKUP. This may improve performance for certain lookup operations.
In Logbook_model.php, LoTW and eQSL sent status are reset to 'N' when editing a QSO that was previously sent, ensuring re-upload to these services. In common.js, a handler updates DXCC, location, and state fields when the callsign is changed in the QSO edit modal.
Updated the date formatting logic in footer.php to use the user's preferred date format from session or config. The date input now displays according to various supported formats, improving localization and user experience.
Hopefully fixes#3358
Replaced raw SQL LIKE conditions with CodeIgniter's query builder 'like' and 'or_like' methods for VUCC search cases. This improves code readability and helps prevent SQL injection.
Updated gridsquare validation to allow multiple comma-separated gridsquares for VUCC awards. Each gridsquare is now individually validated for correct format, improving input flexibility and error handling.
Enhanced input validation for gridsquare and band parameters in Awards controller to prevent invalid data and potential abuse. Updated Logbook_model to use parameterized queries and early return for empty logbook relationships, improving security and reliability of VUCC QSO details retrieval.
Clarified the comment regarding eQSL authentication to indicate that the user's actual eQSL credentials are used, and that the station callsign is managed in the ADIF data via eqslqthnickname. Removed outdated logic related to username handling for linked accounts.
Introduces a retry mechanism with exponential backoff for the cURL request in the LoTW controller. This improves reliability by attempting the download up to three times before failing, and logs each retry attempt for better debugging.