Skip to main content
Big news! Interval has been acquired by Meter. Learn more →

Changelog

Features, improvements, SDK releases, and more.

Get 1-2 emails per month with a roundup of product updates, SDK releases, and more.

Filtered by tag:SDK

New:

  • Added new io.input.slider IO method to request a number with a range slider control.
  • Added new io.display.html method to display rendered HTML to the user.
  • Added user.role and user.teams properties to ctx for the current user running the action or viewing the page.
  • Added warnOnClose property to the action definition, set to false to suppress the default behavior of warning the user when leaving or restarting an in-progress transaction.

New:

  • Added ctx.redirect() support to Page handlers.
  • Added replace property to ctx.redirect() to replace the current entry in the user's history stack, like history.replaceState.
  • Added highlightColor property to io.display.table and io.select.table's renderCell method to highlight a cell's background and text colors.
  • Added a global onError callback to the Interval constructor, perfect for logging or reporting to error services.
  • Page handlers can now return undefined or None to conditionally opt out of custom layouts and fall back to rendering the default index.
  • Markdown is now supported in io.display.table and io.select.table cells and in any input IO methods' helpText properties.

Fixed:

  • Improved retry and timeout behavior, preventing large payloads from saturating connection to Interval.
  • Fixed issues with Pages showing up in the dashboard sidebar in some cases when they shouldn't.
  • Fixed .validate() calls when chained after .withChoices() calls.

Breaking changes:

  • The ctx.environment property now shows the specific environment that the Action or Page is running in, instead of just "live" or "development".

New:

  • Added withChoices() chained method to io.group and other IO methods to allow for customizing the "Continue" buttons to enable branching logic and more advanced workflows. See Submit buttons for more information.
  • Added support for ECMAScript Modules (ESM) when using file-based routing with routesDirectory with Node.js.

Fixed:

  • The ctx.action.url property and Interval client startup message now display the correct URL for custom environments.
  • Fixed an issue with the dashboard sidebar not showing up for some Page configurations.

Breaking changes:

New:

  • Added support for a preview UI that preserves action context across IO method calls and removes the need to "Continue" for display-only informational renders. Please let us know if you would like to test this feature before general availability!
  • Added the .safelyClose() method to Interval to safely shut down a deployment without losing work or interrupting users.
  • The defaultValue property for all supported IO methods now also accept null in addition to undefined.
  • Added copy and download buttons to io.display.code, io.display.object, and code blocks in io.display.markdown.
  • Added inline IDE documentation to IO methods.

Fixed:

  • Fixed an issue with some userland errors not being surfaced in Pages.
  • Many small fixes and UI improvements!

New:

  • Added io.display.grid method for visually focused collections of data, usually with an emphasis on images.
  • Added isFilterable and isSortable props to io.display.table and io.select.table for disabling filtering and sorting if desired — this can be useful for tables with asynchronous data.
  • Added quiet logging level to the Interval client to reduce terminal console logging, enable by adding logLevel: "quiet" property to the Interval constructor.
  • The string shorthand for columns and accessorKey values in io.display.table and io.select.table are now type checked against your input data. Rest assured knowing that your columns are defined in your data!

Fixed:

New:

  • Pages, a lightweight way to display data to complement actions, are now in public beta!
  • Introducing Interval Direct Connect! In all previous Interval versions connections between your app and your users' browsers are relayed through Interval. We're removing this relay step, allowing for a direct connection under the hood between your app and your users. We're still finalizing benchmarks, but the early results from our internal testing indicate that this will be the single biggest upgrade to the performance of Interval apps so far. This new functionality is currently in private beta. If you'd like to try the Direct Connect beta, let us know and we'll enable it for your account.

548 Market St PMB 31323
San Francisco, CA 94104

© 2023

Join our mailing list

Get 1-2 emails per month with a roundup of product updates, SDK releases, and more.