Send your request Join Sii

ServiceNow has released a new version of NowPlatform called Tokyo, which promises to help companies face new business challenges arising from challenging economic times. Tokyo was built for companies that understand the benefits of digital transformation. The platform will help increase work automation and security and provide a better experience for employees and customers.

The following article will summarize the changes that the Tokyo version introduced and why they are worth taking a look at.

New JavaScript engine

The most exciting change in the latest Tokyo version is the adjustment of the JavaScript engine from ECMAScript5 to ECMAScript 2021 (ES12) JavaScript. Until now, ECMAScript 2021 (ES12) could be used in scoped applications and scripts, while the new standard enables the following features on the platform:

  • default function parameters,
  • Const declaration,
  • Let declaration,
  • Arrow functions,
  • Class declarations,
  • For-of loops,
  • Rest parameters,
  • template literals,
  • destructuring,
  • map set,
  • and optional chaining operator.
Adjustment from ECMAScript5 to ECMAScript 2021
Fig. 1 Adjustment from ECMAScript5 to ECMAScript 2021

New IP address type

The second new feature in the Tokyo version is supporting the migration of IP addresses, which are stored as strings, to the new IP Address (Validated IPV4, IPV6) type. The new IP type will store valid IPv4 and IPv6 addresses.

The data is formatted according to the dictionary attribute ip_data_control and can be set to one of the four values:

  • Canonical – IP addresses are checked and canonicalized before entering the database. Any non-valid IP addresses are rejected.
  • Canonicalize when_possible – proper IP addresses are canonicalized before entering the database, but also invalid IP addresses are able to enter without being changed.
  • Expanded – IP addresses are validated and stored, and expanded and not valid IP addresses are rejected.
  • None – There is no validation here, it should be used only in an emergency as it reverts to a string field.
Supporting the migration of IP addresses
Fig. 2 Supporting the migration of IP addresses

System localization fallback language

Another new feature is a fallback language, which will help in situations where the UI is not translated into the language needed by the user. You need the administrator role to set the language. There is no need to add custom translations in user interface strings. Users will get the most suitable translations and if any of the translations is unavailable, then the instance session will use English.

Admins can set fallback languages on the Languages (sys_language) table, but English cannot be chosen there as it is the default language. If fallback language is not preferred, it is possible to set glide_i18n.language_fallback_enabled as false and then the language is always set to English.

Setting fallback language
Fig. 3 Setting fallback language

Sys log tampering prevention

The new Tokyo release also gives the possibility to configure system rules to prevent sys log tampering. From the current version, all manipulation over sys logs tables will be visible. To start the protection, you need to activate com.glide.protected_tables plugin. For now, protection rules are available for the following tables and their children: syslog, syslog_transaction, sys_outbound_http_log, sysevent, sys_audit, sys_push_notification, protected_table_configuration.

After plugin activation, any attempt of deleting or changing logs from those tables will be visible as log records on protected_table_log table. It is possible to choose if we want to block modifications and log attempts, not block modifications but still log the attempts, or block modifications without logged attempts.

Protected Tables
Fig. 4 Protected Tables
Admin Panel for Log Protection
Fig. 5 Admin Panel for Log Protection

Safe records deleting and updating

Since the Tokyo release, it is possible to safely delete or update records. We need a scheduled job to delete records. After creation, but before execution of the job, you can preview all affected records. Even after the job has ended, we can still use rollback and restore deleted records.

Deleting a bigger number of records is also possible thanks to the table cleaner. Table cleaner is a type of scheduled job that helps remove all old records and maintain a number of records in the table. It runs once per hour and deletes all old, expired, and unneeded records. Table cleaner cannot be used for tables that are configured to use table extension or rotation. Table cleaner deletes records by 20 minutes session, the number of deleted records can be different if queries are slow.

Bulk updates without scripting are also possible. To perform it, we need to create an updated job. To prevent the table from being locked during the job execution we should add some conditions to limit updated records. Also, here it is possible to check records before updating and restore them by rollback if needed. The rollback can be performed by the Admin.

Delete Job function
Fig. 6 Delete Job function

New scoped cache API

In the Tokyo release, we also get ScopedCacheManager API for faster access to data stored in memory. To retrieve, set or flush cache the com.glide.scopedcache plugin need to be activated by the Admin user. To be able to use it, one or more cache or cache pairs need to be chosen. For now, we can use table pair cache, table row pair cache, table column pair cache, or table column and row pair cache.

ScopedCacheManager API gives us a few advantages, like the possibility to use cache data outside the transaction cycle and caching output of valuable operations for quick use in the future.  We can also cache strings to have access to it or applications that can be flushed depending on changes in the underlying tables.

Ryc. 7 ScopedCacheManager
Scoped Cache Table Pair
Ryc. 8 Scoped Cache Table Pair

Support for system localization

The Tokyo release also made changes in core platform ServiceNow, the first of which is the system localization. Localization helps accommodate users from around the world on the same instance. Information like time, date or currencies can be specified and based on a location. ServiceNow supports many languages but it is also possible to provide your own translations, especially for custom-made modifications or applications.

Scoped Cache Table Pair
Fig. 9 Scoped Cache Table Pair


Since the Tokyo version, we can use a side bar in Conversational Interfaces. With the sidebar workspace, agents can open real-time discussions on interaction or task table-based records. For now, it is possible to create one discussion per record.

Sidebar can be used in:

  • CSM Configurable Workspace,
  • CSM Manager Workspace,
  • HR Agent Workspace,
  • ITSM Manager Workspace,
  • and Vendor Management Workspace.
Introducing Sidebar
Fig. 10 Introducing Sidebar


I hope that the numerous changes and improvements introduced on the ServiceNow platform in the Tokyo version will affect the ease and efficiency of using the tool in everyday work. I encourage you to try them.



If you are interested in ServiceNow, we recommend our expert’s article:

5/5 ( votes: 3)
5/5 ( votes: 3)
Maria Cabel

Administrator and Developer at ServiceNow, an archaeologist by training, RPG player in her free time.

Leave a comment

Your email address will not be published. Required fields are marked *

You might also like

More news

Don't miss out

Subscribe to our blog and receive information about the latest posts.

Get an offer

If you have any questions or would like to learn more about our offer, feel free to contact us.

Send your request Send your request

Natalia Competency Center Director

Get an offer

Join Sii

Find the job that's right for you. Check out open positions and apply.

Apply Apply

Paweł Process Owner

Join Sii


Ta treść jest dostępna tylko w jednej wersji językowej.
Nastąpi przekierowanie do strony głównej.

Czy chcesz opuścić tę stronę?