Release
Notes

November 27, 2023

  • 6.4.3

  • 7.4.3

  • 10.4.3

Font Awesome 6 + Font Awesome SVGs

Say hello to FA6! Prior to this release, all FA icons loaded through the “Webfont” method (this option is still available and will be the default if you upgrade a site with a version prior to Pro 6.4 / CS 7.4 / CS 10.4). We are pleased to introduce this faster, better, and more performant option for you. This release also includes the new FA loading mode “SVG”.

SVG loading is what we intend on using as the new default as it actively loads less resources, provided you are not displaying hundreds of icons on your page. This is all managed in Theme Options where we have also added support for the “Sharp” icons.

We have also changed how FA loading is managed, further limiting RAM provided you only enable the icon types you intend on using. New features and faster performance!

Font Awesome 6 Controls

Super Duper Loopers

This release, quite frankly, pushes the boundaries of looping technology into another stratosphere. With the new Looper Provider API, not only will you see more Loopers from us (as you'll see in this release), but we hope to encourage other developers to integrate with everybody's favorite builder. There are also a number of small improvements that, added together, mark the start of the Looper Renaissance.

Meta Query Builder Support

Finally, a way to search by Meta Fields! This update also includes a way to sort by those fields either in this section you see here or in the “Order By” section. This as well as the new "External API” section in Theme Options demonstrate the new control type “List” which was available to Parameters already and is now supported by the Element Control API.

Meta Query Builder Controls

CSV Looper

A welcomed addition to Cornerstone and especially Cornerstone Charts is the introduction of our new friend, the CSV Looper. Loop over CSV data either from a local media file or in conjunction with the External API from anywhere (more on this in just a minute)! We also have "File" — a new Element API Control.

CSV Looper Controls

Inner Dynamic Content

Look out nesting dolls, Cornerstone is getting recursive with support for dynamic content IN your dynamic content. For example, {{dc:post:title post="{{dc:looper:field key='post_id'}}"}}. This will expand Dynamic Content functionality significantly by allowing you to reference dynamic data with dynamic data. This is a great new addition and something you will see in our future templates.

In Search of Mobile Superiority

Internally, and up until this point, we have used a library called Perfect Scrollbar in Cornerstone. This library ended up causing some issues with Off Canvas Elements that needed a scrollbar forcing you to tap twice on an iOS device as well as having a different looking scrollbar compared to the rest of the page. We have removed this in place of a newer solution that results in less JS, more consistent behavior, and less issues.

Disable Body Scroll has also been redone. A proper implementation of this needs to actively prevent all overflow on the Body/HTML tag to completely the lock page on mobile. Our new version of this is based loosely on Redfin’s and AirBNB’s modal elements.

Finally, dropdowns now use display none to have properly lazy loading of images inside a dropdown (and to prevent the dropdown from changing the page size when it is closed). This system will eventually be brought to all toggleables.

External API

We've saved the best for last. Cornerstone is setting another new paradigm for website builders with the introduction of our shiny new External API. This advanced and powerful new feature will allow you to loop or display data from any external endpoint API whether it is an RSS Feed, OpenAI, or even Pokemon in WordPress?

There is also a new template added when this feature is enabled called API Tester. This is a great place to start to make sure you are actually sending the request correctly. In Theme Options this also adds a “Global Endpoints” Editor that allows you to easily manage requests that use similar structures (for example API Keys in the header) and extend from that creating a quick integration to any external API.

This isn't just a new frontier for website builders, it's a completely new paradigm. You will be seeing our own use of this feature in future Cornerstone development. For today, you can start integrating with the apps and tools you need and you can start building truly native web apps powered by Cornerstone. We've already seen customers build incredible tools like a native weather app in Cornerstone (two weather apps actually, by two different people). What will you build? Run, don't walk and pick up your unlimited use license today!

This video is from our External Data Series which you can find on our blog and YouTube.

Changelog

  • Pro 6.4.3 - November 27, 2023
    • Feature: `REGEXP` and `NOT REGEXP` added to Meta Query comparisons
    • Updated: Code Mirror `Default` added to code editor key bindings
    • Updated: Font Awesome SVGs icons are sent as a zip file and only unzipped if you are running SVG mode
    • Updated: Default Icon loading mode set back to Webfonts
    • Bugfix: Some Yoast fixes reverted as they were causing duplicate content on older sites
    • Bugfix: Sticky bars in a Boxed layout were getting shifted to the left
    • Bugfix: Elements that didn't utilize breakpoint hiding classes were causing issues
    • Bugfix: Shop Notices Element would cause fatal errors on CS save requests if using more then one
  • Cornerstone 7.4.3 - November 27, 2023
    • Feature: `REGEXP` and `NOT REGEXP` added to Meta Query comparisons
    • Updated: Code Mirror `Default` added to code editor key bindings
    • Updated: Font Awesome SVGs icons are sent as a zip file and only unzipped if you are running SVG mode
    • Updated: Default Icon loading mode set back to Webfonts
    • Bugfix: Some Yoast fixes reverted as they were causing duplicate content on older sites
    • Bugfix: Sticky bars in a Boxed layout were getting shifted to the left
    • Bugfix: Elements that didn't utilize breakpoint hiding classes were causing issues
    • Bugfix: Shop Notices Element would cause fatal errors on CS save requests if using more then one
  • X 10.4.3 - November 27, 2023
    • Updated: Font Awesome SVGs icons are sent as a zip file and only unzipped if you are running SVG mode
    • Updated: Default Icon loading mode set back to Webfonts
    • Bugfix: Sticky bars in a Boxed layout were getting shifted to the left
  • Pro 6.4.2 - November 20, 2023
    • Feature: Font Fallback controls for font palette items and custom fonts
    • Feature: Post Password Condition and Assignments for Single Layout and WooCommerce Single Layouts
    • Feature: Div tags added `hgroup`, `main`, `nav`, `search`, `address`, and `figcation`
    • Updated: "Global Block does not have content" message only displays in the preview
    • Updated: Component with invalid ID gives you a better error message
    • Updated: Accordions ARIA setup was giving errors related towards usage of `tablist` and the headers not having a `role`
    • Updated: Anchor toggles like Off-Canvas send a role for better ARIA support
    • Updated: Parameter Conditions for list items use a different path system to support individual item control conditions
    • Bugfix: Webfont icons with a border were displaying incorrectly
    • Bugfix: SVG icons were slightly positioned to high when used as a graphic control
    • Bugfix: RSS social icon when in webfont mode was not displaying
    • Bugfix: Github social icon when in SVG mode was not displaying
    • Bugfix: Card element flips for up and right direction looked like they were collapsing in on themselves
    • Bugfix: Image detection was giving a warning for sites with a `/` in the a name of a valid image size
    • Bugfix: Parameter control choose was starting in the breakout state
    • Bugfix: Add to Cart buttons were getting a duplicate icon
  • Cornerstone 7.4.2 - November 20, 2023
    • Feature: Font Fallback controls for font palette items and custom fonts
    • Feature: Post Password Condition and Assignments for Single Layout and WooCommerce Single Layouts
    • Feature: Div tags added `hgroup`, `main`, `nav`, `search`, `address`, and `figcation`
    • Updated: "Global Block does not have content" message only displays in the preview
    • Updated: Component with invalid ID gives you a better error message
    • Updated: Accordions ARIA setup was giving errors related towards usage of `tablist` and the headers not having a `role`
    • Updated: Anchor toggles like Off-Canvas send a role for better ARIA support
    • Updated: Parameter Conditions for list items use a different path system to support individual item control conditions
    • Bugfix: Webfont icons with a border were displaying incorrectly
    • Bugfix: SVG icons were slightly positioned to high when used as a graphic control
    • Bugfix: Card element flips for up and right direction looked like they were collapsing in on themselves
    • Bugfix: Image detection was giving a warning for sites with a `/` in the a name of a valid image size
    • Bugfix: Parameter control choose was starting in the breakout state
  • X 10.4.2 - November 20, 2023
    • Updated: Accordions ARIA setup was giving errors related towards usage of `tablist` and the headers not having a `role`
    • Updated: Anchor toggles like Off-Canvas send a role for better ARIA support
    • Bugfix: RSS social icon when in webfont mode was not displaying
    • Bugfix: Github social icon when in SVG mode was not displaying
    • Bugfix: Card element flips for up and right direction looked like they were collapsing in on themselves
    • Bugfix: Image detection was giving a warning for sites with a `/` in the a name of a valid image size
    • Bugfix: Parameter control choose was starting in the breakout state
    • Bugfix: Add to Cart buttons were getting a duplicate icon
  • Pro 6.4.1 - November 13, 2023
    • Feature: Search by ID in document list
    • Feature: Featured Image Controls for post types that support it
    • Updated: URL Segments Dynamic Content can search by negative indexes.
    • Updated: If not logged in when navigating to Cornerstone, it will bring you to the login page
    • Updated: Scrolling by hashes scrolls both the HTML element and the body element. It would not work with pages with overflow issues
    • Updated: Google Font list
    • Bugfix: Elements Control tabs, buttons to scroll the tab list would sometimes not work
    • Bugfix: Font Awesome still displayed Sharp as enabled by default
    • Bugfix: Mini-Cart and Gallery would sometimes not work on load when viewing in the Cornerstone Preview
    • Bugfix: When a CS animation reached the end of it's animation. It would sometimes flicker
    • Bugfix: Navigation icons would duplicate their class name and would shift the page for non dropdown navigation links
    • Bugfix: File Input link icon was overlaying the text input improperly
  • Cornerstone 7.4.1 - November 13, 2023
    • Feature: Search by ID in document list
    • Feature: Featured Image Controls for post types that support it
    • Updated: URL Segments Dynamic Content can search by negative indexes.
    • Updated: If not logged in when navigating to Cornerstone, it will bring you to the login page
    • Updated: Scrolling by hashes scrolls both the HTML element and the body element. It would not work with pages with overflow issues
    • Updated: Google Font list
    • Bugfix: Elements Control tabs, buttons to scroll the tab list would sometimes not work
    • Bugfix: Font Awesome still displayed Sharp as enabled by default
    • Bugfix: Mini-Cart and Gallery would sometimes not work on load when viewing in the Cornerstone Preview
    • Bugfix: When a CS animation reached the end of it's animation. It would sometimes flicker
    • Bugfix: Navigation icons would duplicate their class name and would shift the page for non dropdown navigation links
    • Bugfix: File Input link icon was overlaying the text input improperly
    • Bugfix: CS standalone did not check undercased HTML doctypes
  • X 10.4.1 - November 13, 2023
    • Bugfix: Navigation icons would duplicate their class name and would shift the page for non dropdown navigation links
  • Pro 6.4.0 - November 6, 2023
    • Feature: Inner Dynamic Content. EX {{dc:post:title post='{{dc:looper:field key="post_id"}}'}}
    • Feature: Hover Intent timing for Dropdown can be controlled in the "Setup" section
    • Feature: Code Editor "Line Wrap" preference added
    • Feature: Code Editors have a "Dynamic Content" button
    • Feature: Accordions have a "Scroll" control, which will either scroll the page for all devices or just mobile devices
    • Feature: RVT Reset control added to Modal, Off Canvas, and Dropdown elements
    • Feature: Rich Text Editor has a preference to use your sites global colors instead of TinyMCE default
    • Feature: Global Colors has a Dynamic Content selector
    • Feature: `--x-body-scroll-active-bar-size` root property added that will be a pixel value of the size of scrollbar. Browsers like Google Chrome push the page based on it's scrollbar size. This prevents the page from jumping when "Disable Body Scroll" is in use and is only a non zero value when the page is locked
    • Feature: `file` Control type added to Element Control API
    • Feature: Looper Provider API. See https://theme.co/docs/looper-api
    • Feature: CSV Looper
    • Feature: External API Looper and Dynamic Content (Beta Feature)
    • Feature: Layout specific assignments can be used as show conditions depending on the document you are editing
    • Feature: Dynamic Content for Total User counting
    • Feature: Meta Field filtering and ordering added to Query Builder
    • Feature: Loop Keys control added to Array type looper providers, which allows you to use a string indexed array, turning `{{dc:looper:index}}` into the string index
    • Feature: Font Awesome icons can load as SVG or Webfonts
    • Feature: Map and Map Marker element has looper support
    • Feature: Default Element insert preference brought back from CS 6
    • Feature: Preference to either open the element library or insert your default element
    • Feature: Code Editors have GraphQL syntax highlighting support
    • Updated: Font Awesome updated to Font Awesome 6
    • Updated: Pro5 to Pro6 uses the Raw SQL migration by default after numerous issues with changing the post_type with internal WordPress update post function. See https://theme.co/docs/pro5-to-pro6-migration
    • Updated: Slider scripts have been moved to it's own file
    • Updated: Deleting anything in Cornerstone sends it to the trash instead now
    • Updated: Cornerstone App Page uses the sites Favicon by default, not Cornerstone's favicon. There is now a preference to control this
    • Updated: Audit and refactor of non-passive mobile events
    • Updated: Preferences has been moved to a floating window. This is also a Preferences button on the toolbar which can be hidden in the preferences
    • Updated: Toggle hashes now actively change the URL with the hash, including removing the hash when a toggle hash is closed. This also a fixed a bug where opening a toggle hash, would leave the button in an active state indefinitely
    • Updated: Elements has been split apart from "Standard" and "Dynamic" to a handful of other group in an attempt to make the element list more digestable
    • Updated: Over a thousand PHP 8.2 deprecations removed. More to come
    • Updated: Text typing, Sliders, and Google Maps have been split into their files to lessen default JS loads
    • Updated: Our shortcodes now add the post ID, otherwise plugins like Yoast could not render our content properly. This requires saving the page again in Cornerstone
    • Updated: Dates based dynamic content was not using localized wordpress date function
    • Bugfix: Card Element required two taps to transition on mobile
    • Bugfix: Card Element that was tapped on a touchscreen laptop, would not work with the mouse after touching the screen
    • Bugfix: Dropdowns use "none" as their display to prevent causing double scrollbars when the dropdown is larger then the page
    • Bugfix: Certain Envira invalid license key messages were still displayed
    • Bugfix: Better object support for the control type choose
    • Bugfix: Value List Control (Color, Font Manager, and Custom Attributes) was very hit or miss when it came to drag and drop positioning
    • Bugfix: Scrolling to an element in the preview either from a click or from creating an element was causing performance issues. It was also taking it's sweet time to scroll the page
    • Bugfix: Sticky bars with more than one bar, would almost always give you an incorrect value for `fixed_top_offset` which is used in a number of different features
    • Bugfix: WooCommerce Variable products would give you a sale price value for `{{dc:woocommerce:product_regular_price}}`. This now uses `get_variable_product_price` internally
    • Bugfix: When a Search Modal opened on a mobile device, the keyboard would often be hiding the search input
    • Bugfix: Going from 0em to greater then 5px on text elements would cause the Empty Element indicator to display and never be hidden after changing
    • Bugfix: You could not use `0` as a searchable key in `cs_get_path`. Example `{{dc:looper:field key='choices.0.message'}}` which grabs the first index of a `choices` array
    • Bugfix: Tabs inside a tabs elements would not render the styling of the child tabs correctly in the preview
    • Bugfix: When going from a border, to a zero width border, back to a normal border. The final border breakpoint would not show up and remain transparent
    • Bugfix: Scroll hashes positioning on the X headers were incorrect if you were on mobile
    • Bugfix: Screen reader responses CSS added to blank and starter stacks
    • Bugfix: Stack API supresses non-useful `file_exists` warnings
    • Bugfix: Parameter dynamic content was matching images incorrectly, (Ex 11:00 or other times of days that also related to an attachment ID)
    • Updated: Removal of Perfect Scrollbar which fixes these final issues, and removes about 15kbs of JS
    • Bugfix: iOS devices required two taps to click anything in an Off-Canvas element or Modal Elements if that element had a scrollbar
    • Bugfix: Clicking a modal scrollbar would close the modal. You were almost always clicking the body scrollbar, not the modal's scrollbars
    • Bugfix: The scrollbar between the body and Off-canvas elements was different
  • Cornerstone 7.4.0 - November 6, 2023
    • Feature: Inner Dynamic Content. EX {{dc:post:title post='{{dc:looper:field key="post_id"}}'}}
    • Feature: Hover Intent timing for Dropdown can be controlled in the "Setup" section
    • Feature: Code Editor "Line Wrap" preference added
    • Feature: Code Editors have a "Dynamic Content" button
    • Feature: Accordions have a "Scroll" control, which will either scroll the page for all devices or just mobile devices
    • Feature: RVT Reset control added to Modal, Off Canvas, and Dropdown elements
    • Feature: Rich Text Editor has a preference to use your sites global colors instead of TinyMCE default
    • Feature: Global Colors has a Dynamic Content selector
    • Feature: `--x-body-scroll-active-bar-size` root property added that will be a pixel value of the size of scrollbar. Browsers like Google Chrome push the page based on it's scrollbar size. This prevents the page from jumping when "Disable Body Scroll" is in use and is only a non zero value when the page is locked
    • Feature: `file` Control type added to Element Control API
    • Feature: Looper Provider API. See https://theme.co/docs/looper-api
    • Feature: CSV Looper
    • Feature: External API Looper and Dynamic Content (Beta Feature)
    • Feature: Layout specific assignments can be used as show conditions depending on the document you are editing
    • Feature: Dynamic Content for Total User counting
    • Feature: Meta Field filtering and ordering added to Query Builder
    • Feature: Loop Keys control added to Array type looper providers, which allows you to use a string indexed array, turning `{{dc:looper:index}}` into the string index
    • Feature: Font Awesome icons can load as SVG or Webfonts
    • Feature: Font Awesome Theme Option controls
    • Feature: Map and Map Marker element has looper support
    • Feature: Default Element insert preference brought back from CS 6
    • Feature: Preference to either open the element library or insert your default element
    • Feature: Code Editors have GraphQL syntax highlighting support
    • Updated: Font Awesome updated to Font Awesome 6
    • Updated: Pro5 to Pro6 uses the Raw SQL migration by default after numerous issues with changing the post_type with internal WordPress update post function. See https://theme.co/docs/pro5-to-pro6-migration
    • Updated: Deleting anything in Cornerstone sends it to the trash instead now
    • Updated: Cornerstone App Page uses the sites Favicon by default, not Cornerstone's favicon. There is now a preference to control this
    • Updated: Audit and refactor of non-passive mobile events
    • Updated: Preferences has been moved to a floating window. This is also a Preferences button on the toolbar which can be hidden in the preferences
    • Updated: Toggle hashes now actively change the URL with the hash, including removing the hash when a toggle hash is closed. This also a fixed a bug where opening a toggle hash, would leave the button in an active state indefinitely
    • Updated: Elements has been split apart from "Standard" and "Dynamic" to a handful of other group in an attempt to make the element list more digestable
    • Updated: Over a thousand PHP 8.2 deprecations removed. More to come
    • Updated: Text typing, Sliders, and Google Maps have been split into their files to lessen default JS loads
    • Updated: Our shortcodes now add the post ID, otherwise plugins like Yoast could not render our content properly. This requires saving the page again in Cornerstone
    • Updated: Dates based dynamic content was not using localized wordpress date function
    • Bugfix: Card Element required two taps to transition on mobile
    • Bugfix: Card Element that was tapped on a touchscreen laptop, would not work with the mouse after touching the screen
    • Bugfix: Dropdowns use "none" as their display to prevent causing double scrollbars when the dropdown is larger then the page
    • Bugfix: Better object support for the control type choose
    • Bugfix: Value List Control (Color, Font Manager, and Custom Attributes) was very hit or miss when it came to drag and drop positioning
    • Bugfix: Scrolling to an element in the preview either from a click or from creating an element was causing performance issues. It was also taking it's sweet time to scroll the page
    • Bugfix: Sticky bars with more than one bar, would almost always give you an incorrect value for `fixed_top_offset` which is used in a number of different features
    • Bugfix: WooCommerce Variable products would give you a sale price value for `{{dc:woocommerce:product_regular_price}}`. This now uses `get_variable_product_price` internally
    • Bugfix: When a Search Modal opened on a mobile device, the keyboard would often be hiding the search input
    • Bugfix: Going from 0em to greater then 5px on text elements would cause the Empty Element indicator to display and never be hidden after changing
    • Bugfix: You could not use `0` as a searchable key in `cs_get_path`. Example `{{dc:looper:field key='choices.0.message'}}` which grabs the first index of a `choices` array
    • Bugfix: Tabs inside a tabs elements would not render the styling of the child tabs correctly in the preview
    • Bugfix: When going from a border, to a zero width border, back to a normal border. The final border breakpoint would not show up and remain transparent
    • Bugfix: Scroll hashes positioning on the X headers were incorrect if you were on mobile
    • Bugfix: Parameter dynamic content was matching images incorrectly, (Ex 11:00 or other times of days that also related to an attachment ID)
    • Updated: Removal of Perfect Scrollbar which fixes these final issues, and removes about 15kbs of JS
    • Bugfix: iOS devices required two taps to click anything in an Off-Canvas element or Modal Elements if that element had a scrollbar
    • Bugfix: Clicking a modal scrollbar would close the modal. You were almost always clicking the body scrollbar, not the modal's scrollbars
    • Bugfix: The scrollbar between the body and Off-canvas elements was different
  • X 10.4.0 - November 6, 2023
    • Feature: `--x-body-scroll-active-bar-size` root property added that will be a pixel value of the size of scrollbar. Browsers like Google Chrome push the page based on it's scrollbar size. This prevents the page from jumping when "Disable Body Scroll" is in use and is only a non zero value when the page is locked
    • Feature: Font Awesome icons can load as SVG or Webfonts
    • Updated: Font Awesome updated to Font Awesome 6
    • Updated: Audit and refactor of non-passive mobile events
    • Updated: Toggle hashes now actively change the URL with the hash, including removing the hash when a toggle hash is closed. This also a fixed a bug where opening a toggle hash, would leave the button in an active state indefinitely
    • Updated: Over a thousand PHP 8.2 deprecations removed. More to come
    • Updated: Our shortcodes now add the post ID, otherwise plugins like Yoast could not render our content properly. This requires saving the page again in Cornerstone
    • Bugfix: Dropdowns use "none" as their display to prevent causing double scrollbars when the dropdown is larger then the page
    • Bugfix: Certain Envira invalid license key messages were still displayed
    • Bugfix: When a Search Modal opened on a mobile device, the keyboard would often be hiding the search input
    • Bugfix: Scroll hashes positioning on the X headers were incorrect if you were on mobile
    • Updated: Removal of Perfect Scrollbar which fixes these final issues, and removes about 15kbs of JS
    • Bugfix: iOS devices required two taps to click anything in an Off-Canvas element or Modal Elements if that element had a scrollbar
    • Bugfix: Clicking a modal scrollbar would close the modal. You were almost always clicking the body scrollbar, not the modal's scrollbars
    • Bugfix: The scrollbar between the body and Off-canvas elements was different

FAQ

Status

  • 11/06/23: Pro 6.4.0, X 10.4.0, and Cornerstone 7.4.0 available via manual updates
  • 11/13/23: Pro 6.4.1, X 10.4.1, and Cornerstone 7.4.1 available via manual and automatic updates
  • 11/20/23: Pro 6.4.2, X 10.4.2, and Cornerstone 7.4.2 available via manual and automatic updates
  • 11/27/23: Pro 6.4.3, X 10.4.3, and Cornerstone 7.4.3 available via manual and automatic updates

The following confirmed issues are specific to this cycle. If listed here we are planning to address it in a subsequent point release. Items will be crossed off as they are corrected and you will see corresponding notes in the changelog above.

  • Inner Dynamic content doesn't work with certain color fields.
  • SVG folder is now sent as a zip file and only unzipped if you switch to SVG mode. SVG folder is causing inode issues with certain hosts