CommonSpot 10.6.2 Release Notes

Copyright 1998-2020 PaperThin, Inc. All rights reserved.

About this Document 3

Platform Support Updates 3

Enhancements 4

Custom Element, Datasheet and Page Index Record Limits 4 Database Diagnostics 4 Images & Image Galleries 4 Rebuild Cache Utility & Schedule Job 4 Miscellaneous Improvements 5

Notable Bug Fixes 6 API 6 Bulleted List 6 CCAPI 6 Cache 6 Containers 6 Custom Element 6 Datasheet 7 Document Management 7 Element Management 7 Element Movement 8 Featured Search Results 8 Forgot Password 8 Formatted Text Block 8 Hooks 8 Images 8 Keywords 9 Links 9 Multimedia 9 MultiSection Element 9 My CommonSpot 10 Only 10 Page Management 10 Performance 10 Permissions 10 Rebuild Cache Scheduled Job 11 Redirects 11 Render Handlers 11 Replication 11 Search 11

1 Security 12 See Also References 12 SEO 12 Session Variables 12 Shared Database 12 Social Media 13 Subsite Administration 13 Take Ownership 13 User Interface 13 Upgrade 13 W3C Compliance 13

Important Notes 13 Support for Google WebP Images 14 Adobe ColdFusion Cookie Update Setting 14 Upgrading with MySQL 15 Lucee Only Settings 15 Multimedia 15 Run Upgrade & Other Utilities 16 Full-Text Search 16 Style Sheet Considerations 16 Other Notes 17

Special Upgrade Offer 17

2 About this Document

This document summarizes the following for the CommonSpot 10.6.2 release:

● ​Enhancements

● ​Notable Bug Fixes

● ​Important Notes ● Special Upgrade Offer

For detailed instructions about installing CommonSpot, see the current release of the CommonSpot Installation Guide. ​ For detailed instructions about upgrading from a previous version of CommonSpot, see the current release of the CommonSpot Upgrade Guide. Review carefully all Pre-Upgrade ​ ​ instructions.

NOTE: Before installing or upgrading to this release, review all other Release Notes ​ documents from your current version of CommonSpot to this version. For example if you are upgrading from version 9.0, please refer to all CommonSpot 10.0.x, 10.5.x, 10.6.x Release notes.

Platform Support Updates

There were no platform support changes for the CommonSpot 10.6.2 release. Please see the Tech-Specs page on the PaperThin support site for the most up-to-date information. ​

Release 10.6.2 of CommonSpot now includes support for the following: ● Adobe ColdFusion 2018 with updater 7 and above ● Adobe ColdFusion 2016 with updater 13 and above ● Lucee ColdFusion version 5.3.3.62 ● Microsoft SQL Server 2017 (with Adobe ColdFusion 2018 and Lucee) ● Oracle 19c & 18c (with Adobe ColdFusion 2018 and Lucee) ● MySQL 5.7 and 8.0 ● JDK 11 ● Java providers other than Oracle ● Solr 8.2.0 ● Windows Server 2019 (with Adobe 2018 and Lucee)

The following platforms are no longer supported: ● Adobe ColdFusion 11 ● Lucee 5.2.9 and 5.3.2.77 ● Windows Server 2008 ● SQL Server 2014 (for Lucee) ● MySQL 5.6.x ● Solr 5.x and 6.x 3 ● Java JDK 8, 9 and 10 ● 'Native' Full Text Search (using the search engines provided with ColdFusion and Lucee)

Be sure to see the current Tech-Specs page for the most up-to-date information. ​ ​

Enhancements

Custom Element, Datasheet and Page Index Record Limits ● In order to prevent poor performance due to an excessive number of custom element records being returned, CommonSpot now limits the number of records displayed for a custom element in reuse mode, a datasheet and a page index element. By default this value is set to 2,500 and can be changed with the Site Admin > Site Properties/Settings > Report Settings dialog. To disable this limit, set this value to -1. ● When a filter is saved in CommonSpot this limit is checked upon saving and if the number of records returned exceeds the limit the contributor will be shown an error message, prompting them to add additional filter parameters to reduce the record count. For existing filters, the limit will be enforced and a log entry will be written if the count is exceeded. Check your logs for any occurrences and then adjust the filter appropriately to reduce the records returned, and thus reduce the page render time.

Database Diagnostics

