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.)
Low-code Application Development
Case Management
8.2.8 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-131151 | 572831 | Resolved empty body for Reject email | When using the pzEmailActions Section in Correspondence for Approve/ Reject functionality via email, there was no reply body in the email for Reject Option. This was due to the flow action for the Reject email being different than that of the Approve email, and has been resolved. | Case Management |
INC-131385 | 573453 | Swagger APIs updated | The Swagger File APIs have been updated to ensure swagger document files generated meet specifications for editor.swagger.io . | Case Management |
INC-134370 | 577633 | Expanded Grid locking updated | When using pyDashboadMyWorkList to show the cases of an operator with Master Detail in Read Only mode, the system was acquiring a lock on the expanded work object. To resolve this, the following changes have been made: - In activity Assign-pyAcquireObject, If the parameter bRODetails is true, do not call acquireWorkObject and do obj-open-by-Handle to get assignment and work page in pyAcquireObject activity. - In activity acquireWorkObject, the parameter skipWorkLock has been removed as acquireWorkObject should always acquire the lock. |
Case Management |
INC-134557 | 585646 | Dropdown populated with parametrized data page source | When configuring dropdowns or autocomplete controls with parametrized data page as a source in a section, the parameter configuration values and parameter names were not sent in the JSON created by the DX API view. This has been resolved by adding parameter support for DataPages in Dropdown, Autocomplete, and Radio buttons. | Case Management |
INC-134709 SR-D98224 |
579436 580592 |
Updated endpoint Cross-site scripting protection | Cross-site scripting security has been updated for Endpoints in Display activities. | Case Management |
INC-135161 | 580934 | Upload with "Select File" works in Microsoft Internet Explorer | When using Microsoft Internet Explorer, uploading a document was failing on the first try when using the "Select File" button. The second attempt worked as expected. This was an intended consequence of work done to enable attaching the same file after deleting it, and was related to Microsoft Internet Explorer calling an "onChange" which caused the "pzAttachFileDDFileList" section which is used to display the attachments uploaded to not be properly refreshed. This has been resolved by updating the pzMultiFilePath control handling of the success and failure of the upload function call. | Case Management |
INC-136383 | 584518 | Delegated SLA rule allows "Notify party" | When modifying an SLA that had been delegated to an access group, setting the perform action to "Notify Party" did not present an option to select a user to notify. Attempting to submit the change resulted in the error "pzGoalCorrName—Value cannot be blank" and the rule was not saved. This was a missed use case with the delegation of SLA when notify party was used. and has been resolved. | Case Management |
INC-138348 | 599771 | Added parameter skipPropertyEvaluation to handle CSS in email HTML | While sending an email with custom HTML appended to the email body, a "+" sign in the body was causing the correspondence generation to fail. Investigation showed that if there were CSS classes with braces in the message body, the braces were being removed and replaced via "+" symbol in step 21 of CorrCreate activity. To resolve this, a new Boolean parameter skipPropertyEvaluation has been added in the CorrCreate activity to handle the decision to either evaluate the logic or not, and the pre-requisite will be to resolve all the property references before calling this activity so custom CSS braces { } will be honored when the message body is sent. | Case Management |
INC-141751 | 596137 | DragAndDrop attaching large file properly disables 'X' | When a large file was attached using the DragAndDrop feature, the 'X' icon/button was not disabled. This made it possible to click 'X' and perform other actions during the upload, which caused the screen to freeze and required a browser refresh to continue the work. This was traced to incomplete work done on large file uploads, and has been resolved by ensuring the busy Indicator shown will be applied to the complete screen to avoid any other actions being performed. | Case Management |
INC-142667 | 595125 | Updated file attachment name limit error handling | When attaching a file with a name more than 59 characters long, a warning was displayed stating the character limit of 59 but submitting the file did not throw an error. This was traced to error messages not being set on the primary page where the flow action was launched, allowing the modal to be submitted even though it has errors. This has been corrected. | Case Management |
INC-143861 | 597558 | pzIsScalar 'when' rule updated for Value list and Value group | When using the GET/Cases/{ID} API to fetch details about a case, an intermittent HTTP 500 error appeared. This was traced to the 'when' condition pzIsScalar being returned as true for the ValueList property types and trying to set the value on the summaryData embedded page. This has been resolved by updating the pzIsScalar 'when' rule to better handle Value list and Value group. | Case Management |
INC-144358 | 601013 | Localization added for "Automatically" and "Manually" field values | The Dutch translation of "Child case [Case_type] [Case_id] has been [Instantiation_mode] instantiated" used the hard-coded English expression "manually". This has been resolved by adding the "Automatically" and "Manually" field values to localization. | Case Management |
SR-D72456 | 561116 | Added duplicate page handling for Bulk actions | Trying to resolve cases using Bulk Actions and Bulk Resolve resulted in the exception "Trying to save an invalid page. The cover open count is incorrect; it is -1". This was traced to duplicate pages available on the clipboard with same the insHandle. To resolve this, the pzUpdateAndDeleteAssignments activity has been updated to check for duplicate pages, then pick the right page which is not being served by the findPageByHandle engine API. | Case Management |
SR-D77719 | 569770 | OpenIfStale updated to resolve optimistic locking race condition | A race condition was created in optimistic locking by having two assignments save at overlapping times. This has been resolved by modifying the pzShowConflicts activity to use a version of openIfStale which will consider a workpage as stale even if the difference in pxUpdateDatetime is in milliseconds. | Case Management |
Cloud Services
There were no Resolved Issues for Cloud Services in 8.2.8
Conversational Channels
8.2.8 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-136264 | 582469 | Chatbot text starts scroll at top of answer | In order to present an improved interface for customers interfacing with chatbots, the code has been updated so that the recipient's chat scroll will remain at the top of an answer that would scroll off the screen. | Conversational Channels |
Data Integration
8.2.8 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-120223 | 565748 | Enhancements added to S3 repository implementation | The following changes have been made to avoid redundant/unnecessary S3 SDK calls to look-up metadata for files/folders related to integrated S3 Repository API implementation: - Provided storage/AWSSDK/enableSDKMetrics DASS to enable AWS SDK metrics for S3 repositories system-wide to troubleshoot performance issues - Added timers for Pega platform repository APIs. To see these timers in Pega application log, set log level to WARN for the log category pxIntegration.Repository.S3 and set log level to DEBUG for the logger com.amazonaws.latency - Optimized FileS3Adapter.getMetadata() by avoiding object-metadata lookup for directories and caching rootpath directory metadata for 5 mins - Handled exceptions while uploading file to S3 bucket and convey appropriate error message to RepositoryManager.createFile() API consumer - Refined DEBUG logging and introduced new loggers to emit stacktraces - Enhanced RepositoryManager.initCache() and FileStorageManager.registerStorageClasses() to maintain non-overridable repositories (that are initialized based on DASS/DNode settings on node start-up) and to prohibit overriding the same. |
Data Integration |
INC-120326 INC-133173 |
567449 573440 |
Landing page refresh modified to avoid frequent reloads | Approximately every two weeks, clients were able to login but it was not possible to work as the landing page refreshed constantly until all of the nodes were rebooted and the issue was cleared. Investigation indicated the frequent reloads were related to the cacheing of the operator details, and this has been resolved by updating the datapage reload strategy based on 'when' so frequent reloads will be avoided. | Data Integration |
INC-120600 | 565199 | Handling added to avoid primary key exception in pxExtractDataWithArgs | While running the activity pxExtractDataWithArgs with -c, the "Error while getting the sequenceNumberERROR: duplicate key value violates unique constraint pr_log_pk" occurred if both Parent and Child classes were pointing to different table and extraction started from the child class. In this case, because the Parent and Child classes were pointing to different tables while extracting with the -c option, the class list order caused a primary key constraint violation exception while generating the process sequence number. To resolve this, while adding the classes to the instance map, the order will be changed to parent followed by child classes. | Data Integration |
INC-121359 | 571026 | Resolved sync error for offline workorder | After logging on to the mobile app and then switching to off-line mode before opening a workorder from the worklist and processing the full workorder from end to end in offline mode, reconnecting resulted in the work order being moved to the [email protected] work basket with “Sync-Failed” status. Investigation showed that this was a caused by the DateTime properties being an empty string or null despite being created with a valid string. This was traced to the datetime conversion handling, and has been resolved. | Data Integration |
INC-125122 | 581253 | JMX authentication added | Support has been added for JMX authentication through user and password. | Data Integration |
INC-127229 INC-128800 |
568096 582622 |
HTTPClient updated to match Apache's ConnectionRequestTimeout changes | Connect Rest services were not timing out at the expected 60 second mark, but were instead running for 120 or even 200 seconds. This bug arose as a result of Apache's refactoring of their HTTPClient in version 4.3. This refactoring split ConnectionTimeout into two variables, ConnectionTimeout and ConnectionRequestTimeout, in order to give users more granular control over client timeout behavior. The implementations of HTTPClient have now been amended so that all HTTP Client configurations set ConnectionRequestTimeout appropriately. | Data Integration |
INC-127635 | 570056 | Handling added for BIX count mismatch in manifest and extracted CSV data | A mismatch in the counts in the manifest file when compared to the data extracted in the CSV files was traced to a corrupted or wrong pzinskey in the source database. If the BLOB is corrupted while extracting to output type and manifest type to CSV, an invalidstream exception was generated and resulted in the manifest file and extracted CSV file total instance count mismatch. This has been resolved by adding handling to balance the counts. | Data Integration |
INC-127976 | 566157 | Delete Requestor method updated for use with CMT | JMS MDB Listeners with Container Managed Transaction (CMT) enabled in Websphere 8.5 had global transactions fail. To initialize a JMS-MDB listener, a requestor of type APP is used. Upon the service being fully initialized, the requestor is removed by executing a delete operation followed by a COMMIT. However, in this scenario, the initialization operation is running within a CMT context and a SQLException was raised indicating that the commit was not allowed. To resolve this, the delete requestor method has been refactored to take into account the CMT context so the commit is not executed if the transaction is managed by the container. | Data Integration |
INC-128800 | 592820 | Additional DSS added to handle Apache client-level timeout | In Connector rule, the system timed out a connection after 1 hour even after a connection time timeout was configured to be 30 seconds. Apache's refactoring of their HTTPClient in version 4.3 specifies request timeouts in two ways: on the client-level and on the request-level. Client-level timeouts are enforced prior to and during the handshake, whereas request-level timeouts are enforced after the handshake has been made. Previously, RESTConnector.java and ComponentsHTTPClient.java were configured to only set the user-specified timeout on the request, and not on the client. This caused the client-level timeout to default to "0", or an infinite amount of time. In this reported issue, the remote host closed the connection before the handshake had been completed so the connection remained open for several hours. To resolve this, the DSS "ClientLevelHTTPTimeout" has been added to allow specifying a client-level socket timeout, and ComponentsHTTPClient.java and RESTConnector.java have been amended to assign this value to the client. This DSS is set to 0 by default to preserve backwards compatibility. | Data Integration |
INC-128899 | 578020 | Resolved BIX Extract Summary Status Count mismatch | A mismatch was seen between the summary of the Extract Summary Status Count in the Execution History stats versus the logs, for example the execution history saying 98.74% completed while the log says 100% or 100.45% completed. Investigation showed there was mismatch in the query based on the filter value given in the extract rule and the where clause in the query that resulted in an error in calculating percentage in case of any exception. This has been resolved. | Data Integration |
INC-132963 | 572247 | Class Loader cache values wrapped with WeakReference for improved cleanup | 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. | Data Integration |
INC-134412 | 577541 | Proposition filter maintains eligibility criteria | Eligibility details were occasionally lost when updating Offers. This was traced to a configuration that could cause individual criteria rules to be deleted when rows were added in the middle of the list. To resolve this, validation has been added to each eligibility criteria row to ensure that all expected values are entered for each row, and validation has been added to the logic string when advanced mode is used for offer eligibility criteria. | Data Integration |
INC-135359 | 587036 | CORS header configuration added for Stream tier | An enhancement has been added that allows setting the CORS header (Access-Control-Allow-Origin) to allow *.DOMAIN.com on Stream tier (/stream/view & /stream/click) calls by way of the setting /stream/httpHeaders . | Data Integration |
INC-135823 | 580944 | Transient property passivation handling improved | Frequent "com.pega.pegarules.pub.PRRuntimeException" errors were seen in the production log file while working on the WO. This was traced to corruption in the blob caused by transient properties during passivation. To resolve this, corrections have been made to the handling for the transient property entries in the blob. | Data Integration |
INC-138840 | 599979 | Data-Summary reports default will not use the rule resolved setting | An intermittent issue was seen where a query could become stuck for ~2 hours in the database. This has been resolved by setting the default for Data-Summary reports to not use the rule resolved setting. | Data Integration |
SR-D88499 | 551186 | Check added to minimize Obj-Open-By-Handle error logging | When using a Data Type with the "Automatically generate a unique id " option, calling the Save-DataPage method by using the savable data page of the data type finished correctly but showed Obj-Open-By-Handle errors on PegaRules.log. Investigation showed the exception was thrown when running the save plan from DataPageSaverImpl: while attempting to run the save plan, the system does not know whether a parameter (pyGUID in this case) will be required to run the save plan or not, meaning that it can't detect any possible error in DataPageSaverImpl. The implementation instead makes a call to db.open to check if an instance exists and hence logs are thrown. To resolve the error logging, a check has been added: if the save-to class has an autogen key and the savable data page instance doesn't have the autogen key in it, the system will directly call pxCreateRecord. This will avoid a call to db.open to check if instance exists and hence no failed logs will be thrown. This partial change will work only for classes having an autogen key and in cases where the page is trying to create a record by intentionally not passing the key. | Data Integration |
Decision Management
8.2.8 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-126129 | 569667 | PropertyToColumnMap made more robust | The DF_ProcessEmails dataflow was intermittently failing with a StageException error. This was traced to schema changes being propagated asynchronously by system pulse, which seem to have caused PropertyToColumnMap to cache stale schema. To resolve this, if the property mapping is not found the first time, the system will make a second attempt to get the mapping. Additional logging has also been added for better diagnostics. | Decision Management |
INC-126319 | 566343 | Able to add offer to Change Request after deleting other offer from the landing page | A Change Request creation was failing after deleting an offer rule from the revision management landing page. While deleting the offer rule, the activity pyDeleteRuleFromLP is called and pxDeleteRecord API is used to delete the rule. The pyWorkPage is being modified with class Work-ProjectManagement-CheckIn when the pxDeleteRecord activity is executed, but after this, the Change Request creation failed due to the wrong context of the pyWorkPage. This has been resolved by adding Page-New of pyWorkPage conditionally. | Decision Management |
INC-126801 INC-128342 |
576324 594184 |
Improved cleanup for adm_response_meta_info | The adm_commitlog.adm_response_meta_info column family was growing, leading to gradual increase in CPU utilization on the ADM nodes over time. Investigation showed that the compaction on the adm_response_meta_info table was not being triggered by the ADM service, and the compaction did not remove rows that belonged to models that had been deleted. To resolve this, compaction of the adm_response_meta_info table has been moved from the ADM client nodes to the ADM service nodes, which will correctly trigger the compaction on a predefined schedule. The compaction logic has also been refactored to remove rows that belong to models that have been deleted. | Decision Management |
INC-129212 | 572541 | Strategy restoration repaired | Once a strategy was deleted, it could not be restored afterward and a validation error appeared. This was an issue with some rule components being erroneously marked as required, and has been corrected. | Decision Management |
INC-130761 | 570061 | ADMSnapshot agent defaults to running on a single node | The ADMSnapshot agent runs when ADM is used, and should be run on only one node to prevent duplicate snapshots being created. To ensure preferred behavior, the "Run this agent on only one node at a time" option has been selected by default for ADMSnapshot agent. | Decision Management |
INC-131620 | 577537 | DSS added to control monitoring data mart purge | An enhancement has been added to automatically purge older data in the monitoring data mart at regular intervals so that it doesn't grow large enough to cause a lack of space or cause stress on the database resources. This is handled through the DSS decision/monitoring/daysToKeepData; the default is six months. | Decision Management |
INC-132976 | 580682 | Performance improvements for Test Strategy data flow | In the Test Strategy panel under Single case -> "Settings", selecting the "Data flow" option and choosing CustomerData dataflow was taking an excessive amount of time to run on a system with an extremely large database. To improve performance, two areas have been addressed: 1) the default behavior for record key suggestions in the test panel has been modified to collect only the ID as the additional data is not necessary at that time; 2) a DSS has been added that will opt out of reading and collecting the customer IDs in order to minimize data stored on the clipboard. | Decision Management |
INC-136394 | 582526 | Improved performance for WebTreatments | When there were a very large number of treatments propositions in WebTreatments DDR, one analyst trying to save a Treatment caused another analyst to get a DDR locked error. This was traced to the save process for a Proposition taking an excessive amount of time, and has been resolved by modifying the pzModifyDDRule activity to handle cleanup of the pxResults page on edit/update of a decision data rule. | Decision Management |
INC-137255 | 584906 | Resolved Cassandra query read/write latency | Read/write latency was seen when certain Cassandra queries were triggered by the system. This was traced to an unusual case where a flush was not done for an exceptionally long time period, and has been resolved. | Decision Management |
INC-142084 | 599876 | Support added for expression in strategy scorecards | When invoking REST against a dataflow that had a strategy containing a scorecard that used an expression and the "Include model explanations option" was enabled in the Strategy configuration, the system failed with the error "PropertyValueInvalid .pxMaxScore Cannot cast the value (unknown) to double". This was traced to the Scorecard explanations failing during serialization when an expression was used, and has been corrected. | Decision Management |
INC-143927 | 599491 | Oracle database performance improvements | When the IH Summary was enabled and materialized on an ADM model, updating the ADM model was very slow on large sites. This has been resolved by adding several performance improvements for working with Oracle databases, including Oracle pre/post processing steps. | Decision Management |
SR-D93777 | 565692 | Handling added for Oracle Aggregate IH Summaries | When using using (Non Materialized) IH Summaries to aggregate IH data, the data returned by the IH summary did not include all the expected records. If the same criteria was executed on the database via SQL or by using a strategy to process raw IH data then the results were as expected. This was due to a difference in handling of Oracle vs postgres which causes an order by clause not to be generated in the query: the postgres column name is lower case, while in Oracle it is upper case. This has been resolved by updating the system to get the column name correctly from the propertytocolumn map so IH records are returned in correct order by Browse By Keys operation. | Decision Management |
SR-D95605 | 565486 | Data Flow correctly saved to Database table Dataset | After setting up a dataflow with Report definition as a source and Database table dataset as destination with the option "Insert new records and override existing", a data transform was used to modify a few of the values and write to the same database table. This table was mapped to pegadata schema and didn't have a pzpvstream column. Running the data transform generated an exception stating "DataStoreSaveStatementWithoutStream(PageDatabaseMapperImpl). The error was not seen when the pzpvstream column was added or if pzInskey was also removed along with pzpvstream, or if "only insert new records" was selected. This was traced to pzInsKey and pxInsName being null in the query formed while writing. There are two execution paths for the database dataset save operation, one for internal tables and another one for external tables. For a table with pzInskey but no blob, the system was incorrectly using the external table logic. This has been corrected. | Decision Management |
Low-Code Application Development
8.2.8 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-125803 | 568662 | Cross-site scripting updated for pzTransformAndRun | Additional Cross-site scripting work has been done on the pzTransformAndRun activity. | Low-code app development |
INC-132590 | 590490 | Exported Excel from Decision Table wraps correctly | After upgrade, entries were displayed in a single line on exporting a decision table to Excel despite WrapText cell formatting being set. This was traced to the WrapText cell formatting set under the UpdateGridCells() function being overridden inside an addDataFormat() function callas part of DecisionTableWorkBookConverter.java. This has been resolved by adding the new function "setWorkAreaCellStyles" and calling it after generateWorkbook() function call of super class (AbstractWorkBookConverter.java). | Low-code app development |
INC-135095 | 581846 | Tracer toolbar shows correctly in Microsoft Internet Explorer | After upgrade, the developer toolbar for the tracer pop up was not visible in Internet Explorer. Investigation showed that IE was loading the correct elements, but they were not displaying due to recent updates made to prevent Cross-site scripting vulnerabilities for the tracer. This has been resolved. | Low-code app development |
INC-135349 | 583002 | Unit Test Ruleset rules do not count against Guardrails | Although the documentation indicates that rules in a Unit Testing ruleset should not count against the guardrail score or unit test coverage, when branching a unit test ruleset, the branch did not carry the same unit test flag value as the source ruleset and the rulesets were counted as a result. This has been resolved with an update to ignore testrulesets in guardrail and pegaunit calculations. | Low-code app development |
INC-136571 | 597386 | Filter by Rule Resolution enabled for GetPegaExpressFieldsByType | After creating a Text Input property of type none in a ruleset version [For ex: Myruleset:01-01-01] and then saving this property in a higher ruleset [Myruleset:01-01-02] and changing the type to promptlist, the same property appeared twice in Eligibility Builder [Content -> Offers -> Eligibility Builder]. This has been resolved by enabling the "filter by rule resolution" option in the Rule-Obj-Property.pzGetPegaExpressFieldsByType report definition to make sure rules are fetched from the latest ruleset version only. | Low-code app development |
INC-140272 | 595252 | Report definition performance improvement | Performance issues were seen with the pzOperatorsByWorkGroup report definition. This was traced to the report definition is adding an UPPER function for edit filter properties which caused it to take more time to run when combined with an ignore case check in the filters of the Report Definition. This has been corrected. | Low-code app development |
INC-141179 | 591821 | Repaired test cases for When rules | When running a Pega test case for a When rule, values that were set up before the rule execution on RunRecordPrimaryPage disappeared from this page. This has been resolved by creating the RunRecordPrimaryPage before loading Setup Pages. | Low-code app development |
Mobile
8.2.8 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-127347 | 568022 | GenerateAttachControl updated for iOS 13 compatibility | It was not possible to upload files from an iPad using the Google Chrome browser when the "Attachments" control was used in the application. The attach control flowaction was not opening to select any files, and attempting to directly open the folder to add attachments showed them as grayed out. This was traced to the "Accept" tag not being supported in iOS 13, and has been resolved by removing accept= / from pzGenerateAttachControl . | Mobile |
INC-128731 | 568840 | Able to download/view attachments in Pega Mobile | After uploading a PDF or .png file to a case, attempting to view or download it from Pega mobile was not working. The error "LINK-ATTACHMENT PEGASOCIAL-DOCUMENT Resource interpreted as Document but transferred with MIME type application/octet-stream" appeared in the browser console. This has been resolved. | Mobile |
INC-130499 | 581443 | Mobile offline nested repeating dynamic layout repaired | Attempting to open a repeating dynamic layout while working in mobile offline caused the screen to freeze and an UnmodifiablePropertyException error to be generated. This has been corrected. | Mobile |
INC-131592 | 583435 | Jsoniter parser upgraded | After upgrade, the pxTextinput property Prompt List was being converted into decimal upon clicking finish assignment. This was traced to the jsoniter parser, and has been resolved by upgrading the parser in the jsoniter library. | Mobile |
INC-132876 | 579646 | Retrieve device log feature repaired | Remote log retrieval was not working for delta datasync. This has been corrected. | Mobile |
INC-133301 | 580677 | Resolved authorization request errors on mobile | After upgrading and rebuilding the APK with the HC Client Version – 7.41.8-SNAPSHOT, numerous "PYREDIRECTAUTHORIZATIONREQUEST" alerts during mobile interactions caused system performance issues. This was traced to a change in the handling for OAuth2 tokens and related to missing pyClientID column in the database table which forced the system to read all records from the table, and has been resolved. | Mobile |
INC-135159 | 580673 | Logic updated for deepMergeObj API | Issues with the embedded page values being removed when navigating from a flow action and inconsistent localization of labels and captions in a mobile app were traced to the deepMergeObj API; the logic for the API has been revised to ensure the pxObjClass property is not removed from embedded pages during the doSave function. | Mobile |
INC-144948 | 602275 | Resolved JBoss memory leak | JBoss logs indicated connection leaks. This has been resolved by limiting the scope of instance of ActionProvider, DataSyncRequestParser to a try-with-resources block which ensures that all resources are released. | Mobile |
SR-D95638 | 556964 | Added handling for mobile SharePoint attachments | When an application was using SharePoint to store the attachments, adding an attachment in an offline-enabled mobile app and then synching resulted in the mobile app crashing if the user re-logged in and launched the same work object. This was due to the attachment handling. Attachments are downloaded during synchronization and they are base64 encoded: when a mobile phone processes the synchronization response, it decodes the base64 encoded attachment and saves the data in internal storage. In this scenario, attachments retrieved from SharePoint (REST Service) use a base64 conditional encoding that is different than in case Repositories or Pega Database storage. To resolve this, a check has been added to determine whether the base64 text contains newline characters, and if so the text is merged into one line. | Mobile |
Project Delivery
There were no Resolved Issues for Project Delivery in 8.2.8
Reporting
8.2.8 Resolved Issues for Reporting
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-120343 SR-D90400 |
573075 563185 |
Explicit parent added for descendants in subreport to correct summary | When using a Report Definition with a Summarize column and a subreport with join class, it was not considering implementation class work objects. As a result, the prepared values were only partially computed. This was traced to the SubReport in SetQuery not having reference to a parent for the descendants classes, and has been resolved by explicitly setting the parent value. | Reporting |
INC-131942 | 574322 | Orphaned CSS reference removed from DisplayReport harness | An intermittent invalid CSS error was appearing in the DisplayReport harness when an operation resulted in the regeneration of the harness content. This was traced to a reference to the workform_pyReportingSkin CSS, which was used in old reporting features and is not in use anymore. The reference has been removed to resolve this issue. | Reporting |
INC-135719 | 580689 | Corrected reference exception for filter on a grid sourced from a parameterized report definition | An Invalid Reference Exception was thrown after attempting to apply a filter on a grid sourced from a parameterized report definition. This was traced to work done to allow cross-scripting filters to allow filters to contain special characters, and has been resolved. | Reporting |
INC-140110 | 600399 | Large filter values accepted in Report Definition edit | Report definition edit filter values were not accepting large comma separated values properly. This has been resolved by modifying the logic in RRFilters_Logic to use ReportFilter.getReportFilters. | Reporting |
INC-143191 | 596470 | Scheduled tasks landing page shows all tasks | Due to pzGetScheduledTasks listview having a hardcoded limitation of 500 records to be fetched, not all scheduled tasks were being shown in the scheduled tasks landing page. This has been resolved by modifying the pyCreateSummary activity to use a newly created Report Definition to fetch data instead of list view. | Reporting |
INC-144756 | 602724 | Security improved for searches | Authentication requirements have been added to activities associated with searching. | Reporting |
Security
8.2.8 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-130500 | 580621 | Cross-site scripting protections updated for authorization | Cross-site scripting protections have been updated for various URLs associated with authorization. | Security |
INC-132191 | 582547 | Option added to return to same authenticationService after SAML logoff | An enhancement has been added which provides a check box on the Authentication Service ruleform to select the option of redirecting users back to their original authentication service screen after logoff. | Security |
INC-132209 | 577001 | CDK key loading modified for better database compatibility | Users were unable to log on to the system and received the error "There has been an issue; please consult your system administrator." Investigation showed the log errors stating "(dataencryption.DataKeyProvider) ERROR localhost - Could not get CDK from systemKeyManagementCache - System CDK is null". This was an issue specific to the MS SQL Server database when there were 6 or more CDKs in the database: CDK keys are loaded from database into Cache using an SQL statement which had the ORDER clause. By default, the ORDER clause treats NULL values differently on different databases, and this caused MS SQL databases to not load a necessary CDK key. To resolve this, the SQL query has been modified so the result will be the same for all supported daatbases (Oracle, Postgres & MS SQL Server). | Security |
INC-132897 | 576549 | UseSSL correctly set for password reset email | Email was not being sent as part of the password reset functionality for Agile Studio when the email account was set to use SSL. An EmailClientException was logged. This was traced to the 'forgot password' flow reading .pyUseSSL as false, and has been resolved by setting pyUseSSL from the email account page. | Security |
INC-133518 | 592225 | Context updated for IACAuthentication activity trace | After upgrade, tracing the IACAuthentication activity was not working. Investigation showed that the context object had a null tracer value, which has been resolved by updating the system so the tracer runs with the correct context. | Security |
INC-134315 | 578367 | Resolved 400 error on second browser session | When accessing application URLs in two tabs of a browser window, logging into the second session was throwing a 400 invalid request. This has been resolved by adding specified activities to an allow list which will bypass URLObfuscation in un-authenticated mode. Non-listed activities will be processed using URLObfuscation if it is enabled. | Security |
INC-135874 | 583414 | Added handling for password containing a colon on Pega Client for Windows | If a password included a colon (:), it was possible to log in on the desktop but not Pega Client for Windows. This was due to authentication files specific to the Windows mobility client, and handling has been added to resolve the issue. | Security |
INC-137516 | 592455 | Invalid redirect URI logging changed from error to warn | The Pega Mobile client was reporting an Invalid redirect URI error triggered by the OOTB AuthorizationService. This warning is not an error, and the log method has been changed form error to warn. | Security |
INC-137709 | 584289 | New security role added to restrict access to development-specific classes | A new security role and related RAROs have been implemented to allow better security for end users on non-BAC systems. This restricts access to Rules and execution of activities on classes that are development-specific. | Security |
INC-142648 | 594805 | PRTraceServlet security check added | Modifying the Pega application URL with PRTraceServlet displayed multiple user credentials and session information. This has been corrected with the addition of a privilege check in GetConnectionListCommand before allowing the connections list to be fetched. | Security |
INC-144597 | 598306 | Updated handling for MT query of pr_data_admin table | When using a multi-tenant environment with Oracle, as the number of users in the environment increased, the number of queries of the pr_data_admin table "WHERE pyEnableAuthService" increased exponentially and causes system slowness. This was traced to missed handling for the @ character in the authentication service cache while requesting, and has been resolved by updating authservicecache.java. | Security |
INC-145694 | 601295 | Property check handling updated for Ajax requestor | SECU0001 alerts were seen when submitting a case in the interaction portal. Logging indicated the errors were related to the 'pxRequestor.pyLatitude' and 'pxRequestor.pyLongitude' properties which are included in an Ajax request when they exist in the DOM and the 'pyGeolocationTrackingIsEnabled' when rule is true. The error was traced to a condition where a new thread request results in an unexpected property check that encounters a clipboard which doesn't have any pages created for that thread. To resolve this, the 'pxRequestor.pyLatitude' and 'pxRequestor.pyLongitude' properties have been added to an allow list to handle the unexpected properties check. | Security |
System Administration
8.2.8 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-130304 | 567925 | Retry logic added for downloading upgraded rules | A Rules upgrade failed while downloading applications from the maintenance server due to an SFTP server connection failure. This has been resolved by adding logic to retry if the first connection attempt fails. | System Administration |
INC-132218 | 573358 | Resolved buffer overflow for Migration loadDatabase | A Rules upgrade failed in the Migration step at loadDatabase stage, involving the move of all the table records from old schema to new schema. This was traced to the inability of Migration to load blob of sizes more than 100 MB, and has been resolved by updating Migration to use byte[] to read the blob content with the help of metadata that contains blob length. | System Administration |
INC-132859 SR-D85100 |
573486 556260 |
ProductInfoReader updated to fetch only most recent version information | Hfix scanner has been modified so that ProductInfoReader.runQuery will fetch only latest version of DAPF instances during a scan. | System Administration |
INC-133202 | 574700 | TableRenameUtil hashing improved | During index name generation, the algorithm that was responsible for index name uniqueness was sometimes insufficient and cerated a loop condition. This has been resolved by using a stronger hash algorithm and refactoring the code that could result in a loop. | System Administration |
User Experience
8.2.8 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-125398 | 564979 | Updated handling for checkboxes configured in the header | After configuring multiple checkboxes where each checkbox had a different property and different DT as action set and then using them as a single column header in the table, the on-change of any one checkbox caused all of the checkboxes to be checked or unchecked in the column header. This was caused by the pega.ui.grid.prototype.checkAllIfInHeader, which selects or unselects all checkboxes present in table (header +. body) based on checkbox status in header. However, the header row should not be part of the iterator during this function, and the necessary update has been made. | User Experience |
INC-126255 | 580907 | Resolved "maximum limit for pending changes" error | When attempting to create a work object in a custom way using doCreateNewCase from the Smart investigate layer by using the RMButtonWithoughtWorkCaseNGP section, a popup showed the error “You have reached maximum limit for pending changes. Please commit/cancel one or more changes to continue.” The error did not occur when creating the case using the out-of-the-box Create New Work action. This was traced to the custom configuration creating work object threads that were not destroyed after the work item is closed. To resolve this, handling has been updated for passing dynamiccontainerID and contentID parameters for OpenWorkByURL case. Note that the pzUpdateActionInfo activity must be called in any custom activity before the actual activity is invoked. | User Experience |
INC-128970 | 583291 | Post value in grid works after clicking on modal submit | The row submit on the grid of the modal dialogue worked when the value was updated and there was a click outside the grid. However, when the value was auto-populated, after clicking on the submit and going back to edit the value in the grid, the row submit did not work. Investigation showed that when a modal was submitted with some server errors, the system replaced the DOM and a new grid is initialized: since some of the listeners related to grid are attached to body, on submit of modal with server errors, these old listeners were getting fired. To resolve this, a safe check has been added for modalDetailsDiv before accessing it in event listeners. | User Experience |
INC-129278 | 568856 | Date range filter error resolved | When using different locale settings, an "Invalid date" issue was seen when selecting a value for a date range filter. This has been resolved. | User Experience |
INC-129388 | 571375 | Check for mobile added to Pega Client for Windows time control | When attempting to enter time using the out of the box time control in Pega Windows Client application, the control became stuck and continued to show on the UI even when screens were progressed. If the control was marked as a required field, this was a blocker. This was due to the 'validation_validateFromUIEvent' overlay invoking the 'pega.util.Event.getEvent()' function: this function was trying to get the events by traversing all the way to the event initialization, but the process was timing out on mobile/touchable devices and returning the parent event as undefined. Because 'pega.util.Event.getEvent()' was undefined, the validation_validateFromUIEvent caused js errors. To resolve this, a check for mobile has been added to the validation. | User Experience |
INC-129517 | 572490 | Support added for Ajax container refreshCaseSections | The Refresh/Visibility Condition in Dynamic Layout was not working in the Interaction portal, but did work in a Stand alone service case. This resulted in the summary area not being refreshed when a case was opened in a new tab, which is a new feature supported in Cosmos, leading to a post value used in the case processing area to not be present in the Summary panel on blur of the input field. This was due to the use of the new Ajax container, which did not yet have support for all the out-of-the-box actions such as Refresh-Section or Refresh-Condition. That support has now been added by way of the javascript API pega.u.d.refreshCaseSections. | User Experience |
INC-129603 | 568215 | Calendar Mode accessibility enhanced | Accessibility has been added for datetime control's calendar mode by adding alternative text and an aria-label for the image icon with a value from fieldvalue "Choose from calendar". | User Experience |
INC-129848 | 580457 | Refresh handling added for cancel 'add item' while offline | When using iPad and iPhone offline, filling in one required field, hitting submit (click action: 'Add item') without filling in a second required field, and then hitting cancel resulted in a blank record being added. Clicking the cancel button first without clicking submit before did not add the item. This was traced to the underlying repeating dynamic layer being refreshed during the submit and adding the record, and has been resolved by adding a refresh for the cancel button process as well. | User Experience |
INC-130011 | 571834 | Resolved stale reference error when swapping stages with drag and drop | If user swapped stages (2nd stage to 1st stage) using drag and drop and then added a participant or role in the stage, a Pega blue screen appeared. This was traced to using a grid with reorder and an inner grid in the cell. On drag and drop, the grid reference object was stale and not in sync with the latest table. To resolve this, code has been added to reinitialize the inner grid on drag and drop. | User Experience |
INC-130090 | 573263 | Added handling for sourced radio-buttons group rendered in an inner iframe | When using a radio button sourced with a pxTextinput using a Local List 'Yes' and 'No', the Assertion conditions were populated with incorrect data while a test scenario was being recorded, causing the test case run to fail. This was traced to the radio buttons being inside an iframe (dynamicContainer): when the scenario test was run, the radio-buttons group was rendered in an inner iframe that caused the document to refer to the outer document on the webpage instead the inner document. This has been resolved by adding handling to get the OwnerDocument of the DOMElement in domUtils's getDOMElementValue() and call getElementsByName on itso the references are correct. | User Experience |
INC-131225 | 579732 | Child cases correctly created on mobile app | After upgrade, creating a child case from the device generated the error "Failed to reset case type. Not starting optional process : undefined" when launching a "nestedRDL" case and clicking on the "CreateCase1" button on the top. This has been resolved by updating the harness action API to read the harness purpose from DOM instead of the harness context for the HC case. | User Experience |
INC-131523 | 573852 | Parameters to Property UI Field available in report | When using a parameterized control like Decimal for a property in the UI control of the Property rule with inputs given to the parameters, once the property was optimized and referred to in Report Definition, the value was rendered using the Control with parameters defined in its rule form. In the report, the column was not rendered as it is designed on the property rule, but the same worked as expected in a section. This behavior was a change after upgrade. This was traced to "pyPropertyName" being added to the stepPage as part of the pzMergeAutoGenForProp Activity, and has been resolved by adding it to the stepPage only when it is an auto-generated control. | User Experience |
INC-132176 | 588807 | Cache cleared before PDF generation to ensure proper fonts | The font File OCRAEXT.ttf added at location "/usr/local/tomcat/fonts" was not being picked when the PDF was generated via an agent execution. When the same activity was run manually, the font issue was sporadic. Investigation showed that when multiple apps use the same props directory but different fonts directories, the handling would sometimes cause one app to use another app's props file with the result of the improper fonts mapping. To resolve this, an update has been made to clear the cache before PDF generation starts to ensure the library reads the proper fonts. | User Experience |
INC-132219 | 580264 | Values with accent characters are sorted properly | Table Layout column values using a pagelist were not sorted properly when the data contained French accent characters. This has been resolved. | User Experience |
INC-132405 | 574688 | Added check for label property for 'work object already open' popup | When a tab in a tab group was open, attempting to open the same tab again displayed the error message "TestApp case layer is already open" instead of the expected message "Tab1 is already open". This was traced to the label property not being available, and has been resolved by updating the pzpega_ui_dynamiccontainer file showConflictDialog method to check for label property when Label is not available. | User Experience |
INC-132771 | 584958 | Refresh section of MultiSelect properly handles refresh section | On hitting tab or enter on a Multiselect control with "Post value" and "Refresh Section" enabled, focus moved to the header of the page when it refreshed. This has been resolved by updating the 'disable when' expression for "run on client" to better handle the input element used for enabling the controls. | User Experience |
INC-136518 | 582568 | Elapsed time available for an AJAX event duration | An enhancement has been added which will capture a start of queue event for an AJAX event. This can be added to the existing end of queue event information and be used to calculate the event duration via Pega Web Analytics. | User Experience |
INC-137100 | 604059 | Added predictive text handler for Japanese on iOS | The autocomplete function was not working well in MobileView when using Japanese IME on iOS. This has been resolved by adding a new input handler for IOS mobile, which will be triggered when predictive text is selected in mobile. | User Experience |
INC-137521 | 598631 | SmartInfo on Hover functions consistently | The Smart Info on hover on the column of a grid sometimes disappeared quickly or did not show up. This was caused by the dom observer being attached even when it was not needed, and has been resolved by updating registerDomObserver to detach the close handler if the element is visible. | User Experience |
INC-137966 | 597741 | Embed-ReportFilter supports pyDateproperties | After creating a report definition with Date time filter values where the 'from' date and 'to' date are input and propagated as “pyStartDateTime” and “pyEndDateTime” in the clipboard, opening the pyDate properties from clipboard resulted in a 'rule not found' exception. No properties of other data types generated the error. This has been resolved by creating the pyStartDateTime,pyEndDateTime and pyDisplayTimeperiod properties in Embed-ReportFilter to support this use. | User Experience |
INC-138317 | 591179 | PDF/A generation supported | When calling the HTMLToPDF activity and passing the pyPDFGeneratePDFA=true parameter, the outcome was a plain PDF document. This has been resolved by updating the pd4ml jar to 3113 to support pdfa format. | User Experience |
INC-138672 | 593277 | Corrected size of Session Timer modal window | The session timer modal dialog window did not have the correct height. This has been resolved by increasing the height of the logoff timer modal dialog from 210 to 236 in the desktop_showTimeoutLogoffDialog method of the pega_desktop_appcontrollerlite.js file. | User Experience |
INC-139095 | 596508 | Portal loads for Simplified Chinese locale in Microsoft Internet Explorer | When using Microsoft Internet Explorer, the portal would not load when using the Simplified Chinese locale. This was caused by Microsoft Internet Explorer rendering the locale as 'zh-CN-#Hans' instead of the expected 'zh-cn'. This has been resolved by adding a check to remove the "#" in the locale string to avoid a malformed URL. | User Experience |
INC-139260 | 592216 | Handling added for third party form library | When using a third party library which created a form tag, the wrong form was used on submit in the Ajax container. This has been resolved by updating the pzpega_ui_doc_submit file submitInner method to handle this use case. | User Experience |
INC-140289 | 589001 | Check added to preserve clipboard pages for pop-up | Many properties were missing in the clipboard after launching an ImageViewer. This was traced to the clipboard pages being deleted in the pop-up mode, and has been resolved by adding a check to not delete pages in case of pop-up opened from top navigation case. | User Experience |
INC-142589 | 595492 | Corrected tooltip evaluation for multiselect | After adding help text for a multiselect help icon with overlay on hover field, the value was not being sourced. Changing to a different type of help text or control type worked as expected. This was due to an error in case sensitivity, using pyToolTip when it should have been pyTooltip, and has been corrected. | User Experience |
INC-143260 | 599304 | Overlapping columns fixed in ReportViewer | When Report Viewer was used for Report Definition, displaying it on dashboard columns resulted in columns that overlapped each other. This was traced to a resize issue related to the scrolling checkbox and has been resolved. | User Experience |
INC-147794 | 602702 | Entity relation diagrams UI corrected | After upgrade, attempting to create a campaign showed a blank page. This was traced to the Entity relationship diagram not loading, and has been resolved by adding a safe check. | User Experience |
SR-D37487 | 507206 | Helper classes showing in the Helper Class Picker | When opening the skin rule -> Actions -> Launch -> Skin Preview -> Helper class, the helper classes were not displayed in the picker. The helper classes were visible if they were manually entered in the Cell read-write classes or Cell read-only classes. Investigation showed that the CSSCommentParser.java was throwing a StackOverFlow exception while finding comments in the text file. To resolve this, the regex has been rewritten to not use alternation. | User Experience |
SR-D91344 | 560624 | Resolved PageCannotBeSerializedForPassivationException in logs | The exception "One or more properties could not be serialized during passivation and have therefore been lost. They will not be available on activation. Please ensure that all property data is Serializable" was observed in the logs. Investigation showed there was an HTML fragment in 'pzGridOpenAction' that was adding non-serializable properties to the clip board. This did not cause a functional issue, but has been resolved by modifying the way the system obtains and reuses the class definition. | User Experience |
SR-D96909 | 558139 | Removed extra scroll bar in Multiselect | An extra scroll bar was appearing when opening the multi-select control case manager portal using the "Results displayed Maximum 500 results to display" setting. This was a result of recent updates to the popover scroll and height that caused on overflow condition. To resolve this, the logic for Multiselect has been updated. | User Experience |