Changelog

New Search Filter: Empty and Not Empty Fields

Search
Web App

Starting April 24th, our content search bar now includes a filter option for fields that are empty (contain no content) or not empty (contain content), making it easier to find entries missing key information.

This filter is available for all Text (including Symbols), Date, and Number fields.

Screenshot: empty/not-empty filter

GraphQL Content API

The GraphQL Content API now supports the ability to retrieve third-party content within the same Contentful payload. When an Entry contains a reference to external content, Contentful natively resolves the External Reference and delivers the content data from the third-party service rather than responding with only a reference.

This feature removes the need to make two separate requests (to Contentful and the third-party service), and it handles synchronous delivery. By making a single request to Contentful that contains data from both sources, link resolution in GraphQL API enables efficient code, reduced overhead, and easier content management.

Link resolution in the GraphQL API

For more information, see the Native external references Native external references help page and the Native external references section on the GraphQL API page.

AI Actions: automate translation, SEO and more to optimize your content workflows

Contentful now offers AI Actions to automate repetitive tasks, such as translating content, optimize keywords for SEO, and generating alt-text—directly within your workflow. AI Actions let you configure AI-driven processes that can reference existing Contentful content or integrate external data. With customizable templates and variables, this feature reduces manual effort and helps deliver high-quality, accessible, and consistent content faster.

AI Actions

Key benefits:

  • Boost Efficiency: speed up content production by automating translation and SEO tasks, reducing reliance on external agencies.
  • Contextual Intelligence: enable AI Actions to leverage your Contentful data or external sources for more relevant outputs.
  • Flexible Customization: tailor AI Actions to fit your specific use cases, ensuring the solution works precisely for your content needs.

Availability:

  • AI Actions are available on select plans. For more details, please read our AI Actions documentation or contact your sales representative.

Workflows: Add AI Actions into workflow steps

Workflows

Starting March 31, 2025, users can now add AI Actions to workflow steps for specific plans. By integrating AI Actions into a specific workflow step, the system can automatically perform tasks at that step, streamlining content processes. This allows users to leverage the power of AI while still keeping humans in the loop for oversight and review.

workflows ai actions steps

Key benefits

  • Automatically leverage the power of AI for content lifecycle tasks.
  • Enable oversight and review of AI output to reduce risk.
  • Reduce the time for completing content workflows.

Reach out to your Sales representative for more information about feature availability.

Taxonomy: Fetch taxonomy concepts and schemes in the CDA

Content Delivery API
Taxonomy

Starting March 21st, customers of the taxonomy feature will now be able to retrieve taxonomy concepts and schemes via the Content Delivery API.

This will allow customers to leverage their taxonomy directly in user-facing applications, providing tools to better structure as well as filter hierarchical content for their customers.

For more information, customers can reference the documentation for the taxonomy CDA endpoints and client SDKs.

Group your fields into sections

Web App

You can now organize related fields into distinct, manageable groups with Sections. Each section can be configured to be either expanded or collapsed by default, enabling you to focus on the information that matters most.

Key benefits

  • Improved editorial experience: Grouping related fields reduces visual clutter and makes the editing process less overwhelming.
  • Enhanced navigation: Quickly expand or collapse sections to access exactly what you need without distractions.
  • Ideal for complex content types: Perfect for content types with numerous fields, Sections streamline your workflow and improve overall content management.

NOTE: This feature is only available on specific plans. Reach out to your Sales representative for more information about feature availability.

Sections

Important: This is a breaking change for Compose customers who have set up Tabs in the past, as they will notice a different field order in the web app.

For more information about how you can use field groups with Sections, see the Set up field groups page in the help center.

New enforcement date for the switch to RE2 as our regular expressions engine

Content Management API
Web App

Starting April 21st, 2025, we are switching to RE2 as our regular expression engine, specifically the RE2JS npm package. This will enforce stricter validations for regular expressions in the Content Management API (CMA). From this date, you will no longer be able to publish entries with any regular expressions match or prohibit rules that are not accepted by the regular expression engine.

The previous date for this change was March 21st, 2025, however, to accommodate our customers' needs, we are pushing the date. For more information, see the previous changelog, and the Regular Expression (Regex) page.

Important: This is a breaking change.

Standardizing search experience: Sort by dropdown update in the reference field selector

Web App
Search

You can now sort entries or assets by various criteria in the reference field selector search. You can choose how to order entries using the updated “Sort by” dropdown. This change provides flexible options so you can quickly find the right content.

Search for entries in field selector - Sort by

Note that if you choose a different sorting option than relevance-based, your choice is remembered, and used for future searches.

Enhancements to Locales

Viewing Non-Localized Fields in Single Locale Mode

Previously, non-localized fields were hidden in the editorial interface when selecting a single non-default locale. To provide a more intuitive experience, these fields will now always be visible, regardless of the locale you’re viewing. This update makes content management more predictable and aligned with Locale-Based Publishing.

Locales Changelog

Adjusting Asset Validation in Locale-Based Publishing

We’ve refined asset validation within Locale-Based Publishing. Initially, publishing an asset required a file upload for every locale—an approach that was inconsistent with the Content Delivery API. To align with expected behavior, only the default locale now requires a file upload for publishing. These improvements create a more consistent localization workflow.

Taxonomy: Required validations in the UI

Web App
Taxonomy

Starting February 14th, 2025, Contentful will allow users to mark taxonomy validations as required on content types.

Once a particular taxonomy validation has been marked required for a given content type, any entry of that content type will be checked on publish to determine if the entry has taxonomy concepts assigned which fulfill the required validation(s) from the relevant content type.

Content editors will be given cues in the UI to allow them to easily fulfill any unfulfilled taxonomy validations before publishing.

Required taxonomy UI

Taxonomy: Assign up to 50 concepts per entry

Taxonomy
Web App

Starting February 15th, 2025, Contentful now allows up to 50 taxonomy concepts to be assigned to a single entry (previously limited to 10).

This new limit also applies to AI-powered taxonomy assignment feature.

To learn more, read our documentation.

Taxonomy: Required Validations on Content Types in the CMA

Taxonomy
Content Management API

Starting in the afternoon of February 6th, 2025, the CMA will support marking taxonomy validations as required on content type metadata.

Once a particular taxonomy validation has been marked required for a given content type, any entry of that content type will be checked on publish to determine if the entry has taxonomy concepts assigned which fulfill the required validation(s) from the relevant content type.

To make use of this feature, a new required boolean property on the link to the taxonomy concept or concept scheme can be sent in POST, PUT, and PATCH requests for content types.

Once the feature is live, this new property will always be returned on the content type and defaulted to false.

Documentation for the Content Type endpoint can be found here

Standardizing search experience: Content type multiselect

Web App
Search

Starting February 7th, 2025, you can filter by multiple content types when searching within the reference field selector. This makes it easier to find and select relevant entries across different content types.

Content type multiselector - search

Unicode script characters support for asset file names

Web App

You can now upload assets with file names that contain Unicode supported script characters, including non-Latin scripts (e.g., 日本語, кириллица, العربية).

The benefits of this update:

  • Better localization – You can use file names in native languages without workarounds.
  • Easier organization – Keep meaningful file names without forced transliteration.
  • Full API and UI compatibility – Works across Contentful without restrictions.

This update is now live for all newly uploaded assets.

Payload and filtering updates for webhooks

Webhooks

We have updated some webhook payloads to include additional properties. Specifically, the publish events for relevant entities will now contain the publishedVersion property. Additionally, unpublish and delete events for relevant entities will now contain a deletedBy property. This deletedBy property has also been added as a webhook filter, so users can now use the deletedBy User ID for filtering which webhook entities will be triggered when configuring a webhook. For more details, see the webhook overview in the developer documentation.

Functions and Functions Logs API

App Framework

Starting Jan 31 2025, APIs for managing Functions are now available as a part of the ongoing App Action and App Event Functions Beta (join the beta via the preview center) and for use in Native External References and Custom External References which are generally available. Learn more about Functions.

Similarly, APIs for retrieving Function Logs are now available as well. This API allows the retrieval of Function Logs programmatically in addition to logs which can be searched and viewed in the App Details screen of the Contentful UI.

New date for the update to the GraphQL API query limits

GraphQL Content API

Starting February 17th, 2025, we are releasing an update to resolve an issue where the query complexity was miscalculated when the limit argument was set to 0. The original date for this update was February 4th, 2025. However, to accommodate our customers' needs and give them more time to make any necessary changes, we’re adjusting the launch date.

Important: This is a breaking change.

See our previous post for more details.

GraphQL API support for embargoed assets

GraphQL Content API

Starting 17th February, 2025, the GraphQL Content API will support the Embargoed assets feature for relevant customers. The original date for this update was February 4th, 2025, however, to accommodate our customers' needs and give them more time to make any necessary changes, we’re adjusting the launch date.

Important: This is a breaking change.

See our previous post for more details.

Sign up for the App Functions - Beta

App Framework

You can now join the beta for our App Functions directly from the Preview Center, by logging in to the Contentful web app, clicking your account menu, and enabling the feature for your organization. App Event Beta - Preview Center

What are App Functions?

App Functions are a powerful capability of the Contentful App Framework where development teams can use Functions to execute serverless code on the Contentful platform, removing the need for dependence on external infrastructure.

For more information about Functions and how you can use them, see the developer documentation.

Taxonomy: AI-powered taxonomy assignment

AI-powered taxonomy assignment is available for Lite and Premium customers. Our AI taxonomy assignment feature is now accessible via our Preview center. This allows you to automate assigning concepts to entries to help enhance your content organization and discoverability processes.

Navigate to the "Taxonomy" tab in the entry editor, click Assign with AI, and review the suggested concepts.

You can assign up to 50 AI-suggested concepts to an entry with the option to regenerate AI-suggested concepts if needed.

For more information, read our documentation.

AI taxonomy assignment feature

Switching to RE2 as our regular expressions engine

Web App
Content Management API

Starting March 21st 2025, we are switching to the regular expression engine RE2. This will enforce stricter validations for regular expressions in the Content Management API (CMA). From this date, you will no longer be able to publish entries with any regular expressions match or prohibit rules that are not accepted by the regular expression engine.

We are switching to the RE2 engine as it provides more security and better performance compared to the regular engine.

Important: This is a breaking change.

What you need to do:

To continue publishing entries with offending regular expression validation rules, you need to rewrite these regular expressions and check if they are accepted by the new engine.

One way to do that is to try it out on this Playground, or you can make sure it does not include anything listed in the unsupported rules of RE2.

GraphQL API support for embargoed assets

GraphQL Content API

Starting 4th February 2025, the GraphQL Content API will support the Embargoed assets feature for relevant customers. This enhancement extends the functionality of embargoed assets, allowing authenticated access to restricted assets directly through GraphQL queries.

Embargoed assets restrict public access to content by requiring that all requests include a dynamically generated signature. When enabled, these assets are served from the ***.secure.ctfassets.net domain.

For more details, see the Embargoed Assets page and the Asset keys section of the GraphQL API page.

Web App
Content Management API
Studio

We have upgraded Contentful’s search functionality, making it easier than ever to find content by URLs. Customers can now search for full URLs, partial URLs, and URL components within entries, across all regular text and rich text fields.

How does it work?

For example, given the URL: https://www.contentful.com/help/content-and-entries/content-search?some_param=some_value

You can now search for:

  • Parts of domains, i.e. subdomains and domain names (e.g., www, contentful).
  • Partial paths, with or without the leading slash (e.g., /content-and-ent, content-search).
  • URL parameters and their values (e.g., some_param, some_value, ?some_param=some_value).

Searches like the following will now work:

  • contentful.com/help/con
  • content-and-ent
  • /content-and-en
  • some_param
  • ?some_param=some_value

NOTE: Embedded URLs in rich text fields are not yet supported.

This update is being rolled out progressively, so look out for it becoming available this week. For more information about search capabilities, see the Content search page.

Important update to Contentful’s GraphQL API query limits

GraphQL Content API

On February 4th 2025, we are releasing an update to resolve an issue where the query complexity was miscalculated when the limit argument was set to 0.

After this update:

When the limit is omitted or explicitly set to 0, a default limit of 100 will apply.

This change ensures consistent behaviour across all Contentful APIs, including GraphQL API, Content Delivery API (CDA), and Content Preview API (CPA).

What you need to do:

We recommend reviewing any queries that use a limit of 0 to ensure they align with this updated behaviour. This only affects a very small number of our customers who have also been notified via email.

Important: This is a breaking change.

See GraphQL Content API - Complexity Limits for more details.

Independent publishing controls for locales are now available

Locale-based Publishing is now available for Premium customers. This update enables content teams to independently publish content to specific locales, giving organizations more autonomy over their international content operations.

Teams can now manage publishing schedules per locale, allowing for market-specific content timing. Content managers can select which locales to publish to, while not affecting or updating other locales. This feature supports sophisticated international content strategies by enabling precise control over when and where content goes live.

Locale-based publishing

Taxonomy: Create taxonomy concepts and schemes with user-defined IDs

Content Management API
Taxonomy

Starting today (November 21, 2024), the CMA will support user-defined Resource IDs on newly created taxonomy concepts and schemes.

To make this feature possible, the CMA will now feature two new PUT endpoints for taxonomy, which can be provided with a parameter for the desired concept or concept scheme ID:

  • /organizations/{organizationId}/taxonomy/concepts/{conceptId}
  • /organizations/{organizationId}/taxonomy/concept-schemes/{conceptSchemeId}

Documentation for the concept endpoint can be found here, and for the concept schemes endpoint here.

New enforcement date for Required Hidden Fields

Content Management API

We are announcing a further postponement of the enforcement of stricter validation for required fields in the Content Management API (CMA) to accommodate our customers during the upcoming busy holiday and retail periods.

The new enforcement date will now be 21st January 2025.

After this date, entries with any required fields left empty will not be publishable, even if these fields are hidden in the field editor. If a field’s validation is set as both disabled: true and required: true but is left empty, a validation error will occur. We will then reveal the hidden fields so that a value can be input.

Important: This is a breaking change.

Thank you for your understanding as we aim to make this transition as seamless as possible. Please reach out if you have questions or need support in preparing for this update.

For more information about the upcoming change and how to migrate, see the Validations for hidden and required fields page and the Content Management API page.

Taxonomy: assign taxonomy concepts to media assets

Taxonomy
Content Management API
Content Delivery API
Web App

Over the next days, Contentful is rolling out the ability to assign taxonomy concepts to media assets, return taxonomy information on assets, query assets based on taxonomy concepts in the Content Management API and Content Delivery APIs to all customers.

Media assets do not need content type validations to assign a taxonomy concept. All taxonomy concepts created within the organization are available for assignment to an asset.

In the media asset editor, navigate to the “Taxonomy” tab and select concepts to assign to that media asset. Taxonomy Asset Assignment

For more information, please read our Help Center documentation, CMA docs here and CDA docs here.

Introducing audit logs: ensure security, compliance, and operational efficiency across your organization

Web App
Content Management API

We’re excited to announce the launch of the audit logs feature, providing your organization with a comprehensive solution to track and monitor critical changes across your Contentful organization, spaces, and environments.

Audit logs help ensure compliance with industry regulations, support incident investigations, and enable monitoring of changes in your organization’s setup. Logs are delivered daily to your preferred storage location—either AWS S3 or Azure Blob Storage—in a structured JSON format using the Open Cybersecurity Schema Framework (OCSF). This ensures consistency, security, and ease of integration with your existing monitoring and compliance tools.

This solution helps your teams to gain full visibility into key activities, ensuring that you know who made changes, what changes were made, and when—all critical for compliance, audit readiness, and risk mitigation.

Only organization owners and organization admins can set up and edit the audit logs storage configuration, ensuring that your setup is secure and controlled by authorized personnel.

For more details, read the audit logs documentation.

Version history for Contentful Studio

Studio

Version history for Studio is now live. This feature allows users to compare the current version of an experience with any previous published version. Users can view side-by-side screenshots of different versions and restore to earlier versions if needed. This update enhances version control capabilities and provides greater confidence in managing experience deployments.

Version History image

Compose App is being retired, and next steps for our customers

Studio
Compose

The Compose app is being deprecated. Installations of the app will no longer be available via the Contentful Marketplace, and current installations will be functional and supported until December 2025.

Why Compose is being retired

When we launched Compose in March 2021, we aimed to support content producers with an alternative to navigating the nested content structure provided in the Contentful web app by offering a simplified, single-page editing experience.

However, we realized this approach was not practical enough of a bridge from structured content to its visual representation. We have learned a great deal from Compose and how we can empower content creators with a stronger connection between content and its visual representation.

Continuity with Live Preview and Contentful Studio Experiences

Based on these learnings, we have two additional offerings that solve this problem in differentiated ways: live preview within the web app and our newest product Contentful Studio Experiences.

Live preview supports a side-by-side visual editing experience with a form editor for content on one side and a preview environment to understand how the content will render on the other.

Contentful Studio Experiences enables the assembly of visual layouts in an intuitive drag-and-drop interface supported by the power of structured content for non-technical teams that need the autonomy to produce the visual outputs of their content experiences.

We have great things on the way as a result of what we learned with Compose. We received lots of feedback from users about how much they enjoyed the whole page publishing functionality in Compose, and have migrated this functionality into both live preview and Contentful Studio.

Next steps

We are currently working to migrate the Field Groups feature into the core web app within the next quarter. This feature is currently available via the Preview Center where users can try it out in the web app.

We will continue to support Compose until the end of 2025. Please contact your Customer Success partner if you need additional assistance on this migration.

As always, you can reach out to us at any time with your questions regarding this change. Our support team is here to help.

Updated UI

Web App

The refreshed UI reflects our commitment to modernity. This update helps users navigate the platform more efficiently so they can focus on creating, managing, and optimizing content-driven experiences.

Key changes

  1. The navigation is streamlined into a single line, maximizing space for what matters most—your content. It adapts seamlessly to different viewport sizes and features larger click targets for improved accessibility, especially benefiting users with fine motor skill impairments. Enhanced color contrasts and refined semantic HTML further boost accessibility, making navigation easier for users with vision impairments and those relying on assistive technologies like screen readers and keyboard navigation.

Navigation

  1. New page cut and layout focuses visual salience on content and actions, highlighting headers and most important information. It is responsive, adapting to different viewport sizes.

Page cut

  1. The new layout limits the width of field editors to improve readability. If you need more space for your custom editor, you can enable the "Wide editor view" by clicking the three-dot menu in the top-right corner of the page.

Wide editor

Introducing cursor-based pagination

Web App

We have improved the performance of the web app by implementing cursor-based pagination. This enhancement streamlines the content loading process, providing a faster and more efficient experience for users.

Important: With this transition to cursor-based pagination, the total count of entries will no longer be displayed on the Content tab. We understand that this change may impact your workflow, and are currently conducting further research to explore options for customizing this feature in the future.

Where can I see the number of entries now?

You can view the number of entries by navigating to the Usage page from the settings menu. Thank you for your understanding and continued support as we work to enhance your experience. Usage page in the Space settings

Taxonomy support in the GraphQL API

GraphQL Content API
Taxonomy

On October 21st, the GraphQL API will support Contentful’s Taxonomy feature. Once the improvement is released, if you are on a premium plan and above, you will be able to filter entries using Taxonomy Concept IDs and even filter by descendants in the GraphQL API. With this enhancement, you can deliver a more personalized and contextually relevant user experience by leveraging structured and categorized content.

In addition, this enhancement allows you to build more advanced content discovery and filtering capabilities using the hierarchical structure of taxonomies. Users can target entries by specific and related concepts, unlocking more dynamic content curation.

Schema changes

We are going to update the schema by adding new types called ContentfulMetadataConceptsFilter and ContentfulMetadataConceptsDescendantsFilter. These new types will allow you to filter on concepts and their descendants.

input ContentfulMetadataFilter {
  # Existing fields
  tags_exists: Boolean
  tags: ContentfulMetadataTagsFilter

  # New fields
  concepts_exists: Boolean
  concepts: ContentfulMetadataConceptsFilter
}

# New filter input
input ContentfulMetadataConceptsFilter {
  id_contains_some: [String]
  id_contains_none: [String]
  id_contains_all: [String]
  descendants: ContentfulMetadataConceptsDescendantsFilter
}

# New filter input
input ContentfulMetadataConceptsDescendantsFilter {
  id_contains_some: [String]
  id_contains_none: [String]
  id_contains_all: [String]
}

These schema changes are necessary for taxonomy addition to GraphQL API.

Important: This is an additive change, not a breaking change, but it may affect your tooling in certain circumstances, for example, when using a linter before builds. We do not recommend customers consume or use a linter in their applications.

For more information see the Taxonomy section on the GraphQL API page.

New fields available for the sys object in the CDA and CPA

Content Preview API
Content Delivery API

On October 21st we are adding new fields to the CDA (Content Delivery API) and CPA (Content Preview API). On the CDA we are adding the following fields to the sys object:

  • publishedVersion

Here is an example of a new response:

{
   "sys": {
       "type": "Array"
   },
   "total": 1,
   "skip": 0,
   "limit": 100,
   "items": [
       {
           "metadata": {
               "tags": [],
               "concepts": []
           },
           "sys": {
               "space": {
                   "sys": {
                       "type": "Link",
                       "linkType": "Space",
                       "id": "l8jfhs62523t"
                   }
               },
               "id": "WR6a7BZxVgx5sPIjKIyi8",
               "type": "Entry",
               "createdAt": "2024-08-14T10:36:06.228Z",
               "updatedAt": "2024-10-01T10:40:49.640Z",
               "environment": {
                   "sys": {
                       "id": "master",
                       "type": "Link",
                       "linkType": "Environment"
                   }
               },
               "publishedVersion": 28,
               "revision": 11,
               "contentType": {
                   "sys": {
                       "type": "Link",
                       "linkType": "ContentType",
                       "id": "test"
                   }
               },
               "locale": "en-US"
           },
           "fields": {
               "name": "Test"
           }
       }
   ]
}

On the CPA we will be adding the following fields to the sys object:

  • firstPublishedAt (only present after an item has been published for the first time)
  • publishedAt (only present when the item is published)
  • publishedVersion (only present when the item is published)

Here is an example of a new response:

{
   "sys": {
       "type": "Array"
   },
   "total": 1,
   "skip": 0,
   "limit": 100,
   "items": [
       {
           "metadata": {
               "tags": [],
               "concepts": []
           },
           "sys": {
               "space": {
                   "sys": {
                       "type": "Link",
                       "linkType": "Space",
                       "id": "l8jfhs62523t"
                   }
               },
               "type": "Entry",
               "id": "WR6a7BZxVgx5sPIjKIyi8",
               "contentType": {
                   "sys": {
                       "type": "Link",
                       "linkType": "ContentType",
                       "id": "test"
                   }
               },
               "revision": 11,
               "createdAt": "2024-08-14T10:35:56.638Z",
               "updatedAt": "2024-10-01T10:40:49.640Z",
               "publishedAt": "2024-10-01T10:40:49.640Z",
               "firstPublishedAt": "2024-08-14T10:36:06.228Z",
               "publishedVersion": 28,
               "locale": "en-US",
               "environment": {
                   "sys": {
                       "id": "master",
                       "type": "Link",
                       "linkType": "Environment"
                   }
               }
           },
           "fields": {
               "name": "Test"
           }
       }
   ]
}

You can use the publishedVersion or publishedAt fields to determine if an entry is published. On a draft entry these fields will not exist.

All of these fields can be filtered. For more information about the available filters, see this page.

What you need to do:

If you have a setup that is dependent on the sys field shape, you will need to update your code to accommodate the new changes. For example: if you access sys fields by their numerical position in the array, this will potentially break for you as the field may be at a different position.

Taxonomy: CDA support will be available for all customers

Content Delivery API

Our CDA (Content Delivery API) support for Taxonomy is currently entering the GA stage for users. We will be gradually rolling out this capability to all users within the next few days. You can now filter entries using Taxonomy Concept IDs, including filtering by descendants. This allows you to deliver a more personalized and contextually relevant user experience by leveraging structured and categorized content.

This enhancement allows you to build more advanced content discovery and filtering capabilities using the hierarchical structure of taxonomies. Users can now target entries not only by specific concepts but also by related concepts, unlocking more dynamic content curation.

What’s now available:

  • You can filter entries in the CDA by specific Taxonomy Concept IDs using the [exists], [in], [nin] and [all] operators, similar to how tags are filtered.
  • The metadata.concepts.descendants with operator [in] allows you to discover entries that belong to specific concept’s descendants.
  • Payload changes: entries now include taxonomy fields, making it easier to retrieve and filter by taxonomy-related metadata in CDA and CMA.

What Hasn’t Changed: Existing filtering methods outside taxonomy, such as tags and categories, remain unchanged.

No impact on users who do not utilize taxonomy in their content model. For more details, read our documentation.

App Action Functions - Beta

App Framework

We are excited to add to our earlier App Event function announcement, with our newest type of function: App Action Functions! App functions (both Action and Event) are currently available in beta. You can join the beta via the Preview Center, which you will find under the account menu when you are logged in to your Contentful account.

App Action Functions are a new capability of the Contentful App Framework where development teams can use Functions to execute serverless code on the Contentful platform, removing the need for dependence on external infrastructure.

App Action functions can be called via the CMA and are often triggered by a user interacting with some UI component in your app. For example, a user might click a button that triggers a CMA call to your app action, which is mapped to your function, that can then perform the task defined by the code written in the function. Stay tuned for the next addition to the App Functions Beta: Synchronous App Actions.

Improved inspector mode for live preview via content source maps

Content source maps are now available for live preview. Our APIs now return source maps for certain visual fields that link to the correct field in Contentful. The Live Preview SDK transforms these maps into hidden metadata within query results, enabling a seamless connection between web content and corresponding Contentful fields.

This update makes it easier to setup and use Inspector Mode, enabling content creators to visually navigate and edit content with precision. A clear link between displayed content and fields within Contentful leads to a more efficient content management process.

For more information, read our Developer Documentation

live preview inspector mode .

Improved search results

Web App

We’re excited to introduce a major update to our search functionality with the release of our new search algorithm, which enhances result accuracy and relevance. This release also includes an update to our UI with a new drop-down field that allows users to easily prioritize search results based on their importance. This feature will be rolled out progressively, so stay tuned as we make it available to all customers.

search-dropdown For more information about the search functionality, see the Content search page.

Design properties update - Contentful Studio

Studio

The updated design properties panel is now available for all Studio customers. The design properties panel has been revamped for improved usability. Updates include:

  • Better alignment with industry-standard design tools
  • Unified expand/collapse patterns across all properties
  • A clearer indication of non-default states
  • New drag controls for padding, margin, and corner radius.

These changes enhance the discoverability of modified properties and improve overall readability, making the design process more intuitive and efficient.

Design properties update

Native external references to connect to any content directly in Contentful

Orchestration
Web App
App Framework

Introducing the new Native external references feature that allows you to seamlessly integrate content from any external source directly within your content model in Contentful. By leveraging existing Reference Fields and the App Framework, you can link third-party systems and pull content directly into Contentful without having to create a custom front-end app.

This feature is available on Premium plans only.

For more information about the feature, see Native external references and the developer documentation.

As part of this release, the External references feature has been renamed to Custom external references.

Full Support for TIFF as a Native Image Format

Images API
Web App

TIFF (Tagged Image File Format) is now fully supported in the Contentful web app and Images API. Previously, you could upload TIFF files, but our Images API didn’t support transformation or delivery of these images and they were instead delivered from the files subdomain.

Here’s what has changed:

  • TIFF files can be transformed and delivered on our Images API
  • TIFF image dimensions are now calculated and accessible via our API, and they are displayed in the list of media assets.

Leveraging the TIFF format allows you to maintain high-quality images, which is particularly useful for professional photography and publishing needs. This support ensures that your content retains its rich detail and accuracy across your platforms.

Scheduled publishing - Contentful Studio

Studio

Scheduled publishing is now available for all Studio customers. This update allows users to schedule experiences to be published or unpublished at a specific date and time. Users can set up, edit, or cancel publishing schedules through the Publish options menu in the experience editor. This feature helps to improve content management and timing of experience releases.

For more information, read our Help Center article.

Editable Patterns - Contentful Studio

Studio

Editable patterns are now available for all Studio customers. This update enables Studio users to make design changes between pattern instances like changing the background color or font size. When creating or updating a pattern, users with the “Edit experiences and patterns” access level can choose if a pattern is editable or remains static. If they choose to make the pattern editable, they can select which design properties to make available to editors. This update increases the reusability of patterns by enabling users to tailor patterns to their specific needs.

For more information, read our Help Center article.

Editable Patterns - Contentful Studio

App Event Functions - Beta

App Framework
Content Management API

We are excited to announce App Event Function!The feature is currently available in beta. You can request your access here.

App Event Functions are a new capability of the Contentful App Framework where development teams can use Functions (in multiple contexts) to execute serverless code on the Contentful platform, removing the need for dependence on external infrastructure.

App Event functions come in three flavors:

  • Filter functions - designed to filter out unneeded app events.
  • Transformation functions - designed to modify the structure of an app event before processing.
  • Handler functions - allow apps to take action based on the received event.

All three functions also include access to an authenticated contentful-management.js client, allowing function code to read and write back into Contentful using the App Identity as needed. Check out examples here.

Decoupled publish & unpublish actions on web app

Web App

When setting up permissions for roles in a space, administrators can now configure publish actions, separately from unpublish actions. This ensures that your users have better guardrails around how they work, and can prevent them from accidentally unpublishing entries.

Your existing rules will remain functional and no action is required on them. Any new rules that you set up for your roles, will allow you to configure these actions independently.

Screenshot 2024-08-16 at 13.40.18

You can learn more about setting up roles and permissions here.

Workflow and Comment Events Updates

App Framework
Webhooks

Contentful Apps were unable to subscribe to some events, and some events were not firing correctly. Some events were being emitted via webhooks, but were not available for app developers that would build on top of those events, another group of events were firing unreliably.

App developers can now subscribe to the following events:

  • Worflow.create

  • Workflow.save

  • Workflow.complete

The following events are now emitted reliably:

  • Comment.create

  • Comment.delete

Preview Center: gain early access to new features

Web App

You can now experience early Contentful features by self-activating/de-activating preview (Alpha and Beta) features and provide feedback.

This will enable you to provide feedback in the development process on the direction of the product by gaining early access to new features.

You can find the Preview Center by selecting your user profile.

preview center dropdown

You will see a list of all the available preview features. Selecting a feature will show you the release stage of the feature (Alpha or Beta), a description, and a screenshot of the feature. Select the feature you want to try out, accept the Terms of Service, and the feature will be automatically activated.

preview center overview

Every preview feature has one of the following three scopes: organization, space, and user. If the preview feature has an organization scope, only an organization administrator can activate/deactivate the preview feature.

Only the space administrator can activate/deactivate the preview feature for space-scoped features. For user-scoped features, users can activate/deactivate the preview features themselves.

You can also provide feedback using the “Send Feedback” link in the preview description.

preview center accept terms and service

After trying out the feature, you can deactivate the preview feature.

preview center accepted

You can read about the feature preview in the Help section of the Preview Center. You can read more about the preview features on the Contentful website.

preview center

