Releases: interval/interval-node
Releases · interval/interval-node
v2.0.0
Release for the open source version of https://github.com/interval/server
Breaking changes
- Require the
endpoint
andapiKey
properties in theInterval
constructor.
v1.5.0
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
anduser.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.
v1.4.0
New
- Added
initiallySelected
prop to io.select.table to specify the initial selection state.
v1.3.0
v1.2.0
New
- The ctx loading API (ctx.loading.start, ctx.loading.update, and ctx.loading.completeOne) are now available in Page handlers.
- It is now possible to display asynchronous data values in io.display.metadata.
v1.1.0
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
orNone
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.
v1.0.0
🎉
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 the Branching
logic documentation 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.
v0.38.0
Breaking changes
- The
.close()
method in the Interval class has been renamed to .immediatelyClose() for clarity. - The
interval.actions.enqueue()
andinterval.actions.dequeue()
methods have been moved to simply interval.enqueue() and interval.dequeue() respectively. - The
title
property in ctx.loading.start and ctx.loading.update has been renamed tolabel
for consistency. - The
title
property in the return type of io.display.grid renderItem function has been renamed tolabel
for consistency.
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 acceptnull
in addition toundefined
. - 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!
v0.37.0
New
- Added the .multiple() chained method to io.search and io.input.file, which allows accepting multiple values in a single input.
- Added optional defaultValue property to io.search.
Fixed
- Fixed a phantom import which caused issues in some non-hoisting package managers like pnpm.
v0.36.0
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 theInterval
constructor. - The string shorthand for
columns
andaccessorKey
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
- Errors in asynchronous method state change handlers like io.display.table's getData function are now properly displayed in both the host terminal console and the web dashboard (#19).