The only new feature included in this release is editable dictionary objects. Aside from that there were a couple of improvements made to existing features and a few bugfixes.

Editable Dictionary Objects

We had previously introduced dictionary fields for use by profiles or in other custom data. This was a helpful feature for a small set of scenarios, but our frontend developers wanted more. They wanted to be able to create and access custom objects created dynamically inside a template.

Enter editable dictionaries.

Editable dictionaries are nearly identical to dictionary fields except that they are created and modified dynamically using liquid. This looks like a small addition to an existing feature but is in fact brand new functionality - the old dictionaries are not editable as that could create odd conflicts and unexpected behavior for template developers.

All of the new dictionary functionality is outlined on the dictionary documentation page. In summary:

  • Create dictionaries using the {% create_dictionary %} and {% copy_to_dictionary %} methods.
  • Set and unset properties on the dictionary using the {% set_dictionary %}, {% unset_dictionary %}, and {% copy_to_dictionary %} methods.

As templates become more complex and reusable, we hope that this new feature makes it easier to configure template behavior at every level and reduce the need for copied and modified liquid code.

Improved Features

  • Liquid collection methods ({% articles %}, {% blog_posts %}, etc...) can now sort by "random" while maintaining the ability to fast-cache the page using the new "cache_random:true" option.
  • The liquid shuffle filter now accepts an optional parameter to allow the results to be cached.
  • Some minor UI improvements and bugfixes for JSON and CSV imports.
  • Improvements to package manager for packages that contain dependencies from other sites. Further improvements to package manager for validation and installation of complex full site packages including cross-site dependencies.

Bugfixes

  • Bug #3706: Display "Copy" button when embedding galleries and forms in HTML fields
  • Bug #3709, Bug #3745: Improve handling of HTML entities in tooltips
  • Bug #3710: Add multilpe empty items to fieldsets before editing them
  • Bug #3711: Send billing notifications to the primary billing email
  • Bug #3717: Linking to a page in a custom site setting should link to the preview page on the preview site and the live page on the live site
  • Bug #3718: Reordering fieldset objects blanks out html fields
  • Bug #3720: Rendering canonical tag in header_tags incorrectly
  • Bug #3721: Change "dirty" to "edited" in publish all dialog and popup notification
  • Bug #3738: List field types containing objects with long titles cover the properties and remove buttons in edit page view
  • Bug #3739: Zapier integration with forms is broken if there are any fields without labels
  • Bug #3741: Publishing a datastore should NOT publish all unpublished datastore items
  • Bug #3742: Close all button for fieldsets is partially hidden in page edit view
  • Bug #3746: Image are not being displayed properly in some cases (still under investigation but significantly improved)