NOTE: Contentful preview features are not ready for production, expected to contain defects, bugs or errors and are not expected to operate at the level of final, generally available offerings. Contentful preview features may be substantially modified prior to general availability or withdrawn at any time. Please read the Terms of Service for preview features on the Contentful website.

Descendant search dropdown selector

The content search bar now includes a descendant search selector for narrowing taxonomy search results. Click on the taxonomy pill in the search bar to choose from the filter options to show content with assigned concepts and their descendants:

  • Exact match: This option will populate results for content that has assigned concepts matching the term exactly.
  • Include one of: This option will populate results for content by searching for assigned concepts or any of its descendant concepts.

Taxonomy descendant search

For more information, read our documentation.

Content Preview API
Orchestration

We have added support for cross-space link resolution in the Content Preview API allowing you to retrieve resource links from different spaces in a single API call. You can now use cross-space references without having to make multiple requests to retrieve entries that reference other entries stored in a different space. This improvement simplifies your workflows, reduces the complexity of your implementation, and increases efficiency and performance.

In addition, the Cross-space references feature is compatible with the EU data residency add-on.

For more information, see the Resource Links section on the Content Preview API page and the FAQs.

Limit increase (1000 → 6000) for taxonomy concepts

We have increased the limits of taxonomy concepts from 1000 to 6000 you can assign within an organization.

For more information, please read our documentation.

New enforcement date for stricter validation of Required Fields in the CMA

Content Management API

We are announcing a postponement of the enforcement of stricter validation for required fields in the Content Management API (CMA). The new enforcement date is November 14, 2024.

After this date, entries with any required fields left empty will not be publishable, even if these fields are hidden in the field editor. If a field's validation is set as both disabled: true and required: true but is left empty, a validation error will occur.

Important: This is a breaking change.

Limit increase (3→20) for Cross-Space & External references

Content Management API
Orchestration

A Reference Field of a Content Type can now use 20 sources for data; up from the previous limit of 3. This can enable greater flexibility for managing Content Types.

User deprovisioning via SCIM

We have updated our implementation of the SCIM API to enable deprovisioning of users. This allows enterprise organizations to remove users from Contentful without having to sign in to our webapp. Removing users from your IDP will now automatically remove them from Contentful, once SCIM is enabled.

You can find detailed information on how to use the SCIM API in our FAQ and documentation pages.

Updated label for content type fields

Web App

To enhance clarity and reduce confusion, we have updated the Disable in response label to Omit from API response in the content type field settings. When used, this option prevents selected content from being fetched by the Content Delivery API and Content Preview API response, while still being editable in the web app. Omit from API response label

GraphQL Content API
Orchestration

We enhanced the GraphQL API by adding support for cross-space link resolution to retrieve resource links from different spaces in a single API call.

You can now use cross-space references without having to make multiple requests to retrieve entries that reference other entries stored in a different space. This improvement simplifies your workflows, reduces the complexity of your implementation, and increases efficiency and performance.

For more information, see the Resource Links section on the GraphQL API page and the FAQs.

Enforcement of Required Fields in CMA

Content Management API

Starting November 14th 2024, we are implementing stricter validation for required fields in the Content Management API (CMA). From this date, entries with any required fields left empty cannot be published, even if these fields are hidden in the field editor. If a field’s validation is set as both disabled: true and required: true but is left empty, a validation error will occur.

Scheduled publish actions that meet this criterion will also be impacted.

What you need to do:

To continue publishing entries with hidden fields, change the validation of these fields to optional (required: false).

Important: This is a breaking change.

Private App Installation Parameters

App Framework

Contentful Apps have long had the ability to store App Installation Parameters to store critical configuration details, API keys, or other information your app needs. To date these parameters have been plain text json blobs accessible only via API. Today we’ve launched Private App Installation Parameters which adds the ability to configure these parameters via the Contentful UI or CLI and, importantly, introduces a new type called “secret” which obfuscates the value of parameters when a user, rather than an app, retrieves the value. Learn More

Run multiple workflows in parallel within an entry

Workflows

Parallel workflows are now available for Premium plan customers. This update allows you to run multiple workflows in parallel within the same entry.

Parallel workflows

To start a workflow in the entry editor, select a workflow from the dropdown and click the button Start workflow. You can view all of the enabled workflows for the entry in the dropdown. If a workflow is already in progress, the steps will appear in the workflows section of the sidebar.

For more information, read our Help Center documentation.

Cross-space references support for GraphQL API

GraphQL Content API

On June 25th, we are releasing a change to the GraphQL API, that introduces a new interface called _Node which will be used as part of the Cross-space references feature. The interface introduces a new _id field on all ContentTypes.

Example:

type ExampleContentType implements Entry & _Node {}
interface _Node { _id: ID! }

This is an additive change, not a breaking change, but it may affect your tooling in certain circumstances (for example, using a linter before builds). We do not recommend customers consume or use this in their applications.

The change is designed to enable cross-space link resolution with the GraphQL API so you can make a single request to retrieve entries that reference other entries stored in a different space. Cross-space link resolution simplifies your workflows, reduces the complexity of your implementation, and increases efficiency and performance.

For more information, see the Resource Links section on the GraphQL API page and the FAQs.

Taxonomy: Attach explicit meaning to content for easier organization, discovery, reuse, and AI

You can now organize, categorize, and annotate content with concepts from a shared taxonomy with Contentful's Taxonomy feature. Concepts represent your domain knowledge in a controlled vocabulary.

Why? Semantically annotated content is easier to discover for consistent reuse across your organization. The taxonomy feature streamlines personalization and prepare content for AI applications. Contentful's Taxonomy feature implements the W3C standard SKOS.

Currently, Taxonomy is in the "GA in progress" stage, which means it is available for 5% of organizations. However, we are gradually rolling out this new feature over the next few days.

You can access this feature by heading over to the Taxonomy manager in the left sidebar, where you can create and edit concepts and concept schemes. Once you have set up your taxonomy validations in your content model, your editorial team can then start attaching concepts to entries as well as search using these concepts.

taxonomy changelog feature

Web App

We’re excited to announce a new platform feature in Contentful, the command palette. The command palette helps users navigate through the platform faster by providing a list of general commands and the ability to execute actions using the keyboard or with the click of a button.

The new Contentful command palette in action, listing commands inside a modal to navigate the platform

You can open the command palette on any screen within Contentful using the following keyboard shortcuts:

  • for macOS: ⌘+K
  • for Windows: Control+K.

This update also comes with a change to our quick search functionality. We’ve improved its look and it can now be accessed from anywhere by pressing the / key on your keyboard, or the search icon in the top navigation.

The new Contentful quick search, showing the search term "hero" and three search results across different entities in a Contentful space

Today, we’re launching a limited set of commands to general availability, with more to come in upcoming releases. If you have any feedback or suggestions to extend this functionality, let us know.

Webhook Request Verification

Webhook request verification provides HMAC signature verification for Contentful webhooks. This security layer allows developers to authenticate incoming webhooks and ensure that they originate from Contentful. The feature enables a user to create a Contentful signing secret to hash the request headers and body payload. Subsequently, the recipient server can perform the same process to verify the authenticity and integrity of the data in an incoming webhook.

Learn more about webhook request verification here.

Governance for Studio Experiences

Studio

As an administrator of a space, you can now start setting up tailored permissions for Studio Experiences. You can choose from one of the three available presets that provide the users with a viewer, editor or a designer level of access. Additionally, you can also choose specific components for the editors as a means to have more granular control over permissions. You can learn more on how to set up these permissions here.

governance-for-studio-2

Multi-region delivery infrastructure (MRDI) Improvements

Content Delivery API
GraphQL Content API
Infrastructure

We enhanced the Multi-region delivery infrastructure (MRDI) add-on feature so you no longer have to use alternate endpoints for the Content Delivery API (CDA) and GraphQL Content API to benefit from it.

With this improvement, there are no more changes required on your side. Once the MRDI add-on is enabled, your system benefits from high availability uptime immediately: Contentful offers 99.99% availability SLA across the multi-region delivery infrastructure. For more information about the MRDI add-on, contact your Sales representative.

Live Preview Improvements

We’re excited to introduce significant enhancements to Live Preview. Here’s a concise overview of all the updates aimed to elevate your workflow and boost productivity:

UI Enhancements

  • Re-use Counter: Understand whether entries are referenced elsewhere and if so how many times they are re-used.
  • Sorting of Preview Platforms: Prioritize your preview platforms.
  • Custom Editor Support: Customers who work with a custom editor can now use it with Live Preview.
  • Full-Screen Mode: Live Preview now renders full-screen which enables you to see more of preview environments.
  • Improved Refresh and Save Logic (Coming Soon): For customers without - SDK live updates, you can now save and refresh with one click, without waiting several seconds to autosave.

Live Updates

  • SDK Enhancements: Bug fixes, performance optimization, faster updates, and smaller file size. Please find the technical details on Github. Update your SDK version to access these improvements.
  • Third-Party Content Support: Support of external app content (e.g. Shopify)

Inspector Mode

  • Cross-Space Reference Support: Users can now also click on links to entries from other spaces.

You can also check if you have the latest SDK version by clicking on the info icon inside Live Preview. Your feedback drives our improvements. Thank you for being part of our journey! 🚀

Live Preview Improvements Changelog

Multiple workflows

Workflows
Web App

Multiple workflows are now available for customers in Premium plans. This enables different teams to utilize dedicated workflows for their specific review processes and governance requirements, eliminating the need for a rigid, one-size-fits-all approach.

This flexibility is beneficial when configuring workflows based on factors such as content importance or regional differences. Teams can ensure that workflow and delivery speed are appropriately aligned given the type of content that they need to deliver.

Quickly get started using multiple workflows by navigating to the "Steps" tab within your workflows app. In the "Content types" section select multiple workflows according to your requirements. Detailed setup instructions are available in our help center.

Multiple workflows

Idempotency key headers for webhook requests

Webhooks

In order to prevent duplication of webhooks, we have introduced idempotent header keys for webhooks. The new X-Contentful-Idempotency-Key header is a unique SHA256 value that is assigned to individual webhooks when fired. In rare cases, webhooks can fire twice for a single action. The new key allows you to set up filtering in your infrastructure to drop a duplicative webhook if the key value matches another very recent webhook request.

Introducing the JavaScript SDK Plain Client

SDKs and tools

We have introduced a new way to interact with the SDK for the Contentful Content Management API - the JavaScript Plain Client and new code snippet examples. This client offers several benefits to developers to save time, reduces redundancy and network calls, and utilizes newer Javascript capabilities like async/await.

  • Plain Client allows for the use of async/await with promises, reducing promise chaining that can make code harder to read and maintain
  • Fewer calls means fewer network requests, simplifying and speeding your content operations while making mocking simple
  • The result is a more ergonomic and predictable development experience with the Javascript SDK and updated snippets

Plain Client Snippet

You can use the Plain Client today and view the new snippets in the Developer Portal by opening any operation and selecting the "JavaScript (Plain client)" option.

Updates to App Definition Deletion Rules and Usage

Marketplace

We’ve made several improvements to Contentful custom apps that help prevent accidental deletion/unsharing as well as provides you more information to manage your apps at scale.

If your app is shared, it cannot be deleted, as deletion would impact other Contentful organizations. Likewise, if an app is listed in the Marketplace, you will no longer have any way to unshare, deactivate, or delete the App Definition until it is delisted. Only Contentful can take these actions, and you can reach out to support if this is needed.

Deletion Prevention

You are also now able to see the number of internal spaces and environments your app is installed in. If you need to uninstall a custom app, you can also now bulk uninstall it in all internal spaces and environments.

Usage Metrics

External References now support configurable data refresh frequency

Shopify
Orchestration
App Framework

We have updated the capabilities of the External references feature (formerly known as Third party orchestration) with a data refresh frequency configuration.

This update allows you to configure the data refresh frequency on fields of Apps that use External References or implement Functions.

By selecting the Resolve content on delivery checkbox you now have the option to configure the Data refresh frequency.

Configure Data refresh frequency

Previously, the Data refresh frequency was not configurable and set to 1 minute by default. If you are using External References it is recommended to update your Content Types to configure the best refresh interval for your use-case.

To read more about this feature and the recommended configuration, see the Data refresh frequency section on the External references page.

Designated Security Contacts

As administrators of your organization, you now have the ability to add the email addresses of your security team members who should be notified by Contentful in the event of any security-related incidents. While we dedicate significant effort to safeguarding your data against potential threats, having this information readily available enables us to promptly reach the right people within your organization.

security_contacts_gif

Head over to your Organization settings > Organization information to start listing your security contacts.

Seamless access to Contentful Learning Center

You will now be able to use your active session on Contentful to log into the Contentful Learning Center. The Learning Center will no longer require you to log in with a separate set of credentials and will be seamlessly accessible via the Help menu.

learning_center2

To start learning, head over to the Contentful web app and click on the Help > Learning Center.

GraphQL Content API

After March 14th, 2024, the generated GraphQL type for ResourceLink fields will change from a type to an interface and for each field a new type will be generated that implements the ResourceLink interface. The name of the generated type will be derived from the content type name and the field name. For example, if a LandingPage content type has a reference field headline, the new type name will be LandingPageHeadline. If LandingPage has a multi-reference field called testimonials, the generated type will be LandingPageTestimonialsCollection. Additionally, the type field in ResourceSys type will be removed.

The following is an example of a content type LandingPage that has two ResourceLink fields, headline and testimonials and it illustrates the change in the generated schema:

Old schema:

type ResourceLink {
  sys: ResourceSys!
}

type ResourceSys {
  type: String!
  urn: String!
  linkType: String!
}

type LandingPage implements Entry {
  sys: Sys!
  slug(locale: String): String
  title(locale: String): String
  headline(locale: String): ResourceLink
  richTextField(locale: String): LandingPageRichTextField
  testimonials(locale: String): LandingPageTestimonialsCollection
}

type LandingPageTestimonialsCollection {
  total: Int!
  skip: Int!
  limit: Int!
  items: [ResourceLink]!
}

type LandingPageRichTextField {
  json: JSON!
  links: LandingPageRichTextFieldLinks!
}

type LandingPageDescriptionLinks {
  entries: [LandingPageRichTextFieldEntries!]
  assets: [LandingPageRichTextFieldAssets!]
  resources: [LandingPageRichTextFieldResources!]
}

type LandingPageRichTextFieldResources {
  block: [ResourceLink!]
  inline: [ResourceLink!]
  hyperlink: [ResourceLink!]
}

The new schema:

# Changed from type to interface
interface ResourceLink {
  sys: ResourceSys!
}

type ResourceSys {
  # `type` field is removed
  urn: String!
  linkType: String!
}

type LandingPage implements Entry {
  sys: Sys!
  slug(locale: String): String
  title(locale: String): String
  headline(locale: String): LandingPageHeadline
  richTextField(locale: String): LandingPageRichTextField
  testimonials(locale: String): LandingPageTestimonialsCollection
}

type LandingPageHeadline implements ResourceLink {
  sys: ResourceSys!
}

type LandingPageTestimonialsCollection {
  total: Int!
  skip: Int!
  limit: Int!
  # Changed from ResourceLink to LandingPageMultiReferenceItem
  items: [LandingPageTestimonialsItem]!
}

type LandingPageTestimonialsItem implements ResourceLink {
  sys: ResourceSys!
}

type LandingPageRichTextField {
  json: JSON!
  links: LandingPageRichTextFieldLinks!
}

type LandingPageDescriptionLinks {
  entries: [LandingPageRichTextFieldEntries!]
  assets: [LandingPageRichTextFieldAssets!]
  resources: [LandingPageRichTextFieldResources!]
}

type LandingPageRichTextFieldResources {
  block: [LandingPageRichTextFieldResourcesBlock!]
  inline: [LandingPageRichTextFieldResourcesInline!]
  hyperlink: [LandingPageRichTextFieldResourcesHyperlink!]
}

type LandingPageRichTextFieldResourcesBlock implements ResourceLink {
  sys: ResourceSys!
}

This is a breaking change.

Filter content by multiple content types

Web App

In this release, we are introducing multi-select functionality for the content type filter in the search bar. Now, users can filter content by multiple content types, simplifying searches for items belonging to any of the selected content types.

This update also allows users to save views with multiple content types, particularly beneficial for teams focusing on a subset of content types, reducing clutter, and improving workflow efficiency. The release will be gradually rolled out to all plans, ensuring all users can benefit from this enhanced content management experience.

Multi-select for content list

Tags limit increased to 1000 per environment

Web App

We have increased the tag limit from 500 to 1000 tags per environment, available on all plans. Note that the 100 tag limit per content entry still applies. For more information about limits, see our Technical Limits page.

Tag multiple users with team mentions

Web App
Content Management API

Team mentions in comments are now available for all plans when users create or respond to a comment in the Contentful web app. Teams are defined by admins within a space. After typing @, you'll see suggested team names in the dropdown. When a team is mentioned in a comment, all team members will receive a notification.

Team mentions teaser

Improved transparency for editors on fallback locales

Improved transparency for editors on fallback locales is now available for all customers.

When setting up locales, customers can define fallback locales so that empty locales are filled with the content of another locale. With this improvement, an icon and tooltip appear to inform the user about the fallback. In the case of a fallback chain, e.g. Spanish (Argentina) to Spanish to English (United States), the tooltip will show the next fallback locale rather than the last. In this example the tooltip for the empty field of Spanish will inform the user that it is falling back to English (United States).

fallback locales contentful

Enhanced support for EU data residency

Data residency

The Multi-region delivery infrastructure (MRDI) is now available to EU data residency customers. With this add-on, delivery infrastructure is deployed across primary and secondary regions in the EU, ensuring content redundancy and higher availability. Contentful offers 99.99% availability SLA across multi-region delivery infrastructure.

For more information, see the EU data residency and MRDI page in the Developer Documentation.

Query directive support for External references & Delivery functions

Shopify
Orchestration
GraphQL Content API

We have added support for GraphQL query directives for External references and the Delivery Functions EAP.

When an external GraphQL API exposes directives on the QUERY location, a copy of this directive (with your app prefix) will automatically be exposed on the Contentful GraphQL API.

One of the use-cases that we now support is Shopify's @inContext Directive. This allows localisation of External references from Shopify directly in the Contentful GraphQL query.

Example query:

query @Shopify_inContext(language: DE) {
  shopifyContentTypeCollection {
    items {
      shopifyField
      shopifyField_data {
        title description
      }
    }
  }
}

Cross-space references fully supported in Rich Text fields

Orchestration

We have expanded the capabilities of the Cross-space references feature in Rich Text fields. This enhancement opens up new possibilities for content architects and developers, offering more dynamic and interconnected content experiences. With this update, you can now:

  • Embed references to inline entries from different spaces within your Rich Text fields.
  • Use hyperlinks that point to entries from different spaces.

Cross-space references in Rich Text embedded inline entry

For more information about this improvement, see Cross-space references in Rich Text fields: embedded inline entries, Cross-space references in Rich Text fields: hyperlink to entries and the Rich Text node type validations section on the Content Management API page.

Email notifications for Personal Access Tokens

You will now start receiving email notifications for expiring Personal Access Tokens. Depending on the expiry date that was set for your PAT during creation, you will receive notifications at 6 months, 3 months, 1 month, 1 week and 1 day before the token expires. You will also receive a notification once the set expiry date has reached and the token has expired. These notifications allow you to stay ahead of the token's expiry and proactively rotate these tokens in to prevent any downtime for your applications due to expired tokens.

Check out the FAQ page for to learn more about Personal Access Tokens and expiration dates.

Improvements To Managing Spaces During Contract Renewals

Web App

The new improvements to managing spaces during contract renewals and space archiving are now available for admins and owners who manage spaces in their organizations of all plans.

  • Email notification and in-app banner at the top of the page will appear for admins and owners of an organization that goes through a contract renewal after Contentful provisions an order. The email informs about a 15-day period to manage spaces (usually takes a few minutes only). An additional reminder is sent a week later and one day before automatic archiving of spaces without a renewed license assigned.

  • Space action menu in the "Spaces" page now holds all important management actions like Upgrade, Downgrade, Archive, Detailed usage, Delete. The menu shows only options that are applicable for each space considering available licenses and usage in each space.

    Note: Archiving a space is only available after a renewal or downgrade to the Free plan. There will be a 15-day period to manage your spaces. Free and Basic organizations have a Modify button near the license type to perform Upgrade, Downgrade, Archive (if available).

  • The "Open tasks" section at the top of the “Spaces” page now also holds renewal tasks. Renewal tasks appear once for each type of a space and communicate how many spaces require an action (upgrade, downgrade, archive, delete) based on the license changes you made during contract renewal. When an admin or owner finishes with managing spaces of a particular type, the task is resolved.

Renewal tasks

  • The archived spaces tab in the “Spaces” page will show your organization’s expired trial spaces and other inactive spaces stored with your account. To archive a space is to make a space inactive. This does not mean the space is deleted. Archiving a space means:

    • Your content is safe. We keep it archived in your account.
    • You can restore archived spaces.
    • Content delivery for archived spaces remains in operation for 30 days after archiving a space.
    • You can not create, edit, or publish the content in archived spaces. To view your archived spaces, select the tab “Archived” at the top of the "Spaces" table.  

For more information, see the Manage spaces article in the Help Center.

Content Management API
Content Delivery API

The CRNs (Contentful Resource Names) used in ResourceLinks for References across spaces now include information on which environment the entity belongs to by default when the environment is master, or another ID when referencing a new cross-space entry.

This change accommodates the new support for environments when linking to cross-space references, and ensures we are consistently representing the resource link information whenever a new reference is linked.

Old format

crn:contentful:::content:spaces/:spaceId/entries/:entryId

New format crn:contentful:::content:spaces/:spaceId/environments/:environmentId/entries/:entryId

Merging entries diff with contentful-merge CLI

Merge

You can now merge entries differences between environments right from your command line.

Note: The environments must be within the same space.

To merge content between two environments:

  1. Install the contentful-merge CLI.

  2. Use the CLI to generate a changeset with the create command with the source and target environments defined. The changeset has a list of added, deleted and edited entries.

    contentful-merge create --space <value> --source <value> --target <value> --cda-token <value>
  3. Use the CLI to merge the changes with the apply command with environment defined.

    contentful-merge apply --space <value> --environment <value> --cma-token <value> [--file <value>] [--yes]

The command applies changes from a changeset, generated earlier by the create command. It then reports which changes were successful.

Note: The contentful-merge CLI is currently in beta. While we are developing this functionality, we would like to hear your thoughts and suggestions about the contentful-merge CLI and the way you use environments. To see full reference for Contentful Merge, refer to the GitHub documentation.

Web App

The improved content and media tab are now available to all customers. Customers can switch between the new and legacy experience via a global toggle in the sidebar of the pages.

The improved content and media tab optimize the view management experience by making it easier to create, manage, navigate, and share views. It provides pre-built views like “Recent” which help the user quickly access recently viewed or edited content and assets. Users are able to define their own views which makes it easier for them to surface priority to their own workflows.

Screenshot of the improved content tab on a gray background

We will be improving the content and media tab experience gradually through October and are aiming to phase the old experience out in the middle of November 2023.

Automatic persisted queries support in the GraphQL API

GraphQL Content API

The Contentful GraphQL API has been improved to support automatic persisted queries. This improvement brings the following key benefits:

  • Greater Request Size Limit – Using persisted queries allows you to overcome the 8 kb request size limitation and send requests up to 16 kb to create bigger, more complex queries.
  • Optimized Network Usage – With persisted queries, you reduce network usage since you only send the query string instead of the entire query. This not only conserves bandwidth but also improves the efficiency of data transfer.
  • Faster Response Times – Persisted queries allow for efficient query caching, resulting in faster response times. Frequently used queries are stored, eliminating the need for retransmission and reducing server load.

For further details on implementing persisted queries, see the GraphQL API documentation.

External References: Connect and deliver content from any system with Delivery Functions (EAP)

Orchestration
GraphQL Content API

The Delivery Functions feature has been released as part of our App Framework which can enable External references from any system.

Available now through our Early Access Program (EAP), this powerful new feature executes serverless functions as part of the delivery pipeline on Contentful’s GraphQL API.

You can now define your code to execute and return content with a single request to enable External references. Our CLI tooling fully supports uploading and installing apps as part of common developer workflows to create a seamless experience.

Delivery Functions image

To easily get you started, we’ve created some examples. For all the technical details and how to get started, check our Delivery Functions overview page or our Developer Documentation.

Cloudinary app improvements: External references support and enhanced user experience

Orchestration
GraphQL Content API

We have rolled out two important updates to the Cloudinary app:

  • Selected asset previews in the entry editor have been updated to improve your workflows and confidence while working with Cloudinary.
  • External references support with Cloudinary. External assets can now be queried in real-time using our GraphQL API. With this improvement, you no longer need to refresh the asset in Contentful after making changes to it in Cloudinary. The changes are pulled with just one API call.

Cloudinary with External references

For more information, see the External references with Cloudinary article in the Help Center.

Commercetools app updates: External references support and enhanced user experience

Orchestration
GraphQL Content API

The Commercetools app now supports External references and comes with an enhanced product detail view directly in the entry editor that ensures smooth workflow and confidence with product selection.

External references is a feature designed to boost both digital teams and developer productivity by taking the pain out of creating, building, and maintaining integrations to third party systems.

You no longer need to make that upfront investment in building out integration layers and can instead focus on creating compelling digital experiences at scale.

Commercetools gif

For more information, see the External references with Commercetools article in the Help Center.

Apollo Federation subgraph support

GraphQL Content API

You can now use the Contentful GraphQL API as a subgraph to take full advantage of the features offered by Apollo Federation. With this integration you can resolve references from other subgraphs and extend Contentful Types. To access all Contentful queries in Apollo Federation, you must first configure your Supergraph to pull from the Contentful schema.
For more information about using the Contentful GraphQL API as an Apollo subgraph, see the Developer Documentation.

This integration is only available to customers in Premium plans. Contact sales to learn more and upgrade to a Premium plan.

AI Image Generator App Now Available

Marketplace

Contentful's AI Image Generator is now available to all Contentful customers.

AI Image Generator allows you to generate AI images on demand as well as selectively edit any image using AI. The app can be used to create placeholder images, alter approved assets, shorten feedback loops between content creators and designers, and more.

AI Image Generator can be installed from the Contentful Marketplace. This app requires your own personal OpenAI API key with DALL-E credits.

Users are solely responsible for ensuring that AI-generated content complies with applicable laws, their company’s policies, and OpenAI's Terms and Policies.

When using AI Image Generator, you will now see a button when adding an asset called "Generate AI Image."

AIIG Find

Click this button and provide a detailed description of the image you want, then click generate. You will see four options, and can download any of them as well as select one to save.

AIIG Generate

You will also see a new option on any asset to use AI Select and edit. Click the AI Select and edit button with the ✨ icon, select an area of an image that you want to edit, and describe the changes that you want. Click generate to create 3 edited versions that can be downloaded, saved, or saved as a new asset.

AIIG Select and Edit

API Token Management

As administrators of your organization, you now have the ability to audit the use of tokens within your organization. The new Token Management view within your organization settings allows you to see a complete list of CMA tokens that have access to your organization.

From this view, you can check when tokens were last used, who owns them and if and when they will expire. You can also search through these tokens using the last four characters to quickly find potentially harmful tokens and take remedial actions to mitigate risk.

These actions are also available via the API and you can check out developer docs here to learn more about the API changes.

Head over to your Organization settings → Tokens page to test out this latest feature and let us know your thoughts.

api_token_management

Contentful AI Content Generator Updates

Marketplace

Contentful's AI Content Generator has been updated to add several new capabilities as well as refresh the user experience.

When using AI Content Generator you will now see:

  • A new brand profile section on the app configuration screen, with more robust fields to capture your brand's values, products, voice, and unique characteristics. Providing more brand profile details increases the effectiveness of generated content.

  • A new workflow for adding AI generated content that allows you to select an option, select from a field or prompt input, and select the output field. Content creators can also stream generated content in realtime, stop generation at any time, edit or copy generated content, and select when content is applied to a field.

AICG Create Content

  • A new option to Rewrite content. This option allows you to shorten or lengthen content, change its voice, style, or tone, or make any other transformations to it that you need.

AICG Rewrite

AI Content Generator can be installed from the Contentful Marketplace. This app requires your own personal OpenAI API key, and supports both Free and Plus keys.

Users are solely responsible for ensuring that AI-generated content complies with applicable laws, their company’s policies, and OpenAI's Terms and Policies.

Custom preview tokens and locale switcher in live preview

Web App

Custom preview tokens are now available for customers who localize their website across multiple countries, languages, and/or regions. Until now, content preview settings have only supported locale codes (like en-US), but couldn’t support more complex URL patterns.

For example, if a customer uses example.com for their en-US locale, and example.de for the de-DE locale, there's currently no way to designate that in the content preview settings. Preview localization will allow customers to define locale-specific tokens that can be used in their preview URL settings, enabling them to configure preview settings for more locales and editors.

To get started, open the preview settings for your space, and scroll down to the new “Custom preview tokens” section. Add your tokens in JSON format to the text field (use the “Copy template to clipboard” to auto-generate JSON for your configured locales), and be sure to save your changes.

Custom preview tokens JSON editor

Then update the preview URL for each content type where you want to use the token.

Content preview URL with locale-based custom preview tokens

Your editors will also see and be able to use a locale-switcher in the live preview editor.

Live preview editor highlighting a new locale switcher

Preview localization is only available to customers in Premium plans. Contact sales to learn more and upgrade to a Premium plan. Learn more about custom preview tokens in the Set up content preview tutorial.

See who is working on the same piece of content

Web App

Users can now see who else is working on an entry or field with the addition of the presence indicator. This improves visibility so teams can efficiently coordinate content updates without the fear of accidentally overriding another’s work.

The presence indicator for an entry is located in the top right corner. If a user’s avatar is active, it means they are currently working within the entry. Users become inactive after two hours of inactivity and their avatar will disappear from the presence indicator.

Screenshot of the presence indicator in Contentful, showing three users working on the same entry, one of them inactive

The presence indicator for a field is located to the left of the field. If a user’s avatar is active, it means they have the current field selected as well as actively making changes. Once a user deselects a field, they are considered inactive and their avatar will disappear.

Screenshot of the presence indicator in Contentful, showing a user actively working on a field locale

This update is rolling out gradually to Basic and Premium customers starting on September 19, 2023.

Merge app now supports field moves

Merge
Contentful CLI

Building on environments and environment aliases, the Merge app can help your team to incrementally create, test and release their content models by propagating their changes across environments.

With our latest release, the Merge app and the Contentful CLI now also detect and allow you to propagate changes which include field reordering in a content type, both for the creation of migration scripts as well as for directly merging content types in the Merge app.

We also fixed a few bugs in the migration script creation to improve the overall usability.

This is how a change which includes moved fields looks like in the Merge app:

Example of a Content Type Diff in the Merge app with a field move

Contentful Shopify app update

Orchestration
Shopify

We've rolled out an update to the Contentful Shopify app: an enhanced product detail view directly in the entry editor that ensures smooth workflow and confidence with product selection.

Updated Shopify App - With rich previews

What's new:

  • Smoother editing journey: Preview Shopify-related content without the need to leave Contentful.

  • Right and rich product insights: View detailed information on your product, variant or collection to feel confident in your selection.

