Release date: May 6, 2021

Version 1.1.0 contains many new features, updates, and bugfixes. See also the release announcement here.

New features

The following new features have been added in this version:

Url Management

The URL management feature allows you to detect and log 404 not found responses, and add and manage temporary or permanent redirects. The URL management module has also been added to the Redakt.All NuGet meta-package.

OpenAPI specification

The Content Delivery API now contains a full OpenAPI v3 specification, which can be imported by most development platforms to generate an API client stub based on the specification. The specification includes full schema descriptions of all content types defined in the system. After installing and configuring the Redakt Content Delivery API package, the default path to the specification is "/api/openapi.json".

SkiaSharp library support

In addition to System.Drawing and ImageSharp, Redakt has added integration for the SkiaSharp project. Currently, SkiaSharp is the only imaging library that supports WebP output (see below). ImageSharp will remain the default selected image processing library, so to make use of SkiaSharp, the SkiaSharp image processor must be explicitly registered during startup. WebP support is also expected to be added to ImageSharp with the upcoming ImageSharp v1.1 release, at which time we will update the Redakt ImageSharp package to include WebP support.

WebP image format support

WebP is an image format that offers improved image quality at lower file sizes over other formats like JPEG and PNG. WebP support has been increasing to a point where it is now supported by most recent browsers. Redakt's image processing has now also added support for the WebP format (currently only supported by the SkiaSharp module). WebP is enabled by default, where Redakt will serve the WebP image if the user agent supports it. Browser (versions) that do not yet support it will still receive the original image format.

Image format selection

In addition to WebP support, an image format can now optionally be set on image tags to convert an image to the specified format. For example, content managers may upload a lossless PNG file as the source image, while you may want to serve a smaller compressed JPEG file to the browser instead. Developers can use the rx-format Image tag helper attribute to set the output image format.

Improved rich text editor

We have switched from Quill to Summernote for our default rich text editor. This has resulted in a more stable text editing experience and extra features such as adding tables, HTML source view, and improved image positioning.

Added Node Picker property editor

We've added a node picker property editor to select single or multiple nodes from the site tree. This was already possible with the link editor, but the node picker is a more specialized version to select only internal page nodes. The view model property type can be either of type IPublishedContent, string (for node ids), or IContentType models. The node picker editor is selected by decorating the property with NodePickerAttribute.

Response caching

You can now add a response cache attribute to a content type, which sets the page HTTP cache expiration. This allows the configuration of response caching on a per-content type basis.

Changes

The following changes have been made in this release:

  • Added a node icon status overlay in the node tree to indicate there is newer unpublished content.
  • Improved layout of preview window header.
  • Improved output of the HTML minifier.
  • Improved content revisions dialog layout and information.
  • Improved node view model extension methods.
  • Improved file upload performance.
  • Updated Azure package dependencies.
  • Added a method to lookup the URI for a media asset.
Redakt.All meta-package

Previously, the Redakt.All NuGet package only contained feature packages, and data provider packages had to be installed separately. From version 1.1, all current Redakt packages are included in the Redakt.All meta-package. This means that you do not need to install any other Redakt package when using the Redakt.All package. This is only recommended for trying out Redakt; for production systems, we recommend installing the separate Redakt packages that you specifically require instead.

Bugfixes

The following bugs have been fixed in this release:

  • Fixed issue with reverting to a previous revision.
  • Fixed status display for scheduled publication.
  • Fixed an issue with Content Delivery API JSON serialization.
  • Fixed an issue with file root URL when using a CDN.
  • General code cleanup & refactoring.