Xanadu Patch 4

  • Release version: Xanadu
  • Updated December 5, 2024
  • 41 minutes to read
  • The Xanadu Patch 4 release contains important problem fixes.

    Xanadu Patch 4 was released on December 05, 2024.
    • Build date: 12-02-2024_1408
    • Build tag: glide-xanadu-07-02-2024__patch4-11-22-2024
    Important:
    For more information about how to upgrade an instance, see ServiceNow Upgrades.

    For more information about the release cycle, see the ServiceNow Release Cycle.

    Note:
    This ServiceNow AI Platform major family release is now available in ServiceNow's Regulated Market environments. For more information about services available in isolated environments, see KB0743854.

    For a downloadable, sortable version of the fixed problems in this release, click here.

    Overview

    Xanadu Patch 4 includes 170 problem fixes in various categories. The chart below shows the top 10 problem categories included in this patch.

    Figure 1. Top 10 problem categories
    Fixed issues grouped by problem categories bar chart

    Changes in Xanadu Patch 4

    Complete the upgrade by activating the V2 consumer replication set with or without data integrity checks.

    Notable fixes

    The following problems and their fixes are ordered by potential impact to customers, starting with the most significant fixes.

    Problem Short description Description Steps to reproduce

    Attachments to Records

    PRB1823698

    KB1709552

    Out Of Memory (OOM) caused by the misuse of BufferedInputStream when creating attachments Attachments created from previously prepared TMP files are read with BufferedInputStream and have an internal buffer of 512M.

    Refer to the listed KB article for details.

    Database Persistence - Data Access

    PRB1818225

    KB1705517

    Using 'order by' on a single field with a limit clause produces error messages Users are experiencing Syntax Error or Access Rule Violation messages when they use an 'order by' function on a single field with a limit clause. This error occurs in the within the CMDB workspaces and CMDB hierarchy when viewing tables in the list view. This also occurs if the ordered list displays no data yet indicates a valid, non-zero row count.

    Refer to the listed KB article for details.

    Flows (Family Channel)

    PRB1813141

    KB1706138

    fd_data does not read the object from the Create Task action After upgrading from Vancouver with the v1 flow engine to Washington DC or Xanadu with the v2 flow engine, any inline script with fd_data does not read the object from the Create and Update Task action, resulting in failure and an error thrown.

    Refer to the listed KB article for details.

    Predictive Intelligence

    PRB1777777

    KB1702121

    Similarity calculation from Predictive Intelligence slows down the instance An issue with Predictive Intelligence similarity calculation slows down alert record loading.
    1. Change the property evt_mgmt.similarity_use_ml to true.
    2. Open an alert record through Express List Records.

      Notice that it takes a few minutes to open.

    3. Change the property evt_mgmt.similarity_use_ml to false.
    4. Refresh the alert record.

    Notice that the alerts query takes an average of 35,655 milliseconds.

    Rollback Contexts

    PRB1772992

    KB1648911

    The 'Shadow' table chunk delete has performance issues The time taken for deleting shadow records can be derived from the logs. When users delete data from the 'Shadow and snapshot' table, a log statement is printed. First, 'Shadow' table records are deleted, then the 'Snapshot' table. Time between log statements would be the time taken to delete shadow records. It takes more than one minute to delete records from a 'Shadow' table.

    Refer to the listed KB article for details.

    Web UX Runtime

    PRB1776097

    KB1709413

    Chats close automatically on the workspace after they are opened within a few seconds This issue was introduced in Washington DC. Chats are closed automatically in the workspace after they are opened within a few seconds. Shortly after the chat window is opened, it is then closed, and the chat state is set to 'Closed Complete'.

    Refer to the listed KB article for details.

    All other fixes

    Problem Short description Description Steps to reproduce

    Activity Stream

    PRB1778010

    The SysActivityRule should filter its query on the fields that workspace can only see The SysAuditRule does not need to pull all of the fields changes. It only needs to pull the fields that the front end can filter on.

    Activity Stream

    PRB1796571

    'Archive Destroy Run' is excessively slow when deleting activities due to the overhead incurred by publishing AMB messages After upgrading to Washington DC, 'Archive Destroy Run's may take longer than in previous releases due to slowness incurred by publishing messages to the AMB channel for related activities.

    Activity Stream

    PRB1816292

    An attachment is not visible in the activity stream in workspaces When an attachment is added to a Record Producer, it can't be found in the Activity Stream.
    1. Add a variable with Type = 'Attachment' to a Record Producer (for example, create a case for CSM Outlook).
    2. Open the record producer in Service Portal.
    3. Attach a file to the field created in step 1 and submit.
    4. Navigate to CSM and FSM Configurable workspace and search for the item created after submitting.
    5. Check the Activity Stream.

    Expected behavior: The attachment should be visible in the Activity Stream in workspace.

    Actual behavior: The attachment is not visible in Activity Stream in workspace.

    Advanced Work Assignment

    PRB1820154

    An assignment API fails with Genesys An assignment request API intermittently fails because of server time differences between Genesys and ServiceNow.

    Agent Chat

    PRB1789973

    Empty Short description and Description fields when an incident is created from Quick Action, and the user has to load demo data from the Agent chat plugin to generate these fields After upgrading to Xanadu, the Short description and Description fields are empty when an incident is created from the Quick Action function. The user has to load the demo data from the Agent chat group to generate the short description and description for the incident.
    1. Log in to the instance.
    2. Initiate the chat between the Requester and Agent 3.
    3. Navigate to Quick Action > Create incident from the Agent window.

      Notice that it will create an incident.

    4. Open the incident.

      Notice that the short description and description is missing in that incident, when it should have the short description and description for incident created from a Quick Action.

    5. Load the demo data for Agent chat group.
    6. Open the incident again.

    Notice that the incident created from Quick action now has the short description and description.

    Agent Chat

    PRB1823530

    Input text is occasionally truncated in 'now-textarea' Characters are truncated when typing quickly as an agent.
    1. Set up Agent Chat and accept a chat as an agent in Agent Chat.
    2. Type quickly in the input text area

    Observe that characters are truncated.

    Agent Chat

    PRB1830383

    Recommendation text is not inserted into a chat window
    1. Log in to an instance as an admin.
    2. Initiate a chat with a live agent.
    3. Log in as an agent on other browser and accept the chat.
    4. Select the Sparkle icon.
    5. In the recommendation dialog, select Insert.

    Expected behavior: Inserted text should be inserted.

    Actual behavior: Inserted text is not shown in the chat area.

    AI Search

    PRB1735195

    The range facet and facet with compound table.column set in the facet fields is filtered out when one of the tables is late-binding A function doesn't parse table.column correctly and results in a bucket match to zero. The facet is then filtered out.

    AI Search

    PRB1738123

    AisUtils doesn't refresh its search connection (HaApiClient) after the search connections are updated Errors display: 'ScriptableAisUtil: Exception during dump AI search document request: com.glide.ais.error .SearchRuntimeException: NOW-AI_SEARCH-SEARCH_QUERY_ERROR: Additional information - No more read-only connections to try for search...'
    1. Set up AI Search (AIS) to use one connection.
    2. Background write any script that uses 'new sn_ais.AisUtil()'.
    3. Change the AIS Connection to a different endpoint.
    4. Ensure that the AIS backend at the original endpoint is no longer a valid endpoint (shutdown the original AIS).
    5. Re-run the same script using 'new sn_ais.AisUtil()'.

    Observe that the script fails attempting to connect to the old connection.

    AI Search

    PRB1811885

    A risk intelligence report (RIR) doesn't boost for a language match The AI search log shows that it's matching the language to the session, but the dump shows differently.
    1. Create a RIR action that boosts kb_knowledge.language matches with the user context language.
    2. Search.

    Expected behavior: Documents are boosted based on the language.

    Actual behavior: No document is boosted.

    AI Search

    PRB1818535

    Placeholder (Search) is missing in the Global search field on first login

    AI Search

    PRB1821606

    Incorrect semantic ingestion state Records are stuck in an indexing state.
    1. Search indexed sources.
    2. Navigate to ais_datasource.
    3. Open the records of Skill, Knowledge Base, and Catalog.
    4. Navigate to the Indexing Historytab.

    Notice that a few records are struck in an indexing state.

    AI Search

    PRB1823539

    Filtering search results isn't supported in NASK, although it's supported by the RAGRetrieval API

    AI Search

    PRB1824858

    Query rewrite calls aren't being made

    Analytics Center

    PRB1781561

    The user observes a 'Data visualization 404 bad request' message A 'Bad Request 400' is generated when shifting between 'Data Visualization' and 'Dashboard' tabs.
    1. Log in to an instance.
    2. Navigate to CSM/FSM Workspace.
    3. Navigate to 'Data Visualization' then to 'Dashboards' and again back to 'Data Visualization'.

    Analytics Data API

    PRB1769933

    A bar chart displays different values for the same applied 'group by' This is an issue with the dot-walking 'group by'.
    1. Navigate to a migrated dashboard.
    2. Navigate to the 'Total Targeted Defects Waiting to be Fixed' visualization.

    Expected behavior: The visualization should display the same data in both dashboards when the same 'group by' is applied.

    Actual behavior: The same visualization displays different results in the Core UI dashboard when the same 'group by' is applied.

    Analytics Data API

    PRB1808453

    Sorting does not work for value and element order Values are not sorted by descending and ascending order in Time Series Visualization.
    1. Create a new dashboard.
    2. Add visualization to it.
    3. Select Time Series Visualization.
    4. Add a data source as an indicator.
      1. Use 'group by' as 'priority'.
      2. Sort by the element order and descending.

      Notice that the elements are not sorted by descending order.

    5. Add another time series visualization to the dashboard.
      1. Select the data source as incident.
      2. Use 'group by' as 'priority'.
    6. Sort by value and descending/ascending order.

    Notice the values are not getting sorted by descending and ascending order.

    Application Manager

    PRB1770423

    There is different behavior in a product page versus an app page (update/installed) for applications There can be a version mismatch from the UI between the 'New App' manager page and classics app manger.

    Asset Management

    PRB1789417

    Asset and CI synchronization might not work properly on domain separated instances in the Washington DC release due to the scoped cache mechanism In domain separated instances, if users have different asset-ci field mappings for different domains, Asset and CI synchronization won't work properly because the currently scoped cache isn't supported for domain separation. Sometimes users observe that the Asset and CI fields are synchronized for different fields, depending on the first user's domain that generate the cache.

    Asset Management

    PRB1791993

    There are hundreds of errors daily in the system logs reading 'Cannot call sendRedirect() after the response has been committed' When a Return on Transfer Order Line is performed, the system does not redirect to the newly created Return Transfer Order. The system logs show numerous errors reading 'Cannot call sendRedirect() after the response has been committed'.

    Attachments to Records

    PRB1823018

    Android file type attachments with extension '.aab' cannot be uploaded to or downloaded from the App Store Files with the extension '.aab' cannot be attached to any record after upgrading to Xanadu. Attachment fails with a MIME type related error 'File type not permitted or mime type does not match the file content'.

    Authentication

    PRB1791895

    When an explicit role plugin is installed and the property 'glide.security.explicit _roles.do_not_fix'= true, SSO login fails if the post auth policy requires an snc_internal role
    1. Install an explicit role plugin.
    2. Set the property 'glide.security.explicit _roles.do_not_fix'= true.
    3. Set up SSO.
    4. Set up a post auth policy which requires that a login user has the snc_internal role.

    Expected behavior: Login succeeds.

    Actual behavior: Login fails in post-auth role policy check.

    Automated Test Framework (ATF)

    PRB1788452

    ATF Field State Validation doesn't work via Service Operations Workspace The Field State Validation ATF Step to check if fields are not visible does not work in Service Operations Workspace. The ATF Test results in failure showing that a field shout not be visible, but it is visible.

    Automated Test Framework (ATF)

    PRB1793151

    Screenshots are blank when certain characters appear in Service Portal HTML context.drawImage() is unable to properly parse the end of a comment that goes for multiple lines and includes extra dashes. Standalone commas in an element's attributes also prevent rendering of the document image.
    1. Create a Service Portal widget (sp_widget).
    2. Add a comment to the body HTML template with extra dashes and new lines, or add a comma character inside an element's attributes.
    3. Add the widget to an sp_instance in an sp_column, and add that column to an sp_page.
    4. Create an ATF test with the 'Open Service Portal Page' step that opens the sp_page from step 3 in any portal.
    5. Run the test with GlideScreenshot capturing the full page.

    Expected behavior: The screenshot is captured successfully

    Actual behavior: The screenshot is blank and a client test runner console error appears.

    Case and Knowledge Management for HR Service Delivery

    PRB1819557

    Remove deprecated entitlement code and APIs in HR Plugins HR Core sys_app_modules aren't installed.

    Provision and instance with the HR Core and LE plugins installed.

    Notice sys_app_modules aren't installed and HRModuleTestIT is failing.

    Case and Knowledge Management for HR Service Delivery

    PRB1823948

    Some RCA's were removed from global scripts and must be added back This is a product update.

    Case Management

    PRB1808057

    ACL's are missing for base instance model similarity as a result of a training model failure A model errors out because an ACL is missing.
    1. Entitle the latest Task Intelligence for CSM version and sn_nb_action_adv from TPP.
    2. Provision an instance wth cwf-workspace- 24.3.8-SNAPSHOT installed.
    3. Navigate to All > Task intelligence > Setup.

      Notice that a similar open case and a similar closed case model is present in the base instance.

    4. Select any model and select Launch training.

    Actual behavior: The model errors out because an ACL is missing.

    Expected behavior: The model should be trained successfully.

    Change Management

    PRB1816569

    Standard Change Properties should not have been modified on upgrade from Washington DC to Xanadu This is a product update.

    Configuration Management Database (CMDB)

    PRB1672625

    KB1364738

    Choices for the Life Cycle Stage and Life Cycle Stage Status fields are not translated In list view, both translations do not work. In form view, Life Cycle Stage translations do not work.

    Refer to the listed KB article for details.

    Configuration Management Database (CMDB)

    PRB1824939

    Change the health dashboard failure threshold max value to 10M This is a product update.

    Continual Improvement Management

    PRB1816181

    Add 'dex-notify-svc' service within glide.services .rest.allowed_services This is a product update.

    Database Persistence - Data Access

    PRB1785305

    If an optimization is performed, SqlJoinOptimizer silently drops CTE statements This impacts anything that extends ASqlOptimizer.

    Database Persistence - Data Access

    PRB1826425

    An Application Menu Module (sys_app_module) with a space character causes a display failure in the Filter Navigator An Application Menu Module (sys_app_module) may not be visible in the Filter Navigator if there is a whitespace character (non-null value) in the Query field.

    Database Persistence - Data Management

    PRB1772039

    Archiving 1000 records takes approximately four minutes, which is two minutes more than in Washington DC With this current rate, it takes ~17 hours to archive 1M records. In BT1, sdlc_test_result table is loaded with ~50 million records everyday. If users want to archive this table, then this would be a BT1 blocker.
    1. Create 1M or 100K records in an instance.
    2. Keep the archive chunk_size as '1000' in sys_properties.
    3. Create an archive rule and trigger the 'Archive' job.
    4. Verify the 'Archive' job's execution time.

    Expected behavior: 1000 records archiving shouldn't take much time, since 1000 records archiving takes approximately two minutes in the Washington DC release.

    Actual behavior: 1000 records archiving takes about four minutes.

    Database Persistence - Data Scale

    PRB1782312

    API calls using sysparm_offset +sysparm_limit parameters run the query without a defined 'Order by', causing results to not return consistently in RaptorDB API calls using sysparm_offset +sysparm_limit parameters will run the query without a defined 'Order by'. This will not return the results consistently in RaptorDB, as it did in MariaDB. MariaDB returned results in the same order, even if the 'order by' is not defined, but its randomness caused a return of inconsistent results.
    1. Run a Rest API call with sysparm_offset+ sysparm_limit parameter on a table with a high amount of records.
    2. Compare the number of duplicate sys_ids pulled in Maria compared to PG.

    Notice that PG will have more duplicates than MariaDB.

    Database Persistence - Data Scale

    PRB1784967

    KB1706117

    A NullPointException (NPE) was thrown while invoking the getAvailableConnection An NPE occassionally occurs during the AHA 3.0 switchover. The failure to load the scripts database is because the return value of com.glide.db.pool. DBConnectionPool. getDBConnection(int) is null.

    Refer to the listed KB article for details.

    Database Persistence - Data Scale

    PRB1815761

    Running app nodes should continue to run even after other databases become RW Running app nodes should continue to run even after DB1 (primary) becomes RW if the intended primary is set to DB2.

    Database Persistence

    PRB1813934

    Restricting queries to a primary-only configuration isn't honored by Glide

    Discovery

    PRB1786484

    RunningProcessReconciler marks redundant update processes as absent When ADM fetches running process information, if a process is no longer active on the host, the cmdb_running_process record is marked as absent. With the current behavior, if the same ADM payload is processed again, the system marks the same running process as absent.
    1. Run discovery on host.

      Notice that running processes are populated.

    2. Turn off one of the running process on the host and rerun discovery.

      Notice that the event 'running.process.absent' is logged.

    3. Run discovery again.

    Notice that the event is logged with the same data.

    Discovery

    PRB1804276

    KB1702685

    Discovery Application Dependency Mapping (ADM) Process Classifiers put incorrect Configuration Items (CI) in the probe ecc_queue outputs, leading to data from the application only to be updated in the computer CI When the ADM probe is runs, matching process classifiers will trigger probes specific to applications. The code involved in specifying the CI to put in the probe output is in the script include Application DependencyMapping, which puts the parent computer CI in instead of the application CI. As a result, the computer CI becomes updated and overwritten rather than the application CI, and the application CI is not updated.
    1. Open NGINX on a Linux server to use as an example.
    2. Open a Vancouver instance.
    3. Discover a host to create a NGINX CI is created.
    4. Upgrade the instance to Washington DC.
    5. Clear out the version value from the existing application CI.
    6. Discover the Linux host.

    Notice that the example version is not repopulated in the NGINX CI.

    Discovery

    PRB1817735

    Shazzam should always use 'glide.discovery .shazzam_simplify_ranges', and this should be true This property should be set to true, or it shouldn't check for this property and always use simplify ranges.

    Discovery

    PRB1817799

    Starting a Discovery takes a while when there's a sizable global exclusion IP address list and inclusion list Discovery and Shazzam Sensor processing takes a long time when there is a sizable global exclusion IP address and inclusion list.
    1. Open a Washington DC instance.
    2. Add 430K IP addresses to the global exclusion list.
    3. Create a Discovery schedule with the inclusion list of 50k IP addresses.
    4. Start Discovery.

    Notice a long runtime.

    Document Intelligence Unified Backend

    PRB1703041

    Checkbox values are not copied to a target record Checkbox values are normalized but not handled by the flow.
    1. Create a Use Case.
    2. Assign a Target Table to the Use Case.
    3. On that Target Table, create True/ False fields to store the values of the checkboxes.
    4. On the Use Case, create a checkbox list and a few checkboxes. Leave the Target Table blank and select the True/ False fields as 'Target' for the checkbox fields.
    5. Create the Flows.
    6. Proceed with extracting a document.

    Observe that the checkbox values are not copied to the target record. The value is captured in the metadata field of the Extracted Value but the flow doesn't handle setting the value as a True/False

    Document Intelligence Unified Backend

    PRB1794325

    A use case upgrade fails when the use case is copied from a pre-trained model When copying from the pre-trained use case, it makes a call to a certain component to migrate the model of the pre-trained task definition. As of Xanadu, this component is no longer needed and shouldn't be used. The job fails and this blocks the upgrade.
    1. Have an instance on Washington DC that has a use case copied from a pre-trained model.
    2. Upgrade the instance to Xanadu.
    3. Execute the 'Task definition upgrade' scheduled job.

    Notice that the task definition upgrade fails for the copied use case.

    Document Intelligence Unified Backend

    PRB1818140

    Parent-Child Relationship is missing in Field Group Configurations The following items are missing from the schema: the 'parent' reference field within line-item level field groups; the new field group type non_table_list_field_group for document-level data; and the parent_index field in the structure of extracted values.

    Attach a PDF file with a name with more than 100 characters.

    Notice that the process task does not create entries in the di_genai_output tables.

    Email Notifications

    PRB1791495

    In inbound email processing, the 'Disabling Subject' classification disables the 'In-Reply-To' header classification

    Email Notifications

    PRB1798974

    There' is an issue in custom notifications where the affected record field isn't saving a CI with a special character

    Flow Engine

    PRB1812566

    Subflow outputs aren't passed to a callback when a subflow ends on MID A callback is called with no outputs.
    1. Create a subflow which goes to MID and sets subflow outputs.
    2. Call the subflow via interactive mode with a callback requested.

    Expected behavior: The callback is called with the outputs that were set by the subflow.

    Actual behavior: The callback is called with no outputs.

    Flow Engine

    PRB1816146

    An interrupted flow marker shouldn't run during the 'Interactive' job The issue is caused by excess time being consumed by the interactive flow marker, preventing the 'Interactive' job from taking interactive work.
    1. Turn off all Flow Engine Event Handlers (com.glide.hub.flow_ engine.event_ handler.workers = 0).
    2. Run a long running flow.
    3. Update the transaction ID on the flow context to an already completed transaction ID.

    Expected behavior: The flow context shouldn't be marked 'Presumed Interrupted' by the Flow Engine Interactive Event Handler because this isn't critical work.

    Actual behavior: The flow context is marked 'Presumed Interrupted' by the Flow Engine Interactive Event Handler.

    Flow Engine

    PRB1818147

    Enqueue logic for queueing an interactive flow job doesn't work if there are more than one interactive jobs
    1. Set com.glide.hub.flow_ engine.event_handler. interactive_workers = 2.
    2. Trigger a long running interactive flow.
    3. Trigger one more interactive flow.

    Expected behavior: The second interactive flow should run in milliseconds.

    Actual behavior: The second interactive flow starts in 1-2 seconds whenever the second job is triggered.

    Flows (Family Channel)

    PRB1806316

    Selecting 'Advanced Options' in a flow with run users results in a blank screen A box should appear to the right of the screen that allows user selection, but instead a blank screen appears.
    1. Create any flow with Advanced options (add at least one user).
    2. Activate the flow.
    3. Open the same flow and select Edit flow.
    4. Select Advanced Options.

    Observe the broken UI page.

    Flows (Family Channel)

    PRB1820117

    Flow recommendations are not showing up on a 26.2 instance Adding triggers and actions to a new flow does not prompt any flow recommendations.
    1. Log in to Flow Designer.
    2. Create a new flow.
    3. Add triggers and actions.

    Notice that no recommendations appear.

    GRC Platform Plugins

    PRB1823897

    Smart Assessment global plugin changes Functionality for fetching and saving of dynamic values in impact automation is not present.

    Haraka (Glide)

    PRB1824231

    KB1709920

    sys_kagami_query_engine has an error on the column decision_last_msg Queries are not routing to postgreSQL after upgrading to Xanadu. Queries with 'group by' are attempting to route to Haraka, but are failing due to a syntax error.

    Refer to the listed KB article for details.

    Health Log Analytics (Family)

    PRB1825365

    KB1709665

    Health Log Analytics breaks after upgrading to Xanadu MID Server distribution is missing a bundled dependency (mid-loom.jar).

    Refer to the listed KB article for details.

    History Set

    PRB1806563

    KB1706740

    Duplicate comments are observed intermittently even after enabling a fix With a fix, the history set loader flow was modified to utilize the system property glide.history_ set.pull_journal _entries_from_journal_table. However, there are new instances of intermittent duplication issues, even with this property enabled. In these cases, duplicate records in the sys_history_line table originate from the sys_journal_field table.

    Refer to the listed KB article for details.

    HR Service Delivery Case Management for Lifecycle Events

    PRB1793474

    There is a discrepancy between instances related to the dictionary field 'Restricted access / Locked' deployed from sn_hr_er The dictionary 'Read only' should be set to false in a base instance, but it is set to true in some base instances.

    HTML Field Type Editor

    PRB1782444

    KB1648540

    When the 'close unordered list' tag is used in a template, a non-breaking space element gets added to the HTML field When a template is created on an HTML field and '/ul' tag is included , the issue occurs. Applying the template adds a space to the HTML field. The value is seen as; /ul.

    Incident Management

    PRB1818913

    The 'Create Knowledge' function on the incident table does not open the KCS-HTML template After changing the name of the article template from 'Incident-KCS article - HTML' to 'Incident-KCS article - HTML2' and attempting to create a Knowledge Base article for a closed or resolved incident, the article template does not open. Instead, users are re-routed to the default Knowledge Base page.
    1. Open the article template.
    2. Search for kb_template_incident_ kcs_article_html.
    3. Change the name from 'Incident-KCS article - HTML' to 'Incident-KCS article - HTML2'.
    4. Save the record.
    5. Open the closed/resolved incident.
    6. Select Create Knowledge.

    Expected behavior: It should open knowledge in kb_template_incident _kcs_article_html.

    Actual behavior: It redirects to the default Knowledge Base page.

    Innovation Management

    PRB1824475

    An HTML type field toolbar option is missing in Xanadu upgrade In the TinyMCE field toolbar in the Idea Portal, there is no option for font or size selection.
    1. Provision an instance with the Innovation Management and Idea Manager Dashboard plugins installed.
    2. Navigate to All > Idea Portal.
    3. Once Idea Portal opens, choose one of the ideas.
    4. Scroll down to leave a comment.

    Notice that the TinyMCE toolbar does not allow font selection.

    Instance Data Replication (IDR)

    PRB1804034

    A bidirectional set is rolled back during upgrade, causing the upgrade to get stuck The user observes the error: 'Upgrade rolled back. A replication delay caused a synchronization issue, which could lead to data loss. Retry the upgrade after allowing replication to catch up.'

    Instance Data Replication (IDR)

    PRB1818163

    Caching issues with idr_instance_info upon upgrade This is a product update.

    Integration Hub

    PRB1812412

    After publishing, users observe an error in the 'Spoke activity' log After publishing, users observe an error in the 'Spoke activity' log: 'Invalid field name: [*]Unknown error. Check system logs for more details.'
    1. Create a spoke.
    2. Select Now Assist.
    3. Enter the context.
    4. Publish.

    After publishing, the user observes an error in the 'Spoke activity' log: 'Invalid field name: [*]Unknown error. Check system logs for more details.' Also the action is in 'Draft', not in 'Publish'.

    Integration Hub Stream Connect

    PRB1822182

    Allow read, update in kafka producer for read/updates from other application scope This is a product update.

    Key Management Framework (KMF)

    PRB1695875

    Make Key Management Framework (KMF) diagnostics page error messages more readable The error code or title, 'VAULT_SHOULD _BE_DISABLED_ WITH_FIPS_APPROVED _MODE', is not user-friendly.
    1. Check KMF Diagnostics a in FIPS (Federal Information Processing Standards) approved instance.
    2. Notice the errors in Vault Section.

    Expected behavior: Error code or title is end-user readable.

    Actual behavior: The error code or title is long and not user-friendly, and has the message 'VAULT_SHOULD _BE_DISABLED_ WITH_FIPS_APPROVED _MODE'.

    Key Management Framework (KMF)

    PRB1782883

    The Rotate IRK button is missing for active IRKs (Instance Root Key) in sys_kmf_external_key
    1. Provision an instance with the track/jdkupgradecompile build.
    2. Run the script to generate the IRK in the sys_kmf_external_key table new: sn_kmf_ns.KMFRootKey API().updateAllI RKMetadata();.
    3. Open the newly generated IRK.

    Expected behavior: The Rotate IRK button should be available to rotate the Active IRK.

    Actual behavior: The Rotate IRK button is missing.

    Key Management Framework (KMF)

    PRB1795479

    A region isn't updated in the glide.crypto.core .config.cache post-move A source datacenter is impacted even though the instance is moved to a different region. An error is thrown.

    Key Management Framework (KMF)

    PRB1800400

    IRK rotation fails after a cross-region move The user is unable to rotate an IRK when an instance with Bagheera is moved from one region to another.
    1. Perform a cross region move in the Washington DC and Xanadu instances.
    2. Verify that the move was successful.
    3. Navigate to the sys_kmf_external_key table.
    4. Try rotating the current IRK.

    Observe a failure to rotate IRK.

    Key Management Framework (KMF)

    PRB1810219

    The auto-resolve workflow doesn't wait for the timeout when checking the clone status The 'Instance rekey' job doesn't have the instance ID in the context, which results in the clone completing but the rekey status returning as a failure without waiting for the timeout. The clone exits with success, but the rekey isn't complete.

    Key Management Framework (KMF)

    PRB1819556

    Automations executing scripts through the run-node-script shouldn't cause excessive instance key deactivation Everytime the run-node-script executes, all instance keys fail to unwrap and are deactivated by the auto-resolution logic on the startup path. At scale, this causes an excessive growth of records in sys_kmf_instance_key.

    Knowledge Management

    PRB1810451

    The Preview Article with Blocks UI action does not work as expected The UI action Preview Article with Blocks on a published knowledge article opens a page that doesn't show the knowledge blocks listed in the right side panel under 'Blocks in Article'.

    MID Server

    PRB1818222

    Hide or disable ES12 toggle for MID tables ES12 is turned on by default starting Xanadu, and the MID server doesn't support ES12 features.
    1. Navigate to the MID script include
    2. Notice the Toggle button.

    MID Server

    PRB1819817

    Reduce default SFTP read/write buffer to 32768 from 32868 There are cases of import/export where the environment has some issues in handling the SFTP buffer size of 32868. Since import/export has not exposed any SSH configuration, users aren't able to reduce the buffer size.

    Mobile Platform

    PRB1811954

    DocumentData aren't saved to the SQLlite database When customized table metadata does not have a reference column for the dotwalk first field, mobile script throws instead of break, which causes the rest of the DocumentData not to be processed.
    1. Create a custom table extend task.
    2. Add a dotwalk condition in data item, like cmdb_ci.name.
    3. Navigate to offline, and ensure that cmdb_ci column is not the in the custom table definition.

    Observe that offline list of the custom table is empty.

    Mobile Platform

    PRB1828958

    Update mobile client script version in Xanadu This is a product update.

    Next Experience Unified Navigation

    PRB1805368

    KB1703778

    Use of home keyboard cursor navigation is broken in the Next Experience navigation filter input and end keyboard buttons in Xanadu Left, Right, Home, End, Shift+Home, Shift+End, Shift-Left, and Shift-Right don't move the cursor or select text.

    Refer to the listed KB article for details.

    Next Experience Unified Navigation

    PRB1806148

    Extra long contextual pill is pushing search, help, notification, and the user menu out of viewport Extra long text in the contextual menu is not truncated and causes spillover of the search and other icons.
    1. Log in to any instance.
    2. Navigate to any page that has a long title.

    Notice that the extra long text in the contextual menu is not truncated and causes spillover of the search and other icons.

    On-Call Scheduling

    PRB1819083

    The 'On-call schedules' (all on-call schedules) tab isn't loading The 'All on-call schedules' tab gets stuck at 'Loading'. The following error message displays in the console: 'TypeError: Cannot read properties of undefined (reading 'name')...'
    1. Navigate to on-call schedules.

      The 'All on-call schedules' tab is stuck in a 'Loading' state.

    2. Select My on-call schedules.

    Notice that if a user selects the 'All on-call schedules' tab, the display doesn't change and still displays 'My on-call schedules' tiles.

    Performance Analytics Dashboards

    PRB1807347

    Report widget titles are truncated on smaller widgets in dashboards The space for the refresh and other control buttons is reserved and left blank as of Washington DC, but this was not the case in Vancouver and prior versions.
    1. Navigate to any dashboard.
    2. Resize any widget to shorten the title.

    Observe that not all the space is used to display the title as of Washington DC.

    Performance Analytics

    PRB1816393

    Duplicating a shared visualization does not allow the owner to configure the visualization in VIZ-Designer An ITIL user with view access to a visualization can't configure the visualization.
    1. Create a visualization in VIZ-Designer as an admin and share it with an ITIL User with view access.
    2. Log in as an ITIL user and open the visualization that was shared with view access.

    The ITIL user gets a message that they can't configure it. They continue to be unable to configure it when they: duplicate the visualization, add the duplicated visualization to dashboard, unlink the duplicated visualization from the library from the widget options, and make a duplicated copy for above widget that is unlinked.

    Platform Analytics Migration API

    PRB1821090

    Flickering and no data to display issue with Agile dashboards after migration Custom content blocks flicker and display a 'no data to display' error message after switching from the Agile 2.0 Team dashboard to the Agile 2.0 Sprint dashboard.
    1. Provision an instance with the family plugin Agile development 2.0 installed and the store apps scrum-common and scrum-dashboards installed.
    2. Set up test data for the custom content blocks.
    3. Use the dashboard change list to switch to the Agile 2.0 Team dashboard to Agile 2.0 Sprint dashboard.

      Notice that custom content blocks are flickering before loading the data completely.

    4. Reload the page.

    Observe that some of the custom content blocks show a 'no data to display' error.

    Platform Analytics Migration Center

    PRB1814444

    Admins should observe confirmation messages when triggering migration and activation This is a product update.

    Platform Analytics Migration Center

    PRB1820289

    Widgets are reloading after tab switch for dashboards with multiple tabs after the Core UI Dashboard migration to Next Experience After migrating Agile development 2.0 core UI dashboards to Next Experience, widgets are reloading after switching between tabs for dashboards with multiple tabs.
    1. Install the family plugin Agile development 2.0.
    2. Install store apps scrum-common and scrum-dashboards. (View the attached the zips)
    3. Set up test data for the custom content blocks with the attached data setup scripts.
    4. Navigate to Platform Analytics > Dashboards.
    5. Navigate to the Agile 2.0 Team dashboard.
    6. Select PriorDB-Group in the top level filter.
    7. Navigate to Sprint Performance > Cycle time.
    8. Return to Sprint Performance.

    Expected behavior: They should not reload unnecessarily.

    Actual behavior: Widgets at sprint performance are reloading.

    Platform Runtime

    PRB1811012

    Selecting Take Questionnaire for a Work Order Task does nothing A questionnaire should be opened and agent should be able to answer and submit the questionnaire.

    Playbooks (Family Channel)

    PRB1817167

    The max length of field form fields on an activity definition is set to 255, which doesn't match the matching subflow's length of 2000
    1. Create a process with a 'User Form' activity.
    2. Add 25+ fields in the UI layout tab's Form fields field.
    3. Save.
    4. Refresh the page.
    5. Reopen the activity.

    Expected behavior: All fields should still be specified.

    Actual behavior: Some of the fields were cut off. During runtime, the cut off is seen in the activity context record.

    Predictive Intelligence

    PRB1802044

    The enable_workflow_similarity property is set to false in system properties This is a product update.

    Predictive Intelligence

    PRB1813440

    There is a training failure at the pre-processing stage when using numeric columns with sparse embeddings On a training workflow capability solution with numeric columns and TF-IDF(Sparse) embedding, training fails in the pre-processing stage.

    Train any workflow capability solution with at least one numeric column and TF-IDF enabled in the advanced solution settings.

    Observe that the training fails at pre-processing stage with column not found error.

    Reporting

    PRB1769845

    An email report has two attachments, one with the data and one with an error The user creates a scheduled report with a 'run as user' set who is a non-admin user and doesn't have access to the report. However, the user has access to the actual data the report is querying. The user selects 'Execute Now' and there is an email triggered with two attachments, one that says 'Access to this content denied based on report_view ACLs.', and the other with the data.

    Reporting

    PRB1815240

    Multi-pivot in Service Poral throws 'ERROR: An error occurred while generating chart' There's also an error in the logs: 'Uncaught Error: TypeError: leftMostRowValue [key].escapeHTML is not a function'.
    1. Navigate to the classic reporting module.
    2. Create a report:
      • Table: incident
      • Type: Multi-level pivot table
      • Selected columns: Assignment Group
      • Selected rows: Short description, Number
    3. Navigate to Service Portal > Service Portal Configuration.
    4. Select Designer.
    5. Add a page.
    6. Select any container.
    7. Under 'Widgets', select Report and drag it into the container.
    8. Select the recently created multi-pivot chart.

    Expected behavior: The chart renders.

    Actual behavior: 'ERROR: An error occurred while generating chart' displays.

    Resource Management

    PRB1784311

    When trying to select the Request Extension button on a resource plan from the project workbench, the 'Extend resource plan' pop-up appears empty A blank pop-up screen appears.
    1. Navigate to the project module and open any project.
    2. Under the related links, select something in the project workbench.
    3. Under the resource tab, select any resource plan.
    4. Select the Request Extension button.

    Observe that a blank screen appears.

    Resource Management

    PRB1805513

    When the property com.snc.resource _management. generate_daily_aggregates is true, records aren't generated in 'Resource Aggregates Daily' This is reproducible when resource aggregates is created for the first time with 1FTE.
    1. Set the 'com.snc.resource _management .generate_daily_aggregates' property to true.
    2. Create a resource assignment for a user.

    Observe that on the resource aggregate daily table, availability records aren't displayed correctly.

    Resource Management

    PRB1820666

    Resource reports are broken after Xanadu upgrade when the glide.sys.date_format is dd-MM-yyyy Before the upgrade, the resource report start date and end date was in dd-mm-yyyy format, but after upgrading to Xanadu it is in yyyy-mm-dd format.
    1. Navigate to Resource > Resource reports.
    2. Set Entity type to 'User', and select a user.

    Notice that the start date and end dates get populated automatically in yyyy-mm-dd format, and the end date cannot be changed.

    Search Administration

    PRB1776348

    The AI Search results page doesn't display translated values Translation prefixes are not populated when i18n debugging is enabled.
    1. Log in to Washington or Vancouver instance.
    2. Make sure to install AI Search and the German (or Any) language plugin.
    3. Search for a random keyword that fetches results from different tables such as change, incident, problem.
    4. Switch the language to German.

    Notice that the facet values in the left side panel and in the results are not translated.

    Seismic Framework

    PRB1807578

    A race condition comes out of multiple single sign-ons Users are intermittently taken to the incorrect URL.

    Server-side scripts

    PRB1796259

    Failure to instantiate a GlideElement during a sandboxed script execution can take down a node It should obtain the global scope to reinitialize GlideController instead of trying to traverse to global from the current GlideElement and, potentially, grabbing the sandbox scope instead.

    Server-side scripts

    PRB1821549

    'Undefined' isn't supported when using ScriptRuntime .evalSpecial

    ServiceNow Security Center (Family Release)

    PRB1812452

    The due date for critical update records 'End of Support: GlideEncrypter API' and 'Enable 3DES deprecation for Password2 Fields' should be updated The due dates for the following should be in future: 'Enable 3DES deprecation for Password2 Fields: 2025-01-30' and 'End of Support: GlideEncrypter API: 2025-07-31'.
    1. Log in as an admin.
    2. Navigate to the 'Customer action' page in the Security Center.

    Expected behavior: The due dates should be in the future.

    Actual behavior: Two customer actions have a due date that is too soon.

    Software Asset Management

    PRB1770287

    True-up cost calculation isn't correct for software model/ product/publisher results for single currency instances when the currency is set to anything other than USD True-up cost calculation isn't correct for software model/ product/publisher results for single currency instances when the currency is set to anything other than USD for employee license metrics. The true-up cost in the license metric result is correct. For multi-currency instances, the true-up cost calculation is as expected.

    Software Asset Management

    PRB1819212

    There's a localization issue in 'Potential savings' on single currency instances The issue arises from incorrect handling of currency settings during reconciliation, leading to localization issues in potential savings, calculations on removal candidates, and license metric results. The issue occurs because GlideAggregate calculations and dot-walks to the fx_currency fields return values in the system's reference currency, whereas GlideRecord's setValue function enters values in a user's session currency.

    Software Asset Reclamation

    PRB1815883

    There is a localization issue in potential savings, true up cost, over-licensed amount, and total spend calculation The defect arises from incorrect handling of currency settings during reconciliation, leading to localization issues in potential savings, calculations on removal candidates, and license metric results. The issue occurs because GlideAggregate calculations and dot walks to the fx_currency fields return values in the system's reference currency, whereas GlideRecord's setValue function enters values in a user's session currency.

    Source Control Engine

    PRB1789863

    KB1652375

    There is a failure to install an app with a dependency that was converted to 'application repository' mode Trying to install an app with a dependency on another app that was converted from a Store app into a developer app with 'application repository mode' results in failure.

    Refer to the listed KB article for details.

    Syntax Editor

    PRB1788757

    Upgrades/side loads are impacted when old JavaScript code is still being used by browser cache

    On an instance with an old release of Code Assist, upgrade or side load the latest version.

    Notice that the browser still has the JavaScript files from the old version cached, and it requires a hard refresh to load the latest code.

    System Events

    PRB1792583

    Flow Engine is unable to move a sysevent in the ready.node state back to ready when the sysevent table rotation record is deleted When the flow engine encounters sysevent records older than five minutes in the state ready.node, it should move them back to 'Ready' so they can be picked up by another node. This does not happen when the Table Rotation for sysevent has been deleted.
    1. Delete the record for Table Rotation of sysevent.
    2. Generate enough flow.fire event to load one node over its capacity so that an event can't be executed before five minutes.

    Expected behavior: The sysevent should go back to the ready state and be picked up by another node.

    Actual behavior: The sysevent stays in ready.node# state.

    Territory Planning

    PRB1810729

    An inactive adhoc agent appears on search and date change
    1. Navigate to CSM / FSM configurable workspace.
    2. Add an agent as adhoc in a territory until a date.
    3. Add the same agent to a different territory until a later date.
    4. Search / filter for the agent and change the date.

    Expected behavior: The agent should only be visible only under the second territory added.

    Actual behavior: The agent appears under both territories.

    UI Actions

    PRB1826799

    KB1709928

    setRedirectURL() does not work in Xanadu After upgrading to Xanadu, 'action.setRedirectURL()' does not redirect the user to the appropriate URL or page after UI actions are executed.

    Refer to the listed KB article for details.

    UI Form Administration

    PRB1797566

    There is an empty payload in some events emitted by Attachment UIB component An attachment payload is not captured on download and preview events in workspaces.

    UI Form Administration

    PRB1825488

    Workspace incorrectly saves FX currency fields when the locale is nl.NL When saving an fx_currency field value in workspace, the value is saved incorrectly. This does not occur when performing the same operation outside workspace.

    UX Framework

    PRB1758068

    Hidden tab labels are visible The tab-set 'hideLabel' property isn't honored in Washington DC, which results in tabs not being hidden.
    1. Open an instance with UIB / UXF installed.
    2. From any UIB workspace, navigate to a 'tabs' component with one or more existing tabs.
    3. Update the tab property by setting 'hide tabs label' to true and save.

    Expected behavior: Tab labels are hidden.

    Actual behavior: Tab labels still visible, seemingly no change.

    UX Framework

    PRB1818682

    UIB data broker sends empty context props as 'null' [type string] instead of null [type object].
    1. Navigate to Guided Setup module under Adoption Services Application.
    2. Select the Service Operations Workspace for ITSM product in the Configure Products tab.
    3. Select Continue.

    Observe an error notification reading: 'Please remove interaction ID from URL for single run guided setup.'

    Virtual Agent Designer

    PRB1826226

    LLM conversations should not make queries to sys_cs_topic_language Queries should not be made to sys_cs_topic_language, which is an NLU-only table.
    1. Start any LLM topic.
    2. Go through the topic by answering the questions.

    Expected behavior: There should not be any queries made to sys_cs_topic_language.

    Actual behavior: There are slow queries made to sys_cs_topic_language.

    Virtual Agent

    PRB1785278

    When the user filters a search, the exact search item shows up but the option to Show 10 more results appears The user should not observe Show 10 more unless the searched record count is more than 10.

    Virtual Agent

    PRB1816479

    KB1705481

    A choice list turns to English after expanding the list for more options The issue occurs in all eight languages.

    Refer to the listed KB article for details.

    Virtual Agent

    PRB1818411

    When search input is empty for a RAG search term and a test is run, eval is stuck in 'In progress' Parent skill does not receive the response of the child skill.
    1. Create a child skill which takes input as skill input and publish it.
    2. Create a parent skill and add the child skill as tool.
    3. The prompt of the parent skill should contain the response obtained from the child skill.
    4. Publish the parent skill.
    5. Run the test and verify that the response in successful as expected.
    6. Run the same parent skill using an API.
    7. Observe the response of parent skill.

    Expected behavior: The parent skill input prompt should contain the response of the child skill and use it to generate a final response.

    Actual behavior: Parent skill does not receive the response of the child skill.

    Virtual Agent

    PRB1818624

    Search is down while the Washington DC xnowassiststable to upgrade is in progress This impacts Washington DC instances upgrading to xnowassiststable. It was noticed that Now Assist GRs were not returned during the upgrade until the end of the loading plugins stage. During the upgrade perform search from the service portal, the search is down and regular search results show, but not GRs. GRs should be returned during upgrade.

    Virtual Agent

    PRB1819306

    Retry mechanism for evaluation on large datasets This is a product update.

    Virtual Agent

    PRB1819726

    Invoke FDIH API in non-interactive mode if request coming from NASK This is a product update.

    Virtual Agent

    PRB1822999

    CS_NODE_DETAILS cache size is inadequate After running performance tests against Now Assist Virtual Agent conversational catalogs, there is latency because the subject cache is small.
    1. Set up Now Assist Virtual Agent with conversational catalogs.
    2. Run a performance test against these topics.

    Notice that there is latency due to the subject cache being too small.

    Virtual Agent

    PRB1825262

    Attributes are not mapped as expected in sync mode of capability chaining This is a product update.

    Virtual Agent

    PRB1825821

    A legal disclaimer isn't translated when Virtual Agent is launched
    1. Provision an instance with Virtual Agent (VA) for LLM enabled and language plugins installed.
    2. Impersonate a user.
    3. Set the language preference to Japanese.
    4. Turn DT off.
    5. Launch the Virtual Agent chat.

    Expected behavior: The legal disclaimer should be displayed in Japanese.

    Actual behavior: Notice that the static text 'Answers generated by AI. Review for accuracy' isn't translated. It is displayed in English.

    Virtual Agent

    PRB1826752

    The RAG tool throws an error when passing the '$' symbol in a query from a skill kit
    1. Add RAG as a tool to any skill.
    2. Pass '$' in the search query.

    Expected behavior: It should execute without any error.

    Actual behavior: It throws an error.

    Virtual Agent third-party integrations

    PRB1801347

    Inbound/Outbound images aren't sent/received

    Virtual Agent Web Client

    PRB1817416

    UI alignment issue on Now Assist Virtual Agent (NAVA) mobile responsiveness This a UI alignment issue in which the VA window cuts off to the left hand side of the site, and cannot be viewed properly.
    1. Open Customer Service Managment (CSM) portal in Android with a Chrome browser.
    2. Select the Virtual Agent (VA) icon.

    Observe that part of VA window is unaligned and is cut off on the left side of the site, and cannot be viewed properly.

    Virtual Agent Web Client

    PRB1817637

    'Reply' and 'Start new conversation' branding isn't translated
    1. Set up NAVA.
    2. Install Spanish.
    3. Set up DT and language detection.
    4. Log in to Service Portal as a Spanish user.

    Observe that the 'Reply' and 'Start new conversation' branding isn't translated.

    Work Order Management

    PRB1823305

    Work Order Template assignment groups are not honored When using Work Order templates and setting a specific assignment group, the group is not set and a different group is assigned. Additional fields that are configured on the work order templates can not be processed properly. As a result, fields like assignment_group that will be defined in the WOT of the work order template are not applied properly.

    Open a WO using a template with a defined Dispatch and Assignment group of type wm_dispatch.

    Notice that if the WOT template is viewed separately, there are no choice values in the select box for assignment group.

    Fixes included

    Unless any exceptions are noted, you can safely upgrade to this release version from any of the versions listed below. These prior versions contain PRB fixes that are also included with this release. Be sure to upgrade to the latest listed patch that includes all of the PRB fixes you are interested in.