SR-D53543 · Issue 515178
Correction to JPY decimal precision
Resolved in Pega Version 8.4
Decimal precision has been adjusted to zero for JPY in non-template.
SR-D54068 · Issue 518161
Calendar edit properly disabled when set to no text entry
Resolved in Pega Version 8.4
Clicking the input box of a date control used as Date+calendar popped up the calendar even when the calendar control was disabled and "Allow text entry" was set to No. If "Allow text entry" was set to yes, the entire calendar was disabled. To resolve this, the system has been updated to disable calendar control when 'Allow text entry' is selected to No in the presentation tab.
SR-D55841 · Issue 522696
isAvailable calendar instance will include time zones
Resolved in Pega Version 8.4
When using a custom configuration to route assignments, if today was configured as unavailablefrom date, assignments were still routed to the current operator even though they were not available. Analysis showed that the same Calendar was not used to compare date objStartDate, opUnavailableFrom and opUnavailableTo in the function, isAvailable. The isAvailable FUA calculates objStartDate by getting the calendar instance and setting the time by calculating it from the next business day. However, the calendar instance was created from Calendar.getInstance(), which does not use a time zone, and this resulted in a mis-match of time. To resolve this, instead of creating a calendar instance objStartDate will be formatted to YYYYMMDD format and then converted to the requestor time zone timings using Data Time Utils parseDateTimeString.
SR-D66007 · Issue 526861
Resolved ruleset save issue for Google Chrome/IE
Resolved in Pega Version 8.4
When using particular versions of Google Chrome or Microsoft Internet Explorer, the intermittent error "pyComponentInterfaceClass: <user> does not exist or is not a valid entry for this ruleset and its prerequisites" appeared when attempting to validate an application, and the ruleset could not be saved. This was traced to changes made in the browser around password handling, and has been resolved by explicitly clearing out the pyComponentInterfaceClass if that value is not in use.
SR-D69914 · Issue 531739
Cookie logging restored
Resolved in Pega Version 8.4
As part of security updates, Cookies were restricted from being logged. However, this caused some business use cases such as a custom function call to obtain the list of cookies that are present in the application to stop working. To resolve this, the cookie logging restriction has been reverted.
SR-D16427 · Issue 497222
Multi-nodes rebuild LibraryMetadata to ensure all Rule-Utility-Functions are present on change
Resolved in Pega Version 8.4
When performing a complete Application import into a clean installation, references to certain Rule-Utility-Functions went unresolved during the initial assembly. Investigation showed that after introducing a new Rule-Utility-Library or Rule-Utility-Function on one node in a cluster and then generating that, the other nodes in the cluster did not have the correct LibraryMetaDataCache for that Rule-Utility-Library.Therefore assemblies on those other nodes could be bad and throw a runtime UnresolvedAssemblyError. This has been resolved by modifying the way the Library subsystem processes the node changes events for Library Generation to ensure that each node completely rebuilds the LibraryMetadata for that Rule-Utility-Library so it contains all the Rule-Utility-Functions.
SR-D18036 · Issue 495399
Holdability flag set on connection for using MS SQL in Designer Studio
Resolved in Pega Version 8.4
Static assembler was not working from Designer Studio, displaying the error "com.microsoft.sqlserver.jdbc.SQLServerException: SQL Server supports holdability at the connection level only. Use the connection.setHoldability() method." Investigation showed that ApplicationAssembly.getResultSetForQuery explicitly sets the holdability flag on the prepared statement, and this issue has been resolved by updating the system to set the holdability flag on connection as well.
SR-D20473 · Issue 498035
Multi-nodes rebuild LibraryMetadata to ensure all Rule-Utility-Functions are present on change
Resolved in Pega Version 8.4
When performing a complete Application import into a clean installation, references to certain Rule-Utility-Functions went unresolved during the initial assembly. Investigation showed that after introducing a new Rule-Utility-Library or Rule-Utility-Function on one node in a cluster and then generating that, the other nodes in the cluster did not have the correct LibraryMetaDataCache for that Rule-Utility-Library.Therefore assemblies on those other nodes could be bad and throw a runtime UnresolvedAssemblyError. This has been resolved by modifying the way the Library subsystem processes the node changes events for Library Generation to ensure that each node completely rebuilds the LibraryMetadata for that Rule-Utility-Library so it contains all the Rule-Utility-Functions.
SR-D20817 · Issue 499922
Async cache checking updated for interaction reload use
Resolved in Pega Version 8.4
A thread level data page using connect REST to get data from an external system with the "Reload once per interaction" checkbox ticked was being loaded asynchronously from the activity when by default the data page it was supplying needed to be loaded synchronously. Due to this, changes to the data in the external database were not reflected in the data page. This was caused when an async cache was referred and the freshness check for the data page instance did not consider the 'reload once per interaction' flag because it would cause the data page to load twice. The cache checking has been updated to resolve this.
SR-D21776 · Issue 493780
Corrected freshness check for async cache
Resolved in Pega Version 8.4
A node level data page with time based refresh strategy was getting refreshed before the time out and many Pega0045 alerts were observed. Investigation showed the Load-DataPage activity step was causing the data page to be requeued and reloaded even if the earlier asynchronously loaded data page was fresh. This was due to a timing issue with the multiple asynchronous load of a data page where the freshness check for the already loaded instance was done before queuing the data page load, causing the check to fail. To resolve this, the freshness check will be performed on the instance which is present in the asynchronous cache if the instance in synchronous cache is stale.