@servicenow/sdk — Release Notes
Version: 4.9.0
Availability: npm — https://www.npmjs.com/package/@servicenow/sdk
🚀 Overview
Version 4.9.0 is primarily a maintenance and bug-fix release, with a large batch of transform and build pipeline reliability fixes across Flow, ClientScript, ImportSet, SLA, and other plugins. It also includes a few smaller additions: multi-language choice labels, TestingLibrary support for UI component ATF tests, and Now Assist Skill Kit provider updates.
Type System
Multi-language choice labels (#56)
Choice fields now support supplying labels in multiple languages, so a single Fluent definition can produce translated sys_choice records instead of requiring separate per-language records. Thanks to everyone who weighed in on the community discussion for this one!
Table index definitions allow platform default columns
Table index definitions can now reference platform default columns (e.g. sys_created_on), not just developer-defined ones.
Form table_field element accepts arbitrary field names
The field property on Form's table_field element now accepts any string, so tables with schema the SDK can't fully resolve (e.g. cross-scope extends chains without a locally fetched dependency) no longer fail the build on valid field names.
AI Agent Studio & Agentic Workflows
- Added
protectionPolicysupport toAiAgent/AiAgenticWorkflow. - Fixed a transform crash on legacy
sn_aia_agent_configXML that was missingpublicoragent_learningboolean fields. - Fixed a descendant-only table transform that emitted an invalid shape and could fail the build.
- Fixed missing
advanced_modefield handling so agent configs without it no longer error.
Playbooks
- Fixed a wrong default value in the built-in
new-record-formactivity definition that could cause a cycle and out-of-memory error during transform.
ATF Testing
TestingLibrary support in ATF UI test scripts
Adds the atf.uiTestScript.runTest() ATF test step, letting custom UI components (React/Angular widgets, now-* web components, SPAs) be tested with the TestingLibrary API directly from a .now.ts test.
Now Assist Skill Kit
- Added support for additional LLM providers:
Now LLM LTS Generic,Google Cloud Vertex AI(alias of Google Gemini), andAmazon Bedrock(alias of AWS Claude) — plus new model options (gpt-5-mini,gemini_small,claude-haiku-4-5,llm_generic_small_v2-lts). - Fixed provider resolution during transform for skills where multiple providers (e.g. Azure, Google, Bedrock) share a single capability definition — each configuration's own provider now resolves correctly instead of falling back to the definition's default.
Bug Fixes
ClientScript
- Preserve the
orderfield on ClientScript transform/build instead of resetting it. - Preserve field values for all event types, and downgraded an overly strict error diagnostic to a warning.
Transform / Build Pipeline
- Numeric and reference fields in
ImportSetandSLAno longer silently revert to their default value when a valid value is provided. - Fixed invalid gzip data produced when transforming a bad/corrupted attachment.
- Fixed
use_reference_qualifiernot defaulting tosimplewhen unset on input XML. - Fixed the column plugin dropping the "edge encryption" attribute during transform.
- Fixed
FieldListColumntransform and added missing parent table definitions forsys_report. ScheduledScript: fixed invalidrun_time(andrun_period/max_drift/offset) output whenexecutionTime,executionInterval,maxDrift, oroffsetwere passed as plain objects (e.g.{ hours: 9, minutes: 30 }) instead of theTime()/Duration()helpers — both forms now produce correct output.
Roles & Access
- Added
federatedIdsupport toRole.
Flows
- Fixed the Look Up Record action's compiled output emitting its parameter under the wrong internal name (
dont_fail_flow_on_error). - Fixed action table definitions creating multiple records instead of updating a single record.
- Fixed record-format flow files splitting companion records between
sys_hub_flowandsys_hub_flow_snapshotmodel references, which could produce a "Corrupted flow" error. Introducedmain_snapshotsupport so Flow/Action definitions no longer generate a new snapshot on every rebuild. - Fixed action step sequence numbering not starting from 1 in the Workflow Studio canvas for adapter subflows.
- Added the missing
allow_high_security_rolesfield to the Flow type definition, fixing transform failures. - Fixed
endFlowused inside "Do the following in parallel" throwing build errors. - Fixed
wfa.flowLogic.elseIfsteps not rendering after build. - Fixed a complex object input issue for Spoke actions.
- Fixed inline scripts inside
TemplateValuebeing converted to a plain string in both the build and transform directions. - Fixed
FieldListColumn'sdependentattribute not honoring its non-mandatory setting. - Fixed Subflow/Action inputs and outputs of type Choice changing from "Dropdown with None" to "Dropdown without None".
- Fixed
internalNamehandling for Flow and Action definitions. - Added a fallback to the Record API when Flow/Action hoisting can't be detected.
- Fixed the Flow "post install" hook to publish only the flows in the project instead of all flows in the scope.