Changelog

NocoDB Scripts API changelog and version history

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

February 17, 2026

  • Links as LinkToAnotherRecord (LTAR) Support - Links fields now return full linked record data instead of just counts
    • All record query methods automatically include complete linked record information (id and display value)
    • Applies to table.selectRecordsAsync(), view.selectRecordsAsync(), table.selectRecordAsync(), and view.selectRecordAsync()
    • For Has-Many (HM) and Many-to-Many (MM) relationships, linked records are now returned as LazyRecordQueryResult objects earlier used to return only counts.
    • For Belongs-To (BT) and One-to-One (OO) relationships, linked records are returned as complete record objects as before.
    • Note: This is automatically enabled for all scripts - no code changes required

January 29, 2026

Script Settings Enhancement

  • Default Values for Configuration Items - All input.config methods now support 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 text input: default: 'Weekly Report'
    • input.config.number() - Pre-fill number input: default: 7
    • input.config.select() - Pre-select dropdown option: default: 'medium'
    • Default values are applied when users haven't provided a value, making scripts easier to use with sensible defaults

October 03, 2025

Input Methods Enhancement

  • Default Values for input.textAsync() - Added optional defaultValue parameter in options object
    • Example: await input.textAsync('Enter name:', {defaultValue: 'Anonymous'})
    • Pre-fills the input field with a default value that users can accept or modify
  • Default Values for input.selectAsync() - Added optional defaultValue parameter
    • Example: await input.selectAsync('Select option:', options, defaultValue)
    • Pre-selects an option in the dropdown menu

External Package Imports

  • Dynamic Import Support - Scripts can now import external JavaScript packages from CDN using dynamic imports
    • Use await import('package-name') syntax to load external libraries
    • Example: const _ = await import('lodash') or const dayjs = await import('dayjs')
    • Supports popular CDNs: esm.sh (default), unpkg, skypack, jsdelivr
    • Enables use of libraries like lodash, dayjs, axios, etc.
    • Note: Only dynamic imports are supported; static imports are not available

July 28, 2025

Script Steps API

  • Added script object - New global object for creating visual steps
  • script.step(config) - Create and start steps with rich customization options
    • Support for titles, descriptions, icons, and colors
    • Automatic step management (previous step ends when new step starts)
    • String shorthand: script.step('Step Title') or full config object
  • script.clear() - Manually end the current step
  • script.colors - Predefined color constants (red, blue, green, yellow, purple, orange, gray)
  • script.icons - Comprehensive icon library with 100+ icons across different categories.

Improvements

  • Increased script timeout to 30 Minutes

June 30, 2025

Initial Scripts Release

  • base object - Access to base metadata and configuration
  • table object - Create, Read operations on tables
  • record object - Rich record manipulation capabilities
  • field object - Field metadata and validation
  • input object - User input collection methods
  • output object - Rich output formatting options
  • fetch function - HTTP requests to external APIs
  • session object - Script execution context and state

Core Functionality

  • JavaScript runtime - Full ES6+ support
  • Async/await support - Modern asynchronous programming
  • Error handling - Comprehensive error reporting
  • Type safety - TypeScript definitions for all APIs

Support and Resources

For questions about specific API changes or migration help, please reach out to our community or support team.