Release Notes

Contents

Guillotine 8 requires XP 8.0.0 or higher.

Guillotine 8

Features

Content

Added new fields: displayNameExpression, displayNameListExpression, displayNamePlaceholder, displayNamePlaceholderI18nKey, titleI18nKey, descriptionI18nKey.

CORS origin matching

cors.origin now accepts multiple comma-separated values (e.g. https://example.com, https://admin.example.com) and supports * to allow all origins, literal origins, and ~-prefixed regex patterns for dynamic matching (e.g. ~https://.*\.example\.com). Use ~.* to reflect any origin.

cors.exposedHeaders

New cors.exposedHeaders option sets the Access-Control-Expose-Headers response header, exposing extra response headers beyond the CORS safelist (e.g. X-Request-Id, X-Custom-Header).

Deprecations

ContentType.displayName

The displayName field on ContentType is superseded by the new title field, which carries the same value. displayName is kept for backward compatibility and now returns whatever title returns. New code should query title instead. displayName will be removed in a future major release.

Breaking changes

Requires Enonic XP 8

Minimum required XP version is 8.0.0. Guillotine 8 will not install on XP 7.x.

XData_base_ApplicationConfig

Type XData_base_ApplicationConfig has been renamed to Mixin_base_ApplicationConfig.

XData_base_gpsInfo_DataConfig

Type XData_base_gpsInfo_DataConfig has been renamed to Mixin_base_gpsInfo_DataConfig.

XData_media_ApplicationConfig

Type XData_media_ApplicationConfig has been renamed to Mixin_media_ApplicationConfig.

XData_media_cameraInfo_DataConfig

Type XData_media_cameraInfo_DataConfig has been renamed to Mixin_media_cameraInfo_DataConfig.

XData_media_imageInfo_DataConfig

Type XData_media_imageInfo_DataConfig has been renamed to Mixin_media_imageInfo_DataConfig.

Content.hasChildren

The hasChildren: Boolean field has been removed from all types implementing Content. Use the existing children / childrenConnection fields and check whether the result is empty instead.

Permissions.inheritsPermissions

The inheritsPermissions field has been removed from the Permissions type. The inheritance flag is no longer exposed through the GraphQL API.

ContentType.contentDisplayNameScript

The contentDisplayNameScript field on ContentType has been removed.

Long

For Input form item with type Long, the returned value type has changed from String to Long.

CORS configuration

The CORS implementation has been reworked and its configuration behaves differently:

  • The cors.enabled property has been removed. CORS is now enabled by setting cors.origin and disabled when cors.origin is omitted. Previously CORS was enabled by default and allowed all origins when none were configured; it is now disabled unless an origin is explicitly configured.

  • The default for cors.methods changed from POST, OPTIONS to GET, HEAD, POST.

  • When cors.allowedHeaders is not configured, the request’s Access-Control-Request-Headers value is now reflected in the response instead of defaulting to Content-Type.


Contents

Contents