{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":42937,"path":"release-notes/australia-patch-3.md","title":"Australia Patch 3","bundle":null,"doc_type":null,"release":"australia","body":"\n# Australia Patch 3\n\nThe Australia Patch 3 release contains important problem fixes.\n\n-   **Australia Patch 3 was released on June 16, 2026.**\n    -   Build date: 06-12-2026\\_1106\n    -   Build tag: glide-australia-02-11-2026\\_\\_patch3-05-25-2026\n\n**Important:** For more information about how to upgrade an instance, see [ServiceNow upgrades](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/release-notes/upgrade.md).\n\nFor more information about the release cycle, see the [ServiceNow Release Cycle](https://support.servicenow.com/kb_view.do?sysparm_article=KB0547244).\n\n**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](https://support.servicenow.com/kb_view.do?sysparm_article=KB0743854).\n\nFor a downloadable, sortable version of the fixed problems in this release, click [here](https://downloads.docs.servicenow.com/enus/australia/rn/patches/PRBs-A03.00.xlsx).\n\n## Overview\n\nAustralia Patch 3 includes 502 problem fixes in various categories. The chart below shows the top 10 problem categories included in this patch.\n\n\\[Omitted image \"prb-chart-ap3.png\"\\] Alt text: Fixed issues grouped by problem categories bar chart\n\n## Security-related fixes\n\nAustralia Patch 3 includes fixes for security-related problems that affected certain ServiceNow® applications and the ServiceNow AI Platform®. We recommend that customers upgrade to this release for the most secure and up-to-date features. For more details on security problems fixed in Australia Patch 3, refer to [Australia Patch 3 security fixes](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB3035030).\n\n## Changes in Australia Patch 3\n\n-   **[Activate a pre-release feature](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-administration/activate-prerelease-feature.md)**\n\n    Activate a pre-release feature on the instance so your users can try it out and provide feedback to the product team.\n\n-   **[Activate Data snapshots](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/now-intelligence/activate-unlimited-breakdowns.md)**\n    -   Starting with Australia Patch 3, if the instance is eligible, this plugin is installed automatically.\n    -   Activate Data snapshots for each eligible indicator, either one-at-a-time or in bulk.\n-   **[Authentication release notes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/release-notes/authentication-rn.md)**\n    -   Email OTP as an authentication factor for AI voice service: Use Email OTP as a standalone factor, a primary factor, or a secondary factor in AI voice agent authentication flows. When a caller reaches the voice agent, a one-time password is sent to their registered email address. The caller provides the password to complete authentication.\n    -   KBA for AI voice service: Use the KBA setup to configure Knowledge-Based Authentication \\(KBA\\) for the voice channel. Choose from base system questions at both the identification level and the authentication level. AI voice service mappings are populated automatically from your Assistant Designer selection, so manually mapping voice services is no longer a mandatory step in the KBA setup.\n    -   Authenticate callers at the start of every call: Prompt callers for authentication or identification details at the start of every call, before the voice-only assistant responds to any request. Use the Authenticate at the start of the call option on the Assistant Designer's Caller verification page.\n-   **[Clone Admin Console release notes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/release-notes/clone-admin-console-rn.md)**\n\n    The ServiceNow® Clone Admin Console application copies data and metadata from one ServiceNow instance to another ServiceNow instance to easily synchronize your instances. Clone Admin Console was enhanced and updated in the Australia release.\n\n-   **[Code Signing actions and required roles](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-security/cs-actions-roles.md)**\n-   **[Create a Universal Request from the Supplier Collaboration Portal](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/source-to-pay-operations/create-universal-request.md)**\n\n\n\n-   **[Data snapshots and multiple breakdowns](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/now-intelligence/multi-level-breakdowns.md)**\n\n    If you have Australia Patch 3 or later, the plugin is installed automatically on qualified instances.\n\n-   **[Data snapshots jobs and tables](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/now-intelligence/ds-jobs-tables.md)**\n\n    Instance Eligibility Check Job for Data Snapshots and Instance readiness for Data snapshots Scheduled jobs installed.\n\n-   **[Deactivate a pre-release feature](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-administration/deactivate-prerelease-feature.md)**\n\n    Deactivate a pre-release feature if it is not working as expected or if you no longer need the feature.\n\n-   **[Feature Preview Program](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-administration/feature-preview-program.md)**\n\n    The Feature Preview Program provides access to pre-release capabilities on your instance. You can activate, test, and provide feedback on individual features before they are generally available.\n\n-   **[Hermes background jobs](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/servicenow-platform/hermes-settings-background-jobs.md)**\n\n    These background jobs are associated with Hermes settings. The table lists their default run frequencies and descriptions.\n\n-   **[Hermes Settings page](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/servicenow-platform/c-hermes-settings.md)**\n\n    The Hermes Settings page is a centralized interface that enables Hermes administrators and maintenance users to monitor and control the configuration properties that govern the Hermes Messaging Service.\n\n-   **[Install Universal Request for Sourcing and Procurement Operations](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/source-to-pay-operations/install-universal-request-spo.md)**\n\n    Install the Universal Request for Source-to-Pay Operations \\[sn\\_fsc\\_ur\\_common\\] plugin to enable the Universal Request in Sourcing and Procurement Operations.\n\n-   **[Limitations and requirements for Data snapshots](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/now-intelligence/limitations-mlb.md)**\n\n    If you have Australia Patch 3 or later, the Data Snapshots \\(com.snc.pa.mlb\\) plugin is installed automatically on eligible instances. This includes instances with domain separation, but on such instances the Data snapshots feature is disabled when the first job runs.\n\n-   **[Manage a background job in Hermes Messaging Service](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/servicenow-platform/manage-a-background-job.md)**\n\n    Manage background jobs in Hermes Messaging Service to control when and how often scheduled tasks run. You can make a job inactive, re-enable it, or adjust its interval from the Hermes Settings page.\n\n-   **[Managing Hermes settings](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/servicenow-platform/manage-hermes-settings.md)**\n\n    View, modify, and manage configuration properties that control the behavior of Hermes Messaging Service. You can update property values, manage background job states, or adjust settings where automated detection is unavailable.\n\n-   **[Performance Analytics release notes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/release-notes/performance-analytics-rn.md)**\n-   **[Reviewing prediction errors with the Observability Dashboard](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/intelligent-experiences/prediction-errors-observability-dashboard.md)**\n\n    View this table's records directly by entering `ml_predictor_error_logs.list` in the navigator.\n\n-   **[ServiceNow AI Platform core feature release notes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/release-notes/core-platform-rn.md)**\n    -       -   Use the Feature Preview Program to choose which pre-release capabilities to activate and test on your instance.\n-   **[Theming for AI Search in Service Portal](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-user-interface/ais-sp-css-vars.md)**\n\n    `transparent`\n\n-   **[Update Hermes messaging settings](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/servicenow-platform/view-and-modify-a-hermes-property-value.md)**\n\n    Review and modify the current the Hermes configuration properties to control Apache Kafka integration, topic management, and other messaging behavior.\n\n\n## Notable fixes\n\nThe following problems and their fixes are ordered by potential impact to customers, starting with the most significant fixes.\n\n<table id=\"notable-fixes\" class=\"custom-rows\"><thead><tr><th class=\"filter\">\n\nProblem\n\n</th><th>\n\nShort description\n\n</th><th>\n\nDescription\n\n</th><th>\n\nSteps to reproduce\n\n</th></tr></thead><tbody><tr><td>\n\nChange Management\n\n PRB2021441\n\n [KB3032668](https://hi.service-now.com/kb_view.do?sysparm_article=KB3032668)\n\n</td><td>\n\nUnable to rollback the plugin 'com.snc.itsm. foundation.license \\_control'\n\n</td><td>\n\n \n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Access\n\n PRB2007256\n\n [KB2925734](https://hi.service-now.com/kb_view.do?sysparm_article=KB2925734)\n\n</td><td>\n\nThe text search doesn't return results in non-English languages\n\n</td><td>\n\nAfter downloading language plugins and switching the system language to a non-English language, results aren't returned when the property 'glide.db\\_ query.replace\\_ distinct\\_with\\_ groupby' is set to 'false.' When the language is set to English, results are returned.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nPassword2 Encryption\n\n PRB2015257\n\n [KB2978056](https://hi.service-now.com/kb_view.do?sysparm_article=KB2978056)\n\n</td><td>\n\nThere's excessive growth on the sys\\_rollback \\_incremental table and higher binlog generation due to the 'Mass Encryption' job\n\n</td><td>\n\nThis causes a large increase in the disk space on the database server.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nRelated Lists\n\n PRB2025356\n\n [KB3032264](https://hi.service-now.com/kb_view.do?sysparm_article=KB3032264)\n\n</td><td>\n\nA user can't add records in a related list because of the strict ACL check and missing ACLs for required roles\n\n</td><td>\n\nUsers with missing ACLs are not able to add new records in the related list due to a strict ACL check.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nServer-side scripts\n\n PRB1994381\n\n [KB3006010](https://hi.service-now.com/kb_view.do?sysparm_article=KB3006010)\n\n</td><td>\n\nDiscovery has issues on some node after upgrading in Australia\n\n</td><td>\n\nAfter upgrading to Australia, JavaScript running in app nodes fails to call Java functions. The following warning appears: '\\*\\*\\* WARNING \\*\\*\\* Evaluator: com.glide.script. RhinoEcmaError: undefined is not a function.' This impacts various features, including Discovery and Event Management.\n\n</td><td>\n\n \n\n</td></tr></tbody>\n</table>## All other fixes\n\n<table id=\"all-other-fixes\" class=\"custom-rows\"><thead><tr><th class=\"filter\">\n\nProblem\n\n</th><th>\n\nShort description\n\n</th><th>\n\nDescription\n\n</th><th>\n\nSteps to reproduce\n\n</th></tr></thead><tbody><tr><td>\n\nAccess Analysis Instrumentation API\n\n PRB1984283\n\n</td><td>\n\nAnalyze Access in any record's hamburger menu isn't working\n\n</td><td>\n\nAdding 'access-management' into the URL doesn't work either; it navigates to Access Analyzer's 'Analyze Permissions'.\n\n</td><td>\n\n1.  Navigate to any record in any table.\n2.  Right-click the header or select the hamburger menu.\n3.  Select **Analyze Access**.\n\n Expected behavior: The page redirects to Access Analyzer to analyze that record.\n\n Actual behavior: 'The page you are looking for cannot be found'. It navigates using the previous URL.\n\n</td></tr><tr><td>\n\nAccess Analyzer\n\n PRB1993028\n\n [KB2820230](https://hi.service-now.com/kb_view.do?sysparm_article=KB2820230)\n\n</td><td>\n\n\\(Access Analyzer\\) Instance scan jobs can hang and are not terminated due to checks not being optimized\n\n</td><td>\n\nInstance scan jobs triggered by the Access Auditor Suite, which is a part of the Access Analyzer \\(sn\\_access\\_analyzer\\) store application, may hang or fail to terminate. This may cause multiple jobs to accumulate over several days, consuming multiple workers and preventing other jobs from running. This may cause performance issues on the instance. This issue affects Access Analyzer \\(sn\\_access\\_analyzer\\) versions 6.0.0 through 6.0.5, as well as version 6.1.0.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nACL Engine\n\n PRB1998171\n\n</td><td>\n\nThe store\\_app\\_write\\_audit\\_acl table was created in a Store app scope instead of the global scope\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nActivity Stream\n\n PRB2005727\n\n</td><td>\n\nNavigation fails for sources beyond sliding windows in an activity stream\n\n</td><td>\n\nWhen selecting a citation source in an incident summary response, navigation doesn't work properly if the cited activity \\(comment or email\\) is more than three pages away or above the current activity stream view. The user receives a message stating 'The source may be hidden in your current view', even though the source exists and isn't filtered.\n\n</td><td>\n\n1.  Navigate to any instance on track/anowassist.\n2.  Open Service Operations Workspace.\n3.  Open a record with 200+ activity stream entries.\n4.  Scroll to a recent AI-generated response containing citation references.\n5.  Select **Show sources**.\n\nThe cited source \\(comment/email\\) should be an older entry — at least 3+ pages above the current viewport.\n\n6.  Select the citation link with work notes/comments.\n\n</td></tr><tr><td>\n\nActivity Stream\n\n PRB2008384\n\n</td><td>\n\nThe **Copy** button on journal entries doesn't always copy text or notify users correctly\n\n</td><td>\n\nThis is reproducible in UI16 and Workspace.\n\n</td><td>\n\n1.  Navigate to any relevant workspace.\n2.  Open any incident record.\n3.  Turn on the 'Rich text editor' in activity stream's **Compose**.\n4.  Add a work note or comment to the activity stream with some of the text set to bold.\n5.  Select the **Copy to clipboard** button on the new journal entry.\n\n 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.\n\n 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.\n\n</td></tr><tr><td>\n\nActivity Stream\n\n PRB2011415\n\n</td><td>\n\nAI skill attribution issue in an activity stream\n\n</td><td>\n\nActivity stream entry grouping logic should account for AI skills registered via setValueWithAuditIdentity. The grouping currently does not use sys\\_updated\\_by as the grouping key when UserAgentContext isn't set, so field-level audit entries attributed to distinct AI skill sys IDs along with the session user involved are not getting shown as expected.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nActivity Stream\n\n PRB2013162\n\n</td><td>\n\nAdd filter a configuration, such as a slushbucket\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nActivity Stream\n\n PRB2013164\n\n</td><td>\n\nIntegrate translations into the Java REST API\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nActivity Stream\n\n PRB2013167\n\n</td><td>\n\nDynamic translations in the activity stream convert to Lit\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nActivity Stream\n\n PRB2013171\n\n</td><td>\n\nCreate a Java REST API\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nActivity Stream\n\n PRB2016617\n\n</td><td>\n\nUnguarded Jelly expression in form.xml causes RhinoEcmaError warnings on every classic form load\n\n</td><td>\n\nOn any classic UI16 form load, the platform Jelly template evaluator throws a RhinoEcmaError warning in the system log. The warning is present on every classic form, regardless of application scope or record type. There is no functional outage; forms load and save correctly, and all transactions return HTTP 200 with normal response times. The main impact is high-volume system log noise.\n\n</td><td>\n\n1.  Log in to a Zurich instance.\n2.  Open any classic UI16 form record without a sysparam\\_citation query parameter in the URL.\n\nExample without activity stream: Navigate to /sys\\_dictionary.do and open any record.\n\nExample with activity stream: Navigate to /incident.do and open any record.\n\n3.  After the form loads, open the system log.\n\n Expected behavior: No RhinoEcmaError warnings are generated during a standard form load.\n\n Actual behavior: On forms without an activity stream, one warning entry is generated per form load. On forms with an activity stream, two warning entries are generated per form load.\n\n</td></tr><tr><td>\n\nActivity Stream\n\n PRB2018487\n\n</td><td>\n\nA citation URL is retained and fields are highlighted when a user logs in to an instance again\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Navigate to any instance with the 'Record Summarization' skill activated.\n2.  Open any incident in Workspace.\n3.  Ensure that the activity stream has several entries for the 'Record Summarization' skill to pick up.\n4.  Run the 'Record Summarization' skill.\n5.  Select a citation source that points to an activity stream entry.\n6.  Log out of the instance.\n7.  Log back in to the instance and return to the same record.\n\n Expected behavior: The citation URL shouldn't be preserved after triggering the citation source flow.\n\n Actual behavior: The URL that is created after selecting a citation source is preserved, and causes the citation scroll and highlight to trigger.\n\n</td></tr><tr><td>\n\nActivity Stream\n\n PRB2023624\n\n</td><td>\n\nFor the Core UI only, update the activity stream icon for AI specialist vs Agentic Workflow\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nActivity Stream\n\n PRB2033885\n\n</td><td>\n\nA new activity comment has the type as 'Field changes' instead of 'Comments'\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Open any incident in UI16.\n2.  Post a comment.\n\n Note that the comment type \\(top right of tile\\) is 'Field changes \\[dot timestamp\\]' instead of 'Comments \\[dot timestamp\\]'.\n\n</td></tr><tr><td>\n\nAdvanced Work Assignment\n\n PRB1996219\n\n</td><td>\n\nThe END\\_WRAP\\_UP event is published twice when wrap-up is timed out\n\n</td><td>\n\nThis behavior causes 'openframe\\_wrap\\_up\\_submitted' to trigger twice, which isn't expected while users are using OpenFrame to handle wrap up with external systems.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAdvanced Work Assignment\n\n PRB2026676\n\n</td><td>\n\nEnhanced updateSegment API \\(wrap-up\\) to support agent-initiated wrap-up\n\n</td><td>\n\nAs a CCaaS Developer, the updateSegment API should be able to be used in the CCaaS plugin. This API should allow users to update a wrap-up segment at the same time as closing/updating the segment without requiring a separate API call. This allows the voice plugin to support agent-initiated wrap-up. Agents should have the ability to initiate a wrap-up before the call ends. If the system has wrap-up with a timer, they should get a timer on the wrap-up modal to provide the count down timer until the wrap-up is submitted.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAgent Chat\n\n PRB1992614\n\n</td><td>\n\nDirty screens in Document Object Model \\(DOM\\) experience data loss if one of the middle tabs are closed, triggering a screen reorder and refresh\n\n</td><td>\n\nScreens between deleted screens lose edited data due to incorrect DOM detachment/reattachment. When incident is closed, screens 2 and 4 are removed. The updateChildren algorithm uses two-pointer comparison \\(from both ends\\). Elements at the ends that match are patched in place, but elements in the middle that need repositioning are moved via insertBefore. This movement triggers a re-render of sn-canvas-screen, and due to vnode-DOM desynchronization \\(the view renders a p but loadScreen manually replaces it with the macroponent\\), the section element is destroyed and recreated. This causes hook-insert to fire, which calls loadScreen again, recreating the macroponent and losing all unsaved data.\n\n</td><td>\n\n1.  Open the Service Operations Workspace list URL.\n2.  Navigate to an incident list.\n3.  Open any incident.\n4.  Select the **+** menu.\n5.  Select **Create Interaction**.\n6.  Edit the new interaction record fields.\n7.  Navigate to an incident record.\n8.  Open any reference field in a sub tab.\n9.  Close the incident record.\n\n See that the focus shifts to an interaction record and the edited field values are lost.\n\n</td></tr><tr><td>\n\nAgent Chat\n\n PRB1993857\n\n</td><td>\n\nAgent chat inbox notifications appear in HTML\n\n</td><td>\n\nThe incident card on the agent chat appears as HTML on a desktop notification.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAgent Chat\n\n PRB2000390\n\n</td><td>\n\nThe date format is incorrect in the Active Chat window\n\n</td><td>\n\nThe date/time format is displayed as 'MMM DD, YYYY HH:MM AM' instead of 'DD-MM-YYYY HH:MM:SS' in the Active Chat window.\n\n</td><td>\n\n1.  Enable the conversation history by navigating to **Conversational Interface** &gt; **Agent chat settings**.\n2.  Set the value for 'Number of conversations to display'.\n3.  Hop to an instance where Advanced Work Assignment \\(AWA\\) is configured in two browsers.\n4.  Log in as Abel Tuter.\n5.  Set the date/time preference to 'DD-MM-YYYY HH:MM:SS'.\n6.  Initiate a chat from the portal.\n7.  Connect to a live agent.\n8.  Log in as an agent.\n9.  Accept the chat.\n10. Close the conversation.\n11. Initiate a new chat.\n12. Connect to a live agent.\n13. Accept the chat as an agent.\n\nObserve that the previous chat conversation is visible in the Active Chat window.\n\n\n Expected behavior: The date/time format should display as 'DD-MM-YYYY HH:MM:SS' at the top of the Active Chat window.\n\n Actual behavior: The date/time format is displayed as 'MMM DD, YYYY HH:MM AM' in the Active Chat window.\n\n</td></tr><tr><td>\n\nAgent Chat\n\n PRB2013947\n\n</td><td>\n\nInbox Advanced Work Assignment \\(AWA\\) interactions are not presented according to the **Configuration** field and order for the walkup experience\n\n</td><td>\n\nWhen an agent receives multiple chats in Service Operations Workspace \\(SOW\\), they are initially displayed in descending order, with the most recent chat at the top. However, after a refresh, the chat order appears to change and seeimingly displays in a different order.\n\n</td><td>\n\n1.  Open an instance.\n2.  Impersonate an agent with the role 'system\\_administrator'.\n3.  Open SOW.\n4.  Set the agent status as 'available'.\n5.  Open the instance again in a new incognito tab, or in any another browser.\n6.  Initiate 4-5 live agent chats by impersonating the end users from Service Portal.\n7.  Check the order of the chats the agent received.\n\nNotice that it would be in descending order, with the most recent chat appearing first.\n\n8.  Refresh the page as an agent.\n\n Notice that the chat order is jumbled in a different order.\n\n</td></tr><tr><td>\n\nAgent Chat\n\n PRB2014178\n\n</td><td>\n\nOptimize the request to fetch previous interactions for a requester to show conversation history in Agent chat\n\n</td><td>\n\nIf there are no custom filters, there is no need to create the list of interaction records by going through all the returned records from the DB query.\n\n</td><td>\n\n1.  Enable the 'Conversation history' feature in Agent Chat settings.\n2.  Set the limit to 10.\n3.  Ensure that there's a large number of closed interactions \\(more than 100\\) for Abel Tuter.\n4.  Check the server memory in /stats.do.\n5.  Start a new conversation as Abel Tuter.\n6.  Accept the work item as Beth Anglin.\n7.  Ensure that the history shows in the agent chat.\n8.  Check the server memory again in /stats.do.\n\n Observe that the server memory has gone up significantly.\n\n</td></tr><tr><td>\n\nAgent Chat\n\n PRB2021490\n\n</td><td>\n\nEnhance the chat desktop notification\n\n</td><td>\n\nWhen the user selects the new chat message desktop notification, they should get focused back on the workspace tab. The workspace tab that the new chat message belongs to should also be focused and opened.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAgent Chat\n\n PRB2022900\n\n</td><td>\n\nAWA workItem responder changes\n\n</td><td>\n\nUpdate WorkItemResponder's onEnter and OnExit to add and remove notifications in the ui\\_notification\\_inbox table. Also, create a system property \\(glide.awa.work\\_item.notifications.enabled\\) to determine whether to show or hide user preference at the agent level.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAgent Chat\n\n PRB2022906\n\n</td><td>\n\nAdd user preference for app shell notifications\n\n</td><td>\n\nAdd support to display a new user preference 'Inbox Workspace Notifications' based on the system property glide.awa.work \\_item.notifications .enabled.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAgent Chat\n\n PRB2022911\n\n</td><td>\n\nNext Experience app shell changes\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAgent Chat\n\n PRB2022913\n\n</td><td>\n\nComponent inbox logger changes\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAgent Chat\n\n PRB2023682\n\n</td><td>\n\nAdd the interaction number to desktop notifications to differentiate between interactions\n\n</td><td>\n\nThe desktop notification should contain the IMS number to indicate which chat the notification is for.\n\n</td><td>\n\n1.  Enable desktop notifications in the Agent Workspace.\n2.  Start a live agent chat so that a new desktop notification is rendered.\n\n Expected behavior: The desktop notification contains the IMS number to indicate which chat the notification is for.\n\n Actual behavior: The desktop notification only says that a new chat arrived.\n\n</td></tr><tr><td>\n\nAgent Chat\n\n PRB2026678\n\n</td><td>\n\nDynamic wrap-up timer update on the UI when a call has ended\n\n</td><td>\n\nAgents should have the wrap-up timer updated automatically when CCaaS provides the wrap-up context after a call has ended. The wrap-up modal should be refreshed automatically without intervention. The wrap-up modal shouldn't require users to close or open to have the timer count down.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAgile Development\n\n PRB2022589\n\n</td><td>\n\nAdd 'None' choice to the **rm\\_epic.status** field and make it the default for new epics\n\n</td><td>\n\nThe **Epic Status** field \\(rm\\_epic.status\\) currently doesn't include a 'No status' option, which prevents epics from having an unset/neutral status. This causes ambiguity in reporting and makes it difficult to distinguish between epics that have not yet been assigned a status versus those intentionally marked as green, yellow, or red.\n\n</td><td>\n\n1.  Navigate to **Agile Development** &gt; **Epics** \\(or open an Epic from a board/backlog\\).\n2.  Open any active Epic record.\n3.  Select the **Status** field.\n\n Expected behavior: 'No status' is available as a selectable option to represent epics with no status assigned, enabling accurate status transition tracking for usage analytics.\n\n Observed: 'No status' isn't available as an option in the **Status** field list. Available options are limited to green, yellow, and red.\n\n</td></tr><tr><td>\n\nAI Agents \\(Glide Family\\)\n\n PRB2011068\n\n</td><td>\n\nData to Glide from offGlide isn't getting logged with the actual user\n\n</td><td>\n\nAny record update or creation doesn't have the created\\_by or updated\\_by set as the actual user.\n\n</td><td>\n\nMake a set cache call to Glide from offGlide.\n\n Observe that any record update or creation doesn't have the created\\_by or updated\\_by set as the actual user.\n\n</td></tr><tr><td>\n\nAI Agents \\(Glide Family\\)\n\n PRB2018916\n\n</td><td>\n\nAI Agent execution fails with 'Tool access denied' for triggering user after the update set migration\n\n</td><td>\n\nAfter migrating AI Agents \\(built in Agent Studio\\) from a development environment to a client test environment via update set, the agents fail to execute. The triggering user receives an error indicating that they don't have access to the agent's tools, and the agent never starts.\n\n</td><td>\n\n1.  In a source instance, build an AI Agent in Agent Studio with one or more tools \\(e.g. a subflow tool\\).\n2.  Configure the agent's ACL to allow any authenticated user to trigger.\n3.  Configure the agent's dynamic user with the snc\\_internal role.\n4.  Verify the agent runs successfully end-to-end in the source instance.\n5.  Capture the agent, its tools, ACLs, and dynamic-user configuration in an update set.\n6.  Move the update set to the target instance.\n7.  Commit it.\n8.  As any authenticated user on the target instance \\(admin or otherwise\\), trigger the agent.\n\n Observe that the agent fails to start. An error states that the triggering user doesn't have access to the agent's tools.\n\n</td></tr><tr><td>\n\nAI Agents \\(Glide Family\\)\n\n PRB2022336\n\n</td><td>\n\nCaching improvements for NextWave architecture\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Agents \\(Glide Family\\)\n\n PRB2022344\n\n</td><td>\n\nJava changes for conversation history support for a Knowledge Graph tool in AI Agent Studio\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Agents \\(Glide Family\\)\n\n PRB2022649\n\n</td><td>\n\nAI Agents are stuck indefinitely and the facts response is empty\n\n</td><td>\n\nWhen running AutoEval for the Enterprise Architecture Explorer – Query Agent, the evaluation run gets stuck indefinitely while processing certain questions and datasets. During execution, AutoEval doesn't progress to completion, progress keeps retrying without advancing, and the run never completes successfully. GenAI logs repeatedly show: 'JSON\\{ \"facts\": \\[\\]\\}Show more lines'. Despite retries, no new facts are generated and the evaluation pipeline makes no forward progress.\n\n</td><td>\n\n1.  Navigate to **Now Assist Skill Kit** &gt; **Evaluation Results Dashboard**.\n2.  Start an AutoEval run for:\n    -   Agent: Enterprise Architecture Explorer – Query Agent\n    -   Dataset containing multiple evaluation questions\n3.  Allow the run to process.\n\n Observe that the evaluation stalls on certain questions, AutoEval keeps retrying internally, and the run never completes.\n\n</td></tr><tr><td>\n\nAI Agents \\(Glide Family\\)\n\n PRB2025221\n\n</td><td>\n\nCache service intermittently fails and gets calls across different keys\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Agents \\(Glide Family\\)\n\n PRB2025859\n\n</td><td>\n\nThe OffGlideScriptObject. generateAuthorizationInfo API creates JSON Web Tokens \\(JWT\\) with current session users\n\n</td><td>\n\nThe API sn\\_cs\\_offglide. OffGlideScriptObject. generateAuthorizationInfo\\(\\) creates JWT with current user sessions, even though the userID value is passed in the request.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Agents \\(Glide Family\\)\n\n PRB2025974\n\n</td><td>\n\nA user session is logged out when opening AI-generated interaction records\n\n</td><td>\n\nThe user session is logged out when opening AI-generated interaction records that were created/updated by the incident\\_intelligence\\_agent. The interaction record remains in the WIP state, even though the associated conversation has been marked as faulted. The issue is specific to the in Service Operations Workspace \\(SOW\\) workspace view, as opening the same record in platform view works without issue.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Agents \\(Glide Family\\)\n\n PRB2030410\n\n</td><td>\n\nAn instance isn't invoking DARE calls due to new properties not being allowed in the cache configuration's invalidation script\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Turn on the DARE sysprop.\n2.  Open Now Assist Portal.\n3.  Run the utterance 'List my incidents'.\n\n Expected behavior: The response should be received from DARE.\n\n Actual behavior: The response is coming from NextWave.\n\n</td></tr><tr><td>\n\nAI Agents \\(Glide Family\\)\n\n PRB2030948\n\n</td><td>\n\nTools using data stream actions aren't able to retrieve data in NAVA\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Log in to an instance with user credentials.\n2.  In Service Portal, give an utterance, such as 'using smartsheet agents, look up groups stream'.\n\n Observe that the tool isn't able to retrieve data.\n\n</td></tr><tr><td>\n\nAI Experience Framework - Glide\n\n PRB1980207\n\n</td><td>\n\nImplement the logic of 'Mark as read' in the notification\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Experience Framework - Glide\n\n PRB1986457\n\n</td><td>\n\nThe icon color on notifications uses a hard-coded hash value\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Experience Framework - Glide\n\n PRB1994093\n\n</td><td>\n\n'Mark all as read' isn't working due to GlideRecordSecure and updateMultiple methods being used\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Trigger notifications to any non-admin user.\n2.  Log in.\n3.  Navigate to a portal.\n4.  Open a notification tray.\n5.  Select **Mark all as read**.\n\n Notice that it's not marking as read in the background.\n\n</td></tr><tr><td>\n\nAI Experience Framework - Glide\n\n PRB2010223\n\n</td><td>\n\nGlide assets release\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Experience Framework - Glide\n\n PRB2011879\n\n</td><td>\n\nAllow the 'Notification content' table to have separate records per experience\n\n</td><td>\n\nCurrently, users can only map a single experience for the portal. Allow the 'Notification content' table to have separate records per experience and also allow content configuration to map multiple experiences.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Experience Framework - Glide\n\n PRB2012479\n\n</td><td>\n\nAIX Webserver Glide integration\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Experience Framework - Glide\n\n PRB2018366\n\n</td><td>\n\n/api/now/aiux\\_service/sysprops doesn't enforce an allowlist\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Experience Framework - Glide\n\n PRB2024769\n\n</td><td>\n\nChat gate service uses a GlideRecord query with ACL evaluation, blocking non-admin users from reading the 'Deployment channel' table\n\n</td><td>\n\nIn chat-gate-service.js \\(line 13\\), the chatEnabled check uses glideRecord\\_query to query the 'Deployment channel' table. This evaluates all ACLs for the current user, so only admin users have the necessary read access to that table. Non-admin users are blocked from fetching chatEnabled, which prevents the chat from functioning for them.\n\n</td><td>\n\n1.  Log in as a non-admin user.\n2.  Navigate to an AI Control Tower \\(AICT\\) page where the chat is expected to load.\n\nObserve that the chat doesn't initialize because chatEnabled can't be fetched.\n\n3.  Log in as an admin user and repeat.\n\nThe chat works correctly.\n\n\n Expected behavior: chatEnabled is fetched successfully regardless of the user role.\n\n Actual behavior: glideRecord\\_query evaluates ACLs and denies non-admin users read access to the deployment channel table.\n\n</td></tr><tr><td>\n\nAI Experience Framework - Glide\n\n PRB2027126\n\n</td><td>\n\nAIX Webserver Glide integration\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Experience Framework - Glide\n\n PRB2027128\n\n</td><td>\n\nMigration in Glide\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Experience Framework - Glide\n\n PRB2027770\n\n</td><td>\n\nRemove the 'Applicability' table \\(sys\\_aix\\_applicability\\) and move the fields **applicable for** and **not applicable for** glide\\_list \\(user\\_criteria\\) into a multi-theme table\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Gateway\n\n PRB2010156\n\n</td><td>\n\nA scheduled job overwhelms a clickhouse service in sk8s with queries\n\n</td><td>\n\nAn app has a scheduled job that runs daily that uses a query service to query AI Gateway data for the previous day. There's a large number of instances querying at the same time \\(around 12,000\\), causing every clickhouse node in the cluster to hit its max concurrent query limit and start rejecting incoming requests.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Gateway - Security\n\n PRB2024062\n\n</td><td>\n\nAI Gateway security Q2 complete feature backport\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Search \\(Glide\\)\n\n PRB1951236\n\n</td><td>\n\nIn DirectUserImport, a multiple user match isn't reported\n\n</td><td>\n\nThe connectors create user mapping for the first matched user, but not for the second user without reporting an error for the second user.\n\n</td><td>\n\n1.  For a known user ID, create two users in sys\\_user with the 'First name' column containing the same user ID as the value.\n2.  Configure the 'first\\_name' column as a mapping field in the connector configuration.\n3.  Run user mapping crawl.\n\n</td></tr><tr><td>\n\nAI Search \\(Glide\\)\n\n PRB1986147\n\n</td><td>\n\nExtend branding properties to support the update to the dynamic landing page 'Search My Servicenow' placeholder\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Search \\(Glide\\)\n\n PRB2001677\n\n</td><td>\n\nA Knowledge Graph \\(KG\\) NLQ call should pass the caller ID in the **Caller** field, not meta\n\n</td><td>\n\n \n\n</td><td>\n\nIn an instance with KG, navigate to 'Make a kgnlq query'.\n\n Observe one\\_api\\_service\\_ plan\\_feature invocation. It doesn't match the design with respect to the **Caller** field.\n\n</td></tr><tr><td>\n\nAI Search \\(Glide\\)\n\n PRB2002346\n\n</td><td>\n\nWhen a KB only has an embedded KBB with embedded\\_match = false, the KB should send itself instead of the KBB\n\n</td><td>\n\nThe KBB content is sent to the LLM instead of KB.\n\n</td><td>\n\n1.  Create a KB titled 'abc' with some text content and an embedded KBB 'defhi'.\n2.  Perform a search for 'abc' in the search preview with the 'Now Assist in VA' profile in sys\\_generative\\_ai\\_log.\n\nObserve the KB is sent to the LLM.\n\n\n Expected behavior: The content of the KB is sent to the LLM.\n\n Actual behavior: Only the KBB content \\(defhi\\) is sent to the LLM.\n\n</td></tr><tr><td>\n\nAI Search \\(Glide\\)\n\n PRB2006426\n\n</td><td>\n\nWhen a document with an attachment is removed by late binding, the next attachment where the user has access is also removed\n\n</td><td>\n\nWhen 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.\n\n</td><td>\n\n1.  Create 3 KBs with an attachment.\n2.  Ensure that the KBs and attachments are relevant to a query \\(KB1 is most relevant. KB3 is least relevant but still matches a query\\).\n3.  Add an ACL to block the second KB but allow the first and third.\n4.  Force a late binding KB in ais\\_datasource or the 'everything by' property.\n5.  Query in a search preview as a user.\n\n Expected behavior: KB3 should be displayed with an attachment.\n\n Actual behavior: KB3 is displayed but with no attachment.\n\n</td></tr><tr><td>\n\nAI Search for Service Portal\n\n PRB2023882\n\n</td><td>\n\nThe 'View all results' option isn't available in the chat response shared by assistant\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Open an instance.\n2.  Impersonate the system admin.\n3.  Navigate to /csm portal.\n4.  Input 'How to repair fan fuse'.\n\n Expected behavior: The 'View all results' option is visible.\n\n Actual behavior: There is no 'View all results' option in the side panel bottom.\n\n</td></tr><tr><td>\n\nAI Search UX\n\n PRB1989246\n\n</td><td>\n\nWhen records are searched in global search, it isn't opening the form directly\n\n</td><td>\n\nWhen 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.\n\n</td><td>\n\n1.  Navigate to an instance where AI Search is turned on.\n2.  Update the browser zoom to 150%.\n3.  Pin the 'All' option in the filter navigator.\n4.  Copy any incident number.\n5.  Search with the incident number in the global search and press enter.\n6.  See the search results page.\n\n Expected behavior: Users should see the incident form record directly.\n\n Actual behavior: Users are seeing the search results page.\n\n</td></tr><tr><td>\n\nAI Search UX\n\n PRB1991340\n\n</td><td>\n\nSearch input intermittently skips characters\n\n</td><td>\n\nThe search input intermittently drops characters when users type quickly, especially under a heavy event load.\n\n</td><td>\n\n1.  Open any workspace/heavy loaded page.\n2.  In the global search, type quickly.\n\n Observe intermittent character loss.\n\n</td></tr><tr><td>\n\nAI Search UX\n\n PRB1994212\n\n</td><td>\n\nThe hidden description in the source code is visible in the chatbot for 'Order guide' and not for 'Catalog item' in Now Assist Virtual Agent \\(NAVA\\)\n\n</td><td>\n\nOn the catalog item, it's possible to hide the description using the following in the code source: 'div style=''display: none;'' TEXT TO HIDE &lt;p&gt;.' When attempting to do the same in the order guide, it's not working properly in the chatbot, and both texts are visible. This issue occurs only on the chatbot preview of the order guide, and not when consulting it directly from portal.\n\n</td><td>\n\n1.  Open an instance.\n2.  Navigate to /esc.\n3.  Enter the utterance, 'Standard Laptop'.\n\nNotice that the preview does not show the utterance since the description of the catalog item has the following: '&lt;div style=\"display: none;\"&gt; TEXT TO HIDE &lt;p&gt;'.\n\n4.  Enter the utterance \"Request Developer Project Equipment\".\n\nThe preview does show the utterance even though the description of the catalog item has the &lt;div style=\"display: none;\"&gt; TEXT TO HIDE &lt;p&gt;.\n\n\n</td></tr><tr><td>\n\nAI Search UX\n\n PRB1998976\n\n</td><td>\n\nSearch event records don't indicate the search mode \\(keyword, hybrid, or semantic\\)\n\n</td><td>\n\nWhen a search is executed in an AIS-enabled portal with Hybrid Search enabled on the corresponding search application, the resulting sys\\_search\\_event and sys\\_search\\_signal\\_event records don't capture the search mode \\(keyword, hybrid, or semantic\\) that was used to execute the query. This makes it impossible to distinguish query types in search analytics and signal data.\n\n</td><td>\n\n1.  Turn on Hybrid Search on a Search Auto-complete Configuration \\(SAC\\).\n2.  Navigate to a Dynamic Window-enabled portal that uses the configured SAC.\n3.  Perform a search in the portal.\n4.  Open the corresponding sys\\_search\\_event and sys\\_search\\_signal\\_event records generated by the query.\n\n Observe that neither record contains any field or indicator specifying the search mode used \\(keyword, hybrid, or semantic\\).\n\n</td></tr><tr><td>\n\nAI Search UX\n\n PRB2000828\n\n</td><td>\n\nThe 'Async Genius Result Processor' Asynchronous Message Bus \\(AMB\\) channel subscription is delayed by session sync contention\n\n</td><td>\n\nThe '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.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Search UX\n\n PRB2011697\n\n</td><td>\n\nRAG popular search suggestion reader doesn't consider sys\\_rag\\_search \\_suggestion.active\n\n</td><td>\n\nThe sys\\_rag\\_ search\\_suggestion records with active=false are still returned.\n\n</td><td>\n\n1.  Generate sys\\_rag\\_ search\\_suggestion entries.\n2.  Query the Suggestion API.\n\n Observe that the sys\\_rag\\_ search\\_suggestion records with active=false are still returned.\n\n</td></tr><tr><td>\n\nAI Search UX\n\n PRB2012802\n\n</td><td>\n\nIndexed source types shouldn't be hardcoded in the API\n\n</td><td>\n\nThe AISIndexSourceAPI.fetchIndexingState\\(\\) method only returns for internal type indexed sources. It should include all indexed sources.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Search UX\n\n PRB2014138\n\n</td><td>\n\n$sp-search- result-title-highlight --background-color in sp-variables.scss\n\n</td><td>\n\nThere is no default assigned for variable '$sp-search- result-title-highlight --background-color'.\n\n</td><td>\n\n1.  Log in to Portal with AI Search enabled.\n2.  Search for 'laptop'.\n3.  Navigate to the AI Search page.\n\n Notice that the variable '--search-result -title-highlight --background-color: $sp-search-result- title-highlight --background-color;' isn't resolved.\n\n</td></tr><tr><td>\n\nAI Search UX\n\n PRB2016024\n\n</td><td>\n\nSynthesized responses on a mobile sized screen don't display 'Show full answer' after truncation in Zurich on Safari\n\n</td><td>\n\nThe answer is truncated without the option to expand: 'Show full answer'.\n\n</td><td>\n\n1.  Find a Zurich instance with multi-content synthesized Genius Results \\(GR\\) working in Portal that can work on the Safari mobile browser.\n2.  Search for a term that would yield a synthesized GR.\n\n Observe that the answer is truncated without the option to expand: 'Show full answer'.\n\n</td></tr><tr><td>\n\nAI Search UX\n\n PRB2021873\n\n</td><td>\n\nFacets aren't rendered as the sensitivity filter fails quietly\n\n</td><td>\n\nFacets aren't returned because of a failure to fetch hasMatch.\n\n</td><td>\n\n1.  Make sure the Now Assist setup isn't done.\n2.  Make sure the sensitivity filter is null.\n\n Observe that facets aren't returned as a result of above line failing to fetch hasMatch.\n\n</td></tr><tr><td>\n\nAI Search UX\n\n PRB2024551\n\n</td><td>\n\nNew/Different experience in the search when AI Search is turned on in the portal level\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Navigate to an instance.\n2.  Impersonate as system admin.\n3.  Navigate to /csm portal.\n4.  In search bar, search 'Controllers and applications'.\n\n Observe that there's no follow up and articles displayed are shown previously in the enhanced chat.\n\n</td></tr><tr><td>\n\nAI Search UX\n\n PRB2026614\n\n</td><td>\n\nAuto-Enable Hybrid Search on Now Assist for Search Installation\n\n</td><td>\n\nWhen a new users installs the 'Now Assist for Search' plugin, the system should automatically enable Hybrid Search for all search applications configured in the instance. This ensures new users benefit from Hybrid Search by default without requiring manual configuration. The behavior applies to all new user installations going forward and shouldn't retroactively affect existing users who have already installed Now Assist for Search.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Search UX\n\n PRB2031624\n\n</td><td>\n\nEnhanced Chat's search bar appears on portals with NextWave\n\n</td><td>\n\nNote that the NextWave omni-bar displays on the homepage as expected. However, the search bar from Enhanced Chat is also appearing on other pages unexpectedly.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAI Service - Glide Interfaces\n\n PRB1970597\n\n [KB2977679](https://hi.service-now.com/kb_view.do?sysparm_article=KB2977679)\n\n</td><td>\n\nMachine Learning \\(ML\\) trainings fail with a 401 error due to ACL errors, unless the 'Predictive Intelligence' plugin is explicitly repaired\n\n</td><td>\n\nWhen the ML trainer attempts to fetch data from the instance, it receives an HTTP 401 unauthorized error for gml\\_service, which is resolved after explicitly repairing the 'Predictive Intelligence' plugin.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nAnalytics Data API\n\n PRB1844011\n\n</td><td>\n\nUsing 'Trend by week' leads to an incorrect record count when the new year starts\n\n</td><td>\n\nWhen using 'Trend by' with the options 'Opened', 'Calendar', 'Standard Calendar' and 'per-week' and running the report, the record count is 3 but the List view record count is 5.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAnalytics Data API\n\n PRB1998034\n\n</td><td>\n\nSingle score data visualization ignores the 'Apply time series to result' indicator configuration\n\n</td><td>\n\nStarting in the Zurich release, the Single Score Data Visualization with AVG \\(or SUM\\) aggregation does not respect the 'Apply time series to result' configuration on formula indicators. When this option is unchecked, the Single Score continues to display the time-series-based result instead of updating accordingly.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAnalytics Data API\n\n PRB2003111\n\n</td><td>\n\nPivot table using multiple data sources shows 'No data' on the widget when one of the data sources returns no data\n\n</td><td>\n\nEven though data is available, the chart shows 'No data available'.\n\n</td><td>\n\n1.  Provision an instance with the com.snc.itsm \\_pa.demo plugin installed to have more test data.\n2.  Open the list with records of the problem table \\(problem.LIST\\).\n3.  Filter records by Assigned to = Abel Tuter and State = Assess so that two records appear.\n4.  Remove one of the records.\n5.  Move the other record to the Fix in Progress state by selecting the **Fix** button.\n6.  Navigate to **All** &gt; **Library** &gt; **Data visualizations**.\n7.  Select **New**.\n8.  Select **Visualization type: Pivot table**.\n9.  Specify the following data sources:\n    -   Incident table with the conditions Assigned to = Abel Tuter and State in \\(New, On Hold, Resolved\\).\n    -   Problem table with the conditions Assigned to = Abel Tuter and State in \\(New, Fix in Progress, Assess\\).\n10. Specify group by's:\n    -   Columns: Assign to; Show all; Individual metric.\n    -   Rows: State.\n11. Set 'Show row total' and 'Show column total' to false.\n12. Check the chart.\n\nObserve that the chart renders and shows expected data.\n\n13. Open the list with records of the problem table \\(problem.LIST\\).\n14. Filter records by Assigned to = Abel Tuter and State = Fix in Progress so that one record appears.\n15. Open that record.\n16. Change the status to Re-Analyze.\n17. Refresh the chart.\n\n Expected behavior: The chart is rendered and shows the expected data with zeros.\n\n Actual behavior: The chart shows 'No data available', despite data being available.\n\n</td></tr><tr><td>\n\nAnalytics Data API\n\n PRB2005078\n\n</td><td>\n\nWhen using dynamic date ranges, appliedFilters returns incorrect dates\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Open UI Builder.\n2.  Create a page.\n3.  Add a data visualization component.\n4.  Use the type, 'Line'\n5.  Check the **Define Data Manually** toggle under 'Under data sources'.\n6.  Copy and paste the 'defect response.txt' in the 'Data' section.\n\nNotice that the chart is rendered, though no information from March is present.\n\n7.  Edit the 'Data' section.\n8.  Update the 'end' information in appliedFilters, from ''end':'2026-02-28' to ''end':'2026-03-31'.\n\n Notice that data for March is now visible.\n\n</td></tr><tr><td>\n\nAnalytics Data API\n\n PRB2006926\n\n</td><td>\n\nGeomap doesn't fetch locationData correctly when the incorrect query gets applied\n\n</td><td>\n\nLocations which have valid data in cmn\\_location table aren't getting plotted. Every valid location should get plotted correctly.\n\n</td><td>\n\n1.  Navigate to **Platform Analytics** &gt; **Library** &gt; **Dashboards**.\n2.  Create a dashboard.\n3.  Add a Geomap widget based on the \\[sys\\_user\\] table with the following configuration:\n    -   Metric: Count\n    -   Group by: 'Location'\n4.  Save the dashboard.\n5.  Exit 'Edit' mode.\n\n Observe that the created Geomap widget doesn't render all the data points and shows an error: 'Some of the data you selected cannot be visualized on the map due to latitude/longitude mapping errors'.\n\n</td></tr><tr><td>\n\nAnalytics Data API\n\n PRB2020263\n\n</td><td>\n\nRemove PowerMock to fix broken tests\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAnalytics Export API\n\n PRB1977076\n\n</td><td>\n\nThere's a blank page when exporting Boxplot data visualizations\n\n</td><td>\n\nBoxplot emits 2 SN\\_PAR\\_VISUALIZATION\\#RENDERED events, but it sends expectedRenderEvents = 1 in the export payload. That's why this fails intermittently when the chart isn't loaded completely.\n\n</td><td>\n\n1.  Navigate to Boxplot.\n2.  Select **Export**.\n3.  Pick JPEG as the file type.\n4.  Download the JPEG file.\n\n Observe that a blank page is displayed. The same issue occurs with an embedded PNG and with PowerPoint files in a dashboard.\n\n</td></tr><tr><td>\n\nAnalytics Export API\n\n PRB1996615\n\n</td><td>\n\nScheduled export with omit if no records enabled, no attaching the exported file in Email log\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Create any visualization with some data.\n2.  Schedule that visualization and while scheduling, turn on 'omit' if no records toggle.\n3.  Select the export type of **other** &gt; **ppt** &gt; **embed png**.\n4.  Save the scheduled export.\n5.  Select **Send Now**.\n6.  Navigate to email logs to find the email record of the scheduled export.\n7.  Open that email record.\n8.  Select the 'Email attachment' tab at the bottom.\n\n Expected behavior: The exported visualization should be attached there.\n\n Actual behavior: Nothing is attached.\n\n</td></tr><tr><td>\n\nAnalytics Export API\n\n PRB2007025\n\n</td><td>\n\nDashboard PDF export doesn't apply dashboard filters on the list\n\n</td><td>\n\nDashboard filters aren't applied to the list in the dashboard PDF exports. Only the filters configured in the list are honored.\n\n</td><td>\n\n1.  Export a dashboard to PDF with list visualization.\n2.  Make sure the dashboard has dashboard filters and the list is following the filters.\n\n Observe that the filters are applied correctly on the dashboard to the list, but they aren't applied in the exported PDF.\n\n</td></tr><tr><td>\n\nAnalytics Export API\n\n PRB2019202\n\n</td><td>\n\nShow the total row count in the 'Analytics' list\n\n</td><td>\n\nThe list-simple property 'hideTitleRowCount' should migrate to showRecordCount in the new 'Analytics' list.\n\n</td><td>\n\n1.  In Yokohama, create a list-simple visualization.\n2.  Change the **Hide total number of records** toggle in the configuration.\n3.  Save the visualization.\n4.  Upgrade the instance.\n5.  Open the same visualization.\n\n Observe that it doesn't migrate to the new list visualization and have the corresponding property set for showing count.\n\n</td></tr><tr><td>\n\nAnalytics Export API\n\n PRB2023200\n\n</td><td>\n\nHide the export option when its disabled or the roles list is empty\n\n</td><td>\n\nThe system provides export on demand functionality at dashboard and data visualization level \\(server-side\\) for the Next Experience. There is a need to control the availability of the export option based on system properties and user roles.\n\n</td><td>\n\n1.  As the system administrator, configure a system property to enable or disable the export feature.\n2.  Make sure the export feature is enabled.\n3.  Configure a second system property with a comma-separated list of roles that are allowed to use the export feature when it is enabled.\n\n Observe the system checks if the user's role is included in the configured list of roles \\(if the list is not empty\\). If the second system property \\(roles list\\) is empty, the export feature is available to all users when enabled. If the second system property \\(roles list\\) is populated, only users with roles in the list can access the export feature.\n\n</td></tr><tr><td>\n\nApplication Manager\n\n PRB2020279\n\n</td><td>\n\nUsers can't uninstall the 'Universal Request' application\n\n</td><td>\n\nAfter installing the 'Universal Request' plugin, it isn't possible to uninstall it. There is a message stating that it can't be uninstalled because of the dependent plugin 'Universal Request: Reporting'. When attempting to uninstall 'Universal Request: Reporting', we are not able to because 'Universal Request' needs to be uninstalled first: 'This application cannot be uninstalled because one or more applications are dependent on it. In order to uninstall this application, please uninstall the below dependent applications first'.\n\n</td><td>\n\n1.  Provision an instance with the 'Universal Request' plugin installed.\n2.  Navigate to the record on sys\\_store\\_app.\n3.  Attempt to uninstall.\n\n See that it isn't possible.\n\n</td></tr><tr><td>\n\nApplication Rationalization\n\n PRB1990668\n\n</td><td>\n\nMalformed sn-lucid-chart-intg.properties\n\n</td><td>\n\nThere's a missing comma in a dependency list.\n\n</td><td>\n\n1.  Open oob-apm-apps/ src/main/oob\\_apps /sn-lucid-chart-intg.properties.\n2.  Locate the 2.4.1-dependencies= block.\n3.  Find the line containing sn\\_lucdchart\\_spoke:1.1.1\\\\.\n\n Confirm that there's no comma before the backslash continuation.\n\n</td></tr><tr><td>\n\nApplication Rationalization\n\n PRB1993865\n\n</td><td>\n\nBase instance business rule fails to exclude the current record during duplicate name validation due to incorrect property reference\n\n</td><td>\n\nThe business rule on the cmdb\\_ci\\_business\\_app table incorrectly blocks updates when changing the case of a Business Application name \\(e.g., 'abc' to 'ABC'\\). This happens because it uses current.sysId instead of current.sys\\_id, resulting in an undefined sys\\_id comparison.\n\n</td><td>\n\n1.  Create a Business Application \\(cmdb\\_ci\\_business\\_app\\) with the name 'abc'.\n2.  Edit the same Business Application and change the name to 'ABC' \\(only change the case\\).\n3.  Attempt to save the record.\n\n Expected behavior: The save is allowed because it's the same record, just with a different case.\n\n Actual behavior: The save is blocked with the error: 'A Business Application exists with the same name. Please verify.'\n\n</td></tr><tr><td>\n\nAppointment Booking\n\n PRB2026901\n\n</td><td>\n\nAppointment Booking's scripted mode doesn't consider the territory resource demand feature\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Create a 'Records in Territory Resource Demand' table.\n2.  Turn on this feature in the configuration.\n\n Appointment Booking in scripted mode should consider agent availability based on the territory demand channel association.\n\n</td></tr><tr><td>\n\nApprovals\n\n PRB2012477\n\n</td><td>\n\nGlide changes to Intelligent Approvals\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAsset Management\n\n PRB2018791\n\n</td><td>\n\nThe navigation filter isn't applied correctly\n\n</td><td>\n\nThe relevant filter should be automatically applied after navigation.\n\n</td><td>\n\n1.  Navigate to Software Asset Workspace.\n2.  Open the 'Software Asset Overview' page.\n3.  In the 'Activity Center' section, select the **Asset Request** link.\n\nObserve the navigation to the target page.\n\n4.  Verify whether the expected navigation filter is applied.\n\n Expected Result: The relevant filter is automatically applied after navigation.\n\n Actual Result: On navigation, the filter isn't applied.\n\n</td></tr><tr><td>\n\nAttachments to Records\n\n PRB2018059\n\n</td><td>\n\nGlideSysAttachment. writeContentStream\\(\\) fails in the Scripted REST API in Australia\n\n</td><td>\n\nGlideSysAttachment\\(\\). writeContentStream\\(\\) fails with 'Can't find method com.glide.ui. SysAttachment. writeContentStream \\(object,string,string,com. glide.communications. GlideScriptableInputStream\\)' when called from a Scripted REST API in the Australia release. The issue is not present in Zurich.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAudit History\n\n PRB2019035\n\n</td><td>\n\nThe sysID of sn\\_nowassist\\_skill\\_config is displayed in the username of the work notes\n\n</td><td>\n\nThis issue is observed only in Workspace. In UI16, it's working fine.\n\n</td><td>\n\n1.  Make a GenAI Skill call.\n2.  After the GenAI Skill call, update any record.\n\n Observe that the sysID of sn\\_nowassist\\_skill\\_config is displayed in the username of the work notes, but it shouldn't be.\n\n</td></tr><tr><td>\n\nAuthentication Factors\n\n PRB2026011\n\n</td><td>\n\nIntroduce a new MFA factor, Email OTP\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAuthentication Factors\n\n PRB2026012\n\n</td><td>\n\nKBA improvements of Platform capabilities\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAuthentication Factors\n\n PRB2026014\n\n</td><td>\n\nKBA session context persistence\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAuthentication Factors\n\n PRB2026015\n\n</td><td>\n\nNextWave AI authentication migration to a new authentication service\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAuthentication Factors\n\n PRB2026060\n\n</td><td>\n\nThe kba\\_session\\_context value is not in JSON format\n\n</td><td>\n\nThe kba\\_session\\_context value is logged in this format: '\\{q1\\_keyword=q1\\_user\\_input, q2\\_keyword=q2\\_user\\_input\\}'.\n\n</td><td>\n\n1.  Create three scriptable authentication type answers.\n2.  Attach them to three different questions.\n3.  Log kba\\_session\\_context in these three answers, along with kba\\_auth\\_result=true.\n4.  Navigate to a voice deployment.\n5.  Select the three questions as a KBA auth factor.\n6.  Call the voice agent.\n7.  Authenticate a user.\n8.  Navigate to the syslog table.\n\n Observe that the kba\\_session\\_context value for the third question is logged in this format: '\\{q1\\_keyword= q1\\_user\\_input, q2\\_keyword= q2\\_user\\_input\\}'. It should be logged in a standard json format.\n\n</td></tr><tr><td>\n\nAuthentication Factors\n\n PRB2030597\n\n</td><td>\n\nFall back to secondary identification when the primary resolves a non-sys\\_user\n\n</td><td>\n\nIn cases when the identification questions are configured to a non-sys user, then it should ask fallback questions. This isn't happening in v2 and the call is ended since the userID isn't resolved. It should fallback to the secondary identification to get the userID. In cases where both the questions lead to a non-sys\\_user, then it should fail.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nAuthentication\n\n PRB1969882\n\n [KB2718536](https://hi.service-now.com/kb_view.do?sysparm_article=KB2718536)\n\n</td><td>\n\nLog in screen performance issues on iOS 26.2 RC and in Zurich instances\n\n</td><td>\n\nAfter upgrading to iOS 26.2, users are unable to log in to any instance using the Now Mobile app. The login page is extremely slow or unresponsive, and it can fail to load or accept credentials. The issue affects multiple users and device models. It's reproducible across different instances, and it also impacts the Agent app.\n\n</td><td>\n\n1.  On iOS, navigate to the Now Mobile app.\n2.  Connect to a Zurich or later family release instance.\n\n Observe that the screen loads slowly and is non-responsive.\n\n</td></tr><tr><td>\n\nAuthentication\n\n PRB2033124\n\n</td><td>\n\nCase-sensitive comparison is applied during knowledge-based authentication \\(KBA\\) answer matching\n\n</td><td>\n\nCase sensitiveness of KBA answer matching is controlled by the system property 'glide.auth\\_factors. kba.case\\_insensitive \\_validation'. It is by default case insensitive in previous patches, but seems to have the incorrect default value in recent tracks.\n\n</td><td>\n\n1.  Set up knowledge\\_based\\_answer for a KBA Service.\n2.  As an end user, try to pass answers and validate identification/authentication.\n\n Expected behavior: The user-given input should be matched case insensitively.\n\n Actual behavior: Answers are matched case sensitively.\n\n</td></tr><tr><td>\n\nAutomated Test Framework \\(ATF\\)\n\n PRB2015508\n\n</td><td>\n\nWorkspace load time performance fixes in Automated Test Framework \\(ATF\\) cache\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Navigate to an Australia instance.\n2.  Create a test to open **SOW Workspace** &gt; **Incident Form** &gt; **UI action visibility** &gt; **Save**.\n3.  Run the test.\n\n Observe the test takes up to 40 seconds to complete successfully. Sometimes intent timeout errors are seen.\n\n</td></tr><tr><td>\n\nAutomated Test Framework \\(ATF\\)\n\n PRB2022891\n\n</td><td>\n\nMVP - UI test script \\(Testing Library\\) test step in ATF for UI testing\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nCache\n\n PRB1947736\n\n</td><td>\n\nDBVideoProvider shouldn't use a synchronized LRU\n\n</td><td>\n\nThis lock displays contended in most p90+ UI transactions.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nCase and Knowledge Management for HR Service Delivery\n\n PRB2015420\n\n</td><td>\n\nRCAs for Now Assist Agents for requestor\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Open NAVA.\n2.  Give the utterance: 'I need to verify the status of my tickets' to invoke 'Request Status AI Agent'.\n\n See an error and see the requested RCAs.\n\n</td></tr><tr><td>\n\nChange Management\n\n PRB1994240\n\n</td><td>\n\nTranslation issues in the Conflict Checker Progress modal window\n\n</td><td>\n\nTranslation issues were observed after upgrading from Yokohama to Zurich. The 'conflict\\_detection' header appears to be missing the message completely when it previously read 'Conflict Detection'. The message 'The conflict check is complete' is translated into Finnish, even when the user's language is in English. This issue also occurs when the instance language is set to French, and the label is translated in English.\n\n</td><td>\n\n1.  Open a Zurich instance.\n2.  Ensure that the instance is set to the English language.\n3.  Open a change record.\n4.  Select the **Check Conflicts** button in the 'Conflicts' tab.\n\n Notice that the progress bar title displays as 'conflict\\_detection' and the value is shown rather than the label, 'The conflict check is complete'. The label is translated in Finnish even though the user's instance language is set to English.\n\n</td></tr><tr><td>\n\nChange Management\n\n PRB2011052\n\n</td><td>\n\nUsers are unable to add a change model state attribute for a major model from a scoped app\n\n</td><td>\n\nApplication access settings don't allow writes to the sttrm\\_state\\_attribute table. The ACL is restricting to set the **State** field on sttrm\\_state\\_attribute record.\n\n</td><td>\n\n1.  Create a change model with a set of states from a scoped app.\n2.  Try to add an existing change model attribute to one of the states.\n\n Observe that the record isn't generated properly.\n\n</td></tr><tr><td>\n\nChange Management\n\n PRB2011527\n\n</td><td>\n\nApplying a template can lead to URL size issues and invalid encoding\n\n</td><td>\n\nThis appears to be potentially two issues. The template being added to the URL to apply it on the new form causes URL size and encoding issues. Observe that there's an error message in the developer console. A 500 error is returned from the instance: 'URLDecoder: Illegal hex characters in escape \\(%\\) pattern - Error at index 0 in: \\|\",%\\\\'''.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nChange Management\n\n PRB2021436\n\n</td><td>\n\nInstances should not get license restriction ACLs\n\n</td><td>\n\nThis issue was observed in Australia. Licensing controls are enforced when there are entries in subscription\\_entitlement.\n\n</td><td>\n\nLog in to any Australia non-prod instance.\n\n Notice that the licensing controls are enforced when there are entries in subscription\\_entitlement, even if the instance is open.\n\n</td></tr><tr><td>\n\nChange Management\n\n PRB2024681\n\n</td><td>\n\nAdd a missing entry for an advanced/change admin experience for Auto Install Framework\n\n</td><td>\n\nAuto Install Framework was shipped to Australia users. The missing entry record related to advanced admin experience should be added so that the framework installs this experience as well for net-new users.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nCode Signing\n\n PRB2014768\n\n</td><td>\n\nIncrease the code signing validity window maximum from 60 minutes to 4 hours\n\n</td><td>\n\nIn the 'Scan Signatures' module, the **Data source** field is incorrectly set to false for records that have valid, successfully created signatures. These signatures return true when validated via a background script. The issue occurs because the effective maximum of com.snc.kmf.signature .validity\\_window is 60 minutes, which prevents users from configuring longer validity windows, especially when the consecutive signature generation takes time.\n\n</td><td>\n\n1.  Open an instance.\n2.  Navigate to 'Update Set: Test Code Signing Updates'.\n3.  Validate that the signature is created for the **Data source** field.\n4.  Select **Scan Signature**.\n\n Observe that the signature state for the **Data source** field still reflects as false.\n\n</td></tr><tr><td>\n\nCode Signing\n\n PRB2014831\n\n</td><td>\n\nScheduled scripts incorrectly appear in 'Update Set Signature States'\n\n</td><td>\n\nCurrently, users are required to hold the security\\_admin role to perform code signing operations on update sets. This creates several operational and security challenges. Instead, there should be a separate role that grants the ability to perform code signing operations on update sets and related artifacts within the Code Signing framework. It shouldn't grant access to security policies, ACLs, encryption contexts, or other security administration functions.\n\n</td><td>\n\n1.  Open an instance.\n2.  Navigate to 'Update Set: Code Signing Scheduled Jobs'.\n3.  Navigate to the tab 'Update Set Signature States'.\n\n Observe that there's no option to run signing jobs unless elevated to the 'security\\_admin' role.\n\n</td></tr><tr><td>\n\nCode Signing\n\n PRB2014833\n\n</td><td>\n\nEnable digest creation for users with the code signing role\n\n</td><td>\n\nFor users with the code\\_signing\\_user role, the 'Create Digest' functionality should be enabled for Flow Designer flows and actions. The current dependency on the security\\_admin role should be removed.\n\n</td><td>\n\n1.  Open an instance.\n2.  Navigate to 'Update Set: Code Signing Scheduled Jobs'.\n3.  Navigate to the tab 'Update Set Signature States'.\n\n Observe that the user can't generate digest for flows unless they have the 'security\\_admin' role.\n\n</td></tr><tr><td>\n\nColumn Level Encryption\n\n PRB1978716\n\n</td><td>\n\nEncryption isn't applied correctly for comma separated list values in a Glide record query for IN and NOT\\_IN clauses\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nCondition Builder in Workspace\n\n PRB2011310\n\n</td><td>\n\nThe **SLA** field is read-only in a related condition when creating a list in Workspace\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nConfiguration Management Database \\(CMDB\\)\n\n PRB1992684\n\n [KB3005930](https://hi.service-now.com/kb_view.do?sysparm_article=KB3005930)\n\n</td><td>\n\nCMDB Query Builder with the system language set as Japanese displays empty results\n\n</td><td>\n\nThere are missing values in queries when using Japanese. The French language can lead to errors.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nCustomer Service Portal Base\n\n PRB1966219\n\n</td><td>\n\nAdditional comments are duplicated in the Customer Service Management \\(CSM\\) Portal if the state is 'Awaiting Info'\n\n</td><td>\n\nDuplicate comments are occurring due to two identical network calls being made with the same journalEntry content. This duplication specifically happens when the spUtil.recordWatch method \\(part of the client-side script\\) triggers these service calls under slower network conditions \\(3G speed simulation\\).\n\n</td><td>\n\n1.  Impersonate a CSM agent.\n2.  Open a case.\n3.  Add an additional comment and request information.\n\nThe state of the case is set to 'Awaiting Info'.\n\n4.  Impersonate a user account \\(external\\).\n5.  Open the case.\n6.  Add a comment.\n\nNote that the comment appears twice in the case activity log.\n\n7.  Add a second comment \\(the state of the case is now open\\).\n\nNote that the comment isn't duplicated.\n\n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Access\n\n PRB1919872\n\n</td><td>\n\nThere's duplicate edges in the output of jsFunction\\_getEdgeList for custom created graphs and when includeEdgesForTablesOutsideGraph is true\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Access\n\n PRB1930279\n\n</td><td>\n\nUsers are able to create a cyclic relation through graph hierarchy\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Create a graph.\n2.  Name it test1.\n3.  Create another graph with the parent as test1 \\(with extension model\\) and name it test2.\n4.  Edit test1 to have a parent as test2 \\(with extension model\\).\n\n Notice that it creates a cyclic relation in graphs test2-parent-test1 and test1-parent-test2.\n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Access\n\n PRB1946286\n\n</td><td>\n\nWorkflow Data Fabric \\(WDF\\) queries fail when trying to execute on connection for trino\\_primary\n\n</td><td>\n\nWhen trying to get a specific column instead of the entire record, the error occurs in the response: ''FAILED TRYING TO EXECUTE ON CONNECTION trino\\_primary'.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Access\n\n PRB1962536\n\n</td><td>\n\nThe prefix is missing on some places for the Knowledge Graph UI\n\n</td><td>\n\n \n\n</td><td>\n\n1.  **All** &gt; **Knowledge Graph Designer**.\n2.  Select the **Open global graph** button.\n3.  Select **Start with user table** &gt; **Any node**.\n\nNote that the prefix is missing for some of the columns.\n\n4.  Expend any node on canvas.\n\nNote that the prefix is missing for expended nodes.\n\n5.  Open the contribution graph.\n\nNote that the prefix is missing for all the nodes, columns, and relations.\n\n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Access\n\n PRB1969193\n\n [KB2747470](https://hi.service-now.com/kb_view.do?sysparm_article=KB2747470)\n\n</td><td>\n\nSELECT isn't generated correctly for a script when a business rule is active with ORDER BY for Postgres\n\n</td><td>\n\nThere's an error message: 'FAILED TRYING TO EXECUTE ON CONNECTION glide.1 \\(connpid=3758451\\): SELECT...'\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Access\n\n PRB1984070\n\n [KB2928335](https://hi.service-now.com/kb_view.do?sysparm_article=KB2928335)\n\n</td><td>\n\nTrend reports and dashboard show inaccurate data by week across the end of a year\n\n</td><td>\n\nOn instances using a PostgreSQL database, an incorrect year reference \\(yearref\\) is returned for the non-ISO week functions sunday\\_week and monday\\_week. As a result, the column data displays trends for future dates where no actual record data exists. This issue affects reports and dashboards that group or summarize data by week across the end of a year. Reports may display an unexplained empty week in one year, a duplicated week in another, or records appearing in the incorrect annual bucket.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Access\n\n PRB1986459\n\n</td><td>\n\nThe 'Add OR Clause' with multiple filters is not working as expected\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Access\n\n PRB1998050\n\n</td><td>\n\nGlide-side changes for label population in picker tables\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Access\n\n PRB2027220\n\n</td><td>\n\nColumnName.resurrect\\(\\) re-shortens long names, corrupting external store column names on deserialization\n\n</td><td>\n\nColumnName.resurrect\\(\\) reconstructs a ColumnName from its serialized form using new ColumnName\\(name\\), which re-applies the preFujiShortColumnName\\(\\) 30-character shortening algorithm. However, serialize\\(\\) writes the already-resolved fName directly. For external-store columns \\(Snowflake, BigQuery, Trino\\) whose physical names exceed 30 characters, the name is corrupted on deserialization — the resurrected ColumnName points to a shortened name that doesn't exist in the external store.\n\n</td><td>\n\n1.  Create a ColumnName with shortening turned off: new ColumnName \\(\"external\\_column\\_ with\\_a\\_very\\_ long\\_name\", false\\) \\(37 chars, exceeds MAX\\_LENGTH of 30\\).\n2.  Serialize via ColumnName.serialize\\(writer, cn\\).\n3.  Deserialize via ColumnName.resurrect\\(reader\\).\n\n Observe the resurrected name is the 30 character shortened form, not the original 37 character name — a round-trip corruption.\n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Management\n\n PRB1999855\n\n</td><td>\n\nThe 'One Time Archive Max Length Sync' job widens the max length of reference fields incorrectly\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Create an archive table with retain reference enabled:new GlideArchiveTable\\(\\) .create \\(&lt;primaryTableName&gt;, true\\);.\n\nThis operation creates an archive rule and corresponding reference fields on the archive table.\n\n2.  Run the one-time job.\n3.  Since no explicit archive rule exists on the table at runtime, verify that the one-time job recalculates the maximum length of reference fields based on the reference display element length, resulting in those fields being widened.\n\n Expected behavior: The one-time job should not widen reference fields when they are already reference types created with retainReference = true. In this scenario, the reference fields are already correctly defined, and recalculating their length based on display values is unnecessary and incorrect.\n\n Actual behavior: The one-time job widens the max length of reference fields, even though the fields are already of reference type and were created with retainReference = true.\n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Management\n\n PRB2004780\n\n</td><td>\n\nUse batch deletion for the 'Columnar' archive table during bulk archive restore\n\n</td><td>\n\nDeleting records one by one is not efficient for a 'Columnar' archive table because it requires scanning the same bucket multiple times. Batch deletion would only scan each bucket once.\n\n</td><td>\n\n1.  Migrate some archive tables to columnar.\n2.  Attempt to run archive bulk restore.\n\n Expected behavior: Archive restore should be performed.\n\n Actual behavior: Archive restore isn't performed.\n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Management\n\n PRB2005218\n\n</td><td>\n\nArchive-Tier2-Bulk-Restore handle has silent exceptions when missing an archive log or bucket\n\n</td><td>\n\nIf there's no archive log for the relevant cidx\\_record during restoration to the ar\\_\\* table, the process fails silently and also moves the cidx\\_\\* record to the cidx\\_\\*\\_backup table. If the sys\\_s3\\_bucket value is missing in the cidx\\_\\* record, which shouldn't occur, it loses the key value needed to restore the record. In this case, the chunk is processed, but the cidx\\_\\* record remains unchanged, making it appear as though the record was not processed. sys\\_s3\\_bucket value is missing for any cidx\\_\\* records which are still pending to be offloaded. The pending cudx\\_\\* records needs to be ignored.\n\n</td><td>\n\n1.  Offload a bunch of records to tier2 \\(using the 'Offload' job\\).\n2.  For a couple of records, remove the value from the **sys\\_s3\\_bucket** field.\n3.  For another couple records, find its sys\\_archvie\\_log record and delete it.\n4.  Turn on the tier2 bulk restore.\n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Management\n\n PRB2015142\n\n</td><td>\n\nThere's a slow query during archiving records to the 'columnar archive' table\n\n</td><td>\n\nThe archived incident has a reference field whose referenced record has already been archived; it no longer exists in the live incident table, only in ar\\_incident. When copyFields tries to get the display value of that reference, live table lookup fails \\(record already moved to archive\\), GlideElementReference falls back to ArchiveResolver, and ArchiveResolver confirms it's in ar\\_incident via sys\\_archive\\_log, then queries ar\\_incident to fetch the display value.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Management\n\n PRB2016927\n\n</td><td>\n\nAvoid reparenting the 'Columnar' archive table with a documentID reference after restoring a record\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Management\n\n PRB2022327\n\n</td><td>\n\nData Management Console fails to load live archive object storage data\n\n</td><td>\n\nData Management \\(DM\\) Console fails to load live archive object storage data on instances using the new Live Archive / Tier 2 archive feature \\(com.glide.db.columnar.archive\\). This is because S3StorageInfoEligibilityChecker.isEligible\\(\\) calls ArchiveEntitlementAPI. passedEntitlementCheck\\(\\), which only validates the legacy plugin com.snc.tier2\\_data\\_offload via isBaseTermsAndConditionsAccepted\\(\\). Users on the new columnar archive plugin fail eligibility and the S3StorageInfo daily job aborts.\n\n</td><td>\n\n1.  Provision an instance with the Live Archive feature.\n2.  Turn on the Live Archive feature.\n3.  Offload a lot of data.\n4.  Browse to the 'DM Console' page.\n5.  Look for the 'Object Storage' widget.\n6.  Verify that the data isn't visible.\n\n Expected behavior: The S3StorageInfo job should run for eligible users.\n\n Actual behavior: The S3StorageInfo job isn't running for eligible users.\n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Scale\n\n PRB1974343\n\n</td><td>\n\nA query hint isn't including the change number and is causing the hint to be ignored\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Data Scale\n\n PRB2002323\n\n</td><td>\n\nWhen dry run mode is false, a successful external transfer causes TM to lock itself in a failed state and prevents any automatic failover during that window\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB1923336\n\n</td><td>\n\nThe isTableExcluded API should exclude text search tables\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB1932536\n\n</td><td>\n\nAn error should show 'Display Name' instead of the table name\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Create a graph.\n2.  Add nodes - 'User' and 'Location'.\n3.  Save the graph.\n\n Observe an error: 'No properties found for node sys\\_user'.\n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB1938573\n\n</td><td>\n\nA 'WHERE' clause appends all query node conditions with an 'AND' operator, even when there are 'OPTIONAL MATCH 'statements\n\n</td><td>\n\nWhen trying to a build cypher query for the following use case, 'Identify all CI's which are connected to Database catalog or Application', in the final built cypher query the 'WHERE' clause is using all 'AND' conditions to append all node filters to the query. When using 'OPTIONAL MATCH' statements, an 'OR' logic is expected.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB1944327\n\n</td><td>\n\nGlobal graph should be the default and all other graphs should be non-default when the instance is upgraded from Yokohama to Zurich\n\n</td><td>\n\nDefault graphs and global graphs are all set to non-default.\n\n</td><td>\n\n1.  Create two default graphs on a Yokohama instance.\n2.  Upgrade the instance to Zurich.\n3.  Check the graphs on sys\\_meta\\_graph.\n\n Expected behavior: Global graph should have default = true and the other two graphs that were created in step one should have default = false.\n\n Actual behavior: Both of the created default graphs and the global graph are default = false.\n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB1967193\n\n</td><td>\n\nCMDB Query Builder doesn't work when multiple OR conditions are used on location attribute\n\n</td><td>\n\nWhen multiple OR conditions are used on the location filter, the CMDB query builder doesn't return any results.\n\n</td><td>\n\nScenario 1:\n\n 1.  Navigate to the query builder.\n2.  Open the configuration item query block.\n3.  Select **Filter**.\n4.  Run the builder with multiple OR conditions on the location filter.\n\nObserve that no results are returned.\n\n5.  Remove all the OR conditions for location \\(or use one location filter\\).\n6.  Run it.\n\n Observe that once a second condition is added, the query builder fails.\n\n Scenario 2:\n\n 1.  Navigate to the CMDB Query Builder.\n2.  Add a server node to the canvas.\n3.  Apply filters to the node with the following conditions:\n    -   Location contains 'bock'\n    -   Location contains 'via'\n4.  Run the query.\n\nObserve that no results are returned.\n\n5.  Remove one of the conditions \\(e.g., 'Location Contains 'via''\\).\n6.  Rerun the query.\n\n Observe that results are now returned.\n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB1975732\n\n</td><td>\n\nThere's a repeated query execution in GraphUtils \\#getGraphByQualifiedName for a metadata child table \\[sys\\_meta\\_graph\\] for every iteration/execution\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB1988516\n\n</td><td>\n\nWeeks, milliseconds, and microseconds aren't supported in a DURATION map\n\n</td><td>\n\nThere's an error: 'com.glide.db. DBGraphApiException: Error executing cypher: FAILED TRYING TO EXECUTE ON CONNECTION...Syntax Error or Access Rule Violation detected by database \\(ERROR: function duration\\_between\\(date, date\\) does not exist Hint: No function matches the given name and argument types. You might need to add explicit type casts. Position: 294\\)'.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB1988520\n\n</td><td>\n\nTimeKeyExpression isn't supported as a DURATION function parameter in DBSqlParser\n\n</td><td>\n\nThere's an error: 'Error: com.glide.db. DBGraphApiException: Error executing cypher: FAILED TRYING TO EXECUTE ON CONNECTION...Syntax Error or Access Rule Violation detected by database \\(ERROR: function duration\\_between\\(timestamp with time zone, date\\) does not exist Hint: No function matches the given name and argument types. You might need to add explicit type casts. Position: 307\\)'.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB1990632\n\n</td><td>\n\nNode/edge types should allow special characters for GraphMetadataAPI\n\n</td><td>\n\nPredefined filters fail in the Graph API version of the CMDB query builder. After a platform upgrade, CMDB query builder throws the 'Problem Running Query' error.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB1995712\n\n</td><td>\n\nWeeks, milliseconds, and microseconds aren't supported in the 'Duration' map\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB1996879\n\n</td><td>\n\nGuardrail for maximum number of edges returned from getForTables\n\n</td><td>\n\nThe number of nodes returned from getForTables is capped to 1000, but there's no such limitation for the number of edges. When inbound edges are specified and the number of nodes is at maximum, the number of edges can be quite large.\n\n</td><td>\n\nRun getForTables for sys\\_user with inbound edge flag = true.\n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB1997409\n\n</td><td>\n\nL2 query displays non-empty edge values\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Navigate to Query Builder.\n2.  Drag the 'Database and Computer' class into the canvas.\n3.  Connect them with the L2 relationship edge.\n\n Expected behavior: Observe with the data, there should be two L1 relationships and three L2 relationships with edge shown as '\\(empty\\)'.\n\n Actual behavior: The three L2 relationships have unexpected edge values.\n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB2007566\n\n</td><td>\n\ncom.glide.db. DBGraphApiException has an error executing cypher\n\n</td><td>\n\nThere's an error: 'This user \\(admin\\) is not allowed access to table: sys\\_user\\_has\\_role'.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB2008809\n\n</td><td>\n\nRename the ScopedGraphQueryBuilder .createNode method\n\n</td><td>\n\nTo avoid potential confusion with createNode as a write operation, rename the 'createNode\\(\\)' method to 'node\\(\\)'.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB2020140\n\n</td><td>\n\nUnion queries aren't supported\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Persistence - Graph\n\n PRB2021889\n\n</td><td>\n\nGlideRecord. setCategory\\(\\) is used in a way that prevents routing to read-replica databases\n\n</td><td>\n\nThe query is categorized as 'graphqueryexecutor' instead of 'cmdb\\_queries', and therefore doesn't get routed to the read replica because the category isn't a second database category.\n\n</td><td>\n\n1.  Ensure that the instance is set up with a read replica database.\n2.  Ensure that the CMDB Queries \\(or all Secondary Database Categories\\) are enabled and are mapped to the read replica.\n3.  Execute a KG query from the CMDB Query Builder app.\n\n Expected behavior: The query is categorized as 'cmdb\\_queries' and is routed to the read replica.\n\n Actual behavior: The query is categorized as 'graphqueryexecutor', and since that category isn't a secondary database category, is not routed to the read replica.\n\n</td></tr><tr><td>\n\nDatabase Persistence - WDF\n\n PRB1975615\n\n</td><td>\n\nGlideAggregate. getDisplayValue issues a separate query per each returned record for GlideAggregate\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDatabase Views\n\n PRB2004420\n\n</td><td>\n\nData fabric \\(DF\\) tables in DBViews uses an old connection even after doing a change connection/remap flow on DF tables\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Create two DF tables on any two tables from an existing established connection on Snowflake Zero Copy Connector.\n2.  Create DBView on these two tables, joining them on any field.\n3.  Navigate back to the DF tables and change connection on that existing DFtable that was initially created.\n4.  Query DBView.\n\n Observe that the underlying DF tables in DBView still looks for an old connection.\n\n</td></tr><tr><td>\n\nData Management Console\n\n PRB1974031\n\n</td><td>\n\nA repeated query with the hash -423529530 comes up when running stats gatherer\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nData Management Console\n\n PRB1976295\n\n</td><td>\n\nThe confirmation checkbox is missing on the 'Summary' page when scheduling a rule\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nData Management Console\n\n PRB1979259\n\n</td><td>\n\nThe data on Data Management Console \\(DMC\\) is inconsistent when the 'Stats gatherer' job runs\n\n</td><td>\n\nThe 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.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nData Management Console\n\n PRB1980674\n\n</td><td>\n\nThere's a potential of orphan sys\\_peripheral \\_table\\_stats records for a duration of 1 year with the existing Data Management Console \\(DMC\\) table's table cleaners\n\n</td><td>\n\nRevisiting the table cleaners for sys\\_peripheral \\_table\\_stats and sys\\_physical \\_table\\_stats in order to accommodate a new data model. Cascade delete should be turned on so that orphan records are cleaned up regularly.\n\n</td><td>\n\n1.  Check the 4 table cleaners for sys\\_physical\\_table\\_stats.\n2.  Observe that cascade delete isn't enabled.\n\n Expected behavior: Cascade delete should be enabled and in the sys\\_dictionary. The reference column's reference\\_cascade\\_rule should be 'delete'.\n\n Actual behavior: Cascade delete isn't enabled.\n\n</td></tr><tr><td>\n\nData Privacy \\(Classic\\)\n\n PRB2001965\n\n</td><td>\n\n'Run once' Data Privacy jobs take a long time to complete on large tables\n\n</td><td>\n\nAs part of Zurich, Data Privacy jobs were enhanced to support incremental and recurring anonymization. As part of this, 'sys\\_updated\\_on &lt; jobStartTime' was added to the query condition while creating segments and querying a batch of records for processing. Generally, sys\\_updated\\_on column isn't indexed. As a result, the jobs take lot of time to create segments, which require querying boundary records involving filtering on sys\\_updated\\_on and ordering by sys\\_id. While the sys\\_updated\\_on filter condition is necessary to support incremental, this dependency can be removed on 'Run once' jobs, where all records in a table are expected to be anonymized.\n\n</td><td>\n\n1.  Provision an instance with the Data Privacy plugin installed on a large clone.\n2.  Set up a privacy configuration on a table with large number of records.\n3.  Configure and run a 'Run once' dp\\_job.\n\n Expected behavior: Segment creations \\(dp\\_work\\_item\\) should happen within few a minutes.\n\n Actual behavior: It takes hours to create segments \\(dp\\_work\\_item\\).\n\n</td></tr><tr><td>\n\nData Privacy \\(Classic\\)\n\n PRB2002556\n\n</td><td>\n\nData Privacy Clone \\(federated\\) jobs can't handle pause/resume scenarios\n\n</td><td>\n\nDuring a clone job execution, if the node on which the clone job is executing is restarted, scheduler reschedules the job on a different node. When the job is restarted on a different node, it fails due to inability to deserialize and restore the state items \\(that dictate where the job should resume from\\).\n\n</td><td>\n\n1.  Provision an instance with Data Privacy installed.\n2.  Create a data class with classified fields of table - cmn\\_location.\n3.  Create a clone Data Privacy policy.\n4.  Schedule the clone policy by creating a clone.\n5.  Notice a clone job is created in the dp\\_federated\\_job table and the job is running.\n\n Expected behavior: The job should be completed.\n\n Actual behavior: The job errored out with 'Error creating job handler for type null from serialized state : \\[Interfaces can't be instantiated! Register an InstanceCreator or a TypeAdapter for this type. Interface name: com.glide.data\\_privacy.jobs.stateitem.StateItem\\]'.\n\n</td></tr><tr><td>\n\nData Privacy \\(Classic\\)\n\n PRB2006453\n\n</td><td>\n\nThe Data Privacy job's policy child table filtering isn't working as expected if the parent table is selected as a child table filter\n\n</td><td>\n\nIf a task table is selected as child table for any of its dictionary selected tasks as the child table, then it's expected to anonymize records that belong to sys\\_class\\_name = task, and the rest of the records, the incident or problem, are expected not to be anonymized. It's anonymizing the entire task table.\n\n</td><td>\n\n1.  Create a Data Privacy policy using the task table, short description, description columns.\n2.  Select the child table filter for any of the columns.\n3.  Add a task.\n4.  Save and publish the policy.\n5.  Schedule a Data Privacy job.\n\n After the job completion, notice that the entire task table is anonymized, but it's expected to only anonymize the task records, not any others.\n\n</td></tr><tr><td>\n\nData Privacy \\(Classic\\)\n\n PRB2017470\n\n</td><td>\n\nJob conditions aren't applied by additional jobs during parallel execution\n\n</td><td>\n\nThis is caused because of dp\\_additional\\_job not applying the condition setup for the job. Since, the conditions in dp\\_job\\_condition is tied to parent job, querying from additional job won't find them unless it uses the parent job ID to query.\n\n</td><td>\n\n1.  Create a privacy policy for a task table.\n2.  Set up sys\\_properties to com.glide.data\\_ privacy.max\\_ parallel\\_workers=2.\n3.  Configure a job with conditions.\n4.  Ensure sufficient data to create at least 2 segments.\n5.  Run the job.\n\n Expected behavior: Only records matching the setup condition should be anonymized.\n\n Actual behavior: Record not matching the condition are also anonymized.\n\n</td></tr><tr><td>\n\nData Privacy \\(Classic\\)\n\n PRB2017592\n\n</td><td>\n\nA minimum segment size of 100K characters restricts parallelization and lacks work item table cleanup\n\n</td><td>\n\nThe current minimum segment size is hardcoded at 100K characters, which artificially caps the number of segments that can be generated for a given dataset. As a result, the number of worker threads that can be utilized for parallel processing is also restricted — even when additional infrastructure capacity \\(CPU, memory, available workers\\) is available to be consumed. If the minimum segment size is reduced to improve parallelization, the number of work items inserted into dp\\_workitem grows significantly, accelerating the rate at which this table accumulates rows. Without a corresponding cleanup mechanism, this will lead to unbounded table growth, increased storage consumption, and potential degradation of query performance over time.\n\n</td><td>\n\n1.  Create/update the sys\\_property 'com.glide. data\\_privacy. max\\_records\\_ per\\_work\\_item' to 10000\n2.  Create a data class Data Privacy job on a table containing at least 20K records.\n3.  Run the job.\n4.  Examine dp\\_work\\_items.\n\n Expected behavior: There should be at least 2 work items.\n\n Actual behavior: There's 1 work item.\n\n</td></tr><tr><td>\n\nData Privacy \\(Classic\\)\n\n PRB2017660\n\n</td><td>\n\nUsers aren't able to switch to a GPU-based Named Entity Recognition \\(NER\\) service from CPU-based services for privacy jobs\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nData Product Backend Services\n\n PRB2017091\n\n</td><td>\n\nUsers are unable to remove a source table from Data Interface\n\n</td><td>\n\nsyncDataInterfaceM2MTable DAO method wasn't removing M2M rows for sources absent from the new list. Delete path lacked compensating-action registration, leaving stale rows on partial failure.\n\n</td><td>\n\n1.  Navigate to Data Workbench.\n2.  Create a Data Interface.\n3.  Try to add a new source to the interface.\n\n Observe that the user isn't able to add/remove a source from the interface.\n\n</td></tr><tr><td>\n\nData Product Backend Services\n\n PRB2017092\n\n</td><td>\n\nUsers are unable to add a new source to Data Interface\n\n</td><td>\n\nThe syncDataInterfaceM2MTable DAO method isn't inserting rows for sources present in the new list but that are absent from the database. Insert path lacked compensating-action registration, leaving the interface with no implementors on partial failure.\n\n</td><td>\n\n1.  Navigate to Data Workbench.\n2.  Create a Data Interface.\n3.  Try to add a new source to the interface.\n\n Observe that the user isn't able to add a new source to the interface.\n\n</td></tr><tr><td>\n\nData Product Backend Services\n\n PRB2017094\n\n</td><td>\n\nUsers are unable to roll back if the creation or editing of a data interface fails in the middle\n\n</td><td>\n\nDataProductDAO edit methods had no rollback mechanism. A failure mid-transaction left the interface partially mutated with no way to restore prior state.\n\n</td><td>\n\n1.  Navigate to Data Workbench.\n2.  Create a Data Interface.\n\n Observe that the data interface creation failed in the process, a few artifacts were created, and a few are missing.\n\n</td></tr><tr><td>\n\nData Product Backend Services\n\n PRB2017095\n\n</td><td>\n\nOnce an interface is created, the metadata JSON for existing interface tables is missing\n\n</td><td>\n\nDataProductDAO didn't call TableManager.invalidateTable for existing source tables after interface creation. Users received stale cached metadata JSON rather than the newly registered interface state.\n\n</td><td>\n\n1.  Navigate to Data Workbench.\n2.  Create a Data Interface\n3.  Add a new source to the interface.\n\n Observe that the metadata is missing, causing the UI to break.\n\n</td></tr><tr><td>\n\nData Snapshots\n\n PRB1999238\n\n</td><td>\n\nThere's a node outage due to an out-of-memory error as a result of a memory bloat in ScriptableCDCDataCollector .jsFunction\\_mineAllChanges\\(\\)\n\n</td><td>\n\nDuring the investigation, it was noticed via heapdumps that the com.snc.db.cdc. implementation. ReplicationTableReader object held an array list of size 500. Each entry in this array list held up to a max of 800 Glide record objects. The size of each of these 500 entries was ~21 MB. The Glide record objects were from the cmdb\\_ci\\_vm\\_instance table. These were particularly heavy in terms of row size \\(reaching ~400 KB\\). The existing sizing must be revisited to take into account this outlier. In particular, in addition to a limit on number of rows to be polled from cdc\\_queue\\_par, it should also include a limit to cap the memory size.\n\n</td><td>\n\n1.  Create an 'All activity data snapshots' source on the em\\_alert table.\n2.  Run the 'Incremental all activity' job.\n3.  Run the first snapshot job and let the first mining complete.\n4.  Run the 'Incremental all activity' job.\n\n Notice the memory bloat in the worker thread running for the 'All changes' job.\n\n</td></tr><tr><td>\n\nData Snapshots\n\n PRB2018876\n\n</td><td>\n\nTurn on automatic installation of the plugin com.snc.pa.mlb on eligible instances\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDeveloper Sandboxes\n\n PRB1995018\n\n</td><td>\n\nNowMQ messages can be claimed by an unexpected recipient\n\n</td><td>\n\nIf the user sets the App Operation Queue Health Monitor job to disabled, it should prevent the sandbox from claiming any application operation queue messages in sys\\_nowmq\\_message. On an instance without sandboxes, any messages that were left unclaimed or any newly added messages should still be claimable when the job is re-enabled.\n\n</td><td>\n\n1.  Make sure one controller and one sandbox are running.\n2.  On the sandbox, set the App Operation Queue Health Monitor job to disabled.\n3.  Enqueue an operation on the sandbox by initiating an app install from app manager or via /sn\\_cicd/update\\_set/commit.\n4.  Navigate to sys\\_nowmq\\_message.\n\n Observe that the corresponding message from step 3 is unexpectedly gone. It should still be present but unclaimed as a result of step 2.\n\n</td></tr><tr><td>\n\nDeveloper Sandboxes\n\n PRB2011753\n\n</td><td>\n\nSys\\_flow\\_trigger\\_plan\\_chunk is currently shared and causing updated flows to error out\n\n</td><td>\n\nIf you update the base flow, the sandbox flow errors out with 'Compiled flow not found for snapshotId'.\n\n</td><td>\n\n1.  On a base instance, create a flow that is scheduled to run every minute.\n2.  Navigate to **Flow Designer** &gt; **Operations** &gt; **Flow** &gt; **Today's execution**.\n\nObserve that the flow is running successfully.\n\n3.  Create a sandbox.\n4.  In the sandbox, navigate to **Flow Designer** &gt; **Operations** &gt; **Flow** &gt; **Today's execution**.\n\nObserve that the flow is running successfully.\n\n5.  In the sandbox, update the flow.\n6.  Select **Activate**.\n7.  Navigate to the base instance.\n\n Observe that, under 'Today's execution', the flow starts erroring out with 'Compiled flow not found for snapshotId'.\n\n</td></tr><tr><td>\n\nDeveloper Sandboxes\n\n PRB2015080\n\n</td><td>\n\nThe scheduled flow inherited from the main instance does not run automatically on the sandbox instance\n\n</td><td>\n\nThe flow runs in main instance at the scheduled interval, but the flow doesn't run in the sandbox instance even though it exists.\n\n</td><td>\n\n1.  Open the main instance.\n2.  Navigate to **All** &gt; **Flow Designer**.\n3.  Create a flow.\n4.  Schedule that flow to run at a certain interval, for example, 'Repeat every minute'.\n5.  Activate the flow\n6.  Navigate to **All** &gt; **Flow Designer** &gt; **Operations** &gt; **Flows** &gt; **Today's executions**.\n\nNotice that the flow is running every minute.\n\n7.  Create a sandbox instance.\n8.  Navigate to **All** &gt; **Flow Designer**.\n\nNotice that the flow exists.\n\n9.  Navigate to **All** &gt; **Flow Designer** &gt; **Operations** &gt; **Flows** &gt; **Today's executions**.\n\n Notice that the flow is not running.\n\n</td></tr><tr><td>\n\nDeveloper Sandboxes\n\n PRB2017438\n\n</td><td>\n\nDSB update sets aren't exported before clone\n\n</td><td>\n\nBecause sandboxes are retired, update sets from a sandbox should be saved as remote update sets on the base instance on upgrade. However, due to this problem, they may not be saved correctly.\n\n</td><td>\n\n1.  Create a sandbox.\n2.  Make changes in the sandbox.\n3.  Upgrade the instance.\n\n Expected behavior: There is a way to recover the work.\n\n Actual behavior. The work is gone. Logs show jsFunction\\_exportUpdateSets is called.\n\n</td></tr><tr><td>\n\nDeveloper Sandboxes\n\n PRB2018545\n\n</td><td>\n\nBA conversations are shared between sandboxes/base instance\n\n</td><td>\n\nThe base instance conversation contains messages from the sandbox, and vice versa.\n\n</td><td>\n\n1.  Provision an instance with BA installed.\n2.  Create a sandbox.\n3.  From the base instance, open IDE or Studio.\n4.  Start a conversation \\(for example, 'What's 1+1'\\).\n5.  Visit the sandbox.\n6.  Open IDE or Studio again.\n\nObserve that the conversation already contains the messages from the base instance, even though it should be empty.\n\n7.  Add another prompt in the sandbox.\n8.  Refresh the base instance.\n\n Expected behavior: The conversation doesn't contain what was typed in the sandbox.\n\n Actual behavior: The conversation contains messages from the sandbox.\n\n</td></tr><tr><td>\n\nDirectSQL\n\n PRB2000506\n\n</td><td>\n\nA correlated sub query loses outer table references\n\n</td><td>\n\nThe correlated condition is translated incorrectly, resulting in incorrect results.\n\n</td><td>\n\nRun the following query: SELECT number, \\(SELECT COUNT\\(\\*\\) FROM incident AS x WHERE x.priority &lt; incident.priority\\) AS lower\\_pri\\_count FROM incident ORDER BY number.\n\n Expected behavior: The query returns each incident with a count of how many other incidents have a strictly lower priority value. Incidents with priority &gt; 1 should have a non-zero count.\n\n Actual behavior: Every row returns lower\\_pri\\_count = 0, because the correlated condition is translated as x.priority &lt; x.priority \\(always false\\).\n\n</td></tr><tr><td>\n\nDirectSQL\n\n PRB2014682\n\n</td><td>\n\nDirectSQL extract epoch support is broken\n\n</td><td>\n\nUsers can't extract epoch and must use unix\\_timestamp instead. Also, the cypher-related code may be breaking the postgres implementation.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDirectSQL\n\n PRB2016811\n\n</td><td>\n\nDisallow queries that use an inaccessible offrow array in non-select items\n\n</td><td>\n\nFor example, select \\* from sys\\_user where roles is not null. If users don't have access to sys\\_userroles for the roles offrow array, then this query should error out indicating that is the case. Currently, null is substituted into the 'where' clause instead, which is confusing.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDirectSQL\n\n PRB2019852\n\n</td><td>\n\nSELECT \\* must exclude columns that don't exist in the database\n\n</td><td>\n\nSelect \\* from a table that has a function field, like cmdb\\_data\\_management\\_policy, won't work because it's trying to find the function fields on the database. A filter should be added to exclude these fields.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDiscovery\n\n PRB1986211\n\n</td><td>\n\nDiscovery.complete and discovery.canceled are triggered incorrectly\n\n</td><td>\n\nDiscovery may trigger both discovery.complete and discovery.canceled events for the same status, and it may trigger discovery.canceled twice.\n\n</td><td>\n\n1.  Create or pick a cloud-resource Discovery schedule configured to use a specific MID server \\(midSelMethod = 'specific\\_mid'\\).\n2.  Ensure that the MID server is in a state where validateMIDCondition\\(\\) returns false \\(typically because the MID is down / not validated\\).\n3.  Run the schedule \\(or trigger it via the Discover Now action\\).\n\n Observe that discovery.canceled fires twice for the same status record. The StartDiscovery error log for 'Discovery canceled on previously started schedule ... due to mid not available' appears twice. Instead, there should be a single discovery.canceled event and a single error log entry per cancelled run.\n\n</td></tr><tr><td>\n\nDiscovery\n\n PRB2014076\n\n</td><td>\n\nUpdate Discovery references to the new error framework from a scoped app to zboot\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDiscovery\n\n PRB2016944\n\n</td><td>\n\nClassifier probes aren't firing if the 'First checked' probe has already been fired\n\n</td><td>\n\nDiscovery should fire further probes, but instead completes prematurely.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDocument Intelligence Unified Backend\n\n PRB2018937\n\n</td><td>\n\nLocal naively checks for empty text rather than 'blank' when classifying PDF pages for DocReader\n\n</td><td>\n\nThe PDF page is classified as 'digital' instead of 'scanned' because it checks for empty text instead of a blank PDF page.\n\n</td><td>\n\nCall DocReader Local with a scanned PDF containing blank text, for example, '\"\\\\n\\\\n\\\\n\"'.\n\n Notice that the page is classified as 'digital' rather than 'scanned'.\n\n</td></tr><tr><td>\n\nDocument Intelligence Unified Backend\n\n PRB2029867\n\n</td><td>\n\nUsers can configure more than 50 fields per use case, which does not match the product and pricing based limitations\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nDynamic Scheduling\n\n PRB2021720\n\n</td><td>\n\nCapacity console isn't loading after changing the default date format\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Log in to an instance.\n2.  Change the default date format from sys properties.\n3.  Create a capacity assignment for any territory.\n4.  Try to load the capacity console.\n\n Expected behavior: Events display for the territory.\n\n Actual behavior: No events display as demand metrics data aren't created.\n\n</td></tr><tr><td>\n\nDynamic Scheduling\n\n PRB2025038\n\n</td><td>\n\nDynamic Scheduling isn't considering recurrence if more then 1 record for same resource is present in the 'Territory resource demand' table\n\n</td><td>\n\nFor example, if 2 records for the same date range with da ifferent recurrence are created for same territory and demand channel, such as: May 1st to May 30th - Monday Recurrence and May 1st to May 30th - Tuesday Recurrence, then Dynamic scheduling isn't considering the Tuesday recurrence.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nEdge Encryption\n\n PRB1945424\n\n</td><td>\n\nThere's high memory utilization on proxy servers after the Yokohama upgrade\n\n</td><td>\n\nAfter upgrading and running Yokohama, the memory consumption is above the limit set in wrapper.conf. The user set the memory limit for 10G in the wrapper.conf, but the edge proxy doesn't respect this setting in the build. The memory goes to the physical limit and causes the proxy server to restart.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nEmail Notifications\n\n PRB1970107\n\n</td><td>\n\nThere's an issue with adding an email template in Zurich\n\n</td><td>\n\n \n\n</td><td>\n\n1.  If no record exists, create a record for a sys\\_email\\_template for sn\\_customerservicecase.\n2.  Navigate to CSM/FSM Configurable Workspace.\n3.  Select the 'Lists' icon on the left navigation pane.\n4.  Navigate to **Cases** &gt; **All**.\n5.  Open case CS0001001.\n6.  Stay on the 'Comments' tab in the right-side pane.\n7.  From the right navigation, select **Email Templates**.\n8.  Apply any template.\n9.  Do this repeatedly until an error displays.\n\n</td></tr><tr><td>\n\nEmail Notifications\n\n PRB2003711\n\n</td><td>\n\nThere's inconsistent behavior on bringing the /r response template in the email body\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Create a response template with the channel type as 'email'.\n2.  Navigate to Customer Service Management/Field Service Management configurable workspace and impersonate as a frontline agent.\n3.  Create a case with 'email' as the channel type.\n4.  In the 'Email' section, type '/r'.\n5.  Look for the created response template.\n\n See that the response template isn't displaying.\n\n</td></tr><tr><td>\n\nEmail Notifications\n\n PRB2006670\n\n</td><td>\n\nPush Notifications aren't sending the badge count\n\n</td><td>\n\nThis issue occurs on mobile instances.\n\n</td><td>\n\n1.  Log in to a mobile instance.\n2.  Fire a notification.\n\n Observe that the badge count isn't sent in the push payload.\n\n</td></tr><tr><td>\n\nEmail Notifications\n\n PRB2022602\n\n</td><td>\n\nClient script include should be created to make client scripts modular and reusable\n\n</td><td>\n\nIn Zurich, the wiring's not implemented for mini composer in CSM when activity stream compose isn't present.\n\n</td><td>\n\n1.  Update the 'glide.email\\_ client.configurable \\_send\\_enabled' value to 'sn\\_customerservice\\_case'.\n2.  Make sure configuration is done.\n3.  Log in as a user with elevated privileges.\n4.  Navigate to CSM workspace.\n5.  Open a case record.\n6.  Ensure activity stream isn't present.\n7.  Select **Compose Email** to open a modeless dialog.\n8.  Add \\[private\\] in the **Subject** field.\n9.  Add 'unknown user' in the **To** field.\n10. Select the **Send** button.\n\n Expected behavior: The pop-up is displayed based on the configuration.\n\n Actual behavior: The pop-up isn't displayed when the user selects the **Send** button.\n\n</td></tr><tr><td>\n\nEmployee Relations Case Management\n\n PRB2009979\n\n</td><td>\n\nMoving an RCA from the Employee Relations scope to the Evidence scope\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nError Framework\n\n PRB2014079\n\n</td><td>\n\nMigrate the error framework from a scoped app to Glide universe/zboot\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nError Framework\n\n PRB2014080\n\n</td><td>\n\nLog analysis and error refinement\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nError Framework\n\n PRB2014081\n\n</td><td>\n\nError framework backlog for UI Builder unit tests and QoL\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nEvent Management\n\n PRB1980951\n\n [KB2738069](https://hi.service-now.com/kb_view.do?sysparm_article=KB2738069)\n\n</td><td>\n\nWhen text-based grouping is turned on, tag-based grouping doesn't work consistently\n\n</td><td>\n\nWhen text-based grouping is turned on, the related tag-based alerts aren't always grouped. This behavior isn't consistently reproducible and occurs at random. If text-based grouping is turned off, the related alerts are grouped by tags.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nEvent Management\n\n PRB1999707\n\n</td><td>\n\nAn app node crash occurs due to OutOfMemory \\(OOM\\), and GroupingDebugLogger accumulaties log messages even if logging is disabled\n\n</td><td>\n\nAfter stimulating alerts for Metric rule/Event rule and checking the tables for node restarts and active transactions, the queue in the sys\\_trigger table is huge.\n\n</td><td>\n\n1.  Install the following in the instance:\n    1.  sn-dex-4.0.0-SNAPSHOT\n    2.  agent-client-collector-framework-6.0.1\n    3.  com.snc.samp\n    4.  com.sn\\_sam\\_saas\\_int.\n2.  Load 400k agents with E2E data simulation using SIM Version: 3.2.45.\n3.  Simulate alerts for Metric rule/Event rule at 300k-600k per 5 minute rate, so that it runs at 1-2k per second.\n4.  Check the node restarts from the v\\_cluster\\_nodes table.\n5.  Check the active transactions from the v\\_cluster\\_transaction table.\n\nNotice that there are slow 'Event Management – process events' jobs.\n\n6.  Check queue in the sys\\_trigger table.\n\n Notice that there is a huge queue found in the sys\\_trigger table.\n\n</td></tr><tr><td>\n\nExperimentation Platform\n\n PRB2027972\n\n</td><td>\n\nFeature flagging under the feature preview program\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nExplicit Roles\n\n PRB2011506\n\n</td><td>\n\nThe NullPointerException in ExplicitRoleCollisions .handleSysUserGrmember invalidates ATF rollback context during CreateUserStepRunner execution\n\n</td><td>\n\nDuring the scheduled nightly ATF test execution, a null pointer exception occurs in the explicit roles collision check logic, which propagates up and invalidates the ATF rollback context. This prevents automatic rollback of test-created records \\(e.g. Incidents, Users, Business Services\\), leaving orphaned data in the environment.\n\n</td><td>\n\n1.  Activate the explicit roles plugin.\n2.  Create a test user.\n3.  Assign the user the snc\\_internal role only.\n4.  Create a group with any one role.\n5.  Add the test user to the created group.\n\n Expected behavior: There is no null pointer exception in the node log.\n\n Actual behavior: There is the following null pointer exception in the node log: 'Error: java.lang.NullPointerException: Cannot invoke 'com.glide.explicit\\_roles. MutuallyExclusive RoleCheckResult $MutualExclusion ResultType .ordinal\\(\\)' because the return value of 'com.glide.explicit\\_roles. MutuallyExclusive RoleCheckResult .getResultType\\(\\)' is null'.\n\n</td></tr><tr><td>\n\nFlow Engine\n\n PRB1992819\n\n</td><td>\n\nImpact handling of Scripting Governance disable switch\n\n</td><td>\n\nA disable switch for the Scripting Governance feature is being backported. Any ACL or Java code dependent on the scripting role/group will break if a user flips the disable switch.\n\n</td><td>\n\n1.  Check the ACL and Java code for usage of the snc\\_required\\_ script\\_writer\\_ permission role and conditional script writer group.\n2.  Ensure that the feature doesn't break when the switch is turned off/on.\n\n</td></tr><tr><td>\n\nFlow Engine\n\n PRB2014479\n\n</td><td>\n\nAdd the roles 'taas writer' and 'taas reader' with API access only, and not with table ownership\n\n</td><td>\n\nAdding 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.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nForm Templates\n\n PRB1833484\n\n</td><td>\n\nA workspace template with a currency-type field fails to apply\n\n</td><td>\n\nA workspace template fails to apply if it contains a currency-type field. However, a template created from the platform applies in workspace as expected, even with a currency-type field.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nGenerative AI Controller\n\n PRB2026284\n\n</td><td>\n\nAgents aren't working in Zurich nightly with the latest snapshot\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Navigate to agents playground.\n2.  Trigger any agent.\n\n See that the agent is stuck in starting and no context is passed to it.\n\n</td></tr><tr><td>\n\nGlideRecord\n\n PRB1922298\n\n</td><td>\n\nAssessment Metrics \\(asmt\\_metric\\) in a question bank disappear after they're used in a published survey\n\n</td><td>\n\nOn an instance running on RaptorDB \\(postresql\\), the assessment metric in the question bank can disappear. The issue can't be reproduced on MariaDB.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nGlideRecord\n\n PRB1958518\n\n [KB2942052](https://hi.service-now.com/kb_view.do?sysparm_article=KB2942052)\n\n</td><td>\n\nA Null Pointer Exception is thrown if a table has a GlideElement WikiText type field and queries at startup before extension points are loaded\n\n</td><td>\n\nAdding a GlideElement Wikitext type field to the user table can cause an outage. The page is blank and errors are seen. On a local instance, the instance throws servlet exceptions and doesn't start.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nGlobal Ranking\n\n PRB2005044\n\n</td><td>\n\nRemove 'defect' and 'enhancement' as options from the 'Demand' type\n\n</td><td>\n\nRemoving 'defect' and 'enhancement' as drop down options in the 'Demand' type from the SPM\\_agile\\_commons plugin repository that are c entries to appear in 'Demand'. Removing these files from the repository prevent these demands from being created.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nHardware Asset Management\n\n PRB2023375\n\n</td><td>\n\nStockrooms missing a distribution channel yield empty records in the 'list' view\n\n</td><td>\n\nThe following exception is thrown when navigating to the 'list' view: 'com.snc.kittyscript.SecurityCallbackException: Scope objects cannot be passed as function arguments'.\n\n</td><td>\n\n1.  Log in to a Zurich instance with HAM 12.1.2 installed.\n2.  Navigate to **Hardware Asset Workspace** &gt; **Inventory**.\n3.  Select the **View** button on the Stockrooms missing distribution channel.\n\n See that no records are visible.\n\n</td></tr><tr><td>\n\nHR Service Delivery\n\n PRB2016516\n\n</td><td>\n\nRCA is generated for 'Populate Manager Reportee Count Using Eligible Users' and 'EmployeeHubOrg ChartReporteeUtilSNC'\n\n</td><td>\n\nThe following two RCA's are generated for the new scripts, causing test failures: sys\\_script\\_include\\_ a302f8807873f250 f877079523d275e1 and sysauto\\_script\\_ 33a5e72453f7 b210f2ebffc 230e5e69d.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nInstance Clone \\(Family\\)\n\n PRB2023467\n\n</td><td>\n\nIncorrect values are shown on the clone summary page\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nInstance Scan\n\n PRB1992382\n\n [KB2901125](https://hi.service-now.com/kb_view.do?sysparm_article=KB2901125)\n\n</td><td>\n\nInstance scan jobs get stuck in a sleep loop for days, which causes the subsequent scans to fail\n\n</td><td>\n\nInstance scan findings are written to the database asynchronously and are tracked using a global counter. If any write fails, the counter doesn't decrement properly; it goes up but never comes back down. This causes all future scans to hang indefinitely, waiting for a counter that will never reach zero. There's no timeout or logging to flag this, so scans can get stuck silently.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nInstance Scan\n\n PRB2017072\n\n</td><td>\n\nInstance scans detecting custom records instead of other records are modified from the baseline\n\n</td><td>\n\nInstance scan checks like 'Differs from baseline' are detecting custom records created by users. As per the script used, only the records which are modified should be detected.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nInstance Scan\n\n PRB2022691\n\n</td><td>\n\nInstance Scan Linter Check fails on sys\\_module with an error: 'Rhino error: missing ; before statement'\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Create an app in ServiceNow IDE.\n2.  Create at least one file \\(e.g. business rule\\) that stores code in a sys\\_module application file.\n3.  Build and deploy the app.\n4.  Create an Instance Scan Linter Check.\n5.  Scan the resulting app \\(or the individual sys\\_module record\\) using the linter check.\n6.  In the scan result record on the 'Failures' related list.\n7.  Validate that one or more errors are logged: 'Rhino error: missing ; before statement'.\n\n</td></tr><tr><td>\n\nIntegration Hub\n\n PRB1870601\n\n</td><td>\n\nA PowerShell step error message is no longer populated\n\n</td><td>\n\nOn flow engine V1, the user ran a flow execution and can observe 'Error Code' and 'Error Message' are outputed in the 'Output Data' section when the PowerShell script returns an error. However, if users switch to flow engine V2, the same error code and error message can not be rendered into the 'Output Data' section.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nInteractive Filters\n\n PRB2007031\n\n</td><td>\n\nApplying the filter in the Dashboard shows 'Some applied options are currently unavailable' when the filter options have a comma ',' in the value\n\n</td><td>\n\nWhile trying to apply an indicator filter with the 'Filter' option in the breakdown, the messages 'Some applied options are currently unavailable' and 'Unavailable option' appear.\n\n</td><td>\n\n1.  Create a filter with a data source as an indicator.\n2.  Create a breakdown on any table.\n3.  Ensure the field has a comma in the field value.\n4.  Add the filter to a dashboard.\n5.  Apply the filter.\n\n Notice the message, 'Some applied options are currently unavailable.'\n\n</td></tr><tr><td>\n\nInternationalization Features\n\n PRB1892286\n\n [KB2277705](https://hi.service-now.com/kb_view.do?sysparm_article=KB2277705)\n\n</td><td>\n\nA non-admin user can't change a dashboard name by specific steps when the system language is set to Japanese\n\n</td><td>\n\nThe dashboard name should be updated correctly and reflected in both the primary record and its translated fields, as it is in the Washington and Xanadu versions. In the Yokohama version, the update to the dashboard name fails silently when the Japanese language is enabled and the sys\\_translated record exists.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nIssue Auto Resolution for Virtual Agent\n\n PRB1657388\n\n [KB1307989](https://hi.service-now.com/kb_view.do?sysparm_article=KB1307989)\n\n</td><td>\n\nIssue 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\n\n</td><td>\n\nAffects 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.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nKey Management Framework \\(KMF\\)\n\n PRB1964424\n\n</td><td>\n\nWebServices Mutual Auth connections fail if the instances are in FIPS mode\n\n</td><td>\n\nIf an instance is using FIPS mode, REST Web Services connections fail if the authentication type is 'Mutual Auth'. The following error is thrown: org.bouncycastle.tls.TlsFatalAlert: unsupported\\_extension\\(110\\).\n\n</td><td>\n\n1.  Turn on FIPS mode on an instance.\n2.  Set up an outbound REST call to a third-party API.\n3.  Make sure the authentication type is 'Mutual Auth'.\n4.  Set up a protocol profile record to associate to the REST connection.\n5.  Apply the API's endpoint .bsfks keystore certificate to the Protocol Profile Keystore record.\n6.  Run a test connection to the endpoint.\n\n See that it fails with an error: 'org.bouncycastle.tls.TlsFatalAlert: unsupported\\_extension\\(110\\)'.\n\n</td></tr><tr><td>\n\nKnowledge Blocks\n\n PRB2000541\n\n</td><td>\n\nThere are formatting issues in the KB article view compared to the 'Details' tab view\n\n</td><td>\n\nThere are differences in the formatting of the KB article between the 'Details' tab and the 'View article' view.\n\n</td><td>\n\n1.  Open the Compliance workspace.\n2.  Navigate to **List modules** &gt; **All Policies**.\n3.  Create any policy record with all the required fields completed.\n4.  Switch to the 'Policy text' tab.\n5.  Select **Import word document**.\n6.  Import the word document.\n7.  Select **Request review**.\n8.  Select **Request approval**.\n9.  Switch to the 'Approvals' tab.\n10. Approve the record.\n11. Switch back to the 'Details' tab.\n\nNotice that there is a KB article generated in the **Published policy** field.\n\n\n Notice that the formatting in the KB article 'Details' tab and the 'View article' view are different.\n\n</td></tr><tr><td>\n\nKnowledge Graph \\(Family\\)\n\n PRB2021133\n\n</td><td>\n\nKnowledge Graph \\(KG\\) description deactivator triggers long-running queries, causing HLL spikes\n\n</td><td>\n\nPost Version Upgrade Job : KG Description Deactivator triggers Long running queries and causes HLL spike\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nKnowledge Management\n\n PRB1976775\n\n</td><td>\n\nA KB's article title is empty under the 'Event property values' column in the 'Article Title' report\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Navigate to an instance.\n2.  Navigate to the User Experience Analytics dashboard.\n3.  Select **Employee Center** in the menu.\n4.  Navigate to **Data Foundation** &gt; **Events section**.\n5.  Open the 'View Knowledge Article' event.\n6.  Under 'Event properties', navigate to the 'Article Title' and 'Article SysID' widgets.\n7.  Observe the '...' empty value on the report chart.\n8.  Export the data to Excel.\n\n Observe the exported report contains an empty field under the first column labeled 'Event property values'.\n\n</td></tr><tr><td>\n\nKnowledge Management\n\n PRB2009818\n\n</td><td>\n\nThe **Recall** button isn't displayed for the author of the article in Service Operations Workspace\n\n</td><td>\n\nThe **Recall** button in a workspace is nested behind the **Edit** button, which is intentionally hidden from the author while the article is in review. However, authors are blocked from editing content that is currently under review. The **Recall** button only appears after selecting **Edit**, but since the **Edit** button isn't visible to the author in this state, the **Recall** button is unreachable.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nKnowledge Management\n\n PRB2010029\n\n</td><td>\n\nKnowledge blocks aren't honoring Knowledge Center \\(KC\\) redirection properties\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Turn on redirection properties for KC: sn\\_km\\_center. glide.knowman. redirect.enable.\n2.  Navigate to 'Knowledge Blocks' in Navigator in UI16.\n3.  Select **Create**.\n\n Expected behavior: Knowledge blocks should honor KC redirection properties.\n\n Actual behavior: Creating or editing a from UI16 doesn't redirect to KC.\n\n</td></tr><tr><td>\n\nKnowledge Management\n\n PRB2010576\n\n</td><td>\n\nkb\\_translate page padding and alignment must be revisited\n\n</td><td>\n\nThere's no padding at all and the page content and buttons are near to the borders and not what users see in other workspaces. The kb\\_translate page should be properly padded as in other workspaces for a consistent experience.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nKnowledge Management\n\n PRB2014935\n\n</td><td>\n\nKB Portal's image dimensions don't match with the Native UI\n\n</td><td>\n\nThe image dimensions displayed in the KB Portal don't match with the dimensions configured in the article body within the Native UI, although they should.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nKnowledge Management\n\n PRB2027236\n\n</td><td>\n\nTrue-up for KC and NAKM, ECE, and KC in UI Builder\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nList Administration\n\n PRB1970036\n\n</td><td>\n\nList type data visualization doesn't show new lines \\(multi-lines\\)\n\n</td><td>\n\nThe data visualization doesn't add new lines \\(multi-lines\\) in Zurich, but it does in Yokohama.\n\n</td><td>\n\n1.  Open an incident record.\n2.  Enter the following strings in the **Description** field:\n    -   改行1\n    -   改行1\n    -   改行1\n    -   改行1\n    -   改行1\n    -   改行1\n3.  Create a dashboard.\n4.  Add a list data visualization based on the incident table.\n5.  Show the description column on the data visualization.\n\n Observe that the data visualization doesn't add new lines \\(multi-lines\\).\n\n</td></tr><tr><td>\n\nList Administration\n\n PRB1989840\n\n</td><td>\n\nThere's unintended creation of temporary list copies when refreshing a default list via address bar\n\n</td><td>\n\nWhen 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 'My Lists' &gt; 'Opened by link'. 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.\n\n</td><td>\n\n1.  Open any default list in the workspace.\n2.  Select the browser address bar \\(don't modify the URL\\).\n3.  Press **Enter** to reload/refresh the page.\n\nObserve that once the page reloads, it automatically navigates to **My Lists** &gt; **Opened by link**.\n\n\n Expected Behavior: Refreshing a default list via the browser address bar doesn't create a list artifact.\n\n Actual Behavior: A new temporary copy of the default list is automatically created. The list appears in **My Lists** &gt; **Opened by link**, even though the user never requested a copy. The list is not shared with anyone by default.\n\n</td></tr><tr><td>\n\nList Administration\n\n PRB1999574\n\n</td><td>\n\nThe user has no information about who shared a list with them\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Open Customer Service Management or Field Service Management Configuration Workspace.\n2.  Navigate to the 'List' page as an admin user.\n3.  Create a few lists in the 'My Lists' tab.\n4.  Share one list with another user, like Fred Luddy.\n5.  Impersonate Fred Luddy.\n\nObserve the shared list in the 'Shared with me' section inside the 'My List' tab.\n\n\n Expected behavior: There's some info or indication on who shared the list.\n\n Actual behavior: The Fred Luddy user has no information regarding who shared this list.\n\n</td></tr><tr><td>\n\nList Administration\n\n PRB1999583\n\n</td><td>\n\nThe 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\n\n</td><td>\n\nLists can't be re-ordered in the 'Shared with me' section in the 'My List' tab.\n\n</td><td>\n\n1.  Open Customer Service Management or Field Service Management Configuration Workspace.\n2.  Open the 'List' page as an admin user.\n3.  Create a few lists for as an admin user in the 'My Lists' tab.\n4.  Share all these lists with the user, Fred Luddy.\n5.  Impersonate the user, Fred Luddy.\n\nNotice that there is a shared list in the 'Shared with me' section inside the 'My List' tab.\n\n6.  Attempt to reorder the lists by using the drag and drop function.\n\n 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.\n\n Actual behavior: The user Fred Luddy can't reorder the lists in the 'Shared with me' section.\n\n</td></tr><tr><td>\n\nList Administration\n\n PRB2003558\n\n</td><td>\n\nUsers are unable to select 'presentational' variables when using the list selector to build out list configurations\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Verify that sn-list-selector has been updated to Version 26.0.0.\n2.  Create a list visualization against the incident table.\n3.  Select **Edit**.\n4.  In the configuration panel in the 'Columns and rows' section, next to 'Columns', select **Add**.\n5.  Scroll to 'Questions' and expand it.\n6.  Scroll on the list of variables and look for 'Legal Section'.\n\n Observe that it can't be found. Users would like to be able to choose presentational variables as well, even if they don't contain any values.\n\n</td></tr><tr><td>\n\nList Administration\n\n PRB2012758\n\n</td><td>\n\nList fails to load due to a DataFetchingException from NowAssistSkillConfig\n\n</td><td>\n\nThe list page in Service Operations Workspace doesn't load; it looks like the page is processing. NAA code is called and throws an exception, which results in list load error.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nList Administration\n\n PRB2014997\n\n</td><td>\n\nIn Service Operations Workspace, live updates of Alert Express List displays en 'Invalid Row Data, Duplicate Row Keys' error on auto-refresh\n\n</td><td>\n\nhandleLiveListChange\\(\\) \\(~line 448\\) dispatches LIVE\\_LIST\\_FETCH\\_ROW\\_LAYOUT\\_REQUESTED for every AMB event with no in-flight deduplication. When multiple AMB events arrive for the same sys\\_id before the first GraphQL fetch completes, findRowByFullKey\\(\\) \\(parentChildBehaviorUtils.js:95\\) returns null for each event and each event triggers its own fetch. Each fetch response then adds the row via addEnteredRowToRowDefinitions\\(\\) \\(~line 676\\), resulting in duplicate row keys. hasDuplicateRowKeys\\(\\) \\(rowBehavior.js\\) detects duplicates and triggers the error overlay.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nList Administration\n\n PRB2023617\n\n</td><td>\n\nGrouping and summarization for telemetry for Multi-Record Actions \\(MRA\\) - List AI\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nList Administration\n\n PRB2023634\n\n</td><td>\n\nImplement add/remove an AI indicator for the rows created/modified by an AI agent and clear an AI indicator when inline edits are made\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nLive Archive\n\n PRB1976776\n\n</td><td>\n\nThere's an error when restoring to long table name aliased tables\n\n</td><td>\n\nThis happens with both chunking and hex based approaches. It happens in both related records and payload parsing. Also, the state in sys\\_archive\\_restore\\_request is set to 'complete' instead of 'Error' in this case.\n\n</td><td>\n\n1.  Create a long table name aliased table in sys\\_db\\_object.\n2.  Add records to the table in step one.\n3.  Create and run an archive rule for the table.\n4.  Create a bulk restore request for the ar\\_ aliased table.\n5.  Run a bulk restore or wait on an hourly trigger.\n\n Expected behavior: All records matching the restore request conditions should be restored.\n\n Actual behavior: The chunks error out and an error is seen in the logs.\n\n</td></tr><tr><td>\n\nLive Archive\n\n PRB1980314\n\n</td><td>\n\nAfter archiving, bulk restoring, and killing a node, checkpoint rows aren't populated in sys\\_archive\\_restore\\_checkpoint\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nLive Archive\n\n PRB1982265\n\n</td><td>\n\nThere's an error in the logs after running the DMscheduler daily trigger\n\n</td><td>\n\nThere's an error: 'ERROR \\*\\*\\* \\#808133feature= AttachmentMigration AttachmentMigrationService: Error migrating attachment sys\\_id: 73dec36dcc623210 f877c28b1770b27b from: ROWSTORE to: COLUMNSTORE'.\n\n</td><td>\n\n1.  Migrate ar\\_incident with 10k attachment records to columnstore.\n2.  Trigger the 'Attachment Storage Migration' job using DMscheduler daily in sys\\_trigger.\n3.  While the chunks are processing, shut down the app node that the job is working on.\n4.  Start the appnode.\n\n Once job resumes, notice there's a chunk stuck in a 'processing' state and an error in the logs after running DMscheduler daily trigger.\n\n</td></tr><tr><td>\n\nLive Archive\n\n PRB2007788\n\n</td><td>\n\nData Management Console isn't reporting Tier 2 data correctly\n\n</td><td>\n\nRecently, data was offloaded to the new 'Columnar' solution for multiple tables to S3 storage. The Data Management Console displays a negative value, which is incorrect, and also doesn't match with the PG stats.\n\n</td><td>\n\n1.  Offload data from 'Columnar' tables.\n2.  Log in to the instance to check the data for Tier 2 on Data Management Console.\n\n Expected behavior: 'Tier 2 Storage Used' should match the actual amount of data offloaded.\n\n Actual behavior: 'Tier 2 Storage Used' is negative.\n\n</td></tr><tr><td>\n\nLive Archive\n\n PRB2010081\n\n</td><td>\n\nTier 2 archive plugins \\(com.glide.columnar.archive &amp; com.glide.data\\_management. columnar\\_attachment\\) and the legacy archive plugin \\(com.glide.auxdb\\) need to be renamed\n\n</td><td>\n\nThe plugin ID should remain the same.\n\n</td><td>\n\n1.  Browse to the 'Plugins' page.\n2.  Search for the archiving plugin shipping with Australia and the legacy plugins.\n\n Expected behavior: Marketing has changed the plugin names:\n\n -   com.glide.data\\_ management.columnar \\_attachments: New Name = Live Archive Attachments\n-   com.glide. columnar.archive: New name = Live Archive\n-   com.glide.auxdb: New name = System Archive\n\n Actual behavior: The incorrect plugin names are displayed.\n\n</td></tr><tr><td>\n\nLive Archive\n\n PRB2017269\n\n</td><td>\n\nArchive Destroy operations against archive tables that have attachments aren't performed\n\n</td><td>\n\nThe 'Destroy' job deletes attachment data from sys\\_attachment\\_ doc\\_columnar one attachment at a time, with each attachment requiring two SQL operations. Each attachment pair takes ~2.7 seconds. The ColumnarDeleteService is cleaning up related/peripheral records \\(attachments, journals\\) but the actual archive table row deletion either happens in a separate phase, was skipped, or happened in a subsequent chunk.\n\n</td><td>\n\n1.  Set up Tier 2 Live Archive.\n2.  Archive a lot of records that have attachments.\n3.  Configure an archive destroy rule that deletes these archived records.\n\n Expected behavior: The archive destroy operation should be performed.\n\n Actual behavior: Archive destroy is taking 1hr 40mins to delete 2,000 records.\n\n</td></tr><tr><td>\n\nLive Archive\n\n PRB2022367\n\n</td><td>\n\nIn AttachmentMigrationService, copy-then-delete causes silent data loss through cascade delete on sys\\_attachment\\_attribute, dp\\_attachment\\_protection\\_history, and sys\\_attachment\\_migration\\_status\n\n</td><td>\n\nAttachmentMigrationService migrates attachments between the storage backends 'ROWSTORE' and 'COLUMNSTORE' by creating a new sys\\_attachment row with a new sys\\_id, and then deleting the old one. Deleting the old sys\\_attachment triggers reference\\_cascade\\_rule='delete' on every child table that references it, which silently destroys records that reference the old sys\\_id, even though a valid replacement exists. The cascade engine has no knowledge of the new sys\\_id, so the new sys\\_attachment ends up with no associated child rows. The following child tables suffer silent data loss on every migrated attachment: sys\\_attachment\\_attribute \\(per-attachment metadata\\), sys\\_attachment\\_migration\\_status \\(migration tracking history\\), and dp\\_attachment\\_protection\\_history \\(data-privacy / compliance audit trail\\).\n\n</td><td>\n\n1.  Open an instance with the columnar attachments plugin, 'com.glide.data\\_ management.columnar \\_attachments,' enabled.\n2.  Create a sys\\_attachment row for any storage type, such as 'ROWSTORE', and note that the sys\\_id equals 'X'.\n3.  Insert child rows referencing 'X' with the following:\n    1.  sys\\_attachment \\_attribute: row with the sys\\_attachment = X\n    2.  sys\\_attachment \\_migration\\_status: row with the attachment = X\n    3.  dp\\_attachment \\_protection\\_history: row with the attachment = X\n4.  Trigger the migration via AttachmentMigration Service.migrate Attachments\\(\\[X\\], AttachmentStorageType .ROWSTORE, AttachmentStorageType .COLUMNSTORE\\).\n5.  Query each of the three child tables for the original sys\\_id 'X' after the call returns.\n\n Expected behavior: All three child tables still contain rows for the migrated attachment, either against the same sys\\_id, or under copy-then-delete which is re-pointed to the new sys\\_id.\n\n Actual behavior: All three child tables contain zero rows for the original sys\\_id 'X'. The new sys\\_attachment record, the new sys\\_id 'Y', exists with the migrated chunk data, but contains no rows in any of these three child tables. The data is silently lost and no error is logged. This occurs in any instance running on a build that includes AttachmentMigrationService for track, datamanagement, and downstream.\n\n</td></tr><tr><td>\n\nMajor Incident Management\n\n PRB2030990\n\n</td><td>\n\nThe Major Incident Management \\(MIM\\) plugin is installed automatically after upgrading in Australia\n\n</td><td>\n\nThe MIM family plugin is added as a dependency on the Service Operations Workspace MIM application. The dependency of the MIM plugin should be removed from the sn\\_sow\\_mim plugin.\n\n</td><td>\n\nUpgrade an instance to Australia.\n\n Expected behavior: The MIM family plugin shouldn't be installed on the upgrade.\n\n Actual behavior: The MIM family plugin is installed on upgrading to Australia.\n\n</td></tr><tr><td>\n\nMetricBase\n\n PRB2008126\n\n</td><td>\n\nThe rollup scheduling script has a race condition that allows duplicate event queuing in MetricRaptor\n\n</td><td>\n\nWhen no classic shards are configured and the mb\\_shard\\_mapping table is either empty or has no rows with stores\\_classic\\_data = true, there is excessive logging for ClothoClientManager and ClothoRrdWriter. The error '\\*\\*\\* ERROR \\*\\*\\* No endpoints available' occurs for ClothoClientManager, and '\\*\\*\\* WARNING \\*\\*\\* No Classic Clotho Shard Configured' occurs for ClothoRrdWriter.\n\n</td><td>\n\n1.  Have an active mb\\_raptor\\_table with the rollup spec configured.\n2.  Wait for the scheduled script to queue an mb\\_rollup event.\n3.  While the event is in 'processing' state, trigger or wait for the next scheduled run.\n4.  Wait for one minute interval.\n\n Observe that a duplicate mb\\_rollup event is queued because the state = 'ready' check misses the processing event.\n\n</td></tr><tr><td>\n\nMID Server\n\n PRB1998489\n\n</td><td>\n\nRoot Cause Analysis \\(RCA\\)/Cross Scope Access changes are casuing the 'MAW' list and record declarative actions to be blocked from execution\n\n</td><td>\n\nChanges made in RCA/Cross Scope Access on the platform side have impacted the declarative list and record actions for MAW from working. When attempting to execute any of these actions which call the MIDManage API, users see an error that the RCA record isn't present for this script execution, despite the Cross Scope Access record being defined.\n\n</td><td>\n\n1.  Install MID Admin Workspace on any release on a fresh instance.\n2.  Try to validate MID Server.\n\n Notice that this action is blocked and the corresponding error banner displayed to the user.\n\n</td></tr><tr><td>\n\nMID Server\n\n PRB2024310\n\n</td><td>\n\nMID Admin Workspace isn't auto-installed with ITOM Infra Services Workspace app\n\n</td><td>\n\nIn an Australia instance, the ITOM Infra Services Workspace is installed but the MID Admin Workspace is not, though it should be.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nMobile Platform\n\n PRB1984253\n\n</td><td>\n\nWhen in offline mode for external uses, cost and currency display inaccurately\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nMobile Platform\n\n PRB1999865\n\n</td><td>\n\nSupport onSubmit UI Rule\n\n</td><td>\n\nConfigure and execute UI Rules at the time when the input form screen is submitted both online and offline.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nMulti-Instance Framework\n\n PRB2019094\n\n</td><td>\n\nAsync messages from a JavaScript layer aren't signed so they aren't validated on a receipt\n\n</td><td>\n\nMIF async messages sent from the script layer aren't signed because the two argument 'MessageSender.createTrusted \\(scopeName, messageProducer\\)' factory method uses a no-op identity augmentor instead of 'EnvelopeTrustAugmenter'. However, the Hermes receiver still expects and validates ISK signatures on all incoming messages, causing a failure when attempting to decode the null Base64 signature field.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nMultimodal Service \\(Family Channel\\)\n\n PRB2022350\n\n</td><td>\n\nVision Agent MMS Glide changes\n\n</td><td>\n\nThis is a product update\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nMultimodal Service \\(Family Channel\\)\n\n PRB2022351\n\n</td><td>\n\nImplement improvements to the MMService plugin\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nMultimodal Service \\(Family Channel\\)\n\n PRB2029152\n\n</td><td>\n\nUpdate vision agent AIA records to consume new multimodal service-backed video Q&amp;A subflows\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nMultimodal Service \\(Family Channel\\)\n\n PRB2029156\n\n</td><td>\n\nMove MMS to GA\n\n</td><td>\n\nThe MMS plugin name displays 'MAINT ONLY', and should be updated.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nNext Experience Unified Navigation\n\n PRB2022500\n\n</td><td>\n\nIf a work item is assigned to the same agent repeatedly, the desktop notification stops appearing entirely\n\n</td><td>\n\nA new desktop notification should appear on every work item assignment.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nNext Experience Unified Navigation\n\n PRB2034454\n\n</td><td>\n\nRecord Summarization isn't using the page context\n\n</td><td>\n\nIn Now Assist Portal \\(NAP\\), when standing on an incident record and if the user type is 'summarize this record', NAP should pick up the incident from the page context.\n\n</td><td>\n\n1.  Open an incident on Service Workspace.\n2.  Open NAP.\n3.  Type 'summarize this record' in NAP.\n\n Expected behavior: NAP should summarize the incident the user is seeing.\n\n Actual behavior: NAP asks the user to enter the incident record number.\n\n</td></tr><tr><td>\n\nNow Assist in AI Search\n\n PRB1920760\n\n</td><td>\n\nGenAI log IDs are not returned for Now Assist Genius Results\n\n</td><td>\n\nThis issue occurs in Virtual Agent, portal, Now Assist Actions, Now Assist Q&amp;A, Synthesized Response, or anywhere a Now Assist Genius Result \\(GR\\) can be returned. Feedback is not logged even though there should be a value after the user selects the Thumbs up icon or Thumbs down icon on the Genius Result \\(GR\\).\n\n</td><td>\n\n1.  Open Virtual Agent.\n2.  Perform a search that returns at least one Now Assist Genius Result \\(GR\\).\n3.  Select the **Thumbs up** icon or the **Thumbs down** icon on the GR.\n4.  Run the background job to process queued signals.\n5.  Open the sys\\_generative\\_ai\\_log table.\n6.  Inspect the **Feedback** field for the transactions relevant to the Genius Result the user provided feedback on.\n\n Expected behavior: There should be a value such as 'Rejected' for negative feedback or 'Accepted' for positive feedback.\n\n Actual behavior: The feedback is not logged.\n\n</td></tr><tr><td>\n\nNow Assist in Document Intelligence\n\n PRB2030125\n\n</td><td>\n\nSupport attachments where the file names doesn't contain '.type' at the end\n\n</td><td>\n\nThere's an error: '\\{\"attachment\":\\{\\},\"task\":\\{\"708a54b23b 810f50141a0 e0f23e45a0b\":\\{\"error\\_msg\":\"Prediction server is not able to process the attachments: begin 0, end -1, length 9\"\\}\\}\\}'.\n\n</td><td>\n\n1.  Have a png image file with no errors.\n2.  Rename it to have a file name with '.png'.\n3.  Upload it to an instance.\n4.  Test the attachment summarization.\n\n Observe an error.\n\n</td></tr><tr><td>\n\nNow Assist Nextwave Experience\n\n PRB2009794\n\n</td><td>\n\nSynthesized response generation isn't considering custom sources\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nNow Assist Panel\n\n PRB2025041\n\n</td><td>\n\nA mic enabled for NAVA Premium Chat is incorrectly surfaced on Enhanced Chat\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Use the latest version of NAVA.\n2.  Enable a mic from NAVA assistant designer.\n3.  Change the experience to Enhanced Chat.\n\n Expected behavior: The **Send** button appears in the input bar.\n\n Actual behavior: On-Glide mic seen in input bar.\n\n</td></tr><tr><td>\n\nOn-Call Scheduling\n\n PRB2030962\n\n</td><td>\n\nThe On-Call Scheduling family plugin is installed on upgrading to Australia.\n\n</td><td>\n\nThe On-call plugin has been added as a dependency for the sn\\_sow\\_on\\_call plugin as part of core IT changes. This is causing issues for some users. On-call is automatically installed for new users via zboot. However, upgrade users need to install it manually. Due to the new dependency on the Store app, On-call is installed for some users when the commons bundle is upgraded. The dependency of the On-Call Scheduling plugin should be removed.\n\n</td><td>\n\n1.  Open any pre-Madrid instance where the On-call plugin isn't installed.\n2.  Upgrade to Australia.\n\n Expected behavior: The On-Call Scheduling family plugin shouldn't be installed on upgrading to Australia.\n\n Actual behavior: The On-Call Scheduling family plugin is installed on upgrading to Australia.\n\n</td></tr><tr><td>\n\nOneExtend\n\n PRB2025105\n\n</td><td>\n\nResponses fix for Java flow\n\n</td><td>\n\nValidate all the Java flow from NAVA, NAP and Skill Kit.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nOneExtend\n\n PRB2025250\n\n</td><td>\n\nCorrelation Insights skill is stuck on the progress bar when off-Glide is enabled\n\n</td><td>\n\nInsights should be generated and displayed. Instead, the progress bar spins indefinitely and no generative AI logs are produced. The issue occurs because the app prepares a bulk request with three payloads and invokes it in async mode with a callback handler. When off-glide is enabled for the capability, the async callback flow \\('NowAssistforSIR CorrelationInsights Callback'\\) appears to break silently. No generative AI logs are generated, indicating the LLM call never completes or the response isn't handled correctly.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nOneExtend\n\n PRB2025367\n\n</td><td>\n\nA cloning instance should preserve mosaic functionality in the target instance\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nOneExtend\n\n PRB2025540\n\n</td><td>\n\nOff-glide Mosaic pipeline ignores the per-request timeout and every call falls back to the platform default, regardless of caller intent or service-plan configuration\n\n</td><td>\n\nAll Mosaic calls fall back to the platform default; caller / control-setting / service-plan values are ignored. There's no phase-boundary timeout enforcement and requests run well past their stated SLA. DT translation always uses 0L.\n\n</td><td>\n\n1.  Enable off-Glide execution.\n2.  Ensure the Mosaic endpoint is reachable.\n3.  Submit an off-Glide execution request with an explicit short timeout \\(e.g., 5 seconds\\) that targets a capability with a slow model/heavy prompt so that the Mosaic call takes around 10–20 seconds.\n\nObserve that the request doesn't abort at 5 seconds. It runs until the platform default \\(around 60 seconds\\) or the upstream gateway times out.\n\n4.  In the Mosaic-client logs, confirm timeoutMs=0 \\(or the default\\) on the outgoing HTTP call, regardless of the caller-supplied value.\n5.  Update the sys\\_generative\\_ai control setting \\(Mosaic timeout\\) to a small value.\n6.  Send a request with no explicit timeout.\n\nObserve that the control setting is also ignored.\n\n7.  Update one\\_api\\_service\\_plan.timeout\\_ms for the plan backing the capability.\n8.  Send a request.\n\nObserve that the service-plan value is not applied either.\n\n9.  Pick a capability whose postprocessor emits a \\_dtRequest \\(DT reverse translation\\).\n10. Send a request with timeout=5 seconds where the primary Mosaic call returns at around 4 seconds.\n11. Confirm the subsequent DT-translation call still fires with timeoutMs=0 \\(platform default\\), so the total elapsed time exceeds 5 seconds.\n12. Repeat steps 9-11, driving the budget to exhaustion before postprocess.\n13. Confirm the DT call still fires instead of being skipped, and there is no 400001 / timeout response.\n14. Send a request via the routed-from-Mosaic &gt; OneExtend callback path \\(validateOffGlideConfig\\) that triggers DT translation.\n15. Confirm that no timeout is honored there either.\n\n Expected behavior: The caller-supplied timeout is the strongest signal and is honored by every Mosaic HTTP call in the pipeline \\(preprocess gate, primary execute, postprocess DT translation\\). In its absence, the control-setting, service-plan, and 60 second default apply \\(in that order\\). Exhausting the budget at any phase returns a timeout response \\(status=error, errorCode=400001\\). Override values are persisted to one\\_api\\_service\\_ plan.timeout\\_ms and cascade.\n\n Actual behavior: All Mosaic calls fall back to the platform default; caller / control-setting / service-plan values are ignored. There's no phase-boundary timeout enforcement and requests run well past their stated SLA. DT translation always uses 0L.\n\n</td></tr><tr><td>\n\nOneExtend\n\n PRB2025975\n\n</td><td>\n\nDo not log prompts or responses to Splunk for in-country routing users\n\n</td><td>\n\nPrompt and response information is removed from logs for users with in-country routing SKU.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nOneExtend\n\n PRB2026081\n\n</td><td>\n\nThere's a 100501 error with an async call\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nOneExtend\n\n PRB2028533\n\n</td><td>\n\nJava scriptable methods aren't working in some instance nodes\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nPerformance Analytics Dashboards\n\n PRB1993682\n\n</td><td>\n\n'This report has been migrated to a visualization' banner is shown when the unified property is false\n\n</td><td>\n\nThe banner message appears: 'This report has been migrated to a visualization. Migrated visualization is here.' The link redirects to a random visualization.\n\n</td><td>\n\n1.  Open an instance with sys\\_ui\\_context menus.\n2.  Navigate to Migration Center \\(/now/platform-analytics-workspace/migration-center\\).\n3.  Perform a bulk migration.\n4.  Activate all content.\n5.  Navigate to System Properties.\n6.  Set the property 'com.glide.par. unified\\_analytics .enabled' to false.\n7.  Navigate to any record list \\(e.g., /incident\\_list.do\\).\n8.  Create a bar or pie chart report from any column to open the Report Designer.\n\n Expected behavior: The banner isn't shown, as no report was migrated.\n\n Actual behavior: The banner message appears: 'This report has been migrated to a visualization. Migrated visualization is here.' The link redirects to a random visualization.\n\n</td></tr><tr><td>\n\nPerformance Analytics Dashboards\n\n PRB2005720\n\n</td><td>\n\nThe CoreUI dashboard selector triggers excessive ACL checks\n\n</td><td>\n\nThe ACL is evaluated with a different access path and context for each check, so it is re‑executed repeatedly. When there are thousands of dashboards, this results in excessive ACL evaluations and causes the instance to hang.\n\n</td><td>\n\n1.  Open any CoreUI dashboard.\n2.  Open the dashboard selector.\n3.  Select **All Dashboards**.\n\n Expected behavior: The dashboard selector avoids excessive ACL checks and runs one check per dashboard.\n\n Actual behavior: It triggers permission evaluation for every dashboard the user has access to, including an ACL check per dashboard and multiple field‑level ACL checks.\n\n</td></tr><tr><td>\n\nPerformance Analytics Dashboards\n\n PRB2013831\n\n [KB2959423](https://hi.service-now.com/kb_view.do?sysparm_article=KB2959423)\n\n</td><td>\n\nThere's a dashboard layout issue after upgrading an instance to Australia\n\n</td><td>\n\nAfter an Australia upgrade, multiple users are reporting issues with alignments of reports in dashboards. While reports aren't missing, they are displayed vertically in dashboards. The issue is reproducible with core legacy dashboards.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nPerformance Analytics\n\n PRB1990900\n\n</td><td>\n\nThe system property com.snc.pa.dm.enable.mlb is set to true on non-Raptor DB Pro instances\n\n</td><td>\n\nUsers can install a plugin with Raptor DB \\(pro or standard\\). With a schedule job, they can disable the feature by disabling the global property com.snc.pa.dm.enable.mlb.\n\n</td><td>\n\n1.  Open an instance with raptor standard.\n2.  Validate the system property: com.snc.pa. dm.enable.mlb.\n\n Expected behavior: The property is set to false. The user shouldn't be able to control it and set its values.\n\n Actual behavior: The property is set to true. The user can control it and set its values.\n\n</td></tr><tr><td>\n\nPerformance Analytics\n\n PRB1995131\n\n</td><td>\n\nThere are Query Builder \\(QB\\) and Workspace UI error popup clips in the surrounding UI if a query fails for CMDB NLQ\n\n</td><td>\n\nTurning off the NLQ Prediction server results in an error message in both QB and in the CMDB Workspace, and the UI doesn't render as expected in CMDB Workspace.\n\n</td><td>\n\n1.  Turn off the NLQ Prediction server from sys\\_properties by deleting the URL value 'glide.prediction \\_service.url'.\n2.  Navigate to **Query Builder**.\n3.  Create an NLQ query, which adds nodes to the canvas.\n\nNotice that this results in the 'Oops...' error.\n\n4.  Navigate to **CMDB Workspace**.\n5.  Create an NLQ query, which should open a new tab.\n\n Notice that this results in the 'Oops...' error, and the UI is incorrect.\n\n</td></tr><tr><td>\n\nPerformance Analytics\n\n PRB1999245\n\n</td><td>\n\nDiscrepancies with Core UI on change and change percentage\n\n</td><td>\n\nThe change and change percentage may be displayed on the widget but not on the data visualization.\n\n</td><td>\n\n1.  Create an indicator \\(an indicator source isn't necessary\\).\n2.  Enable **Render continuous lines** under the 'Other' tab.\n3.  Open the scoresheet to edit the scores of the above indicator:\n    1.  Feb 28th: 200\n    2.  Jan 31st: 100\n4.  Create a single score visualization using this indicator.\n5.  Enable change and change percentage.\n\nNotice that the change and change percentage aren't displayed.\n\n6.  Disable the system property 'com.glide.par .unified\\_analytics. enabled'.\n7.  Create a single score PA widget on the above indicator, with Visualization: Latest Score.\n8.  Leave all other fields as the default value.\n9.  Add the above widget to a Core UI dashboard.\n\n Notice that the widget displays the change \\(100\\) and change percentage \\(100%\\).\n\n</td></tr><tr><td>\n\nPerformance Analytics\n\n PRB2009359\n\n</td><td>\n\nTurn off/delete the 'Populate Indicator Source Row Count' job, as the guardrails are deprecated in Australia\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nPerformance Analytics\n\n PRB2014881\n\n [KB2977667](https://hi.service-now.com/kb_view.do?sysparm_article=KB2977667)\n\n</td><td>\n\nCore UI widget date settings aren't retained on dashboards\n\n</td><td>\n\n \n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nPlatform Analytics Component API\n\n PRB2016214\n\n</td><td>\n\noob-pa-cxo-apps are missing from the Glide distribution due to an app packaging issue\n\n</td><td>\n\nThese apps have an incorrect scope and aren't included in the ZIP or DIST packaging. As a result, users aren't able to auto-upgrade to the latest versions of these apps through the monthly release pipeline.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nPlatform Analytics Dashboard API\n\n PRB1988004\n\n</td><td>\n\nPlatform analytics displays an incorrect view for the most recently viewed dashboards\n\n</td><td>\n\nThe Recent Dashboards list includes dashboards that were not previously accessed. While actively using the instance, the list appears to update as the user opens certain dashboards. However, after logging out and logging back in, the Recent Dashboards list resets and once again displays dashboards that haven't been used.\n\n</td><td>\n\n1.  Open a base instance.\n2.  Navigate to **All** &gt; **Platform Analytics** &gt; **Library** &gt; **Dashboards**.\n3.  Open any dashboard.\n4.  Select the **arrow** to view the 'Recent Dashboards' list.\n\nIf this is the first login of the day, observe that the list contains dashboards that may not have been previously accessed.\n\n5.  Switch between several dashboards.\n\nObserve that the 'Recent Dashboards' list updates to reflect the dashboards opened during the session.\n\n6.  Log out of the instance.\n7.  Log back in using a new browser tab.\n\n Observe that the 'Recent Dashboards' list resets and displays a different, seemingly random list of dashboards instead of the ones previously accessed.\n\n</td></tr><tr><td>\n\nPlatform Analytics Dashboard API\n\n PRB1992984\n\n</td><td>\n\nCan't share a dashboard to all internal users \\(users with at least one role\\)\n\n</td><td>\n\nWhen the itil user opens the dashboard, the dashboard isn't found.\n\n</td><td>\n\n1.  Create a dashboard.\n2.  Share the dashboard to the role 'dashboard\\_user' with view mode.\n3.  Impersonate an itil user.\n4.  Open the dashboard.\n\n Expected behavior: The dashboard is visible to the itil user.\n\n Actual behavior: The dashboard isn't found.\n\n</td></tr><tr><td>\n\nPlatform Analytics Dashboard API\n\n PRB1998865\n\n</td><td>\n\nSys ID is automatically populated for the value in sys\\_translated\n\n</td><td>\n\nThis happens when the user changes the value of a tab when using a non-English language.\n\n</td><td>\n\n1.  Navigate to Dashboards.\n2.  Create a dashboard.\n3.  Add a tab.\n4.  Switch to a non-English language.\n5.  Change the value of the tab.\n6.  Save.\n\n Notice that the value in sys\\_translated contains sys ID.\n\n</td></tr><tr><td>\n\nPlatform Analytics Dashboard API\n\n PRB2002552\n\n</td><td>\n\nDue to VCS update set collision, a dashboard save fails with a generic error: 'Your dashboard could not be saved'\n\n</td><td>\n\nThis 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.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nPlatform Analytics Dashboard API\n\n PRB2005188\n\n</td><td>\n\nOverride the scope of any par\\_dashboard\\_\\* record with the scope received from the dashboard\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nPlatform Analytics Dashboard API\n\n PRB2006097\n\n</td><td>\n\nAllow the user to turn on/off the AI summary generation in a dashboard\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Log in to an instance.\n2.  Open any dashboard.\n\nThe Now Assist context menu \\(NACM\\) component appears above the grid.\n\n3.  Open the 'Settings' panel.\n4.  Toggle off the AI summary generation.\n5.  Save and reload the dashboard.\n\n Expected behavior: The NACM shouldn't appear.\n\n Actual behavior: The NACM appears again.\n\n</td></tr><tr><td>\n\nPlatform Analytics Dashboard API\n\n PRB2007784\n\n</td><td>\n\nDomainService uses DomainSupport.hasAccess instead of DomainHierarchy for validation\n\n</td><td>\n\nWhen the user tries to access the dashboard, an error appears: 'Error while getting domain for dashboard'.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nPlatform Analytics Dashboard API\n\n PRB2014426\n\n</td><td>\n\nA duplicated dashboard doesn't persist an AI summary generation value\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Log in to an instance.\n2.  Open any Platform Analytics dashboard.\n3.  Verify the dashboard summary component is visible on top.\n4.  Verify the 'Setting' panel AI summary generation toggle is on.\n5.  Duplicate the dashboard.\n\n Expected behavior: The dashboard summary should be visible in the duplicated dashboard.\n\n Actual behavior: The dashboard summary isn't visible in the duplicated dashboard.\n\n</td></tr><tr><td>\n\nPlatform Analytics Dashboard API\n\n PRB2025067\n\n</td><td>\n\nThe sys\\_translated record for par\\_dashboard\\_tab is overwritten\n\n</td><td>\n\nThis can cause translations to be lost.\n\n</td><td>\n\n1.  In English, create a sys\\_translated record as follows:\n    1.  Label: あいう\n    2.  Table: par\\_dashboard\\_tab\n    3.  Element: name\n    4.  Language: ja\n    5.  Value: TabName\n2.  Create a PAE Dashboard.\n3.  Add a tab with the same name as the sys\\_translated value \\(TabName\\).\n4.  Save the dashboard.\n5.  Create another dashboard.\n6.  Add a tab with the same name as the sys\\_translated value again.\n7.  Save the dashboard.\n8.  Switch the language to Japanese.\n9.  Return to one of the dashboards.\n10. Rename the tab あいう to さしす.\n11. Check the other dashboard tab.\n\n Observe that the translation is lost because the sys\\_translated record is overwritten.\n\n</td></tr><tr><td>\n\nPlatform Analytics Filters\n\n PRB2013316\n\n</td><td>\n\nAddtional controls for single and multi select\n\n</td><td>\n\nFor both radio buttons and checkboxes, there should be a way to clear the selection instead of using the 'Clear all filters' capability on the dashboard level.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nPlatform Analytics Filters\n\n PRB2014365\n\n</td><td>\n\nJavaScript-based sys\\_choice labels are rendered as raw text in dashboard filters\n\n</td><td>\n\nA sys\\_choice record uses JavaScript to dynamically populate the country label when the value is null. However, when this field is used in Platform Analytics dashboards \\(via indicator breakdown with sys\\_choice as the facts table\\), the JavaScript isn't evaluated and is instead displayed as raw text in the filter.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nPlatform Analytics Migration API\n\n PRB1989820\n\n</td><td>\n\nUsers with the itil role are shown reports in read-only mode\n\n</td><td>\n\nIf a user has the itil role, there should be no read-only mode. It should display in 'Edit' mode.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nPlatform Analytics Migration API\n\n PRB1998821\n\n</td><td>\n\nThe Platform Analytics Migration Center summary window isn't counting all domain dashboards when doing migration in the global domain\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nPlatform Analytics Migration API\n\n PRB2003834\n\n</td><td>\n\nAppTier CPU increases by 4 points \\(~18%\\) when background jobs are turned on\n\n</td><td>\n\nAppTier CPU increased in Australia compared to the Zurich baseline when background jobs are turned on during loadsim performance testing. The primary driver is the 'events\\_process\\_0' background job, which regressed +254% in average execution time. The 'Script Action: Refresh ready\\_to\\_migrate after XML load' runs every time there is an XML load on tables pa\\_m2m\\_ dashboard\\_tabs, pa\\_tabs, sys\\_portal, and sys\\_portal\\_preferences. The event action runs a script that looks at all dashboards' related artifacts, makes an assessment, and fills out the 'ready\\_to\\_migrate' column on each dashboard. This action is unnecessarily long-running because it attempts to update all dashboards, most of which aren't needed.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nPlatform Analytics Migration API\n\n PRB2010427\n\n</td><td>\n\nTurn off auto-conversion of homepages to CoreUI dashboards after upgrades\n\n</td><td>\n\n1000 homepages are migrated every day, and it triggers a business rule that migrates CoreUI automatically.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nPlatform Analytics Migration API\n\n PRB2022823\n\n</td><td>\n\nAllow users to configure the redirection of Core UI Performance Analytics widgets to the Analytics Hub instead of to 'KPI details'\n\n</td><td>\n\nUsers that activated Next Experience after migrating or upgrading to Australia will be redirected to 'KPI details' when selecting a Performance Analytics widget, even if they keep using Core UI dashboards. This issue occurs because the unified\\_analytics property forces the re-direction to 'KPI details'.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nPlaybook Experience\n\n PRB2007586\n\n [KB2994368](https://hi.service-now.com/kb_view.do?sysparm_article=KB2994368)\n\n</td><td>\n\nDeclarative Action marks playbook activity as complete despite throwing an error from the UI action\n\n</td><td>\n\nWhen a custom declarative action is configured with the action model set to 'Playbook Card' in order to display a button on a playbook activity, the expected behavior after displaying an error is as follows: if the UI action invoked by the declarative action displayed an error message, the error was displayed to the user, and the underlying activity was not marked as complete. This allowed the user to address the issue before proceeding. As of the Zurich release, this behavior has changed. When the UI action returns an error message, the error is displayed to the user; however, the activity is also marked as complete. This represents a change in the expected workflow, as the activity now progresses regardless of whether the error condition has been resolved.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nPlaybooks \\(Family Channel\\)\n\n PRB2012190\n\n</td><td>\n\nWhen any one pill value is null, it returns null for the value of the whole input field\n\n</td><td>\n\nThis happens for any multi pill-text inputs.\n\n</td><td>\n\n1.  Create action1, which takes in 1 input and 1 output of type 'String'.\n2.  Create action2, which has 3 inputs of type 'String' and can be used as dynamic input action.\n3.  Create a new subflow1, which has 3 inputs.\n4.  Make 1 input a dynamic input.\n5.  Assign the previously created action as the dynamic input action.\n6.  Publish both of them.\n7.  Create a playbook.\n8.  Add a stage.\n9.  In activity picker, enable 'Include all automation assets'.\n10. Select action1 and subflow1.\n11. Set the dynamic input to output of action1 and the other 2 dynamic inputs with some static value.\n12. Leave the value of that pill empty.\n\n Expected behavior: The dynamic input value returns for the other 2 dynamic inputs set.\n\n Actual behavior: The whole dynamic input value is set to empty.\n\n</td></tr><tr><td>\n\nPlaybooks \\(Family Channel\\)\n\n PRB2021433\n\n</td><td>\n\nDot-walkers aren't working on the 'Recommended actions' table for playbook inputs\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Provision an instance with the 'Customer Service' plugin installed.\n2.  Navigate to **All** &gt; **Recommended Actions** &gt; **Contexts**.\n3.  Open any existing context.\n4.  Under the 'Rules' related list, create a rule with the **Name** and **Condition** fields filled out.\n5.  Under the 'Recommended actions' related list, select **New** with the action type as 'Playbook'.\n6.  Set action as any playbook with inputs and save the record.\n\n Expected behavior: The playbook inputs dotwalker should have content inside, and it's the case table meta fields.\n\n Actual behavior: The dotwalker opens to have empty content.\n\n</td></tr><tr><td>\n\nPlaybooks \\(Family Channel\\)\n\n PRB2023731\n\n</td><td>\n\nChild agent changes in playbook snapshot for hybrid agent configuration\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nProcess Mining Workspace\n\n PRB1972729\n\n</td><td>\n\nOn the 'Opportunity details' page, when applying views on the process map, the progress tracker isn't displayed and the user has to hard refresh the page to apply views\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Mine a project with findings with more than 1 activity definition.\n2.  From the S&amp;I page, select any of the rule based improvement opportunities to open the 'Opportunity details' page.\n3.  On the map, select the gear icon.\n4.  Select a view and apply.\n\n See that the progress tracker isn't updating and the user has to hard refresh the page to apply the view. The 'Scheduled task completed' alert is displayed but the scheduled task isn't displayed in the 'Scheduled tasks' panel of the page.\n\n</td></tr><tr><td>\n\nProcess Mining Workspace\n\n PRB1980574\n\n</td><td>\n\nThe Process Mining app should be free on the store\n\n</td><td>\n\nProcess Mining is shown as a licensed app on the store. However, it's auto-installed on many instances, which causes confusion when users aren't able to upgrade.\n\n</td><td>\n\nScenario 1:\n\n 1.  Navigate to the store.\n2.  Search for the Process Mining app.\n3.  Check the pricing.\n\n Scenario 2:\n\n 1.  Navigate to the plugin list.\n2.  Search for the Process Mining \\(sn\\_po\\) app.\n3.  Make sure there are some app updates available.\n\n Expected behavior: Users can update the app to the latest version.\n\n Actual behavior: Users get a license error, so they can't proceed with the app update.\n\n</td></tr><tr><td>\n\nProcess Mining Workspace\n\n PRB1984137\n\n</td><td>\n\nThe 'Project' card gives an incorrect average duration\n\n</td><td>\n\n \n\n</td><td>\n\nMine a playbook project.\n\n Observe the average duration on the project card and the average duration in the project itself. Notice that they are not the same. They should match.\n\n</td></tr><tr><td>\n\nProcess Mining Workspace\n\n PRB1990953\n\n</td><td>\n\nChange the default number of records per cluster in a request to '50'\n\n</td><td>\n\nCurrently, it sends 200 records per cluster to create the intent and activities. Since there are 5 clusters in each request, it takes more processing time. By reducing the number to 50, the request should be processed in about 10 minutes.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nProcess Mining Workspace\n\n PRB1994902\n\n</td><td>\n\nWhen clustering on intermodal arcs, 'show records' redirects to a child table with 'No records to display'\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Mine a MDM project on incident and Task\\_SLA.\n2.  Open Analyst Workbench.\n3.  Select any intermodal arc.\n4.  Once it's completed, select **View result**.\n5.  Select **Show records**.\n\n Expected behavior: The user should be shown the incidents belonging to the cluster.\n\n Actual behavior: Observe that the user is redirected to the 'Task SLA' list page with a 'No records to display' message.\n\n</td></tr><tr><td>\n\nProcess Mining Workspace\n\n PRB2003893\n\n</td><td>\n\nDuplicate results display when 'Intent and activity analysis' is applied on a filtered model\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Initiate 'Intent and activity analysis' on any node.\n2.  Apply breakdowns that should have a WIP node.\n3.  Select the WIP node.\n4.  Observe the results already generated on WIP node and select **View**.\n\n Expected behavior: The 'View results' card shouldn't be displayed on a breakdown applied model. It's a new task altogether.\n\n Actual behavior: It triggers and 'Intent and activity analysis' and generates the duplicate results.\n\n</td></tr><tr><td>\n\nProcess Mining Workspace\n\n PRB2005530\n\n</td><td>\n\nUsers can't submit an automated finding def when the left navigation search panel is opened\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Log in to an instance.\n2.  Keep the left navigation panel open.\n3.  Try adding a new automated finding def.\n\n Observe that the buttons are not visible/accessible.\n\n</td></tr><tr><td>\n\nProcess Mining Workspace\n\n PRB2008088\n\n</td><td>\n\nProject setup data fetch fails when a user with no role opens the shared project configuration\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Share a project with a user that has 0 roles.\n2.  Open a shared project configuration as the shared user.\n\n Notice that data on project setup fails to load.\n\n</td></tr><tr><td>\n\nProcess Mining Workspace\n\n PRB2011383\n\n</td><td>\n\nBackport the Appsee event\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nProject Management\n\n PRB1980002\n\n</td><td>\n\nThere's an report\\_view ACL error for a few widgets\n\n</td><td>\n\n \n\n</td><td>\n\nOpen **Execution Dashboard** &gt; **Data Quality** tab in Strategic Planning workspace.\n\n Observe a report\\_view ACL error for the 'No Planned Cost' and 'No Planned benefit' widgets.\n\n</td></tr><tr><td>\n\nProject Management\n\n PRB2009176\n\n</td><td>\n\nOpening the Project Status Report in the Project Workspace triggers an update to the **Overall Health** field on the corresponding project record\n\n</td><td>\n\nOpening the Project Status Report within the Project Workspace updates the **Overall Health** field on the corresponding project record to match the value from the status report.\n\n</td><td>\n\n1.  Open a project in the Project Workspace \\(PW\\).\n2.  Navigate to the **Status Report** tab.\n3.  Create a status report.\n4.  Navigate to the **Details** tab.\n5.  Locate the **Status** field.\n6.  Ensure the **Status** field is different from the **Overall Health** field in the status report. If both values are the same, manually update the **Status** field on the project.\n7.  Open the 'Status Report' tab from the left panel.\n8.  Navigate back to the **Details** tab.\n\n Notice that the **Status** field is automatically reverted to match the **Overall Health** value from the status report.\n\n</td></tr><tr><td>\n\nProject Management\n\n PRB2021806\n\n</td><td>\n\nAdd a 'No status' option to the **Project status** field\n\n</td><td>\n\nThe **Project status** field \\(pm\\_project.status\\) currently doesn't include a 'No status' option, which prevents projects from having an unset/neutral status state. This causes ambiguity in reporting and makes it difficult to distinguish between projects that have not yet been assigned a status versus those intentionally marked as 'On Track' or 'At Risk'. A 'No status' option should be added to the **Status** field choice list. This ensures that status transitions — including from an unset state to a defined status — can be accurately captured and reflected in usage analytics.\n\n</td><td>\n\n1.  Navigate to **Project Management** &gt; **Projects** &gt; **All Projects**.\n2.  Open any active project.\n3.  Select the **Status** field.\n\n See that a 'No status' option should be available.\n\n</td></tr><tr><td>\n\nRecord Hierarchy\n\n PRB2013585\n\n</td><td>\n\nReconciliation of record hierarchy with missing path field skipped\n\n</td><td>\n\nIf the user deletes the rh.hierarchy.create event, there is no 'Reconcile Hierarchy' link under Related Links. If the user executes SNC.RecordHierarchyAPI.get\\(\\).reconcilePaths\\(sysId\\), no event is posted to resume creation of the hierarchy.\n\n</td><td>\n\n1.  Create a sys\\_record\\_hierarchy.\n2.  Immediately delete the associated rh.hierarchy.create event that's generated in sysevent.\n\nObserve that the sys\\_record\\_hierarchy is in a PENDING\\_CREATE state with no event to progress it to the next step.\n\n3.  Visit the sys\\_record\\_hierarchy record.\n\nNotice that there is no 'Reconcile Hierarchy' link under 'Related Links'.\n\n4.  Copy the sysId of the sys\\_record\\_hierarchy record.\n5.  Navigate to **Scripts - background**.\n6.  Execute SNC.RecordHierarchy API.get\\(\\). reconcilePaths\\(sysId\\).\n\n Observe that nothing happens. No event is posted to resume creation of the hierarchy.\n\n</td></tr><tr><td>\n\nRecord Hierarchy\n\n PRB2014979\n\n</td><td>\n\nAllow RecordHierarchies to always be usable optionally unless it is disabled\n\n</td><td>\n\nThe current behavior shows that after a record hierarchy is defined, any query operations that use the hierarchy will explicitly return 'false' until every record in the hierarchy has been assigned a path. After paths have been assigned, the hierarchy is said to be 'usable' as its fully initialized and ready for queries. A GP was added to optionally allow the hierarchy to be usable while records are being assigned paths. The results for queries may be incomplete or partially stale depending on how long the initialization takes place, but should otherwise be accurate. Users are beginning to use IN\\_HIERARCHY conditions for all sorts of features ranging in criticality, up to and including ACLs. If the record hierarchy runs into some sort of issue, such as it can render the record hierarchy unusable and all queries would begin to fail. However, the paths assigned to all records are still valid as long as changes are minimal, and can continue to return mostly accurate results while any issues with the record hierarchy feature are addressed. This fix is to address usability; as long as the record hierarchy isn't explicitly deactivated, it can be made 'usable' and queries will return results based on whatever paths may be assigned at the time.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nRecord Watcher\n\n PRB2016869\n\n</td><td>\n\nIndirectRecordCollector. setPreviousValueFrom PreviousRecord throws an error on a null ElementDescriptor in a dotwalked path, aborting Record Watcher enqueue and stalling flows\n\n</td><td>\n\nWhen a sys\\_rw\\_indirect\\_query is configured with a dotwalked condition path that contains a field segment which does not exist on the traversed table \\(returns null from getElement\\(\\)\\), IndirectRecordCollector. setPreviousValueFrom PreviousRecord at line 304 calls fieldEd.getReference\\(\\) on a null ElementDescriptor and throws an error. This exception propagates up through RecordWatcherService.enqueue, aborting the entire enqueue and silently preventing all flow responders from executing for that record update. Flows waiting on a catalog task or incident completion stall permanently — the sys\\_flow\\_rw\\_action record is created but never processed, and DeferredResponderHandler does not recover this class of failure.\n\n</td><td>\n\n1.  Create a sys\\_rw\\_indirect\\_query on the task table \\(or any table\\) with a dot-walked condition path that traverses a field not present on all subtype records.\n2.  Trigger a record update \\(GlideRecord.update\\(\\)\\) on a record of that table.\n\n Observe in the transaction log: 'RecordWatcherService SEVERE \\*\\*\\* ERROR \\*\\*\\* record-watcher: Caught error attempting to enqueue change \\[table.sys\\_id\\] followed by java.lang. NullPointerException: Cannot invoke \"com.glide.db.ElementDescriptor.getReference\\(\\)\" because \"fieldEd\" is null at IndirectRecordCollector. setPreviousValue FromPreviousRecord \\(IndirectRecordCollector.java:304\\). Observe that any flow responder waiting on that table/record never executes — sys\\_flow\\_rw\\_action record is created but state never advances.\n\n</td></tr><tr><td>\n\nReleaseOps - Family\n\n PRB1966100\n\n [KB2733370](https://hi.service-now.com/kb_view.do?sysparm_article=KB2733370)\n\n</td><td>\n\nDeployment Analyzer forms are broken\n\n</td><td>\n\nDeployment Analyzer forms are empty, breaking reports. Users are unable to fix it because when they go to form layout, no fields are listed.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nReleaseOps - Family\n\n PRB2009639\n\n</td><td>\n\nInstance scan failure doesn't return the correct message\n\n</td><td>\n\nThe scan failure doesn't mention a reason for the failure in the work notes.\n\n</td><td>\n\n1.  Open a Zurich instance.\n2.  In development, start a full instance scan.\n3.  In production, mark a DR as ready for assessment.\n\n Expected behavior: The scan failure shows the reason for the failure in the work notes.\n\n Actual behavior: The scan failure doesn't mention a reason in the work notes.\n\n</td></tr><tr><td>\n\nResource Management\n\n PRB2003945\n\n</td><td>\n\nCost plan breakdowns are duplicated\n\n</td><td>\n\nWhen the user changes the start date and end date from a resource plan, the business rule \\(BR\\) UpdateCostPlanAssociatedToResourcePlan launches an event. The BR 'Recreate Requested Allocations' is also launched, updating the resource plan again and changing the planned cost. In summary, when the user updates the dates, the system updates the resource plan twice, one time for the dates and another for the planned cost, practically at the same time. Both changes trigger the BR UpdateCostPlanAssociatedToResourcePlan and two events are created. Since there are two events in the system, they will try to perform the same action, and this could lead to problem concurrency. The two events are processed at the same time and the cost plan breakdowns are created twice.\n\n</td><td>\n\n1.  Navigate to pm\\_project.list.\n2.  Open the project where the duplicated cost plan breakdowns were created.\n\n</td></tr><tr><td>\n\nResource Management\n\n PRB2020809\n\n</td><td>\n\nUpdating dates in the assignment should update the resource availability\n\n</td><td>\n\nDependent choice config should also be supported in the project workspace bottom grid.\n\n</td><td>\n\n1.  Open the project workspace.\n2.  Navigate to the project.\n3.  Create an unassigned assignment from the bottom grid.\n4.  Check any resource.\n\nNotice its availability.\n\n5.  Update the assignment dates.\n6.  Check the resource availability again.\n\nObserve that it's still the same, even though the availability should be updated as soon as the dates are updated.\n\n7.  Create any field on the resource assignment table which is dependent on any other **Reference** field.\n\n Observe that the dependent config isn't supported in bottom grid choices. It should be supported.\n\n</td></tr><tr><td>\n\nResource Management\n\n PRB2024520\n\n</td><td>\n\nFetching choices with their dependent field values to prepare criteria\n\n</td><td>\n\nThe created field doesn't show the choices as per the dependent config defined.\n\n</td><td>\n\n1.  Create any field on the resource assignment table which is dependent on any other reference field.\n2.  Add that field in the resource assignment bottom grid in PWS.\n3.  Open the project workspace.\n4.  Navigate to the project.\n5.  Create an unassigned assignment from the bottom grid.\n\n Observe that the created field doesn't show the choices as per the dependent config defined.\n\n</td></tr><tr><td>\n\nRestricted Caller Access \\(RCA\\)\n\n PRB2029429\n\n</td><td>\n\nThere's a Zboot error due to a syntax error\n\n</td><td>\n\nThere's an error: 'Error : \\*\\*\\* ERROR \\*\\*\\* invalid return \\(refname; line 7\\)'.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nSecurity Incident Response Explorer\n\n PRB2013795\n\n</td><td>\n\nThe sub-project oob-secops-npm-apps in oob-apps isn't picked up in a Glide build\n\n</td><td>\n\nThe apps are missing in Glide's distribution.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nSeismic Framework\n\n PRB1972265\n\n</td><td>\n\nAncestor path retains the parent element using hard references and can make small memory leaks larger, depending on retention\n\n</td><td>\n\nIn some cases, the retainer is the variable ANCESTOR\\_PATH, as it holds on to hard references to the ancestor elements. Since elements in the ancestor path are retained, it may make a small leak larger if the elements themselves are large in nature \\(lists, forms, client state data brokers, etc.\\).\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nServer-side scripts\n\n PRB2022176\n\n</td><td>\n\nThe script name should be logged when a page title is unavailable in the 'Guarded Scripts' list entry\n\n</td><td>\n\nThe page title can be empty in some cases, such as a scheduled job and probably more. It should become the script name if there isn't a page name that makes sense.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nServer-side scripts\n\n PRB2022324\n\n</td><td>\n\nLogging for all sandbox scripts is broken\n\n</td><td>\n\n \n\n</td><td>\n\nExecute a script in the sandbox.\n\n See that it should be logged, but isn't.\n\n</td></tr><tr><td>\n\nService Catalog Portal Widgets\n\n PRB1966196\n\n</td><td>\n\nThere's an issue with 'Also Request for'\n\n</td><td>\n\nDuplicate requested items \\(RITM\\) are generated when the same user is selected in both the **Requested For** and **Also Request For** fields. When the **Requested For** user is selected first, it automatically removes that user from the **Also Request For** list, preventing duplication. However, when a user is selected first in **Also Request For** and then again in **Requested For**, the platform allows the same user to be selected in both fields. This results in multiple RITMs being generated for the same user.\n\n</td><td>\n\n1.  Log in to an instance.\n2.  Navigate to the Service Catalog.\n3.  Open a catalog item.\n4.  On the catalog item form, ensure that the **Requested For** field is empty.\n5.  Select the **Also Request For** \\(multi-user\\) icon or selector and select a user \\(e.g., User A\\).\n6.  After selecting the user in **Also Request For**, attempt to select the same user in the **Requested For** field.\n7.  Fill in all mandatory fields.\n8.  Submit the request.\n9.  Open the associated REQ record and review the generated RITMs.\n\n Actual behavior: Duplicate RITMs are created for the same user.\n\n Expected behavior: The system should prevent selecting the same user in both fields.\n\n</td></tr><tr><td>\n\nService Catalog\n\n PRB2014228\n\n</td><td>\n\nUpdate the copy in the alert banner\n\n</td><td>\n\nCatalog item forms should be automatically pre-filled using the context from the conversation. The user shouldn't have to to re-enter information they've already shared in the chat.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nService Catalog\n\n PRB2020118\n\n</td><td>\n\nEnsure that a search term is a minimum of 3 words before triggering the slot fill\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nService Mapping\n\n PRB1998724\n\n</td><td>\n\n'Create Layer 2' connections causes Out of Memory \\(OOM\\) errors if the device has many router interfaces\n\n</td><td>\n\nThe creation of 'Layer 2 Connections ' can cause excessive memory and multi-node events.\n\n</td><td>\n\n1.  Create server with 30,000 router interfaces.\n2.  Run the script in background scripts.\n\n Notice that all the records will be used for calculation.\n\n</td></tr><tr><td>\n\nService Mapping\n\n PRB2006053\n\n</td><td>\n\nThere's a missing conditional\\_table\\_ query\\_range ACL for the cmdb\\_ci\\_service\\_discovered in the plugin com.snc.cmdb.it\\_service\n\n</td><td>\n\nCalls can fail at runtime, causing range query operations to be denied.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nServiceNow SDK \\(Glide\\)\n\n PRB2016794\n\n</td><td>\n\nSkip delete issue for 'Coalsce' tables\n\n</td><td>\n\nWhen a Fluent app defines a role, the SDK generates a new sys\\_id. The existing ScopeConflictDetector keys off sys\\_update\\_name \\(which encodes the sys\\_id\\), and finds nothing in sys\\_metadata, so no conflict is flagged. The installer then coalesces onto the real global admin role by matching the **Name** field and silently overwrites its sys\\_scope, stealing a system-owned record into the app's scope.\n\n</td><td>\n\n1.  Navigate to IDE.\n2.  Create a fscoped Fluent app.\n3.  Create a role with the name as 'admin'.\n4.  Build and install.\n\n Expected behavior: The Global role shouldn't be overridden.\n\n Actual behavior: The Global role is overridden.\n\n</td></tr><tr><td>\n\nServiceNow SDK \\(Glide\\)\n\n PRB2021468\n\n</td><td>\n\nDictionary updates aren't propagated when installed via FluentXMLUploader\n\n</td><td>\n\nWhen the user deploys changes, the dictionary updates get skipped.\n\n</td><td>\n\n1.  Create a fluent configuration project.\n2.  Update the table column maxLength value on the instance in the UI.\n3.  Update it again in the fluent configuration project.\n4.  Deploy the changes.\n\n Expected behavior: The maxLength of the column is updated.\n\n Actual behavior: The dictionary updates get skipped.\n\n</td></tr><tr><td>\n\nService Operations Workspace for Change Management\n\n PRB1921763\n\n</td><td>\n\nA reference qual isn't working for a dependency field on the Service Operations Workspace \\(SOW\\) 'Overview' page\n\n</td><td>\n\nA dependency field on the SOW 'Overview' page isn't working, as the 'Assigned to' field won't only return the available users from the assignment group value, but rather the whole itil user list.\n\n</td><td>\n\n1.  Navigate to the 'Change Models' module.\n2.  Open the 'Normal' change model.\n3.  Set the assignment group to 'Application Development' in the **Record preset** field.\n4.  Save.\n5.  Navigate to the 'Change Request' form in Core UI.\n6.  Switch to the 'SOW-Overview-Change' form view.\n7.  Right-click the form header.\n8.  **Configure** &gt; **Form Layout**.\n9.  Modify the 'Summary' form section.\n10. Add **Assignment group** and **Assigned to** fields.\n11. Save.\n12. Navigate to **Service Operations Workspace** &gt; **Changes list** &gt; **New** &gt; **Normal card** &gt; **Continue**.\n13. On the 'Change' form, the Application Development is pre-populated. Search the **Assigned to** field for a list of available users.\n\n Expected behavior: See only users in the 'Application Development' group.\n\n Actual behavior: More users are shown that aren't in the 'Application Development' group.\n\n</td></tr><tr><td>\n\nService Operations Workspace for Change Management\n\n PRB1977258\n\n</td><td>\n\nIn Service Operations Workspace \\(SOW\\), there's a JavaScript \\(JS\\) error 'Assess risk', and the modal doesn't open\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Provision an instance with the Change Risk Assessment v2 plugin installed.\n2.  Navigate to a change request \\(normal or emergency\\) in SOW.\n3.  Select the 'Risk assessment' related link.\n4.  Complete the assessment.\n5.  Submit from the 'Overview' page.\n6.  After it reloads, on the right-hand side \\(record information\\), there should be card titled 'Risk'.\n7.  Select the 3 dots to open a contextual menu.\n8.  Select **Assess risk**.\n\n This should open a modal with the assessment and its answers to allow changes, but nothing happens. Also, there's a JS error in the browser's console.\n\n</td></tr><tr><td>\n\nService Operations Workspace for Change Management\n\n PRB1981820\n\n [KB2755016](https://hi.service-now.com/kb_view.do?sysparm_article=KB2755016)\n\n</td><td>\n\nService Operations Workspace action bar buttons aren't displayed even if 'Display action' is set to true for a change state\n\n</td><td>\n\n \n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nService Operations Workspace for Change Management\n\n PRB1983773\n\n</td><td>\n\nOverview tab sections are refreshed on an update\n\n</td><td>\n\nWhen working in the Service Operations Workspace \\(SOW\\) change request overview, the sections are refreshed whenever any field in the 'Scope and Impact/Schedule/Summary' section is updated. This problem occurs only when the fields in the 'Assignment' section, specifically 'Assignment group' or 'Assigned to', are filled in. If these fields are left blank, the issue doesn't occur.\n\n</td><td>\n\n1.  Open or create a change request in SOW.\n2.  Verify that the **Assignment Group** field is updated.\n3.  In the 'Overview' tab, update a field in the 'Scope and Impact' section and move the control outside the field.\n\n See that the 'Overview' section begins to refresh, which shouldn't occur. This same issue arises when updating fields in other sections.\n\n</td></tr><tr><td>\n\nService Operations Workspace for Change Management\n\n PRB1987932\n\n [KB2807996](https://hi.service-now.com/kb_view.do?sysparm_article=KB2807996)\n\n</td><td>\n\nIn 'Change Management' in Service Operations Workspace \\(SOW\\), the **Assess Risk** button isn't working\n\n</td><td>\n\nWhen a user attempts to complete a risk assessment for a change request in SOW, the modal appears briefly and then immediately closes.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nService Operations Workspace for On-Call Scheduling\n\n PRB1993717\n\n</td><td>\n\nOn Service Operations Workspace \\(SOW\\), there's no place to set the rotation start time for the roster\n\n</td><td>\n\nWhen users create the shifts on SOW, the rotation is automatically happening at midnight.\n\n</td><td>\n\n1.  Navigate to SOW.\n2.  Navigate to schedules.\n3.  Open one of the groups.\n4.  Open a shift on the side panel.\n5.  Navigate to the 'Members' tab.\n\n See no place to set the rotation start time.\n\n</td></tr><tr><td>\n\nService Operations Workspace\n\n PRB1982622\n\n</td><td>\n\nThe declarative action 'Copy Link' introduced in Service Operations Workspace \\(SOW\\) throws an error: 'Declarative Action scripted client condition expression evaluation failed'\n\n</td><td>\n\nThe declarative action 'Copy URL' was updated to include values in the scripted client condition in the latest upgrade of SOW. The scripted client condition was empty earlier. While this declarative action is in the SOW application scope, 'Enable for all Experience' is checked, so it's rendered for Project Workspace/other configurable workspaces as well. The error is thrown because it can't be evaluated for Project Workspace.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nService Operations Workspace\n\n PRB2013463\n\n</td><td>\n\nCustomer Service Management workspace experience is not opening in UI Builder\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Navigate to UI Builder.\n2.  Navigate to Customer Service Management workspace experience.\n\n Observe that it's opening with a 500 internal server error.\n\n</td></tr><tr><td>\n\nService Portal\n\n PRB1981788\n\n</td><td>\n\nA non-admin user can't view the notification on a portal and are getting the recordUpdateCount\n\n</td><td>\n\n \n\n</td><td>\n\nLog in to a portal with some non-admin user.\n\n Expected behavior: A notification shall appear for the non-admin user.\n\n Actual behavior: Check for the notification and see that no notification is visible.\n\n</td></tr><tr><td>\n\nService Portal\n\n PRB1999839\n\n [KB2983856](https://hi.service-now.com/kb_view.do?sysparm_article=KB2983856)\n\n</td><td>\n\nWhen Multi-factor Authentication \\(MFA\\) and Password Needs Reset is true, the password reset workflow refreshes after selecting 'Submit' on the initial login and redirects to the backend Platform UI\n\n</td><td>\n\nWhen MFA is configured on an instance and Password Needs Reset is set to true on a vendor contact record, they are presented with a screen to change their password on initial login. After changing the password on the initial screen and clicking submit, the page refreshes back to the same password reset screen. If they perform the same steps again and click submit, they are finally redirected but the redirect is incorrect and redirects the user to the backend UI.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nService Portal\n\n PRB2013342\n\n [KB2974430](https://hi.service-now.com/kb_view.do?sysparm_article=KB2974430)\n\n</td><td>\n\nIn Australia, the Mission Control \\(/mc\\) portal fails to load the Bootstrap CSS \\(sp-bootstrap-rem.scss\\), while the same configuration works correctly in Zurich\n\n</td><td>\n\nIn Australia, the Mission Control \\(/mc\\) portal no longer auto-loads the Bootstrap CSS \\(sp-bootstrap-rem.scss\\), resulting in whole portal not loading correctly. The same portal, theme, and configuration work correctly on the Zurich instance, indicating a release-specific behavior change.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nService Portal\n\n PRB2014571\n\n</td><td>\n\nAlignment of the Now Assist search results gets overflow\n\n</td><td>\n\nThis happens on the portal while loading on browser resolution size 360 x 640.\n\n</td><td>\n\n1.  Make sure the Now Assist Genius Result \\(GR\\) is enabled on the portal.\n2.  Navigate to a base instance.\n3.  Change the session language to Deutsch.\n4.  Navigate to the /esc portal.\n5.  Open the developer tool of the browser.\n6.  Set the resolution as 360 x 640.\n7.  Search for any keyword \\(for example, people manager\\).\n\n Observe that the filter text 'Am relevantesten' gets overflow.\n\n</td></tr><tr><td>\n\nService Portal\n\n PRB2020265\n\n</td><td>\n\nThe 'Homepage Search' section isn't available at higher zoom levels\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Open any instance in a Chrome browser.\n2.  Append the url using /sp to open Service Portal.\n3.  On the homepage, notice the 'How can we help? text search box.\n4.  Open inspect.\n5.  Expand the three dots menu to select the first option of 'Dock side', so that the DevTools window opens in a new tab.\n6.  Change the page width to 1280px by dragging the edge of the browser window.\n7.  Select the browser menu using the three dots button in the top right corner of the browser window.\n8.  Zoom the page to 400% and note if the 'How can we help?' text search box that was visible at 100% \\(without zooming\\) is still visible at 400% zoom.\n9.  Decrease the zoom.\n\nNotice that this section starts disappearing at the 175% zoom level.\n\n\n Actual behavior: The 'My Saved Bundles' section isn't available on a catalog page at higher zoom levels.\n\n Expected behavior: The 'My Saved Bundles' section is should be available on a catalog page at higher zoom levels.\n\n</td></tr><tr><td>\n\nSession Management\n\n PRB2024286\n\n</td><td>\n\nMake application nodes more resilient to DDoS attacks from unauthenticated traffic\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nSidebar \\(Family Release\\)\n\n PRB2019090\n\n</td><td>\n\nthe cached RecordCard is returned without checking if the user has access to record\n\n</td><td>\n\nThis is a caching issue, and occurs for both with Incident and HR records. When the code checks if the Record Card is in the cache, it does not re-check if the user can access the record or not. When clearing the cache, the record access check is calculated correctly.\n\n</td><td>\n\n1.  Create an incident \\(INC1\\) as the user Abel Tuter.\n2.  Create a discussion on it.\n3.  Paste INC1 in the chat.\n\nNotice that it renders a record card, and the user Abraham Lincoln cannot access INC1 in the sidebar chat.\n\n4.  As the user Abraham Lincoln, attempt to paste the INC1 number in the chat.\n\nNotice that Abraham Lincoln can see the the INC1 record card and its details, when Abraham Lincoln should not be able to because they have no access.\n\n5.  Create another incident \\(INC2\\) as the user Abel Tuter.\n6.  Create a discussion on it.\n7.  Paste INC2 in the chat.\n\n Notice that it renders a record card, and the user Abraham Lincoln cannot access INC2 in the sidebar chat. The INC2 record card is not in the cache.\n\n</td></tr><tr><td>\n\nSidebar \\(Family Release\\)\n\n PRB2023462\n\n</td><td>\n\nTurn off the sidebar collab chat scope main enablement\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Provision an instance with the plugin com.sn\\_hr\\_core \\(Human Resources Scoped App: Core\\) installed.\n2.  Create an HR case for Abel Tuter.\n3.  Create a discussion with Abel.\n4.  Try to upload an attachment.\n5.  Ensure that it works with no errors.\n\n Expected behavior: The file should get attached to the discussion.\n\n Actual behavior: The error message 'User is not authorized' appears.\n\n</td></tr><tr><td>\n\nSoftware Asset Management\n\n PRB2018383\n\n [KB2986694](https://hi.service-now.com/kb_view.do?sysparm_article=KB2986694)\n\n</td><td>\n\nA Microsoft per‑core license metric isn't visible after a Zurich or Australia upgrade\n\n</td><td>\n\nThe MS per core metric was moved from the apply\\_once folder to the update folder. The fix script to set the metric group was overwritten, since the update folder file insert ran after. Thus, the MS per core uploaded with no metric group.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nSoftware Asset Management Workspace \\(Glide\\)\n\n PRB1992196\n\n</td><td>\n\nIn Software Asset Management workspace, the 'Assets Covered' tab is in English\n\n</td><td>\n\nIt should be translated.\n\n</td><td>\n\n1.  Log in to Software Asset Management workspace.\n2.  Select the **Licensing Operations** module on the left pane.\n3.  Under the standard list, select **Software contracts** in 'Contracts'.\n4.  Select a contract.\n\n Note that the 'Assets Covered' tab isn't converted to German.\n\n</td></tr><tr><td>\n\nSoftware Asset Normalization\n\n PRB1991265\n\n</td><td>\n\nRegex normalization suggestions are incorrectly excluded when the product map sets suggested\\_rule\\_table on the Discovery model\n\n</td><td>\n\n\\_createSuggestionsForRegexDMs\\(\\) in NormalizationEngine has a 'NOT IN' filter that excludes DMs with suggested\\_rule\\_table in \\[PACKAGE\\_MAP\\_TABLE, PRODUCT\\_MAP\\_TABLE, PATTERN\\_RULES\\_TABLE, WIDE\\_NET\\_MAP\\_TABLE\\]. PRODUCT\\_MAP\\_TABLE shouldn't be in this exclusion list because product map rules don't create their own suggestions — they are only a stepping stone for wide-net suggestions.\n\n</td><td>\n\n1.  Manually normalize a Discovery model.\n2.  Ensure that there's an active product map rule and an active Regex normalization rule that both match this Discovery model \\(DM\\).\n3.  Ensure that there's no active package map rule, pattern rule, or wide-net rule for this DM.\n4.  Run the 'SAM - Find Normalization Suggestions' job.\n\n Expected behavior: A Regex suggestion should be created, because product map rules don't generate suggestions themselves — they only serve as an entry point for wide-net processing. Regex should be evaluated for DMs where product map is the only suggested rule table.\n\n Actual behavior: No Regex suggestion is created. The DM's suggested\\_rule\\_table is set to samp\\_product\\_map \\(by the product map suggestion path\\), which causes \\_createSuggestionsForRegexDMs\\(\\) to exclude this DM from regex processing via the NOT IN filter.\n\n</td></tr><tr><td>\n\nSoftware Asset Normalization\n\n PRB2013453\n\n</td><td>\n\nThe 'Find Normalization Suggestions' job fails to create suggestions for Regex rules due to accessing the private closure variable \\_regexMap\n\n</td><td>\n\nNormalizationEngine.\\_createSuggestionsForRegexDMs\\(\\) accesses regexEngine.regexMap, but \\_regexMap is a private variable inside RegexNormalizationEngine's IIFE closure. It is not exposed as a public property. The code also called getDM\\(\\) and applyRegexRuleToDiscoveryModel\\(\\) in a loop over this inaccessible map, so the entire regex suggestion path was non-functional.\n\n</td><td>\n\n1.  Ensure that the Regex normalization feature is active \\(com.sn\\_itam\\_samp plugin\\).\n2.  Have at least one Regex normalization rule in the samp\\_regex\\_normalization\\_rule table.\n3.  Create or have a manually normalized discovery model that would match a Regex rule.\n4.  Run the 'SAM - Find Normalization Suggestions' scheduled job.\n\n Expected behavior: A normalization suggestion should be created linking the discovery model to the matching Regex rule.\n\n Actual behavior: No normalization suggestion is created for Regex rules. The job silently fails for the Regex code path.\n\n</td></tr><tr><td>\n\nSoftware Asset Reconciliation\n\n PRB2015480\n\n</td><td>\n\nRegex normalization discards edition\\_map \\(including versionMap\\) when edition\\_index is null on the rule\n\n</td><td>\n\nIn \\_buildRuleObject\\(\\), the edition\\_map is guarded by 'gr.edition\\_index &amp;&amp; gr.getValue\\('edition\\_map'\\)'. When edition\\_index is null/empty, the entire edition\\_map \\(including its versionMap\\) is replaced with an empty object.\n\n</td><td>\n\n1.  Create a Regex normalization rule with:\n    -   edition\\_index = null \\(no edition capture group\\)\n    -   edition\\_map populated with a versionMap.\n2.  Create a Discovery model whose display\\_name matches the Regex pattern.\n3.  Run the 'SAM - Normalize Discovery Models Using Content Rules' job.\n\n Expected behavior: The edition\\_map should be parsed regardless of edition\\_index, so that versionMap entries are applied to remap version values.\n\n Actual behavior: The versionMap isn't applied. The version value is not remapped because edition\\_map is discarded when edition\\_index is null.\n\n</td></tr><tr><td>\n\nSoftware Asset Reconciliation\n\n PRB2018394\n\n</td><td>\n\nRegex normalization ignores product license exception rules, as it stamps the product type directly from samp\\_sw\\_product instead of consulting the exception map\n\n</td><td>\n\nBoth setDiscoveryModelNormalizedValues\\(\\) and findSuggestedValues\\(\\) used ruleObj.productType directly \\(which comes from samp\\_sw\\_product.product\\_type\\) bypass product license exception rules. Other normalization paths \\(pattern, package map\\) already consult these exception rules via NormalizationEngine.\\_getProductTypeFromRule\\(\\).\n\n</td><td>\n\n1.  Create a product in samp\\_sw\\_product with the product\\_type=licensable.\n2.  Create a product license exception rule for that product with a specific edition mapped to 'not licensable'.\n3.  Create a regex normalization rule pointing to that product.\n4.  Create a discovery model whose display\\_name matches the Regex pattern with the exception edition.\n5.  Run the 'SAM - Normalize Discovery Models Using Content Rules' job.\n\n Expected behavior: The discovery model's norm\\_type should be 'not licensable' \\(honoring the Product License Exception Rule\\), consistent with how pattern and package map normalization paths behave via \\_getProductTypeFromRule\\(\\).\n\n Actual behavior: The discovery model's norm\\_type is set to 'licensable' \\(taken directly from samp\\_sw\\_product.product\\_type\\). The same issue affects the suggestions path — findSuggestedValues\\(\\) also returns the wrong productType, causing incorrect suggested values.\n\n</td></tr><tr><td>\n\nSoftware Asset Reconciliation\n\n PRB2020394\n\n</td><td>\n\nThe 'Apply latest content changes' job fails for Regex normalization rules due to calling a private function as an instance method\n\n</td><td>\n\nSampRegexNormalization RuleContentUpdate Handler.reEvaluate DiscoveryModels\\(\\) calls this.regexEngine. buildRuleObject\\(ruleGr\\), but buildRuleObject is a closure-private function inside RegexNormalizationEngine's IIFE — it isn't exposed as an instance method. This causes every content update for Regex rules to crash.\n\n</td><td>\n\n1.  Ensure the Regex normalization feature is active \\(com.sn\\_itam\\_samp plugin\\).\n2.  Have at least one Regex normalization rule record in the samp\\_regex\\_ normalization\\_rule table.\n3.  Trigger the 'Apply latest content changes' scheduled job, or invoke SampRegexNormalization RuleContentUpdate Handler.processRecord\\(\\) on a Regex rule record.\n\n See that the job fails with an error: 'Cannot find function buildRuleObject in object \\[object Object\\]'.\n\n</td></tr><tr><td>\n\nSoftware Entitlements\n\n PRB2023511\n\n</td><td>\n\nAdd an asset tag, agreement number, and location to entitlement duplicate check attributes\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nStandard Ticket Page\n\n PRB2023619\n\n</td><td>\n\nFamily changes to fetch summary fields from the m2m table\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nSystem Archiving\n\n PRB1988156\n\n</td><td>\n\nArchive reparenting doesn't work with peripherals and large table names\n\n</td><td>\n\nThe records for sys\\_audit and sys\\_journal\\_field don't reparent, and an error is found in the logs.\n\n</td><td>\n\n1.  Create a table with sys\\_audit and sys\\_journal records with a length that is over 60 characters. For example, 'u\\_supercalifragilistic expiextralongname\\_restore\\_destroy\\_test'.\n2.  Attempt to archive it.\n\n Notice that the sys\\_audit and sys\\_journal\\_field records don't reparent. Instead, the log shows this error, 'Found in current data management track'.\n\n</td></tr><tr><td>\n\nTable Administration and Data Management\n\n PRB2025009\n\n</td><td>\n\nOrdering a query by a **Function** field that wraps a translated\\_text column returns blank values for that list\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Create a table.\n2.  Add a translated\\_text column.\n3.  Add **Function** field on that column.\n4.  Navigate to v\\_plugin.LIST.\n5.  Activate the plugin 'com.snc.i18n.swedish'.\n6.  Insert records \\(New Name=Alice and New Name=Bob\\).\n7.  Submit.\n8.  Add the Swedish translations \\(Älice\\_sv for Alice and Bob\\_sv for Bob\\).\n9.  Submit.\n10. Switch the session to Swedish.\n11. Open u\\_repro\\_translated\\_function.LIST.\n12. Personalize the columns to show 'Name' and 'Name Function'.\n13. Select the **Name Function** header to sort by ascending.\n\n Expected behavior: The 'Name Function' column shows Älice\\_sv and Bob\\_sv \\(or the English fallback\\).\n\n Actual behavior: The 'Name Function' column is blank for both rows.\n\n</td></tr><tr><td>\n\nTrace Collector - Family Release\n\n PRB2023730\n\n</td><td>\n\nTrace collector Epic\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nTrace Collector - Family Release\n\n PRB2030648\n\n</td><td>\n\nThe Azure Application Insight throws an error\n\n</td><td>\n\nDuring testing of the Application Insight feature, users are intermittently seeing an error: 'Unable to find app\\_insights\\_config.json'.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nUI Actions\n\n PRB2013168\n\n</td><td>\n\nSupport actions in AINPX\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nUI Builder \\(Family Channel\\)\n\n PRB2023628\n\n</td><td>\n\nConfiguration table, APIs and ACLs\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nUI Field Administration\n\n PRB1969665\n\n</td><td>\n\nCurrency values change automatically in workspaces\n\n</td><td>\n\nThe currency value changes automatically when selecting in and out of the **Currency** field, without actually changing the value.\n\n</td><td>\n\n1.  Open any record from incident.list.\n2.  Select **View - Service Operations Workspace**.\n3.  Create a field type 'price'.\n4.  Give it any name and any value.\n5.  Save the record.\n6.  Open sys\\_user table for the name 'Beth Anglin' who has 'ITIL' role.\n7.  Add a **County Code** field with the value set to 'system\\(US\\)'.\n8.  Impersonate the user Beth Anglin.\n9.  Open Service Operations Workspace.\n10. Select into the **Price** field under the 'Details' tab.\n11. Without changing anything, select out of the field.\n\nNotice that the value doesn't change.\n\n12. End the impersonation.\n13. Update the **County Code** field to 'Germany' or any other country for the user Beth Anglin.\n14. Impersonate the user Beth Anglin again.\n15. Open Service Operations Workspace.\n16. Select into the **Price** field under the 'Details' tab.\n17. Without changing anything, select out of the field again.\n\n Observe that the value changes.\n\n</td></tr><tr><td>\n\nUI Field Administration\n\n PRB1982868\n\n</td><td>\n\nThe pop-up related to the Comment/Work Note web link only displays in the boundary of the 'Compose' tab\n\n</td><td>\n\nThe message, 'The URL you entered seems to be an external link. Do you want to add the required http:// prefix' is confined to the 'Compose' section and not overlaying the page. This occurs in the CSM workspace, Service Operations Workspace \\(SOW\\), and the HR workspace. This issue occurs in Safari browsers, but has been resolved in Chrome browsers.\n\n</td><td>\n\n1.  Open a Safari browser.\n2.  Log in to a Xanadu instance.\n3.  Open the CSM workspace.\n4.  Open any non-closed incident.\n5.  Navigate to the **Activity Stream**.\n6.  Navigate to the **Compose** section.\n7.  Under 'Subject, select the 3 dots \\(**...**\\) if formatting options are not available.\n8.  Select the **Link** button.\n9.  In the **URL** field, enter 'servicenow.com'.\n10. Select the **Save** button.\n\n Observe the message, 'The URL you entered seems to be an external link. Do you want to add the required http:// prefix'. The message is confined to the 'Compose' section, and not overlaying the entire page.\n\n</td></tr><tr><td>\n\nUI Field Administration\n\n PRB1985085\n\n</td><td>\n\nQuick action visibility script is executed in global scope, preventing access to scoped script includes\n\n</td><td>\n\nThe quick action runs into an error: 'Evaluator.evaluateString\\(\\) problem: java.lang.SecurityException: Illegal access to package\\_private script include...'\n\n</td><td>\n\n1.  Create a quick action in a scoped app.\n2.  From the visibility script, call a script include that is accessible only from the same scope.\n\n Notice the quick action runs into an error: 'Evaluator.evaluateString\\(\\) problem: java.lang.SecurityException: Illegal access to package\\_private script include CMDBGenAICIFormContextualHelp: caller not in scope sn\\_cmdb\\_gen\\_ai: com.glide.script. RhinoEnvironment.checkScriptableAccess \\(RhinoEnvironment.java:723\\) com.glide.script. ARhinoScope.checkScriptableAccess \\(ARhinoScope.java:134\\)'. This happens because the visibility script is evaluated in the global scope.\n\n</td></tr><tr><td>\n\nUI Field Administration\n\n PRB1998819\n\n</td><td>\n\nWWNAglobal utils should be removed\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nUI Field Administration\n\n PRB2017755\n\n</td><td>\n\nThe text command shortcut behavior is confusing\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Open the email composer on any incident record in Service Operations Workspace.\n2.  Press /r.\n\nNothing happens.\n\n3.  Press /.\n\nIt displays the text commands dropdown.\n\n4.  Press esc.\n5.  Press /r.\n\nIt activates the response template command.\n\n\n The user finds this confusing and would rather that the text commands always have to be selected from the list instead of being triggered directly via the keyboard.\n\n</td></tr><tr><td>\n\nUI Field Administration\n\n PRB2025633\n\n</td><td>\n\nAI Agent modified fields API returns aiCreated instead of isAiCreated in JSON response\n\n</td><td>\n\nThe boolean field is named incorrectly.\n\n</td><td>\n\n1.  Provision an instance with Gen AI installed.\n2.  Open any existing record page \\(for example, an incident in Ui16\\).\n\nObserve the **AI Agent modified** field API response.\n\n3.  Inspect the JSON response body.\n\n Expected behavior: The boolean field is named 'isAiCreated'.\n\n Actual behavior: The boolean field is named 'aiCreated'.\n\n</td></tr><tr><td>\n\nUI Form Administration\n\n PRB1988524\n\n</td><td>\n\nThe copy/paste functionality is not working in the 'Email' section of the workspace.\n\n</td><td>\n\nThis issue occurs after upgrading to Zurich.\n\n</td><td>\n\n1.  Log in to a Zurich instance.\n2.  Open any workspace, such as Service Operations Workspace or HR workspace.\n3.  Open any record.\n4.  Navigate to the **Compose email** section.\n5.  Enter the email addresses.\n6.  Select any email address.\n7.  Perform Copy \\(ctrl+c\\) or Cut \\(ctrl+x\\) on the email address.\n8.  Paste it in the 'To' or 'cc' or 'bcc' section.\n9.  Notice that the email address is not copied.\n\n Expected behavior: The user is able to copy and paste.\n\n Actual behavior: The user is not able to copy and paste.\n\n</td></tr><tr><td>\n\nUI Form Administration\n\n PRB1999196\n\n</td><td>\n\nThe citation URL is retained and fields are highlighted when the user logs in to an instance again\n\n</td><td>\n\nThe highlight should happen only if the user selects links in a summary or the email outputs.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nUI Form Administration\n\n PRB2006958\n\n</td><td>\n\nIntroduce system property to hide form level TI banner\n\n</td><td>\n\nThe alert appears when the form is loaded. There's no way to avoid seeing the alert if not required.\n\n</td><td>\n\n1.  Open a SOW record with **Task Intelligence** field level recommendations.\n\nNotice that the form level banner appears with deep links to fields that have recommendations.\n\n2.  Cancel the alert.\n3.  Load the form.\n\n Observe that the alert appears again.\n\n</td></tr><tr><td>\n\nUI Form Administration\n\n PRB2010217\n\n</td><td>\n\nUI Policy date comparisons are stale after waiting on the page in Workspace\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nUI Form Administration\n\n PRB2013158\n\n</td><td>\n\nForm and client scripting work for Lit components\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nUI Form Administration\n\n PRB2013160\n\n</td><td>\n\nHandle a graphql error for a boolean choice field\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nUpgrade Center\n\n PRB2023239\n\n [KB3015307](https://hi.service-now.com/kb_view.do?sysparm_article=KB3015307)\n\n</td><td>\n\nThere is a mismatch in the Glide version between the app node and the database following an upgrade\n\n</td><td>\n\nA new code path introduced the MariaDBI18NSQLFormatter class. When the sys\\_properties record of the 'com.glide.db.session \\_language\\_collation\\_feature' property is set to true, it takes a code path upon upgrade or restart where an instance will not come up. When 'com.glide.db.session \\_language\\_collation\\_feature' is false, the code path exits early and doesn't cause this issue.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nUsage Analytics\n\n PRB2021289\n\n</td><td>\n\nLong session durations are observed for few Usage Insights Sessions, causing inaccurate session duration metrics\n\n</td><td>\n\nA fix for long session duration in some Usage Insights sessions.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nUX Framework\n\n PRB1969085\n\n [KB2677276](https://hi.service-now.com/kb_view.do?sysparm_article=KB2677276)\n\n</td><td>\n\nGraphQL schema changes for client-interaction.graphl in ux-metrics\n\n</td><td>\n\nThe user sees error logs from the ClientMetricsRestService.java file. The error logs are logged to the syslog table.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nUX Framework\n\n PRB1986291\n\n</td><td>\n\nList dynamic routing shouldn't be applied when creating a record from a related list\n\n</td><td>\n\nDynamic routing is handled within the recordRoutesMapping Client Script Include. Kb\\_knowledge mapping uses source\\_component: 'list' to route article clicks to kb\\_view. When the **New** button is selected on a related list, the kb\\_view route is incorrectly applied. Since kb\\_view can't handle new records, the page breaks.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nUX Framework\n\n PRB1995434\n\n</td><td>\n\nModeless dialog with dynamic content fails to render repeater-driven lists on subsequent opens\n\n</td><td>\n\nUsers experience a broken user interface when reopening modeless dialog windows that contain dynamically loaded content. On second and subsequent opens, repeater-driven lists fail to appear, preventing users from interacting with required dialog data. This impacts workflows that rely on repeatedly opening dialogs and creates a confusing, non-deterministic user experience. The failure is silent and no visible error is shown.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nUX Framework\n\n PRB2002772\n\n</td><td>\n\nPreset for the presentational list \\(nested inside the record list bundle\\) wasn't discovered during pre-population\n\n</td><td>\n\nThe list is completely broken.\n\n</td><td>\n\n1.  On a base instance, build a custom UI Builder \\(UIB\\) page where the record list component is nested deeply under a tabs viewport.\n2.  Perform cache.do.\n3.  Visit the UIB page.\n\nObserve that the list component is empty and broken. No data is rendered.\n\n4.  Visit the Service Operations Workspace \\(SOW\\) list page: /now/sow/list.\n\n Observe that the SOW list page is also broken and empty.\n\n</td></tr><tr><td>\n\nUX Framework\n\n PRB2018001\n\n</td><td>\n\nA blank page issue on some nodes during upgrade\n\n</td><td>\n\nThis issue occurs in Australia instances.\n\n</td><td>\n\n1.  Upgrade the instance.\n2.  Navigate to the node.\n\n Observe that there is a empty page is displayed with a spinning wheel.\n\n</td></tr><tr><td>\n\nUX Framework\n\n PRB2023614\n\n</td><td>\n\nIn-product surveys MVP\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nUX Framework\n\n PRB2030213\n\n</td><td>\n\nWhen a user navigates between two pages that both have IPS surveys configured, the survey triggered on the first page isn't dismissed upon navigation\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent Designer Legacy\n\n PRB1752802\n\n</td><td>\n\nThe virtual agent designer page isn't accessible on Safari\n\n</td><td>\n\nAll seismic and Core UI pages should work on Safari 17.1+ for Washington and 17.3+ for Xanadu.\n\n</td><td>\n\n1.  Open a Safari browser.\n2.  Navigate to **All** &gt; **Virtual Agent** &gt; **Designer**.\n\n Observe the following error: 'Safari and older versions of Internet Explorer are unsupported browsers, please switch to a different or newer browser.'\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB1977665\n\n</td><td>\n\nThe 'Pagination' API doesn't reset totalSearchResultsCount if a search term is removed\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Execute a topic with dynamic input.\n2.  Scroll through the input list.\n\nNote that the totalSearchResultsCount is 0 in the response for /options, during scrolling.\n\n3.  Enter a search text in the input.\n\nNote that totalSearchResultsCount has some valid integer values in the response for /options.\n\n4.  Remove the search text in the input.\n\nNote that totalSearchResultsCount still has the same value from step three in the response for /options and isn't reset to 0.\n\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB1985280\n\n</td><td>\n\nDuplicate attachment is displayed in Virtual Agent after portal refresh\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Open an instance in two browsers.\n2.  In browser one, impersonate the agent 'Fred Luddy'.\n3.  Set the agent as available in Service Operations Workspace.\n4.  Switch to browser two.\n5.  Impersonate as admin.\n6.  Initiate a chat from the portal or web-client.\n7.  Connect to a live agent.\n8.  In browser one, accept the chat as the agent.\n9.  Send any image as end-user to agent.\n10. Refresh the portal at end-user.\n\n Expected behavior: Nothing happens.\n\n Actual behavior: The duplicate attachment/image is displayed only in Virtual Agent.\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB1989524\n\n</td><td>\n\nConsecutive chat interactions from Customer Service Management \\(CSM\\) portal have anempty 'Account' and 'Contact' field\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Log in as a contact/contact as a consumer.\n2.  Navigate to the CSM Portal.\n3.  Open Virtual Agent chat.\n4.  Select the **Live Agent Support** topic.\n5.  Close the conversation.\n6.  Select **Live Agent Support** topic again in the new conversation.\n7.  As an admin, open Interaction list\\(interaction\\_list\\).\n\n The 'Assigned to = Virtual Agent' has the first interaction has **Account** and **Contact** fields filled, but the next interaction records are missing the **Account** and **Contact** fields.\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB1999511\n\n</td><td>\n\nMessage preview and unread badge count don't work on page refresh\n\n</td><td>\n\nWhen the user refreshes the page, the message preview doesn't show up. On standard chat, there's also no unread badge count.\n\n</td><td>\n\n1.  Navigate to /sp.\n2.  Query 'What is spam'.\n3.  While standard or enhanced chat is processing, close the Virtual Agent.\n\nObserve that there is an unread badge count \\(1\\) and the message preview pops up.\n\n4.  Refresh the page.\n\n Expected behavior: There is still an unread badge count and the message preview shows up.\n\n Actual behavior: The message preview doesn't show up. On standard chat, there's also no unread badge count.\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2003424\n\n</td><td>\n\nExternal users are unable to delete closed chats from the Virtual Agent chat history\n\n</td><td>\n\nExternal users are unable to delete closed chats from the Virtual Agent chat history and encounter the error message: 'Failed to delete conversation. Please try again'.\n\n</td><td>\n\n1.  Impersonate an external user.\n2.  Navigate to the ESC portal.\n3.  Open the Virtual Agent chat history.\n4.  Select the **Bin** icon to delete a closed chat.\n\n Notice that the error message appears: 'Failed to delete conversation. Please try again'.\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2003812\n\n</td><td>\n\nSonar test coverage should be 80% for the Data Collector module\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2006240\n\n</td><td>\n\nThe Virtual Agent server doesn't process pre-chat surveys for bot 2 bot\n\n</td><td>\n\nUsers aren't routed to a live agent in bot to bot conversations. This was due to a misconfiguration where pre-chat survey was enabled and the user wasn't able to provide a response. Interactions aren't assigned to the queue or an agent in Agent Workspace. It was working when the user first upgraded, but recently has stopped.\n\n</td><td>\n\n1.  Start a conversation in crescendo using the ServiceNow Virtual Agent API.\n2.  Send a request to transfer to a live agent using endpoint /api/sn\\_va\\_as\\_service/bot/integration.\n\n Notice that the conversation doesn't get routed to the live agent.\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2007255\n\n [KB3045151](https://hi.service-now.com/kb_view.do?sysparm_article=KB3045151)\n\n</td><td>\n\nThere's memory pressure on nodes due to high memory for the cache 'com.glide.cs.qlue. module.coma. MessageBatchingSession'\n\n</td><td>\n\nUsers with 2GB nodes may encounter memory issues that can cause the events process jobs to yield.\n\n</td><td>\n\nRun a heap dump.\n\n Observe that MacMessageBatchingSession or MessageBatchingSession uses over 50 MB of memory.\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2012889\n\n</td><td>\n\nvaSystem.getSearchText isn't working with offGlide\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2013847\n\n</td><td>\n\nCreate a new scriptable API for endChatSummarization\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2015140\n\n</td><td>\n\nMultiple interactions are created during live agent execution\n\n</td><td>\n\nThis only happens when a conversation is reset or abandoned.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2015866\n\n</td><td>\n\nHandshake fails when it fails to load an in-progress conversation\n\n</td><td>\n\nThe same error impacts async tool execution intermittently.\n\n</td><td>\n\n1.  Impersonate any user who has existing open conversations.\n2.  Open Now Assist Portal.\n\n Expected behavior: It should load the chat client successfully with a new or older conversation.\n\n Actual behavior: It keeps loading and throws an error.\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2017392\n\n</td><td>\n\nAdd topic, agent execution to the sys\\_cs\\_now\\_ assist\\_execution table for NextWave\n\n</td><td>\n\nWhen a topic/agent is run, the sys\\_cs\\_now\\_ assist\\_execution doesn't populate.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2017869\n\n</td><td>\n\nA custom navigation URL isn't working\n\n</td><td>\n\nUsers expect that custom URL mappings under sys\\_cs\\_portal\\_url\\_ mapping\\_list should only impact the portal/mobile device for which it was configured. Also, pages opened on Mobile NextWave should be read as iOS/Android, not mweb. However, custom URL mapping configured for Mobile impacts Portals or vice versa, and pages opened on Mobile NextWave are read as mweb.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2018098\n\n</td><td>\n\nAI agents incorrect are displayed on the Virtual Agent's topics list\n\n</td><td>\n\nOn 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.\n\n</td><td>\n\n1.  Open Virtual Agent.\n2.  Navigate to the 'View All Topics' section.\n3.  Scroll to the 'Others' section.\n\n See that multiple AI Agents are visible there.\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2018878\n\n</td><td>\n\nEmployeeslate gets a 404 error for promoted-skills\n\n</td><td>\n\n \n\n</td><td>\n\nNavigate to Employeeslate's home.\n\n Observe the 404 error.\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2019099\n\n</td><td>\n\nStarting '\\{0\\}' sys\\_cs\\_context\\_ profile\\_message isn't translated per user session language\n\n</td><td>\n\nThe message should be translated using SysMessage. getMessageLang before it's sent.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2020252\n\n</td><td>\n\nThe Virtual Agent goes into a loop after selecting the feedback survey\n\n</td><td>\n\nIn Zurich, the Now Assist Virtual Agent in enhanced chat intermittently gets stuck in a loop selecting the feedback survey topic.\n\n</td><td>\n\n1.  Open the NAVA bot from the portal.\n2.  Ensure that the survey topic is added in fallback.\n3.  Search for a query that has no related knowledge articles and triggers the fallback topic \\(for example, 'What is quantum physics?'\\).\n\n Observe that after the fallback is triggered, a form link is provided and a feedback message is triggered. After the feedback message is triggered, the Virtual Agent continues to return the same feedback message as the response.\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2022716\n\n</td><td>\n\nNextWave Premium Chat doesn't work for external users \\(snc\\_external\\) on CSM portal\n\n</td><td>\n\nThe console error '403 FORBIDDEN' appears on ais\\_auth\\_token\\_refresh API. The external user can't use the chat experience.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2024076\n\n</td><td>\n\nPickers aren't honoring pre-selected options\n\n</td><td>\n\nThis works in the web version and is considered a feature gap.\n\n</td><td>\n\n1.  Set up a topic that has pre-selected options.\n2.  Execute a topic in MS Teams.\n\n Expected behavior: The pre-selected options defined in the topic should be presented to the user as selected.\n\n Actual behavior: An empty picker is presented with nothing selected.\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2024849\n\n</td><td>\n\nSimplified handshake for NextWave needs fixes for session creation, channels, and context\n\n</td><td>\n\nThe existing session needs to be looked up by conversation before creating a new one. Also, if the consumer account context name is provided, it needs to be stamped and associated with the consumer account when created. Finally, the channel user profile needs to be properly resolved for channels.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2025311\n\n</td><td>\n\nAdd an ai\\_greeting type mapping in getContextProfile MessagesNoDomain to support a Premium Chat greeting message feature\n\n</td><td>\n\nThe Now Assist Virtual Agent \\(VA\\) admin UI saves static AI greeting messages as sys\\_cs\\_context\\_profile\\_message records with type=ai\\_greeting. For these to load correctly, getContextProfile MessagesNoDomain in NowAssistIn VAAdmin ConsoleUtil needs an explicit branch mapping ai\\_greeting → aiGreetingMessage. Without this Glide-services change, the greeting message isn't populated for multi-domain instances when the feature ships.\n\n</td><td>\n\n1.  On a multi-domain instance, navigate to **Now Assist VA admin UI** &gt; **Chat Experience** &gt; **Premium Messages tab**.\n2.  Configure a static greeting message.\n3.  Save.\n4.  Refresh the page.\n5.  Navigate back to the chat.\n\n Observe that the custom greeting message isn't populated even though the message was saved earlier.\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2025956\n\n</td><td>\n\nResolved issues after introducing four tables for Virtual Agent \\(VA\\) analytics\n\n</td><td>\n\nThe search-related analytics can be written to the four tables instead of sys\\_ci\\_analytics as event entries.\n\n</td><td>\n\n1.  Make sure sn\\_nowassist\\_ va.analytics. persistence\\_strategy = 'table'.\n2.  Launch VA client.\n3.  Type anything in the search.\n\n Observe that all the expected entries are in the new tables and view.\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2026053\n\n</td><td>\n\nsys\\_cs\\_context\\_profile\\_topics should be sent to the offGlide cache for Authorizing Official \\(AO\\) to read\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2026723\n\n</td><td>\n\nIn OGChannels, there should be a picker search update\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2026804\n\n</td><td>\n\ngetBrandingConfig\\(\\) doesn't provide the correct response in NextWave\n\n</td><td>\n\napi/sn\\_nowassist\\_va /og\\_branding\\_configs/ \\{deploymentId\\} doesn't provide the correct response for branding configuration. It's missing a value field and the type is null for the first item.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2028137\n\n</td><td>\n\nGlide-cs-test failures in Australia\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2029447\n\n</td><td>\n\nKnowledge article links are broken in the sources citation when the article has an attachment\n\n</td><td>\n\nThere is an issue with the link formation in the source citations for the KB article if there is an attachment. The link generated by Now Assist uses the sys\\_id of the PDF attachment instead of the KB article sys\\_id in the URL.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2030245\n\n</td><td>\n\nExternal users can't upload files\n\n</td><td>\n\nThere's an HTTP 422 error and the file fails to upload.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2031950\n\n</td><td>\n\nAI-user fetch issue\n\n</td><td>\n\nThe conversation user for the ZTSD flow is AI L1 Service Desk Specialist, which is the identity type ai\\_agent. The cache configuration get\\_user\\|table:\\{table\\} \\|field:\\{field\\}\\| value:\\{value\\} explicitly ignores users of type 'ai\\_agent'.\n\n</td><td>\n\nPerform a cache fetch call for the cache key 'get\\_user\\|table:\\{table\\}\\|field:\\{field\\}\\|value:\\{value\\}' for any user of the identity type 'ai\\_agent'.\n\n See that it doesn't return the **User** field value.\n\n</td></tr><tr><td>\n\nVirtual Agent\n\n PRB2032108\n\n</td><td>\n\nGlide-side changes for the NextWave release\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nVirtual Agent Web Client\n\n PRB1993741\n\n</td><td>\n\nWhen live\\_agent\\_only is set to true, the agent chat triggers the greetings topic instead of going to the live agent\n\n</td><td>\n\nThe /esc portal agent chat is configured to only trigger the live agent. However, when the user selects the 'Virtual Agent' icon, it triggers the greetings topic and doesn't go to the live agent. When the user ends the first conversation and creates another conversation, it then goes straight to the live agent. The issue only occurs the first time the user selects the 'Virtual Agent' icon in the session. It also only happens for Now Assist virtual agent sessions.\n\n</td><td>\n\n1.  Enable Now Assist in Virtual Agent.\n2.  Configure the agent chat configuration for the /esc portal.\n3.  Turn off all the other agent chat configurations, only keeping one active.\n4.  Navigate to /esc.\n5.  Select the **Virtual Agent** icon.\n\n Expected behavior: It triggers the live agent support topic.\n\n Actual behavior: It triggers the greetings topic. However, if you end the conversation and create a conversation, it goes straight to the live agent.\n\n</td></tr><tr><td>\n\nVirtual Agent Web Client\n\n PRB2021136\n\n</td><td>\n\nSelecting the **Stop** button during synthesized results streaming causes an error\n\n</td><td>\n\nThis issue occurs when the **Stop** button is selected in the small time interval between the receipt of the last chunk and the full synthesized response.\n\n</td><td>\n\n1.  Navigate to the esc portal.\n2.  Select the **Now Assist** chat icon.\n3.  Type the utterance: 'Adobe access'.\n4.  Wait for the response to be streamed.\n5.  Select the **Stop** button immediately after the response is streamed.\n\n Observe that there's an error.\n\n</td></tr><tr><td>\n\nVirtual Agent Web Client\n\n PRB2033755\n\n</td><td>\n\nSEARCH\\_FALLBACK\\_EVENT is missing in sys\\_ci\\_analytics\n\n</td><td>\n\nSEARCH\\_FALLBACK\\_EVENT records are no longer created in sys\\_ci\\_analytics in Australia.\n\n</td><td>\n\n1.  Navigate to Dynamic Window.\n2.  Create a conversation.\n3.  Start a conversation.\n4.  Search for 'iPhone'.\n5.  Select **See more of iPhone**.\n6.  Navigate through the conversation without starting a catalog request.\n7.  End the iPhone search conversation with 'nothing else'.\n\n</td></tr><tr><td>\n\nVisibility Content\n\n PRB2008571\n\n [KB2946711](https://hi.service-now.com/kb_view.do?sysparm_article=KB2946711)\n\n</td><td>\n\nSybase Discovery failed due to an issue in the step 8 condition, causing instances to be created in the wrong class\n\n</td><td>\n\nThe Sybase Discovery pattern fails during execution, which results in database instances created in the parent table instead of the expected Sybase-specific class. Even after retrieving the instance name in step 7, the Sybase database pattern is failing in step 8.\n\n</td><td>\n\nRefer to the listed KB article for details.\n\n</td></tr><tr><td>\n\nVisual Task Boards\n\n PRB1994303\n\n</td><td>\n\nIn a Visual Task Board \\(VTB\\), the 'Select lane' menu displays lane values from all the boards available irrespective of the board selected to move\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nWindow Manager\n\n PRB2019525\n\n</td><td>\n\nWhen the Now Assist panel is activated, the left side navigation is hidden and the margin remains applied, leaving an empty space\n\n</td><td>\n\n \n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nWord Document APIs\n\n PRB1973625\n\n</td><td>\n\nSupport unzipped font size up to 20 MB in Word Doc API\n\n</td><td>\n\nThe property com.snc.word\\_doc\\_api .unzip\\_word\\_size\\_limit\\_mb supports only up to 10 MB file size. This is an enhancement request to support up to 20 MB.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nWork Order Management\n\n PRB2015160\n\n</td><td>\n\n'Sort by distance' is degraded in Australia\n\n</td><td>\n\nThe 'Sort by distance' operation in the FSM Dispatcher Workspace is significantly slower in Australia than Zurich. The transaction response time increased from 2.2 seconds to 8.9 seconds — 6.5 seconds slower.\n\n</td><td>\n\n1.  Log in to an instance with dispatcher0400.\n2.  Select the **Dispatcher workspace** button.\n3.  Select a task from the left side pane.\n4.  Select the **Sort by distance** button.\n\n</td></tr><tr><td>\n\nWork Order Management\n\n PRB2017308\n\n</td><td>\n\nFlat table records aren't invalidated when location attributes are inserted to Workforce Operations \\(WFO\\) events\n\n</td><td>\n\nIn Australia, when a location attribute \\(sn\\_shift\\_planning \\_sched\\_attr\\) record was inserted into or deleted from a WFO event, the related schedule flat-table records weren't invalidated. As a result, outdated event entries continued to exist on the agent's flat table instead of being re-inserted with the updated sn\\_shift\\_planning\\_ sched\\_attr sys\\_id. The issue was present in the 'Update schedule flat table' business rule in the Field Service Management \\(com.snc.work\\_management\\) plugin.\n\n</td><td>\n\n1.  Enable WFO.\n2.  Insert a location attribute \\(sn\\_shift\\_planning\\_sched\\_attr\\) record to a WFO event.\n3.  Navigate to a flat table.\n\n See the outdated events record still exist for the agent. When sn\\_shift\\_planning\\_sched\\_attr record is inserted or deleted, related flat table records should also be invalidated as they have to be inserted with an updated sn\\_shift\\_planning\\_sched\\_attr sysID into the table.\n\n</td></tr><tr><td>\n\nWork Order Management\n\n PRB2023961\n\n</td><td>\n\nThe switch 'Enable/disable association of territory resources with demand channels' can be turned on even when FSM shift scheduling is turned off\n\n</td><td>\n\n \n\n</td><td>\n\n1.  Provision an instance with FSM Territory Planning, Advanced Capacity, and WFO installed.\n2.  Activate a territory model.\n3.  Navigate to the 'Field Service Configuration Assignment' tab.\n\n Expected behavior: Enabling/disabling the association of territory resources with demand channels can't be turned on unless the 'Enable FSM shift scheduling' toggle is enabled.\n\n Actual behavior: The toggle 'Enable/disable association of territory resources with demand channels' can be set to enabled without setting 'Shift Scheduling' to true.\n\n</td></tr><tr><td>\n\nWork Order Management\n\n PRB2026498\n\n</td><td>\n\nWork order tasks \\(WOT\\) are unassigned after flexible breaks are updated by Schedule Optimization \\(SO\\)\n\n</td><td>\n\nWhen a flexible break is optimized by the SO engine, it inserts/updates records in the sn\\_shift\\_planning\\_agent\\_schedule table to update the original break start and end time. This operation is triggering the business rule 'Re-assignment on shift deletion', which causes all of the tasks in the shift to be unassigned, even if they don't overlap with the break event.\n\n</td><td>\n\n1.  Set up a Workforce Optimization \\(WFO\\) schedule with flexible breaks.\n2.  Set up an optimization batch or intraday configuration for the same group/territory.\n3.  Run optimization.\n\n Observe that the tasks are assigned by SO, but then immediately unassigned after the flexible breaks are updated.\n\n</td></tr><tr><td>\n\nZero Copy Connectors \\(Glide\\)\n\n PRB2026100\n\n</td><td>\n\nThere's a reverse tunnel solution for Trino private connectivity\n\n</td><td>\n\nThis is a product update.\n\n</td><td>\n\n \n\n</td></tr><tr><td>\n\nZing Text Indexing and Search Engine\n\n PRB2018016\n\n</td><td>\n\nThe 'TS Index Stats' job shouldn't check a table that's not indexed\n\n</td><td>\n\nThe 'TS Index Stats' job is pulling 45 million records from syslog and caused an out of memory error on the node.\n\n</td><td>\n\n1.  Run the 'TS Index Stats' job.\n2.  Turn on the syslog\\(collection\\) text index attribute in sys\\_dictionary.\n3.  Create a record in ts\\_index\\_name for syslog.\n4.  In the background, run the new GlideTSIndexStatistician\\(\\).allStats\\(\\);.\n\n Expected behavior: It shouldn't load all records for the table.\n\n Actual behavior: There's a warning for syslog large table: 'Table handling an extremely large result set'.\n\n</td></tr></tbody>\n</table>## Fixes included\n\nUnless 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.\n\n-   [Australia Patch 2 Hotfix 1](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/release-notes/australia-patch-2-hf-1.md)\n-   [Australia Patch 2](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/release-notes/australia-patch-2.md)\n-   [Australia Patch 1](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/release-notes/australia-patch-1.md)\n-   [Australia security and notable fixes](https://www.servicenow.com/docs/r/release-notes/australia-security-notables.html)\n-   [All other Australia fixes](https://www.servicenow.com/docs/r/release-notes/australia-all-other-fixes.html)\n\n**Parent Topic:**[Available patches and hotfixes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/release-notes/available-versions.md)\n\n"}}