Edinburgh Update 3


Welcome to the documentation for the Edinburgh Update 3 release!

Don’t hesitate to send your feedback on these new features as we improve the product:

Early access participation

During closed early access on Skuid SFX, builders must contact earlyaccess@skuid.com to receive package install links.

Once a release candidate package is prepared, these installation links are made available at skuid.com/releases.

Feature updates

Action sequences: Streamlined and enhanced

Action sequences provide a centralized place to create lists of actions in your Skuid page. Previously, there were three separate types: reusable, event-triggered, and hotkey-triggered. But what if you’ve drafted the perfect event-triggered sequence—only to realize you need it activated by a hotkey as well? Have you ever needed to duplicate your reusable sequence used on multiple buttons in order to also make it responsive to events? And what’s with all these types to keep up with?

No longer! With EU3, all action sequences can be triggered however you want. Each sequence is now reusable, as well as event and hotkey triggerable by adjusting settings within the newly added Event and Hotkey tabs.

“But what about my old action sequences?” Don’t worry! Everything has migrated to this new format. Your event-triggered sequences appear as normal sequences with the Events tab populated appropriately, with hotkey-triggered sequences receiving the same treatment.

This is just a hint of the kind of enhancements coming in our new Composer, but more on that in our Pilot features section…

Simpler design system files, better for source control

Source control helps organizations facilitate change management, while keeping a record of how assets and metadata have changed over time. While much of Skuid’s metadata (which can be retrieved via our CLI tools) is in plain text and source control-friendly, design systems haven’t been.

With EU3, we’re changing the way design system assets are formed when retrieved via the CLI—allowing them to more easily be stored and diffed in your source control system of choice. Previously design systems were returned as ZIP files, with additional boilerplate and metadata that made source control for these files difficult.

Now, design systems are returned as JSON files with only the necessary information stored within it in a consistent order. You can expect much smaller files (around 5k lines shorter in some test cases) and easier diffing because of the deterministic nature.

HTML support for more labels and titles


This feature is coming soon to early access.

Skuid components are the building blocks of your Skuid pages, but HTML elements are the building blocks of the web—and they offer a lot of customization options you may need for more advanced styling needs. We’ve steadily increased the component areas where HTML can be used in Skuid, and with this release we’re opening up even more.


Some properties previously allowed HTML to render by default. To better safeguard unintended HTML use, we’ll be adding Allow HTML properties in these areas. To prevent breaking behaviors for existing components, we’ll assume any components with that property unset will have it checked with this update. But any new components added to the page will default Allow HTML to off.

API key authentication method

Many products handle authentication through API keys, which they expect to be passed along in each request to service endpoints. While it’s been possible to access these services in Skuid through its Common request headers or Common request body data, doing so meant potentially exposing your API key to end users who were savvy enough to look at their network traffic.

Worry no longer about those network request sleuths, our new API key authentication method allows you to store encrypted API keys and securely inject them into requests server-side—meaning end users never see those credentials.

Pilot features

Pilot features are not yet intended for prime time production use, but they are available to select customers to gather feedback as we prepare them for a broader audience.

To request access to features listed below, contact earlyaccess@skuid.com.

Chat component

There haven’t been any transformational technological advancements related to artificial intelligence in the last year, right? No large, language-related models to make Skuid models of? New ways to use natural speech to produce new workflows and content?

Well just in case there have been, we’re working on a Chat component that enables you to connect to your chosen AI language model of choice. Additionally you can use it for old-fashioned, human-to-human communication as well, like Salesforce’s Chatter functionality.

New Composer

Drum roll please: There’s a new Composer coming! But this is no mere visual refresh—though we think it looks fresher too. Some major ideas we’re developing in this experience include:

  • More visual development with enhanced canvas rendering: Skuid’s a powerful tool for the citizen developer and the code-wrangling pro, but we want the new Composer to more closely reflect what you’re building without constantly refreshing page previews. Look forward to live style updates and other canvas rendering options
  • Vertical layout: We’ll be moving the Elements and Properties pane to the sides of the Composer, allowing for more vertical canvas space—alongside other sizing changes so the most important elements are highlighted while non-essential elements stay out of the way.
  • Redesigned index: The index is the wayfinder of your Skuid page, and we’ve adjusted its capabilities to allow for faster drag-and-drop page creation and navigation.
  • Consolidation, centralization, and bi-directionality: Skuid pages have a lot of moving parts, and they all depend on each other. Models connected to components, which trigger actions, but only when they render because all their display logic rules are true… It can be a lot to handle—and a lot to navigate.

