Changelog

We're always working to make the Dynaboard experience delightful.

Sign-in with your existing identity provider or use Dynaboard's one-time PIN system.
Sign-in with your existing identity provider or use Dynaboard's one-time PIN system.
  • 🚀  7 new features

  • 🏗  27 updates and improvements

  • 🛠  9 bug fixes

Authentication

  • 🚀 Groups Based Authentication

    • We’ve added support for Google Workspace Groups and GitHub Teams to automatically restrict applications or pages to certain teams or individuals based on existing SSO group membership.

  • 🚀 One-Time Pin Email Authentication

    • Quickly secure your applications without having to integrate a 3rd-party SSO provider. Start building an authenticated private application in less than a minute with our Private App Boilerplate template.

  • 🏗 We made additional visual improvements to the authentication rule building UI to both speed up development and make it easier to spot / correct mistakes.

  • 🏗 Using a new toggle on the built-in Dynaboard console, selectively enforce authentication rules in the editor to speed up application development and testing.

Switching environments in a project using the dropdown selector.
Switching environments in a project using the dropdown selector.

🚀 Environments

On paid plans, we now offer environments support to enable software development best practices when using Dynaboard. All workspaces come with a production environment, and a number of additional environments (e.g. staging, development, etc…) can be configured based on the workspace plan type.

Using environments, every resource in your applications can be configured to swap between databases or API endpoints at the click of a button. Build with confidence knowing you can test every change before deploying it to production.

Browse and revert to earlier project revisions using Dynaboard’s built-in version control.
Browse and revert to earlier project revisions using Dynaboard’s built-in version control.

🚀 Project Revisions

If you make a mistake or discover a bug, use automatically (or manually) created revisions to revert your application to an earlier version. Revisions are supported in applications on all workspaces and automatically save the change history of your applications, so you don’t have to worry about losing unsaved changes.

🚀 Audit Logs

See the full log history of your applications. We keep track of every edit, function invocation, login, and other significant event so you can easily identify what happened (and when) in your applications. Audit logs are available on all paid workspaces with additional history being provided to higher tier plans.

🚀 Template Gallery

We’ve launched a new template gallery, as well as our first application boilerplate, to inspire you with whats possible in Dynaboard and help you build applications even faster than before.

🏗 Performance Improvements

We made performance improvements in multiple areas by reducing application size, tweaking the Dynaboard VM, and streamlining the editor. The following areas have seen performance improvements over the last 8 weeks:

  • Initial load times of deployed applications

  • Initial load times of the editor

  • Function call latency for server-side functions

  • UI responsiveness when toggling between edit and view modes

Editor

  • Component Properties

    • 🏗 Component properties now distinctly show if they have an override value, allow interpolation (i.e. using {{ }}code to dynamically set the value), or are available to be edited in an expanded sidecar editor.

  • Search Engine Indexing with Sitemap.xml

    • 🏗 We’ve improved the generation of a project’s sitemap.xml. Individual pages can now also be excluded from the application’s sitemap in the particular page’s properties panel.

  • Omnibar

    • 🏗 The omnibar is now pre-populated with recently selected components when opening an application.

  • Code Editors

    • 🏗 JSON5 syntax is now fully supported by the code editor.

  • Hotkeys

    • 🏗 Added support for ALT/OPT + [1-9] or ALT/OPT + +/- to navigate between docked property editors.

  • Miscellaneous

    • 🏗 Associated resource icons have been added to functions to improve the editing experience with large numbers of functions.

    • 🏗 On deploy developers are now automatically redirected to the page they were viewing in the editor.

    • 🏗 Improved selection state of properties panels to make it more clear which panel is selected.

    • 🏗 Sidecar editors are now supported for nested propertied (e.g. data table or chart column properties).

    • 🏗 Right clicking on the page in the editor now allows a component to be inserted in that location.

    • 🛠 Pushed bug fixes to the editor that addressed an issue where the incorrect component or page was selected when changing, refreshing, or deleting pages.

    • 🛠 Fixed an issue that caused the components panel to not scroll with large numbers of components.

    • 🛠 Improved handling around a project’s index page that help avoid accidentally breaking an application.

    • 🛠 Addressed issues where paste didn’t work as expected.

    • 🛠 Resolved an issue that caused the user not to be able to change pages in the editor if the page had previously been changed by a browser resource navigation function.