● CommonSpots installation, customer creation, site creation and upgrade processes have been enhanced to perform several diagnostic checks to ensure that the target database is configured correctly prior to starting the operation. This prevents process failures by alerting the user to connection or security problems before the process begins.

Images & Image Galleries

● It is now possible to change the Default or Enforced subsite of an Image Gallery after it contains images. ● Factory images are now prevented from being moved to a different subsite or from the Default Image Gallery, or to have a new version uploaded. ● The Upload New Image dialog now includes the copy down icon to make it quick to copy the title to the description field.

Rebuild Cache Utility & Schedule Job

● Three new ‘Rebuild Scope’ options have been added to the build/rebuild cache utilities which allow you to control what gets rebuilt: ○ All Elements - All elements on the page ○ Index Elements - All Page Index or Custom Elements in re-use mode.

4 ○ Stale Elements - Any element who’s cache is expired. ● If you are utilizing Stale Cache, which we recommend strongly that you do, you should configure a scheduled job that runs periodically to rebuild the cache for those elements that are stale. You would set the scheduled job to use the new ‘Stale’ scope option. If you are not utilizing the Stale Cache feature, please contact PaperThin Support. ○ These new options will show up under: ■ Site Admin > Utilities > Site Tools > Build Cache Files ■ Site Admin > Utilities > Site Tools > Rebuild Cache Files for Saved Search Results ■ Site Admin > Utilities > Scheduled Job > Rebuild Cache Files ■ Site Admin > Utilities > Scheduled Job > Rebuild Cache Files for Saved Search Results

Miscellaneous Improvements

● A hover link to open a page in a new window has been added in the Usage dialog of an Element in Site Administration > Elements & Forms > Elements. ● An expired user’s lock on a page would prevent authoring for the duration of the session set on the site. Improved behavior deletes the lock if the user holding it has an expired account. This allows another contributor to continue working on the page. ● CommonSpot has improved its validation messaging when submitting ● References to the obsolete 'NS' (Netscape) browser type have been removed. This affects scheduling and filter criteria as well as rendering options. ● The header row of the Datasheet Element is now rendered with and instead of only.

5 Notable Bug Fixes

API

● Advanced Search API did not respond properly to Expired and future Publication dates.

Bulleted List

● Bulleted List would not allow text editing unless the CKEditor was enabled in the element. ● No patches - Under certain conditions, some Bulleted List Style properties were not honored.

CCAPI

● The CCAPI would fail after the 'login' step when J2EE sessions were in use. ● Calls to several methods (Element.getList, CustomElement.getInfo, etc) result in a security exception if run by a non-contributor user - documentation indicates these methods may be called by anonymous users.

Cache

● Login and logout operations were not reloading or closing login/logout dialogs in some cases. ● Errors logged (invalid tag cftdatatype), cache ignored when the '?xml=1' URL parameter is used with pages using custom elements.

Containers

● Moving elements between containers may lose version history. ● Deleting elements in a container from the Reorder Elements dialog did not show the element as deleted.

Custom Element

● The standard rendering option was not honored if set explicitly at the element level, when the site level default was set to use a display template. ● Custom element instances in 'reuse' mode may fail to render after an RSS feed (built from the same element type) is rendered. ● Errors may occur and certain custom element 'content reuse' instances may be corrupted when a field is removed from a custom element definition. ● and up Fixed a crash of the Search Data dialog of a custom element.

6 ● The cancel button did not work in a dialog warning of an element with the same name. ● Under certain circumstances, when creating a new Display Template for a Custom Element where there is an existing Display Template, the configuration mistakenly pulled from the existing one. ● A crash occurred in a Custom Element (using content reuse mode) when selecting a built-in field (date added/date modified/modified by) as the sort criteria. ● Custom element field deletions are not fully complete without a CF restart. ● HTML content (Formatted Texblock fields) may appear corrupted in custom element data viewer. ● The custom element data viewer was displaying images larger than the available size of the viewer dialog, causing the dialog to be distorted. ● The ability to link to a bookmark on a page was not available from the CommonSpot Extended URL field type.

Datasheet

● Resolved a JavaScript injection vulnerability in the Datasheet element. ● The 'alphabet links' feature in the Datasheet element failed to return all matching rows for a selected letter, when running under Adobe ColdFusion. ● A Datasheet row configured as a link to its Global Custom Element Viewing Page had no curso change on hover. ● The option to set a column in a datasheet to link to a Global Custom Element Viewing page was not available. ● When the datasheet row was linked to a Global Custom Element Viewing page the cursor did not indicate the row was clickable.

