# Changelog

> Part of the NocoDB documentation (Workflows > Scripts). Index of all pages: https://nocodb.com/llms.txt. Any docs page is available as Markdown by adding `.md` to its URL.

URL: https://nocodb.com/docs/workflows/scripts/changelog
Last updated: 2026-10-03

The changelog lists all changes to the NocoDB Scripts API by release date.

This page lists all changes to the NocoDB Scripts API: new features, improvements, bug fixes and breaking changes.

## February 17, 2026

#### Links Field Enhancement

* **Links as LinkToAnotherRecord (LTAR) Support**: Links fields now return the full data of linked records. Earlier, they returned only counts.
  * All record query methods automatically include the full linked record information (id and display value).
  * This applies to `table.selectRecordsAsync()`, `view.selectRecordsAsync()`, `table.selectRecordAsync()` and `view.selectRecordAsync()`.
  * For Has-Many (HM) and Many-to-Many (MM) relationships, linked records now come back as `LazyRecordQueryResult` objects. Earlier, these relationships returned only counts.
  * For Belongs-To (BT) and One-to-One (OO) relationships, linked records come back as complete record objects, as before.
  * **Note:** This change applies automatically to all scripts. You do not have to change your code.

## January 29, 2026

#### Script Settings Enhancement

* **Default Values for Configuration Items**: All `input.config` methods now accept an optional `default` parameter.
  * `input.config.table()`: Pre-select a table by ID: `default: 'tbl_abc123'`
  * `input.config.view()`: Pre-select a view by ID: `default: 'vw_xyz789'`
  * `input.config.field()`: Pre-select a field by ID: `default: 'fld_email456'`
  * `input.config.text()`: Pre-fill the text input: `default: 'Weekly Report'`
  * `input.config.number()`: Pre-fill the number input: `default: 7`
  * `input.config.select()`: Pre-select a dropdown option: `default: 'medium'`
  * If the user gives no value, the script uses the default value. Good defaults make scripts easier to use.

## October 03, 2025

#### Input Methods Enhancement

* **Default Values for `input.textAsync()`**: Added an optional `defaultValue` parameter in the options object.
  * Example: `await input.textAsync('Enter name:', {defaultValue: 'Anonymous'})`
  * The input field shows the default value. The user can accept it or change it.
* **Default Values for `input.selectAsync()`**: Added an optional `defaultValue` parameter.
  * Example: `await input.selectAsync('Select option:', options, defaultValue)`
  * The dropdown menu shows this option as selected.

#### External Package Imports

* **Dynamic Import Support**: Scripts can now import external JavaScript packages from a CDN with dynamic imports.
  * Use the `await import('package-name')` syntax to load external libraries.
  * Example: `const _ = await import('lodash')` or `const dayjs = await import('dayjs')`
  * Supported CDNs: esm.sh (default), unpkg, skypack and jsdelivr.
  * You can use libraries such as lodash, dayjs and axios.
  * **Note:** Only dynamic imports work. Static imports are not available.

## July 28, 2025

#### Script Steps API

* **Added `script` object**: A new global object that creates visual steps.
* **`script.step(config)`**: Creates and starts a step, with many options.
  * Supports titles, descriptions, icons and colors.
  * Steps are managed automatically: the previous step ends when a new step starts.
  * Use the string shorthand `script.step('Step Title')` or a full config object.
* **`script.clear()`**: Ends the current step manually.
* **`script.colors`**: Predefined color constants (red, blue, green, yellow, purple, orange, gray).
* **`script.icons`**: An icon library with more than 100 icons in different categories.

#### Improvements

* The script timeout increased to 30 Minutes.

## June 30, 2025

#### Initial Scripts Release

* **`base` object**: Access to base metadata and configuration
* **`table` object**: Create and read operations on tables
* **`record` object**: Many record operations
* **`field` object**: Field metadata and validation
* **`input` object**: Methods that collect user input
* **`output` object**: Many output formatting options
* **`fetch` function**: HTTP requests to external APIs
* **`session` object**: Script run context and state

#### Core Functionality

* **JavaScript runtime**: Full ES6+ support
* **Async/await support**: Modern asynchronous programming
* **Error handling**: Full error reports
* **Type safety**: TypeScript definitions for all APIs

## Support and Resources

* **Documentation**: [Scripts API Reference](/docs/workflows/scripts/api-reference)
* **Examples**: [Script Examples](/docs/workflows/scripts/examples)
* **Community**: [NocoDB Forums](https://community.nocodb.com/)
* **Issues**: [GitHub Issues](https://github.com/nocodb/nocodb/issues)

For questions about specific API changes or help with migration, contact our community or support team.
