@servicenow/sdk — Release Notes
Version: 4.14.2
Availability: npm — https://www.npmjs.com/package/@servicenow/sdk
🚀 Overview
Version 4.14.2 is a patch release that adds ranked fuzzy search to now-sdk explain, adds a --timeout option to now-sdk init, speeds up builds of large apps, and fixes credential storage on Linux systems that use KWallet. It also stabilizes catalog transform and build output, fixes a transform issue for apps with UI pages, and updates the SDLC, table and ATF docs.
CLI
Fuzzy search in now-sdk explain
When a topic has no exact match, explain now falls back to a ranked search across doc names, tags and doc contents. Use --range to choose which ranked results to show: --range 7 shows the first 7, and --range 3-7 shows results 3 through 7.
now-sdk explain "reusable test" --range 3--timeout for now-sdk init
init now accepts --timeout (in seconds, default 3600), the maximum time to wait for the instance to respond. This helps when initializing from large apps on slow instances.
Credential encryption key source
In 4.14.0, the key that encrypts credentials.enc was stored in the OS keyring as raw bytes. Linux Secret Service backends such as KWallet treat secrets as text, so the key could come back corrupted, leaving saved credentials unreadable, and resetting did not help. The key is now stored as base64 text, which works on every backend.
- Existing 4.14.0 keys on macOS and Windows keep working. No action is needed.
- Keys already corrupted on KWallet can't be recovered, but a reset now succeeds.
- For containers and CI with no usable keyring, set
SN_SDK_KEY_SOURCE=envand provide a base64-encoded 32-byte key inSN_SDK_ENCRYPTION_KEY.now-sdknever generates or stores this key. An unrecognizedSN_SDK_KEY_SOURCEvalue now produces an error instead of silently falling back to the keyring.
export SN_SDK_KEY_SOURCE=env
export SN_SDK_ENCRYPTION_KEY=$(openssl rand -base64 32)⚠️ Compatibility: upgrade all projects to 4.14.2 or later. The key is stored under the same keyring entry (
now-sdk-credentials-key) that 4.14.0 uses, but in a new format. 4.14.2+ reads both formats; 4.14.0 reads only the old one. If you run differentnow-sdkversions on the same machine (for example, several projects pinned to different versions), a key written by 4.14.2+ can't be read by 4.14.0. That version then reports that stored credentials couldn't be read and offers a reset, which deletes saved profiles, has you re-authenticate, and writes a key in the old format. Existing 4.14.0 keys are not rewritten when 4.14.2 reads them, so the mismatch appears only when a new key is created (first-time setup, a reset, or recovery from a corrupted key), not on upgrade alone. To avoid it, upgrade every project on the machine to 4.14.2 or later.
Build Performance
Faster builds for large apps
Key parsing is optimized, making builds up to 50% faster for very large apps with thousands of files.
Bug Fixes
Transform
- Running
now-sdk transformon an app with UI pages now runs the UI prebuild first, so static content is available and the transform no longer fails or produces incomplete output.
Service Catalog
- Transforming and rebuilding a catalog app now produces stable output. Previously, a second transform and build of a catalog app could produce different output or fail with an undefined identifier.
- Client scripts and UI policies that referenced a variable set could point to an undefined identifier when the set's title and name differed.
- Variable references from XML-based records now appear as
<container>.variables.<name>instead of a raw sys_id where possible. - Duplicate variable set, item and record producer names now get a unique suffix.
- Inactive variables no longer cause false name-conflict errors.
- References to deleted variables now use the sys_id.
CatalogUiPolicyand catalog client scripts can now target record producers, andCatalogUiPolicy.catalogItemacceptsCatalogItemRecordProducer.
Build
- Fixed vendor chunk extraction on Windows. Chunk filenames and
keys.tsnow match Linux and macOS, so--frozenKeysno longer fails on Windows builds.
Documentation
- The SDLC guide is updated with new appendices and screenshots.
- The table guide now documents
installMethod: 'demo'for sample, demo and seed data. - ATF documentation is consolidated.