Document Management

● After changing the expiration status of an uploaded document (either setting or removing an expiration timestamp), links to the affected document may be incorrect (resulting in 404/not found errors).

Element Management

● Under certain circumstances, for saved elements, contributors were not able to view properties and/or security ● In the element gallery, the 'Usage' menu item has been removed for elements created via 'save as element'. ● Error log entries (for PK violations) may be written when using an element that was created with the 'save as element' feature. Also, when inserting a 'saved' element, the content may not be correctly styled until a manual cache clear is performed. ● A JavaScript error was causing a problem when attempting to delete a saved element.

7 Element Movement

● Under certain circumstances, circular references could occur when moving elements if the render handler for the element programmatically invoked a Container (or similar) element. With this fix, when we try to move an element, all its child nodes come along, eliminating the circular reference problem.

Featured Search Results

● Updating or cloning 'Featured Search Results' entries may result in unexpected deletion of other/unrelated 'Featured Search Results' entries.

Forgot Password

● Resolved issue for sending email when using the forgot password email option.

Formatted Text Block

Customization of Toolbar settings was saved incorrectly in some cases. ● The export to excel feature for the Manage Element Component Styles dialog was not working properly. ● Errors may occur when trying to edit formatted text blocks or other elements that include a formatted textblock (or custom element with a formatted textblock field) for elements which were configured before the latest CommonSpot upgrade.

Hooks

● The after--logout.cfm hook was not behaving as expected. There is now a sample of this hook in the \commonspot\samples\hook folder with updated instructions.

Images

● In an Image Gallery with multiple sizes, reverting an image to a previous version was not updating all the different sizes of the image. ● The Find Images tool has the ability to Delete, Move to Subsite, Move to Gallery or Remove from the current gallery. The dialog to move the image to another subsite did not open. ● Under certain circumstances, the Submit/Upload Image button was hidden in the Upload New Image. This would occur when uploading an image for a Custom Element's image field where the Image Gallery has an enforced subsite. ● Attempting to upload an image within the default gallery encounters a JS error. This error was caused because the default subsite was not properly selected. ● The required options were not displayed when a gallery with an enforced subsite was selected when choosing an image.

8 ● With the Site Administration > General Settings > Allow Image Resize checkbox unchecked, a JavaScript error could occur with certain image operations. ● A crash would occur when trying to copy and paste an Image Index element when in Manual Selection mode to another location. ● Uploading multiple images at one time with custom metadata involved, only saved the metadata for the first image. ● An error would be shown in the web browser console regarding a missing image when using the Image Editor. ● Changing Image references in Referring Pages no longer allows changing image size. ● Cancelling the creation of a new image after uploading the image, orphaned the image. Cancelled images are now removed. ● Images with an upper-case extension were not being converted to lowercase.

Keywords

● Under certain circumstances the error "One or more of the specified keywords are not permanent” would be shown when clicking on the permanent column checkbox. ● Improper text was displayed when invoking Subsite Administration > Content Classification > Manage Keywords dialog, then clicking on the link on Image Usage column > Keyword Usage Report (Images)

Links

● When defining a link element and choosing an Uploaded Document, the Bookmark option was incorrectly being displayed. The Bookmark option should only be present after a page or page set is selected. ● Adding a new Registered URL did not refresh the Registered URLs dialog to render the new item.

Multimedia

● Local Multimedia Channels did not support the use of a Playlist, however this option was still available in the UI. That option has been removed. Only external multimedia channels support using a playlist. ● Fixed issues using the “CKEditor Insert Multimedia Object From CommonSpot Multimedia Gallery” plugin. ● Fixed issue where Brightcove videos would always auto-play, ignoring setting. ● The The Player Settings dialog did not always populate populate the Video ID field for YouTube videos ● Inserting multiple Brightcove videos within an RTE did not play both videos

MultiSection Element

● The ability of moving elements via drag and drop was removed from the MultiSection Element. This is only possible with Containers and Tabular Layout Elements.

9 My CommonSpot

● Links to the root subsite home page from Site Administration were not redirecting properly when no index page existed yet.

Oracle Database Only

● If using an Oracle Database, users would see an ActivityWorkFlow error when navigating to MyCommonSpot.

Page Management