EU data residency

Data residency

Contentful has expanded its global data residency footprint. You can now store your content and user profiles in the European Union (EU) – instead of the US – to enhance trust and solve your critical security and compliance needs. EU data residency is only available for customers on Premium plans. The EU data residency region consists of AWS Dublin, Ireland, (eu-west-1) as the primary region and AWS Frankfurt, Germany, (eu-central-1) as the secondary region for automatically created backups.

EU data residency screenshot

For more information about EU data residency, see the EU data residency page in the Developer Documentation and the FAQs.

Support for environments in references across spaces

Content Management API
Orchestration

You can now use References across spaces to link to entries from different spaces and environments in your organization. To be able to link entries from different spaces, you must first enable the spaces for orchestration and allow your entry to reference other environment-scoped entries.

Set up is easy, simply choose the environments you’d like to use when setting up the reference field in the content type configuration page:

References across spaces (screenshot)

You can then select the source space and environment when adding new references to your entries:

References across spaces with environments (screenshot)

For more information about the feature, see the References across spaces section on the Content Management API page and the Environment support for References across spaces page.

Content Management API
Content Delivery API

Starting with October 16th 2023, the CRNs (Contentful Resource Names) used in ResourceLinks for References across spaces will include information on which environment the entity belongs to by default when the environment is master, or another ID when referencing a new cross-space entry.

This change accommodates the new support for environments when linking to cross-space references, and ensures we are consistently representing the resource link information whenever a new reference is linked.

Old format

crn:contentful:::content:spaces/:spaceId/entries/:entryId

New format crn:contentful:::content:spaces/:spaceId/environments/:environmentId/entries/:entryId

Introducing expiry dates for personal access tokens

Web App
Content Management API

While creating a new personal access token, you now have the ability to set an expiration date. This lets you define how long a token should remain valid. Once the expiry date passes, the token will automatically become inactive. This allows you to have greater control over your account’s access permissions, reducing the risk of unauthorized access. We have also overhauled the token management page which lists all your tokens on a single page and includes much more information such as creation date, token type, and the redacted token.

tm_for_issuers Head over to your Account settings → CMA tokens page to test out this latest feature. Check out developer docs here to learn more about the API changes.

Structure your creativity with Visual Modeler

Visual Modeler is an interactive functionality that allows you to visually build a content model and easily collaborate on changes with your team members. This capability not only streamlines the entire content modeling process by bringing planning, building, testing, and iterating into a single workflow but also shortens the overall modeling cycle.

Visual Modelere - Changelog

Who can use Visual Modeler?

Technical users can leverage the Visual Modeler to construct content types, establish connections between them, and visualize these connections through a graph-based interface. They can effortlessly create or edit fields and gather valuable feedback from the editorial team. This synergy results in a validated and scalable content model that paves the way for efficient content creation.

For non-technical users, Visual Modeler offers a user-friendly and intuitive environment to provide feedback on content models. It also facilitates deeper understanding of content connections and helps editorial teams to ensure their content architecture is simple and easy to use.

Key capabilities

  • Build your content models by creating content types and fields directly on the visual board. Easily link content types using reference fields.
  • Share specific content types or a full model with your colleagues to help them onboard to the platform, understand the content architecture and share feedback.
  • Audit your content model. Browse your content types and easily identify missing connections.

To try out this capability, navigate to your content model tab and click Visual Modeler. To learn more please visit our documentation. Help us further improve this capability - share feedback.

Compare entries across environments with Contentful Merge

Merge
Contentful CLI

You can now view entries differences between environments right from your command line.

Note: The environments must be within the same space.

To learn how content between two environments have diverged, simply install the contentful-merge CLI and run the create changeset command with the source and target environments defined.

contentful-merge create --space <space-id> --source <source-environment-id> --target <target-environment-id> --cda-token <api-key>

The command compares all entries between source and target environments, creates a changeset file, and renders the following changeset details on your command line:

  • Number of entries in both environments
  • Number of added entries
  • Number of deleted entries
  • Number of updated entries

contentful-merge create command

Note: The contentful-merge CLI is currently in beta. While we are developing this functionality, we would like to hear your thoughts and suggestions about the contentful-merge CLI and the way you use environments.

For more information, refer to the Readme.

Third party content orchestration + Shopify: Available to all customers today!

Orchestration
GraphQL Content API

Third party content orchestration is a feature designed to boost digital teams and developer productivity by taking the pain out of creating, building, and maintaining integrations to third party systems. Customers no longer need to make that upfront investment in building out integration layers and can instead focus on creating compelling digital experiences at scale.

We’re excited to announce that our Shopify app is now enabled for Third party orchestration.

With Third party orchestration enabled – you can now query for content from both Contentful and Shopify all using our GraphQL API – in a single API request.

Our Shopify integration is available today for all our customers.

Read our Third party orchestration guide with Shopify to get started today.

Resolve Shopify Content with Third party orchestration

Improved the support page and ticketing experience

Support

We are excited to introduce a new and improved support page and ticketing experience. The updated Support page includes a link to log into our Support Portal, where you can access our knowledge base and submit your support requests.

To access the Support Portal, you can use the same login credentials that you use for the Contentful Web app. If you are already logged in to Contentful, you won't need to log in again.

Support Page Workflow

This update enhances your support experience. We've improved the knowledge base with a wider range of resources for quicker answers to your questions. Our customized ticket forms cater to different support requests, gathering the necessary information for prompt and effective assistance.

Field API events behavior changes

App SDK

We are introducing more App SDK improvements. From now on field's setValue method will not fire additional onValueChanged event triggered in some cases. This behavior was inconsistent with other methods.

Updates and Improvements to the App SDK

App SDK

Today, we're introducing several updates and improvements to the App SDK:

  • The Content Management API is now exposed as a property of the sdk, and can be accessed with sdk.cma
    • This exposes an initialized plain client, without needing to include the cmaAdapter, reducing complexity for developers using the CMA.
  • The Parameters API now accepts customizable types for the installation, instance, and invocation types. sdk.field now exposes a linkType to help distinguish more clearly Entry and Asset links.
  • Field names are now exposed on the sdk.field.name property. The dropdown and multi-line components are now fully-supported field editors.

These improvements to the App SDK are available for all customers from today. To learn more, please refer to our documentation.

Improved checkout experience - more intuitive and efficient

Web App

We have introduced an improved checkout experience. It offers a guided process for selecting a plan and purchasing multiple space licenses. Previously it was possible to purchase only one space license at a time. The new checkout also offers real-time total cost calculations to view the plan’s costs when purchasing multiple space licenses at once.

NOTE: the new checkout experience will be available to organizations created starting July 6, 2023 (this release date). This experience will gradually extend to all other customers.

Please let us know if you have any feedback about this new experience by contacting our support team.

Contentful new checkout experience

References across spaces in Rich text fields

Orchestration

You can now use References across spaces in Rich text fields to link to entries from different spaces in your organization. To be able to link the entry, you must first enable the spaces for orchestration and allow your entry to reference other entries. Allow entry to reference other entries RT The linked (referenced) entry is embedded from another space as a block element into the rich text, which allows you to reuse content and ensure consistency. Add a cross-space entry block to the Rich text field For more information about the feature, see References across spaces in Rich text fields and the Rich text node type validations section on the Content Management API page.

Improved roles and permissions management: updated tables and role testing functionality

Web App

Now, all customers, especially those who heavily utilize our custom roles functionality, can enjoy improved roles and permission management.

Here's what comes with the update:

  • The table views for managing roles and permissions have undergone a revamp. Users can now easily locate and scan through all deny and allow rules associated with content and asset-related permissions, which simplifies role management.
  • A brand-new Role Tester feature enables users to troubleshoot and visualize how specific rules contribute to denying or allowing particular actions. Administrators can now address user inquiries regarding access controls, empowering them to provide prompt and accurate responses and easily test user permissions when creating new custom roles.

Roles & Permissions

Resolve comments that are no longer relevant

Content Management API
Web App

Users are now able to resolve or close comments that are no longer relevant to the conversation. This allows users to declutter their interface by resolving comments that have been addressed or no longer applicable.

resolving comments

To access resolved comments, simply navigate to the top right corner and utilize the new filter option. By selecting "Resolved Comments," you can easily review and reference those closed comments whenever necessary. With this update, we aim to improve comment management, allowing for more streamlined collaboration and efficient workflows.

Read more in our Help Center article.

View the history of all Workflows for a single entry

Workflows
Content Management API

We're excited to share an update regarding our Workflows app! Previously, closing a workflow would delete its history from the entry, resulting in the loss of previous steps.

Now, the workflow history in an entry is always visible through the “View history”, even after the workflow is completed. You can now easily trace and review all the workflows that have been historically run on an entry.

workflows-history-changelog

This small enhancement ensures that you have a comprehensive view of the journey your content has taken, allowing for better analysis and improved transparency.

Workflows are available for Premium customers.

GraphQL Content API improvement

GraphQL Content API

We improved the GraphQL Content API to expand the filtering and ordering capabilities for collections. With this improvement, you can:

  • filter any collection, if the reference field has a validation rule that makes it only accept a single content type.
  • order any linkedFrom collection, except entryCollection.
  • order any collection, if the reference field has a validation rule that makes it only accept a single content type.
  • skip over unresolved entries.

For more information about this improvement, see the Relational filtering with the GraphQL Content API section and the GraphQL Content API page.

A fresh perspective to content type editing

Web App

We are excited to introduce a series of UX improvements to the content type editing experience. With these changes, we aim to offer digital teams a more intuitive and efficient workflow for content modeling.

We simplified the interface, enhanced navigation, reduced visual clutter and introduced more informative visual cues. Here’s what changed:

Content type editing
  • Removed the right sidebar and moved the "Add field" button to the bottom of the fields list.
  • Content type ID is now displayed next to the content type name in the header.
  • Introduced a new compact header with a back navigation button for easy return to the list view.
  • Removed the "Edit" button from the header and replaced the “Actions” button with three dots.
  • Replaced tabs sub-navigation with the right sidebar sub-navigation.
  • Refreshed the fields list with a new look and added localisation status.
  • Implemented a new fields list style in the "Groups" section.

Content type editing - fields list

Field configuration
  • Introduced a new full-screen modal with sidebar sub-navigation for field configuration, replacing tabs.
  • Field configuration can now be accessed directly through the "Edit", instead of "Settings".
  • Added character limits display during field creation for improved clarity.

Content type editing - field configuration

Changes are being rolled out gradually, please be aware that you may not see them immediately. Help us further improve your experience - share feedback

CDA now supports retrieval of references from different spaces

Content Delivery API
Orchestration

References across spaces is a feature by Contentful that allows you to link content across spaces (resource links). Using references, you can improve content reusability and enhance consistency within your organisation.

We improved the Content Delivery API (CDA) so you can retrieve resource links from different spaces in a single delivery API call.

Developers can now use references across spaces without having to make multiple API calls in parallel upon delivery. This new functionality will help you simplify your workflows, and reduce the complexity associated with your content delivery, resulting in increased efficiency and ease of use..

For more information, see the Resource Links section on the Content Delivery API page and the FAQs.

Merge app now supports field appearances and help text changes

Merge

Building on environments and environment aliases, the Merge app can help your team to incrementally create, test and release their content models by propagating their changes across environments. And now, the Merge app supports migration of Field Appearance and Help Text changes across environments! The functionality is available for merging and generating export files. This means you no longer would have to alter merge export files or manually update Editor Field Appearances after merging! It was your engagement and feedback that drove this update. Please do share your feedback on how we could further improve the Merge app to better fit your needs.

Exempt users from SSO sign-in

Administrators can now exempt external users from having to use SSO to log in to your organizations. When SSO sign-in is enforced on your organization, administrators will now have the ability to quickly view the status of exemptions, exempt, or un-exempt users in just a few clicks. You no longer need to rely on Contentful support to perform these actions.

You can refer to this documentation on how to exempt users from SSO and the FAQ page to learn more about SSO enforcement.

user-exemption-gif

Now you can comment on individual fields of content

Web App

With field-level comments, you can now provide feedback and engage in discussions directly on specific fields within your content entries. Say goodbye to lengthy email chains and Slack threads – now you can collaborate more contextually and efficiently within Contentful. The feature will be gradually rolled out within the next weeks.

Here's what you can expect with field-level comments:

  • Seamless collaboration: Leave comments on specific fields within your content, providing feedback, suggestions, or insights. @-mention team members and stakeholders to ensure the right people are involved in the conversation and will receive email notifications.
  • Contextual feedback: Direct your feedback to specific fields, making it easier for your team to understand and implement changes.
  • Streamlined workflows: Simplify your content creation and editing process with field-level comments. Keep track of discussions within Contentful, eliminating the need for external communication tools. Field-level comments Read the editorial documentation to learn more about field-level comments.

Field-level comments are available to customers in Basic, Enterprise, and Premium plans.

Third party orchestration (EAP)

GraphQL Content API

Third party orchestration is a feature designed to boost digital teams and developer productivity by doing the heavy lifting of connecting and making content from everyday systems available for use inside of Contentful. This allows teams to spend more time on creating engaging digital experiences.

Available now through our Early Access Program (EAP), customers can simply ask our GraphQL API for the additional data needed from some of our integrations. This eliminates the need for developers to connect to multiple APIs and juggle different formats to fetch content from these systems. Contentful delivers the right information, fresh, in-context and on request with one API call.

Early Access Program participants can already get started with Shopify today, with more integrations coming soon.

To sign up for the Early Access Program or for more information, see Third party orchestration and the developer documentation.

See changes as you work with live preview

Live preview is an enhanced editorial experience that enables content editors to see how the content looks side by side with the content fields, in the web app. This feature will be gradually enabled over the next few weeks.

Live preview helps digital teams quickly and confidently fine-tune content, leading to

  • Increased efficiency by finding and editing content faster
  • Higher content quality and less re-work
  • Reduced onboarding and training by making the editorial experience more intuitive

Out of the box, live preview offers an intuitive side-by-side edit and preview experience. Content fields appear on the left, and a preview of the page appears on the right. Customers can change the preview viewport from full-width desktop to a narrow-width mobile view.

When developers integrate our live preview SDK into your web site, it unlocks two additional capabilities for content editors:

  • Real-time updates in the preview pane: Test different copy variants and see their effect as you type.
  • Inspector mode: Find and edit specific content faster by clicking on any tagged field in the preview pane.

Live preview will be included in starter templates for new customers, starting with the marketing website template.

live preview changelog

Read the documentation to learn more about live preview.

Improved UX for single sign-on configuration

Web App

We have overhauled the user experience for managing the single sign-on configuration for your organization. Helper texts, prompts, and a more streamlined flow on the configuration page make it easier to set up a configuration from scratch while making changes to an existing configuration much faster. Administrators now also have the ability to deactivate SSO for maintenance or save a draft of the configuration to activate it at a later time.

For more information on Single Sign-on please have a look at our support page.

sso-config

Contentful now fully supports AVIF format for media uploads

Web App
Content Management API
Images API

We now support viewing AV1 Image File Format (AVIF) files in the web app. Before this improvement, you could only upload AVIF files, without previewing them.

Here’s what has changed:

  • AVIF image dimensions are now calculated and available via our API, while also being displayed in the list of media assets.
  • you can now preview AVIF images in the image file view.

By leveraging the AVIF format, you can improve the overall performance of your website or application by reducing loading times, improving SEO rankings, and enhancing user engagement. Contentful - AVIF File View Preview Support

Use @mentions in comments to get your colleague’s attention

Web App

@Mentions in comments is a way to direct a comment to specific users. When you use the @mention feature in a comment, the users you mention will receive a notification that they have been mentioned in a comment. This feature is available when users create or respond to a comment in the Contentful web app.

@Mentions streamlines team communication and collaboration.

  • For the commenter - easily get colleagues’ attention without switching tools and increase the likelihood of a response
  • For the mentioned - proactively get notified of a comment and easily gain the visibility and context needed to respond
  • For developers - eliminate the need to build costly and time-consuming workarounds

Mentions on comments GIF

Read the editorial documentation or developer documentation to learn more about @mentions.

@Mentions is available to all users.

Merge app can now be used from your command line

Contentful CLI
Merge

Building on environments and environment aliases, the Merge app can help teams to incrementally create, test and release their content models. And now, you can use the Merge app right from your command line! Developers will be able to compare content type differences between environments, export a migration script and apply it right from the Contentful CLI, without having to switch over to the web UI.

Show content type differences in the CLI

To view content type differences between two environments, use command:

contentful merge show --te <target-environment-id> --se <source-environment-id>

If the Merge app is not installed in those environments, the CLI will prompt you to install it. If you don’t have installation rights, you will need an admin user to install it for you.

Merge CLI Diff Show

Export differences in a migration file

To download a content type migration script for a target environment, use command:

contentful merge export --te <target-environment-id> --se <source-environment-id>;

Merge CLI Export File

Apply the migration file using the existing Contentful migration command

To apply the exported migration script to your target environment, use command:

contentful space migration --space <space-id> --environment <target-environment-id> <path-to-migration-script>

Note: If desired, you can make manual changes to the migration script before applying it (e.g. adding entry transformations).

User documentation can be found here.

We want to continue to make your experience with the Merge app better, and would love to hear your thoughts. Help us improve your experience - share feedback.

New navigation & improved list views

Web App
Launch
Compose

A fresh new experience to help your team quickly and more easily achieve their content-related goals!

New-look-content-list

Here’s a closer look at our new experience:

  1. List views in content, media & content model. We reduced clutter and improved scannability by:
  • Introducing user avatars and adding more visibility for descriptions and titles.
  • Removing entry usage counter from content list. It is still available in your usage dashboard. Additionally, you will be informed when you start hitting the limits.
  1. Navigation. More compact with improved visibility of space & environment. Settings have been moved to the right side.

  2. Contentful Apps. Compose and Launch and Content model templates are moved to Apps dropdown for easier access.

app-switcher-compose-launch

We want to make sure it is easy for anyone to use Contentful thus we continuously work on making the platform adaptable to the way you work and complete your tasks. We are working towards improving experience across all modelling and editing screens thus temporarily you may see some inconsistencies. Help us improve your experience - share feedback.

Stable release of contentful.js v10 with enhanced TypeScript support

SDKs and tools
Content Delivery API

We have released contentful.js v10 with enhanced TypeScript support!

With typed queries and responses, developers are able to see the shape of content types & entries right in their code editor! No more context switching, everything they need to develop efficiently is in one place.

Improvements in v10

  • Query type support — Autosuggestions based on your Contentful content model allow you to know exactly which search parameters you can use in your requests.
  • Chained client modifiers — An option to modify the response shape of your CDA calls, and thus get predictable response type support.

contentful.js v10 before/after

Learn more

  • Learn how to migrate to contentful.js v10 in our migration guide.
  • Have a look at our tutorial demonstrating the new features.

Share feedback

Self-service Single Sign-on configuration

Web App

Today, we’re launching an update to our Single Sign-on experience. As administrators, you now have the ability to set up and manage Single Sign-on configurations for your organization in a fully self-serve manner. You can now update certificates, edit the SSO name, and activate or deactivate restricted mode by yourself, without having to reach out to our support teams.

For more information on Single Sign-on please have a look at our support page. self-service sso

Extended character limit for naming API keys

We are extending the character limit for naming Content Delivery API (CDA) and Content Preview API (CPA) keys from 40 to 67.

This means that as admins you have more flexibility when naming an API key, making it easier for you to adhere to existing naming conventions within your organization. Existing CDA and CPA API keys will not be affected. Content Management API (CMA) keys will not be affected. To learn more about different types of API keys, you can check out Authentication documentation.

New webhook for content model template installations

Webhooks

Contentful has introduced webhook support for completed content model template installations.

The webhook for this event is a great way to trigger additional downstream actions, such as:

  • deploying applications to use content model updates;
  • testing code against content model changes;
  • notifying your team about the changes.

Webhooks can be accessed in the Webhooks page under the Settings tab in the Contentful web app.

To learn more about the Template Installation webhook event and how to use webhooks in your workflows, see Webhooks.

Search, filter, and save views based on Workflow steps

Web App

Workflows are now fully integrated with the Content table. Editorial users can customize the content table by filtering and saving views based on the workflow step the content is in. Try it yourself:

  • Add the workflow column to the content table to get an overview of the current content states
  • Use the workflow filter to search for content that = or != in a specific workflow step
  • Save the relevant view with just one click (e.g. “In progress”)

Workflows: Search and Filtering

Read the editorial documentation or developer documentation to learn more about Workflows.

Workflows is available to Premium users.

Incentro A-sync Localiser App

Marketplace

You can now install Incentro's A-sync Localiser app from the Contentful Marketplace. This integration allows for asynchronous publishing of field-level localised entries. You can install the application from the Marketplace. Additional features and locales are available with a separate Incentro subscription.

Smartcat Integration

Marketplace

You can now install an integration to Smartcat from the Contentful Marketplace. This integration allows you to send content to Smartcat for AI and human translation. You can install the application from the Marketplace. You will need an existing Smartcat account to use this integration.

Security Update

We are pleased to announce a new security update aimed at providing enhanced protection against potential phishing attacks or malicious activities. As part of this update, processing JavaScript files will result in an “invalidContentType” validation error.

This change has been implemented to safeguard the security of our platform and prevent the distribution of potentially malicious files through our CDN.

For our customers who require continued functionality for their content operations and have a valid use case, we have established a allow-list. If you have any questions or would like to be considered for inclusion on this list, please do not hesitate to reach out to our support team at support@contentful.com.

Keep content flowing with new Workflows

Web App

Workflows enables content teams to keep content flowing across the content lifecycle - from first draft all the way to publication - by ensuring the right people are taking the right actions. The app automates previously manual and error-prone processes to ensure seamless collaboration, editing, reviews, and approvals. To get started:

Workflows in action (large)

Create workflows and let them trigger automatically

Define your workflow and choose the content types it should be applied to. Automatically start on all entries of the chosen content type or manually start the workflow.

Automate tasks and keep everyone in the loop when changes happen

Create tasks and notifications for different workflow steps. Choose how your teams or users would like to get notified. Create comments for workflow step changes to capture important information.

Set up governance rules to fit your specific process

Define clear roles and responsibilities for each step and content type, adhering to pre-defined governance models. Determine who needs to be involved when and what actions need to be taken, whether that’s moving the content to the next step or moving it back for further revisions.

Workflows is available to Premium users.

Slack Notifications Limit Increased to 15

Marketplace

You can now send more Slack notifications to more places with the Contentful Slack app. We've boosted the number of notifications that you can configure to 15. If you've already configured the Slack app, you do not need to change anything, but can now add more notifications to your existing configuration.

New to the Slack app? The Contentful Slack app is a powerful way to keep content teams in the know about their content journey. The Slack app allows you to set up automatic notifications about specific Contentful events so that you can quickly notify collaborators about changes throughout the content lifecycle.

Learn more and install the app in the Contentful Marketplace.

Introducing Free and Basic self-service plans

Web App

Today, we’re introducing an update to our pricing plans. The new Free plan replaces our previous Community offering as the default plan when you sign up to Contentful.

Upgrading to our new Basic plan allows you to enjoy benefits, such as more roles, locales, access to Contentful support and much more, without having to purchase additional space licenses. The new plans allow you scale better with Contentful as you grow your business.

If you are an existing Community customer, nothing changes for you today and you can keep using Contentful as usual or choose to upgrade to the new Basic plan as needed. If you’re a Team customer, you have the option to keep purchasing additional space licenses as needed.

For more information on what’s included in each of these plans, please visit our pricing page.

screenshot

Implemented a new dropdown for reference fields

Web App

When creating a reference field, users can now select content types from a dropdown menu instead of multiple checkboxes. This improvement makes it easier for users to search and select the desired content types, especially when there are multiple options available. It also improves the readability and visibility of the selected content types and the available ones.

Redesigned reference field checkboxes

Redesigned reference field checkboxes 2

For more information about reference fields, see References across spaces and Link content across multiple spaces.

Note that this improvement only affects the user interface of the web app. The underlying functionality remains the same.

Conditional Fields by Prototyp App

Marketplace

We've just published a new app in the Contentful Marketplace - Conditional Fields by Prototyp. The Conditional Fields app helps Contentful administrators customize/extend content types by creating conditional fields that can hide the appearance of other fields. This helps you manage content types that are very similar but not identical to one another and reduces the number of only slightly differing content types that need to be created.

Features

  • Show or hide fields based on rules you create
  • Add or remove rules on demand
  • Minimize number of content types used by applying conditional logic instead of creating a slightly different content type
  • Supplementary advanced JSON editor

Get the App

You can install the new Conditional Fields by Prototyp app from the Contentful Marketplace

Conditional Fields by Prototyp

Custom GitHub Action for App Deployment

App Framework

Today, we’re introducing a custom GitHub Action which facilitates automated deployments of frontend apps for users of GitHub CI.

on: [push]

jobs:
  deploy_job:
    runs-on: ubuntu-latest
    name: Deploy app to Contentful
    steps:
      - uses: actions/checkout@v3
      - name: Use Node.js 18.x
        uses: actions/setup-node@v3
        with:
          node-version: 18.x
      - run: npm ci
      - run: npm run build
      - uses: contentful/actions-app-deploy@v1
        if: contains(github.ref, 'main') || contains(github.ref, 'master')
        with:
          organization-id: ${{ secrets.ORGANIZATION_ID }}
          app-definition-id: ${{ secrets.APP_DEFINITION_ID }}
          access-token: ${{ secrets.ACCESS_TOKEN }}
          folder: build

Read more about our Custom GitHub Action in our documentation or the GitHub repository

Kibo Commerce Integration

Marketplace

You can now use an integration to Kibo Commerce in your Contentful spaces. This integration allows you to select products from your Kibo instance and use them inline with other content in an entry. You can install the application from the Marketplace. You will need an existing Kibo account to use the integration.

Hidden entry editor fields

Web App

In the web app entry editor, "Show disabled fields" becomes Show hidden fields, and in the content type modelling field settings, the "Disable editing" option becomes Hide field when editing. With this small change we aim at better reflecting what this simple option really does.

To disable a field so that it can no longer be edited, we recommend adding a new deny rule in the “Roles & permissions” settings to explicitly deny editing on a specific field. See our revised content modelling basics - field managment help center documentation for details.

Add comments to workflow step changes

Web App
Content Management API

Now customers can bring information to future users by adding some text in the dialog box when changing a workflow step (in any direction). This feature allows teams to communicate, share, and review important details or insights without the need to switch between contexts, enabling smoother processes and collaboration.

Comments on workflows

The most recent comment appears in the workflow sidebar widget, and all comments are available in the workflow history dialog box. You can learn more in our documentation.

Drag and Drop for references in Compose pages

Compose

Content teams building and editing pages in Compose can now change the order of reference entries by dragging and dropping those entries with the mouse pointer. Until now, it was only possible to move a reference up or down by one position with a dedicated button. This was inconvenient, especially for long lists of references, since it would require a lot of clicks.

Changelog - Drag and Drop

In Compose, references are often expanded by default to make it easier to write content for a page. To make sorting easier, we also added a button that collapses (or expands) all references with just one click. This makes it much faster to sort a list of expanded references, or just to get a quick overview of all the entries in a list of references.

*Note: This new button only appears if at least two references exist.

Superscript and Subscript in the Rich Text Editor

Compose
Web App

We are enabling editors to use superscript and subscript into their content. This is especially helpful when adding sources, footnotes, formulas or special characters such as the copyright symbol.

changelog-superscript

This new feature is available for the Rich Text Editor. For existing rich text editor content types, you will need to enable it in the content model under the settings tab. For new rich text content types, superscript and subscript are enabled by default.

Assignees can re-assign tasks

Tasks

With this small improvement, users who are assigned to a task, either directly or through their team, can now reassign that task to another user or team without the need to involve administrators in the process.

For example, if a task is assigned to the team, any user who is part of that team can update the task and assign it to themselves or others. Happy tasking!

Scheduled actions as an environment-aware resource

Web App
Launch
Compose

Scheduled Actions allow users to schedule publish or unpublish actions for their content. Now, Scheduled Actions are also copied over when creating a new environment based on master or another environment. Only scheduled actions that are in status "Scheduled" at the time of the environment creation will be copied over. Completed or failed actions will not be copied over to the new environment.

Read more about environment resources in our documentation.

Merge content type changes with Merge app

Web App
Merge

Now developers can compare content types, review conflicts and merge changes - all without writing migration scripts! With the use of environments and environment aliases, the Merge app allows teams to build incrementally, test and release digital experiences, and more efficiently iterate over the content model. Merge app means safer and easier onboarding for developers and a quick way of becoming productive with the content model.

Compare differences between two environments

Use a visual interface for identifying the differences between environments’ content models. Validate your changes and be sure of what you are releasing. Merge app gif - diff

Resolve conflicts and merge

Review potential conflicts and take action to resolve them based on provided recommendations. Safely apply changes from the source environment to the target environment. Merge app gif - merge content types

Export migrations to integrate into your CI pipeline

Export migrations that are generated based on the content types that you selected. The scripts can be exported without applying a merge in the app and saved in the version control as well as used in the CI pipeline. Merge app gif - export migrations

Introducing Contentful Studio

Studio

Today we’re proud to release Studio as part of an Early Access Program (EAP) for all customers. Studio is a unified editorial workspace inside Contentful that streamlines and automates the day-to-day operations of creating, reviewing, and delivering content for digital experiences. Studio goes beyond creation, assembly, and publishing (formerly part of Compose and Launch) to include other critical aspects of the content lifecycle like workflows and governance.

Studio page editor

Studio makes working with composable content intuitive and fast, so content teams can deliver critical projects more efficiently than ever.

Copywriters, editors, designers, and content managers can use a single, intuitive interface to:

  • Create and assemble content for any channel
  • Schedule and publish multiple pieces of content at once
  • Keep content flowing through review and approval workflows to reduce risk
  • Work autonomously while in coordination with others

Studio can be installed by space and organization admins from the Apps tab in Contentful, and are installed at the environment level like other apps. The free EAP runs from now until early 2023, and makes Studio available to all customers with limitations on the number of page types, releases, and workflow definitions that can be created.

Learn more about Studio on the product page, help center, and technical documentation.

Create Custom Space Homes with the App Framework

App Framework

You are now able to takeover the space home to create custom landing pages using the App Framework. Use it for things like customised onboarding, informational dashboards, reminders and visual workflows!

To try it out:

  1. Select the Home location in your App Definition
  2. Include a Home location in your app project files (or try out our example app)
  3. Install the app in your chosen environments as usual
  4. Select the app as your space home (per environment) by going to Space settings > Home > Select your app > Save

Available now for all customers.

Releases as an environment-aware resource

Launch

Launch app introduced a new way of publishing campaigns and content that are related together. Now, Releases and Release Actions are also copied over if you are creating a new environment based on master or another environment.

Read more about environment resources in our documentation.

Scheduling pages in Compose

Compose
Content Management API
SDKs and tools

Customers already enjoy page-based publishing from within Compose, our app for simplified editing and publishing. But they weren’t able to schedule content to be published at a future date or confirm that the content would publish successfully in the first place.

