Changelog

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

February 17, 2026

  • 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

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

Last updated on

Latest product updates?See Changelog
Stay in the loop? Follow us onLinkedInLinkedInYouTubeYouTubeXX