INC-169518 · Issue 649158
Email address parsing logic updated
Resolved in Pega Version 8.7
Email listener functionality for case creation and email notifications was not working as expected after update due to a difference in the the service email rule request header properties (pyInboundEmail.pyFrom & .pyInboundEmail.pyFromDisplayName) clipboard values. This has been resolved by updating the parsing logic for the email addresses to look for an InternetAddress object and then fallback to a regex match.
INC-169764 · Issue 645804
Decision table query performance improvements
Resolved in Pega Version 8.7
Severe latency was seen after upgrade, and it was not possible to save business rule changes. This was traced to an issue with the decision rule being treated as a custom rule, and has been resolved by inserting a check. In addition, optimization has been added for queries on the pr_sys_decchg table.
INC-170130 · Issue 643776
Null check added for debug logging pointer error
Resolved in Pega Version 8.7
When DEBUG logging was enabled on the class 'com.pega.pegarules.session.internal.mgmt.base.AbstractPageDirectory', system restart resulted in the node failing to startup with a null pointer error in a debug block of this class. A null check has been added to resolve this.
INC-170458 · Issue 667373
Handling updated for queue processor locks
Resolved in Pega Version 8.7
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-170551 · Issue 656559
Rule Assembly update for pxTextInput and pxDisplayText
Resolved in Pega Version 8.7
After the application restart, multiple rule assembly alerts were seen for pxTextInput and pxDisplayText . During first access, Assembly is done and container is cached in VTable; investigation showed that in this case, the Load class without the package name had a class not found issue, and then subsequent access tried to use the container from cache and assembly was not done. To prevent this, an update has been made to perform the class lookup using the package name and class name.
INC-170620 · Issue 651806
Handling added for RuleNotFound exception
Resolved in Pega Version 8.7
If a declare rule was run on a redux page and the highest ruleset version was withdrawn, a RuleNotFound exception was thrown and step status was set with the message "Failed to find a 'RULE-DECLARE-EXPRESSIONS' ...". This has been resolved by updating the system to avoid throwing a RuleNotFound exception if the candidate list is empty for the declare expression.
INC-170646 · Issue 658307
Security update for unauthorized URL requests
Resolved in Pega Version 8.7
Updates have been made to improve security around unprivileged users and unregistered requests.
INC-170669 · Issue 651813
Handling added for RuleNotFound exception
Resolved in Pega Version 8.7
If a declare rule was run on a redux page and the highest ruleset version was withdrawn, a RuleNotFound exception was thrown and step status was set with the message "Failed to find a 'RULE-DECLARE-EXPRESSIONS' ...". This has been resolved by updating the system to avoid throwing a RuleNotFound exception if the candidate list is empty for the declare expression.
INC-170950 · Issue 652332
Handling added for datetime set by relative reference
Resolved in Pega Version 8.7
When initializing a datetime property contained within .pxPages() in a data transform rule, if the property being set applied to @baseclass it was initialized as decimal string while all other properties were handled as normal GMT-based Pega date time strings. Investigation showed that the decimal value was set when the target page was given by a relative reference like .pxPages(TEXT) which was also defined on Pages & Classes. This has been resolved with an update to detect relative reference as page name in Pages & Classes tab and fall back to the old assembler.
INC-171753 · Issue 649441
Checks for Apache Tomcat 6 with MSSQL removed
Resolved in Pega Version 8.7
After implementing a specific local Tomcat configuration that removed the Tomcat version number from displaying on Tomcat standard error screens, the error "Tomcat 6 not supported or unable to detect version for custom Tomcat: Apache Tomcat. Contact Pega Customer Support!" appeared and Tomcat failed to start. Because Tomcat 6 was not supported for use with Microsoft SQL Server Systems, Pega used the ServletContext.getServerInfo() method to determine the Tomcat version; if the system used Tomcat 6 or an undetermined version in combination with MSSQL then the system would purposefully not start. As Tomcat 6 is no longer supported in Pega 8.5.2 and above, this check is unnecessary in those versions and the Tomcat version 6 checks in ClassMapImpl have been removed to allow serverAllowsMerge to return as true.