Components

  • Custom Components

    • 🏗 Custom components now support passing functions into their properties. These functions can also call other functions outside of the scope of the component. (e.g. to trigger actions on a page)

  • Data Tables

    • 🏗 Buttons (with attached to functions) are now a supported data table column type.

    • 🏗 Minor tweaks and fixes to improve the default look and feel of the data table.

    • 🛠 Fixed a bug causing incorrect page sizes when paginating data in the data table.

  • Charts

    • 🏗 Stacked column (vertical bar) charts are now supported.

  • Text

    • 🏗 Text nodes now default to middle vertical align.

    • 🏗 Double clicking on text nodes now allows the text to be edited.

  • Dropdown

    • 🏗 The initial selected value of a dropdown can now be dynamic with interpolation (i.e. double curly syntax {{ }} ) support.

    • 🛠 Fixed an issue where the dropdown wasn’t being cleared.

    • 🛠 Fixed an issue where clearing the dropdown could cause the application to crash in certain instances.

Resources

  • GraphQL

    • 🏗 The full error body is now returned when a GraphQL function experiences an error.

  • PostgreSQL

    • 🏗 The PostgreSQL resource now supports multiple SSL Modes including Required, Verify CA, and Verify Full.

  • TypeScript

    • 🏗 Support for setTimeout, clearTimeout, setInterval, and clearInterval has been implemented.

  • TypeScript Server

    • 🏗 Passing function arguments is now supported between Typescript Server functions. Arguments can be passed normally function1("argument0") and accessed inside the function using the new $args array. (e.g. $args[0] == "argument0" with the prior function call of function1("argument0") )

Applications

  • 🚀 Dynaboard applications are now embeddable into other webpages using an <iframe> tag.

Portal

  • 🏗 Workspace deletion is now supported in the general settings tab on a workspace.

  • 🏗 Usage data is now up-to-date and available in the billing section of the dashboard for premium users, standard users, and server-side function calls.

  • 🏗 Adding a payment method is now supported on workspaces with Individual, Team, and Business plans.

  • 🛠 Fixed UI issues related to login when using Dynaboard on mobile.

Dynaboard SOC 2 Type I Compliance
Dynaboard SOC 2 Type I Compliance
  • 🚀  2 new features

  • 🏗  14 updates and improvements

  • 🛠  8 bug fixes

🚀 SOC 2

Dynaboard has achieved SOC2 Type I compliance in accordance with American Institute of Certified Public Accountants (AICPA) standards for SOC for Service Organizations also known as SSAE 18.

The auditor’s report can be made available to customers on paid plans under NDA. The SOC 2 auditor’s report covers controls at Dynaboard relevant to security, availability, processing integrity, and confidentiality / privacy. If you’d like additional information on our general security practices, it is publicly available in the Security Overview section of our documentation.

Please reach out to support@dynaboard.com if you have any questions about our SOC 2 audit report or about signing up for one of our paid Individual, Team, Business, or Enterprise plans.

Components

  • Data Table

    • 🏗 Single objects will now be displayed as a table with a single row rather than throwing an error.

    • 🏗 When provided with invalid data, data tables now provide more clear error messages about the error.

    • 🏗 Datetime columns now display the default format used.

    • Column configuration has been overhauled to better support more complex workflows with:

      • 🏗 The ability to show / hide columns as needed on higher dimensional data sets.

      • 🏗 Support for empty column header names.

      • 🏗 The ability to easily refresh data with a new button on the table.

  • Text

    • 🏗 The text overflow property now supports clip & ellipsis.

    • 🛠 New lines are now respected in text nodes.

  • Dropdown

    • 🛠  Passing an invalid type to a dropdown no longer causes the Dynaboard app to crash.

    • 🏗 Fuzzy filtering is now supported when searching through a dropdown’s values.

    • 🏗 Dropdown now support the selection of a default value.

  • General Component Updates

    • 🛠 Fixed a bug that set component properties as overrides rather than directly setting the value when dragged & dropped.

Resources & Functions

  • GraphQL

    • 🛠 Fixed an issue that caused Dynaboard projects to crash when GraphQL resource functions were called.

  • General Resource Updates

    • 🏗 Empty headers are now filtered out when a resource makes an HTTP request.

Editor

  • Code Editor

    • 🚀  Formatting is now available in code editors across Dynaboard with support for: JavaScript, SQL, JSON / JSON5, and CSS.

    • 🏗 JS objects are now supported inside of interpolation (i.e. the double curly brackets {{ }})

  • Typeahead

    • 🏗 Client-side typeahead now supports the built in: $crypto, _. (lodash), and $delay objects / libraries.

    • 🏗 Server-side typeahead now supports the built in: $event and _. (lodash) objects / libraries.

  • General Functionality

    • 🛠 The browser back and forward buttons now work correctly in the editor experience.

    • 🛠 A issue with undo & redo with CMD/CTRL+Z and CMD/CTRL+SHIFT+Z has been identified and fixed.

    • 🛠 Copy / paste functionality has been tweaked to behave more as expected.

    • 🛠 Node renaming has been made more reliable.

  • Project Export

    • 🏗 Exports are now in YAML instead of JSON and minified for better for line by line diffing when exporting / importing into / out of version control.