With the new Composer experience, we’re offering more wayfinding tools and more links between common areas. Go from a component to its model’s properties instantly, see everywhere an action is used, and more.

We’ve also got a lot of modularity and reusability improvements to come for your page logic. What exactly, you may ask? Join the pilot to find out!

This new Composer experience represents a major paradigm shift in Skuid development, and we want your help in making it the best it can be. Contact us to join the closed pilot phase!

Heads up!

Vertical top-level navigation works now, but you may see differences

Previously, Vertical top-level navigation styling properties were not properly applied to the uppermost navigation items. With this change, these properties are now properly applied.

You may see a difference in how your Navigation components render. If so, verify the proper settings are applied in the Vertical top-level navigation properties as well as the Top level navigation item section of the Vertical Navigation component’s style variants.

Included tickets

v16.4.2.0 - Edinburgh U3 GA release

Tickets for prior early access releases are also represented below.

New Composer development

The following tickets represent code changes made while developing the new Composer experience:

CORE-4929, CORE-4539, CORE-4994, CORE-5012, CORE-5083, CORE-5009, CORE-4911, CORE-4854, CORE-5022, CORE-4860, CORE-4961, CORE-4853, CORE-5066, CORE-4863, CORE-5018, CORE-4913, CORE-4927, CORE-4864, CORE-4896, CORE-4935, CORE-4962, CORE-4975, CORE-4960, CORE-4963, CORE-4895, CORE-4897, CORE-4924, CORE-4997, CORE-4996, CORE-3622, CORE-4889, CORE-4891, CORE-4887, CORE-4865, CORE-4822, CORE-4819, CORE-4958, CORE-4783, CORE-4888, CORE-4892, CORE-4823, CORE-4824, CORE-4959, CORE-4806, CORE-4873, CORE-4807, CORE-4884, CORE-4808, CORE-4787, CORE-4907, CORE-4977, CORE-4558, CORE-4541, CORE-4768, CORE-5081, CORE-4857, CORE-4850, CORE-4879, CORE-4995, CORE-4914, CORE-4903, CORE-4954, CORE-4904, CORE-4902, CORE-5089, CORE-4559, CORE-4475, CORE-4386, CORE-4622, CORE-5032

New REST data source development

The following tickets represent code changes made while developing the new REST data source:

PLIN-4794, PLIN-4733, PLIN-5051, APPS-2348, PLIN-5115, PLIN-4956, PLIN-4873, PLIN-4967, PLIN-4789, PLIN-5042, PLIN-5082, PLIN-4924, PLIN-4415, PLIN-4414, PLIN-5049, PLIN-4996, PLIN-4825, PLIN-4783, PLIN-4905, PLIN-4799, PLIN-4788, PLIN-4854, PLIN-5048


When Skuid LWC is activated, enable Aura-related features to be used within the Skuid Page (Aura) component


Upgrade build dependencies


Updates to allow the Skuid Page (LWC) component to run properly in Lightning communities on Skuid SFX


Update labeling to reflect pilot status of new Composer


Update analytics tooling


Resolve design system file inconsistencies that appear when downloading the file from Skuid’s admin interface versus retrieving it via the CLI, which began after recent updates to streamline that file’s format


Remove SSL options that erroneously display for Microsoft SQL Server during data source configuration


Packaging tasks for Skuid NLX


OpenAI data source (for use with Chat component) development


OpenAI data source (for use with Chat component) development


On SQL data sources, ensure the permission summary at the top of the access control page displays proper access summary

Previously, some permission changes would not trigger an update, instead displaying “No access” even when access was granted. Now the summary properly updates to reflect granted permissions, particularly for “Full access” scenarios


On Skuid SFX, ensure LWC feature labels can be found when Skuid is installed as managed package


On Skuid SFX, enable Skuid LWC to run with the “Relaxed CSP” Salesforce setting


On Skuid SFX, cache the chosen Lightning render mode (Aura or LWC) for improved load times


On Skuid SFX, add Skuid LWC section in Org Preferences


On Skuid SFX, add necessary backend support for API key authentication method


On Skuid NLX, add necessary backend support for API key authentication method


On SFX, adjust styles of components within Lightning Experience to account for Salesforce CSS updates


