The framework has been renamed "Simian" and namespaces have adjusted accordingly:
simian.gui.* contains the majority of the classes, all components and utility functions can be found here.
simian.local.* contains the code to run an app locally.
simian.examples.* contains the examples.
json field in the payload produced by
guiInit has been renamed to
form to better reflect its contents.
HtmlTable has been removed, use the component
utils.updateTable functions have been removed.
FontSize options for
DataGrid have been removed.
Plotly methods have been removed:
Plotly.fromPayload is replaced by
Plotly.updatePayload is replaced by
EditGrid by default returns a list of dicts (Python) or a struct array (MATLAB).
setOutputAs method can be used to return a pandas
DataFrame or a MATLAB
Day by default returns a string.
setOutputAs method can be used to return a
The positional argument
Tabs.setContent is now an optional, named argument.
DateTime objects now use data type
utils.getSubmissionData returns a
The output type can be changed to table using
(MATLAB): the Component's
attributes property may now also contain a
(MATLAB): The figure window is not maximized at startup.
Uiformio(_, Fullscreen=true) to set the window full screen.
Uiformio(_, Maximized=true) to maximize the window.
Uiformio(_, Size=[width, height]) to set the window size.
Pages composed component is deprecated.
The deployment portal now includes a caching option for back-ends that have no access to Redis or drive.
File caching saves the cache in the home folder by default.
for building forms using a table/DataFrame.
Improved getting and setting submission data for
Callback dispatching for button events.
getNewRows method of the DataTables component.
(MATLAB): Support for setting the data of a DataTables component using string, logical, and numeric arrays.
(MATLAB): The function for conveniently building a deployable archive (available as of MATLAB R2020b).
Significant improvements to documentation:
Added Python code snippets to the
BallThrower example. Clarified setup and deployment.
Added more details and options for multiple components and functions.
Significant improvements to the deployment portal:
Built-in user/group management authentication/authorization.
Improved visibility of front-end versions used by apps.
Added a going down for maintenance switch.
Instance management in admin portal.
Added an overview of what Simian Suite releases there are and how they can be combined.
Improved application instance handling.
Improved nginx configuration primer including caching of static data.
(MATLAB): Added support for MATLAB release R2022b.
(Python): Added support for Python 3.10.
Python deployment entrypoint wrapper functions add an extra layer to the root of their responses to improve handling of errors encountered in the back-end. Existing wrapper functions keep working with their current back-end type. For
_v2 version is available that uses the new wrapper version. The
ownR back-end type works for both response structures.
FastAPI is new.
(Python): An error no longer occurs when initializing an application with a namespace consisting of multiple parts (
value input of the
type gestures of the
testing functionality now support char arrays as inputs in addition to strings. Setting submission data for EditGrid components if layout components are involved.
Error handling when using Redis cache.
Behavior of applications holding multiple editable
Forms being emptied after reloading the application.
(MATLAB): Error dialogs popping up multiple times after clicking Reload App in local mode. Update behaviour of calculated values and custom logic.
ScaleToParentWidth option for the
setLocalImage method of the
HtmlElement component. DataTables:
(MATLAB): Getting the data of a DataTables component when its default value (no rows) is set now returns a table with 0 rows instead of triggering an error.
(MATLAB): If a DataTables component has one row and an event is triggered, the row no longer disappears. Documentation on
how to dynamically change the options of a Selectboxes component. More validation to the inputs of the
utility function for DataGrid, EditGrid and DataTables components. Keys of the value to set must match those of the columns of the component being set.
Html component for displaying HTML that can be set through the submission data. The
HtmlTable component for displaying HTML tables that can be set through the submission data.
(MATLAB): Added support for MATLAB release R2022a. The custom table functionality will be deprecated in a future release.
HtmlTable component is now the preferred way of displaying HTML tables in your application (as opposed to composed component HtmlTable).
downloadEnd event is triggered any more.
(MATLAB): The utility function for table-like components (such as DataGrids) that have one row where at least one of the columns has an empty value.
triggerHappy functionality when there is a DataTables component with editable rows and no other event has taken place yet.
Support for providing a parent component when performing gestures using the
testing functionality. The
addCustomClass method for all components for adding custom classes to your components.
DefaultValue name-value pair of the
Pages component for setting an initial value of the component.
FontSize name-value pair of the
Pages and EditGrid components for setting the font-size of the data in the table. A
Frequently Asked Questions (FAQ) and How to section to the documentation.
HtmlTable component, which was already available in MATLAB.
Documentation for Component properties:
Documentation on the customization of
DateTime components. The
showWordCount properties for the
TextArea component. The
Parent name-value pair for the
update method of the
StatusIndicator component. The
getColumn method for the
DataGrid and EditGrid components. The
fillTabs methods for the
Tabs component. The
collapsed property for the
Panel component. Collapsible
Panels can be initially collapsed. The navbar now has a configurable logo, title and subtitle.
alert messages can be shown.
Button setEvent() method now checks whether the event name is reserved by Form.io, and if so throws an error. When the configured cache cannot be reached from the webframework back-end, an alert is shown under the navigation bar.
DataTables can now be used to create and configure tables. DataTables have built-in options for sorting, filtering, search, pagination and more.
Changes to the settings in the form can now be flagged in the navigation bar. utils.encodeImage function can encode image files, so that they can be put in the payload and be shown in the form.
The documentation has been updated and expanded to incorporate the changes that were made to the webframework. Users new to the webframework should now also have better guidance in understanding the webframework and setting up their first forms.
(MATLAB): Functions related to the Pages, StatusIndicator, and Uiformio classes now accept
UpperCamelCased name-value pairs. In a future release,
lowerCamelCased name-value pairs will no longer be supported by these functions.
setContent method of the
Columns component now supports creating the columns without components in them and outputs the
Column objects that are created. This allows for a more top-down approach in which the columns are created before filling them with child components.
defaultValue property of a
Plotly is now an object of
utils.Plotly, allowing for easy plotting during initialization.
(MATLAB): Supports MATLAB release R2021b. When an error is caught by the framework, an alert message will be shown to the user.
Ball Thrower example has a button to illustrate the error handling for errors thrown from the back-end.
utils.setSubmissionData() now has two outputs. The first one is still the payload. The second output contains the modified data input, in the form it was put in the payload by setSubmissionData.
(MATLAB) Error class now allows string values for its attributes.
DatePickerConfiguration now checks whether the minimum and maximum dates are formatted correctly and whether the minimum date is not larger than the maximum date.
DataMap now has a TextField component as its default valueComponent.
EditGrid templates modified to use the
tableView property of the child components to determine the contents of the collapsed rows in the EditGrid component.
utility functions for combinations of Container, DataGrid and EditGrid components.
setRowGroups method for the
DataGrid for single row groups. The
PhoneNumber classes for
testing your application.
setValues method of the
Selectboxes now supports cell array inputs.
(MATLAB): When the
utils.Plotly.getObj method could not find data for the given combination of key, nested form and parent, an error is thrown instead of simply ignoring it. See the
Plotly component. Handling of the
Parent name-value pair by the
utility function for non-unique combinations of parent and nested forms.
Pages component no longer triggers an infinite update loop when an invalid value is put in it.
The ballthrower example
install script for adding the right folders to the MATLAB path.
simian.gui_v2_0_0.doc function for opening the documentation.
setSubmissionData utilility now works for numeric arrays when filling DataGrids or EditGrids.
Displaying data can now be done efficiently using the
HtmlTable composed component. Values can be highlighted using font coloring.
The default value of the
clearOnHide property is now
false to avoid unexpected behaviour.
Highlighting of data in DataGrids. Use the composed component
HtmlTable for this. Note that these are not editable.
When using the
class, events are now only triggered when the value has actually changed.
custom option for the
action of a
Button component. The
decimalLimit property for
Number components. The
labelPosition property for the following components:
When using the
class to trigger events when specific components lose focus:
Instead of empty,
payload.key is now
An event is only triggered when the value has actually changed, not when the value is non-empty.
Performance of the
utilility functions is drastically improved.
In local MATLAB mode, the form no longer automatically regains focus when MATLAB is done handling an event.
Syntax for highlighting values of components and improved its performance.
labelPosition property for
custom css in deployed mode. The