Skip to content

SDK 4.9.0

Latest

Choose a tag to compare

@bryce-godfrey bryce-godfrey released this 17 Jul 21:12

@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 protectionPolicy support to AiAgent/AiAgenticWorkflow.
  • Fixed a transform crash on legacy sn_aia_agent_config XML that was missing public or agent_learning boolean fields.
  • Fixed a descendant-only table transform that emitted an invalid shape and could fail the build.
  • Fixed missing advanced_mode field handling so agent configs without it no longer error.

Playbooks

  • Fixed a wrong default value in the built-in new-record-form activity 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), and Amazon 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 order field 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 ImportSet and SLA no 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_qualifier not defaulting to simple when unset on input XML.
  • Fixed the column plugin dropping the "edge encryption" attribute during transform.
  • Fixed FieldListColumn transform and added missing parent table definitions for sys_report.
  • ScheduledScript: fixed invalid run_time (and run_period/max_drift/offset) output when executionTime, executionInterval, maxDrift, or offset were passed as plain objects (e.g. { hours: 9, minutes: 30 }) instead of the Time()/Duration() helpers — both forms now produce correct output.

Roles & Access

  • Added federatedId support to Role.

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_flow and sys_hub_flow_snapshot model references, which could produce a "Corrupted flow" error. Introduced main_snapshot support 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_roles field to the Flow type definition, fixing transform failures.
  • Fixed endFlow used inside "Do the following in parallel" throwing build errors.
  • Fixed wfa.flowLogic.elseIf steps not rendering after build.
  • Fixed a complex object input issue for Spoke actions.
  • Fixed inline scripts inside TemplateValue being converted to a plain string in both the build and transform directions.
  • Fixed FieldListColumn's dependent attribute 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 internalName handling 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.