Pega Infinity™ includes an industry-standard patch release process to simplify and maintain high-quality releases. Several cumulative patches are released a year for each release stream. The Resolved Issues page contains information about client-reported issues that have been addressed for the specific release.
For a complete set of the Resolved Issues for this release, download the PDF attachment at the bottom of this page. (Note that you must be logged in to access the attachment.)
For information on downloading this patch, see Pega 8.7.1 - Patch Release Available.
Low-code Application Development
Case Management
8.7.1 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-196961 | 693473 | Iteration method updated for SetRequiredSkillsCountColumn | After update, database utilization spiked and did not drop. Investigation traced this to the use of Local.totalCount in pzSetRequiredSkillsCountColumn, which caused the iteration loop to run more times than necessary. This has been resolved by replacing Local.totalCount with Local.iterationsCount in the iteration. | Case Management |
INC-184040 | 688256 | Improved accessibility for Disclosable Documents/attach files/auto selection dropdowns | When using Dragon for accessibility, issues were seen when trying to select different options in the dropdowns related to attaching multiple files. This was caused by the legacy grids being used not supporting this type of accessibility functionality, and has been resolved by updating pzAttachFileDDFileList to use an optimized table instead. | Case Management |
INC-186036 | 685370 | Field Level Audit updated to handle hierarchical properties | Field Audit was not working for the first change of the data selected/provided for a field. The audit was only reflected after the second change was made. When the property involved a series of hierarchies, for example pageprop.pagelist(1).pageprop, the FLA objects will initially use deferred saves and the generated pzinskeys will be added to a savedFLAMap object. However, when the last pageprop was not eligible to save, all the deferred saves of earlier records were cancelled but the inskeys were not removed from the savedFLAMap object. Because of this, the parent FLA records were assumed to have been saved already when those saves were actually deferred. This was a missed use case for hierarchical properties, and has been resolved by adding an update to remove the inskeys from the savedFLAMap object so that in the subsequent property change the audit's FLA records for the parent properties (pageprop.pagelist(1)) will be saved again. | Case Management |
INC-194180 | 701664 | GetChildcases handling updated for large numbers of cases | When a very high number of child cases being processed contained a wait shape that was dependent on the movement of a parent case, some of the cases were moved to the next step of the flow automatically while others required a manual command to ResumeFlow. In extreme cases where many child cases were waiting, a node crash could occur. This was traced to the pzGetChildcases report having a maximum value of 500 lines, and has been resolved by increasing the maximum number of rows to retrieve to 9999 in the Data Access Tab of the pzGetChildCases report definition. In addition, the pxCheckFlowDependencies activity has been modified to perform with a higher number of cases, and DSS(MaxRecords) logic has been added to split the child cases into multiple queue items for each access group to decrease load on each thread process. | Case Management |
INC-198765 | 696686 | Public URL will be appended with "/" if it is not present | When using the Worklink Correspondence Fragment rule with authentication service type "prweb/PRAuth/sso", the returned URL did not contain the needed "/" at the end of public link. The "/" was present when using the legacy authentication service "prweb/sso". This has been resolved by updating the system to include a "/" at the end of a public URL if one is not present. | Case Management |
INC-198807 | 689769 | Bulk Transfer Audit displays correct label | After Bulk Transferring an assignment, the audit showed the flow action rule name instead of the label. This has been addressed by creating a field value for the name 'pyTransferAssignment' and updating the param.actionLabel to refer to the localized value. | Case Management |
INC-200247 | 701955 | WorkAttachmentIcon activity correctly registered | The pyWorkAttachmentIcon control used to download attachments was generating a SECU0019 warning. This was traced to pzAppStorageOkToAttachFile not being correctly registered, and has been resolved. | Case Management |
INC-201410 | 695843 | Updated handling for Navigation Breadcrumb DisplayFlag | On hitting 'previous' the old breadcrumb was visible instead of the expected flowaction. This was a missed edge case for having 'when' conditions before a subprocess shape, and has been resolved by having the pyDisplayFlag be considered conditionally so that even when the display flag for the top level subprocess is false, if the current flow action / assignment belongs to the subprocess, the system will show the breadcrumb for the same. | Case Management |
INC-201981 | 697633 | Added check for StageHistory page | After update, the pyDisplayStages section was not visible in pyCaseMainInner due to the 'when' condition pxHasStages not being satisfied. This was traced to a customization for the pyStartCase flow in one of the case types which resulted in a blank pxStageHistory page being set under pyWorkPage, and has been resolved by adding a 'when' condition to check whether pxStageHistory page exists so the step will only execute if the pxStageHistory page is present. | Case Management |
INC-203595 | 700595 | Updated retainLock for DoClose activity | After sending an external email notification from a case, attempting to use the "close" button resulted in an access denied error. This was traced to a missed use case for recent security improvements which resulted in not setting the required parameter retainLock for the DoClose activity, and has been resolved. | Case Management |
INC-204676 | 699112 | Localization added to subject line for SendEmailToAssigneeOnGoalTime | When a Callback case was created and the assignee notified by email, the subject line was not localized. This has been corrected. | Case Management |
INC-207320 | 701083 | Email Approver shown in audit | Email Approver activity was not being shown in Audit. This was traced to the queue instance primary page missing the necessary pyInboundEmail page property from pyCreateAndManageWorkFromEmail, and has been resolved by updating the listener activity to copy the needed value to a property called pyEmailFrom which will be used to record the events in the audit. | Case Management |
Cloud Services
8.7.1 Resolved Issues for Cloud Services
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-183706 | 685830 | Added null check for DynamicAppenders | Null pointer exceptions were seen for Pulse. This has been resolved by adding a null check in the DSS save/update process. | Cloud Services |
INC-185117 | 680899 | Check added to disable offset support for older versions of Oracle | An ORA-00933 error was generated after upgrading from Pega 7.1 to Pega 8.5. This was traced to a conflict between Oracle 11g and the Pega 8.5 platform related to an OFFSET statement being added to a query for a version of Oracle that doesn't support it. The preferred solution is to upgrade Oracle to address this, but in order to support backwards compatibility a check has been added which will disable offset support in Oracle if productversion <=11. | Cloud Services |
INC-202677 | 698989 | Handling added for missing expose.accessGroup property | After exposing an existing page group and page list properties along with single value properties using a declare index, running the Column Populator tool prpcServiceUtils to populate the historical data resulted in the single value properties being updated in the exposed column properly, but the page group and page list properties were not updated in the declare index table. On new case creation the declare index tables were updated. This was traced to the default expose.accessGroup not being set for the user, and has been resolved by adding a check and handling that will add the missing property in prpcserviceutils.properties defining the access group for the Rule-Declare-Index of the classes being exposed if it is not present. | Cloud Services |
Conversational Channels
8.7.1 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-192935 | 698695 | Inline images retrieved for deferred-load email | When emails were defer-loaded, inline images with code entered into the non-cache section in pyExtractHtmlFromAttachment were not being displayed. This has been resolved by passing the current page parameter to pyExtractHTMLFromAttachment to convey the pyID. | Conversational Channels |
INC-200148 | 693148 | Added JSoup handling for older Microsoft Outlook versions | Logging indicated that some emails were generating the error "pyextractlatestreplyfromhtml is resulting in java.lang.IllegalArgumentException: Object must not be null." This occurred when using an older version of Microsoft Outlook, and has been resolved by adding a check before removing the JSoup doc object. | Conversational Channels |
INC-200237 | 693179 | Added API for Pega Call Team websocket reconnect | When a call came in, the operator was not able to pick it up due to the popup only containing a reconnect section. This has been resolved by adding the disconnectAndReconnect API which will be used by Pega Call Team if the websocket reconnect limit exceeds 5. | Conversational Channels |
INC-203463 | 694163 | Added deferred loading for email cases | When there were a significant number of email interactions on an email case, delays were seen when loading the case in the UI. Investigation traced this to a high number of database calls along with the BLOBs also being open. To improve performance, the new rule pyDeferLoadEmails has been added which toggles the UI and loads emails faster. In addition, the button label has been modified to read "View all emails" in place of "Show all" while defer load is enabled. | Conversational Channels |
Data Integration
8.7.1 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-184212 | 677287 | Updated AgentName handling for QueueItemID | A report was showing as scheduled but no mail was received when it was supposed to run. Investigation showed this was due to the reports being corrupted, leading to the flow skipping the necessary Queue-For-Agent method. While there was a workaround of doing a "Save As" to create a new version of the report, this has been addressed by setting the agentName before saving to the database to handle missing agentName cases and ensure pyAgentname is always populated when pzQueueItemID is not empty. | Data Integration |
INC-172836 | 655462 | Added check for attachment upload for filename ending in $ | Attempting to upload a file to external web storage was failing if the filename's last character was $. This was traced to the system attempting to decode the name, and has been resolved by adding a check to see if there are at least two characters after $. If there are none, the decode step will be skipped. | Data Integration |
INC-198029 | 695562 | Check added for empty SendAs in MSGraph | When using MSGraph, logging showed the errors "Could not parse the address into InternetAddress Objects, falling back to parse with the regex" and "Unable to use the configured "Send As" email address from Records. Will fall back to 'first' recipient of incoming email." This has been resolved by adding a check for a blank SendAs field. | Data Integration |
INC-199320 | 696941 | Corrected duplicate record error message | When inserting a duplicate record in a grid, the error was shown at the harness level instead of the record level. This was traced to the error messages being removed from the step page, and has been resolved by updating the system so messages will not be cleared if the same value is being set. | Data Integration |
INC-199341 | 694712 | Content-type values made consistent | The content-type for service APIs was returned as 'text' for 401 errors when using a custom authentication type instead of the parent-type/child-type format such as text/plain, text/html, application/json, etc. This has been corrected. | Data Integration |
INC-199665 | 692753 | Logic added to handle upper/lower case for Content-Type header value | After Integrating REST Service with a HTTP/2 header, pzExecuteRestService was throwing a null pointer exception. This was traced to headers not being treated in a case-insensitive manner: the header contained a lower-case 'content-type' while the system was looking for 'Content-Type' (upper-case). To resolve this, logic has been added to check for both 'content-type' and 'Content-Type' keys. | Data Integration |
INC-199679 | 688738 | Handling added to email encoding for ISO-8859-8-i charset | After update, cases were intermittently not getting created from inbound email and the process became stuck. This has been resolved by adding handling to replace the ISO-8859-8-i charset with ISO-8859-8 for encoding the mail content. | Data Integration |
INC-201502 | 696085 | Parser updated for value list | When attempting to process a JSON list using a File Data set that had a list attribute, the clipboard looked correct while performing the browse operation on the data set, but executing the data flow that referenced this data set resulted in the error "Expecting PageList and got String List". If this was changed to a text property, the browse operation on Data set failed but the data flow worked without any issues. and the values were copied into the text properties.This has been resolved by changing the parser for value list. | Data Integration |
INC-201648 | 696964 | Removed services check and added warnings for simulations | Attempting to run an audience simulation resulted in the error "Running simulations is not possible, because the required services are not available. Contact your system administrator to enable the data flow and real-time data grid services". Investigation showed the @DsmServices.pxHasFunctionalNodes("DataFlow","Batch") function call contained in the 'when' rule pyUnavailableDecisionServices was returning false even if all the nodes were in the cluster and all the DSM Services were in NORMAL status. To resolve this, the services check has been disabled and the simulation run will show a warning or fail if a data flow run is queued for more than 30 secs or if there is an issue with querying the underlying metrics storage. | Data Integration |
INC-201991 | 692860 | Explicit connectivity close added to Queue Manager error handling | Performing a connectivity test on the MQ Connector page with an invalid queue name aborts the test connectivity but the MQ connection was not closing. This can become an issue when using IBM MQaaS (MQ as a service) where only a limited number of connections are allowed. This has been resolved by adding an explicit Queue Manager close in the error handling block. | Data Integration |
INC-202510 | 695889 | SOAP connector supports OAuth2 profile | Support has been added for using an OAuth2 profile as one of the allowed profiles for SOAP connector. | Data Integration |
INC-204897 | 696163 | Log4j file security vulnerability issue addressed | A zero-day vulnerability was identified in the Apache Log4j logging software which could potentially allow malicious actors to take control of organizational networks. Pega has immediately and thoroughly addressed this issue. More information can be found at https://docs.pega.com/security-advisory/security-advisory-apache-log4j-… . |
Data Integration |
Decision Management
8.7.1 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-180246 | 699700 | Support for apostrophe added to keyword tokenization | A keyword containing an apostrophe was not detected properly in Text extraction model. This has been resolved by updating the annotator used in the tokenization. | Decision Management |
INC-193399 INC-203994 |
688115 898853 |
DSS added to handle merges with lower versions of Postgres | After update, executing the batch campaign with volume constraint resulted in the second data flow DF_Wait failing with error message "ERROR: number of columns (1844) exceeds limit (1664)". This was due to the database set’s change (in 8.5) to use the database layer’s merge statement. Prior to that, the logic used "deletes and inserts". Depending on the version of Postsgres, the generated SQL statement for a merge statement is different. The “INSERT … ON CONFLICT … UPDATE” syntax is generated for Postgres 9.5+ AND when there is a PK constraint defined for the DB table. Otherwise, the complex UPSERT statement (old syntax) is generated, as was the case in this issue. This is a known issue in the Postgres server software where it mis-interprets the number of columns involved. i.e., it mistakenly counts the number of columns twice. As a result, the actual maximum columns allowed is only half of the official limit (1664). The same UPSERT statement does not cause the “exceeds limit” exception if there are 832 or fewer columns in the statement. To resolve this, an option has been provided to select between the “original logic” (deletes and inserts) and the “merge statements” logic by way of the DSS “decision/datasets/db/useMergeStatementForUpdates”. Setting “true” will use the merge statement logic, and setting “false” will use deletes and inserts. When the DSS is not defined, the default is "true" and the system will use merge statements in the form preferred by Postgres 9.5+. | Decision Management |
INC-193632 | 679172 | Cassandra driver metrics exposed for performance troubleshooting | By default Cassandra driver metrics are now enabled. Metrics can be disabled by setting the dnode/disable_driver_metrics prconfig parameter. | Decision Management |
INC-193847 | 695974 | DSS added to allow masking of subjectID in alerts | In order to allow customizing whether or not a subjectID is included in alerts, a DSS has been added to conditionally mask the subjectID from being logged. To use this, set the "alerts/maskIHsubjectID" DSS in the Pega-DecisionEngine ruleset to true to hide the pySubjectID. | Decision Management |
INC-194810 INC-201610 |
691884 691878 |
Removed services check and added warnings for simulations | Attempting to run an audience simulation resulted in the error "Running simulations is not possible, because the required services are not available. Contact your system administrator to enable the data flow and real-time data grid services". Investigation showed the @DsmServices.pxHasFunctionalNodes("DataFlow","Batch") function call contained in the 'when' rule pyUnavailableDecisionServices was returning false even if all the nodes were in the cluster and all the DSM Services were in NORMAL status. To resolve this, the services check has been disabled and the simulation run will show a warning or fail if a data flow run is queued for more than 30 secs or if there is an issue with querying the underlying metrics storage. | Decision Management |
INC-195197 | 692147 | Warnings added to prevent empty StrategyResult page | When a Proposition Filter rule refers to a When rule that has "StrategyResult" declared in Pages & Classes but no "Param.StrategyResult", a design time warning will appear to indicate that this might cause discrepancy in globally optimized strategy (GOS) execution. * The warning message for a When rule with StrategyResult in Pages & Classes but not in Parameters: When rule [WhenClass: WhenName] does not have proper mapping for [StrategyResult] page. This would result in an empty [StrategyResult] page being passed into the When rule during execution. Please go to [WhenClass: WhenName] and add [StrategyResult] in the Parameters list and configure the mapping properly on Proposition Filter rule. * The warning message when StrategyResult is not in Pages & Classes but in Parameters list: When rule [WhenClass: WhenName] declares [StrategyResult] in Parameters tab, but isn't used in the conditions. This would affect performance during execution. Please remove the parameter from When rule [WhenClass: WhenName], and remove the Parameter mapping from the corresponding Proposition Filter criteria. |
Decision Management |
INC-195346 | 682714 | Added parser retraining for intermittent email issue | An email listener was intermittently failing to pull the data from the email subject into the required property in the email triage case. Investigation showed that the pxEmailParser was excluding the first line in the incoming text for some cases, and has been resolved by adding code to retrain the email parser. | Decision Management |
INC-200218 | 692431 | Added handling for calling truncate with external Cassandra | A JMX exception was generated when using external Cassandra. This was traced to the combination of calling truncate and using external Cassandra for DDS, and has been resolved by adding a 'do not execute' consistency check during a truncate operation when using external Cassandra. | Decision Management |
INC-201142 INC-201340 |
693113 693021 |
Scenario Planner performance improvements | Scenario planner runs were causing out of memory errors on the dataflow nodes. To resolve this, updates have been made to improve performance. Only relevant information will be kept for decision funnel simulations out of SR pages, the memory footprint of data structures used to aggregate and rollup counts has been reduced, and temporary objects will be released as soon as they are not needed anymore. | Decision Management |
INC-201216 | 692415 | ADM group chart level working in Prediction Studio | Charts were not visible for Group level ADM in the Prediction Studio Models tab. This was traced to an unneeded filter for this version of Pega and has been resolved by withdrawing the filter. | Decision Management |
INC-202937 | 695941 | RealTimeProcessingDelay made configurable | When using interaction history summaries in Engagement Policy strategies, the check whether a particular action was sent previously was not returning any results for the customers that did have an action "Sent". These records were present in the IH Fact table but the IH Summary tables were missing these records. This has been resolved by making the realTimeProcessingDelay configurable for reading from IH in a real-time flow configurable (done as part of IH pre-aggregation). This may be useful if there can be a difference in time between machines inserting into IH which causes pre-aggregation to miss processing records. The relevant DSS is "interactionHistory/realTimeProcessingDelay", and the default is 5 seconds. This must be set before starting pre-aggregation. This is the difference between the end position and the log time. RuleSet: Pega-DecisionEngine DSS Name: interactionHistory/realTimeProcessingDelay Value: <new delay in seconds> |
Decision Management |
INC-205378 | 698513 | Added handling for double quotes on Substrategy shapes | After update, there were compilation issues on calling substrategies from strategies using datapage.pxResults as another page. This was traced to the handling for a parameterized data page with double quotes on Substrategy shapes, and has been resolved. | Decision Management |
INC-206684 | 699365 | Empty string handling added to SSA CompareDates | The CompareDates implementation in SSA has been updated to fallback to the current datetime/date if it encounters empty string arguments. | Decision Management |
INC-208207 | 702800 | #resolvedissues note: GET API will consider case locking mechanism |
After update, performing a GET call on an assignment was unexpectedly locking the case. This was traced to a difference in handling: Pega 8.3 performed an Obj-Open-By-Handle of the workobject without acquiring a lock, while Pega 8.6 calls Assign-.acquireWorkObject which acquires a lock on the work object thereby affecting the other requestors from accessing the case. This has been resolved by enabling ConsiderLockingMode to independently determine the locking mechanism set for the case type. | Decision Management |
Low-Code Application Development
8.7.1 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-173986 | 668935 | Updated survey refresh API for switching radio buttons | After configuring a picklist with multiple options in a survey framework, it was not possible to select a radio button when toggling between radio buttons on the UI. Investigation showed the values of the radio buttons were not published to Clipboard, causing pyAnswer to be blank. After detaching the webwb_pzsurvey_ui_userscript.js the value was posted correctly and the visible WHEN was working as expected. This has been resolved by updating pzsurvey_ui_userscript to add a timeout on the refresh API call when switching between radio button options. | Low-code app development |
INC-177312 | 692110 | Added handling for FieldValue issue during Excel export | After upgrade from Pega 7 to Pega 8, the export to Excel function for business-rules kept and maintained via Decision-Tables created a file that Excel could not open. This was traced to a function call in the Results tab and the Return Actions in the decision table which caused an issue with the generated Excel to be used for editing. To resolve this, any allowed values will have quotation marks removed before the vales are passed to the export. | Low-code app development |
INC-196266 INC-203548 |
694837 694853 |
Performance improvements for CDH | Significant slowness was seen in Customer Decision Hub (CDH) during save-as or check-in/check-out of an offer rule. This has been resolved by passing the current parameter page to the RuleCheckOut activity in pxUpdateRecordInner so that CDH can pass a skipValidate parameter to skip the validation during checkout. | Low-code app development |
INC-198113 | 693353 | Link-Association-Follow updated | The report definition 'pyGetAssociations' was generating the error "data.internal.rd.reference.InvalidReferenceException InvalidReferenceException .pxLinkedRefTo Cannot use an unexposed property as there is no BLOB column for the class: 'Link-Association-Channel'". This has been resolved by updating pzUnfollowReview to handle Link-Association-Follow, which will prevent these log errors. | Low-code app development |
INC-200416 | 699862 | Updated AttachmentPreview control for Account Manager Access Group | When using the Account Manager Access group as the default and only access group on a profile, attempting to render a PDF on the click of a link did not work as expected. The render-on-click worked as expected when logged in as the Author and the application was switched to Account Manager. This has been resolved by registering the activity pzAppStorageOkToAttachFile in the pzAttachmentPreview control. | Low-code app development |
INC-206782 | 701143 | BAC updated for delegated circumstanced decision table rule | An unregistered request error was encountered while launching the DelegatedRulesPage harness when pyBlockUnregisteredRequests >=1. This was traced to a delegated circumstanced decision table rule which caused a request error for the @baseclass.pzLookupCircumList activity, and has been resolved by updating the BAC handling for this activity. | Low-code app development |
INC-207210 | 703702 | Empty check added to OpenRuleAdvanced | A blank screen was displayed when attempting to open a requirement set rule in Dev Studio. This was a missed use case while updating the OpenRuleAdvanced control to handle BAC compatibility, and has been resolved by adding an empty check in addition to the existing null check along with an 'if' condition to check for pyActivity input. | Low-code app development |
Mobile
8.7.1 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-182423 | 691799 | Pull to refresh disabled during case submission | Triggering a refresh (swipe down) on mobile while the spinning loading indicator was shown resulted in the error 'This action is not allowed' instead of being able to view the case. This has been resolved by disabling pull to refresh when there is any background network activity in progress. | Mobile |
INC-183485 | 692518 | ClientCache performance optimization | In order to improve performance for the mobile app, updates have been made to optimize the ClientCache list interations. | Mobile |
INC-194932 | 686277 | Handling updated for offlineWorkIDs map | Intermittent failures were seen when deleting attachments on Mobile. These were traced to pega.ui.DCUtils being undefined, and has been resolved by populating the offlineWorkIDs map for attachment-related actions. | Mobile |
INC-195519 | 698497 | Support added for using CFW when Pega server is unavailable | Data synchronization changes have been added to allow Client for Windows to work in offline mode without an AppCache manifest. | Mobile |
INC-199354 | 696718 | Corrected pulse comments rendering in mobile | When using mobile, clicking the number on the Pulse comments section was not responding and conversations inside a comment were not visible. This has been resolved by updating pypega.social.js and pypega.social.css so the section renders correctly. | Mobile |
INC-199891 | 695892 | Updated handling for parametrized data pages on offline mobile app | After update, the UI in the offline mobile app was showing .pyStandardValue and not the LookUpValue. This was caused by parametrized data pages not getting populated when used on UI components so the custom populator was not getting called, and has been corrected. | Mobile |
INC-206049 | 703469 | Resolved activity registration error for Scan Barcode/QR Code | Attempting to add the action 'Scan Barcode/QR Code' to a button generated the warning "Unauthorized request detected : Unregistered request encountered with params pyActivity:pzRunActionWrapper pySubAction:runAct pzActivity:pzScanCode". Investigation showed this was due to the pzScanCode activity referred to in pzpega_control_actions_scanCode.js file not being registered, and has been resolved by adding code to register the necessary events for both button and navigation. | Mobile |
Project Delivery
8.7.1 Resolved Issues for Project Delivery
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-174409 | 661658 | Article on "Specifying the content of a product rule" updated | The documentation for the 'Class instances to include' section of the Rule-Admin-Product form has been updated to more clearly specify that the report definition used as a filter requires the inclusion of the pzInsKey property in the data returned from the report definition. This can be accomplished by either of the following: * Include pzInsKey 'Edit columns' (Query Tab) section of the report definition. --or-- * On the 'Data Access' tab, 'Row key settings' section, check the 'Get row key' checkbox (it will list the row keys for the class -- pzInsKey should be among them). |
Project Delivery |
INC-195216 | 686911 | MSGraph documentation updated | The documentation for using MSGraph has been updated to reflect that standard headers cannot be overridden. | Project Delivery |
Reporting
8.7.1 Resolved Issues for Cloud Services
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-182245 | 664456 | Updated dedicated index reindexing check | Attempts to reindex were not successful after a dedicated index failed with the error "Not enough active shards for index work to meet write consistency of quorum". This has been resolved by updating the system to validate the cluster state for the dedicated index name instead of the work index name when performing a dedicated index Reindex. | Reporting |
INC-195511 | 693219 | Check added for child join class when using ABAC | When a join was applied on a report definition and the same join class had a child class to which ABAC was applied (for some property eg., isABC), an "invalidreference" exception (isABC) was generated. This was traced to the system taking into account the child class of the join class while running the report, and has been resolved by adding a check to handle this scenario. | Reporting |
INC-198273 | 688355 | DSS added to control BIX extraction time properties | After upgrade from Pega 7.3 to Pega 8, downstream systems were failing to process the BIX extract manifest summary file. This was due to three columns which were introduced in Pega 7.3.1 to handle any failures during BIX incremental extraction: pxStartCommitDateTime, pxEndCommitDateTime, and pxLastSuccessFulCommitDateTime. To support better backwards compatibility, this fix introduces the below DSS to allow disabling of the new columns. BIX/disableSaveTimePropertiesInCSV BIX/disableSaveTimePropertiesInXML BIX/disableSaveTimePropertiesInDB |
Reporting |
INC-200973 | 699265 | Added handling for client-side validation errors in sub-reports | When a sub-report was trying to access externally mapped fields or an optimized page property by JOIN of another class, the main report was unable to validate the Page property. This has been resolved by updating the activity code to handle client-side validation errors on main reports attempting to access the externally-mapped Page properties of another class in the sub-report. | Reporting |
INC-204672 INC-209688 |
699355 702729 |
Handling updated for database function GREATEST | When deploying Pega on Red Hat OpenShift, attempting to index data via the SRS resulted in the landing page loading and RULES indexing appears to start, but when it finally completed it showed no records. While the index operation was running log entries showed the SRS service was unavailable and that the isolation context did not exist. Investigation showed there was an exception being generated indicating "com.microsoft.sqlserver.jdbc.SQLServerException: 'greatest' is not a recognized built-in function name". Because the function GREATEST is not supported in Microsoft SQL Server 2019, an update has been made to change GREATEST into an expression like "IIF(COALESCE(column_name, 0)>value, COALESCE(column_name, 0), value)" for compatibility. | Reporting |
Security
8.7.1 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-164432 | 696293 | Global obfuscation key initialized on first requestor call | When using URLEncryption = true and SubmitObfuscatedURL = optional, attempting to export an Excel spreadsheet resulted in the error "Invalid character found in the request target". This was traced to the variable pega.d.globalobfuscateKey having a null value which was then converted to a byte array and decoded, generating improper characters in the URL. After a browser refresh, the correct value was set in pega.d.globalobfuscateKey and the export worked as expected. To resolve this, an update has been made to initialize the key on the very first call in PRRequestorImpl when the global obfuscation key is determined to be NULL instead of initializing the global obfuscation key by on-demand basis from HTTPAPI. | Security |
INC-173098 | 694090 | Signature map updated for fetching keys | MFA login worked with SAML 2.0 when the certificate was disabled but failed when the certificate was enabled in Auth Service. The error " "Signature algorithm is null" appeared. This has been resolved by updating the signature map to ignore case sensitivity while fetching keys. | Security |
INC-182530 | 695760 | SAML datapages cleared before new authentication | If a previous user had not logged out or timed out when using SAML authentication, a second person using the same device/browser would end up in the first user's session after performing their own authentication. Investigation showed the second login D_SAMLAssertionDataPage was not getting refreshed with the current user login details; this has been resolved by explicitly deleting the SAML Datapages before processing a new login if the session has not timed out. | Security |
INC-196839 | 695281 | Removed duplicate clipboard page creation | An out of memory exception occurred due to the pyInstanceInfoForUpdate clipboard page having 6.5M Embed-InstanceInfo entries. This was traced to the ClientUpdateRequestHandler.getInstanceInfoPage method continuously appending to the ClipboardProperty instanceInfoPage. This has been resolved by removing the extra creation of instance pages within the loop. | Security |
INC-200303 | 692845 | OIDC authentication service token reload updated | The exception “PRSecurityException: Invalid State Parameter received" was generated along with "Unable to execute OIDC flow : Caught exception while parsing the id token”. The issue was identified in the Keystore cache refresh strategy for the 'reload once per interaction' option. While the Refresh interval was one minute for reload once per interaction, if there was a login request/keystore request in that one minute then the refresh interval was pushed to one minute again from that timestamp. The system was also maintaining the cache refresh interval as one minute. That meant if there were continuous requests, then the refresh interval was pushed to one minute for each request. As a result, the Refresh interval was repeatedly extended until the exception occurred. To resolve this, the Refresh token will happen if there are no requests for a period of one minute, and the cache refresh interval for "Reload once per iteration" has been removed completely. | Security |
INC-200877 | 693823 | Functions supported in Authorization Service | An enhancement has been added to support operator page context evaluation with a Rule-Utility-Function during property mapping evaluation. | Security |
INC-209298 | 704142 | Added security tokens to Worklist assignment error wizard | After enabling CSRF, moving to 'Configure -> Case Management -> Tools -> Work Admin -> Worklist assignment errors' and then selecting a record and clicking on 'Delete' resulted in a '403 Forbidden' error. This has been resolved by adding CSRF and fingerprint tokens as part of the form data. | Security |
System Administration
8.7.1 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-184798 | 703269 | PRconfig added for JVM user/password | The setting Dcom.sun.management.jmxremote.local.only=true has been added for use when JMX authentication is enabled by providing jmxuser/password through prconfig. | System Administration |
INC-194348 | 703374 | Resolved multiple copies of Pega0050 alerts | The PDC alert Pega0050 was seen multiple times for the standard pxgetoperatordetails activity, step 6.This has been fixed by removing the pagecopy and updating the data page properties. | System Administration |
INC-195580 | 684492 | Delay Factor updated to allow values < 1.0 | After modifying the "Delay factor" parameter on a queue processor rule and and clicking the "Save" button, refreshing the page caused the value of the "Delay factor" parameter to change. This has been resolved by updating the delay calculation strategy to support factors < 1.0. | System Administration |
INC-196478 | 683130 | CORS policy updated for GET streams | CORS (Access-Control-Allow-Origin) support has been added to handle Stream calls during GET requests. | System Administration |
User Experience
8.7.1 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-153631 | 613851 | Table selector updated to handle complex autocomplete dropdowns | Whenever an autocomplete and a table were in different sections, only the first 40 results were visible in the dropdown and the other spaces were shown as blank. The issue did not occur if the table and autocomplete were in same section. This was traced to a specific configuration where Section A had an autocomplete inside the dropdown list and autocomplete was enabled to show the results in a table (presentation tab) and Section B, which contained a grid, was included in Section A in the same autocomplete dropdown list. This has been resolved by updating the table selector in ui_grid so it uses the correct dom elements. | User Experience |
INC-172944 | 662829 | Skin rule circumstancing article added | An article on skin circumstancing best practices has been added to https://collaborate.pega.com to aid in working with this functionality. | User Experience |
INC-176462 | 657411 | Dashboard widget drilldown section adjusts dynamically | While trying to expand the drilldown columns, text was overlapping due to the grid not adjusting the large size of data dynamically. This was traced to an unnecessary CSS rule being applied to set max-height which broke the styling. This has been resolved by removing the height limitation on detail cells. | User Experience |
INC-178831 INC-205566 |
697057 | Ensured correct context for multi-select | When using multi-select controls, there was an intermittent issue with selecting values using a mouse click. Using the tab key worked as expected. This was traced to the focus being event triggered multiple times so pega.ctx.dom returned undefined values in the second call.This has been resolved by focusing the target element before creation of capsule to ensure the context remains the same. | User Experience |
INC-182287 | 670743 | Decimal places showing correctly after update | After selecting Decimal places in the Property Panel in the section for a particular property, the decimal places were not added on tab-out at runtime. Decimal places were correctly applied if no property was specified. Investigation showed that an explicit post value call was initiated to apply the read-only formatting, but that call was suppressed by other conditions related to updating the Pega version. To resolve this, an unneeded data-auto-formatting conditional check has been removed. | User Experience |
INC-182803 | 679724 | SearchKeyword assed to HandleInput allow list | After creating a section and placing a template grid with a button to refresh the section on click, clicking the button generated a SECU0001 alert. This was traced to gridMetadata_(uniqueID).pySearchKeyword not being registered when the property is part of a form data post request, and this has been resolved by adding pySearchKeyword to the allow list in HandleInput.java. | User Experience |
INC-182874 | 675311 | Update Language Pack for correct direct web access link localization | When a direct web access (DWA) link was generated for an external user to perform an action on an external assignment, the shared link was corrupted when used with localization on the receiving system. This was due to the JSP fragment in the correspondence not being properly translated during localization. To resolve this, please access the most recent Language Pack available from https://community.pega.com/marketplace/language-packs/pega-platform | User Experience |
INC-183485 | 680133 | Performance improvements for mobile app refresh | After update, performance issues were seen on the mobile app with processes that required a refresh. This has been addressed by updating the process for selecting the DOM element to improve the performance. | User Experience |
INC-183672 | 701869 | Corrected vertical scroll bar for iPad Mashup page | After update, the vertical scroll bar shown on the Web Mashup page in Apple Safari on iPad continued to increase and showed excessive blank space. This was caused by the iframes,section height being considered as the iframe height, and has been resolved by setting the section height as 'auto' in case of mashups. | User Experience |
INC-186081 | 675206 | Report filter popup displays correctly | The filter popup was not displayed on the report column for which the filter was intended. This has been resolved by updating the popover js to fix the overlay issue. | User Experience |
INC-187617 INC-189748 |
692543 694737 |
Added API for Pega Call Team websocket reconnect | When a call came in, the operator was not able to pick it up due to the popup only containing a reconnect section. This has been resolved by adding the disconnectAndReconnect API which will be used by Pega Call Team if the websocket reconnect limit exceeds 5. | User Experience |
INC-188029 | 691097 | Rich Text Editor will pause until instance is ready for interaction | Outbound email was intermittently appearing blank creating replies using pyReply section. This was traced to the Rich Text Editor not loading completely before the interaction, and has been resolved by adding a brief pause that will temporarily disable the Rich Text Editor until the instance is ready. | User Experience |
INC-188212 | 674104 | Localization added for FilterUILabel | Filter values were not rendered in French for French users for Case Status in all the grids. This has been resolved by updating the localization values in the pzFilterUiLabel control. | User Experience |
INC-189748 | 701458 | Websocket disconnect code logged | An update has been added which will log the websocket disconnect code for additional diagnostic information. | User Experience |
INC-190609 | 681324 | Added null check for routeToParent in Mashup | After update, mashup was loading in a different context. This has been resolved by adding a null check in routeToParent in webwb_pega_desktop_support. | User Experience |
INC-190708 | 695488 | Save works on Ajax container without Dynamic container | After opening a work object and making changes to a required field, pressing the save button did not give any visual indication that the save was performed. Hitting cancel generated a dirty pop up saying changes will be discarded, indicating no save was done. When an Ajax container is configured without a Dynamic Container, all the content is rendered inside a fieldset tag instead of a form tag. While performing the save, the API was looking for the form element in the document and could not find any, and the save failed. This has been resolved by updating the submitWhenFail() API to handle both fieldset and form elements in the dom. | User Experience |
INC-191160 | 685378 | Empty caption value not shown in dropdown list | An update has been made to template_dropdown to restrict an empty value from being added to the list. | User Experience |
INC-191785 | 680930 | Edit Validate Rule works after mobile section collapse | It was possible to collapse a section of the UI on the mobile app and then proceed to the next page without entering valid data. This has been resolved by updating the validation condition to handle the mobile sections edit validate rule correctly. | User Experience |
INC-192813 | 684735 | Corrected unexpected page refresh | When a value was changed in a section where the source of the section was defined as a property, the page refreshed without any announcement and focus was disrupted. Investigation showed this happened when using paragraph control where an anchor tag was used without any Name attribute. An update has been made to explicitly set the gFocusElement property after the processAdditionalFields activity to resolve this issue. Because the Name attribute is needed to query the particular element from the DOM to focus back, there were also intermittent issues when using the Microsoft Edge browser with Windows OS even after adding Name in the paragraph control link. A setTimeout has been added before focusing the element to resolve this. | User Experience |
INC-193047 | 697578 | Added handling for nested clipboard pages | On save of sections that have items (cells) nested more than one layer deep and have either "Show menu" or "Run data transform" actions, silent errors were found in the tracer indicating "Attempting to access a rule with a bad defined-on class: Trying to open rule ... of class "Rule-Navigation", but no defined-on class (pyClassName) was specified". This was due to the pzActionShowMenu Rule-Utility-Function and pzActionRunDataTransform Rule-Utility-Function assuming the clipboard page structure was only one layer deep, and has been resolved by using findRulePageFromCurrentPage from SectionUtils.java | User Experience |
INC-194239 | 685735 | JAWS reads characters limits in grid text area | A text area in a grid with a character limit was not reading the maximum characters and remaining characters when using JAWS. This has been resolved by adding the necessary aria attributes to the non-template text area control. | User Experience |
INC-194415 | 692824 | Visibility improvements for dirty popup | While working on an assignment, making a change and then clicking on the left navigation (Home, Dashboard) did not show the dirty pop up as expected, and the change was lost. The dirty pop up did appear on the Cancel button and Actions within the case. This has been resolved by improving the context switching for visibility of the dirty pop up. | User Experience |
INC-195321 | 684971 | Check added for readonly header control | After configuring an optimized grid and adding a checkbox control in the header with editable options, when the control in corresponding column was configured as Auto, the checkbox in the header was rendered as read-only. When the control in the corresponding column was configured as "Read-only always" or displayText control was used, the checkbox was rendered as editable control. This was traced to a missing check for pyEditOptions = "Read-only", and has ben resolved. | User Experience |
INC-195581 | 691842 | Control menu code minified | Minification has been turned on for control menus. | User Experience |
INC-196002 | 684939 | Handling added for undefined GadgetOffsetState in Mashup modal windows | Following an update, the system was hanging after launching Mashup and submitting from modal window. Investigation showed that in this mashup scenario, when the modal dialog was rendered on click of a button the globally-defined pega.Mashup.GadgetOffsetState object was passed as undefined to the pega.u.d.registerModalListener API due to pega.Mashup getting reset elsewhere in the process. To resolve this, handling has been added for a modal dialog in mashup scenarios when pega.Mashup.GadgetOffsetState is undefined. | User Experience |
INC-197358 | 695308 | Resolved finish assignment screen freeze | In some assignments of several flows, when the processing was done (finish assignment) the screen only displayed the loading logo. The only way to proceed was by refreshing the browser. The browser console showed the error "Uncaught TypeError: Cannot read properties of null (reading 'undefined') at setTargetValuesSuccess (expression_calculation_1480665478.js!!.js:1) at k". The error did not occur when using Live UI privileges. This has been resolved by updating the expression calculation. | User Experience |
INC-197410 | 690216 | Handling added for invalid numeric range | When filtering the range in number column with value as “1000000” , the validation message appeared as "1000000 : This results in an invalid numeric range". This has been resolved with an update to use Data-value to get the non-formatted value for decimal. | User Experience |
INC-197481 | 695584 | Accessibility improved for blank field errors in non-auto generated controls | When using non-auto generated controls, leaving an edit field blank caused an error message informing that the value cannot be blank. An accessibility issue was seen where this error text was not part of the field label or description, preventing it from being announced by screen readers (NVDA or JAWS) when focus is on the field. This has been corrected by adding aria-describedby in non-template textarea. | User Experience |
INC-198133 | 693110 | Data-test-id generated for table header | After adding a table to the layout and putting labels on the table headers, the data-test-ids were not displayed in the generated DOM. This was traced to an issue where the test ID was not generated for the table headers, and has been resolved by updating GenerateCellContent to add data-test-id in markup. | User Experience |
INC-199496 | 690005 | Corrected quotation mark handling for multi select | After defining a source for multi select where the selectable list contained double quoted text, for example: Testing for "Double Quotes", the double quotes were converted to single quotes in the selection list. This caused the value Testing for "Double Quotes" to be displayed as Testing for 'Double Quotes'. This has been corrected. | User Experience |
INC-199558 | 693302 | Updated calling activities from refresh to use invokeActivity | The Refresh DX API was inconsistently throwing an index out of bound exception when using a checkbox which invokeed an activity on check to save and commit the case. This has been addressed by updating calling activities from refresh to use invokeActivity, and a try/catch has been added to capture exceptions and add a page message if the activity is not found or has an error. | User Experience |
INC-199625 | 690720 | Handling added for dropdown with duplicate option values | When load behavior used "After screen renders" and dropdown options had duplicate values, a console error was observed and the UI became frozen. This has been resolved by adding handling for scenarios where the dropdown has duplicate option values. | User Experience |
INC-199817 | 690108 | Corrected decimal handling in integer control | An integer property was accepting decimal values on screen and not throwing default integer validation errors. In addition, the place holders shown on the integer controls on the screen were decimal values. This has been resolved by restricting the decimal values for the integer control with integer property, modifying the code for restricting decimal values for integer field, and updating the code for showing the integer placeholder for integer field. | User Experience |
INC-199953 | 695418 | Updated Document-StateTracker reset | An unexpected performance issue was seen after refreshing a case. This was traced to the Document-StateTracker taking longer than expected to reset from "busy" to "none", often reaching the 70 second max timeout setting, and has been resolved by calling setNavigationDone so that the document-statetracker dom element updates back to "none" immediately. | User Experience |
INC-201372 | 694014 | Accessibility improvements for Cosmos Case Life Cycle | Keyboard navigation has been updated to improve accessibility for the case life cycle component. For the "Show stages with expandable steps" configuration, code has been added to hide the steps container when tabbing through the stages. For the "Show stages with steps as overlay" configuration, the "Use form navigation (by tab)" option has been enabled for every repeating dynamic layer inside the steps overlay. | User Experience |
INC-202218 | 692876 | Input from Microsoft Windows keyboard numpad enabled | After entering a currency amount using the right side number pad keys on a Microsoft Windows keyboard, a mandatory field validation was being thrown on what appeared to be a correct input. This was due to an if condition in the keyup function that caused entries from the right side number keys to not be considered as input, and has been resolved by removing the condition from the pzpega_control_textinput file. | User Experience |
INC-205566 | 697057 | Ensured correct context for multi-select | When using multi-select controls, there was an intermittent issue with selecting values using a mouse click. Using the tab key worked as expected. This was traced to the focus being event triggered multiple times so pega.ctx.dom returned undefined values in the second call.This has been resolved by focusing the target element before creation of capsule to ensure the context remains the same. | User Experience |
INC-206577 | 704422 | ParentKey handling updated for for CS portal | After creating an interaction in the CPM portal and refreshing the CPMPerformIncludes section (top-level section in the Perform harness) on button click, the focus was set to the first property and a large number of "Uncaught harness context does not exist" error appeared on the console and the screen became frozen. Analysis showed that after the refresh the parentKey property was empty, causing the flow to be executed in the wrong context. This has been resolved by adding a condition to set the parentKey for CS portal 'Add document' scenarios. | User Experience |
INC-206706 INC-208908 |
699986 702171 |
Placeholder value display made customizable | The default place holder value (123,456.78) was displayed for the integer controls even when the placeholder was set to None. This has been resolved by modifying the code to allow customization of the place holder value display. If the "Display value using read-only formatting" option present under editable format is selected and the desire is to show default placeholder for numeric fields, "showDefaultPlaceholderForNumber" with owning ruleset as "Pega-UIEngine" must be created and set to true. If "Display value using read-only formatting" is selected and the default placeholder should not be shown in numeric fields, the DSS should be set to false. | User Experience |
INC-207631 | 701551 | Decision Table property chooser made accessible | The content of the pop-up "Decision Table property chooser" was not accessible by keyboard navigation. This has been resolved by adding the necessary code for focus inside the iframe. | User Experience |
INC-207632 | 703994 | DirtyCheck handling updated for Perform harness | In some view scenarios, DirtyCheck was displayed but the "OK/Discard/Save" button unexpectedly closed the case view and returned back to the home page. Investigation showed the DirtyCheck harness was not returning to the appropriate page after the modal screen disappeared, and this has been resolved by changing the "Discard/Save" buttons to an "Ok" button for scenarios where a case is opened in a Perform harness. | User Experience |