Added FontAwesome icons to options pages and sidebar for better visual distinction. Improved the options index page with overview cards for each settings category. Updated CSS for active and hover states in the options sidebar, providing a more modern and user-friendly interface. Added a subscription management link to the header if configured.
Introduces logic to detect and enforce centrally managed email settings. When managed, email options are displayed as read-only and cannot be changed by users; attempts to save changes are blocked with a notice. The email options view now conditionally renders a read-only summary and test email form if management is enabled.
Introduces open registration settings in the options area, allowing administrators to enable or disable public user signup. Adds a registration options page, updates sidebar navigation, and implements a public signup form and controller logic. Also refines user model to ensure correct data types for user fields and updates language strings for registration. The login page now links to signup when open registration is enabled.
Replaced several Font Awesome icons in the header navigation dropdowns for improved clarity and consistency. Updated icons for QSL, eQSL, statistics, awards, export options, backup, hardware interfaces, and version information. This enhances the visual representation and user experience across the interface.
Replaced Font Awesome icons for General Logging, Contest Logging, and Fast Log Entry links in both dashboard and header views to improve visual clarity and consistency.
Renamed 'Live QSO' to 'General Logging' and 'Live Contest Logging' to 'Contest Logging' in language file. Reordered contest and fast log entry links in the header dropdown for improved clarity.
Introduces user-facing JSON+ZIP export and import for stations, logbooks, and QSOs, including preview and progress views. Updates backup controller to allow all authenticated operators (level 2+) and replaces legacy backup card with new workflow in the UI. Adds new views for import preview and progress, supporting selective import and conflict handling.
Updated User_model to store user_callsign in uppercase using strtoupper when creating or updating users. Also added a style to the edit form input to visually enforce uppercase entry for callsign.
The DXCluster navigation link has been removed from the options sidebar. This streamlines the sidebar and may reflect a change in available features or navigation structure.
Radio status now loads immediately on page load and updates every 2 seconds, with a loading spinner shown until data is available. The radio index page UI has been enhanced for better clarity, accessibility, and user feedback, including improved alert styling and more informative icons.
Improved the layout and styling of the API help page, adding a header with quick-create buttons for API keys, enhanced table responsiveness, and updated action buttons with icons. Added better feedback for empty API key lists and improved alert handling for notices.
Enhanced the QSL print page layout with better Bootstrap styling, icons, and improved message alerts. Updated the QSO table for better readability and responsiveness, added icons to action buttons, and refined the overall user interface for a more modern look.
Refactored the labels index view to enhance layout and styling, including improved card headers, table responsiveness, and icon usage. Added better alert messages and reorganized action buttons for label and paper types, making the interface more user-friendly and visually consistent.
Introduces functionality to send a welcome email with credentials to new users upon creation and allows admins to resend a reminder email (without password) to existing users. Adds email templates, UI options for sending emails, and improves user management interface with new actions and enhanced layout.
Introduces email notifications when a logbook is shared with a new user, including a new email template and improved error logging for email sending. Also enhances the test email UI with a loading spinner and updates error messages for better clarity.
Moved the country name badge to appear after the worked status icon in the DX cluster callsign display for improved clarity and logical grouping of status indicators.
Introduces logbook sharing with read, write, and admin permission levels via a new station_logbooks_permissions table and related migration. Updates controllers, models, and views to support managing collaborators, restricts sensitive actions to owners/admins, and adds UI for sharing management. Also adds user lookup by callsign and improves logbook/station location access logic.
Set explicit widths for DX cluster table columns and display a country name badge in the DX Call column when available for improved readability and user experience.
Added error handling to dxcclist controller to manage failures when fetching or decoding DXpedition data. Updated the view to display error messages to users if data retrieval fails or returns invalid data.
Added error checks when fetching DXpedition data in Workabledxcc_model and updated Dashboard controller to only sort valid records. The upcoming_dxccs view now displays a warning message if an error occurs, improving user feedback and robustness.
LIVE and POST badges in contesting and QSO views are now clickable to switch modes. Redundant menu items for post QSO and contest logging have been removed from the header for a cleaner navigation.
Introduces a 'Bandmap' button to the contesting interface, allowing users to open the DX Cluster Bandmap in a new popup window. Also adds a placeholder for radio status and refactors button layout for improved UI.
Enhances DX Cluster by showing DXCC entity and worked status per spot, including new band/country indicators. Adds radio selection and QSY functionality, updates UI with improved filters and spot marker styling, and provides user feedback for frequency actions.
Introduces a new API endpoint in Dxcluster.php to batch check if callsigns have been worked, with band-specific and overall status. Updates the DX Cluster view to display worked status icons next to callsigns and asynchronously fetches status for visible spots, improving user awareness of worked contacts.
Introduces UI controls to filter DX spots by band and to hide RBN spots, with user preferences saved in localStorage. Filtering logic is implemented in JavaScript, including band detection from frequency and RBN spot identification.
Enhanced the QSO edit dialog to use datalist autocompletion for satellite name and mode fields. Satellite data is loaded from JSON, and selecting a satellite/mode updates related frequency, band, and propagation fields automatically.
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.
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.
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.
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.
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.
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.