Combined API release notes for upgrades from Zurich to Australia
On this page
Combined API release notes for upgrades from Zurich to Australia
Consolidated page of all release notes for API from Zurich to Australia.
How to use this page
To help you prepare for your upgrade, we have combined the cross-family API release notes onto one page. Read this summary of the new features, changes, and updated information for your product from Zurich to Australia.
Tip: If there were no updates for a release notes section in a certain family release, we included a short note for your reference. For example, if a product did not have any updates in Tokyo, the row says “No updates for this release.”
Important information for upgrading API to Australia
Before you upgrade to Australia, review these pre- and post-upgrade tasks and complete the tasks as needed.
<table class=“custom-rows”><thead><tr><th class=“filter”>
Release
</th><th>
Release notes
</th></tr></thead><tbody><tr><td>
Zurich
</td><td>
No updates for this release.
</td></tr><tr><td>
Australia
</td><td>
No updates for this release.
</td></tr></tbody> </table>## New features
Between your current release family and Australia, new features were introduced for API.
<table class=“custom-rows”><thead><tr><th class=“filter”>
Release
</th><th>
Release notes
</th></tr></thead><tbody><tr><td>
Zurich
</td><td>
<table><thead><tr><th>
Class
</th><th>
Methods
</th></tr></thead><tbody><tr><td>
GlideCurrencyCode - Scoped, Global
</td><td>
-
getCurrencyCode()
-
getNumericCurrencyCode()
</td></tr><tr><td>
GlideCurrencySymbol - Scoped, Global
</td><td>
-
getCurrencySymbol()
-
getSortedActiveCurrencySymbols()
</td></tr><tr><td>
</td><td>
-
addSystemCondition
-
addSystemOrCondition
-
addUserCondition
-
addUserOrCondition
</td></tr><tr><td>
</td><td>
-
addSystemEncodedQuery()
-
addSystemQuery()
-
addSystemOrderBy()
-
addSystemOrderByDesc()
-
addUserEncodedQuery()
-
addUserQuery()
-
addUserOrderBy()
-
addUserOrderByDesc()
</td></tr><tr><td>
</td><td>
-
addAttribute()
-
addMultipleAttributes()
-
deleteAllAttributes()
-
deleteAttribute()
-
fetchAllAttributes()
-
fetchAttribute()
-
updateAllAttributes()
-
updateAttribute()
</td></tr><tr><td>
</td><td>
Added support for additional message types to display at the top of forms:- addHighMessage() - addLowMessage() - addSuccessMessage() - addModerateMessage()
</td></tr></tbody> </table><table><thead><tr><th>
Class
</th><th>
Methods
</th></tr></thead><tbody><tr><td>
GlideDynamicAttribute - Global
</td><td>
Updated content to remove support for dynamic attribute groups.New method getNamespaceName().
</td></tr><tr><td>
GlideDynamicAttributeStore - Global
</td><td>
Updated content to remove support for dynamic attribute groups.New methods:
-
getDynamicNamespace()
-
setDynamicNamespace()
</td></tr><tr><td>
GlideDynamicNamespace - Global
</td><td>
-
getName()
-
isActive()
-
isTransient()
</td></tr><tr><td>
</td><td>
-
addSystemCondition
-
addSystemOrCondition
-
addUserCondition
-
addUserOrCondition
</td></tr><tr><td>
</td><td>
-
addSystemEncodedQuery()
-
addSystemQuery()
-
addSystemOrderBy()
-
addSystemOrderByDesc()
-
addUserEncodedQuery()
-
addUserQuery()
-
addUserOrderBy()
-
addUserOrderByDesc()
</td></tr><tr><td>
</td><td>
-
addAttribute()
-
addMultipleAttributes()
-
deleteAllAttributes()
-
deleteAttribute()
-
fetchAllAttributes()
-
fetchAttribute()
-
updateAllAttributes()
-
updateAttribute()
</td></tr><tr><td>
</td><td>
Added support for additional message types to display at the top of forms:- addHighMessage() - addLowMessage() - addModerateMessage() - addSuccessMessage()
</td></tr><tr><td>
</td><td>
Retrieves localized messages from the Message [sys_ui_message] table. It supports internationalization (i18n) by dynamically fetching messages based on the user’s session language or a specified language parameter.- getMessage() - getMessageLang()
</td></tr></tbody> </table><table><thead><tr><th>
Class
</th><th>
Methods
</th></tr></thead><tbody><tr><td>
</td><td>
-
addChoice()
-
addHighMessage()
-
addLowMessage()
-
addModerateMessage()
-
addSuccessMessage()
-
clearChoices()
-
disableChoice()
-
enableChoice()
-
getAnnotationByName()
-
getAnnotations()
-
getChoice()
-
getOptions()
-
hideAnnotation()
-
hideRelatedLinks()
-
hideTemplateBar()
-
removeChoice()
-
setChoiceLabel()
-
setRelatedLinksDisplay()
-
showAnnotation()
-
showRelatedLinks()
-
showTemplateBar()
-
toggleAnnotations()
</td></tr><tr><td>
GlideModal (Next Experience) - Client
</td><td>
-
destroy()
-
get()
-
getID()
-
getPreference()
-
getPreferences()
-
renderWithContent(Object)
-
renderWithContent(String)
-
setDialog()
-
setPreference()
-
setTitle()
-
type()
</td></tr><tr><td>
GlideNavigation (Next Experience) - Client
</td><td>
refreshNavigator()
</td></tr><tr><td>
StopWatch (Next Experience) - Client
</td><td>
-
StopWatch()
-
getTime()
-
restart()
-
toString()
</td></tr><tr><td>
GlideForm (Next Experience) - Client
</td><td>
-
addChoice()
-
addHighMessage()
-
addLowMessage()
-
addModerateMessage()
-
addSuccessMessage()
-
clearChoices()
-
disableChoice()
-
enableChoice()
-
getAnnotationByName()
-
getAnnotations()
-
getChoice()
-
getOptions()
-
hideAnnotation()
-
removeChoice()
-
setChoiceLabel()
-
showAnnotation()
-
toggleAnnotations()
</td></tr><tr><td>
GlideUser (Next Experience) - Client
</td><td>
getRoles()
</td></tr></tbody> </table><table><thead><tr><th>
API
</th><th>
Endpoints
</th></tr></thead><tbody><tr><td>
</td><td>
-
PUT now/conversation/member/{user_id}/drop
-
PUT now/conversation/member/{user_id}/update
</td></tr><tr><td>
</td><td>
-
POST /api/sn_omni_callback/callback/attempt
-
POST /api/sn_omni_callback/callback/create
-
PATCH /api/sn_omni_callback/callback/update
</td></tr><tr><td>
</td><td>
-
POST /api/sn_csm_pricing/pricingengine/computePrice
-
DELETE /api/sn_csm_pricing/pricingengine/pricing_context/{pricing_context_id}
</td></tr></tbody> </table>
</td></tr><tr><td>
Australia
</td><td>
<table><thead><tr><th>
Class
</th><th>
Methods
</th></tr></thead><tbody><tr><td>
CopyDynamicSchemaAPI - Scoped, Global
</td><td>
Methods:
-
getCopyApi()
-
skipAttributes()
-
skipChoiceOverrides()
-
skipChoiceSets()
-
getTransactionId()
-
runAsync()
Extension points:
-
getCopyName()
-
shouldCopy()
-
verifyCopyOperation()
</td></tr><tr><td>
</td><td>
setAggregateWorkflow()
</td></tr><tr><td>
</td><td>
-
getDisplayValueEx()
-
setDisplayValueEx()
</td></tr><tr><td>
</td><td>
-
getDisplayValueEx()
-
getDisplayValueLang()
-
setDisplayValueEx()
-
setDisplayValueLang()
</td></tr><tr><td>
GlideElementDescriptor - Scoped, Global
</td><td>
GlideElementDescriptor - isEncrypted()
</td></tr><tr><td>
</td><td>
-
KafkaProducerAPI()
-
send()
</td></tr></tbody> </table><table><thead><tr><th>
Application
</th><th>
App Version
</th><th>
Release month
</th><th>
Class
</th><th>
Methods
</th></tr></thead><tbody><tr><td>
Product Catalog Management
</td><td>
v19.2.0
</td><td>
2026-08
</td><td>
CatalogSearchAPI - Scoped, Global
</td><td>
The new getEligibleCatalogCategoryHierarchy() method lets you retrieve the complete product catalog-category hierarchy for a given context (customer, currency, pricing rules, etc.). The API automatically applies eligibility rules to filter out ineligible catalogs and categories, ensuring that customers see only the offerings they qualify for.Note: The REST version of this endpoint is Product Catalog Search - POST /api/sn_prd_pm/v1/catalog/eligible-catalog-category-hierarchy.
</td></tr><tr><td>
Product Catalog Management
</td><td>
v20.0
</td><td>
2026-07
</td><td>
CatalogSearchAPI - Scoped, Global
</td><td>
-
CatalogSearch() constructor
-
getCatalogData()
Though identically named to CatalogSearch Server API, the new CatalogSearchAPI is a higher-level wrapper specifically for the product catalog use case, with additional capabilities relevant to TMF-aligned product and service offerings.
Note: The Product Catalog Search API REST API wraps this Server API.
</td></tr><tr><td>
Lead to Cash Core
</td><td>
v0.1
</td><td>
2026-05
</td><td>
ConsolidationService - Scoped, Global
</td><td>
-
canConsolidateEntity()
-
canConsolidateJSONs()
-
canMergeEntity()
-
consolidate()
-
enableConsolidation()
-
getHashConfig()
-
getPrimary()
-
overrideAttributeValues()
-
postHierarchyConsolidation()
-
preProcess()
</td></tr><tr><td>
MCP Client
</td><td>
v1.0.1
</td><td>
2026-05
</td><td>
</td><td>
-
MCPClient()
-
getServers()
-
getToolInfo()
-
invokeTool()
-
listTools()
</td></tr></tbody> </table><table><thead><tr><th>
Class
</th><th>
Methods
</th></tr></thead><tbody><tr><td>
CopyDynamicSchemaAPI - Scoped, Global
</td><td>
Methods:
-
getCopyApi()
-
skipAttributes()
-
skipChoiceOverrides()
-
skipChoiceSets()
-
getTransactionId()
-
runAsync()
Extension points:
-
getCopyName()
-
shouldCopy()
-
verifyCopyOperation()
</td></tr><tr><td>
</td><td>
setAggregateWorkflow()
</td></tr><tr><td>
</td><td>
-
getDisplayValueEx()
-
setDisplayValueEx()
</td></tr><tr><td>
</td><td>
getDynamicNamespace()
</td></tr><tr><td>
GlideElementDynamicAttributeStore - Global
</td><td>
-
getDynamicAttributePathsInSchema()
-
getDynamicAttributePathsInStore()
-
getDynamicNamespaceName()
</td></tr><tr><td>
</td><td>
-
MIDHermesProducer()
-
send()
</td></tr><tr><td>
GlideElementDescriptor - Scoped, Global
</td><td>
GlideElementDescriptor - isEncrypted()
</td></tr></tbody> </table><table><thead><tr><th>
Application
</th><th>
App Version
</th><th>
Release month
</th><th>
Class
</th><th>
Methods
</th></tr></thead><tbody><tr><td>
Automated Test Framework
</td><td>
v3.1
</td><td>
2026-08
</td><td>
Cloud Runner TestRunnerApi – Scoped, Global
</td><td>
Three new methods enable asynchronous test job management without requiring sn_boq record creation:- cancelJobByTracker - progressFromTracker - startJob
Use these methods when you start a test run with startJobAsync and only have the rootTrackerId; no need to poll for a sn_boq record.
</td></tr><tr><td>
Product Catalog Management
</td><td>
v20.0
</td><td>
2026-07
</td><td>
CatalogSearchAPI - Scoped, Global
</td><td>
-
CatalogSearch() constructor
-
getCatalogData()
Though identically named, to CatalogSearch, the new CatalogSearchAPI is used within the product catalog use case, with additional capabilities relevant to TMF-aligned product and service offerings.
Note: The Product Catalog Search API REST API wraps this Server API.
</td></tr><tr><td>
Lead to Cash Core
</td><td>
v0.1
</td><td>
2026-05
</td><td>
ConsolidationService - Scoped, Global
</td><td>
-
canConsolidateEntity()
-
canConsolidateJSONs()
-
canMergeEntity()
-
consolidate()
-
enableConsolidation()
-
getHashConfig()
-
getPrimary()
-
overrideAttributeValues()
-
postHierarchyConsolidation()
-
preProcess()
</td></tr></tbody> </table><table><thead><tr><th>
API
</th><th>
Endpoints
</th></tr></thead><tbody><tr><td>
</td><td>
-
DELETE /now/attachment/{attachment_sys_id}/attributes
-
DELETE /now/attachment/{attachment_sys_id}/attributes/{attribute_key}
-
GET /now/attachment/{attachment_sys_id}/attributes/{attribute_key}
-
GET /now/attachments/{attachment_sys_id}/attributes
-
PATCH /now/attachment/{sys_id}
-
POST /now/attachment/{attachment_sys_id}/attributes
-
PUT /now/attachment/{attachment_sys_id}/attributes/{attribute_key}
</td></tr><tr><td>
</td><td>
POST /now/helprequest/action/create_or_update
</td></tr><tr><td>
</td><td>
-
POST /now/atf/code_coverage/all
-
POST /now/atf/code_coverage/by_line_number
-
POST /now/atf/code_coverage/by_script_id
</td></tr><tr><td>
</td><td>
-
POST /api/sn_csm_pricing/{api_version}/pricingengine/computePrice
-
DELETE /api/sn_csm_pricing/pricingengine/pricing_context/{pricing_context_id}
</td></tr></tbody> </table>|API|Operations| |—|———-| |Warranty Claims SOAP API|ProcessRepairOrder: A STAR SOAP operation used to process and exchange repair operation–level information between systems in a standardized STAR XML format.|
</td></tr></tbody> </table>## Changes
Between your current release family and Australia, some changes were made to existing API features.
<table class=“custom-rows”><thead><tr><th class=“filter”>
Release
</th><th>
Release notes
</th></tr></thead><tbody><tr><td>
Zurich
</td><td>
<table><thead><tr><th>
Class
</th><th>
Methods
</th></tr></thead><tbody><tr><td>
</td><td>
Support for copying any attributes from source attachment records and deleting attributes with attachments.- copy() - copy(targetFieldName) - copyAttachmentsByFieldNames() - deleteAllAttachment() - deleteAttachment()
</td></tr><tr><td>
</td><td>
Enable the referenceItems properties of the incoming payload to be populated before identifying a CI using the IRE rules defined on a class.- createOrUpdateCI() - createOrUpdateCIEnhanced() - identifyCIEnhanced()
</td></tr><tr><td>
</td><td>
send() - Added a return value and error handling.
</td></tr><tr><td>
RESTMessageV2 - Scoped, Global
</td><td>
setHttpMethod() - Added support for HEAD method calls via the method parameter.
</td></tr></tbody> </table><table><thead><tr><th>
Class
</th><th>
Methods
</th></tr></thead><tbody><tr><td>
</td><td>
Remove support for groups in Dynamic Schema.- addAggregate() - addHaving() - getDynamicAttributeValue() - getDynamicAttributeDisplayValue() - getValue() - groupBy() - orderBy() - orderByAggregate()
</td></tr><tr><td>
GlideDynamicAttribute - Global
</td><td>
Remove support for groups in Dynamic Schema. - getGroupName() - getName() - getPath() - getType() - isTransient()
Remove getSysId().
Remove GlideTransientDynamicAttribute API documentation because GlideDynamicAttribute and GlideTransientDynamicAttribute APIs provide the same solution.
</td></tr><tr><td>
</td><td>
Remove support for groups in Dynamic Schema.- addQuery() - getDisplayValue() - getDynamicAttribute() - getDynamicAttributeDisplayValue() - getDynamicAttributeValue() - getValue()orderBy() - orderByDesc() - setDisplayValue() - setDynamicAttributeDisplayValue() - setDynamicAttributeValue() - setDynamicAttributeValues() - setValue()
</td></tr><tr><td>
</td><td>
Support for copying any attributes from source attachment records and deleting attributes with attachments.- copy() - copy(targetFieldName) - copyAttachmentsByFieldNames() - deleteAllAttachment() - deleteAttachment()
</td></tr><tr><td>
IdentificationEngineScriptableApi - Global
</td><td>
Enable the referenceItems properties of the incoming payload to be populated before identifying a CI using the IRE rules defined on a class.- createOrUpdateCI() - createOrUpdateCIEnhanced() - identifyCIEnhanced()
</td></tr><tr><td>
RESTMessageV2 - Scoped, Global
</td><td>
setHttpMethod() - Added support for HEAD method calls via the method parameter.
</td></tr></tbody> </table>
</td></tr><tr><td>
Australia
</td><td>
The following tables lists changed API classes and methods in Australia and ServiceNow Store.
</td></tr></tbody> </table>## Removed
Between your current release family and Australia, some API features or functionality were removed.
<table class=“custom-rows”><thead><tr><th class=“filter”>
Release
</th><th>
Release notes
</th></tr></thead><tbody><tr><td>
Zurich
</td><td>
No updates for this release.
</td></tr><tr><td>
Australia
</td><td>
No updates for this release.
</td></tr></tbody> </table>## Deprecations
Between your current release family and Australia, some API features or functionality were deprecated.
<table class=“custom-rows”><thead><tr><th class=“filter”>
Release
</th><th>
Release notes
</th></tr></thead><tbody><tr><td>
Zurich
</td><td>
-
The GlideEncrypter API no longer supports Triple Data Encryption Standard (3DES) due to updated NIST 800-131A Rev 2 guidelines.
-
For existing instances that upgrade to the Zurich release, the GlideEncrypter API is available for use but has been updated to automatically use the Key Management Framework algorithm. See GlideEncrypter - Global (deprecated) for more information on how to continue calling this API.
-
For all new instances created starting with the Zurich release, the GlideEncrypter API is no longer supported. Directly use the Key Management Framework instead for all cryptography operations.
-
-
Dynamic groups have been removed from dynamic schema in Core Platform. For dynamic attributes defined with an associated dynamic attribute group before the Zurich release, the GlideDynamicAttribute getGroupName() method originally designed for dynamic attribute groups continues to work for backwards compatibility.
The getGroupName() method returns null for migrated attributes and newly created attributes.
Customers are urged to migrate to the current Dynamic Attribute definitions to take advantage of future improvements in features and functionality. For migration details, see the Dynamic Schema Zurich Migration Guide [KB2146133] article in the Now Support Knowledge Base.
-
For existing instances that upgrade to the Zurich release, the GlideEncrypter API is available for use but has been updated to automatically use the Key Management Framework algorithm. See GlideEncrypter - Global (deprecated) for more information on how to continue calling this API.
-
For all new instances created starting with the Zurich release, the GlideEncrypter API is no longer supported. Directly use the Key Management Framework instead for all cryptography operations.
</td></tr><tr><td>
Australia
</td><td>
-
NowAnalyticsService, NowAnalyticsServiceDelegate, and SNMobileAnalytics have been removed from Mobile SDK - iOS.
-
NowAnalyticsSDK has been removed from Mobile SDK - Android.
-
GlideElementDynamicAttribute has been removed. Use other GlideElement instances corresponding to an attribute's type instead.
</td></tr></tbody> </table>## Activation information
Review information on how to activate API.
<table class=“custom-rows”><thead><tr><th class=“filter”>
Release
</th><th>
Release notes
</th></tr></thead><tbody><tr><td>
Zurich
</td><td>
-
Activation information
The following APIs are available by default:
- Identification and Reconciliation - IdentificationEngine - IdentificationEngineScriptableApi - GlideDynamicAttribute - GlideDynamicAttributeStore - GlideDynamicNamespace - GlideCurrencyCode - GlideCurrencySymbol - GlideForm \(Next Experience\) - GlideModal \(Next Experience\) - GlideNavigation \(Next Experience\) - GlideQueryCondition - GlideRecord - GlideSysAttachment - GlideUser\(Next Experience\) - StopWatch \(Next Experience\)
The following APIs require plugin activation:
- ProducerV2 requires the ServiceNow Stream Connect Installer plugin \(com.glide.hub.stream\_connect.installer\). - Product Order Open API requires the Order Management for Telecommunications \(sn\_ind\_tmt\_orm\) plugin. - Service Order Open API requires the Order Management for Telecommunications \(sn\_ind\_tmt\_orm\) plugin. - The Omnichannel Callback API requires the Omnichannel Callback \(omnichannel\_callback plugin\) plugin. - Party Management Open API requires the Telecommunications Open APIs \(sn\_tmf\_api\) and Customer Service Management \(com.sn\_customerservice\) plugins. - The SegmentHandle, SegmentHandler, and sn\_erp\_integration API APIs require the Zero Copy Connector for ERP \(com.sn\_erp\_integration\) plugin.
</td></tr><tr><td>
Australia
</td><td>
-
Activation information
The following APIs are available by default:
- ATF Code Coverage API - Attachment API - GlideAggregate - GlideDate - GlideTime - GlideElement - GlideElementDescriptor - GlideElementDynamicAttributeStore - GlideForm - GlideForm\(Next Experience\)
The following APIs require plugin activation:
- CopyDynamicSchemaAPI API requires the Dynamic Schema Support \(com.glide.dynamic\_schema\) plugin. - Help Request API requires the Interactions Management \(com.glide.interaction\) plugin. - MIDHermesProducer requires the MID Hermes API \(com.glide.mid.hermes\_api\) plugin. - Party Management Open API requires the Customer Service Base Entities \(com.snc.cs\_base\) plugin. - Wrap Up API requires the requires the Interactions Management \(com.glide.interaction.awa\) plugin. - WSD Presence API requires the Workplace Service Delivery Core \(com.sn\_wsd\_core\) plugin. - WSD Unified Search API requires the Workplace Service Delivery Core \(com.sn\_wsd\_core\) plugin. - WSD User API requires the Workplace Service Delivery Concierge \(com.sn\_wsd\_concierge\), Workplace Service Delivery Core \(com.sn\_wsd\_core\), and Workplace Service Delivery Reservation \(com.sn\_wsd\_rsv\) plugins.
</td></tr></tbody> </table>## Additional requirements
If any additional requirements were introduced or changed for API we have noted them here.
<table class=“custom-rows”><thead><tr><th class=“filter”>
Release
</th><th>
Release notes
</th></tr></thead><tbody><tr><td>
Zurich
</td><td>
No updates for this release.
</td></tr><tr><td>
Australia
</td><td>
No updates for this release.
</td></tr></tbody> </table>## Browser requirements
If any specific browser requirements were introduced or changed for API we have noted them here.
<table class=“custom-rows”><thead><tr><th class=“filter”>
Release
</th><th>
Release notes
</th></tr></thead><tbody><tr><td>
Zurich
</td><td>
No updates for this release.
</td></tr><tr><td>
Australia
</td><td>
No updates for this release.
</td></tr></tbody> </table>## Accessibility information
Review details on accessibility information for API, such as specific requirements or compliance levels.
<table class=“custom-rows”><thead><tr><th class=“filter”>
Release
</th><th>
Release notes
</th></tr></thead><tbody><tr><td>
Zurich
</td><td>
No updates for this release.
</td></tr><tr><td>
Australia
</td><td>
No updates for this release.
</td></tr></tbody> </table>## Localization information
If there are specific localization considerations for API we have noted them here.
<table class=“custom-rows”><thead><tr><th class=“filter”>
Release
</th><th>
Release notes
</th></tr></thead><tbody><tr><td>
Zurich
</td><td>
No updates for this release.
</td></tr><tr><td>
Australia
</td><td>
No updates for this release.
</td></tr></tbody> </table>## Highlight information
If there are specific highlight considerations for API we have noted them here.
<table class=“custom-rows”><thead><tr><th class=“filter”>
Release
</th><th>
Release notes
</th></tr></thead><tbody><tr><td>
Zurich
</td><td>
-
Use server-side JavaScript APIs in scripts to change the application functionality.
-
Run client APIs whenever a client-based event occurs, such as when a form loads, a form is submitted, or a field value changes.
-
Use inbound REST APIs to interact with various ServiceNow functionalities within your application.
-
Client Next Experience APIs include client APIs compatible with the Next Experience UI.
See API implementation and reference for more information.
</td></tr><tr><td>
Australia
</td><td>
-
Use server-side JavaScript APIs in scripts to change the application functionality.
-
Run client APIs whenever a client-based event occurs, such as when a form loads, a form is submitted, or a field value changes.
-
Use inbound REST APIs to interact with various ServiceNow functionalities within your application.
-
Client Next Experience APIs include client APIs compatible with the Next Experience UI.
See API implementation and reference for more information.
</td></tr></tbody> </table>Parent Topic:Products combined by family
Keep exploring.
Find another answer, or bring this documentation into your own tools.