Move component merge variables (like {{searchValue}}) out of beta


Internal-only XML additions


Internal refactoring


Internal codebase adjustments for feature flags


In the Design System Studio, utilize enhanced color picker for brand colors


In the Database Console, fix issue where the field searchbar and the mass actions for deleting and editing rows were not appearing


In the Chat component, support rich text


Improve UI indicators for an internal beta feature


Improve loading message indicators for Chat component


Improve Composer performance for large pages, particularly by adjusting page index logic


Generate code coverage reports on NLX


For SQL data sources, ensure selected SSL options persist across page refreshes, and that certificate information is properly erased when options are changed on-screen


Fix v1->v2 migration issue where <span> HTML elements, particularly in v1 Queues, would cause “There was an error running the migration” errors—failing the migration itself. Now migrations complete as expected.


Fix Table issue where drawers wouldn’t display if end users hid the Table’s leftmost column


Fix Skuid NLX permission set issue where adding a condition to a site permission set with the “Configure site” permission would not register as a change—preventing the Save button from enabling as expected


Fix SFX issue where some data source types were not appearing


Fix regression where fields displayed as buttons groups collapsed to minimum width instead of expanding to fill their given space


Fix regression where button groups—particularly for picklist fields displayed as button groups—failed to respect width specified for button variants in a given design system


Fix record type ID lookups for reference fields that display as picklists—which previously had an issue where those picklists would appear as blank even after choosing a value


Fix Properties pane issue where, after setting its properties in the Advanced tab, focus would unexpectedly shift from the Text component’s canvas input back to the Advanced tab properties after a short delay in typing


Fix Pages list issue where the Preview option would cause errors when pages required parameters—not opening the modal for setting those parameters and ultimately not previewing the page


Fix NLX issue where search bars would collapse into the page’s filters on data source, app, page, and design system admin pages


Fix navigation item issue where “Sub-navigation item” carets would appear even though there were no sub-navigation items

Previously, deleting sub-navigation items in the Composer would not appropriately update the page XML. This resulted in “Sub-navigation item” carets appearing on these navigation items even though there were no longer sub-navigation items. This affected both top-level and sub-level navigation items.

Now, page XML is updated appropriately and navigation items do not show a caret unless there truly is a sub-item.


Fix multipicklist issue where displayed values were not updated properly when picklist entries were changed


Fix model regression where the child relationships sub-tab would not appear within the model fields tab


Fix issue with nested properties not properly updating the selected area


Fix issue where the Tab Container component would switch between tab and accordion views at unexpected breakpoints when the browser window was resized


Fix issue where the some hover state style settings (border radius and background color) for Vertical Navigation items were not being applied correctly at runtime—despite previewing correctly in the Design System Studio


Fix issue where the “Merge field” field picker, used for setting context conditions, would incorrectly point to the current component’s model instead of the “parent” component’s model—producing incorrect context conditions


Fix issue where Responsive Grids with a main axis of “Column” would display at unexpected heights at runtime due to incorrect CSS


Fix issue where newly added actions appear to remain as “Save model” actions, even when set to other action types. While only a label issue, and navigating away and back to an action list would resolve the issue, this misleading action list rendering behavior has been corrected.


Fix issue where illustrations used in Skuid Database would incorrectly render with a black background


Fix issue where icon selectors were not displaying icons


Fix issue where Geochart components would appear not to reflect model changes, sometimes rendering before model load operations completed


Fix issue where display logic rules (particularly render conditions) were not enforced as expected on Geochart components


Fix issue where Chatter components do not properly render input areas within Skuid Page (Aura) components when Skuid LWC is enabled


Fix issue where Carousel components with slides containing nested Carousels would display incorrect slide count numbering + reimplement ability to remove slides in manually sourced Carousels


Fix issue where buttons couldn’t be deleted in the Composer once more than one existed in a button group unless the Composer was refreshed


Fix Form field issue where the “Horizontal alignment” property was not respected for boolean fields in edit mode—defaulting to “Left” alignment instead


Fix Form component issue with date/time fields where browser focus would unexpectedly shift from edit mode before end users could complete time entry—requiring users to double click the field to re-enter edit mode


Fix Form column issue where “Align self” properties were not respected—resulting in columns that were always set to flex-start


Fix EU2 regression where the implied context condition of Id = Id was no longer applied and had to be manually specified, causing unexpected results in context-driven components like Decks