Now customers using Compose with the customizable content model can schedule a Compose page to be published or unpublished at a future date from within Compose. And to confirm that the page will publish successfully at that future date, customers can use the new "Validate" feature to check for errors on their page, such as empty fields or validation errors. Both features can be found as options under the "Publish" menu.

scheduling compose eap image

Compose handles pages as a group of connected content that can be referenced and published together as a unit. Accordingly, this new scheduled publishing feature publishes the page root entry along with all of the referenced entries and assets that are connected to it. In keeping with the customizable content model approach, Compose will not publish any references that are also pages (aggregate roots, in technical terms). Learn more about scheduled publishing in Compose.

If you’re using the legacy Compose content model, learn more about migrating to the customizable Compose content model to take advantage of this and other upcoming new features.

App Actions

App Framework
App SDK
Content Management API

Today, we’re introducing a new capability of our App Framework: App Actions.

App Actions help facilitate automated workflows in the Contentful platform and allow the communication between multiple apps.

An infographic illustrating how an app communicates with another app using the new App Actions capability

Two of our Marketplace apps already support App Actions. If installed, the Slack app exposes an action that sends a Slack message to a specific channel. The Netlify app can be instructed to redeploy a website. Any custom app can now make use of this functionality.

In the future, App Actions will be able to even more than facilitate app-to-app communication. We’ll be adding ways to extend Contentful’s UI in a declarative way through App Actions and integrate tightly with our workflow and automation capabilities. With this release, you’ll already be able to extend our entry list with custom actions, by creating App Actions of the Entries type.

A screenshot of the Contentful web app, focusing on a custom entry action added through the new App Actions capability

We’re excited to open up this functionality to developers today, as we’ll continue investing in App Actions and the use cases they can unlock. Get started building with our App Action documentation, or check out the additions to the reference documentation for our Content Management API.

App Actions can now be built by every customer, using the App Framework.

Apps across spaces and environments

App Framework
App SDK

Apps can now be installed and managed across multiple environments at a time. This allows apps to access and act on all the space-environments where they are installed in, without the need for a backend app to do so.

This entails new capabilities in the UI and the Content Management API.

The first is bulk app installations. It's now possible to select multiple environments into which an app will be installed.

environment-aware-apps

The second is bulk uninstallations. Choose whether to uninstall an app within the current environment only, or within every environment in the current space.

bulk-uninstall

Third, navigation between app configuration screens. Jump from the configuration screen of an app in one environment directly to that in another environment where it's installed in.

installation-switch

And finally, as a developer, you can now query all the space-environments where an app is installed within an organization. This assumes that the current user has permission to access that environment and the app is installed in said environments. If a user or an app does not have permission, the environment and all the data in that included will stay hidden.

This change is fully backwards compatible: all apps continue to behave as they always have. These capabilities are now available to all customers.

Manage content views and folders programmatically

Content Management API

It’s now possible to programmatically manage views and folders using our Content Management API. Views and folders help organize and group content in the web app.

Views and folders in the Contentful web app

Previously, managing views and folders required manual interaction in our web app. With the addition of the UI Config entity in our CMA, updates to views and folders can now be automated using code. Learn how to create and update a view in our CMA reference documentation

This change has no impact on the behavior of views and folders, or their management through the web app. The new API entity is available to all customers.

Improved GraphQL Error Messages

GraphQL Content API

The error messages returned when using the GraphQL API have been improved. They now include a documentationUrl property that refers you directly to the error details in the API documentation. Example of the new payload:

{
    "errors": [
      {
        "message": "xxx",
        "extensions": {
          "contentful": {
            "code": "COLLIDING_TYPE_NAMES",
            "details": {},
            "documentationUrl": "https://ctfl.io/graphql-api-error-colliding-field-names",
            "requestId": "xxx"
          }
        }
      }
    ]
}

These details help you understand why the error occurred and offer a solution. For more information, see the GraphQL Errors Explained section of the GraphQL Content API.

Improved App SDK auto resizer

App SDK

The auto resizer of the App SDK has received an update with version 4.6.0. Previously, the auto resizer only adjusted the height of the iframe to contain elements of that were part of the normal flow. Absolute elements were ignored. This caused issues for dropdowns, tooltips or any other absolutely positioned elements.

With version 4.6.0, you can pass a new option to the auto resizer: absoluteElements. Now, the iframe’s height will automatically increase when a dropdown is opened and would have previously overflown the app’s iframe.

sdk.window.startAutoResizer({ absoluteElements: true });

Add tags to Compose pages

Compose

Content tags are great because they can be used for many different purposes. You could use them to improve searchability (both for content teams and end-users), you could use them to set access permissions on Contentful entries, or you could use them to indicate different styling treatments (e.g., light vs dark themes) in your digital experiences. Whatever your team uses tags for, you can now manage them directly from within Compose pages.

To view and edit a page’s tags in Compose, just open the “Page details” panel, click “Manage tags”, and a list of the tags assigned to that page will appear. If you have permission to edit the page, you can assign additional tags, or remove existing ones. At this time, tags cannot be created from within the Compose interface, even if you have permissions to do so.

Add tags to Compose pages image

Because Compose offers a flattened editing interface, and most actions are handled at the page level, tags are also assigned to the page entry (i.e., the parent entry) only, and not to any child entries or references. You can still add new tags or manage tags on child entries in the web app.

Learn more about tags in our help docs and dev docs.

Managing releases in Launch just got a lot easier

Launch

The Launch app helps you structure and schedule releases of content ahead of time with ease. In fact, with so much ease that it's now becoming hard to sort through the many releases being created. To bring a clearer overview, easy access to releases and to reduce clutter, we’re shipping a refreshed UI for managing releases at scale in the Launch app.

Easily access the new list view via the toggle on the top right, which offers a condensed and information rich overview of the releases. Here’s an overview of the improvements you can expect in the release management user interface;

  • List view for a better overview of releases created
  • Search bar for finding releases faster, by name
  • Ability to archive releases, to clear up spaces without deleting releases completely
  • Filter by; Publishing state (unscheduled, scheduled, published), archived releases and by users who created the release
  • Sort by; Name (alphabetical), Creation date and Last updated date

List view – Release management in Launch

The APIs that support these changes are also included in our JS SDK:

  • Query parameters for Releases API that enable filtering and sorting, see documentation
  • Releases Actions endpoint to query release actions in your space, see documentation

Create tables in the Rich Text Editor

Web App
Compose

Tables are a common format for presenting information clearly. However, getting tables onto any digital property is surprisingly hard, especially in a decoupled world where a simple table is contrary to the philosophy of separating content from presentation.

To accommodate the needs of content editors and developers alike, we added tables to Contentful’s Rich Text Editor, supported by our APIs and client libraries.

With tables, editors can start organizing content, such as product size guides, pricing pages, event agendas — you name it — in a tabular form. Features include:

  • Copy and paste tables
  • Add rows and columns
  • Enable/disable a header row
  • Format text: bold, italic, underlined, code blocked, or a combination
  • Add hyperlinks
  • Embed inline entries

To use tables in existing Rich Text fields, you'll need to enable them in the Content model settings menu. New Rich Text fields will have tables enabled by default, but can be disabled if desired.

Learn more about Tables in the Rich Text Editor, see our developer documentation or follow this quick course on enabling and using tables.

Tables in Rich Text Editor animation

Customize Compose for your spaces

Compose
Web App
Contentful CLI
Content Management API
SDKs and tools
Documentation

Contentful’s Compose app is offering new and improved capabilities to maximize editorial productivity, by making it easier and faster to browse, create and publish content for any use case.

Improved page model flexibility means that Compose can be configured using any content type — with only a few clicks — using the step-by-step guide for developers and admins. Field groups make it easier to collapse fields to reduce the amount of fields in the interface, making it easier to focus on what matters. Spend less time setting up Compose to fit your needs, and more time helping teams produce content faster. What to expect:

  • Easier to get started, with no development effort
  • Simplified content model with less requirements and nesting
  • Customizable page editor layout
  • More granular validations for linking to specific page types
  • From global URLs to unique URL slugs per page type
  • Avoid information overload by grouping fields
  • Segment content easily using tabs
  • Ensure greater governance by setting up permissions to only allow editing specific page types

Learn how to install and set up page types in Compose or see our developer documentation for Compose.

Compose page type config

New Tooling for Contentful App Framework

Improved create-contentful-app tooling for the App Framework

The create-contentful-app CLI has been rewritten to be faster and more flexible. It is now possible to bootstrap an app with JavaScript instead of Typescript, Yarn instead of npm or even create an app from your custom template. All you need to do is run npx create-contentful-app. To learn about how to use the new features, simply run npx create-contentful-app –help. For more details, please check out our documentation.

React Hooks for building apps faster

React is the most popular framework when it comes to writing Contentful apps and with the new React Apps Toolkit, we provide multiple new React hooks that abstract the most common use cases. That way, you have to write less boilerplate code and can focus on the core functionality of your Contentful app. Combined with Contentful’s open source Forma 36 design library it allows developers to seamlessly integrate into Contentful so that you can build editorial apps faster with less manual work. To learn more about the new React Apps Toolkit, check out the package on npm.

ReactDOM.render(
  // wrap the app with the SDK Provider, so the new hooks can be used
  <SDKProvider>
    <App />
  </SDKProvider>,
  document.getElementById(‘root’)
);

function App() {
  // returns an instance of the App SDK
  const sdk = useSDK();

  // returns an initialized plain CMA client
  const cma = useCMA();

  // returns the current state of a field and an update method
  const [value, setValue] = useFieldValue();

  // …
}

Slack and Netlify Marketplace Apps

Automation is essential when dealing with content across digital delivery pipelines, especially to help content creators and developers work together harmoniously with the tools they prefer. We are thrilled to announce the release of the new Slack app and improved Netlify app!

To date, we’ve made webhook templates available, which could be configured by any developer to trigger a notification with Slack or a build with Netlify. We now want to make this capability available for content creators too — with improved apps that are easy to install from our marketplace, rather than having to ask your developer to set it up.

With the new Slack app you can configure alerts via a message in Slack when an entry is created, deleted, published or unpublished. The messages can be customized to be richer and provide additional context.

The Netlify app is now able to trigger builds automatically, rather than manually, when content is published or unpublished.

You can install the Slack and Netlify apps via our Marketplace today! Existing installations of the Netlify app have been automatically updated.

Analyze and audit search results with a downloadable CSV

Web App

Getting a thorough understanding of the content your teams are producing is essential for optimizing and iterating it over time. In some cases, content can be augmented with metadata to improve SEO performance or audited for gaps and enrichment.

To make the content analysis process a bit easier, we’re making it possible to download content search results via CSV export, which can be further analyzed in the BI tool of your choice. Simply run a search, configure the columns to include, select the rows to export, and click “Export as CSV” in the bulk actions menu.

When all rows are selected, the export pulls search results from the current page only, meaning that if there are more search results than on one page, you would need to export the remaining results as separate CSV files, or use our APIs.

For more information, please read our Help Center article. CSV Export

Beta release: contentful.js v10 with enhanced TypeScript support

SDKs and tools

We have released contentful.js v10 in Beta with enhanced TypeScript support!

With typed queries and responses, developers are able to see the shape of content types & entries right in their code editor! No more context switching, everything they need to develop efficiently is in one place.

Improvements in v10 Beta

  • Query type support — Autosuggestions based on your Contentful content model allow you to know exactly which search parameters you can use in your getEntries and getEntry requests.
  • Chained client modifiers — An option to modify the response shape of your getEntries or getEntry calls, and thus get predictable response type support.

contentful.js v10 beta - query types

Learn more

  • Have a look at our tutorial demonstrating the new features
  • Learn how to migrate to contentful.js v10-beta in our migration guide
  • Download the new package from NPM under the beta-v10 tag (go to the "Versions" tab to find it)

Share feedback

  • Submit feedback using this form
  • Create a GitHub issue and tag it with the beta-v10 label
  • Write to us in #general with tag #typescript on our Community Slack

Existence filter for "Object" field type

GraphQL Content API

Object type fields allow users to store an arbitrarily shaped JSON object within an entry. We have modified the GraphQL Delivery API to allow users filtering on whether content is set in an Object field via the _exists filter.

The Developer docs were already stating that the _exists filter is available for all field types.

You can read more about all available collection filters in our developer documentation.

Changes to the Regular Expression engine

Content Management API

On Thursday 17th at 10am CET, Contentful made an important security update to our content type field validations that use Regular Expressions. These validations live in the content type fields, for example to enforce a specific input pattern when creating or updating entries. This change will block updates to content type validations that include potentially dangerous terms, but will not prevent publication or other content type changes.

On Tuesday 17th May, we will make a further update that will prevent publication from content types that contain the potentially dangerous terms.

This change will impact customers who use certain RegEx terms to enforce formatting or validation in their content types, which will no longer be permitted. Please see below for more details on when these changes will affect different customers.

We are in the process of directly contacting Org Admins at customers who use these validations to flag which content types contain these terms this week. We cannot offer specific instructions on how to change each validation, but these communications include general guidelines to simplify the process.

Customer impacts

Community & Team customers can still edit affected content types, but only if they leave the regular expression validation untouched. From today this means that new or updated content types must comply with our new requirements for validations. Other changes to affected content types are still possible, as is publication of entries using content types.

From May 17th, all content types must comply with our new requirements. If content types are not updated to use accepted validations, it will not be possible to publish new entries with those content types. Already published content will not be affected.

Premium/Enterprise customers can still make changes to their content type validations. They have three months to make the required changes and ensure there is no disruption to their workflows in affected content types before the May 17th updates.

These updates to our regular expression engine are a proactive preventative measure against potential "ReDoS" attacks and ensure that our customers continue to have the service they expect from Contentful (you can read more about them over at OWASP.

Easily disable and enable webhooks

Webhooks

You can now disable and enable your webhooks with a single click, giving you more flexibility in managing your integrations with Contentful. Webhook disabling is controlled with a toggle in the webhooks settings page, and users can now easily see which webhooks are disabled.

Disable webhooks screenshot

Previously, disabling webhooks required users to delete the webhook then rebuild it from scratch. This was both time consuming and error prone, as settings had to be recreated exactly. That process is now one click to disable the webhook, and another to enable it.

Key use cases:

  • Downtime: If you know the service that will receive the webhooks will be down for a certain time, you can disable the webhook to avoid having failures cluttering the webhook log.
  • CI/CD: configure your webhooks and then disable them when you don't need them for testing. Re-enable them when you want to do some testing, as part of a CI/CD pipeline.
  • Migrations: during migrations you may want to disable certain webhooks to not spam third-party systems. They can easily be enabled again after the migration is done, without deleting and recreating them.

Disabling webhooks is available to all Contentful customers now.

For more information on disabling webhooks, you can refer to the documentation.

Retrieve asset fields in multiple locales

GraphQL Content API

We have modified the Graph API to allow users to request fields on an asset in multiple locales.

For instance, with this change you can fetch different image URLs for different languages. Previously you could only select fields in the same locale as the asset, meaning fetching data for the same asset in multiple languages required doing multiple aliased queries or multiple requests.

Here's an example:

query {
  blogPost(id: "my-post") {
    name
    content
    heroImage: image {
      english: url (locale: "en-GB")
      german: url (locale: "de-DE")
    }
  }
}

Forma 36 v4 GA Release

Today we are releasing Forma 36 v4 to GA. Forma 36 is our open source design system, created to make it easy to quickly build apps and extensions for Contentful that feel like a native part of the platform.

Improvements in v4

  • Accessibility - We believe that the web should be for everyone, so v4 brings Web Content Accessibility Guidelines (WCAG) level AAA compliance in all of our React components.
  • Bundle size - New approach to component management uses tree shaking and loads only what you need. As a result, bundles with v4 are up to 85% smaller - making your apps faster and more responsive for end users.
  • API usability - The updated Forma 36 API is simplified, follows common standards and is more consistent not only between individual components, but also with other Contentful APIs. This makes it faster than ever to build apps in Contentful.

Learn more

  • How to migrate to v4 on the Forma 36 website
  • Read more about the new version on our blog

Share feedback

We will continue to support Forma 36 v3 until 12th July. To learn more about this, please read the maintenance plan for v3 on the Forma 36 website.

Environments Governance: Granular control of roles and permissions in your environments

Environments Governance allows space admins to tightly control who has access to each environment, securing, simplifying and speeding up their teams’ development processes.

As our customers scale, granular access control in delivery workflows becomes increasingly important. With environments governance, admins can ensure that users only see the environments they need, letting them be much more confident in making changes, and avoid mistakes that could affect your end users.

Environments Governance Gif

With environments governance teams can:

  • Safely share testing and staging environments with QA engineers, PMs and Editors to test and approve development changes
  • Control access to the master environment, i.e. restricting developers from making changes on live content
  • Protect sensitive development - allow only a few users to access a secret project or confidential data
  • Train editors using realistic permissions without the risk of impacting live digital experiences
  • Test new roles safely to ensure permissions are set correctly without affecting production
  • Grant limited access to external contributors to only the environments that they need to complete their task.

To enable environments goverenaces, the space admin can navigate to the role editor, then environments tab and select restricted environments and aliases.

These features are available on Premium plans (or former Enterprise plans with space sizes P1X and above).

You can learn more about how to manage access to environments in our release blog, developer docs, help center, or watch the walkthrough video.

Forma 36 v4 beta: Improved accessibility, smaller bundles and a better API

App Framework

Today we released Forma 36 v4 beta, a new version of Contentful’s open source design system.

Beta means it's available to everyone, but we may still introduce some changes to the API, including small improvements and fixes. We encourage you to migrate to the new version and enjoy the improvements.

Improvements in v4

  • Accessibility - We believe that the web should be for everyone, so we redesigned our React components following the WCAG level AAA guidelines.
  • Bundle size - New approach to component management uses tree shaking and loads only what you need. As a result, bundles with v4 are up to 85% smaller.
  • API - The updated Forma 36 API is simplified, follows common standards and is more consistent not only between individual components, but also with other Contentful APIs.

Learn more

Share feedback

None of your apps that use Forma 36 will be impacted with this update unless you migrate to v4 beta.

Schedule your content releases with Apps

App Framework
Content Management API

Apps now have access to Releases, Release actions and Scheduled actions making the planning and scheduling of your content even easier.

You can now build apps to manage the content and publication of your releases, or automatically synchronise releases with other tools to improve the visibility over content operations across your organization.

You can learn more in our guide on App Identities and Events.

Improvements to the visibility of reference tree filters

Web App

Recently, we introduced the reference tree to the "add to release" flow for Launch. This allows content editors and orchestrators to build and schedule releases with confidence by giving them granular control over what content in their entire reference tree will be added to each release for (un)publication.

Today, we are improving how we present our filters for the reference tree in this interface, to make it easier to find the entries that are important to your release based on their state - draft, changed or published. This will help editors to build their releases more quickly by making it easier to surface the content they’re looking for.

New reference tree filter checkboxes

AVIF image format for the GraphQL Content API

GraphQL Content API

Every schema from the GraphQL Content API contains a type named Asset which represents an asset in your space.

When querying for the asset's URL via the Asset.file field, a transform parameter can be provided to generate a URL for our Image API with all the transforms applied.

One of those transforms is format to allow altering the image's file type. We have added the value AVIF to the ImageFormat enum.

Example usage:

{
    assetCollection(limit: 1) {
    items {
      url(transform: { format: AVIF })
    }
  }  
}

When applied, the resulting URL contains the query parameter fm=avif.

You can read all about the Asset type in our GraphQL developer documentation.

Images API now supports AVIF format conversion

Images API

A picture can be worth 1,000 words, but what happens if it's worth so many bytes that your page loads too slowly? That's where AVIF image conversion steps in.

People have short attention spans so, as TUI can show you the faster a page loads, the more likely it is your users will stay and complete their purchases.

Faster page loading times will also improve your SEO performance, helping you to get in front of those customers in the first place.

To help our customers build beautiful, image-filled, digital experiences that convert clicks/views/etc into customers without sacrificing page loading time, the Image API now supports AVIF format conversion.

AVIF delivers high quality images with smaller file sizes and is fully supported by Chrome, Firefox and Android.

The image conversion happens entirely at the API level, so your content teams can continue to upload the same formats they use now, but still reap the rewards of faster load times and improved SEO rankings.

To learn more about working with images in Contentful, you can read our blog, and to start using AVIF format conversion, you can check out our Images APIdocumentation now.

AVIF Graphic

X509 Certificate Expiration for SSO users [Action Required]

On 1 November 2021 at 10:00am CET, Contentful will make an important security update to our SSO (single-sign on) configuration.

We will replace the x509 certificate that we use to sign SSO login requests with a new certificate, in order to ensure we maintain the highest level of security for our customers.

Depending on how your organization has implemented SSO for Contentful, this may require you to update configuration settings in your Identity Provider to reflect this change. If you need to make these updates and do not, you will not be able to log in after 1st November.

SSO providers that support this feature and could be affected

  • Microsoft Azure AD
  • miniOrange
  • Ping Identity

Urgent action is required if your organization has explicitly enabled signature verification (aka fingerprint verification) for SAML authentication requests using Contentful’s current x509 certificate.

To prevent issues with SSO login, make sure to specify Contentful’s NEW x509 certificate in your Identity Provider’s Admin dashboard and reenable the verification on the 1st of November. If you would like to replace the certificate before the 1st of November 10:00am CET, contact our Support team via support@contentful.com, and we will arrange a mutually convenient time to switch you to the new certificate

If your organization has not enabled signature verification for SAML authentication requests, then there will be no impact to your service when the new certificate is activated and no action is required.

SSO Providers that are not affected by this change

  • Okta
  • OneLogin

If you’re unsure of how your implementation has been configured, please contact your Security or IT teams to verify.

For more information on the transition process, and to check our current certificate, please check our FAQs for SSO and for the x509 certificate update process.

Comments API Endpoints and Webhooks for Comments

We have a new release that we think is worth commenting on...

Contentful CMA (Content Management API) now includes Comments

Contentful’s Comments API, allows organizations to distribute key editorial information for their editorial teams using comments to ensure they can work quickly and avoid communications problems.

You can find more details in our developer documentation.

Contentful webhooks also now support events for Comments.

These new event topics help Contentful developers to manage automations at scale.

Webhooks can be accessed from the webhook configuration page in any Contentful space (/spaces/[space-id]/settings/webhooks).

To learn more about our new webhooks and how to use them in your content delivery workflows, feel free to visit our Help Center article.

Use cases for the new API and Webhooks include:

  • Automatically add comments to a content entry from other applications, ensuring consistent information communication
  • Notify digital teams when a comment is created or deleted in the apps they normally use to communicate, eg. Slack or Teams
  • Trigger actions in other apps based on comments events, such as copying a comment, updating a status, etc.
  • Use comments events in your app by leveraging app events

Both the API endpoint and webhooks are now avaiable to Contentful users on all tiers.

New functions in the App SDK to facilitate apps that manage the publication lifecycle

App SDK
App Framework

We have extended the App SDK with three new functions:

  • sdk.entry.publish()
  • sdk.entry.unpublish()
  • sdk.entry.save()

These new functions make it much easier and faster to build apps that update the lifecycle of content (e.g. custom publish buttons, auto-save fields) by eliminating the need keep track of all fields and their IDs to publish one entry.

These improvements to the App SDK are available for all customers from today. To learn more, please refer to our documentation.

App Sharing: Easy app installation outside the Contentful Marketplace

App Framework

Apps can now be easily shared across organizations with a click, using a link or an embeddable share button. Apps shared using this feature will automatically receive updates.

This will make it easy for community members to share their apps with other organizations; for Contentful customers to deploy their custom apps across multiple spaces and for partners to build apps for clients.

Sharing can be enabled from the app configuration screen. Once an app is shared, a deeplink will be available on the same screen.

App sharing screenshot

You can learn more about how app sharing works in the Content Management API documentation.

Add icons to your custom apps

App Framework

It is now possible to add icons to your custom apps, allowing developers to give their apps a custom look when they appear in the App List.

App icons help identify your apps and their functionality in the app list and everywhere the app definition is shown. This improves usability for organizations that use many custom apps in their environments by making it easier to quickly find the app you're looking for.

They also make life that little bit more fun!

To upload an icon, go to the app management screen and hover over the icon. When clicked, you can now upload your custom icon.

App icons for custom apps

Icons introduce a new entity called AppDetails, which is used to store additional information about a Contentful app. For more information, see the Content Management API Documentation.

CMA adapter for the App Framework

App Framework
App SDK
Compose
Launch
Web App
SDKs and tools
Content Management API

Apps built using the App Framework can now access the Content Management API using the official contentful-management.js client.

With release of App SDK v4, the SDKs powering our locations include a new attribute called cmaAdapter allowing developers to access entities exposed by Content Management API making using the official Content Management API JavaScript client.

import { createClient } from 'contentful-management'
import { init } from '@contentful/app-sdk'

init((sdk) => {
  const cma = createClient(
    { apiAdapter: sdk.cmaAdapter },
    {
      type: 'plain',
      defaults: {
        environmentId: sdk.ids.environment,
        spaceId: sdk.ids.space,
      },
    }
  );

  cma.entry.create({ contentTypeId }, data)
    .then((entry) => {
      console.log('This is my entry');
      console.log(entry);
    })
})

This change introduces a soft deprecation of Space API, whose functionality is now fully replaced by cmaAdapter.

Learn more about this feature by visiting:

Webhooks for Tasks

Webhooks

Contentful webhooks now support events for tasks.

These new event topics help Contentful developers to manage automations at scale.

Key use cases for the new webhooks include:

  • Communicating creation and updates on tasks to the right stakeholders in real time
  • Implementing task templates
  • Starting a workflow in a third party app
  • Using task events in your app by leveraging app events

Webhooks can be accessed from the webhook configuration page in any Contentful space (/spaces/[space-id]/settings/webhooks).

To learn more about our new webhooks and how to use them in your content delivery workflows, feel free to visit our Help Center article.

The date limit for scheduled actions has been extended to five years

Launch
Web App
Content Management API

When creating a scheduled action to (un)publish content, we used to only allow to schedule up to 2 years ahead. But then we thought, what if you need to schedule some content for the next Olympics?

To give our customers as much flexibility as possible over a longer time, we have increased the schedule time - the limit is now 5 years into the future.

This is especially useful in cases where content is relevant for a limited time, during which it can be live and which needs to be unpublished with certainty after some time in the future.

This means that if you need to schedule content for the next Scottish Parliament elections, the Winter Olympics in Milan, or the 250th anniversary of the United States Declaration of Independence, you can confidently do it with Contentful today.

You can learn more about the Schedule Actions API in our Content Management API documentation.

Changes to SSL Validation Chain Affecting Pinned Certificates

Content Management API

To our customers that use SSL pinning: From 10:00 CET on Monday October 4th 2021, our engineering team will gradual change the SSL validation chain for CMA/BE.

For more information please reach out to our support team: https://www.contentful.com/support/.

If you are not using SSL pinning then please feel free to disregard this message.

Tasks: New features and activation for new users

Compose
Launch
Web App

We have released major improvements to tasks in the Contentful platform, adding new features and moving them into their own app.

These new features help users to manage their content workflows at scale and ensure major projects can be delivered on time.

Before:

  • Tasks could only assign a task to individual users
  • Tasks were not available in Compose and Launch
  • Due dates could only be added in the task description
  • Tasks were a built-in feature of the web app and it was enabled by default on your sidebar

After:

  • You can assign a task to an individual user or a team
  • You can add a due date, which will trigger reminders two days before the due date
  • You can see view urgent and pending tasks in a single location
  • You can work with tasks in the Compose + Launch, as well as the web app by installing tasks from our Marketplace

Task Assignment

Pending Tasks View

Availability

Tasks are available to Enterprise customers using P1X spaces or larger - this is unchanged.

For customers who have used apps within the last 12 months, Contentful has transitioned all existing tasks to the new app in the background. For existing customers who do not use tasks and new customers, the app can be installed from our Marketplace.

Learn more by

New Extensibility Locations for Apps in Compose + Launch

Launch
Compose

Editorial flexibility is key when creating workflows and publishing content across channels, which is why we’re delighted to announce new extensibility capabilities for Compose + Launch - to editors more easily augment any workflow with apps from our marketplace or that their team has built within our dedicated experiences.

Compose

Sidebar in Compose

Launch

Sidebar in Launch

Sidebar apps help anyone working with content to easily augment their workflow with apps from our marketplace or that their team has built. Apps including translation management systems and DAM integrations can utilize this space to support every editors’ work in a single page.

The Page location allows apps to fill the entire page, giving developers the space to customize Launch by integrating other tools and services to the Launch’s capabilities.

You can find out more about customizing the sidebar, the specifics of sidebar in Compose and working in our developer documentation.

If you’re curious about what apps can be used in these new locations, you can learn more about building your own app with our app framework from our website and developer documentation, or see what has already been built in our marketplace.

You can now search for your Release when adding entries and assets directly from the Web App

If you love Launch as much as we do and have created a lot of releases, you may have realised that it can be tricky to find the release you're working on when adding entries and assets from the web app.

You may have said things such as "Which Release was it again?"; "Why can't I can't I find next week's sale release?" or "Why must I have to scroll through so many beautiful releases?!?".

Don't worry, help is on its way! Allow us to introduce to you to the add to release search bar! Your releases are now only a couple of keystrokes away, with the search bar filtering the list until you see only the releases you need.

Note: The search bar will only appear once you have more than five Releases in a single space. (This should be the point where you have to start scrolling through releases.)

Search for Releases – Add to release flow

Webhooks for Releases, Scheduled Actions and Bulk Actions

Webhooks

Contentful webhooks now support event topics surrounding releases, scheduled actions and bulk actions.

These new event topics help Contentful developers to manage automations at scale and build sophisticated publication automations by consolidating entry and asset webhooks into a single event.

__Key use cases for the new webhooks include:

  • Release and release action webhooks will help reduce CI workflow builds by listening to a single webhook instead of listening to individual entries that are part of larger publication events. This will result in fewer rebuilds and therefore improved performance for end users if publication workflows exclusively use releases.
  • Scheduled action webhooks will enable developers to catch scheduled events and automate workflows based on date and time.
  • Bulk action webhooks will help developers to catch events when a batch of actions gets created and/or completed.
  • Webhooks for failed release actions and scheduled actions give greater flexibility to choose where to be notified about these issues with integrations for programs such as Slack, Microsoft Teams, or Zapier.

Webhooks can be accessed from the webhook configuration page in any Contentful space (/spaces/[space-id]/settings/webhooks) and are available to all Contentful customers. Webhooks listening for specific topics will need to be explicitly opted into the new events, however webhooks listening to all event topics (*.*) will start seeing these new event types immediately.

Webhooks Settings Page

To learn more about our new webhooks and how to use them in your content delivery workflows, you can use our documentation.

New contextual AppEvent and Webhook headers on content events

Launch
Webhooks
App Framework
Content Management API

App events and webhooks listening for entry and asset (un)publish event topics will now receive extra headers when the action was triggered by a bulk action, scheduled action, or a release.

Prior to this change, an entry or asset (un)publish event did not provide context around what triggered the action, such as a collection of entries being published by a bulk action or a scheduled release.

Users can use these new headers to apply special logic, such as delaying a build if a bulk action or release triggered the app event or webhook.

Below is an example of some of the headers that may now be sent depending on the systems involved.

Bulk action headers

Example of the bulk action webhook headers

  • x-contentful-bulk-action-id: The sys.id of the bulk action

Scheduled action headers

Example of the scheduled action webhook headers

  • x-contentful-scheduled-action-id: The sys.id of the scheduled action that triggered the action

Release headers

Example of the scheduled release headers

  • x-contentful-release-id: The sys.id of the release that was actioned
  • x-contentful-release-version-id: The sys.version of the release that was used for this action
  • x-contentful-release-action-id: The sys.id of the release action used

Availability

These headers are now present on all app event subscriptions and webhooks impacted by one of the above APIs. No extra action is required to include these headers.

Releases API now supports filtering by title

Content Management API
SDKs and tools

A new title[match] query operator has been added to the Releases query API, allowing users to search for releases by their given title using the same full text search semantics described in the Delivery API reference.

Full text search allows users to filter releases using a combination of phrase search and term search, where phrase search will look for an exact match of the quoted string (e.g. searching for "this phrase" will not match this other phrase) and term search will look for titles matching all of the keywords in any order.

For example, a user may have the following releases containing content for their upcoming campaigns:

  • "2021-08 EU Surprise sale"
  • "2021-08 SA Surprise sale"
  • "2021-08 US Surprise sale"
  • "2021-11 EU Cyber Monday"
  • "2021-11 US Black Friday"
  • "2021-11 US Cyber Monday"
  • "2022-07 US Surprise Cyber Sale"

Using full text search, a user could find all relevant releases for the August surprise sale by using title[match]=2021-08 "Surprise sale"[1] , which can be read as "find all releases with a title that contains 2021-08 and also contains the exact phrase "Surprise sale".

Querying releases by title is available to all Management API users along with contentful-management.js API client users today.

Learn more about releases in the Contentful Management API reference

[1] when URI encoded this will actually look like "title%5Bmatch%5D=2021-08%20%22Surprise%20sale%22"

Default values for entry fields

Web App
Content Management API

Default values allows users to build more consistency into their content model and helps editors to work faster by setting predefined values for fields in a content type.

Starting today, content modellers can define values for content type fields that will automatically be applied when an entry is created. This means they will be prefilled for the editor no matter if that entry is created via the Web app, Compose, the API or any of our developer tools.

  • Boolean
  • Plain text
  • List
  • Number
  • Date

You are able to change the default value for a field when you create a new one or edit an existing one. Simply click on the "Default value" tab in the modal and put in your predefined value.

default-value-setup

If you want to learn more about how this can be used, head over to our help center or take a look at the developer documentation about content types.

Changes to the Custom Role Editor

Web App

For spaces with custom roles, the "Permissions" section of the role editor has been revamped to distinguish better between space level and environment level.

Environment-related permissions can now be found in a dedicated "Environments" tab, while space-related permissions remain in the "Permissions" tab.

See the following screenshots to see how the old and new presentation relate to each other:

Content Model and Tags New tab in Role Editor - 1

API Keys New tab in Role Editor - 2

Environment Access New tab in Role Editor - 3

Environment Aliases New tab in Role Editor - 4

Space Management New tab in Role Editor - 5

Scheduled actions can now be rescheduled from the entry editor

Before:

Once a scheduled action had been set for an entry within your Contentful space, a reschedule would involve first deleting that action and then setting a new one for the appropriate time.

Now:

You can reschedule a Scheduled Action directly from the entry sidebar without any extra steps required!

Update scheduled actions

The reference tree is now available when adding any content to a release

When adding content to a release, it can be important to view, select and add child references in bulk to ensure that no entries are missed for your next important launch.

Now, when you add content to a release in Launch from the entry editor in the web app, you will see the reference tree and be able to use the it to recursively select the child references that you need for your content or campaign.

Add references to a release

To learn more about working with references in Contentful, you can explore our documentation.

Increased Limits for Apps

App Framework
Content Management API

Team and Premium/Enterprise customers will now be able to install up to 50 apps per environment (up from 10) and to create up to 250 custom apps per org (up from 10).

This will allow our customers to be much more flexible in how they extend Contentful. For example, building more utilities that allow editors to work faster, or supporting more custom integrations with third party platforms for multiple workflows.

Learn more about App Framework, integrations, and use cases in the developer documentation

New headers for request verification

App Framework
App SDK

Request verification requests now include new headers (x-contentful-user-id, x-contentful-space-id and x-contentful-environment-id). These provide information about which user, space and environment a request originated from. These new headers allow you to easily verify not only that a request has been initiated from Contentful, but which user and from which space and environment.

Request verification is part of the App Framework and is available for all customers. For more information about the feature, please refer to our documentation.

Updated color palette in the Contentful products

Compose
Launch
Web App

We have a new color system to our products.

The new color system increases vibrancy, visibility, and accessibility of important interactive elements - allowing for consistent and predictable contrast ratios across Contentful products.

Color system, before/after animated


We have designed a new color palette and updated the design tokens in our Forma 36 design system.

This new palette also scales better, with more and perceptually uniform hues. To support the easy migration of projects to the new tokens, we prepared a codemod.

Exposed error field in Scheduled Actions API response

Content Management API
SDKs and tools

The Scheduled Actions API now shows the error received should a scheduled action fail.

Previously Scheduled actions used to only send an email when a scheduled action failed, however there was no other way for developers to determine what the error was after execution.

The error will be exposed in the response when sys.status is failed.

An example failed ScheduledAction for an Entry:

{
  "sys": {
    "type": "ScheduledAction",
    "id": "scheduledAction1",
    ...
    "status": "failed"
  },
  "entity": {
    "sys": {
      "type": "Link",
      "linkType": "Entry",
      "id": "myEntry"
    }
  },
  "action": "publish",
  "error": {
    "sys": {
      "type": "Error",
      "id": "InvalidEntry"
    },
    "message": "Validation error",
    "details": {
      "errors": [
        {
          "name": "required",
          "path": ["fields","title","en-US"],
          "details": "The property \"en-US\" is required here"
        }
      ]
    }
  }
}

Learn more about exposed error field in Scheduled Action Schema section of the CMA developer documentation

Extending Space Names Limits to 64 Characters

The character limit for space naming will extended from 30 to 64 on July 26th.

This means that admins have more flexibility when naming a space, making it easier for them to adhere to existing naming conventions within their organization. No existing spaces will be affected.

To learn more about creating a space, you can check out our help center.

New color system for Forma 36

Launch
Compose
Web App

We have designed a new color palette and updated the design tokens in our Forma 36 design system.

This change increases vibrancy and visibility of important interactive elements, allowing for consistent and predictable contrast ratios in the Contentful products.

This new palette also scales better, with more and perceptually uniform hues. In order to migrate projects to use new tokens, we prepared a codemod that will allow users to migrate code easily.

We will be rolling out these improvements to our products in the upcoming weeks.

tags-teaser-small

Metadata not included by default when using "select" operator

Content Delivery API
Content Preview API
Content Management API

Metadata is now no longer returned when it is not included in the select operator.

When fetching content using the Contentful REST APIs the select operator allows you to choose which properties you'd like to retrieve from an entity. However, since the introduction of Tags, the API always returned an extra metadata.tags property.

This was an unintentional behavior that increased the response size. We have fixed this behavior so that when the select operator is present we only return specified properties.

If you're using select operator and rely on the extra metadata.tags in the response, make sure to include metadata.tags property in the select operator value.

Read more about the select operator in the API documentation.

This change was previously announced in the API Changes log.

JavaScript CMA SDK 7.30.0 release

The CMA SDK now supports all of the available operations on the Scheduled Actions API, including creating, querying, deleting, updating, and fetching a single Scheduled Action.

Fetching a Scheduled Action:

// With client and space already defined

try {
  const scheduledAction = await space.getScheduledAction({
     scheduledActionId: '<scheduled_action_id>',
     environmentId: '<environment_id>' 
  })
} catch (error) {
  console.error(error)
}

Updating a Scheduled Action:

// With client and space already defined

const updatedPayload = {
  entity: {
    sys: {
      linkType: 'Entry',
      type: 'Link',
      id: '<entry_id>',
    },
  },
  environment: {
    sys: {
      linkType: 'Environment',
      type: 'Link',
      id: '<environment_id>',
    },
  },
  scheduledFor: {
    dateTime: '2022-01-01T12:00:00.000Z',
    timezone: 'Europe/Berlin'
  },
  action: 'Publish'
}

try {
  const scheduledAction = await space.updateScheduledAction(
    { scheduledActionId: '<scheduled_action_id>', version: '<version_number>' },
    { payload: updatedPayload },
  ))
} catch (error) {
  console.error(error)
}

