INC-133583 · Issue 584923
Rest connector supports extended chars in attachments
Resolved in Pega Version 8.3.5
When the pyRequestAttachmentPage clipboard page was populated with a file name that contained Latin supplemental 1 unicode characters (decimal values 160 to 255 - for example an umlaut), any extended characters were being converted to question marks (?) before the call was sent, causing the web service call initiated by Pega to fail. To better support this use, an enhancement has been added to support a multipart request with extended characters in the file name. This allows the pyRequestAttachmentPage to specify pyFileNameExtendedChars, allowing RFC 6532 mode to be toggled for multipart requests with attachments. This mode allows for UTF-8 encoding in the attachment file name header, rather than the default ASCII encoding.
INC-143461 · Issue 601841
Updated JSON DT nested page property handling
Resolved in Pega Version 8.3.5
In a JSON data transform, when using an "Update page" step on a single-page property, as a child step of an "Append and map to" step where a pagelist property is given, the pagelist was populated with only one result but the single-page property was treated like a pagelist and received multiple results. This has been resolved by updating the ClipboardJSONDeserializer implementation and downstream abstractions to support "clipboard only" relations as properties in nested PageLists.
INC-139297 · Issue 601421
JSON content type update
Resolved in Pega Version 8.3.5
An update has been made to ensure the content_type is set to application/json for JSON response.
INC-163292 · Issue 635837
Portlet service deprecated
Resolved in Pega Version 8.4.6
Portlet authentication services have been removed from the standard installation package.
INC-156674 · Issue 660956
Handling added for reactivating combined Passivation and AccessGroup timeout
Resolved in Pega Version 8.4.6
Refreshing a passivated browser window in Dev Studio for an operator with a combined access group and passivation timeout was resulting in a blank screen after re-authenticating. InvalidParameterException and InvalidReferenceException messages were logged. Research showed this was caused by a missing pxPortal property on the pxThread page along with missing Application and Accessgroup pages. While refreshing the browser along with the top URL, there will be few requests with tab threads calling activities such as deletedocumentpg and SetProcessWindowName because there was an unload. Because these requests reached the server before re-authentication, the threads proceeded to the activation flow, causing properties such as pxPortal, Application, and Accessgroup pages to be removed from the thread page and requestor page according to the condition that the requestor was not yet authenticated. To resolve this, the logic in session.internal.authorization.context.BasicApplicationContextImmutableImpl#applyApplicationProperties has been updated to skip removing application page properties from the thread page in this combined Passivation and AccessGroup timeout scenario.
INC-165722 · Issue 636327
Stack trace logging enhanced for engine startup issues
Resolved in Pega Version 8.4.6
Enhanced stack trace logging has been added to capture additional information when the application is unable to start and no PegaRULES logs are generated.
INC-170458 · Issue 667374
Handling updated for queue processor locks
Resolved in Pega Version 8.4.6
The Final activity mentioned in the processing epilog of the Service File rule was not being consistently called from File Listener, causing some of the cases to become stuck and not continue to the next stage. Investigation showed that if the lock was held by the queue processor requestor, the system was unable to obtain the lock but still proceeded to update the LogServiceFile page and persist it. This resulted in overwriting changes made on the LogServiceFile page by the requestor, resetting the completed-batches-count set back to 0. To resolve this, RuleServiceFile -> updateLSFBatchCounts() will call the overloaded lockAndLoad() method in LogServiceFile that accepts a parameter called lockAttempts. This will attempt to obtain a lock for a given number of times before throwing an exception.
INC-174612 · Issue 659249
Queue Processor threads explicitly cleared before new interaction
Resolved in Pega Version 8.4.6
Queue Processor was not clearing already evaluated freshness caches before running an activity, potentially causing a stale data page to be processed. This has been resolved by explicitly clearing the thread on a new interaction by invoking ((IPRThread) thread).clearOnNewInteraction.
INC-177773 · Issue 665339
Tracer protections updated
Resolved in Pega Version 8.4.6
Cross-site scripting protections have been updated for Tracer.
INC-177993 · Issue 657201
Archival IndexManagerService performance improved for very large tables
Resolved in Pega Version 8.4.6
Archival IndexManagerService was taking an excessive amount of time to run updateStatusForCasesWithInconsistentArchiveStatus(), a method which checks the parent case's archival status and compares it to all its children (cases & dependencies) statuses and flags parent cases with statuses that do not match. This check is done on all parent case instances that are in the indexer stage, and intermittently timed out and failed on a pr_metadata table containing over 5,000,000 records. This has been resolved by splitting the inconsistent check into smaller tasks and addressing potential parent/child/dependency relationships that can occur in the pr_metadata table.