● Menu items now properly reflect the distinction between pages and templates. ● Deleting a page which has one or more 'HTML' elements may result in 'orphan' files being left in the _cs_uploads directory. ● Deleting a single page did not check for all conflicts.

Performance

● Poor performance has been observed on some sites when publishing changes, particularly when one or more complex custom elements has been created or updated. Under heavy load or when multiple simultaneous publications are occurring, this may lead to lock errors. Fixed singular issue when Performance setting was option 4 that prevented saving a Local Custom Element.

Permissions

● Admin-commonspot account did not have proper permissions in Subsite Administration to see Expired Pages. ● Under certain circumstances it was not possible to upload a new image to an Image Gallery, if the user did not have “upload new image” permissions in the last listed Image Gallery. ● Under Replication, a crash may occur when updating user metadata if one or more sites had database connectivity problems. ● Pages in a subsite where 'no rights' is enforced for anonymous users may still be readable by anonymous users if the template has enforced 'read' permission for anonymous users. Likewise, if a template enforces 'no rights' for anonymous users, derived pages may still be readable if the page is in a subsite where anonymous users have enforced 'read' rights.

Resolution of these conflicts has been updated so any 'no rights' enforcement (either 'template inheritance' or 'subsite content') takes precedence over any other enforced permission assignment.

10 This change applies to any user or group, not just the 'anonymous users' group. Note that this only affects cases where conflicting permissions are assigned for a specific user or group - this does not mean that if 'no rights' is enforced for the 'authenticated users' group that nobody has any rights to the affected pages - only that a user must either be explicitly granted rights or be a member of a group with rights assigned.

● Attempting to upload a new image via the Advanced Search or Saved Search dialog resulted in a gallery permissions denial.

Rebuild Cache Scheduled Job

● Fixed an issue where the scheduled job would run longer than the session timeout and cause a large volume of errors in the log file.

Redirects

● The Add Redirect URL dialog became smaller after defining the “Redirect To” value.

Render Handlers

● Users may be allowed to delete a render handler which is used on one or more pages without providing any warning.

Replication

● In order to use the UNC Transport method for Replication between Author and ROPS, it is necessary to use a Domain User for ColdFusion on the Author server. The Domain User must have access to the ROPS file system. Otherwise, the FTP transport must be used. ● In a replication configuration, certain updates to taxonomies (deletions of terms, facets, etc) were not correctly replicated to the read-only servers. Also, deletion of a taxonomy may lead to a replication failure. ● In a replication environment, changes to expiration for uploaded documents may not be correctly reflected in the rendering of some links on the Read Only Production Server.

Search

● Creation of new full-text collection may fail due to incorrect file permissions on a Linux instance. ● Search customization problem: custom element data passed to the search interface was incomplete, so customizations which require access to the 'raw' (unformatted) data may be impossible.

11 Security

● Corrected styling for the Forgot Password dialog. ● Closes an XSS vulnerability which results from failure to HTML encode Simple Form and Custom Element data in non-formatted fields. (i.e. all field types except Formatted Text ​ ​ Block and explicitly flagged custom field types) All customer entered code is now HTML encoded. ● Eliminated a vulnerability to XML entity injection attacks. ● Element permissions displayed incorrectly if they were enforced at template level. Permissions worked correctly, they were just reported incorrectly in the UI. ● Login failures may occur on servers with more than one site if one or more of these sites has database connectivity problems. ● Certain page rendering errors were not handled correctly, resulting in a misleading and incorrectly handled 'lateContent not defined' error. The mishandling of the latter error could reveal internal details which should not be released to the public.

See Also References

● Fixed an issue where the wrong subsite was pre-selected in a Subsite Tree select list for a root site with duplicated subsite name.

SEO

● SEO Properties pane was too tall in some cases, covering up the dialog buttons.

Session Variables

● CommonSpot startup failed if J2EE sessions were enabled with Adobe Coldfusion and Lucee. Though the fix does allow use of J2EE sessions in Adobe ColdFusion, and JEE sessions in Lucee, the use of the CCAPI will not work with Lucee JEE sessions enabled. Therefore it is not officially supported for use with Lucee.

Simple Form ● Defining a simple form with a name that has no usage any more but has records, resulted in a crash. ● An error would occur when Customizing layout for a Simple Form summary page.

Shared Database

● In a shared-database configuration, file uploads may fail unexpectedly if one or more read-only servers are offline.

12 Social Media

