Zurich Patch 9
The Zurich Patch 9 release contains important problem fixes.
- Zurich Patch 9 was released on May 5, 2026.
-
- Build date: 04-30-2026_1910
- Build tag: glide-zurich-07-01-2025__patch9-04-20-2026
For more information about the release cycle, see the ServiceNow Release Cycle.
For a downloadable, sortable version of the fixed problems in this release, click here.
Overview
Zurich Patch 9 includes 292 problem fixes in various categories. The chart below shows the top 10 problem categories included in this patch.
Changes in Zurich Patch 9
- Guarded script evaluator
- The guarded script evaluator enhances instance security by supporting only a restricted scripting language and detecting or rejecting untrusted scripts that use unsupported JavaScript features.
- JavaScript APIs supported by guarded script
- Review the JavaScript APIs that guarded script supports to help you analyze scripts in the Incompatible Guarded Scripts list and either rewrite them or create an exemption for them.
- Request Zero Copy Connectors
- Create zero copy connections and data fabric tables in Workflow Data Fabric Hub after requesting the Zero Copy Connectors app through the Now Support Service Catalog. If it isn't already installed, the app installs Workflow Data Fabric Hub.
- Review and update scripts incompatible with guarded script
- Review scripts that are incompatible with guarded script and either rewrite them to use supported features or create an exemption for scripts that can't be rewritten.
- Script sandbox environment
- The script sandbox environment is a restricted execution context in which untrusted, client-generated scripts run on the server using one of two evaluators: the guarded script evaluator or the script sandbox evaluator.
- Script sandbox evaluator
- The evaluator:
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 |
|---|---|---|---|
|
Database Persistence PRB2006319 |
ACL rules evaluated during twoPassQuery() pull in mostly empty GlideRecords for context | During dot-walks, ACL rules evaluated during twoPassQuery() often pull in mostly empty GlideRecords for context. This happens during script execution/condition evaluations. | |
|
Data Management Console PRB1949832 |
The 'Physical Table Stats Gatherer' job runs long due to an influx of a query with the hash 943940198 | This occurs after the user upgrades to Zurich. Due to the slow query, the job ran more than two days. | |
|
Platform Analytics Dashboard API PRB2008600 |
Platform Analytics Experience (PaE) tab translations don't work in non-English instances | The tab names should be preserved and not overridden. |
Expected behavior: The tab names should be preserved and not overridden. Actual behavior: The tabs now contain English names instead of the ones for the specific language. |
|
Server-side scripts PRB1989147 |
Unauthenticated URLs that include invalid URL encoding may redirect to an empty page |
Refer to the listed KB article for details. |
|
|
Service Portal PRB1886667 |
Korean consonants and vowels are separately returned when the user types into a variable using a keyboard in a portal page | . |
All other fixes
| Problem | Short description | Description | Steps to reproduce |
|---|---|---|---|
|
Activity Stream PRB1890722 |
Attachment details are displayed incorrectly in the workspace activity stream when attaching a duplicate attachment to an email | If an identical attachment is included on an e-mail, the sys_email_attachment record reports: Action: Filtered from Target Record and Action Reason: An identical attachment already exists on the target record. Additionally, the attachment is added to the sys_attachment table with the following document reference: Table Name: sys_email and Table Sys ID: Email Sys ID. As such, the attachment isn't returned in the activity stream event list. That means that the assumption that all e-mail attachments are also included in the activity stream is false. | |
|
Activity Stream PRB1971849 |
The acronym 'AI' needs to be localized in some target languages | This issue was observed in instances using the languages Spanish, Portuguese Brazilian, or French. |
Expected behavior: The acronym 'AI' should be localized in the target languages Spanish, Brazilian Portuguese, and French. This should also apply to the backend form of the requested item's 'Detailed Issue' description. Actual behavior: Observe that the 'AI' acronym still appears as 'AI' instead of 'IA'. |
|
Activity Stream PRB2004286 |
A user's filter is incorrectly keying the supplemental map with translated keys, leading to an empty activity stream after changing the language | A supplemental map is incorrectly keyed with a translated string. It's also not correctly handling the case where the key in the map doesn't exist, leading to an uncaught exception and the activity stream not loading. | |
|
Activity Stream PRB2008384 |
The Copy button on journal entries doesn't always copy text or notify users correctly | This is reproducible in UI16 and Workspace. |
Expected behavior: When rich text is copied, a notification should display saying 'Copied to clipboard'. When pasted into a plain text editor, there shouldn't be [code] tags around the text. Actual behavior: When rich text is copied, a notification doesn't display, and when pasted into a plain text editor, there shouldn't be [code] tags around the text. |
|
Activity Stream PRB2009281 |
AI Specialist 'reviewed by' subtitle is always shown on journal entries |
Expected behavior: The 'reviewed by' subtitle isn't displayed on AI Specialist posts. Actual behavior: The 'reviewed by' subtitle is displayed on all AI Specialist posts (for example, 'Work note reviewed by Abel Tuter'). |
|
|
Activity Stream PRB2009316 |
Gradient borders are missing for AI Specialist avatars |
Expected behavior: There should be a gradient border ring on AI Specialist avatars. Actual behavior: The gradient border ring is missing from AI Specialist avatars. |
|
|
Activity Stream PRB2009317 |
GlideActivity methods for supplemental data should be publicly available | A notification should be displayed with the text 'Test Success!'. | |
|
Activity Stream PRB2010277 |
Text is removed when typing fast in Robust Transform Engine (RTE) in Service Operations Workspace (SOW) | There is an issue with the timing of the post-button render. |
Expected behavior: All keystrokes should be recorded in RTE. Actual behavior: The cursor backups to a previous spot and users lose text. |
|
Activity Stream PRB2011239 |
Notify Seismic application users when an activity entry has been flagged for review | If the following conditions are true, on a page load, a page level user notification should be displayed indicating that there is a journal entry requiring review: 1. The instance is configured for participation in AI specialist workflow / notification (sn_aia.enable_ai_workers = true). 2. 'journalUnderReview' is set to a non-empty string. 3. 'journalUnderReview' is a valid sys_id that corresponds to a journal entry associated with the current document. 4. The URL doesn't contain a citation. | |
|
Activity Stream PRB2012881 |
Notify UI16 application users when an activity entry has been flagged for review | The page level notification should be displayed: '[User] has updated fields and work notes. Please review the work notes and fields for accuracy.' The notification should also contain a link titled 'Review work notes'. |
Expected behavior: Page level notification is displayed: 'AI Specialist has updated fields and work notes. Please review the work notes and fields for accuracy.' The notification also contains a link titled 'Review work notes'. When this link is selected, configured work note (WORK_NOTE_SYS_ID) is highlighted in the activity stream using citation highlight snake animation. Actual behavior: No notification is displayed. |
|
Activity Stream PRB2013162 |
Add filter a configuration, such as a slushbucket | This is a product update. | |
|
Activity Stream PRB2013164 |
Integrate translations into the Java REST API | This is a product update. | |
|
Activity Stream PRB2013167 |
Dynamic translations in the activity stream convert to Lit | This is a product update. | |
|
Activity Stream PRB2013171 |
Create a Java REST API | This is a product update. | |
|
Agent Chat PRB1960915 |
Live chat messages from agents aren't appearing in the end user UI | The indexedDB connection can be lost if the app background refresh is turned off and the app gets backgrounded/foregrounded. When this issue happens, Seismic code should be robust enough to error out properly without breaking the rendering mechanism. | |
|
Agent Chat PRB1989186 |
TaskUtilsSNC creates millions of sys_cs_collab_chat when Collaborative Chat is not enabled | The sys prop com.glide.cs.collab.enabled is false on the instance, meaning Collaborative Chat is not enabled on the instance. Despite this, there are millions of sys_cs_collab_chat records created. | |
|
Agent Chat PRB2006599 |
Locked out AI agents are also included during Zero Touch Service Desk (ZTSD) assignments | Only active agents who aren't locked out should be included for ZTSD assignment. | |
|
Agent Chat PRB2010436 |
Move Include AI agents related fields out of the 'Auto-assign handling' section |
Observe that the Include AI agents related fields are available in the 'Auto-assign handling' section. |
|
|
Agent Chat PRB2011112 |
Requesting a live agent doesn't create a work item in the NLU (Natural Language Understanding) flow in track/swarm |
Observe that the conversation ends without a work item sent to the agent. |
|
|
Agent Inbox PRB1998675 |
Dispatch notifications even when the service channel name is missing to avoid skipping notifications | dispatchNotification previously required serviceChannel.name to be true before playing any notification. If this field was missing (partial GraphQL result, timing issue, channel configuration gap), the function returned silently — no audio, no desktop notification, no log entry. | |
|
AI Agents (Glide Family) PRB2001449 |
i18n cache configuration is missing cache invalidation metadata | ||
|
AI Agents (Glide Family) PRB2013602 |
When creating a copy of the L1 AI Service Desk specialist, the minimum roles aren't copied over | When adding it to a team, the newly created AI specialist doesn't get the required roles, which happens because of ACL restrictions. |
Observe that the default roles needed for the AI worker to perform any action aren't copied over. The user only takes the roles from the assignment group. |
|
AI Experience Framework - Glide PRB2001757 |
Cachebuster isn't added to page_bundle request | ||
|
AI Experience Framework - Glide PRB2005399 |
An AI Experience virtual host path conflicts with another path |
Navigate to the Employee Hub home page. Observe a 404 not found error. It should load, but there's no way to configure the AI Experience virtual host site name. It's hard-coded. |
|
|
AI Experience Framework - Glide PRB2012305 |
AIUXKit oauth_entity has the scope_restriction_status as 'unrestricted', but it should be 'useraccount' with M2M scope mapping | The oauth_entity record for 'AIUXKit' has the scope_restriction_status set to 'unrestricted'. This should be set to 'useraccount', and a corresponding record in the oauth_entity_auth_scope_mapping M2M table linking the oauth entity to the 'useraccount' scope should be created. Without this fix, JWT tokens created using this oauth entity may cause session mismatch issues because the scope isn't properly set. |
|
|
AI Experience Framework - Glide PRB2015131 |
Turn on UI validation for 'Record Update' and 'Create Agent' | This is a product update. | |
|
AI Experience Framework - Glide PRB2018366 |
/api/now/aiux_service/sysprops does not enforce an allowlist | ||
|
AI Search (Glide) PRB1972570 |
The display value in 'Location' gives the sysID rather than the country code | The issue occurs in the latest Zurich, Yokohama, and Now Assist instances. sys_user.country is working but sys_user.location.country is not. | |
|
AI Search (Glide) PRB1991218 |
Any portal should be able to enable hybrid search | When the user tries to enable hybrid search on global search, enablement is blocked. |
Try to enable hybrid search on global search. Observe that enablement is blocked. |
|
AI Search (Glide) PRB1999484 |
KBB (Knowledge Block) checks break incremental indexing for some catalog child tables | ||
|
AI Search (Glide) PRB2006426 |
When a document with an attachment is removed by late binding, the next attachment where the user has access is also removed | When ds_document_version parent documents are filtered by an ACL and their children are skipped (the continue at line 516–518 bypasses the recursive child processing), the sys_attachment sparse cursor falls out of sync. It was built assuming every child would be processed in order, but skipped parents leave gaps. |
Expected behavior: KB3 should be displayed with an attachment. Actual behavior: KB3 is displayed but with no attachment. |
|
AI Search (Glide) PRB2008247 |
A negative offset isn't handled properly, which causes no results after moving to the next page |
Observe that there's no matches. |
|
|
AI Search (Glide) PRB2013447 |
Glide side configurations for context graph | The following Glide-side system properties are required for the Context Graph Reranker feature in AI Search. If these configurations are absent, the reranker doesn't function correctly or may fail silently. Ensure the following 3 system properties exist and are correctly configured: glide.ais.query.context_ graph_reranker _enabled (default: false), glide.ais.query. context_graph_reranker _max_rerank (default: empty), glide.ais.query. context_graph_reranker _scalar (default: empty). In SearchRequestConverter. toAISObject(), when converting an internal search request to an AIS query: If context_graph_reranker_enabled is true and the parameter is not already set via REST params or additional params, it adds contextgraph. reranker.enabled =true to the query. Only when the reranker is enabled, it conditionally passes max_rerank and scalar values (if non-empty) as additional REST parameters to the AIS engine. Without these properties, the Context Graph Reranker cannot be toggled on or configured, and overrides via REST parameters will not work as expected. | |
|
AI Search PRB1886370 |
AisHostnameProximityEstimator reads datacenter names from host names as case insensitive, but then compares them as case sensitive | ||
|
AI Search PRB1887375 |
'OR' conditions aren't correctly evaluated in Entity View Action Mapper (EVAM) lite | In SearchResultTemplateGenerator, there's logic to revert to legacy EVAM template engine if the condition is complex, but it doesn't currently catch 'OR' conditions. |
|
|
AI Search UX PRB1981121 |
Global search isn't working with zoom in/zoom out | Global Search in the Native UI doesn't return results when the filter navigator is pinned and the browser zoom is set to 125% or 150%. |
|
|
AI Search UX PRB1989246 |
When records are searched in global search, it isn't opening the form directly | When a user tries to search the incident number in the global search when the zoom size is 150% and left navigator is pinned, then the incident record isn't opening directly. It instead displays a search result page. However, when the zoom size is 100%, then the incident record is opening directly in a form page. |
Expected behavior: Users should see the incident form record directly. Actual behavior: Users are seeing the search results page. |
|
AI Search UX PRB1991340 |
Search input intermittently skips characters | The search input intermittently drops characters when users type quickly, especially under a heavy event load. |
Observe intermittent character loss. |
|
AI Search UX PRB1993790 |
The typeahead search results panel doesn't close and the search state becomes inconsistent after selecting a catalog item | In a portal, the typeahead search widget dropdown list doesn't properly reset or close after selecting a catalog item using a mouse interaction. After performing multiple searches and selecting catalog items from the search dropdown list: 1. The search results panel remains visible instead of closing. 2. Previous search result list remains rendered in the background. 3. In some cases, the search string becomes empty unexpectedly after navigation to the catalog item form. 4. The catalog item form loads, but the search state is inconsistent. |
Expected behavior: The dropdown list should close on selection. The search state should reset or behave consistently. No residual search results should remain visible. Actual behavior: The search results dropdown list remains visible after selection. The previous search list remains rendered. |
|
AI Search UX PRB2000828 |
The 'Async Genius Result Processor' Asynchronous Message Bus (AMB) channel subscription is delayed by session sync contention | The 'Async Genius Result Processor' sys_amb_processor record doesn't have dedicated_session_sync enabled. Without this flag, AMB subscribe transactions for this channel share the same global per-session lock as HTTP transactions. When long-running HTTP transactions are active in the same user session, subscribing to the Genius Result AMB channel is blocked waiting for the session lock, causing delayed delivery of Now Assist results. | |
|
AI Search UX PRB2002354 |
Conversational-agentic catalog results for NextWave should display a chat icon | In a regular search result for regular search terms, users should be able to see the chat icon. | |
|
AI Search UX PRB2004210 |
A Zing component isn't loaded with an error on the console: '__dyImp0(...).then is not a function' | Dynamic import fails as the component is already loaded by another module, in which case the dynamic import won't return a promise. |
Navigate to an instance with Zing. On the home page, notice that the search bar doesn't load and an error appears in the console. |
|
AI Search UX PRB2005193 |
Exact Match, when configured to honor conditions of search sources, should be configurable for a single application and not the entire instance | A system property called glide.search.exact_ match_use_search _source_filter enables all applications on the instance with exact match limited to those tables included in a search source and honors the conditions set within them. Users do not expect this feature to be enabled at the instance level, but require it to be enabled at the application level. | Set the system property glide.search.exact_ match_use_search_ source_filter to true. Notice how setting this property to true applies to all search applications. Instead, it should be enabled/disabled for a single application. |
|
AI Search UX PRB2006200 |
Synthesized answer loading card status text isn't fully visible in a narrow viewport when non-English locale text exceeds container bounds | When a user performs an AI Search query in a narrow viewport (reproducible via Chrome Responsive Design View on desktop) on Service Portal without enhanced chat, and with the session language set to a non-English locale, the synthesized answer loading card clips overlap its content. The loading status text and any action elements within the loading card might overlap together rather than wrapping or expanding the container height. The synthesized answer and the underlying search results continue to function correctly; the issue is limited to the visual presentation of the loading card during the analysis phase. The behavior is triggered by the longer text strings used for loading status messages in non-English locales. For example, the German loading status text 'Ihre Anforderung wird analysiert' (Analyzing your request) is significantly longer than the English equivalent, and the loading card container does not wrap to accommodate it in a narrow viewport. |
Expected behavior: The synthesized answer loading card displays the full loading status text without overlapping. The card container expands or wraps to accommodate the full text string regardless of locale or viewport width. Actual behavior: The synthesized answer loading card overlaps its content. The loading status text is not fully visible. The card does not expand to accommodate the longer German locale status text string in the narrow viewport. |
|
AI Search UX PRB2012802 |
Indexed source types shouldn't be hard-coded in the API | The AISIndexSourceAPI.fetchIndexingState() method only returns for internal type indexed sources. It should include all indexed sources. | |
|
Analytics Data API PRB2001019 |
Accept 'group by' selection for all variable types | When comparing to classic reporting, many variable types are not available for selection in the 'group by' component in the Platform Analytics visualizations. |
Notice that there's a lot more options available. |
|
Approvals PRB2012477 |
Glide changes to Intelligent Approvals | This is a product update. | |
|
Approval with E-signature PRB1955867 |
The Approval Reason field should be empty when no reason is provided | The field displays the message 'No approval reason provided' instead of being left empty. |
Observe that the Reason field displays the message 'No approval reason provided' instead of being left empty. This is a mismatch with the read-only Approval Reason field. |
|
Attachments to Records PRB1954868 |
The 'Delete' option is visible in the 'Attachment' section in workspace even after restricting the access to delete attachments in the Zurich version | The multi-attachment delete option (introduced in the Zurich version) still appears, and it displays the message 'Attachment deleted: The attachment attachment_name.type has been deleted from this record' even though the attachment isn't actually deleted. |
Observe that the attachment isn't deleted but there's a message coming up as deleted. |
|
Authentication Factors PRB2006510 |
The 'Soft Pin Enrollment' option (on the left panel menu and profile page) shouldn't appear for all users by default | The 'Soft Pin Enroll' page is accessible by all users, with no role requirement. However, it should be displayed when AI Voice Agents are installed and controlled by a property. | |
|
Authentication PRB1964259 |
When OpenID Connect (OIDC) authentication fails, users are redirected to /not_allowed.do |
Observe that authentication fails (as expected) and the user is redirected to [servicenow_instance_url]/not_allowed.do. |
|
|
Authentication PRB2013580 |
The Kaa-JWT custom URL audience support is broken | This field is auto-populated based on the failed test result. Any user that is inputted before saving is not retained. An error message occurs, 'Error Message = Execution = platform-authentication-mutual-auth-test@2026-04-13 02:05:52 Glide Version = 28.0.0.596.' | |
|
Automated Test Framework (ATF) PRB2012205 |
Verify the Automated Test Framework (ATF) environment in business applications (BA) for Glide | This is a product update. | |
|
Automated Test Framework (ATF) PRB2012206 |
Capture server logs along with client logs and turn on grep for both | This is a product update. | |
|
Automated Test Framework (ATF) PRB2012207 |
Track initiator for Automated Test Framework (ATF) test executions | This is a product update. | |
|
Automated Test Framework (ATF) PRB2012208 |
Support running a single Automated Test Framework (ATF) test (vs. a suite) | This is a product update. | |
|
Case and Knowledge Management for HR Service Delivery PRB2004389 |
The TableChoiceList cache is susceptible to corruption | Cached TableChoiceList items that are generated and returned by the ChoiceListGenerator can be mutated with the removeNone API. This leads to cache corruption when a user of TableChoiceList modifies the object. | |
|
Condition Builder PRB1771020 |
The Questions field does not properly scale in the UI for medium and large layouts in the between editor | The Questions field scales properly in the UI width for the size small, but is crunched when in the sizes medium and large. |
Notice that the layout is crunched only with the 'Between' operator. |
|
Condition Builder PRB1899557 |
Dot-walked Tags fields in Platform Analytics revert back to the original table | Dot-walked tags in the dashboard condition builder don't display the reference field. For example, they display 'Tags' or 'Caller Tags'. | |
|
Connections and Credentials PRB1980233 |
Refreshing invalid tokens via MID Server fails when using threshold-based token refresh strategy | There are errors with NumberFormatException in the MID Server's agent logs. |
Observe that there are errors with NumberFormatException in the MID Server's agent logs. |
|
Connections and Credentials PRB2015199 |
An initiator URL isn't returned when the AT has expired and the record is present in oauth_credential_list | ||
|
Content Analytics PRB2002450 |
JavaScript sandbox replacement for app-content-automation | ||
|
Content Experiences PRB2002443 |
JavaScript sandbox replacement of app-content-publishing | ||
|
Content Governance PRB2002459 |
JavaScript sandbox replacement for app-content-governance | ||
|
Contextual Search PRB2010418 |
An admin user isn't able to add more additional resources to the search context (cxs_res_context_config) table | ||
|
Customer Service Management PRB1967302 |
Inactive CSM knowledge bases were reactivated unexpectedly during the upgrade of an instance to Zurich | The user had inactivated CSM knowledge bases such as 'Consumer Service' and 'Customer Service', but noticed that the inactive CSM knowledge bases were reactivated during the upgrade of the instance to Zurich. | |
|
Database Persistence - Data Access PRB1983237 |
Multiple filters execution doesn't use the 'AND' operator as expected | When certain filters are called together, they should return empty results, but they don't. | |
|
Database Persistence - Data Access PRB1985999 |
'Add Sort' doesn't work as expected | The records aren't sorted. Queries like 'Give me name of user' or 'Give me email ids of users' work as expected, but if one more tag with any other filter is added, then those queries stop working as well. | |
|
Database Persistence - Data Access PRB1991710 |
In DirectSQL, the alias in ORDER BY isn't supported | This error limits significantly the use cases that the API can support, specifically around function fields/bucketing. | |
|
Database Persistence - Data Access PRB1995482 |
Filters aren't applied on some cyphers | ||
|
Database Persistence - Data Scale PRB1910342 |
Handing RR candidates present in glide.db.properties | ||
|
Database Persistence - Dictionaries PRB2008800 |
Support locale aware text searching sensitive columns and provide toggles to turn on/off UI and background transactions | This is a product update. | |
|
Database Persistence - Graph PRB1994994 |
'Add OR Clause' filter1 doesn't work as expected with 'filter2' | The filter returns records for 'A AND (B OR C)'. Instead, it should return records for 'A AND B OR C'. | |
|
Database Persistence - Graph PRB1999440 |
The before-query rule glide list conditions aren't resolved correctly when the field only exists on partition | An error is thrown, such as 'ERROR: column __src140_cmdb0.u_access_groups does not exist'. This happens with DBSqlParser/ForCypher. |
Observe that an error is thrown, such as 'ERROR: column __src140_cmdb0.u_access_groups does not exist'. It should use the partition instead of the root. |
|
Database Persistence - Graph PRB2011934 |
GraphQueryExecutor is returning an error | This is observed only when a filter is used when executing GraphQueryExecutor: 'FAILED: com.glide.db.DBGraphApiException: Error executing cypher: FAILED TRYING TO EXECUTE ON CONNECTION glide.6...'. | |
|
Database Views PRB1981902 |
The Raptor DB view has a mixed case prefix and a '.' combination errors out |
Notice that the execution errors out. |
|
|
Data Fabric Table Glide Services PRB2002718 |
Handle the entitlement check of the new ZCC App | The new ZCC app (sn_zcc_primary / sn_data_fabric_zcc) is not correctly handling the plugin ID after the ZCC app split. | |
|
Data Management Console PRB1979259 |
The data on Data Management Console (DMC) is inconsistent when the 'Stats gatherer' job runs | The data on DMC is inconsistent when the 'Stats gatherer' job runs because the latest available data is chosen, even when the data isn't completely generated. | |
|
Data Management Console PRB1995608 |
The 'Attachment' table size is not shown, or is shown incorrectly, in the top 10 largest tables | The 'Attachment' tables are not showing in the top 10 table grid, even if it has large size. The sys_attachment_doc stores attachments in binaries, which can be larger in size, but the size will be reported under the sys_attachment group. Both sys_attachment and sys_attachment_doc are reported under the sys_attachment table. | |
|
Delegated Development and Deployment PRB1992821 |
Impact handling of the Scripting Governance on/off switch | The feature may break when the switch is turned on or off. |
Observe that the feature may break. |
|
DirectSQL PRB2000506 |
A correlated sub query loses outer table references | The correlated condition is translated incorrectly, resulting in incorrect results. |
Run the following query: SELECT number, (SELECT COUNT(*) FROM incident AS x WHERE x.priority < incident.priority) AS lower_pri_count FROM incident ORDER BY number. Expected behavior: The query returns each incident with a count of how many other incidents have a strictly lower priority value. Incidents with priority > 1 should have a non-zero count. Actual behavior: Every row returns lower_pri_count = 0, because the correlated condition is translated as x.priority < x.priority (always false). |
|
DirectSQL PRB2006752 |
Incorrect handling of quoted table aliases in DirectSQL | SELECT 'alias'.'bar' from 'foo' 'alias' fails because some unquoting logic in getColumnTable is missing. | |
|
DirectSQL PRB2006863 |
There's an error in 'LIKE' expression processing when an expression is missing an ASTNode | While generally JSQLParser should have an ASTNode for every expression, there's a case in a query where that's not true. The IHS of the expression is irregular. | |
|
Discovery PRB1857955 |
Discovery jobs on Mutual Auth MID servers have a big increase in duration | Running Discovery using the mTLS MID Server can be a lot slower than using the Basic Auth MID Server. |
|
|
Discovery PRB1935593 |
Get pattern temporary variables and add it to allowlist temporary variables | For the patterns allowlist, users may need temporary variables to generate the content. After the pattern executes, it can fetch the temporary variables and add them to the allowlist temporary variables table. When the allowlist is generated, this content is used to replace the temporary variables with the actual value. | |
|
Discovery PRB1953520 |
ecc_queue input records are stuck in IP jail, causing status cancellation | IPs are placed in a jail if it is suspected that multiple IPs on a schedule belong to the same device. IPs are supposed to be released from jail when the discovery of the device is complete. When this occurs, the IPs are never released from jail. |
Refer to the listed KB article for details. |
|
Discovery PRB1972668 |
Systems Manager (SSM) starved all MID threads | SSM starved all MID threads on one user's MID Server, resulting in the MID becoming unusable due to all of the threads being stuck. All the threads are waiting on join() for the completion of a REST API call. The user was trying to discover 300 Linux Server machines. | |
|
Discovery PRB1988150 |
The IP duplicate/jail mechanism interferes with the new counting mechanism | Discovery is completed prematurely when using the new counting jobs. discovery_probes_tracker displays records as 'In Progress' for that status, which are stopped from being updated. |
Refer to the listed KB article for details. |
|
Discovery PRB2003122 |
The Amazon Web Services (AWS) resource inventory box pattern stopped launching after Zurich for a non-US date format | It has a display value that is different from the instance. |
Refer to the listed KB article for details. |
|
Discovery PRB2005873 |
Daisy chain isn't working when a schedule is canceled | If one schedule in the daisy chain is canceled, none of the subsequent schedules in the chain are triggered. |
Refer to the listed KB article for details. |
|
Discovery PRB2012126 |
The Applicative Credentials call is removed from AWSPowershellProvider | When the user runs a Systems Manager (SSM) Discovery on pattern that would use applicative credentials, the applicative credentials aren't being used as expected. | |
|
Document Management Services PRB2012474 |
Document led AI approvals for some experiences | This is a product update. | |
|
Dynamic Translation for Agent Chat PRB1989609 |
When an instance has Now Assist installed, Dynamic Translation for Agent Chat (DTAC) doesn't honor the Dynamic Translation (DT) setting in Conversational Interfaces |
DTAC (in either direction) only displays the globe icon or is honored when DT in Now Assist Admin Console is turned on for that language. |
|
|
Email Notifications PRB1997659 |
There's duplicate recipients in email notifications in HR Records | When navigating to the workspace and accessing any HR record, under the 'Emails' related tab, users observe that the notification displays duplicate recipients for the same email. |
Expected behavior: Each recipient should be displayed only once in the notification, without any duplication. Actual behavior: Duplicate recipients are displayed in the notification for the same email under the 'Emails' related tab. |
|
Embedded Help PRB1912461 |
Default values for properties in an instance must change due to the docs' site URL change | Due to a change in website vendors and their inherent URL structuring, the URLs generated by the in-product help function are broken. Some system properties must be changed. |
Refer to the listed KB article for details. |
|
Embedded Help PRB2008561 |
Update the list of allowed domains | ||
|
Employee Relations Case Management PRB2012556 |
Users can create more than one active Performance Improvement Plan (PIP) case for the same subject person |
Expected behavior: The case shouldn't be created and an error should be thrown. Actual behavior: It gets submitted and a new case is created. |
|
|
Event Management PRB1902287 |
Users can't uninstall sn_em_ai_overview and sn_em_ai_action because they're part of core-ui-components/'Core UI Components'/sn_core_ui_ponents | ||
|
Event Management PRB1930730 |
The graph reuse mechanism in CMDB grouping saves graphs that can contain CIs of more than 4 hops distance |
Observe that CI8 and CI6 create a CMDB group. However, alerts should not be grouped. |
|
|
Event Management PRB1994838 |
The EIF Listener Source field isn't correctly set for incoming events, and the extParam variable is inaccessible in JavaScript | After setting up an EIF listener, there's an issue with the Source field in the incoming events. Instead of displaying the EIF listener's name, the Source field shows either host names or IP addresses. This causes problems because users are unable to create accurate event rules. The reason is that the host names change frequently, and IP addresses can also vary over time. As a result, the user can't easily filter or group the events based on the listener's name, which is critical for event management and rule creation. In summary, the inconsistency in the Source field makes it difficult for the user to effectively manage their events, as the changing nature of host names and IP addresses creates complications when setting up filters and event rules. | |
|
Event Management PRB2006672 |
Service Analytics group alerts using RCA/Alert Aggregation can get stuck due to the usage of parallelStream() | There's a stuck thread due to AlertStreamClassifierGroupStats.updateStats. Only a node restart frees up the thread. |
Observe that it can get stuck under concurrent load. |
|
Event Management PRB2008110 |
MID Server isn't processing V1 traps | Users are sending both SNMP v1 and SNMP v2 traps from a target device. The SNMP v2 traps are consistently received and processed, while SNMP v1 traps are received with an empty node. |
See that there are no events with a node. |
|
Flow Engine PRB1937004 |
A script step reference input gives a string (sys_id) instead of GRProxyStatic | A compilation should have the action's script input as a reference, but the action's script step input is resolved to a string on recompilation. | |
|
Flow Engine PRB1988355 |
The base instance Unreferenced Record Cleaner rules on the 'sys_flow_*' tables have settings that can cause data loss | The rules have the following settings which could cause orphan records in other tables within the instance: 'Exclude archive: Checked/True Cascade delete: Unchecked/false', 'Clean audits: Unchecked/false', and 'Clean journals: Unchecked/false'. | |
|
Flow Engine PRB2014479 |
Add the roles 'taas writer' and 'taas reader' with API access only, and not with table ownership | Adding the role trigger_designer directly to policy_manager was evaluated and ruled out, as the 'policy manager' role should not have access to trigger the 'designer' role. | |
|
Flows (Family Channel) PRB2012618 |
Publish flows and actions scriptable API failure | The existing 'sn_fd.FlowAPI.publish(sysId)' fails with the following error: 'Could not publish flow as Action Instance: 'name' is not published'. This happens when a flow contains action instances that point at draft/unpublished action type references. The UI endpoint (/api/now/processflow/flow/{sysId}/snapshot) works fine for the same flows. | |
|
GlideRecord PRB1940425 |
Users are unable to install the Security Incident Response app due to an exception | ||
|
Hardware Asset Management PRB2011466 |
Failures in app-ham-atf-test and app-ham-eam-atf-test ITs | The reason for their failure is that they do some date arithmetics using multiple statements and variables, which are not allowed in the stricter execution model. | |
|
Health Log Analytics (Family) PRB1979839 |
EventHubs DI automatically specifies servicebus.windows.net as the domain name |
Set up an Azure Hubs data input. Observe that within the 'setNamespaceName' method, the FQDN is set to end in servicebus.windows.net. |
|
|
Horizon Avatar Component PRB2010763 |
The gradient border is missing for AI Specialist avatars in the activity stream for Seismic interfaces | ||
|
Horizon Image Component PRB1910414 |
The 'Image component' configuration panel is missing the Upload button and flow in the Platform Analytics dashboard |
|
|
|
HR Service Delivery PRB2004808 |
checkForActiveActivitySets() doesn't treat skipped dependencies as complete in combination and trigger, and there's a permanent journey stall after a Zurich upgrade | After refactoring checkForActiveActivitySets() in hr_ActivitySetTrigger from workflow_context.state to the activity set context state (Yokohama+), the method only checks state !== 'finished' and doesn't treat state = 'skipped' as a satisfied dependency. This causes combination and triggers with audience-filtered (skipped) dependencies to permanently stall; the AND condition can never be satisfied because skipped sets are treated as incomplete. This is an inconsistency within the same script include. |
Refer to the listed KB article for details. |
|
HR Service Delivery PRB2007007 |
The Copy to Interview Summary button isn't visible on Employee Relations (ER) Interview Summarization |
Observe that the 'Copy to Interview Summary' button isn't visible after the summary is generated. |
|
|
Inbound API Integration Usage Framework PRB2000833 |
Integration metering tables are not synced with the Content Data Service (CDS) instance | In Zurich, the intergration metering tables, such as sys_protected_data_ telemetry_inclusion and sys_integration_ metering_resource_ exclusion, are not connected to the CDS server for regular updates to the records in the tables. Instead, they must be manually updated by an admin user or a user with elevated privileges. When the Zurich instance is not connected to the CDS instance, no jobs exist in the cds_client_schedule with the name 'Integration Metering Protected Table' and 'Integration Metering Resource Exclusion.' | |
|
Instance Data Replication (IDR) PRB1994487 |
There's log message flooding: 'java.net.UnknownHostException' | ||
|
Integrated Email Client PRB1998008 |
Pre-send email client side validation checks | There have been multiple feature requests related to email handling within the Seismic client, including redaction of sensitive information and support for sensitivity labels before sending emails. | |
|
Interactive Filters PRB1996683 |
Support of dependent fields in cascading filters for both reference and choice type-fields | When using choice fields (not reference/M2M fields) as cascading filters in a Platform Analytics workspace, selecting a value in a parent filter doesn't narrow down the available values in child filters. | |
|
Issue Auto Resolution for Virtual Agent PRB1657388 |
Issue Auto Resolution (IAR) for HR isn't able to execute for users who remove HR roles from the 'admin' role due to internal data governance policies | Affects users using IT and HR products on the same instance. Due to the data internal visibility/governance policies, users have removed a number of HR roles (i.e. 'sn_hr_core.admin' role) from the admin role, resulting in users in the IT business units not having access to the HR side of the platform. Removing the roles from the admin profile prevents the 'system' user from executing the AutoResolution scripts includes. The 'system' user no longer has access to the HR tables of the instance, hence it can't extract the necessary information for auto resolution ML Configuration Language solution, auto resolution context, or write to HR records. |
Refer to the listed KB article for details. |
|
Key Management Framework (KMF) PRB1950812 |
The SEK rekey job fails if the data is double-encrypted |
Expected behavior: The SEK rekey job processes all records, including the KMF + SEK encrypted records. Actual behavior: The SEK rekey job fails because the data is double-encrypted. |
|
|
Knowledge Blocks PRB2000541 |
There are formatting issues in the KB article view compared to the 'Details' tab view | There are differences in the formatting of the KB article between the 'Details' tab and the 'View article' view. |
Notice that the formatting in the KB article 'Details' tab and the 'View article' view are different. |
|
Knowledge Graph PRB1992934 |
knowledge-graph has two screens with circular dependencies | UI Builder (UIB) has login and performance issues due to erroneous creation of uxf records. The root cause has been identified due to the circular dependencies between the parent and child screen records part of same screen collection, causing the UIB duplicate variant logic to run endlessly. |
Refer to the listed KB article for details. |
|
Knowledge Management PRB1976775 |
A KB's article title is empty under the 'Event property values' column in the 'Article Title' report |
Observe the exported report contains an empty field under the first column labeled 'Event property values'. |
|
|
Knowledge Management PRB1988136 |
Users can associate the same article as a related article from kb_knowledge | Add an 'abort' action business rule when the related article matches the knowledge article on the kb_2_kb table. |
Observe that from the related list 'mapping record' achieved on step 4, users can edit the mapping record to and add the same record as the related article. |
|
Knowledge Management PRB1994772 |
Navigating to 'Create Knowledge' displays the interceptor page | This occurs when the KCS plugin is enabled and the CSM table map is turned off. | |
|
Knowledge Management PRB2000521 |
Support for Knowledge blocks in ECE | Knowledge blocks are not supported in ECE. Ideally, blocks should be supported in ECE. | |
|
Knowledge Management PRB2005195 |
The KM Import Article conversion utility should be exposed as a callable API for external consumption by the GRC/IRM policy flow | The KM Import Article feature uses Apache Tika and Apache POI libraries for DOCX-to-HTML conversion and produces flexible, translation-safe HTML output. On the other hand, the GRC policy flow's current GroupDocs-based conversion, which applies static absolute positioning. To resolve the translation formatting issue in GRC's policy flow, the KM conversion utility needs to be exposed as a standalone API that GRC/IRM can consume directly--without requiring an existing Knowledge Article upfront and without deleting the source attachment document during processing. |
Observe that the output contains flexible/relative styling and there's no static absolute positioning. Compare against a Knowledge Article created via the GRC/IRM policy flow and note the static positioning difference |
|
Knowledge Management PRB2014078 |
Turn on the Apriel 2.0 model and set the new 3P model as the default | This is a product update. | |
|
KPI Details PRB1997302 |
Dates are unlocalized in French in now-date-time-input |
Observe that the dates are in English in the now-date-time-input section. |
|
|
List Administration PRB1963950 |
There's an undefined table name when opening a record in the task table list after a live update | When a new record is created in Service Operations Workspace (SOW) that differs in type from the last record in the custom 'Tasks' list, opening the newly created after live updates displays the message, 'The page you are looking for could not be found.' In the URL, the table parameter appears as 'undefined'. In the CSM/FSM Configurable workspace, the table name is reflected properly, but shows 'No record found'. |
Notice that it opens correctly. |
|
List Administration PRB1967492 |
An export fails when the filter is too long in Service Operations Workspace |
Observe that the export fails. |
|
|
List Administration PRB1989840 |
There's unintended creation of temporary list copies when refreshing a default list via address bar | When a user refreshes a default list by selecting the browser address bar and pressing Enter, the system creates a new temporary copy of the list and stores it under . When the page reloads, that view is opened. This happens without any explicit user action or intent to create or save a new list, and the newly created list is not shared with anyone by default. This behavior creates large volumes of unnecessary list views, leads to user confusion, and pollutes My Lists governance and storage with artifacts. |
Expected behavior: Refreshing a default list via the browser address bar doesn't create a list artifact. Actual behavior: A new temporary copy of the default list is automatically created. The list appears in , even though the user never requested a copy. The list is not shared with anyone by default. |
|
List Administration PRB1999574 |
The user has no information about who shared a list with them |
Expected behavior: There is some info or indication who shared the list. Actual behavior: The Fred Luddy user has no information regarding who shared this list. |
|
|
List Administration PRB1999583 |
The user can't re-order the lists 'Shared with me' lists or 'Opened by Link' to keep the important lists at the top and move less important lists to the bottom | Lists can't be re-ordered in the 'Shared with me' section in the 'My List' tab. |
Expected behavior: There should be a re-ordering capability to arrange the shared lists when there are many lists in 'Shared with me' section. This should also apply to the 'Opened by Link' list. Actual behavior: The user Fred Luddy can't reorder the lists in the 'Shared with me' section. |
|
List Administration PRB2009056 |
The Back button after grouping isn't working |
Observe a JS exception in the console, preventing the Back button action. |
|
|
MetricBase PRB1983655 |
Clotho XMLStats reports 'ONLINE' even when Clotho HA pair isn't replicating |
Observe 'ONLINE'. |
|
|
MID Server PRB2012665 |
MID Server upgrades fail because the mid.max.extract .file.size property default is too low | The MID Server property mid.max.extract .file.size property default of 500MB is too low for MID Server upgrades. Upgrades fail at the download/extract stage with the following errors, after the mid-core zip file has been successfully downloaded: '...Exceeds the maximum size (500000000). Unable to download package The size of uncompressed files is too big or too many entries in the zip file'. This fails before the MID Server is shut down, avoiding outages, but causes repeated failed upgrades, and the risks of running with an instance vs MID Server incompatibility, that generally has been known to break some features and cause data loss. |
Refer to the listed KB article for details. |
|
Mobile Experience for Field Service Management (Glide Family) PRB2007516 |
The 'My Schedule' calendar screen causes memory issues when it is enabled in offline in Mobile | The memory issues occur in offline because there is a record created for each event every day. |
Notice that the instance is stuck and the nodes goes down. |
|
Mobile Platform PRB1989348 |
Filtering with a date range doesn't work in offline | All the tasks are still displayed after applying the filter. |
Expected behavior: One task is picked and displayed after filtering on 'Expected start'. Actual behavior: All tasks are displayed after applying the filter. |
|
Mobile Platform PRB2006346 |
The offline V2 sync API returns cumulative table snapshots in each execution result | This issue has been present since Yokohama or earlier and affects the Mobile Agent during offline-to-online sync. When a user performs multiple record edits in offline mode and then reconnects, the sync API processes each queued action and generates a RefreshedDocument per execution result. Due to the cumulative snapshot behavior, each execution result incorrectly includes the data of all previously synced records — not just the one modified in that action. This causes the response payload to grow at an N² rate: N offline edits produce N² total records across all execution results. The impact is significant. Users who perform hundreds of edits in offline mode can experience sync payloads exceeding 100MB+, leading to severe performance degradation, potential sync failures, and a poor user experience at the moment of reconnection. |
Expected behavior: In the offline synchronize response, the for each execution result should only contain the record that was edited. Actual behavior: The for each execution result contains the data for both records in each execution result. |
|
Next Experience Unified Navigation PRB2003211 |
/api/now/ui/polaris/menu is slow to build the cache on login | 1000s of each of these queries are run to retrieve user preferences and screen accessibilities. It should be able to retrieve all of most of these items in 1 query. | |
|
Now Assist Nextwave Experience PRB2010718 |
Portal URL resolver mapping is broken in NextWave conversations | ||
|
Now Assist Panel PRB2009288 |
Feedback isn't updated in the Gen AI log table |
Expected behavior: Feedback should be updated in the Gen AI log table. Actual behavior: Feedback isn't updated in Gen AI log table. |
|
|
On-Call Scheduling PRB1976318 |
Duplicate incorrect records on the 'v_st_on_call_shifts _and_coverages_my_team' table for an on-call group | The issue is that it's rounding off 23:59 of the previous day as 00:00 of the current day, so there's an extra entry for 00:00 to 00:00. | |
|
On-Call Scheduling PRB1982308 |
On-call message number records aren't deleted when a user responds | On‑call message records are expected to be removed after acknowledgment. But this isn't happening, and they aren't deleted even after the user responds. |
See that records are created in on-call messages and in the 'Notify' table. But when the user responds, they aren't deleted. |
|
OneExtend PRB2010146 |
AI Agent user context isn't cleared out after the GenAI Skill call is completed | Records may be incorrectly marked as 'Updated by Now Assist'. |
Observe that the record is incorrectly marked as 'Updated by Now Assist'. |
|
OneExtend PRB2013928 |
JSON Web Token (JWT) and metadata are missing domain visibility information | The JWT API only contains a claim for the domain, and is missing the list of domains visible to the user. | |
|
OneExtend PRB2014491 |
Predictive Intelligence (PI) fails due to an API restriction by the PI team | An error is returned. | |
|
OneExtend PRB2017386 |
Now Assist jobs are running for extended periods and slowing processing | ||
|
Outbound REST Web Service PRB2001231 |
REST Message V2 doesn't support sending nor receiving OAuth credentials via MID Server | The MID Server can't be selected and OAuth credentials can't be sent as an authorization header via MID. |
Expected behavior: The MID Server can be selected, enabling the OAuth credential to be sent as an authorization header via MID. Actual behavior: The MID Server can't be selected. OAuth credentials can't be sent as an authorization header via MID. |
|
Performance Analytics PRB1979962 |
Slow execution of the 'Indicator Data snapshot status update' scheduled job |
Expected behavior: Since these are already captured in the table, it shouldn't take much time to run. Actual behavior: The DB call GlideAggregate is made again to get the row count. |
|
|
Performance Analytics PRB2000268 |
The wrong formula score is shown when filtered on multiple elements | ||
|
Platform Analytics Component API PRB1907336 |
The 'Created By' column values truncates after 10 characters in the Data Visualization library for Platform Analytics | ||
|
Platform Analytics Component API PRB1979509 |
API changes to support date filtering for 'ON' and 'NOT ON' operators in Date fields on the list visualizations of Platform Analytics | There's an issue where date filtering doesn't work for 'ON' operator in Date fields on the list visualizations of Platform Analytics. This happens because the 'ON' operator also has a time selection option along with the date picker. For the 'ON' operator, it should only be the date selector, the time selector shouldn't exist there and API should support it. |
See that the filter isn't applied and the results aren't filtered. |
|
Platform Analytics Component API PRB1996045 |
The 'Dashboard' view count isn't updating for Core UI dashboards when the execution time is 0ms | The job report 'View events' process appears to failing due to an undefined string being passed to it. There are errors after upgrading to Zurich. | |
|
Platform Analytics Component API PRB2005345 |
Enable grouping on the Glide list field type | ||
|
Platform Analytics Component API PRB2005346 |
Calendar improvement of color highlighting based on field styling | ||
|
Platform Analytics Component API PRB2005359 |
Breakdown relations support for the 'Indicator Scorecard' API | ||
|
Platform Analytics Dashboard API PRB1846141 |
Certain missing properties for a visualization can cause side effects | Some impacts include drilldowns in a dashboard not working, and the Save button being enabled without any edit. | |
|
Platform Analytics Dashboard API PRB1974613 |
Color cache for mobile visualizations doesn't evict when there is a database update | The DB update isn't reflected in the API response as the cache still has the old color code value. |
Expected behavior: The color code should be returned as #5EABDF for incident state 8. Actual behavior: The DB update isn't reflected in the API response as the cache still has the old color code value. |
|
Platform Analytics Dashboard API PRB1993476 |
sys_translated records are deleted unexpectedly when updating a tab name on a dashboard in Japanese |
Refer to the listed KB article for details. |
|
|
Platform Analytics Dashboard API PRB1998900 |
Tab name translations find an incorrect translation value | ||
|
Platform Analytics Dashboard API PRB2002552 |
Due to VCS update set collision, a dashboard save fails with a generic error: 'Your dashboard could not be saved' | This problem only happens in scopes with VCS-controlled apps, no matter where users create the dashboard. The important factor is whether the scope has a repo configuration set. | |
|
Platform Analytics Dashboard API PRB2005188 |
Override the scope of any par_dashboard_* record with the scope received from the dashboard | ||
|
Platform Analytics Migration API PRB1956520 |
Support the migration of a tab name and dashboard name translations |
After migration, users with the German language should see translated tab names. |
|
|
Platform Analytics Migration API PRB1997683 |
Partial dashboard migration and rollback from a non-global domain creates duplicate records inside the domain |
Observe that the Core UI dashboard isn't accessible from the ACME domain after rollback. Also, when users migrate a global Core UI dashboard inside a domain, then duplicate bridge records are generated. |
|
|
Platform Analytics Migration API PRB2003609 |
After migration, widget settings are lost | All of the widget related properties (follow filter, header settings, etc) should be migrated to the widget_props of par_dashboard_widget table. |
Expected behavior: The header alignment settings are migrated. Actual behavior: The header displays with the default settings. |
|
Platform Analytics Migration API PRB2010427 |
Turn off auto-conversion of homepages to CoreUI dashboards after upgrades | 1000 homepages are migrated every day, and it triggers a business rule that migrates CoreUI automatically. | |
|
Platform Runtime PRB2014434 |
The Granular Delegation API isn't returning any results | ||
|
Playbooks (Family Channel) PRB1992485 |
Remove sys_ids from Playbook-fetched telemetry metrics | Process definition information isn't included as part of data that is captured. | |
|
Playbooks (Family Channel) PRB1999600 |
Playbook with questionnaire activity is not activated by default in Yokohama instances | When apps are uploaded from Nexus or from a zip file, and they contain playbooks with questionnaire activities, those playbooks are missing trigger data. When a playbook has a questionnaire activity, a line gets added to the XML that causes everything after that line to fail to load. | |
|
Playbooks (Family Channel) PRB2009677 |
The complex object's format is different for playbook output/input | The flow gives an 'com.snc.process_ flow.exception. ProcessAutomationException: Could not serialize value' error when running playbook. | |
|
Playbooks (Family Channel) PRB2012190 |
When any one pill value is null, it returns null for the value of the whole input field | This happens for any multi pill-text inputs. |
Expected behavior: The dynamic input value returns for the other 2 dynamic inputs set. Actual behavior: The whole dynamic input value is set to empty. |
|
Project Management PRB2007616 |
Duplicate investments are created | ||
|
Record Hierarchy PRB2011614 |
When a record hierarchy status record is deleted, performing reconciliation should correct it | A message appears saying that reconciliation has been scheduled, but no sys_record_hierarchy_status record is created and no event is posted to sysevent. |
Notice that a message appears saying that reconciliation has been scheduled, but no sys_record_hierarchy_status record is created and no event is posted to sysevent. |
|
ReleaseOps - Family PRB1953573 |
The 'Integrate DR' subflow should fail on an unexpectedly already-committed update set | The deployment request doesn't fail and the update set gets committed twice. |
Expected behavior: The deployment request fails. Actual behavior: The deployment request doesn't fail and the update set gets committed twice. |
|
ReleaseOps - Family PRB1960603 |
Deployment Request (DR) is not the catching preview conflict in 'Test', and moves to 'Ready for Deployment' | Batch update sets show a preview problem that is not caught in 'Test,' but then moves to 'Ready to Deploy' even though the update set is still in 'Preview'. | |
|
ReleaseOps - Family PRB1966100 |
Deployment Analyzer forms are broken | Deployment Analyzer forms are empty, breaking reports. Users are unable to fix it because when they go to form layout, no fields are listed. |
Refer to the listed KB article for details. |
|
ReleaseOps - Family PRB2009674 |
A final operation tracker response may occasionally be overwritten in Zurich | When the user creates a record in sn_releaseopsbe_operation_tracker and creates certain sysevents, the operation tracker isn't updated. | |
|
Roles PRB2011087 |
Add the ability to turn off/deactivate the Scripting Governance Tool (SGT) with a kill switch | This is a product update. | |
|
Scripting Governance Tool PRB1967275 |
Unable to remove the 'snc_required_script_writer_permission' role from users in a domain separated instance |
Observe that a new record with the snc_required_script_writer_permission role is created. The domain path is again empty/incorrect. |
|
|
Service Catalog Components PRB1977677 |
The event 'Request generated' isn't triggered after using the catalog item in the Mobile variant | A new property called 'mode' was introduced on the catalog item component and defined in the now-ui.json file, which is responsible for exposing properties from the Seismic component to the UI Builder component. No default value was provided for this property in now-ui.json. As a result, when a new page is created and the component is dragged onto it, the mode property remains null by default. If 'mode' is standalone, the system proceeds with the submission and dispatches the request generated event. For any other value (or null), the submission doesn't proceed. The bug occurs because the code relies on JavaScript destructuring to set the default value for 'mode' as standalone which fails when 'mode' is explicitly present but set to null, as destructuring doesn't override null values. Therefore, the event isn't dispatched, and the request submission doesn't occur. |
Expected behavior: The system should submit the request and dispatch the request generated event. Actual behavior: The system doesn't proceed with request submission, and no request generated event is dispatched. |
|
Service Catalog Portal Widgets PRB1991914 |
Opening a TinyMCE PDF link in a new tab is blocked by Chrome when users click from a catalog item in a workspace where a Service Portal page is rendered in an iFrame | When PDF links are embedded into catalog items, clicking on the link directly from a workspace does not open the PDFs. |
|
|
Service Catalog Portal Widgets PRB2014263 |
Support view details and close in the interactive 'View status' page | This is a product update. | |
|
Service Catalog Portal Widgets PRB2014265 |
New widget option for prefill for Catalog forms to support chat history | This is a product update. | |
|
Service Mapping PRB1998724 |
'Create Layer 2' connections causes Out of Memory (OOM) errors if the device has many router interfaces | The creation of 'Layer 2 Connections ' can cause excessive memory and multi-node events. |
Notice that all the records will be used for calculation. |
|
Service Mapping PRB1998727 |
In the case of duplicate relation records in CMDB, not all CIs are populated in Manual Service | The issue is related to duplicate records in cmdb_rel_ci. When one of the duplicate records are removed, the services were populated properly. |
The entry point for the latest added CIs won't be added to the map. |
|
ServiceNow SDK (Glide) PRB2008680 |
Form metadata isn't fully unloaded in incremental download | All data from the last updated timestamp shown in sys_update_xml should get downloaded. Instead, form sections aren't downloaded. |
Scenario 1:
Expected behavior: All data from the last updated timestamp shown in sys_update_xml gets downloaded. Actual behavior: Form sections are not downloaded. Scenario 2:
Expected behavior: All data from the last updated timestamp shown in sys_update_xml gets downloaded. Actual behavior: Form isn't downloaded. Only the UI section gets downloaded. |
|
Service Portal PRB1979009 |
Catalog items' M2M category user criteria aren't considered in late binding | The Service Catalog is split by company, with some items viewable for some companies, and some for more than one. One form that should be visible to two companies doesn't display in the Service Portal search. The form is available for both companies and is in two categories. It can be seen in 'Services' by some users, but it doesn't appear in search results for the other company's users. |
Refer to the listed KB article for details. |
|
Service Portal PRB2002719 |
Field decorations no longer appear in Service Portal | The usage of g_form.addDecoration no longer works in Service Portal. |
Expected behavior: Field decorations display a star symbol on the Description field. Actual behavior: Field decorations don't appear. |
|
Service Portal PRB2005660 |
Tooltips on Date fields aren't shown when one of the fields in the record producer isn't visible on the form | There's an issue with the tooltip on date variables of the record producer in the Service Portal. When there are multiple Date fields and one (or more) of the fields is rendered based on some condition, or it's hidden, then the tool tip isn't shown for other Date fields on the form. |
Expected behavior: A tooltip is visible. Actual behavior: A tooltip isn't visible. |
|
Sidebar (Family Release) PRB1908427 |
The 'Util' menu keeps loading if there are no conversations yet |
Observe that when there are no discussions that the user is a part of or started by, the 'Util' menu keeps loading for that user. |
|
|
Software Asset Management PRB1975702 |
Total_spend/true_up_cost/over_licensed_amount/potential_savings values at the publisher level are set to 0 | This happens even though Product_results have those values. The issue is due to missing code when creating the product results that don't have the SM. |
Observe that the potential saving value is set to 0, even though some products have the potential saving value. |
|
SSH MID Server Communication Protocol PRB1999773 |
The SSH connection fails with an error: 'Protocol version ID is too long' | This issue is happening because the SSH protocol version string and a different packet arrived at the same time. The buffer limit on the version string applied the limit on both packets, which caused a failure even though the version string size was within the buffer limit. | |
|
Standard Ticket Page PRB1969370 |
There's a random language translation on a request in Portal | When users change the system language from non-English to English, the 'Activity' and 'Attachment' tabs in the service portal ticket page remain in non-English. | |
|
Tables and Columns Data Dictionary PRB2002096 |
A null pointer exception (NPE) occurs in ChoiceList#addNoCheck when the cache contains a null value, causing a 500 error on service portals | An NPE in ChoiceList#addNoCheck causes a 500 error on the Employee Centre portal (/esc) when the sys_choice_compiled cache contains a null entry for a user with a non-null country code. The issue was reproduced synthetically via cache injection. | |
|
Trace Collector - Family Release PRB2010222 |
Trace collector for Zurich | This is a product update. | |
|
Triggers (Family) PRB2012475 |
TAAS improvements for AI Approval | This is a product update. | |
|
Triggers (Family) PRB2014592 |
Trigger as a service | This is a product update. | |
|
UI Actions PRB2013168 |
Support Actions in AINPX | This is a product update. | |
|
UI Field Administration PRB1575910 |
When an activity stream pop-up is opened using a mouse, the user can interact with other interactive elements in the main content |
Notice that tabbing only moves between the Close Activity Stream button, Additional Comments field, Work Notes checkbox and the Post button. |
|
|
UI Form Administration PRB1889844 |
Base instance incident caller location auto-population doesn't work | There is a restriction on the sys_user.sys_id field which causes the issue, but that isn't relevant on the Native UI. |
Expected behavior: The Location field fills up automatically, as it does in the Native UI. Actual behavior: The Location field doesn't fill up automatically, even though it works fine in the Native UI with the same ACLs. |
|
UI Form Administration PRB1939423 |
Workspace record context isn't updating Now Assist Panel (NAP) on the initial load of the record | On the first load of the record, 'action.payload.context' doesn't have the table and sys_id of the opened record. When the workspace tab for the record is closed and reopened, it updates properly. On a Yokohama instance, it's correctly updated on the initial load. |
Expected behavior: 'Action.payload.context' has the table and sys_id of the opened record. Actual behavior: On the first load of the record, 'action.payload.context' doesn't have the table and sys_id of the opened record. When the workspace tab for the record is closed and reopened, it updates properly. |
|
UI Form Administration PRB1959255 |
g_form.clearValue shouldn't clear a choice field if the field is empty or has the default value | In Service Operations Workspace, the onChange client script only runs in the workspace if a reference isn't on the layout. | |
|
UI Form Administration PRB1988524 |
The copy/paste functionality is not working in the 'Email' section of the workspace. | This issue occurs after upgrading to Zurich. |
Expected behavior: The user is able to copy and paste. Actual behavior: The user is not able to copy and paste. |
|
UI Form Administration PRB2011302 |
An API /api/now/ai_agent/modified_fields call on a form load increases the browser time | An API call has been added for every form operation as part of the platform engine feature '/api/now/ai_agent/modified_fields'. | |
|
UI Form Administration PRB2013158 |
Form and client scripting work for Lit components | This is a product update. | |
|
UI Form Administration PRB2013160 |
Handle a graphql error for a boolean choice field | This is a product update. | |
|
Upgrade Center PRB1991306 |
On upgrade from Xanadu or Yokohama to Zurich, a 'Before' fix script runs even though it's not supposed to | The syslog contains relevant log messages. | |
|
Usage Analytics PRB1966686 |
There is a heap memory issue due to the queuedevents array growing uncontrollably | Unified Navigation breaks when legacyConfig becomes empty in the sessionStorage. This fix is for performance issues that occur when navigating between Next Experience pages. |
Notice that there is an error for trackingConsent and for the page freezing. |
|
Usage Analytics PRB2002024 |
There's an inaccuracy in IH transactions DEFN ID | The 'IH Usage' table has an accrual month logic, where the same record is updated every single day for the rest of the month. The IH transactions fabric credits DEFN ID only fetches the first day reporting of usage on a record, and not the rest of the 29 days. | |
|
UXF Macroponent PRB1899084 |
The technical dashboard override isn't applied when switching domains in UI Builder (UIB) |
Expected behavior: The overridden page variant should be displayed for the domain. Actual behavior: Only the global page variant is displayed in the domain. |
|
|
UXF Macroponent PRB2009619 |
Multiple stuck threads cause semaphore exhaustion, requiring a node restart | There's a stuck semaphore transaction related to the function createCacheablePageFragmentFromShell in CacheablePageFragmentFactory.java. This can lead to multiple threads being stuck with no option but to restart the node to provide relief. | |
|
UX Framework PRB1957790 |
An error page displays when adding parameters to a page variant after a Zurich upgrade | 'The page you are looking for could not be found' is displayed when setting a parameter condition to a page variant. | |
|
Versatile Node and Cluster Configuration PRB2002618 |
There's an AHA check failure due to a node_id mismatch from capitalizing the host name | Domain Name System (DNS) PTR (reverse-DNS) records can return host names with uppercase instead of the expected lowercase. The HostUtil.getHostname() should return lowercase. |
|
|
Virtual Agent PRB1997460 |
For Now Assist conversations, interaction.transcript contains all the smartlinks rather than just the sources shown to the chat requester |
Expected behavior: interaction.transcript should show the sources that are displayed to the chat request. Actual behavior: interaction.transcript shows all sources in the smartLinksData regardless of whether or not they are shown to the user. |
|
|
Virtual Agent PRB2004184 |
Update proxy URL from https://[proxy].servicenowlab.com to https://[proxy].service-now.com | ||
|
Virtual Agent PRB2004856 |
A premium chat upgrade should only apply to Zurich, not Australia | When a user is upgrading to NAVA April (17.0.x) version, if they are on Australia then they shouldn't get premium chat experience for Now Assist Portal (NAP). If they are on a Zurich version, they should get the premium chat experience for NAP. | |
|
Virtual Agent PRB2013144 |
A portal name is to be persisted in an interaction context | This is a product update. | |
|
Virtual Agent PRB2013145 |
Support AI_NATIVE_CHAT renderType on a full-page-wrapper-app | This is a product update. | |
|
Virtual Agent PRB2013993 |
The deployment channel for a conversation isn't populated in context variables | ||
|
Virtual Agent PRB2014827 |
Customize the NextWave search placeholder for AI Control Tower (AICT) assistant |
The search placeholder should be 'Ask Otto or search anything' for the AICT assistant. |
|
|
Virtual Agent PRB2015140 |
Multiple interactions are created during live agent execution | This only happens when a conversation is reset or abandoned. | |
|
Virtual Agent PRB2015460 |
Now Assist Portal's unread conversation count disappears after the execution is started via AI Agent triggers or Runtime APIs | ||
|
Virtual Agent PRB2015866 |
Handshake fails when it fails to load an in-progress conversation | The same error impacts async tool execution intermittently. |
Expected behavior: It should load the chat client successfully with a new or older conversation. Actual behavior: It keeps loading and throws an error. |
|
Virtual Agent PRB2016737 |
OnGlide Search Pipeline fails | The search pipeline is failing due to a hard-coded major version check. | |
|
Virtual Agent PRB2018098 |
AI agents incorrect are displayed on the Virtual Agent's topics list | On Virtual Agent, users see AI Agent in the 'View All Topics' section under the 'Others' category. But none of those agents are marked to be visible on that section. |
See that multiple AI Agents are visible there. |
|
Virtual Agent Web Client PRB1976753 |
Messages sent in the new chat are some times getting merged with messages in the previous chat | The new input is merged in the previous conversation. |
Notice the response from the previous chat sometimes show up in the new chat, and when refreshing the page, it's all in the same conversation, and the new input entered is merged in the previous conversation. |
|
Virtual Agent Web Client PRB1994795 |
On changing non-English languages, links are translating from 'password' to 'lösenord', breaking the link | In the Swedish language the, 'password' should be displayed as is. Currently, the link is broken due to it translating as 'lösenord'. | |
|
Virtual Agent Web Client PRB1998643 |
While requesting a catalog item in Now Assist Virtual Agent (NAVA), selecting the Skip button for a date/time question does not clear the date/time value in the Input field | While requesting a catalog item in NAVA, selecting 'Skip for a date/time question does not clear the automatically populated value in the Input field, which is generated based on the selected value of the date/time picker. The date/time value remains in the 'Input' field when the next question is presented, requiring the user to manually clear it before entering the answer for the current question. |
Expected behavior: The date/time value populated in the text Input field is cleared for the next question. Actual behavior: The date/time value stays in the text Input field. |
|
Visual Task Boards PRB1994303 |
In a Visual Task Board (VTB), the 'Select lane' menu displays lane values from all the boards available irrespective of the board selected to move | ||
|
Work Order Management PRB2010868 |
Attachments added through questionnaires aren't reflected/updated on the corresponding Work Order Task records |
Observe that the attachments aren't reflected or updated. |
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.