Canceling a Scheduled Action:

// With client and space already defined

try {
 const scheduledAction = await space.deleteScheduledAction({
    scheduledActionId: '<scheduled_action_id>',
    environmentId: '<environment_id>' 
 })
} catch (error) {
 console.error(error)
}

You can read more about Scheduled Actions and usage examples in our Scheduled Actions API documentation.

Update Scheduled Action API is now available

SDKs and tools
Content Management API

The Scheduled Actions API now provides the ability to update the timestamp or timezone of an existing scheduled action.

Previously scheduled actions could not be updated, meaning that developers needed to delete the existing scheduled action and then re-create it, leading to confusion and a change in scheduled action IDs. With the new API, developers can now modify the time that a scheduled action will execute without the ID of the scheduled action changing.

Updating a scheduled action follows similar behaviours to other Contentful APIs. To update a scheduled action, send the updated payload to the PUT endpoint for the scheduled action along with a X-Contentful-Version HTTP header specifying the current version of the scheduled action. The response will include the updated ScheduledAction entity, including the new sys.version for the action.

Note that the endpoint currently only allows updating the scheduledFor.datetime and the scheduledFor.timezone fields. Attempting to modify any other field will return an HTTP 400 Bad Request.

Learn more about the new endpoint, including how to use the CMA JS Library, in the CMA developer documentation

Rescheduling of releases and scheduled events in Launch

Life moves pretty fast, and sometimes you need to change your plans. That’s why we’re making it easier to change the time that a release, entry or asset is scheduled to publish or unpublish in Launch.

Old behavior: To change the scheduled time that the entry/asset/release will publish/unpublish, users had to delete the schedule and then add a new one.

New behavior: Users select “Edit Schedule”, choose a new time, then carry on with their day.

This feature is released to all Launch users today and no action is required.

Self service space deletion for Premium/Enterprise org admins and owners

Premium/Enterprise org owners and admins can now delete spaces and use that license for a new space, without contacting Contentful support. This means that it is faster for organizations to redeploy their space licenses as their content needs evolve.

This feature can be accessed from the Subscription section of the Organization settings page.

Once a space has been deleted, its license will be available to reassign from the Unused Spaces tab in the Subscription page. It can be used with a new space or to upgrade a Trial space.

If a space is deleted in error, please contact Contentful’s customer support team as quickly as possible with the details of the space affected. Deleted space recovery is only possible within 25 days.

Space Deletion screenshot

For more information on space management, you can refer to our documentation.

New Compose + Launch trials have been extended from 10 days to 60 days

The free trial of Compose + Launch for Team and Community users has been extended from 10 days to 60 days. This affects all trials active on, or beginning on, 1st July 2021.

  • Current customers can activate their trial here
  • New customers can create a Community Space with the Compose + Launch trial here

Visit the Compose + Launch landing page to see how they improve and accelerate the editorial experience in Contentful.

App hosting

App Framework
Web App
Content Management API

You can now host your apps using Contentful without any external hosting provider. App hosting stores and serves your app securely without any additional setup. This feature is available for all customers.

Simply head to the new “Bundles” tab when editing an App Definition and upload the build directory of your app.

App hosting

App hosting also seamlessly integrates into any deployment pipeline. A new version of your app can be released with a single npm command.

To find out more read our guide about hosting apps using Contentful and how to deploy an app using create-contentful-app

Duplicate pages in Compose

Compose

Compose now supports duplicating pages. If you have cases when you need to create new pages that are very similar to an existing page you have, then this is for you.

And it also handles the entries referenced (nested) inside the page. Some referenced entries will be duplicated together with the page, while others will be linked. This is done based on whether an entry is a composition reference or not. You can tell that by whether entries are shown expanded or collapsed.

Some permissions are required for a user to see the duplicate option in Compose.

Learn more about page duplication in Compose in the Contentful help center.

More flexibility to generate slugs

Web App

To help speed up your work and make Contentful even more flexible, you are now able to choose which field is used to generate a slug.

If you ever wanted to create a slug from any short text field, not just the title of the entry, you can now make it happen easily.

While configuring a field for your content type, you can now use the appearance tab to define the field you want to use for your slug. Simply select the Slug widget, go to the Generate slug from, and select the field you want to use.

slug-for-different-fields

Extend Compose page settings with asset and entry references

Compose

Compose now lets you customise the "Page settings" tab of your pages by adding references to entries and assets to the "Compose: Page" and "Compose: SEO" content types. This lets you add fields for setting a preview image for your pages or linking to a parent pages to define your content hierarchy.

Custom references to entries will be displayed as a card that you can click to edit in the web app. Learn more in our guide to extending Compose.

JavaScript CMA SDK 7.22.1 release

SDKs and tools

The CMA SDK version now supports the new Releases API.

The Releases API enables the grouping of multiple content entries for simultaneous publication, validation or unpublishing.

Releases make it easy to monitor the progress of entries and assets that are part of large events in Contentful, such as product launches, promotional events or rebranding a site, then easily publish, validate or unpublish it as a single entity.

Example:

// With client and space already defined
const environment = await space.getEnvironment("<environment_id>")

// Creating a Release with 1 Asset and 1 Entry
const releasePayload = {
  title: "My Release",
  entities: {
    sys: { type: 'Array' },
    items: [
      { sys: { linkType: 'Entry', type: 'Link', id: '<entry_id>' } },
      { sys: { linkType: 'Entry', type: 'Link', id: '<asset_id>' } },
    ]
  }
}

try {
  const release = await environment.createRelease(releasePayload)
  await release.publish() // Publish all items in the release
} catch (error) {
  console.error(error)
}

You can read more about Releases, Release Actions and usage examples in our documentation.

More detailed error messages for GraphQL Content API if an entry contains a broken link

GraphQL Content API

The GraphQL Content API’s UNRESOLVABLE_LINK and UNEXPECTED_LINKED_CONTENT_TYPE error messages now include the ID of the entry containing the broken link. The same ID is also available in the details object under the linkingEntryId property to be used as machine-readable output for automated error handling (such as error logging).

Exposing the ID of the entry that contains the broken link in the error message will speed up your debugging process by making it much easier to identify the cause of the error.

More detailed error messages for GraphQL Content API if an entry contains a broken link

This change is available for all customers on the Community, Team and Premium/Enterprise pricing plans.

You can read more about the GraphQL Content API in our Developer docs.

Scheduled Actions now include updatedAt and updatedBy

Content Management API

Scheduled Actions now include a sys.updatedAt timestamp as well as sys.updatedBy as a Link object, providing a more predictable location for detecting when a change has occurred on a scheduled action.

  • The updatedAt field will always be a Zulu (e.g. UTC +00:00) timestamp that will be updated whenever a change has occurred, including the execution of the scheduled action.
  • The updatedBy field will show the last user that made a change to the scheduled action, such as creating or canceling an action.

You can learn more about the Scheduled Actions API in the Content Management API documentation

JavaScript CMA SDK 7.18.1 release

SDKs and tools

The CMA SDK now supports the new Entry References API.

The Entry References API enables users to recursively collect references of an entry and their descendants (up to a depth of 10 levels) and returns the entry and its included references, similar to the Delivery API.

Example:

client.getSpace('<space_id>')
  .then((space) => space.getEnvironment('<environment_id>'))
  .then((environment) => environment.getEntryReferences('<entry_id>', { maxDepth: '<max_depth>' }))
  .then((entry) => console.log(entry.includes))
  // Or
  .then((environment) => environment.getEntry('<entry_id>')).then((entry) => entry.references({ maxDepth: '<max_depth>' }))
  .catch(console.error)

You can read more about Entry References, limitations and usage examples of other supported actions in our documentation.

Scheduled Actions now include a `scheduledFor.timezone`

You can now send the time zone information when creating new schedules in the Scheduled Actions API.