● Export to Excel for the Social Media Rules dialog was generating a corrupt csv file.

Subsite Administration

● The Uploaded Document Security detail in the text at the top of the Security dialog was listing all documents as being in the root subsite.

Take Ownership

● User was logged out when attempting to take ownership of a change owned by another user.

User Interface

● One or more dialogs may fail to open due to unexpected whitespace in generated HTML.

Upgrade

● Customizations to 'factory' files in existing sites may be overwritten by the upgrade process. ● RTE toolbar customizations may be lost when upgrading from earlier CommonSpot releases or when using the schema update process to refresh 'factory' data.

W3C Compliance

● Modified Meta tag to comply with W3C directive that: A document must not include both a meta element with an http-equiv attribute whose value is content-type, and a meta element with a charset attribute. Removed 'name' attribute as obsolete, replaced with an ID tag on the nearest Container.

XML Publications ● Syndication failed for a custom element if one or more field labels contained a comma.

Important Notes

The following describes issues that may affect the operation of your CommonSpot site. Please review these notes before installing or upgrading to this release.

13 Support for Google WebP Images

Contact PaperThin prior to upgrading if you have existing WebP images already loaded into ​ ​ your site(s). There is a function that must be manually run to generate a PNG copy of the image for use in the Image Gallery system.

Adobe ColdFusion Cookie Update Setting

In the ColdFusion Administrator, uncheck the Server Setting > Memory Variables > Session Cookie Settings > Disable updating ColdFusion internal cookies using ColdFusion tags/functions. If this setting is checked, it prevents the ability to login to CommonSpot.

Removal of Cookie Login option In order to make CommonSpot more secure, starting in 10.5.2 and 10.6.1, the Client Variables dialog has removed the “Enable Persistent Cookies” option. This dialog is accessed via Server Administration > Configuration > Client Variables. This prevents the cookies from being hijacked for cross site scripting exploits.

14 Upgrading with MySQL

If MySQL 5.6 is in use, all MySQL databases must be migrated to MySQL 5.7 (not 8.0) BEFORE running upgrade. Failure to do so will cause the upgrade to fail. To upgrade these ​ databases, follow the upgrade instructions provided in MySQL 5.7 documentation, or use the built in Server Administration > Utilities > Server Tools > Database Conversion tool to migrate your databases from MySQL 5.6 to MySQL 5.7. Upgrades to MySQL 8.0 cannot be completed before upgrading CommonSpot to version 10.6. See Knowledge Base Article for details.

For Linux ONLY On Linux installations, pages or uploaded documents with extended characters in the filename may cause problems (including crashes) if the JVM is not configured correctly. CommonSpot now verifies the configuration at startup time.

Add the following lines to the startup scripts for both Adobe ColdFusion and Lucee:

export LC_ALL="en_US.UTF-8" export LANG="en_US.UTF-8"

