Skip navigation

Product changelog

  • All changes
  • Breaking changes
Showing changes in
  • Kentico Kontent app
  • Custom elements API
  • Delivery API
  • Management API
  • Recommendation API
  • SDKs and tools
  • Webhooks
  • Docs & tutorials

Subscribe to all changes via RSS or breaking changes via email .

Asset indexing and crawling

We're going to enable asset indexing for all Kontent projects. This means that the assets you link publicly can be indexed by search engines and crawled by social networks, letting these services load and display your image previews and thumbnails.

New version of Java SDK and model generator

The Java Delivery SDKOpens in a new window and its model generatorOpens in a new window were updated to a new version. The updated SDK requires Java 8+ to work correctly.

Also, multiple Java packages were merged into one repositoryOpens in a new window that now contains:

New Smart Recommendations API

We've released a new version of our content recommendation engine called Smart Recommendations. The new API version replaces the former Recommendation API, which is now deprecated.

Get up and running with our tutorial on setting up Smart Recommendations for your projects. In your apps, use the new Smart Recommendations API to get recommended items and (optionally) track information about your visitors.

August in Kontent Docs

In August, not only can you read all the materials for Web Spotlight, including a blog post on transitioning existing projects to Web SpotlightOpens in a new window, but you can also check other new materials. When you're about to migrate existing content, let us introduce you to the importing to Kontent. Choose from our tools or pick the API.

If you're a developer, check out how you can filter content items when you retrieve them through the Delivery API. This article lists eleven examples in different scenarios using all the programming languages you can easily use.

Website management made simple

Web Spotlight, our brand new tool for Kentico Kontent focused on website management, is now available. Feel free to request the activation of this feature on your project and watch the magic happen.

Simple adjustment of navigation using the editor in Web Spotlight

Simple adjustment of navigation using the editor

Website editing with preview edit buttons

Website editing with preview edit buttons

New filtering operators for Delivery API

