Redakt version 1.1 comes with new features, improvements and bug fixes. This release wrap-up describes the changes since version 1.0, including the in-between patch versions.
The following new features have been introduced in this version.
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 metapackage.
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".
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 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.
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 tag helper attribute to set the output image format.
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.
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.
You can now add a response cache attribute to a content type which sets the HTTP cache expiration. This allows configuration of response caching on a per-content type basis.
Previously, a page could only be published to a relative URL from its parent page. It is now also possible to publish a page to an absolute URL by selecting the URL prefix dropdown on the publication dialog. However, doing this prevents Redakt from relocating the URL if the page is moved to a different parent.
The following minor improvements and bug fixes have been done in this version.
The Redakt.All metapackage now contains all official Redakt packages. Previously, the Redakt.All package only contained feature packages, and data provider packages had to be installed separately. Now, no other Redakt packages are necessary when using the Redakt.All package. This is only recommended for trying out Redakt; for production systems we recommend to install the separate Redakt packages that you require instead.