Version 7.0.0 of Go Live Update Urls plugin is now available and ready for general use. Version 7 introduced an entirely redesigned history system.
This was a major version update.
Redesigned History System
Until now Go Live has always retained a list of updates made to URLs from either the site’s General Settings or from the Go Live plugin. This history contained information such as the entered URL and the date of the change. In version 7 we redesigned the history system from the ground up to include more information and a greatly improved UX.
Drawer Instead of Modal
Due to the simplicity of the information stored in the previous history system, a modal was used to access the history items. With the new system, a lot more information is stored and available, so it was important to redesign the UI into a drawer.
Now clicking the history button will slide out a drawer which will look something like this.
Separation of Information
You’ll notice from the above screenshot there are 2 sections of history.
- Updates made using the plugin will now populate the “URL History” section with all the new information.
- Updates made via the WordPress General Settings as well as history for updates made prior to version 7 will display in the “Site Address (URL) History” section.
As you can see, previous history is retained so you won’t lose anything by updating to version 7.
Counts
The biggest improvement in terms of history information is now all updates made by the Go Live plugin will include the counts of the updated URL.
By default, the counts will display by sections.
Clicking the “Show Full List of Tables” will switch to a count by table view.
Improved Performance
To avoid a URL found in history from being counted or updated, the previous system used the following process during updates:
- Retrieve and store existing history.
- Run the updates.
- Replace the history with the stored version.
- Subtract counts from history from the total counts.
This 4-step process added extra database read and write as well as complexity to the updating process.
Version 7 changed history storage to convert the stored URL into a 2-way hash. Using a hash prevents matches during counting or updating and removed the entire 4-step process. The only downside is you must use the API provided by Go Live to work with the history outside the plugin should you need to for custom extensions.
Endless History
History used to be stored as a single array in a WordPress option. Now it is stored as a custom post type. Using a custom post type removes the previous limit of 10 history items as a virtually endless number of history items may be stored without data size or performance issues. You may also use the full WP_Query
system for working with history data.
For the time being, only 10 history items will be shown in the UI. If you find a need to access more history in the UI, let us know.
Removed Deprecated Items
Any code items which had been previously marked as deprecated have been removed. While it is highly unlikely your site will be affected by the removals, they are listed for completeness.
Core::sanitize_field
Back in version 6.7.2, this method was deprecated in favor of using go_live_update_urls_sanitize_field
.
Pro::swap_tables
Back in version 6.4.0, this method was deprecated in favor of using Checkboxes::swap_tables
.
Controller
class
The debug REST endpoint had a Controller
class introduced in version 6.2.2. Controller
never really fit the responsibility of said class. The class has been renamed to Debug
.
Miscellaneous
- Reduced race conditions to improve counting accuracy.
- Converted GitHub Actions and Git hooks to distributed versions.
- Tested to WordPress core 6.6.2.
- Introduced class constants for admin capability and parent menu.
- Introduced
Admin::get_admin_capability
method. - Introduced
go-live-update-urls/admin/admin-capability
filter.