Fix Edinburgh Update 2 on SFX runtime issue where sometimes icons would not render or would disappear when navigating back and forth between Lightning tabs


Fix Edinburgh Update 1 issue where metadata overrides that changed Number fields into Picklist fields were not respected in Edit Mode, notably when metadata caching was not enabled for the data source


Fix Design System Studio issue where the Chat component’s avatar element would not disappear when previewing the element without the avatar


Fix design system issue where Spacing variables had a blank unit of measurement (instead of ‘px’ or ‘rem’ options)


Fix date/time field validation behavior on mobile devices, which previously caused incorrect “Must match required format: [date]” errors


Fix Composer issue where model fields and conditions were being unexpectedly removed when the builder selected the model within the model list


Fix Composer issue where horizontal scrolling was not possible in Tab Set components in the canvas


Fix Chart component regression where series interactions were unavailable—instead appearing as an unusable text field within the Properties pane


Fix Calendar component issue where the view option picklist wasn’t rebuilding after a Month or List view was deleted, preventing the creation of a new view. Also improve disabled entries logic to accurately display the selectable Month/List entries. Additionally, some future feature work.


Fix “problem initializing component” error that appeared when attempting to create an event in the Calendar component on mobile devices


Ensure v2 components properly listen for user time zone changes

Previously custom time zone handling through snippets would not propagate as expected in v2 components—particularly the Calendar. For users migrating from v1, this meant snippets were no longer working on otherwise-identical v2 pages.

Now we’ve improved how the user’s current time zone is retrieved and the event subscription logic used by components to ensure these changes are accounted for at runtime


Ensure the “lang” HTML attribute applied to Skuid pages uses hyphens instead of underscores to specify the language subtag.

Previously these attributes would with underscores: “lang=en_US” Now they appear with hyphens: “lang=en-US”


Ensure that internal methods used to reparent nested components properly clean up and remove the reparented component from the previous parent


Ensure switch toggles can be toggled on/off using the keyboard (Selecting them with Tab and toggling them with Spacebar)


Ensure style variant conditions update the visual appearance of components

Previously style variant conditions would sometimes not properly update the styling of components, particularly when changing values in edit mode. This fix adjusts conditional class assignment, ensuring variants are better applied when expected


Ensure OpenAI data source functions with the API Keys authentication option


Ensure initial sections on Accordion components are assigned a unique Id


Ensure exported design system files only contain updatable properties within the file


Ensure existing Lightning preview methods continue to function with LWC enabled


Ensure aria-label values for pagination buttons (page number, previous, next) contain properly updated alternative text and are available to accessibility tools


Ensure “# of decimal places” property for Table summaries properly respects field metadata when “Use field metadata” is checked


Enable API key authentication for v1 runtime


Disable Skuid Page (LWC) component usage in LWR sites to avoid errors until functionality is completed


Core adjustments necessary to support improved sidebar and canvas rendering for Skuid Database


Codebase and internal process enhancements to better avoid APIs noted as distorted by Salesforce


Chat component development


Chat component development


Chat component development


Chat component development


Adjusting behavior of site instance banner on early access sites to better indicate environment


Adjust streamlined action sequence triggering behavior to account for issues surrounding what were previously event-triggered sequences


Adjust Drawer chevron icon rendering so that it doesn’t appear extra wide if the drawer contains a Table component


Adjust design system file format to fix issue where Skuid pages appeared blank in the Composer—which affected builders with large design system files


Adjust Composer component rendering logic for internal testing


Address some spacing issues on Skuid NLX’s admin screens


Additional work to disable Skuid LWC in LWR while generating passing builds


Additional design system style properties for the Chat component


Added HTML support in the following component properties through use of related “Allow HTML” toggle properties:

  • Button: Button label
  • Button Group: Label, when displayed as a menu
  • Wizard: Step labels
  • Header: Title and subtitle
  • Message Area: Title, as well as description
  • Search: In each return object’s header display name and display template
  • Toast (from the Show toast action): Message to display
  • Deck: Title
  • Table: Title, as well as column headers
  • List: Title


Add “Beta” tag to Chat component and OpenAI data source type


Add proper permissions for new Composer experience to Skuid Page Builder permission set


Add interaction functionality to all field types


Add appropriate implements so the Skuid Aura component can be used when Lightning Locker is disabled


Add “Copy to clipboard” and “Evaluate formula fields on model” actions