GoshLinks v4 is a major round of product polish, Pro feature work, and workflow improvements across the plugin.
## Stats Dashboard Improvements
- Reworked the Stats page into a cleaner single-page dashboard layout. - Removed the old stats tabs and brought the main stats sections together on one page. - Added a Top 5 countries card with country flags. - Added a See More popover for the full country list. - Kept the delete-data area in place underneath the new stats layout. - Improved responsiveness so the stats page collapses cleanly below 900px.
## Bulk Editing Improvements
- Added semantic column classes to the Bulk Editing table for cleaner styling and easier maintenance. - Improved long URL handling in Bulk Editing. - Added URL reveal popovers with an eye icon trigger, full URL display, copy action, open action, and close button. - Hid the Short URL column on smaller screens to save space. - Redesigned the bulk action buttons into a more polished icon-led card style. - Added proper disabled and confirm-state styling for bulk action buttons. - Reduced the bulk action button size after the redesign for a tighter layout. - Moved the Bulk Editing search bar onto its own row above the filters. - Added selectable page sizes for the Bulk Editing table. - Added support for selecting links across multiple pages. - Added selected-link review tools, including selected counts, Show All Links, and Deselect actions. - Added selective export from Bulk Editing, with optional stats export. - Improved Bulk Editing pagination styling and added pagination controls above and below the table.
## Import and Export Improvements
- Improved GoshLinks import handling for links and click data. - Removed duplicate click-data import options to make the import flow clearer. - Improved import wording around keeping existing links and overwriting matching slugs. - Added export counts beside export section checkboxes. - Added automatic cleanup of abandoned import files when opening the Import tab. - Changed GoshLinks imports to rely on unique slugs rather than imported IDs.
## YOURLS Migration Support
- Improved the YOURLS Import accordion into a clearer step-based process. - Added guidance for importing from YOURLS on the same site or another site. - Added a bundled YOURLS exporter plugin inside GoshLinks Pro. - The YOURLS exporter creates GoshLinks-compatible JSON files. - Added an option to include or exclude YOURLS click data during export. - Updated YOURLS export filenames to use the same link/click section naming convention as GoshLinks exports.
## Pro Feature Separation
- Moved Pro-only functionality out of the free plugin and into the Pro add-on. - Moved Bulk Editing, Advanced Stats, Advanced Links, Import/Export, YOURLS Import, and Help Notes behind Pro feature checks. - Improved Pro upgrade messaging and feature-gated screens.
## Help Notes and Admin Help Editor
- Changed Pro Help Info into Help Notes so users can add their own team notes without replacing the default GoshLinks help text. - Default help content now remains updateable with the plugin. - Added a private Admin Tools plugin with a Help Editor for preparing updated default help JSON files. - Split Settings help content into smaller help files by tab. - Updated multiple help files to document new and changed features.
## Link Creation and Editing Improvements
- Added live slug availability feedback with valid and invalid status indicators. - Added URL validation feedback for Target URL and Deactivated URL fields. - Prevented the Create Link button from activating until the slug and Target URL are valid. - Improved URL validation so incomplete domains are not treated as valid URLs. - Opened the Advanced Options accordion automatically when editing a link that already uses advanced features. - Added a Cancel button on the Edit Link page to return to All Links.
## Licence Workflow Improvements
- Kept saved licence keys visible after deactivation so they can be reactivated later. - Added Reactivate handling for saved keys. - Prevented replacement licence keys from overwriting an existing key until the new key validates successfully. - Improved feedback when a replacement key fails, including whether the existing licence remains active. - Updated licence messaging for keys that are not active on the current site.