Since the last changelog, we’ve been hard at work on tons of usability updates to make building applications a more seamless experience, which include:

  • 🚀 2 new features

  • 🏗 16 updates and improvements

  • 🛠 23 bug fixes

Building better custom forms with the new form container component.
Building better custom forms with the new form container component.

Components

All Components

  • 🏗 Components now support a far more robust set of event triggers to attach functions to, including: Mount, Unmount, Focus, Blur, Hover, Leave, Click, Double Click, Select Row, Refresh, and Wheel.

Data Table

  • 🏗 Column locking and deletion has been replaced with show / hide functionality to make table configuration easier when dealing with large data sets.

  • 🛠 Refreshing the column layout is no longer required when turning off auto-columns for the first time.

  • 🛠 Pagination property labels have been renamed for better clarity.

  • 🛠 Formatting errors affecting table rendering in Safari.

  • 🛠 Dates are no longer auto-formatted as localized datetimes.

  • 🛠 Parsing UNIX epoch timestamps formatted as a string no longer displays an error.

Templates

  • 🏗 Templates (and their instances) now support default scope values as well as modifying scope values directly in the editor. Provide default values for your template that can be used for testing or while live to create a better UI / UX.

  • 🏗 Grid mode is now the default layout mode for new templates.

  • 🏗 New templates are now created with a larger default size (320px x 128px).

  • 🛠 Min-width and max-width are now respected in the editor for templates and set to empty by default.

  • 🛠 While in grid mode, the template canvas is no longer auto-expanded when dropping in new components.

Input

  • 🏗 Input components now support Textarea as a type for multiline text input.

Pages

  • 🏗 Pages now support having the min-width set.

  • 🏗 The drag handles on on the bottom and side of the page canvas now support setting the width and height of the page.

  • 🛠 Improper values in the min-height no longer cause rendering errors on the page.

  • 🛠 Setting 100% max-width has been fixed.

Dropdowns

  • 🛠 Switching the editor between edit and preview mode no longer causes drop-downs to disappear from the page.

Form Container

  • 🚀 We’ve added a new type of container that supports custom layouts of form components, native browser support for OnSubmit handlers, and passing form data to a server.

Containers

  • 🛠 Containers now support none as a drop shadow selection option.

  • 🛠 Support for proper rendering of containers inside of containers has been added.

Resources & Functions

All Resources

  • 🏗 Response messages when testing connection errors now appear in the console for easier debugging of errors.

All Functions

  • 🛠 An intermittent issue causing function timeouts issue has been identified and fixed.

Google Sheets

  • 🛠 An issue causing some google sheets data to not appear in charts or tables when the first items in a column were null has been fixed.

REST API

  • 🏗 Valid HTTP methods can now be selected with a dropdown rather than entered using a freeform text field.

Browser

  • 🛠 Visible toasts no longer block clicks of other components and buttons at the same vertical position on the screen.

  • 🛠 An issue causing the application font to change when a toast was displayed has been identified and addressed.

Editor

Menus

  • 🏗 The sidebar now defaults to an expanded state with labels for better discoverability. It can be collapsed to its original state via the UI or with the hot key CTRL+B.

  • 🏗 Insert resource & insert node menus now have multi-level navigation for better discovery and organization of the growing list of items.

  • 🏗 When dragging nodes out of the toolbar they now appear with their center point under the cursor rather than the top left of the node.

  • 🛠 The Omnibar correctly updates node names as they are changed in the editor.

Secrets

  • 🏗 Secret fields are now hidden (like password fields) by default when inputting them initially.

  • 🛠 Numbers are now supported in secret names.

Controls

  • 🏗 Copy / paste functionality has been improved with toasts showing the relevant node information, the ability to paste immediately after copying, and a new offset when pasting so that nodes don’t exactly overlap each other.

  • 🏗 Error icons now bubble up in the Component panel to help users more quickly identify & address issues.

  • 🛠 Various issues with page reordering and deletion have been addressed.

  • 🛠 Users with only review permissions can now see the app in the editor rather than only the deployed version.

  • 🛠 When a node ID is specified in the editor URL it is now properly highlighted by default in the editor.

Settings

  • 🚀 Add HTML meta tags to the header of your project for better SEO and sharing previews.

  • 🛠 UI issues related to saving the app slug have been fixed.

Code Editors

  • 🛠 Erroneous typeahead errors claiming functions had the wrong number of arguments have been addressed.