When getting your content from Delivery API, you can now use new filtering operators. For all values, you can use [empty] (element has no value) and [nempty] (element has value). For non-array values like strings and numbers, you can use [eq] (same as =), [neq] (value doesn't equal the specified value), and [nin] (element value is not in the specified list of values).

New guides on starting with setting up Kontent

In the last few months, we've introduced new guides on content modeling and the configuration of team collaborations features. This time, we created introductory tutorials on setting up your project and assets.

Expiration of content

The expiration of content lets you schedule when content items move to the Archive state, automatically removing them from your websites and applications. This eliminates the overhead of manually removing items when they become obsolete, such as at the end of a campaign or after a planned event.

Expiration of content in the content item listing and editing

Expiration of content in the content item listing and editing

Invite multiple users at once

You can now invite multiple new users and existing users at the same time in the invitation dialogue. We've also improved several things under the hood to make the overall inviting experience smoother and faster.

Animation showing how to invite multiple users.

Inviting new users and existing users in one go.

Easier access to quick actions for items

When editing your content items, you can now add tasks, update due dates, notes, and contributors using the quick actions at the top. 

Quick actions when editing a content item.

We've also changed the way you move items between workflow steps to make it more convenient. This will save you time when updating assignments.

Changing a workflow of a content item.

Simultaneous editing without conflicts

You can now create content without the risk of overwriting the work of your colleagues. We took care of conflict prevention on the content item element level.

For example, this means you don't need to wait for a colleague to finish writing the body of an article if you want to adjust metadata for the same content item. Watch our webinarOpens in a new window for a demo.

Multiple writers working on the same content item.

Simultaneous editing

You can now search for items using an exact phrase without getting partially matched items.

Animation showing how phrase matching works with content item search.

Finding content items with exact phrase match in .

New team and collaboration guides

After new content modeling guides introduced in April, we're extending the Set up Kontent section with a new set of tutorials on setting up your team and collaboration within the team. The tutorials cover different topics like role configuration, establishing a workflow, adding multilingual or regional content, and setting up a collaboration process in your team.

New permission for environments

You can now use a Manage environments permission to let users in your project work with environments. For example, this can be useful if you want to give your developers complete control over your non-production environments.

Files used by assets can be updated via API

The Upsert an asset endpoint in Management API v2 now lets you update the file_reference you get after uploading a file. This means you can programatically change the file used in specific assets.

Breaking changes newsletter

Besides viewing all changes from the Kentico Kontent Docs portal in your RSS reader, you can now follow all Kontent's breaking changes via email. Emails with a breaking change will be sent out right after its publishing here in the changelog. This way, you don't need to look for them proactively and still prepare for any breaking change in advance. Subscribe by clicking a link at the top of the changelog.

Structured text, more formatting, and images in tables

Tables now allow headings, lists, and more text formatting options in addition to bold, italics, and links. Also, you can insert images. See how to use tables in rich text.

Rich text in a table including images, lists and headings.

Table with images, lists, and headings.

In your content types, you can separately limit the formatting options for tables just like you can for the text itself.

Configuration of allowed text formatting in tables.

Configuration of allowed text formatting in tables.

New macros for preview URLs

You can now use two new macros while defining preview URLs for your content types. The new {Codename} macro resolves to the codename of a content item and the {ItemId} macro resolves to the internal ID of a content item.

Manage project environments

Environments provide a way to make changes in isolation from your production project. Use environments to prepare changes for your production project in a safe place. Your developers then take care of propagating those changes to production.

Webhook triggers for Preview API

Added Delivery Preview API events that you can choose to trigger your webhooks. These events can be triggered for changes in content items and taxonomy groups. See webhooks reference for details.

Checking your content structure

You can now browse content items in a hierarchical form using the new Relations tab.

Assigning roles in different languages

You can now assign multiple roles in different languages to invite users with language-specific access to your project.

Animation showing how to invite user and assign multiple roles.

New deep-dive content modeling guide

So that you have better guidance during content modeling, one of the most important parts of any content project, there's now a new content modeling section available that explains what content modeling is, how to start, and how to go live. Moreover, you can get some inspiration from our existing customers.

With that, the docs tutorials are now sorted within a slightly different page tree with new names. If you bookmarked any old URL, though, all URLs will still work.

Restore multiple content items at once

If you have multiple items in the Archived workflow step and you need to start working on them again, you can now select these items in your content items list and move them to the first step your role can work with using the Restore action.

Tasks in content items

You can now create and assign tasks within content items to delegate responsibilities and track progress of your content creation.

Archiving content and a new workflow step

Your projects will now contain a new default workflow step named Archived, which comes after the Published step. After you unpublish an item, you'll find it in the Archived step. Unpublished and archived content will no longer be mixed up with items in the Draft and other workflow steps in your content list. If you later decide that you need to work on an archived item again, you can restore it to the first available step.

Custom elements full-text search support

Custom elements can expose a plain text value that will be searchable in the content items list. See Custom element API and Management API reference for more information.

Sharing filters in the content item listing

You can now share your active filters in the content item listing with your colleagues via link.

Example of shared filters

API changelog evolves into product changelog

The changelog will now contain product changes as well. Use the new filter on the right (or at the top on mobile devices) if you're interested in a specific part of Kontent.

Changes to the unpublish and create new permissions

The permissions to Create a new version and Unpublish were split. The permissions can be assigned separately to the roles in your project via the Published workflow step. Make sure to verify who can unpublish content in your project and limit the permission only to select roles.

Markdown shorthands in rich text editor

You can now use markdown shorthands to create headings and lists when editing text in the rich text editor.

Animation showing how to use markdown shorthands

Saving filters in the content item listing

You can now save filters in the content item listing so that you can find the right content even more quickly and don't need to select the filters again every time.

Saving filter buttons

Commenting on all content elements in all workflow steps

You can now add comments to all content elements in all workflow steps. That also applies to custom elements and published content items.

Duplicating content types

When you need to create a similar type that has a lot of content elements, you can now create a copy of the content type and save some time.

Duplicate option in content type editing

Faster revision comparing

Comparing revisions of content items is now significantly faster for larger items with a lot of rich text elements.

Maximum length of the content item name increased

Names of content items can now contain up to 200 characters (instead of original 50) to better support more descriptive titles.

Configuring columns in the content item listing

You can now configure what columns will be shown in the content item listing in your project. Hide those columns that you don't use or don't want to see.

Column visibility configuration in content inventory

Addition to webhook triggers

Added new webhook triggers for content items. The new content item events are create, delete, and restore. Whenever someone creates new content in your project or deletes items in any language, you can use the new events to trigger an integration with the Management API.

Discarding unpublished changes

You can now discard unpublished changes made to your content so they don't clutter your project when a user accidentally creates a new version.

Discarding a draft

Choose scope for full-text search within content items

You can now select a scope that will be used for searching within content. You can choose to search either within content item names only or within all content elements of your content items.

Selecting a scope for search

Delivery API limitation

On February 1, 2020, introduced the following changes to the Delivery API to ensure our Fair Use PolicyOpens in a new window:

  • The List content items endpoint will return max. 2,000 items (including linked items).
  • A rate limit will be applied to uncached requests to the Delivery API, resulting in a 429 Too Many Requests error when the limit of 100 requests per second is reached. This won't affect requests that hit our CDN cache.

Deleting projects

You can now delete projects in your subscriptions. Be careful, though, deleting a project is irreversible as all project data are removed. If unsure whether you can delete a project, you can always archive it instead.

Deleting project dialog

New URL for Custom elements JS API

The Custom elements JS API is now available at a new URL: https://app.kontent.ai/js-api/custom-element/v1/custom-element.min.js. The previous URL https://app.kontent.ai/js-api/custom-element.js has been deprecated and will stop working after a few months. We recommend using the new URL for any custom elements that you plan to create. The previous URL temporarily redirects to the new one, which means your existing custom elements will continue to work.

Request conflict resolution in Management API

The Management API may now return a 409 Conflict status code whenever a single resource (such as content type or snippet) is modified via multiple requests at the same time.

Including images in the Guideline element

 You can now add images to the Guidelines element to advise your content editor more effectively when they're creating content.

Changes to Management API v2

On December 11, 2019, we introduced the following breaking changes:

  • The endpoint for getting taxonomy groups returns a paginated response instead of an array of taxonomy objects. To unify the data format across the API, you will get the list of taxonomies wrapped in a JSON object which includes paging. If you use our JavaScript SDKOpens in a new window, you can use the latest version which accepts both the old and new format of the endpoint. If you use your own implementation, you will need to change the code to accept the taxonomies in this new format.
  • The endpoints for modifying content types and modifying content type snippets use the path parameter instead of the referenceparameter. Currently you can use both parameters. After this change, the reference parameter will be deprecated and only path parameter will work.
  • The endpoints that return paginated responses accept only the x-continuation header parameter for paging. The continuationToken query parameter will be deprecated.
  • The URL slug element's  mode property is required instead of optional.
  • When specifying elements in content type snippets using codename references, the element codename must be prefixed with the snippet codename. The stable version of the API will no longer accept non-prefixed codenames such as element_codename and requires prefixed codenames such as snippet_codename__element_codename. This is the same format as displayed in the UI when copying codenames of elements in snippets.

JavaRx Delivery SDK and Swift Delivery SDK renamed

In relation to the recent rebranding to Kentico Kontent, additional SDK packages have been updated to reflect the new naming and are now available at the following locations:

Changes to codenames of content items in the Management API

Added support for setting codenames when creating or updating content items via the Management API. To avoid breaking changes in version 1 of the API, updating the name property of an item causes the codename to autogenerate based on the new name. In version 2, the codename remains unchanged.

.NET Management SDK, Express Apollo boilerplate, GraphQL generator, and Gridsome plugin renamed

In relation to the recent rebranding to Kentico Kontent, additional SDK packages have been updated to reflect the new naming and are now available at the following locations:

Components in Management API v2

Rich text element objects in language variants were extended with a new components property. The property contains all components inserted into the value of the rich text object. You can specify components when working with language variants.

Total count of items in Delivery API

Added support for retrieving total count of content items matching your query when listing content items via the Delivery API. To get the total number of items, use the includeTotalCount query parameter set to true in your request. This will cause the pagination object to include the total_count property with the total number of items. You can use the new property to build pagination mechanisms in your apps.

Changes to URL slug element model

The URL slug element in language variants lets you specify the element's mode via the new mode property. With the mode property, you can programmatically choose whether the URL slug element's value is generated automatically or assigned manually.

Java Delivery SDK renamed

In relation to the recent rebranding to Kentico Kontent, the Java Delivery SDK package was updated to reflect the new naming and is now available at https://github.com/Kentico/kontent-delivery-sdk-javaOpens in a new window.

Changes to content type and content type snippet PATCH requests

For Management API v2, PATCH requests to modify content types and content type snippets have been slightly modified to make references to given objects less ambiguous. To replace the property_name and reference body parameter, a new path body parameter has been added to specific the specific object that should be modified.

The property_name and reference parameters will continue to work for some time, but it is recommended to switch over to using the the path parameter.

Change to sign-in URL

The domain used when signing in to Kentico Kontent has been changed to https://login.kontent.ai. Users will be redirected to this domain automatically when accessing https://app.kontent.aiOpens in a new window without being signed in.

Asset model change in Management API

The asset objects retrieved via Management API v1 and v2 now contain a new url property with a URL to the binary file.

Asset folders added to Management API

Added support for managing asset folders via Management API v2 using the /folders endpoint with GET, POST, or PATCH operations. Use GET /folders to retrieve a list of your folders, POST /folders to create initial folder structure, and PATCH /folders to modify existing folders. For example, the modification includes operations such as adding "op":"addInto", renaming "op":"rename", and removing "op":"remove".

SDK packages renamed

In relation to the recent rebranding to Kentico Kontent, SDK packages are being updated according to the new naming.

New SDK packages:

New boilerplate packages:

New sample apps:

Please note that the packages contain new endpoint URLs (https://*.kontent.ai) and the namespaces have been updated accordingly to Kentico.Kontent.*.

Changes to paging in Management API v2

The continuationToken query parameter has been deprecated and replaced with the x-continuation request header. The change affects endpoints that return a dynamically paginated list of objects. The original query parameter will continue to work until the end of November 2019.

Changes to references in taxonomy and language updates

The way PATCH operations to modify taxonomy groups and languages work with references has been changed.

For the Modify a language endpoint, the reference body parameter has been removed. The operation will be applied to the language specified in the language_identifier path parameter.

For the Modify taxonomy groups endpoint, the reference body parameter is optional for the replace and addInto operations. If a reference is not specified, the operation will apply to the taxonomy group specified in the taxonomy_group_identifier path parameter. If a reference is specified, the operation will apply to the specified term. The reference body parameter is still required for the remove operation.

Changes to content item PUT requests

The sitemap_locations property has been made optional for the body of the content item upsert requests for Management API version 1 and version 2.

API URLs changed

The API URLs have changed to:

  • https://deliver.kontent.ai/ for the Delivery API
  • https://preview-deliver.kontent.ai/ for the Preview Delivery API
  • https://manage.kontent.ai/v2/ for the Management API v2 (BETA)
  • https://manage.kontent.ai/v1/ for the Management API v1
  • https://recommendations.kontent.ai/ for the Recommendation API (BETA)

The original URLs containing kenticocloud.com will still be functional until further notice. However, we recommend that you update your SDK to the newest version or change the URLs to ensure your applications are always operational.

Webhook triggers extended

The types and operations for webhooks were extended to newly include change_workflow_status as webhooks can be triggered on changes to the workflow step an item is in.

Element limitations in the Management API

Version 2 of the Management API now includes limitations for elements in content types. The API now returns information about limitations in content type responses (all kinds of requests). See example responses in the content type model.

Webhook notification model change

The webhook notification model was extended with the id property for content items and taxonomy groups. With the ID in the notifications, you can uniquely identify any items or taxonomy groups that were modified, even if they were renamed and their codenames changed.

  • JSON
{ "data": { "items": [ { "id": "e5d575fe-9608-4523-a07d-e32d780bf92a", "codename": "where_does_coffee_come_from_", "language": "en-US", "type": "article" } ], "taxonomies": [ { "id": "4794dde6-f700-4a5d-b0dc-9ae16dcfc73d", "codename": "personas" } ] }, "message": { "id": "e1b372a2-1186-4929-b370-904c59f060b7", "project_id": "bf32e7ab-85c3-0073-47b9-90838a8462de", "type": "taxonomy", "operation": "upsert", "api_name": "delivery_production", "created_timestamp": "2019-07-18T10:52:33.1059256Z", "webhook_url": "https://myapp.com/webhook-endpoint" } }
{ "data": { "items": [ { "id": "e5d575fe-9608-4523-a07d-e32d780bf92a", "codename": "where_does_coffee_come_from_", "language": "en-US", "type": "article" } ], "taxonomies": [ { "id": "4794dde6-f700-4a5d-b0dc-9ae16dcfc73d", "codename": "personas" } ] }, "message": { "id": "e1b372a2-1186-4929-b370-904c59f060b7", "project_id": "bf32e7ab-85c3-0073-47b9-90838a8462de", "type": "taxonomy", "operation": "upsert", "api_name": "delivery_production", "created_timestamp": "2019-07-18T10:52:33.1059256Z", "webhook_url": "https://myapp.com/webhook-endpoint" } }

You can now specify titles for web URL links in Rich text elements to improve SEO of your website. When you specify a link title in the UI,  the title will be rendered in the API responses from the Delivery API and Management API v2.

  • JSON
# Delivery API "content": { "type": "rich_text", "name": "Content", "images": {}, "links": {}, "modular_content": [], "value": "<p><a href=\"http://www.kenticocloud.com\" title=\"#1 CMS\">Kentico Cloud</a></p>" } # Management API v2 { "element": { "id": "0ddd5a94-0360-5126-92e6-264dfbb61849" }, "value": "<p><a href=\"http://www.kenticocloud.com\" title=\"#1 CMS\">Kentico Cloud</a></p>" }
# Delivery API "content": { "type": "rich_text", "name": "Content", "images": {}, "links": {}, "modular_content": [], "value": "<p><a href=\"http://www.kenticocloud.com\" title=\"#1 CMS\">Kentico Cloud</a></p>" } # Management API v2 { "element": { "id": "0ddd5a94-0360-5126-92e6-264dfbb61849" }, "value": "<p><a href=\"http://www.kenticocloud.com\" title=\"#1 CMS\">Kentico Cloud</a></p>" }

Image resolution in Delivery API

Extended the asset model with the width and height properties. This applies to assets used in the Asset and Rich text elements. With this enhancement, you can, for example, render placeholders for images in your application before the assets themselves are loaded.

  • JSON
"teaser_image": { "type": "asset", "name": "Teaser image", "value": [ { "name": "coffee-beverages-explained-1080px.jpg", "type": "image/jpeg", "size": "90895", "description": null, "url": "https://assets-us-01.kc-usercontent.com/38af179c-40ba-42e7-a5ca-33b8cdcc0d45/e700596b-03b0-4cee-ac5c-9212762c027a/coffee-beverages-explained-1080px.jpg", "width": 1000, "height": 666 } ] }
"teaser_image": { "type": "asset", "name": "Teaser image", "value": [ { "name": "coffee-beverages-explained-1080px.jpg", "type": "image/jpeg", "size": "90895", "description": null, "url": "https://assets-us-01.kc-usercontent.com/38af179c-40ba-42e7-a5ca-33b8cdcc0d45/e700596b-03b0-4cee-ac5c-9212762c027a/coffee-beverages-explained-1080px.jpg", "width": 1000, "height": 666 } ] }

Content models in the Management API

Added support for managing content types, content type snippets, and taxonomy groups in the Management API v2. You can use the new endpoints to import content models from other systems, integrate with third party services, or synchronize changes across multiple projects (Continuous Integration).

Workflow steps in the Management API

Added endpoints that let you programmatically create new versions of your content as well as publish, schedule publishing, or unpublish your content. This is especially useful for automating your work or enriching your content with data from other sources. Learn more about Workflow in the Management API v2.