Release Notes 22.4

In this release, we’ve focused on making Appfarm Create even easier to use. Try out Appfarm Commander and keyboard shortcuts and make sure to let us know what you think! Here are the highlights:

:sparkles: UI refresh

  • The Main menu has been reorganized and the app/service submenus (UI, Data, Actions) are now tabs in the toolbar.
  • A new Rocket menu (above the main menu) is home to Appfarm Commander, keyboard shortcuts, and user preferences, among other handy links.
  • Appfarm Create is easier to use on smaller screens, with more compact menus and the option to hide the main menu by setting it as temporary.
  • Keyboard navigation has been improved so you can tab and arrow your way around.
  • Drag-and-drop in the View tree has been re-implemented with drop targets more clearly defined.
  • A brand new context menu lists related keyboard shortcuts.
  • All lists and buttons have been reviewed and tweaked, including clearer active states.
  • Granular timestamps are shown when hovering datetime values.
  • A Reduce motion setting in user preferences to tone down animations
  • DevTools treat: Data sources with selected objects are now highlighted.

:astronaut: Appfarm Commander Fly like a rocket around Appfarm Create with your new co-pilot, Appfarm Commander. Hit Cmd/Ctrl+K to open a command palette for navigation, running simple commands, and searching the documentation.

  • Just start typing to filter the menus, or use the arrow keys, and hit enter to navigate to that page.
  • Type ! to search in apps, services, and actions.
  • Type > to run simple commands.
  • Type ? to search in the docs.

:keyboard: Keyboard shortcuts Use the new keyboard shortcuts to navigate throughout Appfarm Create and to quickly execute common operations. To see the available keyboard shortcuts on a given page, type F1 or open Keyboard Shortcuts from the Rocket menu.

:label: Boolean labels Where you have a boolean property in the Global Data Model or App Variables you can now assign labels to the true, false, and undefined values. For example, you might label true as “Active” and false as “Inactive” and undefined as “Not set”. You can then data bind the property to Text, a Select, or in a Table component, and it will render the appropriate label.

:unlock: Login app Set an unauthenticated app as the login interface for a solution instead of using the default login page. Combined with the Auth operations action node from the previous release you can now create a comprehensive, fully-branded sign up and login flow.

What’s New

  • Ui Table - Update on keypress option on tables when in edit-mode (#1755)
  • Implement support for default values on action params (#2524)
  • Appfarm Commander - Command palette for navigating, searching and running commands in Appfarm Create (#2711)
  • Boolean Labels - In global data model, map boolean values to strings (#2734)
  • Boolean Labels - Should be able to connect a boolean value to UI Text and UI Select (#2735)
  • Boolean Labels - In app variables, map boolean values to strings (#2743)
  • Appfarm Create - Option to turn off animated transitions (#2760)
  • UI Map: Implement support for changing the clustering color (#2779)
  • Ui Gantt - Support conditional sorting (#2792)
  • Implement support for adding directives to font-src Content Security Policy (#2803)
  • Boolean Labels - Should be able to see the boolean labels in the Ui Table (#2804)
  • Log to dev tools if action is paused by a breakpoint (#2806)
  • Add support for uploading custom files to the .well-known folder (#2815)
  • Support for login-app (#2843)
  • Resource files - show file sizes in the resource files dialog in the UI builder (#2847)
  • Coded Component - Add description property on Data items (#2851)
  • Multiselect: Setting for Error (state/condition) (#2871)


  • Ui Advanced Chart: Implement dynamic formatting on dates and grouping options for charts (#2506)
  • Coded Component - Custom Attributes for script resources (#2724)
  • Appfarm Create - Show granular time stamp for deploys (#2729)
  • Stop adding “(copy)” to names of copied/duplicated Ui Components (#2837)
  • Show object classes which have selected objects in devtools (#2839)
  • Coded Component - New Value Type: One way value (#2859)
  • Rename date format “Default” to “Timestamp (ISO 8601)” (#2865)
  • Make “Replace existing object” default set when creating object in runtime datasource with cardinality one (#2872)
  • Logs - Show why a schedule fails when the service account does not have permission to run the service (#2875)
  • Create: Show References for App and run reference check prior to Delete App (#2876)
  • Change password: Inform user of invalid password reset link (#2880)
  • Add Readable ID as an App Variable (#2894)
  • Remove field “Mailgun API Key (deprecated)” from Environments config (#2895)
  • Display name for static List items in property pane should be more descriptive (#2907)
  • Actions: Remove “Resource Files” from Response Data → Data Sources (#2914)
  • Scan Barcode/QR Code: Support switching environment cameras when necessary (#3040)

Bug Fixes

  • When using a text edit field with update on keypress characters are sometimes removed (#2230)
  • Datasource populated through Run Service: Secondary datasources / referenced properties not read (#2767)
  • UI Background - Not possible to add more than two values on backgrounds of type linear/radial gradient (#2781)
  • Copy App between solutions: Builtin object class properties on Data Sources are not mapped to new Object Classes (#2800)
  • DataSource: Resolve dependencies for function runtime properties (#2802)
  • Client will show blank page if all apps are hidden and user has access to more than one app (#2808)
  • Dynamic element ID on Coded Component does not work (#2810)
  • UI Table: Adornment “Icon” and “avatar” with Show on Hover selected is always visible (#2812)
  • When initially limiting data sets in basic bar charts using enum colours the enum colours are off (#2816)
  • Fix cache error in client when adding new object class properties and new languages in create (#2822)
  • Data Source filtered on App Variables.Active Language: Not re-filtered with Set Client Language (#2828)
  • Function properties on Data Sources: Parse (and validate) the function values (#2835)
  • DataSource filter: Remove possibility to set up filter where target is self-id (#2845)
  • Line charts plot line/band do not work unless there is a data grouping (#2848)
  • Strings for App Bar title and subtitle are not displayed under Translations (#2862)
  • Value processor and Table do not respect internationalization settings (#2867)
  • Loginlink generated when logged in as anonymous results in a loginlink where you are “logged in as another account” (#2887)
  • Table: Column visibility not reevaluated when condition changes (#2893)
  • Secrets used in Custom Auth Providers are not reference checked (#2897)
  • UiAdvancedBarChart: Option for Hide Empty Datasets (#3003)
  • Data sources filtered by function properties not refreshed on update (#3023)
  • Instance is removed for navigate action node (#3091)
  • Rich Text Editor nested multiple levels deep renders incorrect content (#3100)