Changelog
This page documents all changes to the NocoDB Scripts API, including new features, improvements, bug fixes, and breaking changes.
February 17, 2026
Links Field Enhancement
- 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(), andview.selectRecordAsync() - For Has-Many (HM) and Many-to-Many (MM) relationships, linked records are now returned as
LazyRecordQueryResultobjects 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.configmethods now support an optionaldefaultparameterinput.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: 7input.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 optionaldefaultValueparameter 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
- Example:
- Default Values for
input.selectAsync()- Added optionaldefaultValueparameter- Example:
await input.selectAsync('Select option:', options, defaultValue) - Pre-selects an option in the dropdown menu
- Example:
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')orconst 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
- Use
July 28, 2025
Script Steps API
- Added
scriptobject - 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 stepscript.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
baseobject - Access to base metadata and configurationtableobject - Create, Read operations on tablesrecordobject - Rich record manipulation capabilitiesfieldobject - Field metadata and validationinputobject - User input collection methodsoutputobject - Rich output formatting optionsfetchfunction - HTTP requests to external APIssessionobject - 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
- Documentation: Scripts API Reference
- Examples: Script Examples
- Community: NocoDB Forums
- Issues: GitHub Issues
For questions about specific API changes or migration help, please reach out to our community or support team.
Last updated on
Latest product updates?See Changelog