These need to run before the 'coldfusion start' (ACF) or 'lucee_ctl start' step. The locale can be different (i.e. the first part doesn't have to be 'en_US'), but the second part must be UTF-8 - and the two settings should be the same.

Lucee Only Settings

If Apache and Lucee are NOT running as the same user, the following setting change must be made in catalina.sh.

● Set UMASK to be 0022 instead of the default of 0027, which blocks access to everyone except admin and the Lucee process user.

A bug in Lucee prevents programmatic setting of the correct 'connection limit' value for datasources. Please use the Lucee 'server' administrator to update all of your CommonSpot datasources. Select '-inf-' as the connection limit for each one.

Multimedia

● In order to play a multimedia file from the Multimedia Report, there must be at least one player set with each multimedia file type as the default. Go to Site Administration >

15 Multimedia Services > [ External and/or Local ] > Players > Edit > Supported Formats - Select at least one so that all formats used on your site have a default player.

Run Upgrade & Other Utilities

All releases require running /commonspot/upgrade/ to reset factory data, database indexes, and database functions. Then restart ColdFusion/Lucee.

PaperThin also recommends the following: ● Clear Browser Cache ○ Instruct all users to clear browser cache. This step is required for using the Rich Text Editor in CommonSpot as well as native dialogs. ● Rebuild Stub Files ○ You should run the Rebuild Stub Files update utility. See Site Administration - Utilities - Rebuild Stub Files. ● Rebuild Cache ○ This update may result in outdated cache files. For best results, schedule a Rebuild Cache job to run periodically to make sure that even the oldest cache files are reasonably current. See Server Administration - Utilities - Server Scheduled Jobs.

Full-Text Search

● Because of limitations in the 'built-in' search engines provided with ColdFusion and Lucee, these engines are no longer supported by CommonSpot. We recommend installing the latest available Solr as described in this Knowledge Base Article. ​ ● REINDEXING REQUIRED: The Solr schema used with CommonSpot 10.6 has been ​ extended to include several new fields to allow more optimal performance. All full-text collections need to be deleted and recreated. If a custom interface has been written using the API, several methods have new arguments which will need to be handled. ● For security reasons, ensure that the Solr engine is not visible beyond the local network (i.e. ensure that port 8980 (or whatever port Solr is configured to use) is closed to outside requests).

Style Sheet Considerations

If upgrading from any version prior to 10.5.0, this section may require action by you prior to the upgrade. Failure to take these steps could result in unexpected styles being applied.

Some of CommonSpot's core styles have changed to make CommonSpot fully 508 compliant. Use of inline styles and Presentational attributes has been removed for CommonSpot elements in favor of classes. Prior to 10.5.0, the 'default.css' style sheet in the site's root 'style' folder was not overwritten so as to avoid discarding any customizations.

16 CommonSpot 10.5.0 had moved all the stock classes from default.css to \commonspot\site-default.css to allow separation between CommonSpot default values and site-specific customizations.

If your Style Sheet Sets include default.css (from the \site root\style folder) the upgrade to 10.5.0 will change the reference to \commonspot\site-default.css instead. ● If you have made no alterations to default.css there is no action needed on your part ● If all your custom styles are made via additional style sheets added to the style sheet set, there is no action needed on your part. ● If you have modified default.css (changed or added) you must make modifications in order to keep the custom styles you need. Compare your copy of \yoursite\style\default.css to \commonspot\site-default.css. There are two options available to keep your custom styles. 1. Move the custom styles you wish to keep to \site root\style\default-override.css. If this file is present, it will be loaded automatically for the whole site. . If that is an acceptable option no further action is necessary. If you do NOT want all your custom styles to be loaded for the whole site, use option 2. 2. Move the custom styles to a new style sheet and register that sheet with the appropriate style sheet set(s)

Other Notes

Read all interim release notes. This is particularly important if you are upgrading from a ​ ​ ​ release earlier than 9.0.5. Interim release notes document important changes to system and configuration requirements, browser and server cache handling, scheduled jobs, text handling, and performance considerations. Read all Release Notes starting with versions greater than your current version including 9.0.5, 10.0.0, 10.0.1, 10.0.2, 10.5.0, 10.5.1, 10.5.2, 10.6.0, 10.6.1 and 10.6.2 available from: http://www.paperthin.com/support/knowledgebase/doclibrary/index.cfm

Recommendations and requirements for ColdFusion, Lucee and MySQL settings may be found here: https://www.paperthin.com/support/knowledgebase/articles/configuration-settings.cfm https://www.paperthin.com/support/knowledgebase/articles/lucee-requirements.cfm https://www.paperthin.com/support/knowledgebase/articles/Supported-MySQL-Versions.cfm

If you have custom code using CommonSpot variables, review updates to deprecated values on the PaperThin Support site for all releases. Please visit: https://www.paperthin.com/support/knowledgebase/deprecated-variables.cfm

Special Upgrade Offer

PaperThin has launched a new online product which helps organizations more efficiently test their website upgrades. In a nutshell, the product reduces the manual testing effort required to

17 ensure your website upgrade did not adversely affect your site, while providing more accurate automated testing results.

How does it work? The cloud-based Website Upgrade Tester tool takes screenshots of pages within your site, before and after your Website upgrade. It then visually compares the screenshots, examining them pixel-by-pixel to see if there are any differences, and reports those to you. You can quickly view either a 'difference' image, which shows the changed pixels in red, or a side by side comparison of the before and after screenshot to see exactly what changed. The tool also detects JavaScript and resource loading errors that may affect your sites behavior.

So, don't waste time manually testing your next Website upgrade. Visually compare the 'before' and 'after' automatically.

If you are planning to upgrade your site in the near term, please reach out to Support at [email protected]. For more information on our new product you can watch a short explainer video at https://www.websiteupgradetester.com/explainervideo, or view our website at ​ ​ https://www.websiteupgradetester.com. ​

18