The scheduledFor.timezone property should be a valid [IANA timezone identifier].(https://en.wikipedia.org/wiki/List_of_tz_database_time_zones "Valid IANA time zones").

  • Please note that the timezone is not validated against the provided UTC offset due to complexities around timezones and their interactions with UTC offsets (see https://www.w3.org/TR/timezone/ for more information around the complexities) and instead provides useful information for display purposes."

You can learn more about scheduled actions in our Content Management API documentation

Scheduled actions now store the specified UTC offset

Content Management API

The Scheduled Actions API now stores the UTC offset originally specified for create scheduled action requests, making it easier to determine the original time input by users.

Previously, the specified time sent in the request payload would be stored as a Zulu (e.g. no UTC offset) time. For example, the time "2021-05-06T11:30:00+02:00" would be stored as "2021-05-06T09:30:00.000Z" (note the hour), which is the Zulu time equivalent. Now the original value is normalized and then stored while retaining the UTC offset.

Note that this change will not have any impact on when a scheduled action is executed.

You can learn more about scheduled actions in our Content Management API documentation

Tasks for App Identities

App Framework
Content Management API

App Identities can now access Task. This means that Apps equipped with an App Access Token can now read, create and update Task.

For example, publishing an entry can now be prevented programmatically by attaching a Task. In order to proceed to publication, said Task needs then to be manually or programmatically marked as done. Learn more in our guide on App Identities and Events.

Change timezone on the Launch Calendar

Launch

We have updated the calendar page in Launch so that users can change the timezone of the content calendar.

By default, the calendar shows scheduled content in your local timezone. However, we know that it is important to be able to see what your release calendar will look like for a specific market when you are managing campaigns that are launching in different parts of the world.

We have added a globe icon to the scheduled content view so that you can quickly identify when you are viewing content in a different timezone.

With this update, users can:

  • Use the dropdown in the left sidebar on the calendar page to switch between timezones
  • View content on the calendar in the selected timezone

Launch timezones Example of globe icon on calendar to indicate selected timezone

JavaScript CMA SDK 7.17.1 release

SDKs and tools

The CMA SDK now supports the new Bulk Actions API.

The Bulk Actions API enables users to create actions that will perform asynchronously on a batch of entities on the environment level.

One of these actions is to publish multiple entries and assets:

// With client and space already defined
const environment = await space.getEnvironment("<environment_id>")

// Publishing multiple entries/assets
const bulkAction = await environment.createPublishBulkAction({
  entities: {
   sys: { type: 'Array' },
   items: [
     { sys: { type: 'Link', linkType: 'Entry', id: '<entry_id>' } },
     { sys: { type: 'Link', linkType: 'Asset', id: '<asset_id>' } },
     { sys: { type: 'Link', linkType: 'Entry', id: '<entry_id_2>' } }
   ] 
  }
})

// Wait for the Bulk Action to complete
await bulkAction.waitProcessing()

You can read more about Bulk Actions, limitations and usage examples of other supported actions in our documentation.

Changelog notifications in the Contentful UI

Compose
Launch
Web App

We know that keeping track of product changes and improvements is important to our customers, and we’ve been working over the past few months in the quality and reliability of changelog updates (like this one!).

Today, we’re adding an update notification badge to the Contentful UI so you can easily stay up to date as we make changes. The badge is a small red dot in the top left corner of the web app, Compose, and Launch, and will appear whenever there’s a new entry in the changelog.

Changelog notification and updates

The same badge will appear on the “What’s new?” link in the navigation panel, and you can click on it for a quick preview of the latest updates in changelog. This way you can be aware of things that are changing and dig deeper if you’re interested, but won’t have to leave your workflow if you’re not.

Tags for GraphQL and Apps

GraphQL Content API
App Framework

We have released new features for tags in the GraphQL Content API that will help you query assets and entries across content types that share a common tag.

  • The ContentfulMetadata type has been added and is accessible from the Asset type as well as from all types using the Entry interface. It can be used to select public tags associated with an entity. Read all about the new type here in our Developer docs.
  • You can now query a root entryCollection field with which you can fetch entries across content types. Read more about it here in our Developer docs.
  • You can also query content (entries or assets) by specific tags using the new contentfulMetadata field available in the collection filters. See all available filter fields here in our Developer docs.

For apps, we have exposed tag methods in the App SDK and made the resource accessible for backend apps. This allows you to build and customize your own workflows when using tags.

You can read more about the GraphQL API or Apps in our developer docs.

GraphQL Content API DateTime scalars show the provided UTC offset

GraphQL Content API

The GraphQL Content API’s DateTime scalars now returns the UTC offset (e.g. +02:00) provided from Content Management API, matching the behavior of the Content Delivery API (CDA).

Previously, GraphQL API would always return the DateTime scalars as an ISO 8601 Zulu time string, meaning a DateTime saved as "2021-04-19T09:10.000+02:00" would be returned by GraphQL API as "2021-04-19T07:10.000Z", whereas Content Delivery API would return the original UTC offset.

You can read more about the GraphQL Content API in our Developer docs.

SCIM integration with Ping Identity

Content Management API

Contentful’s SCIM integration has now been added into Ping Identity’s app catalogue with full user provisioning support. This means that user roles & permissions can now be managed directly from Ping Identity. Refer to our step-by-step configuration guide here for detailed instructions.

SCIM is available on Premium plans (and former Enterprise plans via the Scale and High Availability platforms).

JavaScript CMA SDK 7.15.0 release

SDKs and tools
  • added support for the entry PATCH resource

Read more in our documentation.

Introducing new APIs for managing bulk content

Content Management API

Today we have released three new CMA APIs that help developers manage and publish content at scale.

  • The Bulk Actions API lets you publish, unpublish or validate a large content collection in a single API call.
  • The Releases API lets you schedule a large content collection to be published or unpublished in a single API call. You can also validate that the content in a release is ready for publishing with a single API call.
  • The References API returns child references of the requested entry in a tree-like structure so that you can ensure that every reference is in the correct state.

By streamlining and accelerating publishing at scale, these new APIs reduce turnaround times for customers managing content programmatically and enable teams to build even more sophisticated apps for managing internal workflows.

The new APIs support both entries and assets. The Bulk Actions and Releases APIs support content collections up to 200 items. The References API returns a response up to 10 levels deep or up to 1,000 items.

The new APIs are available starting today on all current plans and space types.

Announcing Compose + Launch!

Compose
Launch
Web App
Documentation
Content Management API

Today we have launched two new apps on our platform, built to help content teams work more efficiently in Contentful.

Compose gives editors a familiar, page-based, interface to manage their web content and is much more familiar for users coming from a traditional CMS. Compose will create a new page definition within Contentful, and allow you to give your content teams a flattened interface to easily create, edit and manage the SEO of web pages.

compose-app-editor

Key Features

  • Easily create and edit web pages in a flattened interface
  • Publish full pages with one click
  • Manage basic SEO settings and multiple locales
  • Easily reuse structured content to build new pages
  • Preview full pages
  • Comes with a sample content model to start building faster

Launch allows teams to collaborate much more effectively and deliver faster by grouping the content for large projects into releases that can be scheduled or published as a single entity. It also adds powerful planning and collaboration tools, including a calendar view of all scheduled events in your space and workflow status labels.

launch-app-calendar-view

Key Features

  • Group content into releases for simultaneous publication
  • Quickly reschedule or cancel a scheduled release
  • View upcoming releases and their content in list and calendar views
  • Create custom workflows states and attach them to content types

Together, they let content teams start working faster in Contentful, and deliver business critical projects more efficiently than ever.

Both apps can be installed by space or org admins from the Apps tab in Contentful, and are installed at the environment level like other apps.

They are included for all new and existing Enterprise customers, and can be added to Team plans for $1,995/month. All users can begin a 10 day trial of the apps today.

Find out more about the apps from our landing page, Compose documentation, Launch documentation or access the Learning Center courses on Compose + Launch today.

For a walkthrough of best practices for setting up the apps, join our webinar on Thursday 25th March.

Tags and tag-based permissions

Content Delivery API
Content Preview API
Content Management API
SDKs and tools
Web App

With this release, we are introducing a new type of entity — tags. Tags are user-defined keywords, consisting of an editable label and a permanent ID, that can be used to create arbitrary content collections within a given environment.

Youtube Thumbnail for video about Tags

The workflow for using tags requires a space admin (or other authorized roles) to create a list of tags within the space. After that, users can apply tags to individual entries/assets or bulk tag multiple entries/assets.

Tags

The use of tags streamlines content filtering and search. Content creators can use them to search across content types within the web app. Developers can effectively query arbitrary collections in the CMA and — when tags are set to be public — in the CDA/CPA.

Enterprise customers with Performance type of spaces can leverage tags further to create custom roles that allow users to restrict access, editing or publishing rights to individual content items by invoking tags. Tag-based permissions can be used temporarily, for example, while preparing an entry for publishing or permanently, as a way to accommodate multiple teams working within the same space.

Tags are supported by the Javascript SDKs, Migration libraries, and Apps SDK, with support for other client SDKs and GraphQL API coming in the near future. You can learn more about tags in our help docs or our dev docs.

Embargoed Assets

Images API

This release introduces embargoed assets — a feature that restricts public access to assets based on customer requirements. When activated, the feature serves assets from a ***.secure.ctfassets.net domain, which requires incoming requests to be authenticated by attaching a dynamically generated signature before fetching the asset file.

Embargoed assets can be configured to cover only unpublished assets or all assets within the space. The feature is available to all enterprise customers and can be enabled on a per-space basis. To activate the feature please reach out to our customer support team.

Please note that while Contentful provides the necessary documentation and tooling, it is up to the customer to implement the authentication service on the client consuming Contentful data. You can learn more about embargoed assets by reading the feature overview and an implementation tutorial.

Embargoed Assets Flow

Number and date comparison filters for "sys" properties

GraphQL Content API

We have modified the GraphQL Delivery API to allow users filtering on the system properties of an entry or asset via comparison filters.

The firstPublishedAt, publishedAt and publishedVersion properties now support comparison filters:

  • <sys property>_gt - greater than the argument value
  • <sys property>_gte- greater than or equal to the argument value
  • <sys property>_lt - lower than the argument value
  • <sys property>_lte - lower than or equal to the argument value

The following string type filters were non-functional and have been removed from the SysFilter input type:

  • firstPublishedAt_contains
  • firstPublishedAt_not_contains
  • publishedAt_contains
  • publishedAt_not_contains
  • publishedVersion_contains
  • publishedVersion_not_contains

You can read more about GraphQL collection filters in our Developer docs.

More convenience for rendering your fields

Field editors

We released a new package to our open source field editors that will make your life easier if you happen to develop an app that is making use of the entry editor location.

The package provides two React components that will wrap all the default fields of Contentful with its corresponding styles and structure. It will also display help text and error messages of any of the fields.

To start using it, just install @contentful/default-field-editors into your project and write a couple of lines of code as outlined in the readme. If you are looking for an example on how to do it, you can take a look at our example application for grouping fields, which takes full advantage of the default-field-editors.

More resources

App Installation events

App Framework

Apps using App Events can now listen for their own installation events (i.e installation, updating, and uninstallation). This allows you to perform any setup or cleanup actions required to use an app (e.g. removing data and references).

App Installation events - screenshot

For more information please refer to our docs.

Webhook header transformations

Webhooks

It is now possible for custom header values to include data from the original webhook payload. This was previously available for the request body but can now be achieved in headers using the same syntax. With this release customers can now integrate with services that require custom header data, increasing the number of potential integrations. Header transformations are available for all customers on v2 pricing.

For more information, please read the docs.

Webhook Header Transformation Screenshot

Showing incomplete rules in custom roles

Web App

For spaces with custom roles, the “Content” and “Media” sections of the role editor now indicate if a rule is incomplete, i.e. if it refers to an attribute which doesn't exist anymore (e.g. a content type, an entry or an asset).

Attributes could be missing because they were either deleted or only exist in another environment.

If your roles have incomplete rules, they will be shown at the top of the list, with an indication of what is missing. They are disabled, but can be deleted.

The previous behavior was to hide incomplete policies from the web view. With the new changes, you can see outdated rules, delete them and thus keep your roles tidy.

Incomplete rules in custom role editor

Show validation errors for your custom fields

Field editors

We recently added an additional package to our open source field editors that will enable you to enrich fields used in custom apps with it's corresponding errors.

By pulling in @contentful/field-editor-validation-errors into your project you can easily render a list of the error messages of a particular field to indicate what is wrong with the input.

Restricted field with error

Resources

A visual refresh of the Contentful Web app

Web App

This face-lift brings a better representation of states and statuses and a clearer visual hierarchy of buttons. It’s the first of more upcoming updates that will introduce more consistency and less noise, both visually and in the way we structure components.

Contentful Web Application Visual Refresh

The newly released Contentful Web app is using the latest version of Forma 36 - design system from Contentful.

If you build apps and extensions using Forma 36, follow the update instructions to get the new look and feel.

App SDK released

App SDK
SDKs and tools

We've just released @contentful/app-sdk (App SDK) on npm. This package is a renaming of the contentful-ui-extensions-sdk (UI Extensions SDK) and there are no plans to diverge the two.

The App SDK has been created to reduce the confusion caused by building apps using the UI Extensions SDK. All of our documentation and example apps have been updated to use the new App SDK for clarity.

This change does not break any apps or UI Extensions using the UI Extensions SDK. However, we do recommend using the App SDK for any new apps being built.

Existence and search term filter for "RichText" field type

GraphQL Content API

We have modified the GraphQL Delivery API to allow users filtering on the content in a RichText field via _contains.

Also we added the existence check, as the Developer docs were already stating that the _exist filter is available for all field types.

Example query using the functionality that has been added:

query {
  someCollection(where: {
    OR: [
      { richTextField_exists: false },
      { richTextfield_contains: "search term" }
    ]
  }) {
    items {
      sys {
        id
      }
    }
  }
}

Expiration of organization invitations

Web App

When you invite someone new to join your organization, the invitation link we send now expires after seven days. This helps us limit the possibility of someone gaining unauthorized access to your organization.

If some misses your invitation the first time around and the link expires, you can now quickly re-invite them by clicking "re-send invitation" next to their name in your organization's user list in the Contentful web app.

Find out more about inviting users to your organization in our help center article.

Search for entire phrases using double quotes

Content Management API
Content Preview API
Content Delivery API
Web App
GraphQL Content API

When searching using the query or match operator, it is now possible to search for entire phrases by wrapping the relevant part of the search query with double quotes (e.g. "this is a phrase"). The search engine will return only those results that contain exact matches to the phrase.

Phrases can be combined with each other and also with individual search terms at will. Please, find more information in the docs.

Entry support for JSON Patch updates

Content Management API

When updating an entry via the Content Management API it is now possible to send JSON patch updates via the PATCH resource.

JSON patch is a web standard format for updating a JSON document by sending a description of the changes, rather than the entire updated document. This allows developers to make substantially more granular requests for entry changesets. You may find this useful if you have a write-intensive workflows, especially when working with content-heavy documents, or where request size is a concern.

This does not affect the PUT resource and entry updates made using that resource will continue working the same as before.

Asset support for HTTP/2 uploads

Content Management API

When creating/updating an asset via the Content Management API it is now possible to provide an URI in the file's upload property that points to a resource exclusively served via HTTP/2.

During asset processing the file is fetched with HTTP/2 support and falls back to HTTP/1.1 if necessary.

This does not affect URIs served via HTTP/1.1 and they proceed to work as before.

Contentful Migration v4.0.0 released

Contentful CLI

This release will change the default behaviour of transformEntries. Previously, when tranformations or changes were applied to entries, the CLI published all entries after the changes were made. To avoid this, you needed to explicitly send the flag shouldPublish with the value 'preserve'.

Now with version v4.0.0, transformEntries won't publish all the changed entries, unless the flag shouldPublish is set to true. This change will prevent beginners from publishing changes by accident.

E.g Adding 'byline' property to the ContentType 'newsArticle' and publish the update

migration.transformEntries({
    contentType: 'newsArticle',
    from: ['author', 'authorCity'],
    to: ['byline'],
    shouldPublish: true,
    transformEntryForLocale: function (fromFields, currentLocale) {
      if (currentLocale === 'de-DE') {
        return;
      }
      const newByline = `${fromFields.author[currentLocale]} ${fromFields.authorCity[currentLocale]}`;
      return { byline: newByline };
    }
  });

Locales for App Identities

App Framework
Content Management API

App Identities can now access Locales. This means that Apps equipped with an App Access Token can now read locales in the space-environment where they are installed. For example, knowing all the locales that an entry can be translated to and ensuring full translation coverage is now possible. Learn more in our guide on App Identities and Events to leverage our App Framework at its fullest.

Space usage export

Web App

Organization owners and admins can now export space resource usage to a local CSV file. The export includes the Entries and Assets usage (Entries + Assets = Records), Space ID, Created at, Created by, and the Expiry date (for Trial Spaces).

Space usage summary

Web App

Organization owners and admins can now view space resource usage directly on the Subscription page. Alerts are displayed when Environments, Roles, Locales, Content Types, or Records usage is approaching, reached, or exceeded the limit for the space type. Help Center article

SCIM integration with Azure

Content Management API

Contentful’s SCIM integration has now been added into Azure’s app catalogue with full user provisioning support. This means that user roles & permissions can now be managed directly from Azure. Refer to our step-by-step configuration guide here for detailed instructions.

SCIM is available to Enterprise customers on Scale and High Availability platforms.

Request Verification for App Framework

App Framework
App SDK
Content Management API

This release introduces request verification to the App Framework. Request verification enables you to verify that requests received by your app's backend have come from Contentful, and reject those that aren't.

App developers can do this by establishing a shared secret, which Contentful then uses to sign any requests coming from app events or your app frontend. The signature in these requests can then be verified in your app backend.

Now that App Definitions support both a shared signing secret and multiple key pairs, we have combined these options under the new Security tab on the app settings page in the web app.

Learn more by reading our guide on request verification or the API documentation.

UI Extensions SDK v3.26 released

App SDK

With this release it is now possible to read environment alias IDs using the sdk.ids namespace.

Read more in our documentation.

Instance Parameters for App Framework

App Framework
App SDK
Web App
Content Management API

This release introduces instance parameters to the App Framework. Now instance parameters can be used alongside free-form installation parameters.

With instance parameters it is now possible to customize installed apps depending on their location and content type without hardcoding information in their source code.

Instance parameters for apps are on par with instance parameters for UI Extensions API-wise, but App management views in the Web App have now an advanced visual editor simplifying work with parameters while building complex apps.

App instance parameters can be used to specify default values for fields, provide shared API keys for external services, reference content types and much more.

Read more about parameters here and how they are defined within App Definitions.

App paramters

Reference and media editor actions redesign

Web App
Field editors

We’ve updated the actions for our reference and media fields. There is now a single button for either creating new, or linking existing content or media.

New reference button styles (16 Nov. 2020)

GraphQL Content API

We have modified the Graph API to allow users filtering on the existence of content in a Link or Array<Link> field.

The Developer docs were already stating that the _exist filter is available for all field types.

Example query using the functionality that has been added:

query ExistenceFilterQuery($shouldExist: Boolean) {
  someCollection(where:{
    singleEntryField_exists: $shouldExist
    multiEntryFieldCollection_exists: $shouldExist
    singleAssetField_exists: $shouldExist
    multiAssetFieldCollection_exists: $shouldExist
  }) {
    items {
      sys {
        id
      }
    }
  }
}

New options to move a reference card to top or bottom

Web App
Field editors

With the new version of the reference field editor there are two additional buttons in the card actions menu: “Move to top” and “Move to bottom”.

This change only affects the multiple entry references editor. Assets and single reference editors won’t show the new buttons.

The new “Move to top” and “Move to bottom” actions allow quickly moving references in longer lists without drag&drop. The “Move to top” button makes prepending of a newly added entry to a list more convenient.

You can check the reference editor playground to see the buttons in action.

New reference card actions

App Identities and Events are now available

App Framework

App Identities and Events are now generally available. Apps can now function without a logged-in user or UI component, enabling numerous asynchronous workflows.

App Identities allow an app to request an access token and use it to interact with Contentful. This allows apps to call the Content Management API without using a user-scoped API key.

App Events are similar to webhooks, but are scoped to an app and the environment it's installed into. These are automatically created on app installation and removed on uninstallation, reducing any configuration time.

Try out App Identities and Events by following our new guide, where we’ll walk you through building an app that leverages these new additions to the App Framework.

Both these features are available for all customers (excluding those on legacy pricing plans).

GraphQL Content API

We have modified the Graph API to allow users looking up links to an entry (linkedFrom field) in multiple locales.

With this change you can for example fetch pages that link to a specific category in multiple relevant locales, mainting the locale of your user while presenting fields content. Previously only the current selected locale was searched in. This is still the default behavior and can be overriden by the allowedLocales argument.

The Developer docs have been updated to reflect this change.

Asset Scheduling

Web App

You will now be able to schedule an asset to publish or unpublish at a specific point in time. This uses the same scheduling functionality that is currently available for entries.

Learn more about scheduled publishing.

Asset Scheduling

Retrieve the same field in multiple locales

GraphQL Content API

We have modified the Graph API to allow users to request the same field on an entry in multiple locales.

For instance, with this change you can fetch a slug or text preview in multiple languages. Previously you could only select a single locale for an entry, meaning fetching data for the same entry in multiple languages required doing multiple aliased queries or multiple requests.

The Developer docs have been updated to reflect this change.

New credit card payment experience

Web App

We have updated the credit card purchase flow in the webapp. The flow simplifies the purchase experience and makes it clearer which space best suits your needs.

Enhanced error message for incorrectly linked content types

GraphQL Content API

Graph API now provides a clearer error message with an error code of UNEXPECTED_LINKED_CONTENT_TYPE when an entry with an incorrect content type is linked from another entry. The error message also indicates what content type was received and the content types that are permitted.

Trial spaces for Enterprise customers

Content Management API
Web App

We’ve made updates to how Enterprise customers can try more of Contentful for free. Proof of Concept spaces are now called Trial spaces and include clear communication throughout the duration of the trial. Enterprise customers still get five of these spaces.

Help Center article

Custom Environment Aliases

Content Management API
Web App
SDKs and tools
Webhooks
Content Delivery API
Content Preview API

Users that have opted in to the Environment Aliases feature can now create up to two additional custom Environment Aliases.

Additionally the UI has been updated to support explicitly targeting either the alias or the underlying environment, and alias update notifications are now more detailed.

Custom Environment Aliases are available to customers on the Enterprise tier.

API Documentation

SCIM integration with OneLogin

Content Management API

Contentful’s SCIM integration has now been added into OneLogin’s app catalogue with full user provisioning support. This means that user roles & permissions can now be managed directly from OneLogin. Refer to our step-by-step configuration guide here for detailed instructions.

SCIM is available to Enterprise customers on Scale and High Availability platforms.

Reference view

Web App

The reference view is a new feature to help speed up your workflow and reduce potential errors. Opening the references tab on an entry will gather every cross-linked entry and asset in a single view. This allows you to navigate quickly to deeply nested references and apply mass actions, such a publish or validate all in a single API call.

We currently can display referenced content up to 10 levels of references and display up to 200 entries and assets. The same number of entries and assets can be validated or published.

This feature is only available for customers on our Team or Enterprise pricing tiers.

Find out more at the help center article, or read our blog post.

Reference View - Gif

Customize the appearance of editors

Web App
App Framework

This release allows anyone to easily introduce new editors or override the default editor for a content type. These options are now configurable in the settings of a content type.

Customize editors

Decrease in time to receive autosave events via webhooks

Webhooks

As previously announced in the API Changes log, the time that it takes to receive an update for the auto_save webhook will decrease from 20 seconds to 5 seconds for content that has been changed in the Web App.

If you are consistently editing an entry in the web app for one minute, and you have a webhook configured to be called for auto_save events, that webhook will be called 12 times in a minute whereas previously the webhook would be called 3 times in a minute.

The Webhooks developer docs have been updated to reflect this change.

UI Extensions SDK v3.18 released

App SDK
  • added support for getting the current target state of an app

Read more in our documentation.

UI Extensions SDK v3.17 released

App SDK
  • updated our Typescript typings

Scheduled Actions limit increase

Content Management API

We've increased the limit for pending scheduled actions per environment to 500 actions. You can have up to 200 entries scheduled to be executed in a single minute. See more in the content management API reference guide.

UI Extensions SDK v3.16 released

App SDK
  • added support for metadata to the sdk.entry object

Read more in the documentation.

Create Contentful App

We've released Create Contentful App which is a straightforward, zero configuration starting point for building a Contentful app. This is available both on npm and Github.

You can try this out right now by running:

npx @contentful/create-contentful-app init my-colorful-app

Read more about Create Contentful App on our documentation page

Introducing Knowledge base app (proof of concept)

App Framework

The Knowledge base app (proof of concept) allows you to create and deploy a knowledge base for your support team. We’ve prepared the foundation, so you can get started. Install the app in your Contentful space, write content, and get it all published and up and running in the span of 5 minutes.

Try the Knowledge base app from the Contentful Marketplace or view the documentation.

Improved web app accessibility with high contrast colors

Web App

We’ve made the web app more accessible by updating the design tokens in our Forma 36 design system. Now all colors used across Contentful meet WCAG 2.1 AA color contrast standards.

Version conflict resolution

Web App

The Web App will resolve version conflicts when two or more users are editing different fields on the same entry. The updates will be merged and appear in the user's instance of the Web App when they modify content on the entry.

However, if users are editing the same field, they will receive an in-app notification that will alert them that the entry they are currently editing is out of date due to an another user making changes to that entry.

As a part of this work, the "discard" changes functionality has been removed.

Mux App

App Framework

The Mux app has been introduced to the Contentful Marketplace. Mux allows users to upload their video content from inside the Contentful Web App.

See the Mux documentation for more information on how to install and configure.

Web App

We have released new appearance settings for reference fields (single reference, many references, single media, many media files) that gives content modelers the ability to hide link actions per field.

To find the new feature, go to the Appearance tab of a reference field.

Reference links appearance settings

  • you can hide "create new entry/asset and link" button and allow editors only to select from existing entries or assets

  • you can hide "link existing entries/assets" button and enable editors only to create new entries/assets

  • you can hide both actions and allow editors only to change the position of existing items without the ability to add new items.

UI Extensions SDK v3.15 released

App SDK
  • added convenience method to open the current app or the current extension in a dialog

Read more in the documentation.

Version conflict notification

Web App

Users of the web app will receive an in-app notification to alert them when the entry they are currently editing is out of date due to an another user making changes to the same entry.

This notification will prompt the user to refresh the browser to see the updated changes. It will also prevent a user from making changes to the entry until the page is refreshed.

Open source field editors

App Framework
SDKs and tools
Web App
Field editors

We released Contentfuls 18 native field editors to open source. This allows developers to:

  • implement custom behaviour into a field editor without re-creating the entire component from scratch (example)
  • compose fields via entry extensions easier to enable grouping or flattening of fields (example)

Resources

UI Extensions SDK v3.14 released

App SDK
  • added support to check if an action can be performed on an entity by the current user

Read more in the documentation.

User Management API

Content Management API

The User Management API is now generally available. These endpoints allow organizations to manage their users, teams and their space roles and permissions directly. Enterprise organizations can now integrate the governance of their Contentful users with the rest of their technology stack. Read more in our developer documentation.

User Management API is available for Enterprise customers on current pricing plans.

Full page apps can now hook into the main navigation

App Framework
Web App

Apps can now render full pages and hook into the main navigation.

To learn more, please head to the following resources:

UI Extensions SDK v3.13 released

App SDK
  • added support for navigating to app page locations

Read more in our documentation.

Adding apps to integrate with Typeform and Brandfolder

App Framework

Typeform

Directly assign typeform forms to structured content with inline preview directly within the Contentful web app. The app uses a serverless backend for OAuth :aws-lambda:

Brandfolder

Brandfolder is a DAM provider and the second 3rd party contribution to our marketplace offering (100% built, documented and supported by 3rd party - all we needed to do is some handholding and guiding them through our marketplace TOS)

UI Extensions SDK v3.12 released

App SDK
  • added support for opening the bulk editor

Read more in our documentation.

SCIM integration with Okta

Contentful’s SCIM integration has now been added into Okta’s app catalogue with full user provisioning support. This means that user roles & permissions can now be managed directly from Okta. Refer to our step-by-step configuration guide here for detailed instructions.

SCIM is available to Enterprise customers on Scale and High Availability platforms.

UI Extensions SDK v3.11 released

App SDK
  • added support for getting all scheduled actions for the current space and environment

Read more in our documentation.

SCIM API 2.0

Content Management API

We have released a new Contentful SCIM API to allow users to simplify user access management activities. Admins can grant users access to the right spaces easily by leveraging our Teams functionality and mapping it to permission groups in their IdP or other access management tool.

Read more in our developer documentation and in the FAQs.

We are also working on a direct integration with Okta, which will be released shortly.

SCIM is available to Enterprise customers on Scale and High Availability platforms.

Upload file size limit for free accounts

Content Management API
Content Delivery API

We are introducing a 50 MB limit on the size of the files uploaded to free accounts. This change is to help us prevent the Contentful delivery network from being used to distribute copyrighted content illegally.

Team access management

Web App

We have introduced a new view in the user detail area where you can now, from a single place, manage a user’s access to spaces and teams. Previously, you could manage a user’s space access but only see the teams a user had access to. With this improvement, an org admin or owner can now assign a user directly to teams from their user detail page.

Usage API now available

Content Management API

The Usage API endpoint is now available. This endpoint allows you to understand your usage across organizations and spaces. For more information refer to the documentation

Sync API Pagination Limit Parameter

Content Delivery API
SDKs and tools

The pagination limit is now configurable in the synchronization function in the Contentful Delivery API. This resolves an issue where some customers were exceeding the response size limit when synchronizing large content entries. The configurable limit has also been implemented in the Contentful JavaScript SDK and the Gatsby gatsby-source-contentful plugin. See more in the reference documentation.

App Framework

Documentation
Web App
Content Management API
App SDK

With App Framework teams can easily integrate best-in-class services with the Contentful platform, or build custom integrations suited to specific business needs.

As part of the App Framework launch, we’re releasing two new API endpoints, 15-and-counting open source apps which can serve as blueprints and inspiration, and libraries for common app use cases. Our goal is to equip you with a more extensible platform and make it easy to build a new integration — without weeks of custom development and testing.

Learn more about the App Framework in our website or developer documentation.

See the available apps in our redesigned Marketplace.

Learn about the new App Definition entity in the Content Management API.

Learn about the new App Installation entity in the Content Management API.

Learn about the new SDK methods in our documentation.

Learn about our relaunched partnership program.

Improvement on the versions list in the Entry Editor

Web App

We've released an improvement on the versions list to display the user responsible for the change as a tooltip.

Version list improvement

This helps to better understand the history of changes on a content entry, and who's responsible for each changes.

Scheduled Actions limit increase

Content Management API

We've increased the limit for pending scheduled actions per environment to 200. See more in the content management API reference guide.

GraphQL Filtering by Nested References

It is now possible to filter GraphQL queries by fields in nested references. As with the REST content delivery API, this is only available for single reference fields and can only search one level of nesting deep. In addition due to the nature of GraphQL schemas, the reference field must have a single linkContentType validation enabled. See more information about the Link filter in the GraphQL API documentation.

Help center now available

Web App

Our new help center is now available. At the moment, it features articles on how non-technical users can get started using Contentful for their projects. You can find it at contentful.com/help/

Scheduled Actions API

Content Management API

The scheduled actions API endpoint is now available. You can use this endpoint to schedule content entries to publish and unpublish whenever you need. See more in the content management API reference guide.

2FA status for users

Web App

A new column has been added to the Users tab within Organizational Settings which shows the 2FA status of each user. An Enabled label will be present for any user who has enabled 2FA for your organization.

Default search order change in APIs

GraphQL Content API
Content Management API
Content Preview API
Content Delivery API

As previously announced in the API Changes log, we have set a default order for requests to the Contentful APIs. This default ordering is:

DESC by sys.updatedAt,
ASC by sys.id

If you are currently using ordering in your queries using the order query parameter then you will be unaffected by this change.

If you rely on the default ordering in our API responses and do not use the order query parameter, you may be affected by the change. We encourage you to implement the order parameter to ensure predictable response ordering.

Restrict roles to manage specific content entries

Web App

We've released an update to our custom roles enabling administrators to restrict permissions on specific content entries.

Restriction on specific entries

This feature is available on all Performance spaces.

Rich Text and GraphQL Complexity Improvement

GraphQL Content API

We have improved the way we calculate GraphQL query complexity on Rich Text fields. We now add the sum total of the linked entry/asset limits set in the rich text field's validations settings and use that to calculate the number of complexity points for the field.

rt validation

This reflects how we calculate complexity points on reference fields using the limit parameter. If you ensure your linked entry/asset limits are set in the validations settings, the GraphQL complexity calculation will be far lower than they were previously.

See the GraphQL Content API reference for more details.

Environment aliases are now generally available

Content Management API
Web App
SDKs and tools
Documentation

Environment aliases are now generally available across all space types, enabling space administrators to instantly promote any sandbox environment to master. Aliases and environments offer a way to enhance your development workflows and leverage automated CI/CD pipelines, resulting in shorter lead times, higher deployment frequency, lower mean time to restore (MTTR) and change fail percentage. Aliases can be managed inside the web app and through a dedicated CMA endpoint. For more information, check out our introduction video, API documentation, concept guide and CI/CD pipeline integration tutorial.

Tasks API

Content Management API

The Contentful Management API endpoint for tasks is now available in Performance 1x, Performance 2x, Performance 3x, and Performance Unlimited spaces. The tasks API endpoint allows you to create, read, update, and delete tasks associated with an entry. See the Contentful Management API reference for more details.

Tasks

Web App

Tasks are now available in Performance 1x, Performance 2x, Performance 3x, and Performance Unlimited spaces. Tasks allow you to assign work in an entry to another user in your space, like translation, editing, or anything else you might need. The assignee is notified by email. The entry cannot be published while there are unresolved tasks. The assigner is notified once the task is resolved. There is also a list of your pending tasks available in the user drop-down menu.

Learn more about tasks in our documentation.

Two-factor authentication (2FA)

Web App

Users can protect their Contentful accounts through two-factor authentication. 2FA verifies users through an authenticator app such as Google Authenticator, Authy, or Duo Mobile.

Scheduled Publishing

Web App

Scheduled publishing and unpublishing are now fully deployed. You can now schedule a content entry to publish and unpublish in any sequence that suits your needs. We have increased the limit of pending scheduled events per environment to 100.

Scheduling will be available unless you are on a legacy pricing plan, reach out to us if you wish to upgrade!

Learn more about scheduled publishing.

merge from ofoct (5)

EditorInterfaces collection endpoint

Content Management API

We added a new endpoint that allows you to fetch the editor interfaces for all content types in an environment in one request.

Find out more in the documentation.

UI Extensions SDK v3.10 released

App SDK

Scheduled Publishing

Web App

Scheduled publishing and unpublishing are being deployed over the next few weeks. You will now be able to schedule a content entry to publish and unpublish in any sequence that suits your needs. We are rolling this feature out progressively to ensure all users have the best possible experience. In addition, there is a limit of 20 pending scheduled entries per environment for now, but this limit will also increase soon and we will note that in the changelog when we make the change.

Scheduling will be available unless you are on a legacy pricing plan, reach out to us if you wish to upgrade!

merge from ofoct (5)

Updated invitation form

Web App

We have now updated the invitation form to make it possible to invite users directly into a team. We also gave the form a refreshed design.

Entry Comments

Entry comments are now available. You can post and reply to comments within the entry editor enabling you to collaborate with other authors, editors, and translators. Comments are available unless you are on a legacy pricing plan, reach out to us if you wish to upgrade!

Learn more about entry comments.

Content Type in Entry Editor

Web App

We now show the content type of an entry above the entry title in the entry editor. This makes it easy to see at a glance what type of entry you're editing without having to click the Info button.

Annotation 2019-10-09 160725

Focal Point App released

Web App

Focal Point App allows to set a focal point for an image. Allowing better cropping when delivering responsive images across devices and screen sizes.

focal-point-release

Quick Navigation

Web App

We have added a quick navigation feature to the Contentful Web App. You can click the magnifying glass icon at the upper right or press the q hotkey to open the dialog. Start typing and automatically find entries, assets, and content types matching the text you type. You can then click or use the keyboard to select one of the results and be taken directly to that page.

qn1

qn2

qn3

Unpublished Reference Improvement

Web App

We have released a small but significant change to the dialog that appears when a you attempt to publish an entry that has unpublished references. We now show a list of those unpublished references instead of just a count. You can click an entry in the list and the slide-in editor appears. From there the you can publish the reference, then go back and publish the parent entry. This works for multiple levels of unpublished references.

Environment aliases alpha released

Web App
Content Management API
SDKs and tools
Documentation

With environment aliases we introduce a powerful addition to our developer toolbelt.

An environment alias allows you to access and modify the data of an environment, called the target environment, through a different static identifier. Aliases and target environments can be used to enhance your development and deployment workflows. For example, you can safely apply content model changes and roll them back when necessary or use them in your CI/CD pipelines.

Currently, only one alias with the identifier master is provided. It allows to define which environment should be used for production purposes – it previously used to be your master environment.

Access to environment aliases is currently limited to selected organizations.

For more information please check out our Content Management API docs or our environment alias concept article.

Apps beta released

Web App

Apps are solutions in a box. They orchestrate Contentful's powerful toolkit to enable new use cases that would normally require extensive manual development and time investment.

In contrast to the alpha, beta apps are build on production services and come with full support for space environments.

Learn more about apps in their documentation.

If you currently have an alpha app installed, please check our migration guide.

GraphQL Array Filters

GraphQL Content API

The GraphQL Content API now supports filters on Array fields. You can filter for array fields that contain some, all, or none of the specified string values.

Read more in the GraphQL Content API Reference Guide.

Team access management

Web App

In order to make permissions management across large groups of users easier, we’ve introduced roles & permissions support for Teams. A Team can have space access applied to it, and individual members of the Team inherit that space access through the Team.

We’ve now made it even easier to manage space access for Teams: we have introduced a new ‘Teams’ page in the Space Settings dropdown-menu. From here, space admins can add and remove Teams in their space, and modify the permissions of any Teams already in their space.

Teams feature is available on our select enterprise-grade plans.

Comments & Tasks Alpha

Web App

We are starting an alpha period of two new collaboration and workflow features: Comments and Tasks.

Comments allow users to communicate in the entry's sidebar, within Contentful webapp. You can also start a nested thread by replying to a specific comment.

Tasks represent action items (such as a translation request, or a review) assigned to a specific user. You can publish an Entry only after all Tasks are marked as done.

Access to Comments and Tasks is currently limited to selected organizations.

For more information please checkout our documentation. You can also talk to us in our Slack community in the channel #content-workflows.

Page extensions and UI Extensions SDK 3.9 released

App SDK
Web App

Page extensions grant developers full control over an entire route within the Contentful web app and can control even multiple pages such as

  • .../extensions/awesome-app/installation
  • .../extensions/awesome-app/dashboard
  • .../extensions/awesome-app/whateverYouPlease

Page extensions can be activated either by navigating to a URL or through the UI Extensions SDK. To learn more about page extensions, please visit their documentation.

Improved support for re-ordering tags

Web App

The tags widget now allows you to re-order tags with drag'n'drop and keyboard support

For keyboard support, select a tag using TAB, hit Space to focus it and use the arrow keys to find a new spot in the list. Hit Space one more time to let it go.

Usage overview for spaces environments

Web App

The web app is extended to allow you to see your usage and plan limits for any space environment. Previously, it was only possible for the master environment of a space.

To check your environment’s usage vs. the space limits in the web app go to:
Space → Environment → Settings → Usage

For more more details on how the space plan limits are defined please refer to the pricing page and the domain model.

Optimizely app released

Web App

The Optimizely app for Contentful is enabling marketers to run experiments with content powered by Contentful. We are integrating the two services to build exceptional customer experiences. The app minimizes cognitive drain from context switching, removes manual configuration steps and enables marketers to run more experiments, faster and with less friction.

The app is currently in alpha and available in an early access program to our enterprise customers. Documentation can be found here

Custom Entry Editor and UI Extensions SDK 3.8

UI Extensions can now be used to replace all fields of a content type and control the UI of the entire experience. This release enables multiple new use cases: think conditional fields, custom field groups or even tree flattening where graphs of structured content can be rendered as if they were flat.

To learn more, please checkout this guide.

To enable this feature we have released version 3.8 of the UI Extensions SDK.

UI Extensions SDK v3.8 released

App SDK
  • added support for getting the editor interface for a given content type ID
  • added support for receiving notifations about changes of visibility of fields disabled for editing
  • added support for exposing IDs of entities available in the current context

Single Locale mode

Web App

We released an improvement in the User Experience of working with locales where we now allow the display of only 1 locale (which is no the default one). This is useful for entries that have a lot of fields, making the editing of its fields across many locales hard.

This feature can be enabled by selecting "Single locale" in the sidebar widget: Screen Shot 2019-04-09 at 2.10.17 PM

It also comes with some error reporting capabilities so that it's easier to pinpoint which locales have how many errors.

Rich Text Commands

Web App

Rich Text Commands are a new way to work with Structured Content in the Rich Text Editor. By typing the character "/", a commands panel appears from which the user can select to:

  • Create
  • Embed, as block
  • Embed, as inline

another Contentful entry or an Asset, while typing immediately after the "/" will filter the available options.

Here's what it looks like: rich text commands

GraphQL Content API

We've extended the GraphQL Content API to support deep querying into entries and assets referenced by Rich Text fields. The new links property currently has a complexity of 1000, as it can return up to 1000 entities.

You can read more about Rich Text links resolution in the reference documentation.

UI Extensions SDK v3.7 released

App SDK
  • added support for Upload API so you can now upload binaries directly from UI Extensions
  • added convenience method for async asset processing
  • added Typescript definitions which means building UI Extensions now comes with the beautiful benefits of a typed language

Environment Cloning

Web App
Content Management API
SDKs and tools

We are giving developers more flexibility to manage environments by making it possible to clone any environment. Previously all environments were a copy of the master environment.

This feature enables adavanced development and deployment workflows:

  • Update QA or staging environments from feature environments (allows multi-stage workflows)
  • Manage a different set of content for development and testing purposes in an environment which can act as a blue-print for all development work
  • Easier integration of feature environments into CI/CD pipelines
  • Backup environments before running migration scripts or automated tasks
  • Rename an environment by cloning it

The release affects multiple areas:

  • Contentful web app
  • Content Management API: added additonal X-Contentful-Source-Environment header for environment creation (documentation)
  • SDKs: JS, Java, Ruby, Python (support for .Net and PHP coming soon)
  • Contentful CLI: added additonal source parameter for creating an environment (documentation)

Dialog Extensions enabled with UI Extensions SDK v3.6

App SDK
Web App

A new version of the UI Extensions SDK was released. It enables the following functionality:

Team member transparency

Web App

We have introduced a small enhancement to the Teams feature: now all organization members have access to a new ‘Teams’ tab in the sidebar, and if they have been added into a team they will be able to see the name and description of the team, as well as the names and email addresses of the other members of that team.

Work on Teams continues so please leave us your feedback directly via the webapp!

Teams is available on select enterprise-grade plans.

SSO configuration module

Web App

We have introduced a new module in the webapp under Organization settings: this new SSO module allows Organization admins and owners to configure their SSO setup directly in the webapp.

Download Contentful’s service provider details and input your provider’s information; map user attributes and test SSO connection before enabling SSO for your org. Finally, share the bookmarkable SSO login URL with the users in your org for easy access.

Available on select enterprise-grade plans.

Bulk Editor & Slide In editor working together

Web App

The Bulk Editor is now being displayed in every level of a SlideIn Editor stack.

This means two improvements that were not possible before:

  1. If an entry has a Bulk Editor enabled in a reference field and there is a linked reference in the Bulk Editor, clicking it will open a new SlideIn Editor.
  2. If an entry slides in and has a Bulk Editor enabled in a reference field, the Bulk Editor will be displayed.

Custom Sidebar

Documentation
App SDK
Web App
Content Management API

We are giving control over the sidebar in the Contentful web app with Custom Sidebar.

We expanded the editor_interface of content types so you can now hide / re-order built-in widgets as well as custom UI Extensions. UI Extensions now have true sidebar support so they don't need to be assigned to a field anymore.

To learn more please head to the documentation for Custom Sidebar or checkout our first sample extensions: A custom publishing widget

sidebar-release

Query complexity limits for GraphQL Content API

GraphQL Content API

We introduced a query complexity limit of 11,000 entities per GraphQL query. Users who were sending us bigger queries in the past can continue to do so for one more month before getting any errors.

Feel free to reach out to us if you need any help with simplifying your queries or if you find the new limit way too "limiting" for your use case.

You can also read more about query complexity in the reference documentation.

Improved content type editor for sorting fields

Web App

The usability of the content type editor for sorting fields has been improved. Keyboard support was added.

content type sorting improved

Rich Text Editor supported in Versioning view

Web App

The Rich Text Editor now shows up in the Versioning view. Previously it was displaying the raw JSON data, so it should be easier now to compare changes between versions.

Compare versions with rich text

UI Extensions SDK 3.5.0 released

App SDK

The following functionality was added:

  • create new entries and assets
  • navigate to existing entries and assets
  • optionally use the slideInEditor for the above
  • trigger success and error notifications
  • reduced the bundle size from 21kb in v3.4 to 7kb in v3.5 (gzipped)

Read more in the documentation.

Introducing Teams

Web App

Teams is a new feature which makes it easy to group users together. Org admins and owners can create a Team, name and describe a team, and add and remove team members. We continue to work on Teams so more is to come! In the meantime, leave us your feedback directly via the webapp.

Available on select enterprise-grade plans.

Locale management UX improvements

Web App

We improved the way that admins and editors can work with Locales. Their listing has been set to an alphabetical order, except for the default which always shows up first, in the following areas:

  • In "Settings > Locales"
  • In the Entry Editor's Sidebar
  • In the Entry Editor's Locale's pop up. There it's also possible to select/deselect all the locales, helping users in spaces with many locales (more than 30, for example)
  • In the Entry Editor's fields list

Rich Text Performance improvements

Web App

The following improvements on the performance of Rich Text were released:

  • Consolidation in the number of CMA calls happening with embedded entries in Rich Text. An example of improvement in the loading time of an entry with a Rich Text field which has 1000 embedded unique entries is the reduction from 6 minutes to 50 seconds.
  • Typing speed in large documents (for example over 20 embedded entries) has been restored to normal levels.
  • A UX improvement in the design of the embedded entries and the addition of a preloading state aim to improve the perceived performance of the feature.

A new home for editors and authors

Web App

Editors and authors now have centralized place where they can learn about Contentful as soon as they sign up. The new Space Home page in the webapp will be filled with instructional content to guide through their Contentful discovery phase, and later offer productivity tips to help them become Contentful power users. Stay tuned for more content coming soon!

Added support for native alerts, confirm dialogs and prompt dialogs from UI Extensions (UI Extensions SDK v3.4.2 released)

App SDK

dialogs

It is now possible to leverage Contentful's native dialogs when working with UI Extensions. We added support for confirm, alert and prompt to the SDK from version 3.4.2. To learn about the new functionality please refer to the reference documentation.

We additionally added:

  • locale names: extension.locales.names -> { pl: 'Polski', 'en-US': 'English (US)' }
  • field type and validations for all entry fields: extension.entry.fields[id].type and extension.entry.fields[id].validations

Algolia App (alpha)

Web App

The Algolia app makes it easy to connect Algolia as a search engine to a Contentful space. Once it’s installed, Contentful will be automatically pushing updates to Algolia when content changes. The app allows fine control over content types, fields and even field values so users can generate the best search experiences.

For more information head over to our public documentation.

webp Image File Validation

Web App
Content Management API
Images API

When creating a "Media" field, it is possible to use the "Accept only specified file types" validation to only allow "Image" files. webp files are now validated as images and can be linked in an entry with "Image" file type validation enabled.

Apps Alpha

Web App

Today we are starting an alpha period of a new feature for Contentful's web app: Apps

With apps we are trying to provide deeper customization and integration possibilities. Being extensible was one of our core concepts being API-first, with webhooks and UI Extensions. With apps we are trying to combine existing mechanisms with new building blocks to enable more powerful use cases - all orchestrated in a central app.

The first app we are enabling today is: Netlify. The Netlify App is connecting your Contentful space to a Netlify site. The app enables continuous deployment of content changes into a static site.

image

Access to apps alpha is limited to selected organizations and further access is currently closed.

If you've got access to apps, you still need to explicitly enable them in the Apps section of the Web App, acknowledging that you're willing to interact with an experimental feature.

For more information please checkout our documentation or talk to us directly in our Slack community in the channel #apps-alpha.

Rich Text Developer Tooling

SDKs and tools

We are releasing a suite of developer tools which boost developer efficiency when working with our new field type "rich text". The tooling helps for example when migrating data from markdown into rich text or from rich text into HTML.

Initially we are releasing five tools:

rich-text-from-markdown Converts markdown documents to rich text

rich-text-html-renderer Converts rich text documents to HTML

rich-text-links Entity (entry and asset) link extraction utilities

rich-text-plain-text-renderer Converts rich text documents to plain text

rich-text-types Type definitions and constants for the rich text field type

Check out the repo here: https://github.com/contentful/rich-text

Helper functions for webhook transformations

Content Management API
Web App

Sometimes there is a need for trimming or modifying certain fields before delivering them to a webhook target. Contentful now provides numerous helpers that can be used at the transformation level.

{
  "content": "{ first-paragraphs 2 /payload/fields/content/en-US }"
}

This example limits the content field to its first 2 paragraphs. If the content field has more than two paragraphs, the rest of the text gets trimmed. In addition to trimming content, helpers are useful in modifying or refining content.

We are adding helpers for:

  • limiting characters
  • limiting words
  • limiting paragraphs
  • stripping stop words
  • removing markdown
  • stringifying a JSON object

More detail in the API documentation

GraphQL Content API Beta

GraphQL Content API

We are happy to announce that the GraphQL Content API is now available in beta, bringing development teams working with Contentful one step closer to deploying GraphQL-powered apps to production. The GraphQL Content API beta version comes with powerful filtering capabilities, supports both the Content Delivery API (CDA) and Content Preview API (CPA), and offers a fully functional equivalent to the REST implementation of the two APIs.

You will find a lot of useful resources, including vanilla implementation of the endpoint and step-by-step guides to implementing it with the Apollo client / SDKs, on the dedicated Getting started page. The move to beta means that the GraphQL Content API is in a stable state and we do not plan to introduce any breaking changes to the feature after this point in time. Any further performance improvements and feature enhancements will be communicated on the Contentful Changelog.

Please note that the new GraphQL Content API beta is initially rolled out on Large and Performance space types, with future plans to make it available more broadly. Customers previously enrolled in the alpha program will be able to continue using it. You have been invaluable in providing feedback and sharing your ideas with us throughout the process and we would like to give something back in return.

We are excited to see the apps and websites you build using GraphQL. For additional questions, please contact our support team (and remember to include the ID of your organization, so we can respond more quickly).

Improvements to user management

Web App
Content Management API

We have released some improvements to the user management experience in the webapp. Filtering, sorting, and searching are now all available diretly in the user management page. Additional data, such as SSO status (if your organisation uses it), user role and space information, are also better surfaced and discoverable via filters.

Additionally, customers on our Professional and Scale enterprise-graded platform plans will also be able to make use of these new endpoints to query and update user details programmatically. The documentation for these endpoints is available here. They are still in alpha stage, so breaking changes are possible.

Rich Text Public Beta

Content Management API
Content Preview API
Content Delivery API
Web App

Rich Text is a field type that enables authors to create rich text content, on par with traditional editors. Additionally, it allows entries and assets to be linked dynamically and embedded within the flow of the text.

Rich text provides these capabilities while maintaining a rich format on the API response. The API response is in JSON format thereby eliminating the empty <p></p> tags (associated with an HTML response) or shortcodes.

Note: Rich Text field is currently in Beta version.

You can read more about this feature in the Documentation page.

AWS Webhook Integration

Content Management API
Web App

The integration is enabling direct communication with all AWS services implementing v4 signatures (100+ services) such as Lambda, S3 or SQS, and many more. The integration removes the need for operating an AWS API gateway in front of a service to access it from a Contentful.

This is an enterprise-graded webhook feature which will be available to organizations on the Professional and Scale platform.

To get you going quickly, we added three Webhook Templates leveraging the integration for Lambda, S3 and SQS:

Updated Content Management API docs: here

AWS Webhook Integration - release training (3)

Confidentiality for OAuth Applications

Web App
Content Management API

OAuth applications you create for your custom Contentful integrations can now be explicitly marked as confidential. When an OAuth application is confidential, both the "Client ID" and "Client Secret" will be required when requesting a token. (Note: This requirement does not apply to the implicit grant flow, which is the OAuth flow described in Contentful's official documentation.)

This feature is part of a security upgrade that ensures Contentful correctly enforces the confidentiality of client credentials.

screenshot

Added webhook templates to trigger CI/CD processes when content changes

Web App

We added webhook templates to trigger builds on CI/CD/PaaS services:

and also to trigger cloud functions:

  • Trigger a cloud function with Webtask

See a list of all the webhook templates on the Contentful marketplace.

Secret values for webhook headers

Web App
Content Management API

Headers provided for a webhook can now be marked as secret. A secret header value can not be revealed in plain text anywhere in the system, including the Web App, API responses and webhook logs. Only the webhook target is able to recive the value of the secret header.

Headers can be marked secret in the Web App webhook editor or using the Content Management API.

Dedicated URL for the Bulk Editor

Web App

The Bulk Editor has a dedicated URL which can be used to render it directly, without asking the user to find the field first and start editing it.

Quickly connect to other APIs with our new Webhook Templates

Web App

We added Webhook Templates to the Contentful Web App. A Webhook Template represents a specific integration with an external service and it is guiding the user through the setup process.

Screen Shot 2018-08-16 at 15.35.40

For the initial release we are adding templates for:

  • Trigger a production build of a Contentful powered static site with Netlify
  • Send a custom message to a channel in Slack
  • Create an issue or user story in Jira
  • Send a message as email with Mailgun
  • Send an SMS to Twillio
  • Execute a function on Google Cloud
  • Send a message to a channel with PubNub

Webhooks are now transformable

Web App
Content Management API

Developers can now customise the HTTP method, content-type and request body of any webhook. This enables direct connections to APIs of services such as:

  • triggering builds for static sites with fine control over branches or environmental variables on continuous delivery platforms such as Circle CI, Travis CI or GitLab
  • sending direct messages to Slack or SMS via Twillio
  • sending emails via Mailgun
  • and many more

In the past user needed to develop, run and maintain custom transformation layers to make a Contentful webhook compatible with a 3rd party API. By enabling native transformations through our backend we are making it easier to build modern multi service architectures with Contentful.

For a full specification of the transformations please refer to the Content Management API docs or the webhook concepts article.

New "Environments" permission for roles

Content Management API
Web App

Roles have been extended with an Environments permission, which controls whether a role is allowed to manage and access sandbox environments.

Visit https://www.contentful.com/developers/docs/references/content-management-api/#/reference/roles to see how this new permission can be used or enable it using the WebApp for a role of your choice.

Enabling webhooks for environments by adding ability to filter

Web App
Content Management API

We added filtering support for webhooks which enables developers to target webhooks to specific entities and environments.

Examples:

  • trigger a static site preview build only if entries/assets get published in environments which have a prefix of “preview-“.
  • trigger an integration test if the content model changed in a development environment.

These and many more conditional filtering tasks needed to happen on the user’s side and can now be fully handled by Contentful.

Resources:

Screen Shot 2018-06-14 at 10.06.00

Slide In editor

Web App

A new editing interface for linked entries is released today, where every subsequent linked entry is stacked on top of the current one. The user can then navigate back up to any level she might want or just "peek" into the contents of the previous levels.

It is enabled by default in all link fields, unless the Bulk editor is enabled.

Discovery, installation and configuration of UI Extensions is now possible from within the Contentful Web App.

Web App
App SDK

The extensions view in the web app was redesigned and equipped with the following new features:

  • find, install, change UI Extensions within minutes without leaving the Web App
  • installing UI Extension examples through an integration with our GitHub Examples
  • installing UI Extension from any public repo/branch on GitHub
  • configuration of the recently released installation parameters
  • inline code editor for rapid prototyping with the code of a UI Extension
  • full support for space environments

Merged the migrations, import and export CLIs into the main Contentful CLI

SDKs and tools

The functionalities provided by contentful-import, contentful-export, and migration-cli are now all available through the contentful-cli. With only one tool to install, discovering Contentful features from the command line is much easier now. The Contentful CLI can authenticate with Contentful and pick a default space so you’ll no longer have to keep passing around space identifiers and access tokens for much of your work.

The three former CLI’s will remain usable as Node libraries but they will no longer be installable for global usage as CLIs.

Added configuration parameters to UI Extensions

SDKs and tools
App SDK
Web App
Content Management API

UI Extensions get more scalable and usable as configuration now is externalized from the code of the extension. This makes sharing and re-using of UI Extensions easy and effective.

We are releasing two levels of configuration for UI Extensions.

  • Installation: The extension endpoint accepts parameters which are space-wide to the UI Extension
  • Instance: The editor_interface accepts parameters which affect the UI Extensions on a field level

The release affects multiple areas:

  • Content Mangagement API: /extensions and /editor_interface endpoints were extended. Documentation.
  • Contentful Web App: Instance parameters get exposed in appearance dialogue for content model editors to tweak values easily.
  • Contentful CLI: The Contentful CLI can now be used to define configuration of UI Extensions as well as setting values for installation parameters. Documentation.
  • UI Extensions SDK: Extension developers can read the configuration from the SDK. Documentation.

Ported core image manipulation functionality to the Contentful Web App

Web App

We ported the following functionalities into the asset editor of the Contentful Web App:

  • rotate image
  • mirror image
  • resize image (both maintaining aspect ratio and scaling to desired size)
  • cropping images (no aspect ratio, original aspect ratio, custom aspect ratio)
  • cropping images to a circle (converts to PNG)
  • cropping SVG (converts to PNG)

In the past we provided this functionality through a third party which announced to discontinue that service.

Support for RTL editing in the web app

Web App

rtl

We just released support for RTL editing in the web app. You can edit RTL characters in every text field (short text, long text, markdown), dropdowns and radio buttons. Some things to note:

  • This works out of the box for locales that are RTL but will not work for any custom locales, like "Custom Chinese" for example.
  • It will align all the text to RTL, even embedded LTR text, so if you want to have big blocks of LTR text alternating with RTL, we suggest going through the path of composable entries where each text block's direction can be different from the others.

MIME type detection fix

Content Management API

There has been a slight change in how MIME types for uploaded assets are determined.

Previously, users uploaded a file from a source URL and Contentful would store the MIME type the source server specified for that file, regardless of the actual MIME type of the file. For example, if users processed a PNG file but the source server specified the file’s MIME type as “application/octet-stream”, then this was the information that Contentful stored and served in its own responses as well.

What's changed: Now we auto-detect the file's MIME type and store the correct information. So in the above example, Contentful's response would now server the image with the "image/png" MIME type. Only when the automatic detection can't detect a file type do we use the one the source server provided.

Show the parent entries of an entry or an asset on the sidebar

Web App

We are showing the parent entries of an entry and an asset so that:

  • You can see whether this entry is linked from anywhere before you decide to delete, unpublish or archive it.
  • You can navigate the content graph all the way back up.

Screen Shot 2018-02-02 at 10.55.03 AM

Confirmation dialog when deleting/archiving/unpublishing an entry

Web App

Whenever a user tries to delete, unpublish or archive an entry or an asset that is linked from another entry, they receive the following confirmation message:

The possible places that a user can see this dialog are:

  • Entry editor
  • Bulk editor

New search UI in entity selector

Web App

We implemented the new search UI, which was released last year, in the last remaining part of the Web app, the link entry selector.

Screen Shot 2018-01-25 at 5.01.51 PM

Swift CDA SDK 1.0 release

SDKs and tools

We just released version 1.0 of our Swift CDA SDK which comes with a very expressive and human readable API for pulling data from the CDA, CPA, and Images API. In comparison to the Objective-C SDK, this one even builds on Linux. So you can integrate it into Cocoa projects (i.e. iOS, watchOS, tvOS, macOS) and even Linux projects—cool stuff! You can make CLI’s in Swift, integrate it with server-side Swift frameworks, build watch apps etc, cross-platform support is something to highlight.

Enable asset uploading through the markdown editor

Web App

We added an extra flow in the markdown editor where an author who decides to insert an image inline in the text, can also choose to upload new (1 or more) assets.

  • These images are then published automatically (description is empty and the title is the filename) and
  • Appended automatically at the cursor's position in the text

Enable the version filter for entries and assets

Web App

We added a new search filter in the Web app, called version which filters entries and assets on the value of their version. As a reminder, an entity's version number increases by +1 whenever a change is happening on the fly (on each key stroke for example) so this enables us to provide a workaround to the problem of accidentally created "Untitled" entries and assets.

To search for that, add the filter "version is 1" in either the content or media list: Screen Shot 2018-01-11 at 11.24.54 AM

Generic reference search parameter

Content Delivery API
Content Management API
Content Preview API

We're glad to announce the release of new search parameters which filter entries that have a field linking to a given entry or asset.

This will ease the process of navigating the content graph from children up to their parents in a single API call.

More information is available in the reference documentation

A sample UI extension is also showing it in action.

Improment in the user experience of new entry creation workflows in spaces with a lot of content types

Web App

We released 3 changes in our UI affecting either the creation of an entry or the display of a lot of content types:

  • The content list, where we added a “Suggested content type” option in the “Add Entry” button and a filter input, when there are more than 20 content types available, allowing you to find the needed content type in a few keystrokes.
  • The entry editor, where the above visual component is reused for the cases when you need to create a new entry and link it to the one you are editing.
  • The “Content Model” > “Validations” > “Accept only specified entry type” area where the sorting of the listed content types happens in a vertical manner (columns) and alphabetically, for easier scanning of the options.
Content Management API
Content Preview API
Content Delivery API

We released a fix to the Content API which solves an error that would happen when querying content including 2 or more levels of children, and resolving links to entries which were deleted.

The deleted links are now disregarded from the link resolution.

Fixed issue when searching for terms separated with hyphens

Content Management API
Content Delivery API
Content Preview API

We deployed a change to the content APIs fixing search queries using terms with hyphens ("-"), which will now return the expected results.

This is particularly important when searching for entries based on URL or slugs.

Fixed snapshots deletion when entries got deleted

Content Management API

We deployed a fix to the snapshots system which ensure snapshots are properly deleted whenever an entry gets deleted. This was triggering issues when recreating entries with the same ID as deleted ones.

Improvements in the search functionality and ability to save private views for every user

Web App

We have released multiple improvements in the Search functionality such as the ability to:

  • Combine search filters with the "search pills" mechanism.
  • Perform negative searches, like "all entries with field that doesn't equal X value".
  • Perform fuzzy searches in short text fields in case you want to filter entries that share a specific naming convention.
  • Search by references, like getting all the products of a category.

New search pills

Also, every user is now able to save a search for future use as a private saved view. This feature was previously available only to space admins.

Private saved views

Update 0.5.0 of the migration-cli

SDKs and tools

We released an update of the migration CLI which now comes with support for content entries transformations.

It is available on NPM, so you can update it using: npm i -g contentful-migration-cli

More details are available on the README

Fixed inconsistency between Delivery and Preview API for `locale=*` calls

Content Preview API

We fixed an inconsistency between the preview and delivery APIs which led to unability to resolve linked entries when fetching entries using locale=*.

When calling the https://preview.contentful.com/spaces/{spaceid}/entries/?locale=* endpoint, the locale property won't be present in the sys, just like when calling https://cdn.contentful.com/spaces/{spaceid}/entries/?locale=*.

Extensions list are now available in the Contentful Web App

App SDK
Web App

We just released an update enabling space administrators to access the list of extensions installed on a space.

This screen is accessible from the Space settings menu, and also allows to remove extensions from the space.

Role-view assignment

Web App

We just released an update in our Saved view mechanism where an Admin can select which of their teams' Roles can see them, in their sidebar.

Role-view assignment

The Contentful migration CLI is now available in Beta

SDKs and tools

We're pleased to announce the release of contentful-migration in public beta.

This CLI enables to script and perform changes to your content model using JavaScript. It will continue to evolve to support additional functionality such as content transformations.

Learn more about it on the Github repo

Expose more user and space membership information

App SDK

Further extending the UI Extensions SDK, we now also expose the user's ID and email as well as the spaceMembershipID under the extensions.user object. Documentation Link.

Search improvements

Web App

We released an improvement in the search functionality that introduces:

  • Design changes that increased the visibility of the filter mechanism.
  • A new updater filter that shows content last edited by the selected author.
  • A fix for a bug where a user could select two fields when they were named the same (for example an author user-generated field that conflicts with the default author system field).

The change affects the following areas:

  • Search in content list
  • Search in media list
  • Search in linked references

Learn more about searching and filtering.

Expose user and space membership information

App SDK

We are now exposing user and space membership information in the UI Extensions SDK so you can personalize your extensions based on who is viewing them.

Web App

We are offering help documentation in the search filters and in empty search result pages in order to provide some help around this functionality.

Show content type on Referenced Entries

Web App

When there is a field which references other items, we're now showing the content type of the referenced entries. This helps in quickly identifying what is linked in the field, when there are multiple types allowed, so that the Editor doesn't have to go inside the entry to see what it is and then back.

Show Content Types in Referenced Entries

Improve autosaving UI

Web App

We changed the small auto-saving indicator on the side of the entry editor to make the content-editing smoother and less distracting to the Author.

Remember scrollbar position in entry editor when editing referenced entries

Web App

We improved the navigation functionality when a user is editing an entry‘s referenced fields.

Previously when someone clicked to edit a linked entry and then went back to the parent entry they would land at the top of the form. This caused usability issues in long forms where the context of the task would be lost for the editor.

Now the scroll position in the entry form is remembered. Only exception is when images or other lazy-loading elements exist higher in the form and they “push” the page down.

Improve the form field validation functionality

Web App

We improved the way error messages show up in fields with validation. Previously the showing and hiding of the validation messages and error styling of the field (red border and pink background) was inconsistent.

Now the validation kicks in after user interaction whether it is on keyup (with a 2 second delay), focus or blur event.

Fixed updating the displayField when creating a new field

Content Management API

This release fixes a bug happening when inserting a new field into a content type and setting it as the display field in a single request. The API no longer fails with a validation error, but now correctly creates the field and updates the displayField at the same time.

Content Model section in read only replaces the Content Model Explorer

Web App

We replaced the Content Model explorer feature which was living in the API section by opening read only access to the Content Model section for users with the "Developer" role.

Any user with permission to access the API section will now see the Content Model section. It will be in read and write mode depending on the permission to modify content types.

Content Management API update of the snapshots endpoint

Content Management API

We're updating the Content Management API to introduce a new property in the snapshots endpoint payload, called snapshotEntityType which will indicate the type of a snapshot.

Ruby CMA SDK 1.7.0 released

SDKs and tools

This release adds support for the direct file upload endpoint to the Ruby CMA SDK.

Released listing and revocation of Personal Access Tokens from the Web App

Web App

We just released the ability to go through your list of personal access tokens, and revoke them, in the API section of the Contentful Web App.

Search within our developer documentation

Documentation

We released search within our developer documentation. The release makes it more convinient to explore knowledge around Contentful.

PHP CDA SDK 1.0 release

SDKs and tools

PHP CDA SDK 1.0 / Laravel Integration 1.0 / Symfony Integration 1.0

We just released version 1.0 of our PHP CDA SDK. For a full overview of what changed since the beta, please refer to the releases.

We also updated our Laravel and Symfony integrations to 1.0 using the new SDK.

Preventing processing of assets that are of type text/html

Content Management API
Web App

We fixed a security issue in our platform which made it possible to abuse our asset system for hosting phishing websites. Previously a user could upload and process files with the mime type text/html. From now on the asset system will return an invalidContentType validation error when trying to process these files.

If you want to continue storing HTML files in Contentful, please use application/octet-stream as the contentType. Keep in mind that these files will not be rendered by browsers by default.

Existing customers that are using this functionality were white-listed to ensure continuous functionality of their integrations. If you want to be white-listed or have any other questions regarding this fix, please contact our support support@contentful.com.

Java CMA SDK 2.0 release

SDKs and tools

We released version 2.0 of our Java CMA SDK. It comes with a simplified API and implements our new endpoint for direct file uploads. The reference documentation for the 2.0 CMA SDK can be found here: https://contentful.github.io/contentful-management.java/

Personal Access Tokens generation available in the Contentful Web App

Web App

We have updated the Contentful Web App to expose Personal Access Tokens as part of the API section.

You can now easily generate a CMA token and use it for your apps.

Get the authenticated user profile information from the CMA

Content Management API

We've released an update of our Content Management API allowing to fetch the authenticated user profile information, through the /users/me endpoint. Check out the documentation This new endpoint is available in Beta.

Personal Access Tokens available in Beta

Content Management API

We're releasing an update of our Content Management API to introduce Personal Access Tokens endpoints, enabling developers to create, list and revoke CMA access tokens. This feature is released in Beta. Check out the documentation!

Change of Status Page domain

We have moved our Status Page to https://www.contentfulstatus.com as a precautionary measure, you can read more about the move here.

Full text search for non latin based languages

Web App
Content Management API
Content Delivery API
Content Preview API

We released a fix which makes it possibe to full text search in non-latin and/or right-to-left languages. All languages, for example Cyrillic, Hebrew, Japanese, Arabic or Chinese, behave the same as latin based ones while searching now. This includes partial left-padded (and right padded for RTL languages) matches. Beware that you can search only for terms with more than two characters.

Improved versions of contentful-export and contentful-import

SDKs and tools

We recently released an update of the contentful-export and contentful-import tools to better account for rate limit issues, including retry attempts, along with improved error messaging. You can now reliably export and import large spaces using them.

Check out the Multiple environments guide for more information on how to use these tools.

Ruby CDA SDK 2.0

SDKs and tools

We are releasing version 2.0 of our Ruby CDA SDK. Please have a look at the changelog on GitHub for full details: https://github.com/contentful/contentful.rb/blob/master/CHANGELOG.md

API reference documentation is available at: http://www.rubydoc.info/gems/contentful/

Direct File Uploads

Content Management API

We extended our Content Management API with direct file uploads. This feature lets you upload local files to Contentful assets without the need of any third party service. Please head over to the documentation to find out how. This release is a beta release.

Content Delivery API screen improvements: get started in minutes!

Web App

We've just released improvements in the API section of the Contentful Web App to help developers getting started with the Content Delivery API:

  • Create delivery API keys in one click
  • Download boilerplate code for the platform of your choice (Javascript, .NET, PHP, Ruby, Python, Objective-C, Swift, Android, Java)
  • Get up and running in 1 minute

Improved how past published versions are displayed in the entry editor

Web App

We recently updated the Contentful Web App to improve how we expose the past published versions of an entry.

You will directly see them in the sidebar, so you can pick them easily and compare them with your current version.

Improvements on the results list throughout the Contentful Web App

Web App

We've improved the usability of the results list in the following sections of the Contentful Web App:

  • Content model
  • Content
  • Media
  • Settings
    • Locales
    • Webhooks

Search results in the content section now also provide better visual indicators for sorting or changing the columns setup.

SVG images can now be previewed in the Contentful Web App, and accessed from images.contentful.com

Web App
Images API

You can now preview your SVG media assets from within the Contentful Web App, just like any other type of image. Additionally, SVG assets will be accessible from images.contentful.com, as for other supported image formats.

Strict query param checking of include, limit and skip

In this release we enable more strict checking of input values for the limit, skip and include query parameters. If the following new requirements are not met, the APIs are now throwing an InvalidQuery error with a HTTP/1.1 400 Bad Request response code:

  • all parameters need numeric values
  • limit needs to be in the range of 0 to 1000
  • skip needs to be greater than 0
  • include needs to be in the range of 0 to 10

Customers which used these parameters in the last two weeks with invalid values will not be affected.

Searching on references using the API

Content Management API
Content Preview API
Content Delivery API

We've added a new filtering capability to our APIs, enabling you to query for content based on the fields of referenced entries. You can find out more about how to leverage this capability in our usage guide.

Homepage for Contentful Web App

Web App

After logging into Contentful, you will be greeted by a new page which features all of the resources and examples you need to get started and build your application. You will also see a list of your Organizations and Spaces.

Bulk editing of references

Web App

We're introducing a new option to improve the efficiency of editing referenced content: the bulk editor.

You can use it by activating the "Use bulk editing" option in the "Appearance" tab of reference fields in your content model.

Bulk editing option

It will allow, once in the content editor, to open a fully fledged editor with all references visible at once. This will enable authors to edit multiple entries at once, and publish them while having the parent entry always accessible in one click.

Bulk editor

It has mainly been designed for editing references of relatively simple content types, and does not support references to assets yet.

Builtin dialogs support in UI extensions

Web App
App SDK

We're happy to announce an update of the UI extensions SDK which now supports spawning Contentful's builtin dialogs like the assets, or content entries selector.

This will help you leverage them for building even better UI extensions in a much more productive way!

You can learn more about how to use these in the documentation.

More improvements to the Markdown editor

Web App

We released a couple of improvements to our Markdown editor:

  • Creating link by selecting text is now properly supported
  • We disabled Github-specific syntax support to stay aligned with the Markdown standard

Improvements to our Markdown editor and more...

Web App

We released improvements to our Web Application, especially on the Markdown editor:

  • Initial rendering issues have been fixed, removing a flickering effect, or necessity to focus on it to show contents.
  • The editor will automatically grow in height, up to 500 pixels, for long texts.

We also polished a few styles, and made clear that you can use the "arrow down" key to show the list of a content type's properties and speed up how you search content.

Comparing with past published version

Web App
Content Management API

From now on, every time an entry gets published, a snapshot of this version will be available.

These snapshots can later be used to compare changes with current entries, and if required, to restore them to previous states entirely or partially.

Select Operator Release

Content Management API
Content Preview API
Content Delivery API

We released an update that lets you modify your responses. You can now use the 'select' operator to choose which fields and/or sys properties appear in the response payload.

For more details, check out this guide!

Custom fallback locales released

Web App
Content Management API

We're happy to announce an update of the API and Web Application that will enable Pro and Enterprise customers to define custom fallback locales. You can check out our detailed guide explaining how to make the most of this feature.

Unique field validation upon publishing is now available

Web App
Content Management API

From now on, content type fields can use new validation rule that checks before publishing if any other entry of the same content type, and with that same value, exists across your space. Publication will be rejected if that's the case.

Note that this does not enforce any unique constraint on previously published entries, but only performs a validation upon publication.

Checkout flow redesign

Web App

We've redesigned our checkout flow as well as updated the usage meter to a more visual representation using progress bars.

Introducing an improved navigation system

Web App

We've revamped our navigation system to make relation between content entries more explicit and save some screen space. This aims at enabling a better editing experience in the Contentful Web Application.

Rate Limit Headers

Content Management API
Content Preview API
Content Delivery API

In this release we added rate limit headers to all our APIs. Customers are now able to see detailed information in HTTP headers regarding rate limits. Please see the documentation for CDA, CPA and CMA for more information.

Multiple improvements

Web App
Content Management API

We're releasing a set of fixes and improvements on our API and Web Application:

  • Fixed publication failures on invalid data for deleted fields
  • Displaying a warning whenever users try to publish a content entry which references unpublished content
  • Clarified the notification text for plan upgrades

Fixed asset size comparison in queries

Content Management API
Content Preview API
Content Delivery API

We released a fix of the assets size validation which was not properly taking <, <=, >, >= (lt, lte, gt, gte) operators into account.

Multiple fixes and improvements

Web App
Content Management API

We released a set of improvements and bug fixes including:

  • Entries with a content type having a deleted reference field can now be published again.
  • Login issues on Internet Explorer
  • API rate limits are now taken into consideration from within extensions developed using the UI extensions SDK
  • The developer console has been cleaned up of recurring error messages to ease extensions debugging
  • Height of the Markdown editor when in read-only mode has been improved
  • Handling of request errors when creating spaces from a template
  • Added Central Kurdish as an available locale
  • Miscellaneous issues reported by our system

Release of usability improvements on the references editing component

Web App

We're glad to inform you that we released improvements to the reference field and media field editor components. These will ease the way you can manage referenced entries and media assets within your content.

UI Extensions SDK 1.0

Web App
Content Management API

We are happy to announce the 1.0 release of the UI Extensions SDK, which enables developers to customize the functionality of the Web application entry editor. This release includes a stable version of the Extensions SDK and Extensions API which is used to power our very own entry editor. It also includes an updated CLI tool with improved usability and the capability to be used programatically.

You can get started by reading our blog post and detailed guide.

If you were already using the developer preview version, make sure you check out these migration steps.

For more information please visit the SDK repository.

Field deletion and readding not working

Content Management API
Content Delivery API

This release fixes a bug with content type field deletion. Deleted fields which get readded under the same name will now show the content in entries.

internal fallback logic and date/text field value handling

Content Management API
Content Preview API
Content Delivery API

In this release we ship two things:

  • fixed a bug on sort, query and compare operations for fields with date or text type
  • refactored internal fallback logic for locales

postgres performance and bugs

Content Management API
Content Preview API
Content Delivery API

This release fixes a bug where a query with invalid coordinates returns a server error. Also we improved our database query perfomance.

editor Interface always in sync with content type

Content Management API

This release introduces two changes to the editor interface of a content type:

  • All mappings stay in sync when adding, renaming or deleting fields on the content type
  • When publishing a new content type, a default editor interface is created (old content types may still have no default editor interface)

Add fallback code, fallback bug, Query with changed param, mimetype_group query

Content Delivery API

In this release includes:

  • the fallback_code attribute of a locale is now present in CDA
  • the fallback locale is respected, even when its empty
  • using a query with sys.contentType.sys.id and the changed param is now possible
  • using the mimetype_group param anywhere else then with assets will return an InvalidQueryError

API Dashboard and bug fixes

Web App

This release includes:

  • Fix that prevents the user interface from validating deleted fields
  • Improved API section with a revamped content model explorer for a centralized overview and built-in copy to clipboard for easier copying of IDs

Correct deletion of required fields

Content Management API

This release fixes a bug where required fields were still required even after they got deleted.

UI CI June 7th - Taxonomy, subscription page, side-border, EI styles, date editor bug fix, moar

Web App

This release includes the following usability improvements and bug fixes:

  • Small visual tweaks to the JSON and Multi-line field editors
  • Updated and unified taxonomy copy in the Web Application
  • New field editor status side-border
  • Minor bug fixes on the Date field editor

Field deletion

Web App
Content Management API

This update to the Contentful Web Aplication and Content Management API allows for destructive deletion of Content Type fields. This means, now it is possible to delete fields even when there already exist entries of such Content Type.

In order to delete a field, first it has to be marked as "omitted" (or 'disabled in response' in the Contentful Web Application). This allows you to preview the implications of the delete action in your application (and undo if necessary), before you commit to permanently deleting a field.

For more information please visit our reference documentation.

Editor Interface cannot be updated

Content Management API

This release fixes a bug where an editor interface could not be updated if the related content type field names where changed before.

entry field and locale removing with custom role

Content Management API

This release fixes the following scenarios:

  • Removing a field from an entry while using a custom role
  • Removing a locale from an entry field while using a custom role

Bug when multiple entries with omitted fields are returned

Content Management API
Content Preview API
Content Delivery API

This release fixes a bug where mutliple entries weren't returned if they have omitted fields.

Update the Editor Interface

Content Management API

[BREAKING] We've updated the Editor Interface API endpoint to be more streamlined with the rest of our platform. The endpoint URL was changed from /space/<space_id>/content_types/<content_type_id>/editor_interfaces/default to /space/<space_id>/content_types/<content_type_id>/editor_interface. The behaviour of the endpoint didn't change. Please refer to the updated documentation here.

Updated UI styles

Web App

This release includes updated styles to the Web Application Entry and Asset editors.

Duplicates in Sync endpoint

Content Delivery API

This release fixes a bug where under some circumstances duplicates may appear while using the sync endpoint.

Field omission backend changes

Content Management API
Content Preview API
Content Delivery API

We have expanded the Content Type fields definition to include a new "omitted" property. Tagging a field as omitted causes it to no longer be delivered via the Content Delivery or Content Preview APIs, and only to be present on the Content Management API.

Wrong Location response format

Content Management API
Content Preview API
Content Delivery API

This release fixes a bug where under some circumstances a location field is not returned in the correct format.

New Date widget, small bug fixes for UI and Widgets SDK

Web App

This release includes a brand new Date Editor Widget with a brand new visual design and many usability improvements, as well a small collection of minor bug fixes and improvements to the Web Application and Extensions API.

Optional locales

Content Management API
Content Delivery API
Content Preview API
Web App

We are happy to announce an update to our localization feature that enables required localized fields to be published independently from each other. Now it is easier to release content for different locales at their own pace, and decide at any time which locales are required for publishing and which ones are optional.

Content type Duplication

Web App

It is now possible to duplicate Content Types using the Contentful Web Application. Just navigate to the Content Type Editor, and under the "Actions" menu select the "Duplicate" option and fill in the details for the new Content Type. All your fields' settings, appearance widgets and predefined values are copied along. Please note that this feature only copies the Content Type structure, it does not replicate any entries associated with it.

Further Performance Improvements

Content Management API
Content Preview API
Content Delivery API

With this release we shipped performance improvements to all database queries.

New location widget, slug widget, improved number widget

Web App

This new release includes better performance and updated visuals for the slug and number editor widgets, as well as a brand new location widget with support for text-based search.

Full Text Query Performance Improvements

Content Management API
Content Preview API
Content Delivery API

This release improves performance on all full-text search queries.

Performance improvements

Content Management API
Content Delivery API
Content Preview API

With this release we shipped several performance improvements to our platform.

Content Management API

This release fixes the handling of role links in the space membership endpoints of the Content Management API. Properly formatted links were previously rejected and are now correctly handled in a backwards compatible way. A potential payload looks like this:

{
  "admin": false,
  "roles": [
    { "sys": { "type":  "Link", "linkType": "Role", "id": "some-role-id" } }
  ]
}

Validation checks while querying for sys properties

Content Management API
Content Preview API
Content Delivery API

This release introduces more validation checks when querying entries with different sys properties.

Bug fix, querying undefined values

Content Management API
Content Preview API
Content Delivery API

Fixed a bug in the query engine to prevent crashes when the [ne] operator is used without a filtering value.

0 size asset validation bug fix

Content Management API

Fixed a bug where under some circumstances the API would fail to properly process assets with size validations when one of the size boundaries was 0.

JSON and Tag widgets, updated radio widget types

Web App

We are glad to announce the release of a fully revamped JSON Editor widget for JSON field types, and a brand new "Tags" widget for short-text lists field types. These new widgets significantly improve the editing experience and allow for easier and more flexible content modeling.

# fields per CT warning, checkbox widget, preview app token, UI Extensions multi video widgets/rating widget, new widgets styles

Web App

This small release contains the following new features and bug fixes:

  • The Content Type Editor now warns users about the technical limitation of having up to 50 fields per Content Type
  • Updated error messages for Content Type management actions
  • Automatic login to the Web Discovery App if navigating from within the Contentful Web Application
  • Updated visual and interaction design for the rating and boolean widgets

We also introduce a brand new "Checkbox" Editor widget for short-text list fields. It allows Content Modelers to use multiple predefined values for content creators to choose from in the Entry editor.

Webhooks Segmentation, multiline widget on UI Extensions API

Content Management API
Web App

This release introduces new Trigger Segmentation functionality for Webhooks. Now it is possible to select for which combination of entity types (Content Types, Entries, Assets) and possible actions (create, save, autosave, publish, unpublish, archive, unarchive, delete) you want Webhooks to be triggered.

This makes it easier to configure Webhooks for specific scenarios such as "Trigger when an entry is updated" or "Trigger when an asset is published". It is possible to setup up to 20 webhooks per space.

Searching: Multi Keyword Regression Fix

Content Delivery API
Content Management API
Content Preview API

This release includes a bug fix for the match operator with how multiple word strings are handled while searching.

Webhook settings allow for IPs

Content Management API
Web App

This minor update allows Webhook's url property to be configured with non-private IP addresses.

Updated webhook delete/unpublish tombstone

Content Management API

This minor update adds Content Type IDs information to Webhook tombstones sent as a webhook payload on unpublish events.

Webhooks v2, Learn tab

Content Management API
Web App

This release ships an update to our Webhooks system. In the user interface you will find a whole new section for Webhooks, which lists all the requests that have been executed for each Webhook. Each request can be inspected and will show the request and response details. Additionally, you can now define proper Webhook names which are used across the system, as well as custom headers, that are send in as part of the request.

All of these changes are backend by APIs and can also be configured/consumed without the user interface. See the following links for further information:

For our unexperienced users we've added a "Learn" tab that can be found in a top right corner of your screen. It provides a lot of useful information about content modeling, editing features of the application and integrating with our API using your favourite language via one of our SDKs.

We also improved stability, performance and security of the editing interface (affected components: boolean widget, URL widget, space templates, content type deletion and our internal logging mechanism).

Fix to usage_consumer not properly tracking usage

Content Management API

Fixed an issue where deleting content would not reflect changes on usage limits, resulting in some spaces incorrectly reaching their space quota.

Editing Interfaces release, bug fixes: multiple assets, Ooyala/Kaltura, entries revert, "new" core widgets written on the Widgets SDK

Web App

This release contains several minor UI enhancements and bug fixes, including:

  • The Entry Editor now properly handles situations where fields have incompatible widgets assigned to to a field
  • Fixed an issue with the Ooyala and Kaltura widgets that would invalidate Content Types
  • Fixed an issue that prevented the option to upload multiple assets at once to show up in the Web Application
  • Fixed an issue that prevented entries to be reverted multiple times to their published state
  • Fixed minor issue with the height of textarea elements

Content API 3.0.0: Editing Interfaces release

Content Management API
Web App

This release enables programmatic configuration of fields appearance settings via the Content Management API. To learn more about how to use the Editor Interfaces please read our developer documentation.

New Onboarding flow, UI bug fixes, minor RnP bug fixes, email confirmation modal

Web App

This release contains several minor UI enhancements and bug fixes, including:

  • Introduction of an updated onboarding flow
  • Fixed an issue with the email confirmation window triggering twice
  • Fixed an issue with asset deletion in the Web Application
  • Fixed issue with the spinner in the locales list
  • Updated our Google Maps library to the latest stable version
  • Fixed a couple of UI issues with custom Roles and Permissions configurations

Webhook view, Editing Interfaces, Onboarding, Confirmation

Web App

This release contains the following UI enhancements and bug fixes:

  • Improved the mechanism that syncs Content Type Fields with their Field Appearance settings to avoid data corruption
  • Improved stability for Content Type save operations
  • New dialog to allow users to resend email invitation
  • Fixed a minor issue after uploading assets that would trigger the cropping functionality by default
  • Updated UI for the Webhooks Admin Panel

Collection of minor UI bug fixes

Web App

This release contains several minor UI enhancements and bug fixes, including:

  • Empty entries and asset lists now allow users to see archived entries
  • Prevent rare crashes when changing the space from the Entry Editor
  • After reaching the allowed user quota the UI now properly disables action buttons
  • The order in which users are presented in the Users section is now preserved between sessions
  • Fixed issue with hint labels not properly being shown inside the Roles Editor panel
  • Locale selections inside the Entry Editor are preserved per space and persist even after changing spaces
  • Exceeding the allowed usage limits no longer crashes the UI
  • Improved autocompletion for entry editor widgets, now it triggers automatically when typing
  • Error messages no longer show in the background when using space templates
  • Modal windows are now properly closed when navigating to another window
  • Author names in entries and assets list are now properly displayed after switching spaces

API 2.8.0 - PG, RnP, negative query params, AccessDenied

Content Preview API
Content Delivery API
Content Management API

The responses of the Content Management API are now properly differentiating between content not found errors and access denied errors.

The Content Delivery API is additionally now returning an InvalidQuery error (instead of a BadRequest error) if negative values are used for query params that expect numbers (limit, skip and include).

Hotfix for old editor interfaces being rejected by the API

Content Management API
Web App

This release fixes an issue where appearance settings that were valid were being rejected by our API with a validation error. Effects were limited to Content Types created during a specific date range, but if you've had an issue updating an older Content Type in the last few days it should now be resolved.

Hotfix for Entry Editor broken due to old Content Type data

Web App

This hotfix release solves an issue that caused the Entry Editor to crash for old and inconsistent Content Type data.

Improved validation of content types

Content Management API

This release improves the validation errors when creating or updating Content Types via the Content Management API.

Minor UI bug fixes: reference lists and MD editor

Web App

This minor UI release contains fixes for the following issues:

  • Contextual menu not rendering in the right location when adding new referenced entries
  • Truncated text in reference entries lists blocking the “remove entry” icon
  • Markdown editor not properly reverting changes
  • Markdown editor not properly remembering the state of previewed content in Zen mode
  • Markdown editor not properly rendering Zen mode

Fix for `null` body issue

Content Preview API
Content Management API

This release includes a fix for the Content Management API where certain invalid request payloads when creating entries would result in an InternalServerError instead of a more descriptive error such as BadRequestError or ValidationError.

This release also fixes an issue where archived items were erroneously included in Preview API responses.

Strictly validate content type drafts

Content Management API

This release changes the validation of draft Content Types. Previously, the Content Management API would allow creation of draft Content Types that could never be published. This allowed for certain sequences of API calls that would cause a Content Type to become permanently unpublishable. Now, our API will reject any draft updates that would not be valid for publishing.

UI Fixes: Paywall, GK checkboxes, Kaltura, Entries list, entry editor text truncation

Web App

This minor release introduces bug fixes for the user interface, including:

  • Fixed an issue filling title fields inside the entry editor after opening new tabs
  • Fixed an issue when rendering checkboxes inside the account settings panel
  • Improved loading mechanism for the Kaltura integration
  • Fixed an issue where pressing the "enter" key would exit the Content Type Editor creation modal window
  • Fixed an error with the "Content Type" column not being shown by default on the entries list
  • Fixed an error with the entry editor not properly truncating long titles for reference fields
  • Fixed an error with disabled entries still allowing users to select actions from the action dropdown menu
  • Fixed an issue when adding new long-text list fields to a Content Type using the Web Application

Fix permissions checks on editor interfaces

Content Management API
Content Preview API
Content Delivery API

This release fixes the permission checks for updating appearance settings. Previously these settings could only be updated by an administrator, now any user with access to a Content Type can also update it's appearance settings.

UI Fixes: Onboarding role selection, improved user tracking, set ContentType ID, Ooyala widget bug, and minor fixes

Web App

This update brings a few bug fixes and improvements to the user interface:

  • It is now possible to manually set the Content Type ID property using the UI
  • Improved onboarding flow to capture users roles
  • Added "English for European(en-eu)" locale option
  • Fixed an issue with Ooyala videos not displaying their correct length
  • Minor bug fixes for entry validations in Firefox
  • Minor bug fixes when creating new custom views for lists IE 11

Fix for leaking field ID's in content type validation errors

Content Management API

This change fixes a bug where an internal representation of Content Types could be returned to a client as part of a validation error.

Ordering and filtering localized values fixes

Content Delivery API

This release fixes two bugs when querying localized content.

When specifying both an alternate locale and an order parameter with no locale path segement (e.g. fields.startTime instead of fields.startTime.fr-CA), the entries were ordered ordered by default value instead of the localized value.

A similar issue could be triggered when filtering using a deep path (e.g. fields.channels.sys.id) and an alternate locale.

Both query operators now respect the locale defined by the locale parameter when applying the filter or order.

New sidebar and workbench layout for the UI, plus bug fixes

Web App

This release introduces a big overhaul to our user interface by adding a new sidebar for the entries and assets editing interfaces, which allows users to:

  • Easily manage the status of their content
  • Easily manage multiple locales
  • Create new entries of the same type without leaving the entry editor
  • Make better use of the screen space

The sidebar also lays out the UI framework for new upcoming features currently in the pipeline.

This release also includes fixes for the following bugs:

  • Error with failing to finish the space template creation process
  • Issues with range validations on date fields
  • Issues with the UI failing to recover when receiving malformed entries
  • Improved notifications for errors caused by fields with invalid name length
  • Issues with searching assets inside the Markdown editor
  • Broken documentation links
Web App

This minor UI update addresses the following issues:

  • Removed unused assets and navigation bar items
  • Fixed Markdown syntax help link inside the Markdown editor
  • Removed screen "flickering" when loading an empty entry list
  • Updated Filepicker library v2
  • Removed meaningless error messages when creating new space templates

Fix apiName leak & leak of disabled locales

Content Management API
Content Preview API
Content Delivery API

This release fixes several small issues:

  1. Error details could occasionally show an unusable internal ID.
  2. The /spaces/{id}/locales endpoint of the Delivery API would include disabled locales in it's response.
  3. Querying entries of a content type without fields no longer causes errors.
  4. Queries for assets or content types which use the content_type query parameter is now return an InvalidQuery error.
  5. Queries using the near operator on non location fields are now causing an InvalidQuery error with additional information instead of a more generic BadRequest error.

New modal dialog styles, preserving list state

Web App

Today we have released batch of changes to our UI application. There are two changes of significant size:

  • all modal dialog windows use new, more unified styles
  • filtering on Content Type, Entry and Asset list is now preserved while navigating around the application

Besides of that, we have introduced some improvements and optimizations to our codebase. These shouldn't be noticeable by end-users.

Fix issue with EditorInterface configuration not being cleaned up

Content Management API
Web App

This change fixes an issue where deleting a content type would not delete the associated appearance settings. This only affected users who were deleting and re-creating content types with a specific ID.

Migration of the Markdown widget

Web App

We deployed batch of changes to our web interface:

  • removal of unused, legacy Asset widgets
  • new styles in Settings section
  • new styles for block buttons

The most important change is migration from the old Markdown editor widget to the new one. All fields using both old and new appearance setting will behave exactly the same from now on.

Please refer to our Markdown documentation for more details.

Fixed handling of requests with non-object bodies

Content Management API

Improved the error messaging when trying to create an entry with a non-object body

Fix of asset publishing without file fields

Content Management API

This release fixes a problem with publishing assets that don't have file fields. The server is now correctly returning a validation error.

Button Spinners, Character Count, Youtube Widget

Web App

In this release we have made improvements to UI interactions and editing widgets.

  • The Youtube widget has been replaced by the URL widget. The URL widget has the same capabilities but also allows preview of other content.

  • The Radio widget for Boolean fields no allows you to set the label for true and false values.

  • The Single Line widget for Text fields now features a character count. If length validations are applied to the field these are also presented to the editor.

  • Buttons will now show a spinning indicator while their action is in progress.

  • Notifications have been moved to the right as to not cover the breadcrumbs. They can also be closed by clicking any part of the notification.

New Markdown Editor (Beta)

Web App

We are happy to announce the Beta release of our brand new Markdown editor, which brings the following fixes and improvements:

  • Faster performance and beautiful new design
  • Real-time syntax highlighting
  • Advanced text editing tools
  • Support for the extended GitHub flavored Markdown specification
  • Support for Markdown tables
  • Ability to embed social media elements
  • Ability to render safe HTML elements
  • Ability to use the editor in full-screen "Zen" mode with live preview

To try it out, please update your content type to use the “New Markdown editor” field appearance on long-text fields. You can freely switch back and forth between the old and the new Markdown editor.

Fix sorting of entries and misleading API error

Web App
Content Management API
Content Delivery API
Content Preview API

This release fixes an issue where sorting entries in the Contentful UI would not work if the default locale had been renamed.

There has also been a correction to the error response when an API client attempts to sort assets by their title or description. Previously the API would tell you that you needed to provide the content_type parameter, which was wrong because assets do not belong to a content type. Now the error correctly states that you cannot order by the title or description because they are Text fields, which do not support sorting.

Support specifying locale in filter & order fields after locales are renamed

Content Management API
Content Delivery API
Content Preview API

This release fixes an issue where query parameter filters that included a locale part (such as fields.myLocalizedField.de-DE=Hallo) would no longer work if the locale they referred to was renamed from a different locale code. The same issue applied to order parameters that specified a locale. E.g. if you wanted to order entries by a locale other than the one specified in the locale query parameter.

Improved “Unsaved changes” dialog and notification messages

Web App
  • Show a save button when trying to leave a page with unsaved changes
  • Truncate overly long notification messages

Added support for wildcard locale to Content Delivery API

Content Delivery API
Content Preview API

This release introduces a new capability to our Content Delivery API: wildcard locales.

The API already supported a locale query parameter that would allow you to retrieve your translated content in different locales (e.g. locale=fr-FR). Now you can specify locale=* to retrieve content in all locales at once, the same as what you would receive from our Sync API. Note that when using the wildcard locale sys.locale will not be set.

New notification design, duplicated content types, validation error bugfixes

Web App
  • Beautiful new UI notifications
  • Fixed issue of spaces duplicating content types
  • Fixed validation issues with location widget when creating new entries

UI Fixes: styling, search by ID, Angular 1.4

Web App

-Updated dropdown styles
-Ability to search entries by ID
-Update Angular to 1.4 -Disabling action buttons while actions are taking place

Fix for filtering assets & entries after a locale has been renamed

Content Management API
Content Preview API
Content Delivery API
Web App

This change fixes issues when filtering entries & assets by a specific field after a locale had been renamed. A query that filtered by a specific field & locale (e.g. entries?fields.title.en-US[match]=title) would fail if that locale had been renamed. Queries specify a field but no locale use the default locale, and therefore would fail if the default locale was renamed.

Fixed filtering of asset searches by MIME-type

Content Management API
Content Preview API
Content Delivery API

This release fixes an issue that made it impossible to filter assets by the MIME-type of their file after renaming a locale. This bug only occured when trying to filter in the same locale that was renamed.

Fixed bug with usage calculation

Content Delivery API

This release fixes a bug in our usage calculation. Requests with paths that contained double slashes (e.g. GET //spaces/example/entries) were not being counted. Customers who were making such requests will see an increase in their API usage.

Reduced Webhook Timeout

Content Delivery API

Webhook requests performed by our infrastructure have had their timeout lowered from 60 seconds to 30 seconds. This should not affect any existing webhooks.

If you need to perform more than 30 seconds of computation in response to a webhook request we recommend that you persist the webhook payload and respond with 200 before performing the larger computation offline.

Fixed locale codes for webhook payloads

Content Delivery API

Fixed a bug where webhook payloads would contain outdated locale codes in spaces where a locale had been renamed.

Web App
  • Old draft Content Types can be saved and deleted more easily
  • Fixed various styling issues with tooltips
  • Added more locales and reordered the list
  • Fix an issue where the search menu in the Entry List was hidden under some circumstances

Fix for wrong locale scope

Inside your locale settings you can disable locales for publishing and/or editing content. Once publishing is disabled, the currently published content for that locale is no longer available in the Content Delivery API. When you turn off editing content on the other hand, the User Interface will no longer allow you to edit or read the values for that locale.

This release fixes an issue with locales with locales for which editing of content was disabled. Once turned off, the Content Delivery API used to no longer return the localized values but the values of the default locale.

Locale management

Content Management API
Content Preview API
Content Delivery API
Web App

We rolled out a new feature to the User Interface and the APIs, which enables you to better manage your locales. In detail, you can now change the locale code of existing locales as well as delete locales.

The API documentation for this feature can be found in our developers section.

We hope you'll like it!

Fixed bug in include query string parameter

Content Management API
Content Preview API
Content Delivery API

The API will now return one level of linked entries if the include query string parameter is omitted. This fixes the previous behavior where the maximum level of links was returned if there was no include parameter.

Web App
  • It is now possible to insert external links using the markdown editor toolbar
  • Markdown editor displays word and character counts, as well as content-length validation settings
  • Image dimensions are now displayed on the media library
  • New field options: set as title, disable and delete when the content-type has no associated entries (previously labeled "deactivated" mode)
  • Improved button and contextual menus styling
  • Updated links to the mobile discovery apps

Localized fields fix and textfields expansion

Web App
  • Fixes issue with fields not being localizable
  • Fixes an issue with text fields in the entry editor not automatically expanding.

New Content Type editing user interface

Web App

New Content Type editing user interface

  • Streamlined workflow to create and configure content types
  • Ability to configure field types’ appearance
  • Ability to preview content types JSON structure
  • Improved first-time user workflow
  • Improved visual design

User interface bugfixes

Web App
  • Entry card truncation fix
  • Upgrade button now works in the account section
  • Improved error notifications

New API Console, bugfixes

Web App
  • Small bug fixes
  • New API Console link
  • Fix a bug with multiple dropdowns on the same entry
Web App
  • Fixed some issues with breadcrumbs presentation and behavior
  • Fixed an issue with the add field dropdown

Fix of the OP compressor

Content Management API
Web App

This release fixes the handling of large entries which under certain circumstances were not instantly saved.

Markdown preview styles

Web App

The Markdown preview in the Entry Editor now has styles for lists. We also changed some spacings to improve readability and consistency.

Improve boot process and fix space advice

Web App
  • The app now shows a boot message until all initial data is loaded.
  • In the accounts settings we removed the advice overlay that informed you to create spaces.

Account menu, date rendering fixes

Web App
  • Fix an issue with the account menu not being clickable when no spaces exist
  • Fix the rendering of certain dates on the entries list

Space selector bugfixes

Web App
  • Remember the current organization when switching to the account settings area
  • Fix text wrapping issues
Web App
  • Some styling fixes for the new navigation
  • Make items in lists behave like proper hyperlinks, allowing opening in a new tab or window
  • Fix issue where widgets like the datepicker would get focused when used for the first field
  • Fix issue where the navigation bar links wouldn't be updated when switching space.

New navigation and changes to the content type editor

Web App
  • New breadcrumb based navigation
  • Removal of auto saving and collaboration functionality from the Content Type Editor

Clarified linkMimetypeGroup validation error message

Content Management API

The error message "Link must point to an Asset with the mimetype image, plaintext" was reworded to "Link must point to an allowed file type (image, plaintext)".

Kaltura category id, error improvement

Web App

Allow Kaltura integration to use a category id. Improve error reporting.

Validations, Space Template fixes, other bug fixes

Web App
  • Fixes an issue where badly formed entries created via the API would prevent editing them in the UI
  • Fixes an issue where images that can't be cropped for previewing would still be displayed
  • Adds support to validate the number of Entries, Assets, or Symbols in a List.
  • Adds support for date, file size, and image dimension validations
  • Adds support for multiple file type validation.
  • Content Type editors can now provide custom error messages for all enabled validations.

Asset validations (size and dimensions), removal of mime type checks

Content Management API

This release is all about validations. First of all we removed the validation of the assets' contentType property as it caused more problems than good. Second we added a section about validation handling via the Content Management API to the documentation. Last but not least you can now validate an asset's file size as well as the dimensions of the document. You will be able to use those new validations in the UI soon.

Empty content_type param

Content Delivery API
Content Preview API
Content Management API

Requests with an empty content type parameter are now correctly resulting in a BadRequest error. It used to return a ServerError. An example for such a request is:

/spaces/<spaceId>/entries?access_token=<token>&content_type=

Content Management API

The X-Contentful-Request-Id response header is now returned on every api request.

Web App

This release changes the behavior of the Entry editor.

When working with arrays of Entries or Assets, removing the last Entry/Asset would set the value for the field to null. Now it's an empty array instead.

Web App
  • New validation dialog
  • Restore the search results number for the entry list
  • Fix Kaltura/Ooyala widget so that the empty string is replaced with null when removing the video id

Content Management API
Content Delivery API
Content Preview API

This releases improves the notResolvable error, which gets thrown when you try to publish entries with links to not yet published entries. Where it previously only told you about the fact that there have been unresolved links, it will now also tell you about where this problem occurred. You can find this information in the path property.

Web App

This release fixes the image editor, the video widgets help text position and some other internal issues.

Web App

This release

  • fixes an issue that prevented the app from loading when logging in with certain versions of Safari.
  • fixes an issue that prevented changes to the views sidebar in the list of entries/assets to be saved to the server

Content Management API
Web App

Today we rolled out an update which will compress a document once it has been modified more than 20,000 times. This shrink process modifies only the way document is stored internally – its content stays intact.

We took care that compression happens only when the document is not being actively edited. However, in some cases compression might begin when the document is open in the web interface. Should this happen, please reload the application in the browser in order to go back to a normal state.

Web App

This release fixes a problem with indenting multiple lines in the markdown editor.

Web App

Copy updates, renaming of the Preview Widget to URL Widget.

Web App

This release fixes an issue that prevented new users from being able to create an empty space. It also fixes an issue with the Ooyala video service integration.

Content Preview API
Content Management API
Content Delivery API

This release fixes a bug when handling assets with empty localized values. It is now possible again to create assets that have locales set to null as well reading those assets and entries that reference them.

Web App

User interface bugfixes. We now also show the space creation window when a new user signs up for the first time.

Web App

This release fixes various bugs in the user interface and adds a new widget for previewing external urls.

Content Management API

This release improves the server response when updating/publishing entries which contains many links. Entries with too many links was previously resulting in an unfriendly error message. The message is now containing further information.

Web App

This release adds Space Templates, which are shown to a user when they create a new space, providing them a way to get started quickly.

Content Management API
Web App

This release adds the mime types image/svg+xml and audio/mp3 to the validation library, which makes it possible to correctly upload SVG and MP3 files.

It also fixes an issue in the UI where there would be a delay in displaying image previews on some situations.

We've also removed the tutorial for the UI as it is outdated and will be replaced by something else soon.

Content Management API

This release prevents an issue where image asset files created with an invalid mime type could not be properly processed or displayed. Now the Content Management API will return a validation error when you attempt to process an asset file where the file.{locale}.contentType property is not a valid mime type. This validation error also includes a list of the allowed mime types.

Content Preview API

This release ships a fix for the Content Preview API which used to fail when requests against invalid assets were made. This release also fixes requests for entries which are linked to invalid assets.

Content Delivery API

This release fixes an issue with queries against the CDA that contains include=0. A bug was previously recursively resolving all the links for all referenced entries. Such requests are now correctly returning no includes.

Content Management API

This release fixes an issue with publishing entries containing large numbers of links. Each entry can contain a maximum of 1000 links, but our validation code was erroneously counting links recursively, causing valid entries to be rejected. The validation now correctly counts only the links within the entry itself.

Content Management API

This release fixed error messages coming from the CMA when attempting to create/update certain kinds of invalid Content Types and Entries. For example: creating a content type with a displayField property that references a non-existent field would expose internal information that was not useful to end users. The returned error now contains the correct field ID's.

We have also corrected an error message encountered when creating invalid entries to consistently refer to field ID's as id and not apiName.

Content Delivery API
Content Management API

The Management and Delivery APIs are now validating filters and ordering in queries. When a query is invalid the response contains a list of errors.

  • Ordering: When ordering by a field that doesn't exist or can't be ordered there will be an error. For example, here sys is not sortable because it's of type Object: https://cdn.contentful.com/spaces/cfexampleapi/entries?order=sys&access_token=b4c0n73n7fu1
  • Filtering: When filtering by a field that doesn't exist or using a filter that doesn't apply to the field's type there will be an error. For example, here a full-text search on name is impossible because it's of type Symbol: https://cdn.contentful.com/spaces/cfexampleapi/content_types?name[match]=bacon&access_token=b4c0n73n7fu1

Content Delivery API
Content Management API

HTTP Content-Types for the Management and Delivery APIs have changed:

  • For the Content Delivery API, use application/vnd.contentful.delivery.v1+json
  • For the Content Management API, use application/vnd.contentful.management.v1+json

Please use these content types as Accept and Content-Type header values in HTTP requests.

Libraries have been updated accordingly: