INC-100288 · Issue 555464
Declaratives disabled during startup
Resolved in Pega Version 8.2.7
Declaratives firing before the engine is fully up can lead to null pointer errors. In order to avoid this condition, declaratives will be disabled during startup so that unnecessary operations can be avoided and system can be started faster.
INC-118926 · Issue 563806
ArtifactoryStorage URL construction with port updated
Resolved in Pega Version 8.2.7
After configuring a repository as a JFROG artifactory with a ruleform that provided a URL / port number and repository name, test connectivity worked as expected, but deploying the codeset using pipeline or importing the codeset using the import functionality generated the error "Unable to construct artifactory url due to invalid file path". The root cause of the issue was traced to the ArtifactoryStorage java class, which did not accept the port number in the format provided due to changes in the API. If there was no portNumber in the URL, the issue did not occur. To resolve this, the constructor has been changed to properly build the URI per https://docs.oracle.com/javase/8/docs/api/java/net/URI.html.
INC-120557 · Issue 558188
Class Loader cache values wrapped with WeakReference for improved cleanup
Resolved in Pega Version 8.2.7
Out Of Memory exceptions due to Metaspace were observed on Web tier instances running with a max Metaspace size of 2GB. Investigation showed that in PRClassLoaderDB, mLoaderCache values were wrapped with a SoftReference. To resolve this, the Class Loader cache values will be wrapped with a WeakReference, allowing the cache to free memory when it is no longer needed. JVM options has also been added to switch types of References being used if there is a preference.
INC-125480 · Issue 562487
Resolved Agile Workbench video recording timeout
Resolved in Pega Version 8.2.7
Using the Record Video option thru Agile Workbench to create an Agile Studio item was either taking an excessively long time to finish or was hanging. Research showed that this scenario could arise when the input parameter value crossed more than 50 characters and triggered the interaction threshold for an alert, and has been resolved by updating the system so that query parameters with size more than 50 are not encoded and added to alert logs.
INC-126857 · Issue 564594
Added handling for download of attachment with special characters
Resolved in Pega Version 8.2.7
If the name of an uploaded attachment contained a non-ascii character, the upload was successful but the downloaded file had the wrong name without any suffix. This was an issue on WAS or JBoss servers where filenames contained non-ascii characters, and the filename parameter in the content disposition header also contained these characters. To resolve this, the filename parameter in the content disposition header will be encoded as well along with the filename* parameter to handle non-ascii characters in the filename.
INC- 122191 · Issue 564602
Application content storage change corrected
Resolved in Pega Version 8.2.7
Selecting the Content Storage radio buttons set a background property indicating the content storage option was changed, but the property was not actually being set. Investigation showed that the value for pyContentStorageChanged was not being updated correctly before the section refreshed, meaning the selection was never saved. This has been corrected.
INC- 128143 · Issue 564456
Application content storage change corrected
Resolved in Pega Version 8.2.7
Selecting the Content Storage radio buttons set a background property indicating the content storage option was changed, but the property was not actually being set. Investigation showed that the value for pyContentStorageChanged was not being updated correctly before the section refreshed, meaning the selection was never saved. This has been corrected.
SR-D36826 · Issue 550270
LastAccessTime returned for MDB listeners
Resolved in Pega Version 8.2.7
The lastAccess time for the JMS listener was not being updated. Investigation showed that lastAccessTime was correctly updated whenever isStopping() was called, but isStopping() was not called for MDB listeners because the MDB listeners' state is managed by the app server. This caused accessTime to be empty. To resolve this, ListenerStateImpl has been modified to return mRequestTime as the lastAccessTime if the listener is of type MDB.
SR-D52785 · Issue 518409
Cross-site scripting protection added to layout runtime java and whitelist validation available for host/XFHost
Resolved in Pega Version 8.2.7
In order to protect against cross-site scripting issues, filtering has been added to the RepeatDynamicIndex parameter value in layout runtime java. In addition, a validation for X-Forward-Host value has been added which will be read from a local configuration. This is in the form of a white list regex filter for the host/XFHost header to ensure the URL's actions cannot be redirected.
SR-D58201 · Issue 538979
Data page processing performance improvement
Resolved in Pega Version 8.2.7
After upgrade from Pega 7 to Pega 8, data page processing was noticeably slower. Based on analysis of the issue and results of testing, changes have been made to improve the performance of the query used by the expression parser by using an ClipboardPage API to read values from a Page (ClipboardPageAPI#getString(boolean, String)).