New
Tables support formatting for text, date, time, datetime, boolean, and JSON values.
Tables support formatting for text, date, time, datetime, boolean, and JSON values.

Data Table Formatting

  • Support for new column types beyond plain text, including: date, time, datetime, boolean, and JSON.

  • Automatically detect or explicitly control how and when column types are rendered.

  • Enable resizable columns with support for minimum widths and relative widths.

  • Horizontally scroll columns on large data tables.

Updates
Update template size using the resize handles in the editor.
Update template size using the resize handles in the editor.

Templates and Iterators

  • Templates width and height can now be modified using the handles on the editor canvas.

  • Grid mode is now supported when laying out components inside templates.

  • Iterator performance has been drastically improved when displaying 1 to ~100 template nodes.

Pricing

  • We’ve updated our pricing page to more accurately reflect anticipated pricing when we begin billing for usage later this year.

Additional Updates

  • Documentation has been updated and can now be found at dynaboard.com/docs

  • Personal workspaces are now listed as the default workspace when creating a project

  • Moving nodes forward and back in the left side bar now supports the hotkeys [ and ]

Fixes
  • Grid mode dots now display properly on high DPI monitors.

  • Fixed issues where some resource properties were unable to be modified.

  • Defined theme colors are now properly supported when styling charts.

  • Renaming of duplicated page nodes now works as expected.

  • Undo & redo now work consistently as expected when dealing with node deletions.

  • Text editors no longer appear off-screen in certain circumstances.

  • Profile pictures now load properly when opening the portal.

New
Editing table properties with the docked properties editor.
Editing table properties with the docked properties editor.

Docked Property Editors

Have you needed a bit more space when editing properties of components (e.g. the .data property when filtering results of a data table)? Now you can open and edit multiple property definitions in a resize-able window at the bottom of the editor.

Color Picker + Eye Dropper Tool

Color picker with the eyedropper enabled.
Color picker with the eyedropper enabled.

Easily preview and select project theme colors, custom colors, or existing colors with the eyedropper tool. Eyedropper support will be added for browsers beyond Chrome and Edge as they release support for the Eyedropper API.

Programatic Toast Notifications

Triggering different kinds of toasts programmatically.
Triggering different kinds of toasts programmatically.

The browser resource now allows functions to programmatically pop toast messages. Toasts can be customized by type, duration, and whether or not they they have a button to dismiss the notification.

Custom Domains via CNAME [experimental]

If you’d like to host your Dynaboard application on a custom subdomain of your existing site, e.g. appname.yoursite.com, we’re looking for testers! Let us know by emailing support [at] dynaboard.com, and we’ll see if it’s the right fit.

Updates

Typeahead Support on Function Data Property

Typeahead returns results based on the function’s returned data.
Typeahead returns results based on the function’s returned data.

Autocompletion is now available on functions that return custom response data. Typeahead suggestions are available on the .data property of a function node.

This also works for nested arrays and map! So you should still see typeahead suggestions on an element when using a map like so: exampleFunction.data.map((element) => { element.autoCompletionSuggestion})

Note: If type ahead suggestions aren’t appearing, the function most likely must be called first. Clicking the “Test function” button or calling it in the console with with exampleFunction() will populate the results.

Chart Updates — Combo Charts

Updates to different chart properties including: axis title, legend, and dimension color.
Updates to different chart properties including: axis title, legend, and dimension color.

Charts now support combo charts using any mix of lines, bars, and scatter across multiple dimensions. In addition, we’ve updated a handful of configuration options for greater chart customizability including support for different left and right vertical axis scales.

Additional Updates

  • Text nodes support links as a render mode type and header spacing has been significantly reduced in the rendered markdown type.

  • Resources, functions, and events link to other resources, functions, and events they’re associated with in the properties editor to allow easy navigation between them.

  • Data tables support the resizing of columns & the ability to horizontally scroll.

  • $dynaboard has auto complete available in the native browser console.

  • Importing and exporting uses the filename / project name as the default name instead of using the UUID.

Fixes
  • Robots.txt support has been fixed and you can customize it for your application.

  • The omnibar correctly updates search results when renaming components, functions, and resources.

  • We’ve updated the loading states in the portal on project creation and project selection to better show loading activity and prevent unintended behavior.

  • HTTP resources show proper path expansion when using binding expressions.

  • Toolbar dropdown menus in the editor no longer immediately close when moving the mouse outside the menu.

  • The native browser tool tip works correctly with the data table.

  • Trailing newlines in a data table expression no longer cause the displayed data to disappear.

Build web apps fast with Dynaboard — the pro-code web app builder made for developers.