Release Notes

Contents

Version 5.2

This release introduces improvements to the aggregations

Improvements

  • Added the min, max and count aggregations.

  • Added the minDocCount field to the TermsAggregationInput aggregation.

Version 5.1

This release introduces improvements to the subscriptions API, new functions to simplify execution of a GraphQL query and bugs fixes.

Subscriptions

  • The SCHEMA argument becomes optional for guillotineLib.initWebSockets(SCHEMA) function

  • New function to create WebSocket data from request guillotineLib.createWebSocketData(req)

Schema creation and query execution

  • New function guillotine Lib.execute(params) to execute a GraphQL query. Also this function allows to create and generate a schema if the site or related apps were changed. More details here.

Improvements

  • Introduced new xAsJson field for Content type.

Bug fixes

  • Getting draft events via master branch

  • first argument does not have effect on content with ImageSelector input type

Version 5.0

This release simplifies use of rich text content, introduces aggregations and filters, adds scalars for JSON and other common data types, improvements to the subscriptions API and improved consistency in type and field naming.

Aggregations

Aggregations are now available when using queryConnections

Filters

queryConnection and query now also support filters

Attachments

attachmentUrl field has been added to the Attachment type

Rich text

Content produced by the HtmlArea input type is now pre-processed to give front-end developers more control over the result. Rather than returning a basic string response, a RichText object, with several interesting new fields is returned.

The most imporant capabilities are:

Macros

The processedHtml field now returns macro placeholder elements with references the macro configuration data with can be retrived via another field. This simplifies custom processing of macros in your client.

Images

A default img element is still in the markup, but now additionally includes a reference to data object of the image. This enables developers to customise the end result and presentation of images.

Image srcset

The processHtml function now supports a new parameter for imageWidth. Simply pass in the imageWidths you would like to use, and an srcset will automatically be generated for each image, including the default style settings.

Subscriptions

New event processing for subscriptions only listens for events specific to site/project and branch. Event filter can be further tuned using subscriptionEventTypes option.

A new default WS event handler guillotineLib.initWebSockets(SCHEMA) has also been added.

Breaking changes

Version 5.0

Type renaming

Component types like Part, Page and Layout was changed: from <ComponentType>ComponentDataDescriptorConfig to <ComponentType>_<applicationKey>_<descriptorName>, and from ComponentType>ComponentDataApplicationConfig to <ComponentType>_<applicationKey>_ComponentDataApplicationConfig.

Attachment type

is now returned instead of String for AttachmentUploader input types.

asJson

dataAsJson and pageAsJson, as well as component config fields now return JSON instead of String.

Subscription

field newEvent has been renamed to event. The type and localOnly arguments have been removed. Events are now also filtered, so only site/project related events are returned.

UrlTypeType

has been renamed to UrlType

queryConnection

field now returns type QueryContentConnection instead of an array of type ContentConnection

Field name generation

to comply with GraphQL from the types OptionSet and ItemSet no longer use camel-case. This is consistent with other field name generation in Guillotine.

TextComponent and HtmlArea

based fields now returns type RichText instead of String and supports the processHtml argument of type ProcessHtmlInput.

Date

input type now return Date scalar instead of String

Time

input type now return LocalTime scalar instead of String

DateTime

input type now return DateTime scalar instead of String if there is A config with timezone, otherwise "LocalDateTime" scalar

Contents