Question
moodys
IN
Last activity: 11 Nov 2025 8:16 EST
Post-Upgrade Issue: Guava Method Deprecation Causing ASCII Error in Function Rule
Issue:
-------
Subject:
-----------
Post-Upgrade Issue: Guava Method Deprecation Causing ASCII Error in Function Rule
Issue Summary:
--------------
After upgrading our application from Pega 8 to Pega 24 in December 2024, we are encountering a runtime error related to a deprecated method in the Guava library. This issue is affecting multiple function rules that rely on a shared library.
Details:
----------
Function Rule Affected: Utilities • ConvertUnicodeURLToASCII--(String)
Library Rule Used: Utilities
Error Description: While generating the Utilities library rule, an ASCII-related error is thrown. This is impacting all function rules that depend on this library.
The error message:
Issue:
-------
Subject:
-----------
Post-Upgrade Issue: Guava Method Deprecation Causing ASCII Error in Function Rule
Issue Summary:
--------------
After upgrading our application from Pega 8 to Pega 24 in December 2024, we are encountering a runtime error related to a deprecated method in the Guava library. This issue is affecting multiple function rules that rely on a shared library.
Details:
----------
Function Rule Affected: Utilities • ConvertUnicodeURLToASCII--(String)
Library Rule Used: Utilities
Error Description: While generating the Utilities library rule, an ASCII-related error is thrown. This is impacting all function rules that depend on this library.
The error message:
Error(s) detected while generating java. Compiler reported: ---------- 1. ERROR in /com/pegarules/generated/ConvertUnicodeURLToASCII_160101__1843711252365540234.java (at line 108) boolean isAscii = com.google.common.base.CharMatcher.ASCII.matchesAllOf(url); ^^^^^ ASCII cannot be resolved or is not a field ---------- ---------- 2. ERROR in /com/pegarules/generated/ConvertUnicodeURLToASCII_170101_1564001458734046615.java (at line 108) boolean isAscii = com.google.common.base.CharMatcher.ASCII.matchesAllOf(url); ^^^^^ ASCII cannot be resolved or is not a field ---------- 2 problems (2 errors) Compile failed.
Root Cause:
--------------
The error originates from the following line of code in the ConvertUnicodeURLToASCII function:
-----"boolean isAscii = com.google.common.base.CharMatcher.ASCII.matchesAllOf(url); "
The method ASCII is no longer supported in the updated Guava package used in Pega 24. The correct method to use is:
----"boolean isAscii = com.google.common.base.CharMatcher.ascii().matchesAllOf(url); "
Impact:
---------
All functions depending on the Utilities library are failing due to this error.
This is a post-upgrade regression and was not present in Pega 8.
Requested Action:
------------------
We request the PEGA support team to:
- Acknowledge this as a post-upgrade compatibility issue.
- Update the affected function rule(s) to use the correct method ascii() instead of the deprecated ASCII.
- Provide a hotfix or guidance on how to resolve this issue across all impacted rules.
Priority: High
---------------
This issue is blocking critical functionality and needs urgent attention.
@karunkarraoJ17441443 After upgrading from Pega 8 to Pega 24, we are getting an error in a function rule that uses a method from the Guava library. The error says
CharMatcher.ASCIIcannot be resolved, which means this method is no longer supported in the latest version. This line of code was working earlier but now fails because theASCIIfield has been removed from the Guava package. The correct way to write this in Pega 24 is to useCharMatcher.ascii()instead ofCharMatcher.ASCII. Due to this issue, all functions using this shared Utilities library are failing during compilation. To fix this, we need to open the affected function rules and update the code to use the new method. This is a compatibility issue from the upgrade, and we request Pega to provide a hotfix or steps to correct all impacted rules. This issue is urgent as it is affecting key functionality.