cs-icon.svg

Product changelog

Stay up-to-date with all the improvements, features, and changes introduced to the product, APIs, docs, and other resources.
No results found!
  • Quick “Actions” for items on list pages

    May 26, 2023

    Contentstack App

    We’re excited to introduce a new “actions” shortcut for all items on list pages of entries, assets, and content models. Users can access these quick actions by hovering over any item on the list page, and then clicking the vertical ellipsis icon under the Actions column.

    This gives users a quick and easy way to perform common actions such as edit, copy, publish, export, and more in just a few clicks.

    Expand
  • Contentstack AI Assistant: May Release Highlights

    May 26, 2023

    Marketplace AppsContentstack App

    We're thrilled to share the newest improvements to Contentstack's AI Assistant, a tool we've developed in partnership with OpenAI's ChatGPT. Based on feedback from our Early Access Program participants, we've made several updates that keep us focused on our mission: making creating content faster, simpler, and more tailored to your brand.

    Don’t have the AI Assistant app yet?

    The Contentstack AI Assistant is available at no extra cost for our customers. If you’d like to join our Early Access Program, you can fill out this form to sign up. After agreeing to some additional terms, we'll send you a link to install the app.

    Update for the latest features

    If you're already using the app, update it to get the latest features. Here’s how: Go to Marketplace, select manage your installed apps, click on AI Assistant, and click the update icon.

    AI Assistant: May Release Highlights

    New Features

    JSON Rich Text Editor Integration

    To further enhance its functionality, the AI Assistant can now operate within the JSON Rich Text Editor. This means when you type into ChatGPT inside the JSON editor, the AI Assistant will turn JSON data into HTML text and use it to prompt a response from ChatGPT.

    AI Assistant: May Release Highlights

    To maintain the formatting and structure of your content, the AI Assistant now asks ChatGPT to retain the HTML tags in its response. When it keeps the formatting (in specific prompts, it will not be maintained), the HTML in ChatGPT's response is converted back into JSON values, preserving the design of the original content.

    ChatGPT Version Selection

    You now have the choice between ChatGPT-3.5 Turbo and the more advanced (but slower) ChatGPT-4 in the app configuration screen. This gives you the flexibility to choose the model that best suits your needs, as long as your account has ChatGPT-4 API access enabled.

    These updates are now live for those signed up for Contentstack's Early Access technology program. We appreciate all feedback as it helps us continuously improve our product to better serve your needs. Stay tuned for more as we continue to build more AI and automation capabilities into the Contentstack platform.

    Expand
  • New Marketplace App: Brightcove

    May 23, 2023

    Contentstack AppMarketplace Apps

    The new Brightcove app allows content managers to fetch, view, and manage videos within your Contentstack entries. It enables users to select multiple videos from your Brightcove account and add them to the Custom Field or JSON Rich Text Editor fields in Contentstack.

    This helps content managers stream videos, enable easy access to video content across multiple platforms, and organize video assets efficiently.

    Brightcove-GIF.gif

    To learn more about how to use the Brightcove app, refer to the Brightcove App Installation Guide.

    Expand
  • Enhancements to AI Assistant | 16 May 2023

    May 16, 2023

    APIsContentstack App

    Regions in which changes were made: AWS North America, AWS Europe, and Azure North America

    Enhancements:

    • For AI Assistant: Added the necessary support to work on JSON RTE
  • Announcing the General Availability of Contentstack Launch

    May 15, 2023

    Contentstack AppLaunch

    We are excited to announce the general availability of Contentstack Launch, a headless hosting solution that allows CMS customers to deploy and host front-end sites and middleware applications in the framework of their choice. With Launch, Contentstack provides enterprises with the first fully composable, fully automated, digital experience stack from front-end to back-end.

    Launch makes it easy to connect stacks to code and deploy your starter stacks and front-end apps within minutes.

    Some highlights for the release include:

    • Quickstart guides using NextJS and Gatsby to kickstart your Launch projects.
    • The GitHub and File Upload approaches to create projects in Launch.
    • Detailed guides for all the features of Launch.
    • How-to guides for Launch.
    • CLI support for Launch.
    Launch - Projects Landing Page

    We’re thrilled to be able to offer Contentstack Launch to all of our customers and look forward to seeing all the ways in which it will be used to host and deploy projects.

    Learn more about Contentstack Launch.

    If you have any questions or need more information, please contact our Customer Support team.

    Expand
  • Introducing Trados Marketplace App

    May 15, 2023

    Contentstack AppMarketplace Apps

    We’re excited to announce the release of the new Trados app, now available in our Marketplace. The app allows you to translate your Releases content and provide localized versions into multiple languages. The Trados app Dashboard Widget creates projects for language translations and displays the translation status of your projects. This enables a smooth translation process and aids content managers in managing and streamlining their translation projects while providing correct and consistent translations of information in all languages.

    Trados-GIF.gif

    For more information, refer to the Trados Board App Installation Guide.

    Expand
  • Experience Tailored Previews with Contentstack's Locale-based Live Preview

    May 15, 2023

    Contentstack App

    Contentstack is excited to announce an enhancement to our Live Preview feature: Locale-based Live Preview. With this upgrade, you can now view your content in a locale-based preview environment.

    Setting up Locale-based Live Preview is easy. Just define a preview environment when setting up Live Preview for your stack, and all your locale-based content will appear in the Live Preview panel at the base URLs specified for each locale under the set preview environment. Switching between locales is effortless, making it a breeze to preview content for different languages.


    Locale based Live Preview What

    For more information on how to use Locale-based Live Preview, check out our Live Preview documentation.


    Expand
  • Improvements to JSON RTE, HTML RTE, and the Live Preview UI | 11 May 2023

    May 11, 2023

    Contentstack App

    Regions in which changes were made: AWS North America, AWS Europe, and Azure North America

    Enhancements:

    • Updates to Live Preview
      • Released locale-based Live Preview that allows users to preview content according to the entry's locales
      • Added the provision to allows users to position the Live Preview "Edit" button
      • Added the provision to allow editing of Live Preview URL input field

    Bug fixes:

    • Fixed border issues for tables in JSON RTE
    • Fixed the field disappearing issue encountered when text alignment of any cell was changed within a table in the HTML RTE field
    • Fixed the rendering of the <wbr> tag in the normal view of HTML RTE field
    Expand
  • Introducing Bulk Operations Marketplace App

    May 10, 2023

    Contentstack AppMarketplace Apps

    We're excited to introduce the latest Marketplace app, Bulk Operations, which enables content managers to streamline their work and perform operations to content in bulk with just a few clicks.

    With the Bulk Operations app, content managers can easily identify and replace content across many entries, then publish them all at once, making it simple to fix spelling mistakes, update outdated material, or make changes across large volumes of content, all in one go.

    Bulk-Operations GIF.gif

    To learn more about how to use the Bulk Operations app to increase productivity for your team, refer to the Bulk Operations App Installation Guide.

    Expand
  • Contentstack Pulse: What’s new and what’s in store for Contentstack Launch

    May 09, 2023

    Launch

    Are you a developer looking for the latest data on Contentstack’s front-end hosting solution? Then look no further. Contentstack Launch has officially entered its first quarter since announcing our product, which is now in general availability, and we’ve earned a wealth of knowledge and cultivated relationships along the way. 

    In this blog post, we’ll take an in-depth look at our successes over Q1, provide insights into how it all came to be and what users can expect from us moving forward. We pride ourselves on continuously innovating our products so that anyone using the platform can benefit right away with maximum efficiency. Let’s explore together!

    Expand
  • Introducing Workflow Board Marketplace App

    May 08, 2023

    Contentstack AppMarketplace Apps

    We’re excited to announce the release of the new Workflow Board app, now available in our marketplace. This app enables content managers to view their workflows in a Kanban format, displaying workflow stages and tasks in an intuitive, easy-to-use interface.

    In your Contentstack environment, this Full Page UI Location app allows users to easily drag and drop tasks from one stage to another, search for workflows and entries, and sort them using various filters. This provides greater visibility into the status of workflows, aiding in work planning, time estimation, and increasing productivity and efficiency.

    Once installed, the Workflow Board app appears in the left navigation panel of your stack, providing you easy access.

    Workflow-Board GIF.gif

    For more information, refer to the Workflow Board App Installation Guide.

    Expand
  • Contentstack Pulse spring recap: What's new and what's coming for Contentstack

    May 05, 2023

    Contentstack AppAPIsDocs & TutorialsSDKs and toolsLaunchMarketplace AppsAutomation Hub

    Welcome to Contentstack Pulse, your go-to source for the latest news on platform enhancements, roadmap updates and answers to frequently asked questions. Our mission is to keep you up-to-date on all the exciting developments at Contentstack and with our platform. Each month, we'll share the latest platform news to help you streamline your user experience. And every quarter, we'll offer a recap of everything that's happened, so you never miss a beat. Whether you're an existing customer or just curious to learn more about what we do, Contentstack Pulse has got you covered. Click here to learn more!

    Expand
  • CLI Version 1.6.0 - Release date: May 4, 2023

    May 04, 2023

    CLI

    Enhancements:

    Documentation Updates:

  • CLI Version 1.5.2 - Release date: Apr 25, 2023

    Apr 25, 2023

    CLI

    Enhancements:

    • Added OAuth support in CLI

    Bug Fixes:

    • Resolved - Confirm the expected Stack Clone behavior

    Documentation Updates:

  • Automation Hub: April Highlights

    Apr 25, 2023

    Contentstack AppAutomation Hub

    We’re happy to announce some exciting new updates for Automation Hub in the month of April!

    Repeat Paths

    Repeat Paths allows users to loop over a set of instructions based on specific criteria like a date range or a numerical input, enabling them to automate repetitive tasks for large and complex data sets.

    Learn more about Repeat Paths.

    Repeat-Path

    New Connector: Code Block

    This new connector enables users to input limited JavaScript into their automation steps, allowing them to perform various functions, like clean up text or check between different field values. Ultimately, it provides greater flexibility and customization for users to automate complex workflows that were previously difficult to achieve without coding.

    Code-Block Connector

    Learn more about the Code Block connector in our documentation.

    New action in Data Store connector: Append Data

    Previously, the Data Store connector could Set and Get Data on different levels (i.e. Automation, Organization, and Execution Levels) but it could not append the data in an array or create a new collection of objects. This option is now available with the Append Data action.

    Append-Action

    Learn more about the new Data Store action in our documentation.

    Project Delete

    With Project Delete, users are now able to delete a project, its automations, and any of its connected apps in an organization.

    Other improvements

    • Project Search allows users to search all projects within an organization.
    • The Constructor connector now allows you to select the Index Section present in the Constructor Dashboard and send an Email to a specific person in the event the index update fails.
    Expand
  • Introducing Release Preview Marketplace App

    Apr 17, 2023

    Contentstack AppMarketplace Apps

    The new ‘Release Preview’ app allows you to see the upcoming content releases in a calendar format, preview web pages before a scheduled release, compare with existing content, and view release details that are added to a release with their specific titles, content types, and versions within your environment. It helps content editors get better control and visibility over future releases. This Full Page UI Location app, once installed, appears on the left navigation panel of your stack.

    Release Preview What

    For more information, refer to the Release Preview App Installation Guide.

    Expand
  • Introducing Full Page UI Location

    Apr 14, 2023

    Contentstack App

    Introducing Full Page UI location—a new addition to our artillery of App Framework UI locations. In fact, this one is amongst the most versatile UI locations, as it allows developers to create custom apps that function as separate, independent pages or modules (unlike other UI locations that are restricted to and are part of other modules).

    Once a new app is created, it will appear on the main left navigation bar of the Contentstack app, making it easy to access again.

    full_page_ui_location

    Note: For more information on this UI location, refer to the Full Page Location documentation.

    Expand
  • Introducing Interstack Reference Marketplace App

    Apr 14, 2023

    Contentstack AppMarketplace Apps

    Introducing a new app—Interstack Reference—that solves a complex problem for developers. It allows developers to add references to content types of other stacks within the same organization, without leaving the current stack. This opens up new possibilities for developers by ensuring availability of content across the entire enterprise, and saves a lot of time for content managers by reducing manual maintenance of managing duplicate data.

    interstack_reference_field

    Read the installation guide to learn more and use the app.

    Expand
  • Introducing Field Modifier UI Location

    Apr 14, 2023

    Contentstack App

    We’ve added support for another UI location—Field Modifier—to our App Framework.

    Using this type of UI location, developers can create apps that let them add custom functionalities to the entry fields, allowing content managers to do a lot more with their content.

    While the possibilities are endless, some common use cases include adding AI capabilities to text fields, adding conversion capabilities to number fields, and so on.

    You can use Field Modifier for various fields (such as Title, URL, Single Line Textbox, Multi-Line Textbox, HTML-based Rich Text Editor, JSON Rich Text Editor, Markdown, Select, Number, Boolean, Date, File, Reference, and Custom fields).

    field_modifier_ui_location

    Note: For more information on this UI location, refer to the Field Modifier Location documentation.

    Expand
  • Freeze Columns, Add/Remove Columns, and More

    Apr 14, 2023

    Contentstack App

    We’re happy to announce some exciting new capabilities for content editors to customize their view of Entries or Assets.

    Freeze columns:

    Users can now freeze up to two columns on the Entries list page (not yet available on the Assets list page), it easier to pin the data you want to the left, while scrolling over to view the rest of the columns.

    lock_columns

    Remove column (up to two columns):

    With this update, it is now possible for users to remove any column from the view (including the Title field). Note that at least two columns must be visible.

    add_remove_columns_in_assets

    View options moved to ‘Table Settings’:

    All settings that allow you to customize your Entries and Assets view, like “Change table view” and “Add or remove columns”, have been moved to “Table Settings”, found by accessing the gear icon at the top-right of the table view.

    Expand
  • Introducing User Provisioning with Okta

    Apr 14, 2023

    Contentstack App

    We're excited to announce that Contentstack now supports SCIM provisioning with Okta as well. With this, you can now leverage your Okta IdP to efficiently manage users and groups within your Contentstack organization.

    For more information, refer to our Set Up SCIM Provisioning with Okta document.

  • Enhanced Experience for SSR Websites in Live Preview

    Mar 31, 2023

    Contentstack App

    We're excited to announce an improved user experience for Live Preview in Server Side Rendered (SSR) websites. With this enhancement, you can now view entry changes for your SSR websites in real-time (with enhanced JavaScript support) even for delayed scripts on your website.

    Note: This update does not have any impact on the fundamental working or mechanism of Live Preview.

    For more information on SSR, refer to Set up Live Preview for Your Website documentation.

    Expand
  • Automation Hub: March Highlights

    Mar 28, 2023

    Contentstack AppAutomation Hub

    We’re happy to announce some exciting new updates for Automation Hub in the month of March!

    New Connector: ChatGPT

    This new connector brings the power of artificial intelligence to Automation Hub. With this connector, users can use ChatGPT's features, including extracting metadata or keywords from text, optimizing search engine ranking, and producing article or text summaries. Integrating ChatGPT opens up fresh opportunities and enhances your content's overall quality.

    The ChatGPT connector currently has two action types: Chat and Prompt.

    • Chat: This action uses the gpt-3.5-turbo model to interact with ChatGPT.
    • Prompt: This allows you to use previous models, such as text-davinci-003, text-curie-001, or others in ChatGPT’s API.

    Learn more about the ChatGPT connector in our documentation.

    ChatGPT-Connector
    New modifiers for the Transform connector: Replace, Replace All, and Trim

    New modifiers have been added to the Transform connector to format or change text during automation.

    • Replace: This modifier allows you to replace the first occurrence of a character/word/string.
    • ReplaceAll: This modifier will replace all instances of a character/word/string.
    • Trim: This modifier will trim spaces from before and after a string

    Learn more about the new Transform modifiers in our documentation

    Other changes:

    • With the Data Store connector, you can store the data at the execution level, i.e., the data for an individual execution can be stored and fetched easily. This is useful when working with the Conditional Path. Read more here.
    • Email by Automation Hub connector now allows you to send up to 10,000 emails monthly in an organization.
    Expand
  • CLI Version 1.4.0 - Release date: Mar 27, 2023

    Mar 27, 2023

    CLI

    Enhancements:

    • Improved SDK usage in CLI through common SDK instance
    • Improved developer experience with PNPM
    • Improved command class and utilities class management SDK instance utilities
    • OCLIF core V2 upgrade in CLI and its plugins

    Vulnerability Fixes:

    • Vulnerability fixes for CLI - Tslib, Axios, dotenv package upgrade

    Bug Fixes:

    • Resolved - CLI Import: Custom name for a master language does not get imported
    • Resolved - CLI Import: Too many open files

    Documentation Updates:

    Expand
  • Introducing Enhancements To The Markdown Editor

    Mar 20, 2023

    Contentstack App

    We are delighted to inform you about the release of our newest version of the Markdown editor. This upgrade introduces more HTML and Markdown syntaxes, providing you with a broader array of choices to enhance your content. Whether you need to incorporate headings, tables, or comments, the improved Markdown editor makes it effortless and easy for you to achieve your goals.

    enhancements_to_the_markdown_editor

    Learn more about the Markdown editor through our documentation.

    Expand
  • Improved Collaboration with JSON RTE Comments

    Mar 20, 2023

    Contentstack App

    We are excited to announce the latest update to our JSON RTE Comments feature. You can now include comments for selected text within JSON RTEs, making it easier than ever to collaborate and discuss content with your team. To add a comment to a text, highlight it and click the "Add Comment" icon.

    In the Discussion tab, you will find all the JSON RTE comments as well as entry comments.

    Learn more about JSON RTE Comments through our documentation.

    Expand
  • Automation Hub: February Highlights

    Feb 28, 2023

    Contentstack AppAutomation Hub

    We’re happy to announce some exciting new updates for Automation Hub in the month of February!

    Project Sharing

    Project Sharing, the organization owner, organization admins, and the respective project owner can now invite various users to individual projects, facilitating collaboration.

    Previously, only owners/admins had the ability to access and modify all projects within Automation Hub. However, with the Project Sharing feature, members can also participate as contributors in the specific project(s) they were invited to by the owner and admins of the organization.

    Learn more about Project Sharing.

    Expand
  • Android SDK Version: 3.11.0 - Release Date: Feb 24, 2023

    Feb 24, 2023

    SDKs and tools

    New Features:

    String locale code support added for methods sync and syncLocale.

    Bug Fixes:

    None

  • Introducing JSON RTE Comments

    Feb 17, 2023

    Contentstack App

    Contentstack now lets you add Comments to content blocks and images within JSON RTEs. This feature lets you collaborate and efficiently initiate discussions around the content.

    You can view all JSON RTE comments under the Discussion tab along with entry comments.

    Refer to our documentation on JSON RTE Comments for more information.
    Inline comments.gif

    Expand
  • CLI Version 1.3.0 - Release date: Feb 15, 2023

    Feb 15, 2023

    CLI

    Features/Enhancements:

    • Upgraded OCLIF Core version to 1.21
    • Handled GitHub rate limit exceeded issue(429) for seed command on repeated seeding of GitHub repositories
    • Replaced HTTP calls with SDK calls for export-to-csv, seed, export, and import plugins
    • Introduced standard utility to create CMA object and imported this utility-based CMA object to perform CMA operations from import, export, export-to-csv commands

    Vulnerability Fixes:

    • Upgrade sinon from 11.1.2 to 15.0.1
    • Upgrade tslib from 1.14.1 to 2.4.1
    • Upgrade fs from 0.0.1-security to 0.0.2
    • Upgrade json5 vulnerability
    • Vulnerability fixes for @contentstack/cli-cm-regex-validate repository

    Bug Fixes:

    • Datasync does not update the entry payload if the referred assets are deleted and the entry is published again
    • Resolved the marketplace app’s configuration issues for the constructor.io app
    • Resolved CodeQL issues in the datasync-filesystem-SDK repository

    Documentation Updates:

    Expand
  • Java SDK Version: 1.11.0 - Release Date: Feb 09, 2023

    Feb 09, 2023

    SDKs and tools

    New Features:

    • Added the plugin support.

    Bug Fix:

    • #67 error handling infinite loop issue.

    Changes:

    • Breaking changes:
      • Enums PublishType changed from snake-case to CAPITAL.
    • General Improvements.

  • JavaScript Delivery SDK Version: 3.16.0 - Release Date: Feb 09, 2023

    Feb 09, 2023

    SDKs and tools
    New Features:
    • The plugin support is added, where users can create their own plugins and attach them to the stack instance.

  • Jan 20, 2023

    Contentstack App

    We have added some powerful enhancements to our search to make it more intuitive for you. Here’s a glance at what’s new:

    1. Adding support for stemming and word forms

      This means that if you, for example, search for “like”, it will fetch results that contain “likes”, “liked”, “liking”, and other words that share the same root. This helps you find what you are looking for, even when you don’t feed in the exact query.

    2. Making search accent insensitive

      You can now search content without using diacritics (or accents) and still find what you are looking for. So, for example, the search query “cafe” will fetch results that contain “cafe” and “café”.

    3. Ignoring stop words for more relevancy

      Our search algorithm now automatically ignores stop words (common articles, pronouns and prepositions such as “a”, “the”, “are”, “and” etc.) from your query to boost search relevancy.

    Expand
  • Introducing JSON RTE v2

    Jan 13, 2023

    APIs

    Post January 13, 2023, when updating the content of your JSON Rich Text Editor, you do NOT need to pass the "dirty":true attribute within the request body.

    Previously, when updating the content within the JSON Rich Text Editor, you had to pass the "dirty":true attribute within the request body to accommodate the changes introduced.

    With this improvement, if the user doesn't supply the "dirty" attribute, the API takes care of this on its own. However, even if the user passes the dirty attribute, the entry is not affected.

    Expand
  • Automation Hub January Release Highlights: Streamline your business processes with a new advanced user interface

    Jan 12, 2023

    Contentstack App

    The January release of Automation Hub is a game-changer. With a host of new features and improvements, this release will make it easier than ever to create and manage automated workflow processes to streamline your integrations and workflows.

    ah_new_ui

    What's new in this release:

    1. New actionable step outline tool

      This new outline will display the automation flow of steps, and a user can easily jump into any step and edit it just by clicking on the step within the step outline tool. The outline is a visual display of the full automation process and logic. This feature is designed to make it easy to build and maintain complex automations with ease.

      step_outline_tool

      In addition, the step outline now features a search capability that, as you’re typing a query, will automatically filter results to display the search term.

      search_steps
    2. Each step is displayed in a new, easy-to-read vertical display

      Next, after clicking on a step in the step outline, we have a step wizard on the right side of the page. This vertical step display provides easy visualization of the automation step setup. You can quickly view steps and related data and see previous steps and their configurations as needed. This feature makes it easy to understand how your automations are configured and how they fit together.

      vertical_step_display
    3. Introducing a powerful new feature: Conditional Paths

      A powerful new feature called Conditional Paths allows for if/else statement support. This enables you to create more complex business processes and logic. This feature allows you to create a multi-filtered query to target specific information. It supports OR and AND operators and has several different conditional checks like "matches," "is empty," and more. Each conditional path can have multiple statements to produce robust automations. This feature allows you to build automations that handle much more complex business processes.

      Learn more about Conditional Paths.

      conditional_paths
    4. Basic Information page provides an automation overview

      Finally, we've added a Basic Information page for each automation. This page will display an intro to the automaton, including the title, description, when it was created, and by whom. In the future, this page will incorporate additional information, such as the number of times the automation has run and if there have been errors, etc. This feature was designed to give you a quick overview of your automations and their history, making it easy to understand how they are being used and how they can be improved.

      basic_information

    In summary, the January release of Automation Hub is packed with new features that make it easier than ever to create and manage automated processes. As always, please let us know if you have any questions or need help with this new functionality.

    Expand
  • Your best work done in less time with the new entry editor

    Jan 04, 2023

    Contentstack App

    We have made some refreshing new visual updates to the entry editor experience, so content managers can work faster and with ease. Here is a rundown of what’s new:

    1. Prominent field blocks: The earlier formless editor gets a form-like design, with each field now more prominently displayed for better visual convenience for content managers.Entry Editor - What
    2. Smarter nested fields: Fields like “Group”, “Global”, and “Modular Blocks” — that can hold nested fields — now have color-coded icons and an easy way to collapse all child items. The nested fields also have color-coded icons so you can visually distinguish one from the other.Entry Editor - What
    3. Flexible custom fields: Custom fields are enclosed in accordions, so you can expand/collapse them as required.Entry Editor - What

    This is the first of many new updates planned for making entry editor much more efficient and elegant. so, stay tuned updates.

    Expand
  • Announcing the General Availability of Automation Hub

    Jan 02, 2023

    Contentstack App

    We are excited to announce the general availability of Automation Hub, an integrated automation and streamlining tool for the Contentstack Content Experience Platform.

    As we transition out of our Early Access phase, customers who were previously beta testing Automation Hub will be moved to our Explorer Plan, which offers up to 200 executions at no cost each month. Since Contentstack does not count additional usage for multi-step automations or charge extra for premium connectors, 200 executions is a generous allotment that can be used in production to help with critical but lower-frequency business tasks. Also, paid plans are available for those interested in additional usage of this valuable streamlining tool.

    Some highlights for the release include:

    1. The new JSON RTE Formatter connector streamlines the output of JSON RTE fields to work more efficiently with third-party integrations.
    2. Improved connector actions enable additional functionality.
    3. New actions to several connectors, such as publishing assets and unpublishing entries in the Contentstack connector, updating or deleting entries from an Algolia index, and more!
    4. Custom options for various triggers enable additional use cases.
    5. More complex options are available for the Contentstack entry trigger, such as adding referenced or custom query parameters.

    We’re thrilled to be able to offer Automation Hub to all of our customers and look forward to seeing all of the creative ways in which it will be used to streamline and automate business processes.

    If you have any questions or need more information, please contact our Customer Support team.

    Expand
  • Automation Hub December Release Highlights

    Dec 21, 2022

    Contentstack App

    We are happy to announce some exciting new updates available for Automation Hub! What's new in this release:

    1. Introducing the RTE Formatter connector

      We’ve created a new Automation Hub connector, the RTE Formatter, to help with the complex nested nature of the JSON output that may need to be supported by some external systems to create automations or integrations.

      The RTE Formatter currently has two action types, “Format JSON RTE Content to HTML” and “Format JSON RTE Content to Text.”

      Learn more about RTE Formatter through our documentation.

      rte_formatter_connector
    2. New actions for the Algolia connector

      Previously, the Algolia connector could index content but could not delete an entry or do partial updates. These options are now available with the "Delete Entries" and the "Update Entries" actions.

      Learn more about the new Algolia actions.

      new_actions_for_algolia_connector
    3. The Scheduler connector now generates mock data

      Using triggers involves raising the trigger event first, thus triggering further automation steps to capture the payload. It is unreasonable to wait hours, days, or weeks for a scheduled trigger to happen.

      So, we've now added mock data to the Scheduler connector. Instead of waiting for the event to happen, testing the trigger will display default data, which can be saved and used in later steps.

      mock_data_for_scheduler_connector
    4. Other improvements:
      • The Algolia connector will now appropriately index items that contain quotes or other special characters.
      • We’ve fixed an issue related to the filename format with the Amazon S3 connector.
    Expand
  • Version 1.2.3 - Release date: Nov 18, 2022

    Nov 18, 2022

    CLI

    Fixes:

    • Resolved - Issue while updating references in global fields while CLI import
    • Resolved - Marketplace private app UI location update issue fixes

    Documentation Updates:

  • IOS SDK Version: 3.10.1 - Release Date: Nov 11, 2022

    Nov 11, 2022

    SDKs and tools

    Hotfix:

    • Fixed crash on NSInvalidArgumentException.

  • Introducing PKCE Support for Contentstack OAuth

    Nov 11, 2022

    Contentstack App

    Contentstack OAuth now supports PKCE as a security extension to prevent malicious attacks and perform secure authorization flow.

    For more information, refer to our documentation on PKCE for Contentstack OAuth.

  • Entry List Page Now More Flexible and Intuitive

    Nov 08, 2022

    Contentstack App

    We are glad to introduce some cool new capabilities to the entry list page, making it easier to filter and find your favorite entries. Here’s a peek at what’s new:

    1. Filter for table column headers: Select columns and apply filters to display only what you want.
      Filter for Headers.gif
    2. Column resizing: All columns can now be resized so you can accommodate just the data that you want.
      Column Resizing.gif
    3. Column shuffling: You can drag and move columns in the column selector to customize your table view.
      Column Shuffling.gif
    4. Add/remove columns: There are now no restrictions on which columns you can hide or display on the entry list page, giving you complete control of your view.
      Add or Remove Columns.gif
    Expand
  • Version 1.2.1 - Release date: Nov 4, 2022

    Nov 04, 2022

    CLI

    Features/Enhancements:

    • Introduced a new flag (--yes) for asserting boolean migration flags in the clone command
    • Logical code improvements in import and export modules

    Fixes:

    • Resolved - New app names are not updated and are shown in console success messages
    • Resolved - Prompt showing to select branch even if target/source branch already provided
    • Resolved - Unable to create private apps on EU region stacks while importing data.
    • Resolved - Stack-clone: Failed to create entries in ‘undefined’ language error
    • Resolved - CLI script breaks while importing labels
    • Resolved - Backspace option not available in case of new stack flow in import step of clone
    • Resolved - Stack-clone: Cannot set properties of undefined (setting ‘dirty’)
    • Security and Vulnerability fixes
    Expand
  • Introducing User Provisioning with Microsoft Azure AD

    Nov 03, 2022

    Contentstack App

    Introducing SCIM provisioning in Contentstack with Azure Active Directory. You can now use your Azure AD IdP to manage users and groups within your Contentstack organization.

    For more information, refer to our Set Up SCIM Provisioning with Microsoft Azure AD document.

  • Introducing .NET and Java Management SDKs

    Oct 20, 2022

    Contentstack App

    Contenstack introduces .NET and Java Management SDKs to help you manage your content. Integrate your .NET or Java applications with Contentstack to create, update, delete, and fetch data using these SDKs.

    Refer to our documentation on .NET and Java Management SDK for more information.

    Expand
  • Version 1.1.0 - Release date: Oct 14, 2022

    Oct 14, 2022

    CLI

    Features/Enhancements:

    • Marketplace apps import/export/clone support
    • Existing roles & custom roles export/import/clone support
    • Vue & Stencil apps support in bootstrap command
    • Introduced a ‘branch’ option in stack-clone command
    • Create Live Preview settings while creating starter apps using CLI bootstrap command
    • Utility to clone the stack data with different master locale

    Fixes:

    • Resolved - Clone/import/export not working for stacks having Marketplace Apps 
    • Resolved - Entries having image preset data are not getting created while import using CLI import command 
    • Resolved - CLI and bulk publish utility gives error while cross publishing assets
    • Resolved - Regex Validation CLI plugin throws error while running csdx cm:stacks:validate-regex
    • Security and Vulnerability fixes

    Documentation Updates:

    Expand
  • Introducing Markdown Support to Format Content within the JSON RTE

    Oct 13, 2022

    Contentstack App

    The JSON Rich Text Editor now supports Markdown syntax for formatting content. You can add headings, inline characters, or lists, as well as more complex formatting, like images, URLs, or code blocks using the Markdown Syntax.

    For more information, refer to our documentation on Use Markdown to Format Content within the JSON RTE.

    Makrdown_GIF.gif

    Expand
  • UI Enhancements for the Label Modal

    Oct 13, 2022

    Contentstack App

    The Create and Edit Label modal has been enhanced with the following:

    - Each parent label now has a line divider.

    - Long label names are now truncated and an on-hover tooltip displays the full label name.

    - Create Label Modal.png

    Expand
  • Introducing Modal Support for Apps/Extensions

    Sep 22, 2022

    Contentstack App

    Contentstack now lets you use the “venus-components” to open a modal within apps and extensions to display additional information, collect additional inputs from users, or draw attention to a specific feature (or features) on a page, etc. You can use "cbModal" to launch a new modal using the Contentstack’s Venus Modal Component.

    Note: For a comprehensive collection of Contentstack’s UI components that you can use to build UI Extensions and Contentstack-based applications, please refer to the Contentstack Venus Component Library and the App SDK documentation.

    For more information, refer to our documentation on Modal Support for Apps/Extensions.

    Expand
  • Version 1.0.4 - Release date: Sept 16, 2022

    Sep 16, 2022

    CLI

    Fixes:

    • Resolved - Unable to add tokens(Delivery/Management) without login
    • Resolved - All locally stored tokens got removed after updating/installing new version of CLI from Beta version
    • Resolved error Parent UID is not valid while importing assets
    • Resolved - Auth commands was showing template messages
    • Vulnerability fixes
  • Ruby SDK Version: 0.6.1 - Release Date: Sep 9, 2022

    Sep 09, 2022

    SDKs and tools

    Bug

    • Live Preview feature for entry with reference update.
  • Dart SDK Version: 0.4.0 - Release Date: Sep 02, 2021

    Sep 02, 2022

    SDKs and tools

    Live Preview support added.

  • IOS SDK Version 3.10.0 - Release Date: Aug 19, 2022

    Aug 19, 2022

    SDKs and tools

    New Feature:

    • Azure North America region configuration added.
  • Version 1.0.3 - Release date: Aug 11, 2022

    Aug 11, 2022

    CLI

    Features/Enhancements:

    • Major general access (GA) release for Contentstack Command-line Interface (CLI)
    • Command respecification and restructuring for achieving command standardization

    Fixes:

    • Vulnerability fixes
    • Minor bug fixes
    • Added backward compatibility for old commands and their flags

    Documentation Updates:

    Expand
  • CLI Version 1.0.3 Released

    Aug 11, 2022

    Contentstack AppAPIs

    We are launching the Contenstack command-line interface (CLI) version 1.0.3. Along with overall improvements to, and bug fixes on the product, and introduces command respecification and restructuring for achieving command standardization.

    With this release, we have:

    - Resolved vulnerabilities and fixed minor bugs

    - Added backward compatibility for old commands and their flags

    Note: All other features and plugins remain as is.

    For more information, refer to our documentation on the Contentstack command-line interface (CLI).

    Upcoming Roadmap Items:

    - Core CLI scripts stability (Import, Export, and Clone)

    - Branches support on CLI

    Expand
  • Improved UI for the Search Bar and Reference Field entry name

    Aug 10, 2022

    Contentstack App

    Search Bar Enhancements

    Introducing the following UI enhancements for the search bar:

    - An interactive search icon is enabled as soon as you type something.

    - Option for Saved Searches.

    - In the Saved Searches option, only five searches are shown. Click View All to see other saved searches.

    - Reordered sections in the search bar popup.

    - Recent Searches displays the searched texts instead of the whole query.

    - Use the Clear All button to delete all recent searches.

    - In the Recently Used Fields section, you will see only the top five most recent searches.

    View Complete Entry Title in the Popup Modal

    While hovering over an entry name in the reference field pop-up, you can now see the full title.

    Alphabetical Sorting of Reference Field Entries

    Content types within reference field entries modal are now alphabetized.

    Expand
  • Accept or Skip Source Font Size While Copying Content in HTML RTE

    Aug 04, 2022

    Docs & TutorialsAPIs

    Post this release, i.e., August 4, 2022, you will be allowed to skip the font size attribute while pasting content from a vendor (Google Document) while executing the Add stack settings API request. You can pass the "sys_rte_skip_format_on_paste" key within the stack_variables section in the request body.

    While copying content from an external app (e.g., Google Drive) into the HTML RTE field (using the Add stack settings API requests), the font-size attribute helps you copy content along with the font size used in the source.

    If you wish to ignore the font size of the source and use the default or user-defined font size, you can skip this attribute while executing the API request.

    To skip the font-size attribute, you can use the "sys_rte_skip_format_on_paste":"GD:font-size" key. Here, GD indicates the external app’s prefix (Google Document), while font-size signifies the attribute to skip.

    Note: We are currently only supporting one attribute (GD:font-size) for this key. This is only applicable for the HTML Rich Text Editor.

    Here’s a sample of the Request Body:

    {
       "stack_settings":{
          "stack_variables":{
             "enforce_unique_urls":true,
             "sys_rte_allowed_tags":"style,figure,script",
             "sys_rte_skip_format_on_paste":"GD:font-size"
          },
          "rte":{
             "cs_only_breakline":true
          }
       }
    }
    
    
    Expand
  • Accept or Skip Source Font Size While Copying Content in HTML RTE

    Aug 04, 2022

    Contentstack AppAPIs

    While copying content from an external app (e.g., Google Drive) into the HTML RTE field (using the Add stack settings API requests), the font-size attribute helps you copy content along with the font size used in the source.

    If you wish to ignore the font size of the source and use the default or user-defined font size, you can skip this attribute while executing the API request.

    To skip the font-size attribute, you can use the "sys_rte_skip_format_on_paste":"GD:font-size" key. Here, GD indicates the external app’s prefix (Google Document), while font-size signifies the attribute to skip.

    Note: We currently support only one attribute (GD:font-size) for this key. This is only applicable for the HTML Rich Text Editor. For more information, refer to the API Change Log for this update.

    Here’s a sample of the Request Body:

    {
       "stack_settings":{
          "stack_variables":{
             "enforce_unique_urls":true,
             "sys_rte_allowed_tags":"style,figure,script",
             "sys_rte_skip_format_on_paste":"GD:font-size"
          },
          "rte":{
             "cs_only_breakline":true
          }
       }
    }
    
    
    Expand
  • Introducing Mission Control and Product Analytics

    Aug 04, 2022

    Contentstack AppAPIs

    The Mission Control dashboard is a plan-based feature that helps you monitor the overall health of your organization. Additionally, you can use it to identify and track issues in your organization, helping you minimize the impact of the issues on customers.

    Refer to our documentation on Mission Control for more information.

    Introducing Product Analytics

    Organization Analytics is now called Product Analytics under Organization Settings. With this release, the dashboard gets enhanced UX and new capabilities to explore your organization’s usage.

    In case you are unable to access the Product Analytics dashboard, please contact our support team.

    Refer to our documentation on Product Analytics for more information.

    Expand
  • Deploy Content to Multiple Servers Feature Discontinued

    Jul 26, 2022

    Docs & TutorialsAPIsBreaking changes

    Post this release, i.e., July 26, 2022, we will stop supporting the ability to add multiple content deployment servers while setting up a specific publishing environment in Contentstack. We recommend that you instead make use of Webhooks to trigger deployment to multiple web servers whenever you publish content to an environment.

    Once this product update goes live, all Content Management API (CMA) requests related to environments will no longer return the deploy_content and servers keys in the response. Here's a sample of an updated response body that returns environment data when you run the Get all environments API request:

    {
        "environments": [{
                "urls": [{
                    "url": "http://localhost.com",
                    "locale": "en-us"
                }],
                "name": "local",
                "uid": "blta1212be1fcfdfad2",
                "created_by": "blt12e12121d12d1f81212a1b2f",
                "updated_by": "blt12e12121d12d1f81212a1b2f",
                "created_at": "2017-06-13T12:28:59.488Z",
                "updated_at": "2018-11-01T13:25:00.349Z",
                "ACL": [
    
                ],
                "_version": 2
            },
            {
                "urls": [{
                    "url": "/staging",
                    "locale": "en-us"
                }],
                "name": "staging",
                "uid": "bltf66ca6a66d66cecf",
                "created_by": "blt6565a6b056fc5bc6",
                "updated_by": "blt6565a6b056fc5bc6",
                "created_at": "2019-05-03T08:11:12.583Z",
                "updated_at": "2019-05-03T08:11:12.583Z",
                "ACL": [
    
                ],
                "_version": 1
            },
            {
                "urls": [{
                    "url": "/production",
                    "locale": "en-us"
                }],
                "name": "production",
                "uid": "bltfd8888c8bd8cb8cb",
                "created_by": "blt22e22222d22d2f22222a2b2f",
                "updated_by": "blt22e22222d22d2f22222a2b2f",
                "created_at": "2018-08-09T13:39:37.117Z",
                "updated_at": "2018-08-09T13:39:37.117Z",
                "ACL": [
    
                ],
                "_version": 1
            }
        ]
    }
    
    

    Please consider these missing parameters to avoid breaking changes in your application.

    Expand
  • JavaScript Delivery SDK Version: 3.15.3 - Release Date: Jul 26, 2022

    Jul 26, 2022

    SDKs and tools

    New Features:

    • Resolved Live Preview with reference entry issue on SSR web app.

  • Deploy Content to Multiple Servers Feature Discontinued

    Jul 26, 2022

    Contentstack AppAPIs

    Post July 26, 2022, we will stop supporting the ability to add multiple content deployment servers while setting up a specific publishing environment in Contentstack. We recommend that you instead make use of Webhooks to trigger deployment to multiple web servers whenever you publish content to an environment.

    This update will be effective across both the new and classic Contentstack interfaces.

    Breaking Changes: Once the July 26, 2022, product update is completed, all Content Management API (CMA) requests related to environments will no longer return the deploy_content and servers keys in the response. Please consider these parameters to avoid breaking changes in your application. For any inquiries, please reach out to our support team at support@contentstack.com.

    For more information on this update, refer to our API Change Log documentation.

    Expand
  • New Asset filters, Sorting Options, and UI Enhancements Sample

    Jul 21, 2022

    Contentstack AppAPIs

    New Asset Filters

    Finding assets is now easier than ever. Introducing three new filters — Code, Executable, and Archive — on the assets list page that help you find your code files, executable (.exe) files, and zip files, respectively. These filters are also available while searching for assets in the global search. Refer to our documentation on More asset filters for more information.

    asset filter.png

    More Sorting Options

    We have added new sorting functionality to some of the common list pages:

    • Users & Roles (sort by Status)
    • Webhooks (sort by Status)
    • Workflow (sort by Status)
    • Extensions (sort by Name, Type, Field data type, Hosting method, Last modified)
    • Audit Log (sort by Date, Module, Remote address, Title).

    UI Enhancements

    Disabled past date selection while scheduling publishing

    It is no longer possible to select a date that has passed while scheduling a release.

    past date graded out.png

    Improved search experience

    The search bar now has a dedicated “Advanced Search” button that lets you switch to an advanced mode where you can add complex and nested condition sets. We have also added a shortcut to our documentation site and have improved the look and feel of the “Filters” button.

    “See more” Localized language entries in a separate pop-up

    When you click on the "See more" option under the Localization Status section (see screenshot), the list now opens up in a separate pop-up modal window, making it easier to see all of the languages for which that entry has been adapted.

    See more - modal:

    see more modal.png

    Selected localized language entry opens in a separate tab:

    new screen visibility.png

    New “Default field” tag for default fields of content types

    We have added a “Default field” tag to the fields that come by default while creating a content type.

    default tag.png

    Change in the “Remove” icon in the entry reference field

    The “Remove” icon, which appears when you hover over the reference field of an entry, has been changed to be more consistent with other icons in the interface.

    icon change.png

    Cancel scheduled publishing of an entry

    You can now easily cancel the scheduled publishing of an entry from the Publish Queue by simply hovering over the entry and clicking on “Cancel Scheduling".

    cancel scheduling.png

    Expand
  • Environments are now sorted alphabetically on the publish/unpublish modal

    Jul 01, 2022

    Contentstack AppAPIs

    Publishing content is now quicker and simpler for content managers. The list of your environments on the publish/unpublish modal for entries and assets is now sorted alphabetically, making it easier to find your preferred option(s) from the list.

  • Webhook Rate Limit

    Jun 29, 2022

    Docs & Tutorials

    Earlier, an Organization could perform as many webhook executions as they wanted at any given time, without restrictions. Due to this setup, there was a huge probability that a single customer could flood the network by occupying higher positions in the queue.

    To avoid this bottleneck situation, we have imposed a rate limit of 200 Webhook executions per minute for all Organizations. So, when an Organization reaches this rate limit, further webhook messages will be set to process in the next queue, without dropping any of the events beyond the rate limit. For more information, refer the documentation on Webhook Rate Limit.

    Expand
  • Android SDK Version: 3.10.2 - Release Date: Jun 27, 2022

    Jun 27, 2022

    SDKs and tools

    Bug Fixes:

    New Features:

    • New region support - Azure North America.

  • Java SDK Version: 1.10.1 - Release Date: Jun 17, 2022

    Jun 17, 2022

    SDKs and tools

    Bug Fix:

    • #57 CompileJava issue in Gradle build ecosystem (contentstack-utils).
    • #58 content_type : Invalid warning for contentTypeUid.


  • Notify Users about Disabled Webhooks

    Jun 09, 2022

    Contentstack AppAPIs

    Now, you can choose which users you want to notify when Webhook Circuit Breaker disables a particular webhook. You can specify the email addresses of the users to be notified under the Users(s) to Notify section when creating your webhook.

    For more information, refer to the Create a Webhook and Webhook Circuit Breaker documentation.

    Expand
  • Partial Text-based Search for Assets and Asset Folders

    Jun 08, 2022

    Docs & TutorialsContentstack App

    We introduced the following changes in our June 8, 2022 release:

    • Contentstack now allows you to run a text-based search for an asset folder present in your stack. You can enter a search phrase that entirely or partially matches the name of the asset folder to bring it up in your search results.

      For example, you can run a Basic Search based on a search phrase such as “Marketing” to search for the “Marketing Images” asset folder, thus reducing effort and time.
    • Partial_Search_for_Asset_Folder.png

    • Contentstack now allows you to run a Basic Search for assets and asset folders based on a search phrase that partially matches the name of the asset or folder to bring it up in your search results. Instead of entering an exactly matching search phrase, you can type in a specific part of the asset or folder name for your basic search.

      For example, you can run a basic search using partially matching search phrases such as “smart” or “phone” to search for the “Smartphone.jpg” asset in your stack.
    • Partial_Search_for_an_Asset.png

    Expand
  • Partial Text-based Search for Assets and Asset Folders

    Jun 08, 2022

    Contentstack AppAPIs

    We introduced the following changes in our June 8, 2022 release:

    • Contentstack now allows you to run a text-based search for an asset folder present in your stack. You can enter a search phrase that entirely or partially matches the name of the asset folder to bring it up in your search results.
      For example, you can run a Basic Search based on a search phrase such as “Marketing” to search for the “Marketing Images” asset folder, thus reducing effort and time.
      basic_asset_search
    • Contentstack now allows you to run a Basic Search for assets and asset folders based on a search phrase that partially matches the name of the asset or folder to bring it up in your search results. Instead of entering an exactly matching search phrase, you can type in a specific part of the asset or folder name for your basic search.
      For example, you can run a basic search using partially matching search phrases such as “smart” or “phone” to search for the “Smartphone.jpg” asset in your stack.
      partial_asset_search

    For more information, refer to our API Change Log documentation.

    Expand
  • Java SDK Version: 1.10.0 - Release Date: Jun 03, 2022

    Jun 03, 2022

    SDKs and tools

    New Features:

    • High increase in memory consumption & thread count when updated to the 1.9.0 version.
    • Setting Proxy in config
    • Adding query parameter for the Live Preview #52.
    • Enhancement in logger for the different class (Suggested through a pull request) #51.


    Expand
  • Introducing Contentstack Marketplace and Contentstack Developer Hub

    May 23, 2022

    Contentstack AppAPIsDocs & Tutorials

    We are excited to introduce Contentstack Marketplace and our App Development Framework (in Public Beta).

    • Contentstack Marketplace is a one-stop platform that allows you to explore and use third-party integrations and pre-built extensions to solve all your business-specific needs. Read more about Contentstack Marketplace.
    • Contentstack Developer Hub is an app development platform that allows you to build your own apps and publish them to Contentstack Marketplace. It is currently in the Beta phase. Please reach out to your CSM to get access. Read more about how you can use Contentstack Developer Hub to build apps for Marketplace.

    Note: This plan-based feature is available only in the new Contentstack interface.

    Expand
  • Introducing Asset Sidebar Extensions

    May 20, 2022

    Contentstack AppAPIs

    Asset Sidebar Extension, a new type of Experience Extension, allows developers to create custom sidebars for assets. With this new extension, they can add powerful new capabilities for content managers to manage, transform, and optimize assets easily.

    select sidebar extn.png

    Refer to our documentation on Asset Sidebar Extensions for more information.

    Note: This plan-based feature is available only in the new Contentstack interface.

    Expand
  • Introducing Additional Metadata Support for Entries and Assets

    May 20, 2022

    Contentstack AppAPIs

    Developers can now add custom metadata to entries and assets, so content managers can easily organize, categorize, and find content. You can add new metadata without incrementing the version, using the Metadata Content Management API requests.

    Refer to our documentation on Metadata for entries and assets for more information.

    Note: This plan-based feature is available only in the new Contentstack interface.

    Expand
  • Export the Organization Users List in a CSV File

    May 13, 2022

    Contentstack AppAPIs

    Contentstack now allows you to use the "Export" option to export details of all the users on the organization users list page into a Comma Separated Values (CSV) file. You can open this CSV file using any spreadsheet application to clearly view the exported user details.

    With this option, you can skim through user details in a single view instead of viewing only 30 users on a page at a time, avoiding the need to constantly scroll through long user lists.

    Note: The "Export users list" feature is available only in the new Contentstack interface.

    For more information, read our Export Users List documentation

    Expand
  • Webhook Channel Support for Entry Comments and Discussions

    May 13, 2022

    Contentstack AppAPIs

    Now, you can also set trigger conditions based on actions performed on entry comments and discussions. Refer to our Comments and Discussions webhook documentation to learn more about the trackable events.

    Expand
  • JavaScript Delivery SDK Version: 3.15.2 - Release Date: May 03, 2022

    May 03, 2022

    SDKs and tools

    New Features:

    • Resolved Live Preview with reference entry issue.

  • JavaScript Delivery SDK Version: 3.15.1 - Release Date: Apr 21, 2022

    Apr 21, 2022

    SDKs and tools

    New Features:

    • Azure Na region and package updates.

  • Restrict Content Types and Global Fields with Upper Case Unique IDs

    Apr 11, 2022

    Docs & TutorialsAPIsBreaking changes

    Post this release, i.e., April 11, 2022, Contentstack will restrict you from creating or importing content types and global fields with unique IDs specified in upper case. If you try to create or import a content type or global field with an uppercase unique ID, your Content Management API (CMA) requests will return an error in the response.

    Content Type Related Error Messages

    For content type creation requests (with upper case UIDs), you will encounter the following error:

    {
        "error_message":"Content Type creation failed. Please try again.",
        "error_code":118,
        "errors":{
            "uid":[
                "is not valid."
            ]
        }
    }
    

    For content type import requests (with upper case UIDs), you will encounter the following error:

    {
        "error_message":"There was a problem importing the Content Type. Please correct the Content Type and try again.",
        "error_code":118,
        "errors":{
            "uid":[
                "is not valid."
            ]
        }
    }
    

    Global Field Related Error Messages

    For global field creation requests (with upper case UIDs), you will encounter the following error:

    {
        "error_message":"Global Field creation failed. Please try again.",
        "error_code":118,
        "errors":{
            "uid":[
                "is not valid."
            ]
        }
    }
    

    For global field import requests (with upper case UIDs), you will encounter the following error:

    {
        "error_message":"There was a problem importing the Global Field. Please try again.",
        "error_code":118,
        "errors":{
            "uid":[
                "is not valid."
            ]
        }
    }
    
    Expand
  • Python SDK Version: 1.7.0 - Release Date: 8 APR, 2022

    Apr 08, 2022

    SDKs and tools
    • Region support added.
    • New region support - Azure North America.
    • General code clean-up.
  • Introducing Encryption for SAML Attributes

    Apr 04, 2022

    Contentstack AppAPIs

    SAML attributes can now be encrypted in SSO login requests. This provides an additional layer of protection for your personal or corporate data. Once you enable encryption in your IdP and Contentstack, the IdP encrypts the SAML attributes using Contentstack's public key certificate.

    Refer to our Enable SAML Encryption documentation for more information.

  • Dart SDK Version: 0.5.0 - Release Date: Mar 16, 2022

    Mar 16, 2022

    SDKs and tools
    • Multiple-Reference issue fixed.
    • New region support - Azure North America.
  • Java SDK Version: 1.9.0 - Release Date: Mar 16, 2022

    Mar 16, 2022

    SDKs and tools
    Bug Fix:
    • Entry uid bug fixed #45.
    • Static logger implemented #43.
    • Scope-based dependencies.

  • Feb 25, 2022

    Docs & Tutorials

    If the "Branches'' feature is part of your plan, all webhook-related API requests that hit the Content Management API (CMA) will return the branch key in the response body. This key specifies the unique ID of the branch on which the concerned webhook was triggered. Additionally, it also highlights the unique ID for any alias assigned to the branch and the source branch from which it inherits data.

    Here's a sample of the webhook data returned along with the branch key when you run the Get webhook executions API request:

    {
      "webhooks":[
        {
          "uid":"bltf00ec3b37082288b",
          "channel":[
            "content_types.create"
          ],
          "created_at":"2021-09-21T07:24:48.757Z",
          "event_data":{
            "module":"content_type",
            "api_key":"blt29ec365eaa0c8d67",
            "event":"create",
            "data":{
              "uid":"new_content_type",
              "title":"New Content Type",
              "branch":{
                "alias":[
                  "test"
                ],
                "uid":"development",
                "source":"main"
              }
            }
          },
          "event_headers":{
            "Content-Type":"application/json",
            "User-Agent":"Contentstack",
            "X-Contentstack-Signature":"d7b6d307f35086885f64a8a8sd7s878d7s8"
          },
          "org_uid":"blteac54a27425b3b0e",
          "request_details":[
            {
              ...
                "body":{
                  "triggered_at":"2021-09-21T07:24:43.734Z",
                  "module":"content_type",
                  "api_key":"blt29ec365eaa0c8d67",
                  "event":"create",
                  "data":{
                    "uid":"new_content_type",
                    "title":"New Content Type",
                    "branch":{
                      "alias":[
                        "test"
                      ],
                      "uid":"development",
                      "source":"main"
                    }
                  }
                },
                "headers":{
                  ...
                },
                "json":true,
                "resolveWithFullResponse":true,
                "timeout":30000
              },
              "response":{
                "statusCode":500,
                "message":"Unable to connect to host.",
                "request":{
                  "uri":{
                    "href":"https://webhook.gatsbee.com/hooks/data_source/12345"
                  },
                  "method":"POST",
                  "headers":{
                    "Content-Type":"application/json",
                    "User-Agent":"Contentstack",
                    "X-Contentstack-Signature":"d7b6d307f35086885f64a8a2a47ef2e374837"
                  }
                }
              },
              "created_at":"2021-09-21T07:24:48.757Z"
            }
          ],
          "retry_count":1,
          "status":500,
          "updated_at":"2021-09-21T07:25:28.860Z",
          "webhooks":[
            "blt6b256750460b99c0"
          ],
          "destination":{}
        }
      ]
    }
    
    

    Additional "branches" and "branch_aliases" Keys to Specify Branch/Alias Scope in Responses

    If the "Branches" feature is part of your plan, you will see additional keys named branches and branch_aliases in the API responses in some of the Contentstack modules (listed below). The branches and branch_aliases keys specify the unique IDs of the branches and aliases selected within the scope for the concerned modules.

    • Webhooks-related API requests that hit the Content Management API (CMA) will return a top-level branches key in the response body. This key specifies the unique ID of the branch to which the webhook is applicable.

      When creating or updating a webhook, you need to specify the branch scope through the following schema in the request body:

      "branches":[
          "main"
      ]
      
      

      For instance, here’s the response that you will get for the Create a webhook API request:

      {
          "notice":"The webhook was created successfully",
          "webhook":{
              "uid":"blta4c0a90071d12f38",
              "channels":[
                  "assets.create"
              ],
              "branches":[
                  "main"
              ],
              "disabled":false,
              "concise_payload":true,
              "name":"Test",
              "destinations":[
                  {
                      "target_url":"http://example.com",
                      "http_basic_auth":"basic",
                      "http_basic_password":"test",
                      "custom_header":[
                          {
                              "header_name":"Custom",
                              "value":"testing"
                          }
                      ]
                  }
              ],
              "retry_policy":"manual",
              "updated_by":"blta7eaf6883dd73a0b",
              "created_by":"blta7eaf6883dd73a0b",
              "created_at":"2021-09-20T18:54:01.105Z",
              "updated_at":"2021-09-20T18:54:01.105Z"
          }
      }
      
      
    • Workflows-related API requests that hit the Content Management API (CMA) will return a top-level branches key in the response body. This key specifies the unique IDs of the branches to which the workflow is applicable.

      When creating or updating a workflow, you need to specify the branch scope through the following schema in the request body:

      "branches":[
          "main"
      ]
      
      

      For instance, here’s the response that you will get for the Create a workflow API request:

      {
          "notice":"Workflow created successfully.",
          "workflow":{
              "workflow_stages":[
                  {
                      "color":"#74ba76",
                      "SYS_ACL":{
                          "others":{
                              "read":true,
                              "write":true,
                              "transit":false
                          },
                          "users":{
                              "uids":[
                                  "$all"
                              ],
                              "read":true,
                              "write":true,
                              "transit":true
                          },
                          "roles":{
                              "uids":[
                                  
                              ],
                              "read":true,
                              "write":true,
                              "transit":true
                          }
                      },
                      "next_available_stages":[
                          "$all"
                      ],
                      "allStages":true,
                      "allUsers":true,
                      "specificStages":false,
                      "specificUsers":false,
                      "name":"Review",
                      "uid":"blt7336c2c86ede8b9a"
                  },
                  {
                      "color":"#2196f3",
                      "SYS_ACL":{
                          "others":{
                              "read":true,
                              "write":true,
                              "transit":false
                          },
                          "users":{
                              "uids":[
                                  "$all"
                              ],
                              "read":true,
                              "write":true,
                              "transit":true
                          },
                          "roles":{
                              "uids":[
                                  
                              ],
                              "read":true,
                              "write":true,
                              "transit":true
                          }
                      },
                      "allStages":true,
                      "allUsers":true,
                      "specificStages":false,
                      "specificUsers":false,
                      "next_available_stages":[
                          "$all"
                      ],
                      "name":"Complete",
                      "uid":"bltace4f008c3156e97"
                  }
              ],
              "admin_users":{
                  "users":[
                      
                  ],
                  "roles":[
                      "bltc5412bb640c8cce1"
                  ]
              },
              "name":"Sample Workflow",
              "enabled":true,
              "branches":[
                  "main"
              ],
              "content_types":[
                  "author",
                  "header"
              ],
              "uid":"bltf502c1bf4b742857",
              "api_key":"blt29ec365eaa0c8d67",
              "org_uid":"blteac54a27425b3b0e",
              "created_by":"blt1fd0057b90905592",
              "created_at":"2021-09-22T14:05:54.454Z",
              "deleted_at":false
          }
      }
      
      
    • Publish Rules-related API requests that hit the Content Management API (CMA) will return a top-level branches key in the response body. This key specifies the unique IDs of the branches for which the publishing rule is applicable.

      When creating or updating a publishing rule, you need to specify the branch scope through the following schema in the request body:

      "branches":[
          "main"
      ]
      
      

      For instance, here’s the response that you will get for the Create publish rules API request:

      {
          "notice": "Publish rule created successfully.",
          "workflow": {
              "status": {
                  "publishing_rules": true
              },
              "publishing_rules": [
                  {
                      "uid": "blta7e8171bdaf013cd",
                      "actions": [],
                      "environment": "blta6fa90d8fc8a35b3",
                      "branches": [
                          "main"
                      ],
                      "content_types": [
                          "$all"
                      ],
                      "locales": [
                          "en-us"
                      ],
                      "approvers": [
                          "blt1fd0057b90905592"
                      ],
                      "status": true
                  }
              ]
          }
      }
      
      
    • Delivery Token and Management Token-related API requests that hit the Content Management API (CMA) will return the branches and branch_aliases keys under the scope section in the response body. These keys specify the unique IDs of the branches and branch aliases for which a delivery or management token is applicable.

      When creating or updating a delivery or management token, you need to specify the branch and alias scope through the following schema in the request body:

      {
          "module":"branch",
          "branches":[
              "main",
              "development"
          ],
          "acl":{
              "read":true
          }
      },
      {
          "module":"branch_alias",
          "branch_aliases":[
              "deploy",
              "release"
          ],
          "acl":{
              "read":true
          }
      }
      
      

      For instance, here’s the response that you will get for the Create a delivery token API request:

      {
          "notice": "Delivery Token created successfully.",
          "token": {
              "name": "Sample Delivery Token",
              "description": "Sample token.",
              "scope": [
                  {
                      "environments": [
                          {
                              "name": "staging",
                              "servers": [
                                  {
                                      "name": "default"
                                  }
                              ],
                              "urls": [
                                  {
                                      "locale": "en-us",
                                      "url": "http://example.com/"
                                  }
                              ],
                              "deploy_content": true,
                              "app_user_object_uid": "system",
                              "uid": "blta6fa90d8fc8a35b3",
                              "created_by": "blta7eaf6883dd73a0b",
                              "updated_by": "blta7eaf6883dd73a0b",
                              "created_at": "2021-09-16T19:27:18.898Z",
                              "updated_at": "2021-09-16T19:27:18.898Z",
                              "ACL": [],
                              "_version": 1,
                              "tags": []
                          }
                      ],
                      "module": "environment",
                      "acl": {
                          "read": true
                      },
                      "_metadata": {
                          "uid": "csfa77cbd080f5afbd"
                      }
                  },
                  {
                      "module": "branch",
                      "acl": {
                          "read": true
                      },
                      "branches": [
                          "main",
                          "development"
                      ],
                      "_metadata": {
                          "uid": "cs766df728fb56e697"
                      }
                  },
                  {
                      "module": "branch_alias",
                      "acl": {
                          "read": true
                      },
                      "branch_aliases": [
                          "deploy",
                          "release"
                      ],
                      "_metadata": {
                          "uid": "cs27a40bf57db84414"
                      }
                  }
              ],
              "uid": "blt9d62d10720189b2e",
              "created_by": "blt1fd0057b90905592",
              "updated_by": "blt1fd0057b90905592",
              "created_at": "2021-09-22T16:01:34.410Z",
              "updated_at": "2021-09-22T16:01:34.410Z",
              "token": "cs93d9e3bb4bf8a0612d8bdb77",
              "type": "delivery",
              "_metadata": {
                  "references": []
              }
          }
      }
      
      
    • User Roles-related API requests that hit the Content Management API (CMA) will return the branches and branch_aliases keys under the rules section in the response body. These keys specify the unique IDs of the branches and branch aliases of which a particular user role can access data.

      When creating or updating a user role, you need to specify the branch and alias scope through the following schema in the request body:

      {
          "module":"branch",
          "branches":[
              "main"
          ],
          "acl":{
              "read":true
          }
      },
      {
          "module":"branch_alias",
          "branch_aliases":[
              "deploy"
          ],
          "acl":{
              "read":true
          }
      }
      
      

      For instance, here’s the response that you will get for the Create a role API request:

      {
          "notice":"The role created successfully.",
          "role":{
              "name":"Demo role",
              "description":"Demo role.",
              "rules":[
                  {
                      "module":"content_type",
                      "content_types":[
                          "author"
                      ],
                      "acl":{
                          "read":true,
                          "sub_acl":{
                              "read":true,
                              "create":true,
                              "update":true,
                              "publish":true,
                              "delete":true
                          }
                      }
                  },
                  {
                      "module":"asset",
                      "assets":[
                          "$all"
                      ],
                      "acl":{
                          "read":true,
                          "create":true,
                          "update":true,
                          "publish":true,
                          "delete":true
                      }
                  },
                  {
                      "module":"environment",
                      "environments":[
                          "blta6fa90d8fc8a35b3"
                      ],
                      "acl":{
                          "read":true
                      }
                  },
                  {
                      "module":"locale",
                      "locales":[
                          "blt37255d0c5a6d20b1"
                      ],
                      "acl":{
                          "read":true
                      }
                  },
                  {
                      "module":"branch",
                      "branches":[
                          "main"
                      ],
                      "acl":{
                          "read":true
                      }
                  },
                  {
                      "module":"branch_alias",
                      "branch_aliases":[
                          "deploy"
                      ],
                      "acl":{
                          "read":true
                      }
                  }
              ],
              "users":[
                  
              ],
              "uid":"bltc590a9b813590e8e",
              "org_uid":"blteac54a27425b3b0e",
              "api_key":"blt29ec365eaa0c8d67",
              "created_by":"blt1fd0057b90905592",
              "updated_by":"blt1fd0057b90905592",
              "created_at":"2021-09-23T08:09:30.971Z",
              "updated_at":"2021-09-23T08:09:30.971Z"
          }
      }
      
      

    [Potential Breaking Change] Updated Asset Download URL Format as per Branch

    If the "Branches" feature is part of your plan, you will see an updated download URL format for all assets part of any branch, except the default main branch. The branch={branch_UID} query parameter is attached to the download URL.

    For instance, if you upload an asset to the development branch, Contentstack generates the following asset download URL:

    https://assets.contentstack.com/v3/assets/blt252b550c5ccdae26/bltc56f275260214c0b/61280d9625aca65092ce7f15/Sample_Image.jpg?branch=development
    
    

    For any asset that you upload to the main branch, Contentstack will continue to generate asset download URLs in the earlier format:

    https://assets.contentstack.com/v3/assets/blt252b550c5ccdae26/bltc56f275260214c0b/61280d9625aca65092ce7f15/Sample_Image.jpg
    
    

    Support "include_branch" as Query Parameter in CMA and CDA API Requests

    If the "Branches" feature is part of your plan, you can pass the include_branch query parameter while running Content Delivery API (CDA) / CDN and Content Management API (CMA) requests. Set the include_branch key to true to allow the API to return the _branch top-level key in the response. This key specifies the unique ID of the branch and helps identify where the concerned Contentstack module resides.

    Here’s the list of the components that support the include_branch query parameter:

    • Content Types [CDA / CMA]
    • Global fields [CDA / CMA]
    • Assets [CDA / CMA]
    • Entries [CDA / CMA]
    • Extensions
    • Languages
    • Releases
    • Audit Log
    • Publish Queue
    • Note: For Publish Queue and Audit Log related API requests, instead of "_branch": "{branch_ID}", you will see the "branch": "{branch_ID}" top-level key in the response.

      Let us look at an example to understand how the response would look when you pass the include_branch query parameter. For instance, here’s the response that you will get for the Get all content types API request:

      {
          "content_types": [
              {
                  ...,
                  "schema": [
                      {
                          "display_name": "Title",
                          ...
                      },
                      {
                          "display_name": "URL",
                          ...
                      },
                  ],
                  "last_activity": {},
                  "maintain_revisions": true,
                  "description": "",
                  "DEFAULT_ACL": {
                      "others": {
                          "read": false,
                          "create": false
                      },
                      "users": [
                          {
                              "read": true,
                              "sub_acl": {
                                  "read": true
                              },
                              "uid": "blt690a3fed2a593445"
                          }
                      ],
                      "management_token": {
                          "read": true
                      }
                  },
                  "SYS_ACL": {
                      "roles": [
                          {
                              "uid": "bltdc9d89cd41565777",
                              "read": true,
                              "sub_acl": {
                                  ...
                              },
                              "update": true,
                              "delete": true
                          },
                          {
                              ... 
                              }
                          },
                          {
                              ...
                              },
                              ...
                          }
                      ],
                      "others": {
                          ...
                          }
                      }
                  },
                  "_branch": "development",
                  "options": {
                      "title": "title",
                      "publishable": true,
                      "is_page": true,
                      "singleton": false,
                      "sub_title": [
                          "url"
                      ],
                      "url_pattern": "/:title",
                      "url_prefix": "/"
                  },
                  "abilities": {
                      "get_one_object": true,
                      "get_all_objects": true,
                      "create_object": true,
                      "update_object": true,
                      "delete_object": true,
                      "delete_all_objects": true
                  }
              }
          ]
      }
      
      

      Note: The “branches” feature is available in Contentstack only for the new interface.

    Expand
  • Introducing Branches

    Feb 25, 2022

    Contentstack AppAPIs

    Contentstack now offers branching functionality that allows developers to experiment and innovate freely and collaborate with business teams. With Branches, developers can create copies of content type structures (schemas) to make changes and iterate without affecting deployments on the production server.

    Branches can have their separate workflows to involve business users in making content modifications, enabling cross-functional innovation. Read our docs for more information.

    Breaking Changes: When activating “Branches,” you will see a change in the API responses returned for several Content Delivery API (CDA) / CDN and Content Management API (CMA) requests. We have listed the changes introduced within the Breaking Changes PDF file for smooth adoption of the feature. You need to update your code with the relevant parameters to avoid breaking changes in your application.

    Note: The Branches feature will be rolled out to all customers gradually over the next few weeks. It is available in Contentstack only for the new interface. For any inquiries, please reach out to our support team at support@contentstack.com.

    Branches flow.png

    Expand
  • Updated UI for Adding Key-value Choices in Select Field

    Feb 18, 2022

    Contentstack AppAPIs

    With the latest update to Key-value choices of Select fields, you no longer need to add spaces before and after the colon (:) of your key-value pairs. For example, if you're adding key-value choices for t-shirt sizes, you need to add the choices as: Large:L, Medium:M, Small:S, and so on.

    Learn more about this change in the Select field documentation.

  • Restrict Records Maintenance for Publish Queue Activities

    Feb 11, 2022

    Restrict Records Maintenance for Publish Queue Activities

    Post this release, i.e., February 11, 2022, the Publish Queue of the stack will only maintain records of publishing/unpublishing activities performed within the last 90 days. This update ensures that constant publishing activity does not overload the queue.

    For more information, refer to the Publish Queue documentation. You can also refer to the Publish Queue API documentation to understand how to fetch details using the Content Management API.

    Restrict Records Maintenance for Audit Log Activities

    Post this release, i.e., February 11, 2022, the Audit Log of the stack will only maintain records of activities (updates, deletes, publishing/unpublishing activities, etc.) performed within the last 90 days.

    For more information, refer to the Audit Log documentation.

    Webhook Signatures for Webhook Events

    Post this release, i.e., February 11, 2022, Contentstack will sign all webhook events sent to your endpoints with a signature. This signature appears in each event's X-Contentstack-Request-Signature header. It allows you to verify the integrity of the data and the provider's authenticity (Contentstack) from which data is coming.

    For more information, refer to the Webhook Signature documentation.

    Expand
  • Restrict Records Maintenance for Publish Queue and Audit Log Activities

    Feb 11, 2022

    Contentstack AppAPIs

    We introduced the following changes in our February 11, 2022 release:

    • The Publish Queue of your stack now only maintains records of publishing/unpublishing activities performed within the last 90 days. This update ensures that constant publishing activity does not overload the queue.
    • The Audit Log of your stack now only maintains records of activities (events) performed within the last 90 days.

    Read more about these updates in our API Change Log documentation.

    Expand
  • Webhook Signatures for Webhook Events

    Feb 11, 2022

    Contentstack AppAPIs

    Contentstack now signs all webhook events sent to your endpoints with a signature. This signature appears in each event's X-Contentstack-Request-Signature header. It allows you to verify the integrity of the data and the provider's authenticity (Contentstack) from which data is coming.

    For more information, refer to the Webhook Signature documentation.

    Expand
  • Use Slash Command for Formatting Shortcuts in JSON Rich Text Editor

    Jan 31, 2022

    Contentstack AppAPIs

    You can now type in "/" in the JSON Rich Text Editor to open a formatting menu that contains options for formatting texts and bullets, embedding entries and assets, and so on. With the slash command, you can style and edit your content efficiently at a faster pace. To select a formatting option, choose from the displayed list or type the option you need to add.

    slash_command_in_json_rte

    For more information, read our documentation on Slash Command.

    Expand
  • Update Release Items to their Latest Versions

    Jan 31, 2022

    Contentstack AppAPIs

    The new Update release items to their latest versions button updates all entries and assets in a release to their latest versions. This update feature ensures publishing up-to-date content with a release.

    Whats new-update.png

    For more information, refer to our documentation on Update Release Items to their Latest Versions.

    Expand
  • Create or Update Roles with Language-Specific Permissions

    Jan 31, 2022

    Contentstack AppAPIs

    You can now restrict access to the master language and add custom exceptions for all or specific languages while creating or updating a user role. For example, you can restrict a role from being able to "Create," "Update," or "Delete" entries localized in a specific language, e.g., English (United States) or French (France).

    Read our documentation for more information.

    Expand
  • Java SDK Version: 1.8.1 - Release Date: Jan 27, 2022

    Jan 27, 2022

    SDKs and tools

    Bug Fix:

    • Entry uid bug fixed #45.
    • Static logger implemented #43.
    • Scope-based dependencies.

  • Prefix Dollar Sign in Webhook JSON Payload with Wildcard

    Jan 21, 2022

    Docs & Tutorials

    Post this release, i.e., January 21, 2022, whenever a webhook sends data to a specified notification URL, if any key name in the response begins with a dollar sign ($), it will be prefixed with the acronym "cs" as a wildcard. For example, the key named "$success" would be replaced with "cs$success."

    Let's consider the following sample webhook data that contains a key prefixed with a dollar sign:

    {
        "$success": true
    }
    

    The key name will be prefixed with the "cs" acronym, as shown in the following webhook data:

    {
        "cs$success": true
    }
    
    Expand
  • Prefix Dollar Sign in Webhook JSON Payload Keys with Wildcard

    Jan 21, 2022

    Contentstack AppAPIs

    With this update, whenever a webhook sends data to a specified notification URL, if any key name in the response begins with a dollar sign ($), it will be prefixed with the acronym "cs" as a wildcard. For example, the key named "$success" would be replaced with "cs$success."

    Let's consider the following sample webhook data that contains a key prefixed with a dollar sign:

    {
        "$success": true 
    }
    

    The key name will be prefixed with the "cs" acronym, as shown in the following sample webhook data:

    {
        "cs$success": true
    }
    

    Read more about this feature in our API Change Log.

    Expand
  • Android SDK Version: 3.10.1 - Release Date: Jan 17, 2022

    Jan 17, 2022

    SDKs and tools

    Bug Fixes:

    • Fixed compile issue with target version 31.

  • January 7, 2022

    Jan 07, 2022

    Docs & Tutorials

    Password Reset Link Expiration

    Earlier, Contentstack did not impose an expiration timeframe on password reset links you generate when you forget the password. This vulnerability could expose users to information security attacks.

    Post January 07, 2022, Contentstack will invalidate all password reset links within 60 minutes from when you generate them. This update maintains a robust security mechanism and prevents accounts from being hacked. Once the link expires, you can create another link using Forgot password and reset your password.

    Expand
  • Jan 07, 2022

    Contentstack AppAPIs

    You can now extend the functionality of your JSON Rich Text Editor with our latest JSON RTE Plugins. These plugins let you inject specific functional logic directly into the JSON Rich Text Editor through third-party tools, without the need to add separate fields to perform complex content checks.

    JSON RTE Plugins lets you dynamically interact with and improve the rich text content by introducing features such as auto suggestions, grammar, and terminology checks that helps enhance content quality and accelerate editorial velocity.

    Entry.png

    Note: This plan-based feature will be available only for the JSON Rich Text Editor in the new Contentstack interface.

    Read our documentation on JSON Rich Text Editor Plugins to get started with this feature.

    Password Reset Link Expiration

    Contentstack now disables all password reset links within 60 minutes from the time you generate them. Once the link expires, you can reuse the Forgot password option to generate a new link and reset the password.

    For more information on this update, refer to our Password Reset Link Expiry API Change Log documentation.

    Expand
  • Java SDK Version: 1.8.0 - Release Date: Nov 01, 2021

    Nov 01, 2021

    SDKs and tools

    New Features:

    • Added support for Live Preview.
    • Added support for Branching.

    Changes:

    • Removed the old version of jsoup dependency.
    • Code improved as per sonar vulnerability guidelines.
    • Removed deprecated code/non-working code marked deprecated.
    • A few breaking changes were added.

  • Restrict Multiple Entry Creation for Singleton Content Types using CMA

    Oct 19, 2021

    Docs & TutorialsAPIs

    Earlier, even though the Contentstack user interface did not allow the creation of multiple entries in a content type marked as "Single," users could still create them using the API. Post this release, i.e., October 19, 2021, Contentstack will restrict you from using the Content Management API (CMA) to create more than one entry in a content type that has been marked as "Single."

    Note: This change will not affect existing entries created in a content type of type "Single" using the Content Management API (CMA). You will still be able to fetch those entries using the CMA.

    To create multiple entries using the same content type, you need to mark that content type as "Multiple."

    Expand
  • JavaScript Delivery SDK Version: 3.14.0 - Release Date: Oct 19, 2021

    Oct 19, 2021

    SDKs and tools

    New Features:

    • Support added for Live Preview feature support.

  • .NET SDK Version: 2.7.0 - Release Date: Oct 14, 2021

    Oct 14, 2021

    SDKs and tools

    New Feature:

    • Live preview feature support added.

  • Webhook Circuit Breaker

    Oct 07, 2021

    APIsContentstack AppBreaking changes

    Webhook Circuit Breaker

    A webhook request may fail to retrieve data from a specific notification URL under the following scenarios:

    • The provided domain name is either invalid or does not exist
    • The API fails to respond with data within 30 seconds
    • The destination server aborted the connection

    When a webhook request repeatedly fails 10 times under any of the above scenarios, the system detects the invalid URL and automatically disables the webhook configured for that client. Contentstack then marks the faulty webhook with an Unhealthy status.

    If any webhook goes into an unhealthy state, webhook-related Content Management API (CMA) requests will return the unhealthy key in the response:

    {
        "unhealthy":{
            "state":true
        }
    }
    

    We also send a notification email to the concerned client (user) whenever the Webhook Circuit Breaker disables any webhook in Contentstack. To enable the webhook again, you can refer to the webhook logs and debug the issue.

    For more information, refer to our Webhook Circuit Breaker documentation.

    Expand
  • Webhook Circuit Breaker

    Oct 07, 2021

    Contentstack AppAPIs

    Contentstack now deploys the Webhook Circuit Breaker (WCB) whenever any webhook uses up its allotted execution retry attempts. WCB automatically disables a webhook that repeatedly fails to retrieve data from a specific notification URL 10 times. The faulty webhook is then marked with an Unhealthy status.

    If any webhook goes into an unhealthy state, webhook-related Content Management API (CMA) requests will return the unhealthy key in the response:

    {
        "unhealthy":{
            "state":true
        }
    }
    

    Read more about this feature in our API Change Log.

    Expand
  • Ruby SDK Version: 0.4.3 - Release Date: Sep 17, 2021

    Sep 17, 2021

    SDKs and tools

    Dependency update

    • The issue for Monkey patching resolved.
    • Implemented Refine to extend class within module scope.
  • September 6, 2021

    Sep 06, 2021

    Docs & TutorialsContentstack App

    Any regular expression added within the validation property of your content type should be valid. This update will restrict you from saving your content type if an invalid regex has been entered to avoid catastrophic backtracking.

    The Regex Validation property helps you define a set of validation options for a given field. Initially, content types with invalid regexes were saved, and the validation check became time-consuming when executed. Regular expressions like these either freeze the browser or utilize 100% of the CPU core process.


    Expand
  • Invalid Regex Prevention

    Sep 06, 2021

    Contentstack AppAPIs

    Post this release, i.e., September 6, 2021, any regulars expression added within the validation property of your content type should be valid. This update will restrict you from saving your content type if an invalid regex has been entered to avoid catastrophic backtracking.

  • Add Valid Regexes while Creating a Content Type

    Sep 06, 2021

    Contentstack AppAPIs

    With this update, you will be restricted from saving a content type that contains an invalid regular expression. This update will avoid catastrophic backtracking that may end up freezing your browser or utilizing 100% of the CPU core process.

    Learn more about catastrophic backtracking.

  • IOS SDK Version: 3.9.1 - Release Date: Sep 02, 2021

    Sep 02, 2021

    SDKs and tools

    Hotfix:

    • Fixed crash on NSInvalidArgumentException.

  • Ruby SDK Version: 0.4.2 - Release Date: Sep 02, 2021

    Sep 02, 2021

    SDKs and tools

    Dependency update

    • Added URI open on open uri deprecation.
  • Date Range Filtering for Webhook Execution Details

    Aug 19, 2021

    Docs & TutorialsAPIsBreaking changes

    The Get executions of a webhook API request now allows you to filter the webhook execution details based on a particular date range. To do so, you can pass from and to as query parameters within the API request. For both of these parameters, you need to provide a date in ISO format as the value. For instance, to set the start date in the from parameter to December 8, 2017, you can pass the date in ISO format as shown below:

    from="2017-12-08T00:00:00.000Z"
    

    Linking Content Management API Requests with Audit Log

    Audit Log tracks and displays activities (events) performed in a particular stack. Initially, the API response body only contained information about the operations being performed. With multiple API requests being executed throughout the stack by various users, mapping each request was a tedious task.

    After this release, you will be able to view a request_id key in the response body of the GET Audit Log and GET Audit Log Item requests. This key helps map the API requests made throughout a stack with the Audit Log.

    The response schema would look as follows:

    {
      "logs":[
        {
          "uid":"blt6f02145fb8599a9757be",
          "stack":"blt323b040550e614e3",
          "created_at":"2021-08-16T05:51:10.378Z",
          "created_by":"blt151bca2f320b01be",
          "module":"content_type",
          "event_type":"update",
          "request_id":"21028215907fbfe454c88df49ee5352a",
          "metadata":{
            "title":"Audit-log Test",
            "uid":"audit_log_test",
            "version":2,
            "scope":null
          }
        }
      ]
    }
    
    Expand
  • Date Range Filter for Webhook Execution Details and Linking Content Management API Requests with Audit Log

    Aug 19, 2021

    Contentstack AppAPIs
    You can now use the "from" and "to" query parameters to filter the webhook execution details based on a specific date range. Here's more about these query parameters:
    • from: Allows you to provide the start date in ISO format as value, e.g., from="2016-10-07T12:34:36.000Z"
    • to: Allows you to provide the end date in ISO format as value, e.g., to="2017-12-08T00:00:00.000Z"
    Learn more about this update in the Get executions of a webhook API documentation.
    • Linking Content Management API Requests with Audit Log: We have updated the response body of the GET Audit Log and GET Audit Log Item requests with a request_id key which helps map all API requests made throughout a stack with the Audit Log. Let's look at a sample Audit Log schema:
      {
        "logs":[
          {
            "uid":"blt6f02145fb8599a9757be",
            "stack":"blt323b040550e614e3",
            "created_at":"2021-08-16T05:51:10.378Z",
            "created_by":"blt151bca2f320b01be",
            "module":"content_type",
            "event_type":"update",
            "request_id":"21028215907fbfe454c88df49ee5352a",
            "metadata":{
              "title":"Audit-log Test",
              "uid":"audit_log_test",
              "version":2,
              "scope":null
            }
          }
        ]
      }
      
      Learn more about the change in our API Change Log.
    Expand
  • Python SDK Version: 1.6.0 - Release Date: 11 Aug, 2021

    Aug 11, 2021

    SDKs and tools
    • Stack.live_preview_query function added in Stack.
    • Live preview funtions added in config.
  • Python SDK Version:1.5.1 - Release Date: 1 Aug, 2021

    Aug 01, 2021

    SDKs and tools
    • Issue #17 resolved:
      • Stack.sync_init uses the wrong parameter names.
  • July 31, 2021

    Jul 31, 2021

    Docs & Tutorials

    Whenever any webhook fails to send data to the desired notification URL or a session timeout occurs, Contentstack's exponential webhook retry policy attempts to send data to the destination URL again four more times after certain intervals. Setting a resend interval avoids several requests constantly hitting the server and prevents database overload.

    The resend interval time lasts for 5 seconds, by default, for the first retry attempt. It increases exponentially as the retry instance number increases. The exponential backoff formula will look as follows:

    {resend_interval} + {retry_instance} ^ 4
    

    Read our Webhook Retry Policy section to know more.

    Expand
  • Python SDK Version: 1.5.0 - Release Date: 22-Jul-2021

    Jul 22, 2021

    SDKs and tools
    • Contentstack-utils updated to v1.1.0

  • Introducing the JSON-powered Rich Text Editor (JSON RTE) Field

    Jul 17, 2021

    Contentstack AppAPIs

    The new JSON RTE field provides a hassle-free content editing experience for writers and enables developers to render rich-text data across all channels seamlessly. It stores and returns field data in JSON format, allowing developers to serialize the data in any human-readable format, paving the way for a truly omnichannel experience for your customers.

    You can migrate your existing content from the HTML-based RTE to the new JSON RTE field using our CLI or change JSON data of the RTE into HTML using our serializer package. For more information, read our docs.

    Note: This feature is available only in the new Contentstack interface.

    Expand
  • Android SDK Version 3.10.0 - Release Date: Jul 12, 2021

    Jul 12, 2021

    SDKs and tools

    New Features:

    • Support added for updated Utils package.

  • Java SDK Version: 1.7.0 - Release Date: Jul 12, 2021

    Jul 12, 2021

    SDKs and tools

    New Features:

    • Added support for utils function gql.jsonToHtml().

    Bug Fix:

    • Resolved bug
    • Instead stacktrace used logger.error().

  • Permanent Asset URLs

    Jul 08, 2021

    Contentstack AppAPIs

    You can now assign permanent URLs to assets and create custom URLs for every asset. These URLs remain unchanged even if the assets are updated multiple times, so you don’t have to update the referring hyperlinks in entries ever and can maintain your SEO scores. Learn more about permanent asset URLs.

  • Add Custom Languages to Your Stack

    Jul 02, 2021

    Contentstack AppAPIs

    Good news for developers! You don’t have to reach out to our support team any more to get a language added to our list of supported languages. You can add custom languages of your choice to your stack in a click. Here’s how.

  • Add Key-value Choices in Select Field

    Jun 24, 2021

    Contentstack AppAPIs

    You can now add key-value pairs as choices in the Select field. For example, to specify the state code for a state while defining choices in a government website, you can specify key-value pairs such as New York : NY. Learn more about this change in the Select field documentation.

  • Dart SDK Version: 0.3.0 - Release date: Jun 05, 2021

    Jun 05, 2021

    SDKs and tools
    • Package Improvement.
    • Pub dependencies version mismatch fixed.
    • Included UTF-8 encoding.
    • Removed unused dependencies.
  • Ruby SDK Version: 0.4.0 - Release Date: Apr 16, 2021

    Jun 02, 2021

    SDKs and tools

    New Features

    • Embedded feature Support added.
  • Ruby SDK Version: 0.4.1 - Release Date: Jun 02, 2021

    Jun 02, 2021

    SDKs and tools

    Dependency update

    • Updated gemspec dependency.
  • Set Max Limit for Custom Fields that can be Added to Content Types

    May 07, 2021

    Contentstack AppAPIs

    You can now add a maximum of 10 JSON type custom fields per content type. Learn more about this change in the Limitations of Custom Fields section.

  • JavaScript Delivery SDK Version: 3.13.2 - Release Date: May 16, 2021

    Apr 16, 2021

    SDKs and tools

    Dependency:

    • Update Utils SDK dependency version.

  • JavaScript Delivery SDK Version: 3.13.1 - Release Date: Apr 16, 2021

    Apr 16, 2021

    SDKs and tools

    Bug fix:

    • Resolved IE 11 request method issue.

  • .NET SDK Version: 2.6.0 - Release Date: Apr 05, 2021

    Apr 05, 2021

    SDKs and tools

    New Feature:

    • Entry

      • IncludeEmbeddedItems function added

    • Query

      • IncludeEmbeddedItems function added

  • Python SDK Version: 1.4.0 - Release Date: 05 Apr, 2021

    Apr 05, 2021

    SDKs and tools
    • Entry
      • include_embedded_objects support added.
    • Query
      • include_embedded_objects support added.
  • IOS SDK Version: 3.9.0 - Release Date: Apr 05, 2021

    Apr 05, 2021

    SDKs and tools

    New Feature:

    • Entry
      • ‘includeEmbeddedItems’ function added
    • Query
      • ‘includeEmbeddedItems’ function added

  • Dart SDK Version: 0.2.0 - Release Date: Apr 05, 2021

    Apr 05, 2021

    SDKs and tools

    New Features

    • Entry
      • IncludeEmbeddedItems method added.
    • Query
      • IncludeEmbeddedItems method added.

  • Java SDK Version: 1.6.0 - Release Date: Apr 05, 2021

    Apr 05, 2021

    SDKs and tools

    New Features:

    • Query :
      • query.includeEmbeddedItems() method support added.
    • Entry :
      • entry.includeEmbeddedItems() method support added.

  • JavaScript Delivery SDK Version: 3.13.0 - Release Date: Apr 05, 2021

    Apr 05, 2021

    SDKs and tools

    Update API:

    • Query
      • Added support for method includeEmbeddedItems.
    • Entry
      • Added support for method includeEmbeddedItems.
  • PHP SDK Version: 2.0.0 - Release Date: 02 Apr, 2021

    Apr 02, 2021

    SDKs and tools

    New Feature

    • Sync API support added.

    Enhancement

    • Added PSR 4 Standardized implementation.

  • PHP SDK Version: 1.8.1 - Release Date: 17 Mar, 2021

    Mar 17, 2021

    SDKs and tools

    Bug Fix

    • Updated addQuery method to pass non-encoded Json to Query object.

    • Removed parameter-check on functions that pass default values.

  • Ruby SDK Version: 0.3.0 - Release Date: Mar 17, 2021

    Mar 17, 2021

    SDKs and tools

    New Features

    • Sync API module support added.
  • IOS SDK Version: 3.8.2 - Release Date: Mar 05, 2021

    Mar 05, 2021

    SDKs and tools

    Bug Fix:

    • X User agent updates for API calls.

  • Android SDK Version: 3.8.2 - Release Date: Mar 05, 2021

    Mar 05, 2021

    SDKs and tools

    Changes:

    • Updated X-User-Agent to the header.

  • Python SDK Version: 1.3.0 - Date: 26 Feb, 2021

    Feb 26, 2021

    SDKs and tools
    • Retry policy and timeout support included.
    • Set default timeout to 30 sec.
  • Java SDK Version: 1.5.7 - Release Date: Feb 20, 2021

    Feb 20, 2021

    SDKs and tools

    Changes:

    • Document updated.

  • JavaScript Delivery SDK Version: 3.12.2 - Release Date: 19-Feb-2021

    Feb 19, 2021

    SDKs and tools

    API timeout:

    • Updated timeout to min 30-sec.

    Enhancement Typescript:

    • Support added Boolean value:
      • [Query] - where, equalTo, notEqualTo.

  • Java SDK Version: 1.5.6 - Release Date: Jan 27, 2021

    Jan 27, 2021

    SDKs and tools

    Changes:

    • Document updated.

    New Features:

    • None
  • IOS SDK Version: 3.8.1 - Release Date: Jan 22, 2021

    Jan 22, 2021

    SDKs and tools

    Bug Fix:

    • Content Type fetch Url issue resolved.
  • Java SDK Version: 1.5.5 - Release Date: Jan 22, 2021

    Jan 22, 2021

    SDKs and tools

    Bug fix:

    Error contains information like

    • Error message
    • Error code
    • Error Details

    Language Enum:

    • GERMEN changed to GERMAN.
    • Deprecated Language Enum.
    • Deprecated LanguageCode Enum.

    New Features:

    None

  • JavaScript Delivery SDK Version: 3.12.1 - Release Date: Jan 22, 2021

    Jan 22, 2021

    SDKs and tools

    Bug fix:

    • Fixed Unhandled promise rejection on HTML response body.

  • .NET SDK Version: 2.8.0 - Release Date: Jan 11, 2021

    Jan 11, 2021

    SDKs and tools

    Bug fix:

    • Live preview Query issue.

    New Feature:

    • Entry

      • IncludeOnlyReference function added.

      • IncludeExceptReference function added.

    • Query

      • IncludeOnlyReference function added.

      • IncludeExceptReference function added.

  • Release of January 11, 2021 - Force user to type the name of the delivery token before deleting

    Jan 11, 2021

    Contentstack AppAPIs
    • Confirmation Step to Delete Delivery Token: We now force the user to type and confirm the name of the delivery token that they want to delete. Refer to the Delete a Delivery Token section to learn more about this change.
    • New Languages: We added a number of languages to the existing list of supported languages in which you can localize your entry. Learn more about these "Supported Languages".
    Expand
  • Python SDK Version: 1.2.0 - Release Date: 08 Dec, 2020

    Dec 20, 2020

    SDKs and tools
    • include_fallback support added

    • Timeout support included

    • Entry

      • added support for include_fallback.

    • Asset

      • added support for include_fallback.

    • AssetQueryable

      • added support for include_fallback.

    • Query

      • added support for include_fallback.

  • December 16, 2020

    Dec 16, 2020

    Docs & TutorialsAPIsBreaking changes

    We have stopped supporting Access Token for all stacks created post this release, i.e., December 16, 2020. For stacks created after this release, the Access Token will no longer be generated. Instead, you need to use the value of the environment-specific Delivery Token against the ‘access_token’ key to make authorized Content Delivery API (CDA) or CDN requests. Subsequently, you can use Management Tokens to make Content Management API (CMA) requests.

    For stacks created before December 16, 2020, we will continue to support Access Tokens. However, we strongly recommend switching to Delivery Tokens and Management Tokens for the respective API requests mentioned above.

    Read our FAQs on Access Token Removal to know more.

    Note: Though we have stopped supporting Access Tokens, we haven’t removed the usage of the ‘access_token’ key for Content Delivery API requests. To make authorized Content Delivery API requests, you need to now pass the value of the delivery token against the access_token key.

    Expand
  • Access Tokens Deprecation for New Stacks and Improvements in Upload Asset API Request

    Dec 16, 2020

    Contentstack AppAPIs
    • Access Tokens Deprecation: We have stopped supporting Access Tokens for stacks created after December 16, 2020. This means that we will not generate Access Tokens for new stacks. You need to use Delivery Tokens for making authorized Content Delivery API requests and use Management Token or Authtoken for Content Management API requests.
      Learn more about this change through our FAQs on Access Token Removal.
    • Improvements in Upload Asset API Request: We now provide the ability to include image dimensions (height and width) in the API response while uploading an asset. You need to pass the include_dimension=true query parameter while running the API request.
      Learn how to upload an asset using our Content Management API.
    Expand
  • Dart SDK Version: 0.1.1 - Release Date: Dec 08, 2020

    Dec 08, 2020

    SDKs and tools
    • Entry
      • Publish fallback method added
    • Query
      • Publish fallback method added
    • Asset
      • Publish fallback method added
    • Assets
      • Publish fallback method added
  • Java SDK Version: 1.5.4 - Release Date: Dec 08, 2020

    Dec 08, 2020

    SDKs and tools

    New Features:

    • Entry
      • Publish fallback method added.
    • Query
      • Publish fallback method added.
    • Asset
      • Publish fallback method added.
      • includeDimension method added.
    • Assets
      • Publish fallback method added

  • .NET SDK Version: 2.5.0 - Release Date: Dec 05, 2020

    Dec 05, 2020

    SDKs and tools

    Update API:

    • AssetLibrary

      • IncludeFallback function added

      • SetLocale function added

    • Asset

      • IncludeFallback function added

      • SetLocale function added

    • Entry

      • IncludeFallback function added

    • Query

      • IncludeFallback function added

  • PHP SDK Version: 1.8.0 - Release Date: 5 Dec, 2020

    Dec 05, 2020

    SDKs and tools

    New Feature

    • Entry

      • Added support for function 'includeFallback'.

    • Query 

      • Added support for function 'includeFallback'.

  • IOS SDK Version: 3.8.0 - Release Date: Dec 05, 2020

    Dec 05, 2020

    SDKs and tools

    Update API:

    • Asset
      • ‘includeFallback’ function added
    • AssetLibrary
      • ‘includeFallback’ function added
    • Entry
      • ‘includeFallback’ function added
    • Query
      • ‘includeFallback’ function added
  • Ruby SDK Version: 0.2.0 - Release Date: Dec 5, 2020

    Dec 05, 2020

    SDKs and tools

    New Features

    • Entry
      • locale - function for passing locale is added.
      • only - function for getting only specified field.
      • except - function for getting field except for specified field.
      • include_reference - function for including a reference in an entry.
      • include_schema - function for including schema along with entry added.
      • include_content_type - function for including content type details along with entry added.
      • include_owner - function for getting the owner of an entry.
      • include_fallback - function for getting published fallback locale content if specified locale content is not published.
    • Query
      • include_fallback - function for getting published fallback locale content if specified locale content is not published.
    Expand
  • Stockholm Release - Retrieve Fallback Language Content for Published Entries

    Dec 05, 2020

    Contentstack AppAPIs

    When fetching published content, if the requested entry is not available for the specified language, you can get its published fallback language content in the same API request. You no longer need to make multiple queries or write custom code to get the fallback language content. Learn how to retrieve fallback language content for published entries.

    Expand
  • December 4, 2020

    Dec 04, 2020

    Docs & TutorialsAPIs

    Adding support for the include_fallback query parameter for the following Content Delivery API requests: Get All Entries, Get Single Entry, Get All Assets, and Get Single Asset.

    Using the include_fallback=true parameter in the above API requests, you can fetch published content from the fallback languages, if the requested entry is not available for the specified language.

    You can refer to our API documentation on entries and assets to learn more about retrieving published fallback content. Additionally, you can learn more about this feature in our Retrieve Fallback Language Content for Published Entries guide.

    Expand
  • Release of November 4 - Limited Webhook Retry Attempts

    Nov 04, 2020

    Contentstack AppAPIs
    • In case of a failure or if a session timeout occurs (webhook request timeout is 30 seconds), the webhook will immediately retry to send data to the destination URL again for three more times. After three unsuccessful attempts, the webhook will not make any further attempts automatically. However, you can trigger the webhook manually up to seven more times by clicking on the Retry link.
      Learn how to view webhook logs.
    Expand
  • PHP SDK Version: 1.7.0 - Release Date: 27 Oct, 2020

    Oct 27, 2020

    SDKs and tools

    New Feature

    • Packagist support added 

  • JavaScript Delivery SDK Version: 3.11.0 - Release Date: Sep 25, 2020

    Sep 25, 2020

    SDKs and tools

    Update API:

    • Retry limit for fetch request.
    • Retry delay option for fetch request.
    • Retry on error occurs for fetch request.
    • Typescript definition added.

    Enhancement Documentation

    • Documentation update for Only and Except.
  • September 25, 2020

    Sep 25, 2020

    Docs & Tutorials

    You can create discussions for each of the subfields present inside “Group,” “Modular Blocks,” or “Global” fields. However, when you mark the parent field as multiple, the discussion fails to recognize which subfield was linked to it.

    To identify each instance of a field marked as “Multiple”, we send the _metadata key in the response of GET requests for draft entries. This key contains the unique ID assigned to each field instance.

    This is useful in cases where “Group,” “Modular Blocks,” or “Global” fields have comments added to multiple instances of their subfields.

    For example, consider an entry named “Demo Entry” that consists of the “Employee Address” Global field. If the Global field has been marked as “Multiple”, then the following response is returned for a “Get entry” API request:

    {
        "entries": [
            {
                "_version": 6,
                "locale": "en-us",
                "uid": "blt60e06920a98836a6",
                "ACL": {},
                "_in_progress": false,
                "created_at": "2020-04-08T03:05:37.254Z",
                "created_by": "blt42e55757d70d5f81026a2b9f",
                "employee_address": [
                    {
                        "rich_text_editor": "Sample address",
                        "boolean": true,
                        "_metadata": {
                            "uid": "csc8c89feb26118172"
                        }
                    },
                    {
                        "rich_text_editor": "<p>Two are there.</p>",
                        "boolean": true,
                        "_metadata": {
                            "uid": "cs1d57fbd82e175ba7"
                        }
                    }
                ],
                "title": "Demo Entry",
                "updated_at": "2020-10-21T13:34:52.718Z",
                "updated_by": "blt6563a9b067fc1bc9",
                "url": "/demo",
                "publish_details": [
                    {
                        "environment": "bltfd8970c7bd9cb0cb",
                        "locale": "en-us",
                        "time": "2020-10-21T13:40:35.127Z",
                        "user": "blt6563a9b067fc1bc9",
                        "version": 6
                    }
                ]
            }
        ]
    }
    
    
    Expand
  • Entry Comments Feature Release

    Sep 25, 2020

    Contentstack AppAPIs
    • Contentstack provides the ability to add comments to entry fields. With this feature, content managers can add comments to fields of an entry and reply inline, letting them initiate discussions around the content to collaborate efficiently. Learn how to work with entry comments.
  • August 31, 2020

    Aug 31, 2020

    Docs & Tutorials

    We have deprecated the include_workflow parameter for all Content Delivery API (CDA) or CDN requests. For stacks created post this release, i.e., August 31, 2020, users will no longer be able to fetch workflow stage details for published entries. However, for stacks created before this release, users will be able to retrieve workflow stage details for existing published entries. Read more about adding workflows and workflow stages.

    Expand
  • Release of August 31, 2020 - Concise Webhook Payloads and Option to Require Unique URLs in a Stack

    Aug 31, 2020

    Contentstack AppAPIs
    • Contentstack allows you to send a concise JSON payload to the specified URL whenever the selected event occurs. Learn how to send concise webhook payload.
    • Contentstack allows you to ensure that entry URLs are not duplicated across the stack and provide a warning when a duplicate URL is detected. This can be done through the API. Read more.
    Expand
  • Organization Bulk Task Queue and GraphQL Beta Hotfix 0.1.2

    Aug 25, 2020

    Contentstack AppAPIs
    • GraphQL Beta Hotfix 0.1.2: The Contentstack GraphQL API Beta version underwent the following changes in Hotfix 0.1.2:
      • The maximum objects that can be fetched in a single query is 7,500.
      • Contentstack’s GraphQL API paginates all the items referred in the Reference field, irrespective of whether they have been published or not.
      Read more about the Contentstack GraphQL API Beta.
    • Organization Bulk Task Queue: The "Bulk Task Queue" section under "Organization Settings" displays the queue of bulk operations that the users of your organization perform. Read more about the Bulk Task Queue.
    • Enable or Disable Releases through Super Admin: Incorporated the ability to disable the "Releases" feature from super admin.
    • Select Field: Added the ability to select all options when entering data for a Select field in the entry.
    Expand
  • .NET SDK Version: 2.4.0 -  Release Date: Aug 12, 2020

    Aug 12, 2020

    SDKs and tools

    Update API:

    • AssetLibrary

      • Count function added

      • Limit, Skip functionality added

      • Only, Except function added

    • Query

      • Count function added

    • CSJsonConverter

      • Added class CSJsonConverter to allow autoloading of converters

    Enhancement

    • Stack

      • Sync function to allow multiple SyncType

    Bug Fixes

    • Entry

      • GetContentType exception resolved

    Deprecation

    • Stack

      • AccessToken deprecated with support to add DeliveryToken

    Expand
  • Python SDK Version: 1.1.0 - Release Date: 10 Aug, 2020

    Aug 10, 2020

    SDKs and tools
    • include_reference issue fixed.
    • EntryQueryable
      • updated include_reference function.

  • Android SDK Version: 3.8.0 - Release Date: Dec 08, 2020

    Aug 08, 2020

    SDKs and tools

    New Features:

    • Asset
      • Support added for includeFallback
      • Support added for includeDimension
    • AssetQuery
      • Support added for includeFallback
    • Entry:
      • Support added for includeFallback
    • Query:
      • Support added for includeFallback

  • Java SDK Version: 1.5.3 - Release Date: Jul 28, 2020

    Jul 28, 2020

    SDKs and tools

    Bug Fix:

    • Fixed the following issues:
      • Build Issue and
      • Build update.

  • Java SDK Version: 1.5.2 - Release Date: Jul 23, 2020

    Jul 23, 2020

    SDKs and tools

    Bug Fix:

    • Bump Issue :
      • Bump Issue: log4j-core from 2.5 to 2.13.2.

    Changes:

    • Query :
      • Query.locale() documentation.

    New Features:

    • CSHttpConnection :
      • StandardCharsets.UTF_8 Support Added.

  • Rome Release - Contentstack GraphQL API Beta Version

    Jul 23, 2020

    Contentstack AppAPIs
    • The Contentstack GraphQL API Beta version is now publicly available. This version facilitates optimized schema handling, returns error debugging responses, uses database resources efficiently, prevents malicious requests to the database, and has an increased rate limit. Read more about the Contentstack GraphQL API Beta.
    • Download and install our latest Postman Collection that covers all the GraphQL Content Delivery API endpoints for Contentstack.
    Expand
  • Queens Release - The Trash

    Jul 06, 2020

    Contentstack AppAPIs
    • Trash maintains a backup of all deleted items for up to 14 days from the date of deletion. You can restore the deleted items back to their original condition before they are permanently deleted. The following items are stored in the Trash after being deleted:
      • Content Types
      • Global Fields
      • Entries
      • Assets

    Read more about the Trash feature.

    Expand
  • JavaScript Delivery SDK Version: 3.10.1 - Release Date: Jun 29, 2020

    Jun 29, 2020

    SDKs and tools

    Update API:

    • Included Content-Type in Entry.
  • June 24, 2020

    Jun 24, 2020

    Docs & TutorialsBreaking changesAPIs

    Following changes have been introduced to new stacks of Organizations created post this release, i.e., June 24, 2020:

    • Users will no longer be able to use the stack Access Token to make authorized Content Delivery API (CDA) or CDN requests. Instead, you need to use the value of the environment-specific delivery token of the stack against the access_token key. Read more about the relevant authentication parameters.
    • Users will no longer be able to pass authentication parameters such as api_key (Stack API key), access_token (Access Token of the stack), authtoken (user-generated authtoken), and authorization (Management token of the stack) as query parameters for any stack-specific API requests. Read more about Queries.
    Expand
  • .NET SDK Version: 2.3.0 -  Release Date: Jun 22, 2020

    Jun 22, 2020

    SDKs and tools

    Update API:

    • GetEnvironment issue resolved.

    • GetDeleted at Method addedAssetLibrary.

    • SyncType issue resolved.

  • JavaScript Delivery SDK Version: 3.10.0 - Release Date: Jun 19, 2020

    Jun 19, 2020

    SDKs and tools

    API timeout:

    • Removed default timeout for request.

  • Python SDK Version: 1.0.0 - Release Date: 17 Jun, 2020

    Jun 17, 2020

    SDKs and tools

    Initial release

    • The initialization of stack has been modified

    • External config support moved to stack initialisation optional paramters

    • Added support for whereIn(String key) and whereNotIn(String key) methods in Query

    • Assets

      • Changes incorporated in Asset class.

    • Entry

      • Changes incorporated in the entry class.

    • Query

      • Changes incorporated in the Query class.

    Expand
  • JavaScript Delivery SDK Version: 3.9.0 - Release Date: Jun 17, 2020

    Jun 17, 2020

    SDKs and tools

    Update API:

    • Allowed support to add a timeout for requests.
    • Fetch option added for request.

  • Release of June 02, 2020 - Enable or Disable Webhooks

    Jun 02, 2020

    Contentstack AppAPIs
  • Dart SDK Version: 0.1.0 - Release Date: May 11, 2020

    May 11, 2020

    SDKs and tools
    • Initial release for the Contentstack-dart-sdk for Content Delivery API.
  • PHP SDK Version: 1.6.1 - Release Date: 08 May, 2020

    May 08, 2020

    SDKs and tools

    Bug

    • Stack api key and access token moved to the header.

  • Ruby SDK Version: 0.1.0 - Release Date: May 8, 2020

    May 08, 2020

    SDKs and tools

    Bug

    • Stack Tokens Moved to Headers.
  • Dart SDK Version: 0.0.1 - Release Date: May 08, 2020

    May 08, 2020

    SDKs and tools
    • Beta release for the Contentstack-dart-sdk for Content Delivery API.
  • Port Louis Release

    Apr 24, 2020

    Contentstack AppAPIs
    • Edit Access Permissions for Workflow Stages: A stack administrator or developer, can now define who can edit entries on different stages of a workflow. This access control ensures that your content reaches the end of its lifecycle, without any unwanted modifications. Read more about setting edit access permissions on workflow stages.
    • Webhook Log Enhancements: You can now filter out the Webhook Logs information according to days by using the date filter located at the top of the page. Additionally, you can apply the Call Status filter to retrieve only the logs with successfully triggered webhooks.
    • Contentstack Extensions SDK Enhancements: Extension fields that support data types such as text, number, boolean, or date can now programmatically change the data of another extension field using the field.setData() function. The field.onChange() function is called as soon as the other extension field witnesses change in data. We have also added the following new methods for the Entry class:
      • onChange(): Executes the callback function every time an entry has been updated.
      • onPublish(): Executes the callback function every time an entry has been published with the respective payload.
      • onUnpublish(): Executes the callback function every time an entry has been unpublished with the respective payload.
        Refer to the Extensions SDK API Reference document to learn more about the changes.
    Expand
  • Paris Release - Complex Global Fields

    Apr 17, 2020

    Contentstack AppAPIs
    • You can now add the “Group,” “Modular Blocks,” and “Reference” fields, along with other fields, to the Global fields. Also, you can add Global fields within Group fields or use Global field as a block within the Modular Blocks field. This means that developers can create really complex structures and use them across multiple content types. Read more about Complex Global Fields.

    Read more about Complex Global Fields.

    Expand
  • Release of March 20, 2020

    Mar 20, 2020

    Contentstack AppAPIs
    • Contentstack allows you to delete multiple localized versions of an entry right from the “Delete” modal of the master language version of the entry. Read more.
    • Area-specific languages allow you to create content that caters to a specific continent or a group of politically or economically influential countries (for example, all Latin American regions). Read more.
    Expand
  • Enhanced Image Optimization Parameters

    Mar 13, 2020

    Contentstack AppAPIs
    • Contentstack's Image Delivery API now provides enhanced image optimization parameters that serve pixel-perfect and bandwidth efficient images to your devices. The new parameters are: Smart and Fail-safe Cropping parameters, Canvas, Overlay Pad, Brightness, Contrast, Saturation, Resize-filter, Sharpen, Blur, and Frame.

    Refer to the Image Delivery API documentation to learn how to use these parameters.

    Expand
  • PHP SDK Version: 1.6.0 - Release Date: 04 Mar, 2020

    Mar 04, 2020

    SDKs and tools

    Bug

    • The issue with the name of the Query function in Asset has been resolved:
      • updated baseQuery function name to addQuery.

  • Android SDK Version: 3.8.1 - Release Date: Feb 18, 2020

    Feb 18, 2020

    SDKs and tools

    New Features:

    • Asset
      • Support added for includeFallback
      • Support added for includeDimension
    • AssetQuery
      • Support added for includeFallback
    • Entry:
      • Support added for includeFallback
    • Query:
      • Support added for includeFallback

  • .NET SDK Version: 2.2.1 - Release Date: Feb 17, 2020

    Feb 17, 2020

    SDKs and tools

    Update API:

    • Query

      • update function ‘IncludeOwner’

    • Entry

      • update function ‘IncludeOwner’

  • PHP SDK Version: 1.5.1 - Release Date: 17 Feb, 2020

    Feb 17, 2020

    SDKs and tools

    Bug

    • Query array passing issue resolved

  • Java SDK Version: 1.5.1 - Release Date: Jan 13, 2020

    Jan 13, 2020

    SDKs and tools

    Bug Fix:

    • Dependency vulnerability Java GitHub reported a vulnerable issue on dependency Log4j.

  • Nashville Release - Enhanced Advanced Search Capabilities & Bulk Actions on Search Results

    Dec 07, 2019

    Contentstack AppAPIs
    • Bulk Actions on Search Results: Content managers can now perform bulk actions on the result set of Basic or Advanced searches. The bulk action options available are Publish, Unpublish, Delete, and Change Workflow Details.
    • Perform Advanced Search Within Multiple Content Types: While using Advanced search, you can now select multiple content types within which you want to perform the search (previously, a search could be done on a single content type or all content types). This offers more flexibility to content managers and helps in getting accurate results.
    • Adding support for ‘Workflow Stage’ option in Advanced Search: You can now search entries by their workflow stage, provided they are associated with the same workflow.

    Read more about these features.

    Expand
  • Madison Release - Nested Modular Blocks & Reference and File Field Type for Custom Field Extensions

    Nov 24, 2019

    Contentstack AppAPIs
    • Nested Modular Blocks: Developers can now add Modular Blocks within a Modular Block field while creating a content type. This enables content managers to create complex, flexible content pages without the help of developers. Read more.
    • Reference and File Field Type for Custom Field Extensions: Developers can now save the input data of their custom field extensions in the form of Reference or File data types. Read more.
    Expand
  • PHP SDK Version: 1.5.0 - Release Date: 21 Nov, 2019

    Nov 21, 2019

    SDKs and tools

    New Feature

    • Region support added

  • JavaScript Delivery SDK Version: 3.8.1 - Release Date: Nov 19, 2019

    Nov 19, 2019

    SDKs and tools

    Update API:

    • Entry
      • Updated in entry module.

  • PHP SDK Version: 1.4.0 - Release Date: 18 Nov, 2019

    Nov 18, 2019

    SDKs and tools

    Enhancement

    • Stack 

      • Added support for function 'getContentType'

    • ContentType

      • updated function 'fetch'

    • Query

      • Added support for function 'includeContentType'

  • Python SDK Version: 0.1.0 - Release Date: November 18, 2019

    Nov 18, 2019

    SDKs and tools

    Beta release

    • Initial release for the Contentstack-python-sdk for Content Delivery API.
  • .NET SDK Version: 2.2.0 - Release Date: Nov 15, 2019

    Nov 15, 2019

    SDKs and tools

    Update API:

    • Stack

      • update function ‘GetContentType:’

    • ContentType

      • update function ‘Fetch:’

  • Android SDK Version: 3.7.0 - Release Date: Nov 15, 2019

    Nov 15, 2019

    SDKs and tools

    New Features:

    • Stack:
      • Support added for function getContentType()
    • ContentType:
      • Updated function fetch()
    • Query:
      • Updated support for whereIn(String KEY, Query queryObject)
    • Query:
      • Updated support for whereNotIn(String KEY, Query queryObject)
  • Java SDK Version: 1.5.0 - Release Date: Nov 15, 2019

    Nov 15, 2019

    SDKs and tools

    New Features:

    • Stack:
      • Added support for function getContentType().
    • ContentType:
      • Updated function fetch().
    • Query:
      • Updated support of whereIn(String KEY, Query queryObject).
    • Query:
      • Updated support of whereNotIn(String KEY, Query queryObject).

  • JavaScript Delivery SDK Version: 3.8.0 - Release Date: Nov 15, 2019

    Nov 15, 2019

    SDKs and tools

    New Features:

    • Stack
      • Added support for method getContentType().

    Update API:

    • ContentType:
      • Updated method fetch().

  • Introducing Global Fields

    Nov 15, 2019

    Contentstack AppAPIs
    • Global Field: A 'Global Field' is a standalone, reusable field (or group of fields) that you can create once and use in multiple content types. It eliminates the need to create the same bunch of fields repeatedly in different content types. For example, an ‘SEO’ Global Field can be used to quickly add the subfields “Meta Title” and “Meta Data” across content types. Read more
  • JavaScript Delivery SDK Version: 3.7.1 - Release Date: Nov 05, 2019

    Nov 05, 2019

    SDKs and tools

    New Features:

    • Query:
      • Support added for the method includeReferenceContentTypeUID.
    • Entry:
      • Support added for the method includeReferenceContentTypeUID.
  • PHP SDK Version: 2.1.0 - Release Date: 29 Oct,2021

    Oct 29, 2019

    SDKs and tools

    New Feature

    • Live Preview feature support added.

    • Content branching feature support added.

  • IOS SDK Version: 3.6.4 - Release Date: Oct 25, 2019

    Oct 25, 2019

    SDKs and tools

    New Features:

    • CSError
      • added a new class
    • CSNetworking
      • Implemented Contentstack Networking library
  • October 18, 2019

    Oct 18, 2019

    Docs & TutorialsAPIs
    • Management Token is a stack-level read-write token that lets you make authorized Content Management API requests. The token value needs to be passed in the new authorization header parameter. Read more about this token in the Authentication section.
    • The Get executions of a webhook API request will return a maximum of 100 records while fetching the execution details for a specific webhook. Previously, there was no limit on the number of records returned.
    Expand
  • Kansas Release - Introducing Management Tokens

    Oct 18, 2019

    Contentstack AppAPIs
    • Management Tokens for your stack: Management Tokens are stack-specific, read-write tokens, used along with the Stack API key to make authorized Content Management API (CMA) requests. While Authtokens are user-specific, Management Tokens are not personal and no role-specific permissions are applicable to them. They are recommended to be used when you do not wish to use Authtokens in CMA requests, for example, for third-party integrations, in automation scripts, or for SSO-enabled organizations. Read more.
    Expand
  • Jackson Release - Asset Folder-level Permissions & Improved Error Messages

    Oct 01, 2019

    Contentstack AppAPIs
    • Set asset folder-level permissions: While setting up or modifying custom roles, you can now assign permissions to asset folders and subfolders as well. This allows flexible and granular access control over the asset folders of your stack. Read more.

    Improvements

    • Improved error messages on content type builder page: The new error messages are now crisper, friendlier, and more accurate than before. This ensures that you can save time diagnosing a problem and focus on fixing it right away. Read more.
    Expand
  • Gatsby Preview Extension

    Sep 13, 2019

    Contentstack App
    • Introducing “Gatsby Preview” extension: The Gatsby Preview widget extension helps content managers preview content changes instantly on their “Contentstack + Gatsby” websites and web apps. Read more.
  • .NET SDK Version: 2.1.1 - Release Date: Sept 03, 2019

    Sep 03, 2019

    SDKs and tools

    New Features:

    • Config

      • added property attribute ‘region’.

    • Query

      • added method ‘ReferenceIn’.

      • added method ‘ReferenceNotIn’.

  • IOS SDK Version: 3.6.1 - Release Date: Sept 03, 2019

    Sep 03, 2019

    SDKs and tools

    New Features:

    • Config
      • added property attribute ‘region’
    • Query
      • added method ‘whereKey:in:’
      • added method ‘whereKey:notIn:’
  • Ruby SDK Version: 0.0.4 - Release Date: Sep 3, 2019

    Sep 03, 2019

    SDKs and tools

    Enhancement

    • Region support added.
  • Java SDK Version: 1.4.2 - Release Date: Sep 03, 2019

    Sep 03, 2019

    SDKs and tools

    New Features:

    • Config
      • Added support for Region in Config.

  • Idaho Release - Dashboard 2.0

    Aug 30, 2019

    Contentstack AppAPIs
    • Set preferences for your Dashboard and its widgets: You can now reorder the widgets on your stack Dashboard, and choose to show or hide them. Dashboard account preferences now work everywhere,  irrespective of the device or browser you use to access your stack. Read more.
  • Android SDK Version: 3.6.1 - Release Date: Aug 23, 2019

    Aug 23, 2019

    SDKs and tools

    New Features:

    • Query:
      • Support added for whereIn(String key) and whereNotIn(String key) methods in Query.
    • Config:
      • Support added for setRegion(ContentstackRegion region) in Config class.

  • Deprecation of TLS 1.0 and 1.1

    Aug 23, 2019

    APIs
    • TLS 1.0 and 1.1 have been deprecated and will not longer be supported. Read more.
    • Please reach out to Contentstack Support or your dedicated Customer Success Manager with questions.
  • Java SDK Version: 1.4.1 - Release Date: 21-Aug 21, 2019

    Aug 21, 2019

    SDKs and tools

    New Features

    • Query
      • Added support for whereIn(String key) and whereNotIn(String key) methods.
    • CSAppConstants
      • Removed Google internet connection check from CSAppConstants.

  • Bulk Publish Localized Entry Versions and Non-localizable Fields

    Aug 09, 2019

    Contentstack AppAPIs
    • Bulk publish localized entry versions: You can now bulk publish the localized versions of an entry from the master language entry. Read more.
    • Non-localizable Field: Specify fields as “non-localizable,” such as a URL or an image field that doesn’t require translation, to ensure that the contents of the fields are not editable in local entries. Read more.
    Expand
  • PHP SDK Version: 1.3.0 - Release Date: 02 Aug, 2019

    Aug 02, 2019

    SDKs and tools

    Enhancement

    • Query and Entry

      • The 'includeReferenceContentTypeUID' method includes the content type UIDs of the referenced entries returned in the response.

  • .NET SDK Version: 2.1.0 - Release Date: Jul 29, 2019

    Jul 29, 2019

    SDKs and tools

    New Features:

    • Query

      • added method ‘includeReferenceContentTypeUid’.

    • Entry

      • added method ‘includeReferenceContentTypeUid’.

  • IOS SDK Version: 3.6.0 - Release Date: Jul 29, 2019

    Jul 29, 2019

    SDKs and tools

    New Features:

    • Query
      • added method ‘includeReferenceContentTypeUid’
      • added method ‘locale’
    • Entry
      • added method ‘includeReferenceContentTypeUid’
      • added method ‘includeContentType’
      • added method ‘locale’

    API deprecation:

    • Query
      • deprecated method ‘language’
    • Entry
      • deprecated method ‘language’

    API removed:

    • Config
      • removed property attribute ‘ssl’
      • removed method ‘includeSchema’
    • Stack
      • removed property attribute ‘ssl’

    Expand
  • JavaScript Delivery SDK Version: 3.7.0 - Release Date: Jul 29, 2019

    Jul 29, 2019

    SDKs and tools

    New Features:

    • Query:
      • Support added for the method includeReferenceContentTypeUID.
    • Entry:
      • Support added for the method includeReferenceContentTypeUID.
  • July 29, 2019

    Jul 29, 2019

    Docs & Tutorials

    The upgraded Reference field now allows you to add references to the entries of multiple content type. For example, the “Sample” Reference field in your “Demo” content type can refers to the “Content Type 1,” "Content Type 2", ... content types. So, while creating an entry for the “Demo” content type, the content manager can add any entry from the above mentioned content types as a reference to the “Sample” field.

    This has an impact on some of the existing API Requests. They are as follows:

    Create a content type

    OLDNEW
    Method: POST/PUTMethod: POST/PUT
    URL: https://api.contentstack.io/v3/content_typesURL: https://api.contentstack.io/v3/content_types
    Request Body

    {

    "content_type": {

    "title": "Old content type",

    "uid": "old_content_type",

    "schema": [{

    "display_name": "Title",

    "uid": "title",

    "data_type": "text"

    "field_metadata": {

    "_default": true

    },

    "unique": true,

    "mandatory": true,

    "multiple": true,

    }, {

    "data_type": "reference",

    "display_name": "Reference",

    "reference_to": "referred_content_type",

    "field_metadata": {

    "ref_multiple": true

    },

    "uid": "reference",

    "mandatory": false,

    "multiple": false,

    "unique": false

    }],

    "options": {

    "title": "title",

    "publishable": true,

    "is_page": false,

    "singleton": false,

    "sub_title": [],

    "url_pattern": false,

    "url_prefix": ""

    }

    }

    }

    Request Body

    {

    "content_type": {

    "title": "Content Type With Multiple Content Type Referencing Field",

    "uid": "content_type_with_multiple_content_type_referencing_field",

    "schema": [{

    "display_name": "Title",

    "uid": "title",

    "data_type": "text",

    "field_metadata": {

    "_default": true,

    },

    "unique": true,

    "mandatory": true,

    "multiple": true

    }, {

    "data_type": "reference",

    "display_name": "Reference",

    "reference_to": ["content_type_1", "content_type_2"],

    "field_metadata": {

    "ref_multiple_content_types": true,

    "ref_multiple": true

    },

    "uid": "reference",

    "mandatory": false,

    "multiple": false,

    "unique": false

    }],

    "options": {

    "title": "title",

    "publishable": true,

    "is_page": false,

    "singleton": false,

    "sub_title": [],

    "url_pattern": false,

    "url_prefix": ""

    }

    }

    }

    Response Body

    {

    "notice": "Content Type updated successfully.",

    "content_type": {

    "title": "Old content type",

    "uid": "Old_content_type",

    "schema": [{

    "display_name": "Title",

    "uid": "title",

    "data_type": "text",

    "field_metadata": {

    "_default": true

    },

    "unique": true,

    "mandatory": true,

    "multiple": false

    }, {

    "data_type": "reference",

    "display_name": "Reference",

    "reference_to": "referred_content_type",

    "field_metadata": {

    "ref_multiple": true

    },

    "uid": "reference",

    "unique": false,

    "mandatory": false,

    "multiple": false

    }],

    "options": {

    "title": "title",

    "publishable": true,

    "is_page": false,

    "singleton": false,

    "sub_title": [],

    "url_pattern": false,

    "url_prefix": ""

    }

    }

    }

    Response Body

    {

    "notice": "Content Type updated successfully.",

    "content_type": {

    "title": "Content Type With Multiple Content Type Referencing Field",

    "uid": "content_type_with_multiple_content_type_referencing_field",

    "schema": [{

    "display_name": "Title",

    "uid": "title",

    "data_type": "text",

    "field_metadata": {

    "_default": true

    },

    "unique": true,

    "mandatory": true,

    "multiple": false

    }, {

    "data_type": "reference",

    "display_name": "Reference",

    "reference_to": ["content_type_1", "content_type_2"],

    "field_metadata": {

    "ref_multiple_content_types": true,

    "ref_multiple": true

    },

    "uid": "reference",

    "mandatory": false,

    "multiple": false,

    "unique": false

    }],

    "options": {

    "title": "title",

    "publishable": true,

    "is_page": false,

    "singleton": false,

    "sub_title": [],

    "url_pattern": false,

    "url_prefix": ""

    }

    }

    }

    Create an entry

    OLDNEW
    Method: POST/PUTMethod: POST/PUT
    URL: https://api.contentstack.io/v3/content_types/:content_type_uid/entries/:entry_uidURL: https://api.contentstack.io/v3/content_types/:content_type_uid/entries/:entry_uid
    Request Body

    {

    "entry": {

    "title": "Old Entry",

    "uid": "old_entry",

    "reference_field": ["blt1231232123123"],

    "tags": []

    }

    }

    Request Body

    {

    "entry": {

    "title": "New Entry",

    "uid": "new_entry",

    "reference_field": [{

    "uid": "blt111111111111",

    "_content_type_uid": "footer"

    }, {

    "uid": "blt123123123123",

    "_content_type_uid": "author"

    }],

    "tags":[]

    }

    Response Body

    {

    "notice": "Entry updated successfully."

    "entry":{

    "title": "Old Entry",

    "uid": "old_entry",

    "reference_field": ["blt123123123123"],

    "tags": [],

    "locale": "en-us",

    "uid": "blt35a04ea07a42f95f",

    "created_by": "blte75599b1e529fa3a",

    "updated_by": "blte75599b1e529fa3a",

    "created_at": "2019-01-09T10:03:25.096Z",

    "updated_at": "2019-01-09T10:03:25.096Z",

    "ACL": {},

    "_version": 2

    }

    }

    Response Body

    {

    "notice": "Entry updated successfully."

    "entry":{

    "title": "New Entry",

    "uid": "new_entry",

    "reference_field": [{

    "uid": "blt111111111111",

    "_content_type_uid": "footer"

    }, {

    "uid": "blt123123123123",

    "_content_type_uid": "author"

    }],

    "tags": [],

    "locale": "en-us",

    "uid": "blt35a04ea07a42f95f",

    "created_by": "blte75599b1e529fa3a",

    "updated_by": "blte75599b1e529fa3a",

    "created_at": "2019-01-09T10:03:25.096Z",

    "updated_at": "2019-01-09T10:03:25.096Z",

    "ACL": {},

    "_version": 2

    }

    }

    Get all entries of a content type

    OLDNEW
    Method: GETMethod: GET
    URL: https://api.contentstack.io/v3/content_types/:content_type_uid/entriesURL: https://api.contentstack.io/v3/content_types/:content_type_uid/entries
    CDN users: https://cdn.contentstack.io/v3/content_types/:content_type_uid/entriesCDN Users: https://cdn.contentstack.io/v3/content_types/:content_type_uid/entries
    Response Body

    {

    "entries": [{

    "title": "Old entry",

    "reference_field": ["blt123123123123"],

    "tags": [],

    "locale": "en-us",

    "uid": "blta777c7777777d777",

    "created_by": "blt15adac31fdb46cd9",

    "updated_by": "blt15adac31fdb46cd9",

    "created_at": "2019-04-15T09:36:19.960Z",

    "updated_at": "2019-04-15T09:36:19.960Z",

    "ACL": {},

    "_version": 1,

    "publish_details": [],

    "_rules": []

    }]

    }

    Response Body

    {

    "entries":{

    "title": "New Entry",

    "reference_field": [{

    "uid": "blt111111111111",

    "_content_type_uid": "footer"

    }, {

    "uid": "blt123123123123",

    "_content_type_uid": "author"

    }],

    "tags": [],

    "locale": "en-us",

    "uid": "blta777c7777777d777",

    "created_by": "blte75599b1e529fa3a",

    "updated_by": "blte75599b1e529fa3a",

    "created_at": "2019-01-09T10:03:25.096Z",

    "updated_at": "2019-01-09T10:03:25.096Z",

    "ACL": {},

    "_version": 2

    }

    }

    Get all entries with include reference

    OLDNEW
    Method: GETMethod: GET
    URL: https://api.contentstack.io/v3/content_types/:content_type_uid/entries?include[]=reference_fieldURL: https://api.contentstack.io/v3/content_types/:content_type_uid/entries?include[]=reference_field
    CDN Users: https://cdn.contentstack.io/v3/content_types/:content_type_uid/entries?include[]=reference_fieldCDN Users: https://cdn.contentstack.io/v3/content_types/:content_type_uid/entries?include[]=reference_field
    Response Body

    {

    "entries":[{

    "title": "Old Entry",

    "reference_field": [{

    "title": "Forbes",

    "about_us": {

    "title": "About US",

    "href": "/about-us"

    },

    "tags": [],

    "locale": "en-us",

    "uid": "blt1137fe73e677645f",

    "ACL": {},

    "_version": 1,

    }],

    "tags": [],

    "locale": "en-us",

    "uid": "blta785c1339591d092",

    "_version": 1

    }]

    }

    Response Body

    {

    "entries":[{

    "title": "Old Entry",

    "reference_field": [{

    "title": "Forbes",

    "about_us": {

    "title": "About US",

    "href": "/about-us"

    },

    "tags": [],

    "locale": "en-us",

    "uid": "blt1137fe73e677645f",

    "_content_type_uid": "footer",

    "ACL": {},

    "_version": 1,

    }],

    "locale": "en-us",

    "uid": "blta785c1339591d092",

    "_version": 1

    }]

    }

    Expand
  • Hamilton - MultiCT

    Jul 29, 2019

    Contentstack AppAPIs
    • Referencing Multiple Content Types: The upgraded Reference field now allows users to add references to more than one content types in a single instance. Read more.
  • .NET SDK Version: 2.0.0 - Release Date: Jun 28, 2019

    Jul 28, 2019

    SDKs and tools

    New Features:

    • Query

      • added method ‘SetLocale’.

    • Entry

      • added method ‘SetLocale’.

    Update API

    • Query

      • update method ‘Fetch’.

      • update method ‘FindOne’.

    • Entry

      • update method ‘Find’.

    Deprecated API

    • Query

      • deprecated method ‘SetLanguage’.

    • Entry

      • deprecated method ‘SetLanguage’.

    Expand
  • Android SDK Version: Version: 3.6.0 - Release Date: July 26, 2019

    Jul 26, 2019

    SDKs and tools

    New Features and Updates:

    • Entry:
      • Support added for includeReferenceContentTypeUid
    • Query:
      • Support added for includeReferenceContentTypeUid
    • Entry:
      • Deprecated setLanguage and getLanguage
    • Query:
      • Deprecated language
    • Entry:
      • Method added - getLocale and setLocale(String locale)
    • Query:
      • Method added - locale
    • Query:
      • Removed deprecated method - includeSchema
    Expand
  • Java SDK Version: 1.4.0 - Release Date: Jul 26, 2019

    Jul 26, 2019

    SDKs and tools

    New Features:

    • Entry:
      • Added support for includeReferenceContentTypeUid support in Entry.
    • Query:
      • Added support for includeReferenceContentTypeUid support in Query.
    • Entry:
      • setLanguage and getLanguage Deprecated in Entry.
    • Query:
      • language deprecated in Query.
    • Entry:
      • Added method for getLocale and setLocale(String locale) in Entry.
    • Query:
      • Added method for locale in Query.

    Changes:

    • Query:
      • Removed deprecated method for includeSchema in Query.

    Expand
  • In-Progress Entries

    Jul 12, 2019

    Contentstack AppAPIs
    • In-progress Entries: Content managers can now save entries that are "in-progress," even if mandatory fields are left blank, and come back to continue adding content and editing later without losing their work. The "mandatory" field validation is checked only when publishing the entry. Contact us to enable this feature for your organization. Read more.
    Expand
  • Java SDK Version: 1.3.3 - Release Date: Jun 21, 2019

    Jun 21, 2019

    SDKs and tools

    HOTFIX:

    • Override response hot-fix.

  • Edison

    May 31, 2019

    Contentstack AppAPIs
    • Set a ‘Fallback Language’ for easy localization: You can now specify the language to use as source content if the entry does not exist in the specified primary language. Read more.
    • Support for generic languages: Create content in generic languages, i.e., languages that are not tied to any region or country (e.g., English, Spanish, French). Read more.
    Expand
  • PHP SDK Version: 1.2.1 - Release Date: 25 May, 2019

    May 25, 2019

    SDKs and tools

    Bug

    • Made changes in the helper file for fetching proper data on language query

  • Java SDK Version: 1.3.2 - Release Date: May 13, 2019

    May 13, 2019

    SDKs and tools

    Changes:

    • Code Improvement:
      • Removed println.
    • Code Improvement:
      • Added support for Logger.

  • Java SDK Version: 1.3.1 - Release Date: May 02, 2019

    May 02, 2019

    SDKs and tools

    Bug Fix:

    • Bug fixed for include reference.
    • Added testcase report for v1.3.1.

  • Denver 2

    Apr 19, 2019

    Contentstack App
    • Analytics dashboard: Introducing the all-new Analytics dashboard for organizations. Get one-click access to the overall usage and API analytics of your organization, and make better, more informed business decisions.
  • .NET SDK Version: 1.1.0 - Release Date: Apr 12, 2019

    Apr 12, 2019

    SDKs and tools

    New Features:

    • ContentstackClient

      • added method ‘GetContentTypes’.

      • added method ‘SyncRecursive’.

      • added method ‘SyncPaginationToken’.

      • added method ‘SyncToken’.

    • CotentType

      • added method ‘Fetch’.

  • IOS SDK Version: 3.5.0 - Release Date: Apr 12, 2019

    Apr 12, 2019

    SDKs and tools

    API deprecation:

    • Config
      • removed property attribute ‘ssl’
    • Stack
      • removed property attribute ‘ssl’

    New Features:

    • Stack
      • added method ‘getContentTypes:’
    • ContentType
      • added method ‘fetch:’

  • Android SDK Version: 3.5.0 - Release Date: 12-Apr, 2019

    Apr 12, 2019

    SDKs and tools

    New Features:

    • Support added for the below methods in SDK:
      • getContentTypes() in the Stack class
      • fetch in the ContentType class.
    • Support for the following Config classes has been removed permanently:
      • public void setSSL(boolean isSSL)setSSL()
      • public boolean isSSL()

  • Java SDK Version: 1.3.0 - Release Date: Apr 12, 2019

    Apr 12, 2019

    SDKs and tools

    New Features:

    • Added support of below methods in SDK:
      • getContentTypes() in Stack class
      • fetch in ContentType class
    • Below two support from the Config class has been removed permanently:
      • public void setSSL(boolean isSSL)setSSL()
      • public boolean isSSL()

  • JavaScript Delivery SDK Version: 3.6.0 - Release Date: Apr 12, 2019

    Apr 12, 2019

    SDKs and tools

    New Features:

    • Stack:
      • Support added for the method getContentTypes.
    • ContentType:
      • Support added for the method fetch.
  • Denver

    Apr 12, 2019

    Contentstack AppAPIs
    • Version Naming: You can now assign names to versions of entries and assets to quickly identify the status of the entry or asset. For example, you can specify an entry as important ('Production Ready') or less urgent ('First Draft').
  • Android SDK Version: 3.4.1 - Release Date: Apr 05, 2019

    Apr 05, 2019

    SDKs and tools

    Changes:

    • Support removed for unsafe (HTTP) requests.
    • Following breaking changes from Config class have been deprecated for:
      • public void setSSL(boolean isSSL)setSSL()
      • public boolean isSSL()

  • Casa Blanca

    Apr 05, 2019

    Contentstack AppAPIsSDKs and tools
    • Dashboard for stacks: Dashboard—the new homepage for your stack—is a collection of widgets that provide a quick overview of your stack’s recent entries and assets.
    • Dashboard Widget: This release introduces our third type of Experience Extension, the Dashboard Widget, that allows you to add useful widgets to the dashboard of your stack. 
    • Instance-level config for custom fields: You can now add a separate configuration for each instance of a custom field in a content type. 
    • New functions in SDK: We have added support for new functions in the Extensions SDK.
    Expand
  • Contentstack DataSync

    Mar 26, 2019

    SDKs and tools
    • DataSync: The latest addition to our data synchronization offering, DataSync, lets you sync your Contentstack data (assets and entries) with your database (FileSystem, MongoDB, etc.) over 8x faster.


  • JavaScript Delivery SDK Version: 3.5.2 - Release Date: Mar 20, 2019

    Mar 20, 2019

    SDKs and tools

    Hotfix:

    • Resolved locale storage issue.
  • SSO IdP Role Mapping Release

    Mar 16, 2019

    Contentstack AppDocs & Tutorials
    • IdP Role Mapping in SSO: Now you can map your SAML Identity Provider (IdP) roles to Contentstack roles for your SSO-enabled organizations, and manage users and roles from your IdP. Read more.
  • Java SDK Version: 1.2.1 - Release Date: Mar 14, 2019

    Mar 14, 2019

    SDKs and tools

    Bug Fix:

    • Bug fixes and code cleanups.

  • March 8, 2019

    Mar 08, 2019

    Docs & Tutorials

    When a webhook is triggered for an entry or asset because it was published/unpublished via a release, the webhook data of such an event contains a source key. This key contains the JSON data of the release (type, title, and uid) through which it was deployed.

    This is useful in cases where a lot depends on the webhook data. For example, in the case of static site generators, a build is generated every time an item (entry or asset) is published or unpublished. So, if a release is deployed with 200 items, it will generate a build 200 times, instead of just one time for the release. To avoid such cases, the developer can write custom code that ignores events whose response contains the source key. So, only one build will be generated for the whole release.

    Here's what's added to the webhook data:

    {
        "event": "publish",
        "source": {
            "title": "March'19 Release",
            "uid": "blt1111111d11cd111a",
            "type": "release"
        },
        "data": {
            ...
        },
        "api_key": "blt2222d2ad222beedc",
        "module": "entry",
        "triggered_at": "2019-03-07T04:55:11.352Z"
    }
    
    Expand
  • Webhooks Update

    Mar 08, 2019

    Contentstack AppAPIsDocs & Tutorials

    Our webhooks just got stronger. Here’s what’s new in our webhooks:

    • New support for ‘Release Deployment’ events in webhooks: You can now set up webhook events related to the deployment of releases on any or specific environments. Read more.
    • We’ve added the ability for you to import and export webhooks: Import and export webhooks at the click of a button.
    Expand
  • Customized Rich Text Editor

    Mar 01, 2019

    Contentstack App

    Customizations for Rich Text Editor (RTE): Developers can now customize the formatting options in the toolbar of the Rich Text Editor (RTE) field.  This will allow you to deliver an experience that is more tailored to your content managers’ needs.

  • Java SDK Release Date: Feb 20, 2019

    Feb 20, 2019

    SDKs and tools

    Changes:

    • Maven integration
      • Folder structure.

  • GraphQL Content Delivery APIs

    Feb 19, 2019

    Contentstack App
    • GraphQL Content Delivery API: GraphQL is a popular query language that enables one-trip relational queries. It lets you fetch exactly the data you want via Contentstack’s API as an alternative to making multiple round-trip queries with RESTful calls.
  • Ximenez

    Jan 18, 2019

    Contentstack AppAPIs
    • Field Visibility Rules: Dynamically show or hide fields on the entry page, based on the value entered in other fields. Read more.
    • New Content Type Builder: Content Type Builder has a new look that makes the process of building content types quicker and more enjoyable. Read more.
    Expand
  • Waldo

    Dec 29, 2018

    Contentstack App
    • Advanced Search: Contentstack now offers advanced search capabilities that let you perform field-level searches and combine multiple search queries to find your proverbial needles in a (content) haystack.
    • Bulk Operations: Perform bulk operations (such as publish, unpublish, delete) on multiple entries and assets at once.
  • Verma

    Nov 30, 2018

    Contentstack App

    We’ve added some powerful and exciting capabilities to our workflows, giving you more flexibility and control over your content creation process. Here’s a rundown of what’s new:

    • Multiple workflows in a stack: Create different workflows for different content types within your stack.
    • Stage transition rules: Define next stage options for each stage, and manage who can move from one step to another.
    • Superusers with unrestricted access: Superusers can change the entry stage without any restrictions. The purview of stage transition rules does not limit them.
    • Birds-eye view of all tasks: Stack owners and administrators have visibility into all workflow tasks assigned to all users.
    • Conditional publishing: Add conditions to publishing/unpublishing actions. For example, allow publishing "only if" the entry reaches a particular workflow stage.

    Read more about Workflows.

    Expand
  • IOS SDK Version: 3.2.0 - Release Date: Nov 10, 2017

    Nov 10, 2018

    SDKs and tools

    New Features:

    • Stack

      • added method ‘imageTransformWithUrl:andParams:’

    • Query

      • added method ‘includeContentType:’

    • QueryResult

      • added property ‘content_type’.

    API deprecation:

    • Query

      • Deprecated property ‘includeSchema’.

  • Upton

    Oct 26, 2018

    Contentstack App
    • Sync API: We have introduced the Sync API that takes care of syncing your Contentstack data with your apps and ensures that data is always up-to-date and updates are performed with maximum efficiency by fetching only incremental changes. Read more.

    Improvements

    • Upgraded RTE: We upgraded the Rich Text Editor field to provide users with new and improved editing features. For any new stacks you create, you will automatically be using the upgraded Rich Text Editor. All of your existing stacks will continue to use the same Rich Text Editor as before until you are ready to upgrade, which you can do (and undo) at any time by editing the appropriate content types. Learn how to upgrade to the new RTE.

      Here’s what’s new in the new Rich Text Editor field:

      • New ‘Undo’ and ‘Redo’ shortcut keys
      • Support for ‘Heading level 6’ under the Format option
      • Option to apply custom ID and class without switching to the HTML mode
      • New ‘List’ button that contains ‘Unordered List,’ ‘Ordered List,’ ‘Outdent,’ and ‘Indent’ options
      • Options to add title, caption, and hyperlink to images; set position of the image
      • Keyboard shortcut ‘ALT + ENTER’ to unselect image or video
      • Removed options to change font properties (size, family, color, background color)
      • Removed keys ‘Horizontal Rule’, ‘Superscript’ and ‘Subscript’

      List of bugs fixed:

      • Improper rendering of code snippets when switched to HTML view
      • Text formatting doesn’t work as expected on Google Chrome browser
      • Link is wrapped automatically when a URL is inserted in a code block
      • Improper alignment of the ‘Choose File’ option in Internet Explorer 11
      • The field doesn’t work as expected if an invalid script tag is used
      • Internet Explorer 11 crashes if more than 300KB of data is inserted
      • Small images disappear is added in a table
      • Heading-1 tag doesn’t render properly on Google Chrome and Mozilla Firefox when published
      • Random HTML tags added when switched to HTML mode
    Expand
  • IOS SDK Version: 3.4.0 - Release Date: Oct 22, 2018

    Oct 22, 2018

    SDKs and tools

    New Features:

    • Stack
      • added method ‘sync:’
      • added method ‘syncToken:completion:’
      • added method ‘syncPaginationToken:completion:’
      • added method ‘syncFrom:completion:’
      • added method ‘syncOnly:completion:’
      • added method ‘syncOnly:from:completion:’
      • added method ‘syncLocale:completion:’
      • added method ‘syncLocale:from:completion:’
      • added method ‘syncPublishType:completion:’
      • added method ‘syncOnly:locale:from:completion:’
      • added method ‘syncOnly:locale:from:publishType:completion:’
    • SyncStack
      • added New Class
    Expand
  • Android SDK Version: 3.4.0 - Release Date: Oct 22, 2018

    Oct 22, 2018

    SDKs and tools

    New Features:

    The following function supports are added for sync in Stack class:

    • sync
    • syncPaginationToken
    • syncToken
    • syncFromDate
    • syncContentType
    • syncLocale
    • syncPublishType
    • sync(contentType, fromDate, locale, publishType, syncCallBack)
    • New class - SyncStack.
  • Account lockout policy

    Oct 13, 2018

    Contentstack App

    New Features

    • Account Lockout Policy: To secure your account from potential hacking threats, we have introduced account lockout policy that locks your account after several unsuccessful login attempts. Learn more.
  • Tucker

    Sep 29, 2018

    Contentstack App

    New Features

    • Delivery tokens: Create a separate delivery token for each environment. These delivery tokens ensure only specified people have access to the content of the required environment.
    • Fine-grained permissions for roles: Custom roles are now more customizable. You can assign entry-level, field-level as well as asset-level permissions to roles for greater control.
    • Custom widgets: Build powerful custom functionality and incorporate it directly into your CMS editing environment. Custom Widgets can integrate with any third-party app and data source to, for example, perform sentiment analysis on a text entry, provide SEO recommendations, and deliver realtime translation capabilities. The possibilities are endless. 
    Expand
  • PHP SDK Version: 1.2.1 - Release Date: 19 Sep, 2018

    Sep 19, 2018

    SDKs and tools

    Bug

    • Replaced the createError method with New method contentstackcreateError.

  • Ramanujan

    Aug 03, 2018

    Contentstack App
    • Custom Fields: Custom Fields are part of Contentstack’s new ‘Experience Extensions’ integrations framework that allows developers to create a unique, custom-built field. For example, you might create a Custom Field to add a ‘color picker,’ ‘video selector,’ or a ‘star rating’ review widget.
    • Global search (beta): The new search bar in the header lets you search content, entries, and assets, across your entire stack.
  • Enhancement Release [27-07-2018]

    Jul 27, 2018

    Contentstack App
    • ‘Title’ field becomes more flexible: You can now set minimum and maximum character limits for the ‘Title’ field and also rename it according to your preferences.
    • New languages added: We have added support for two additional languages – ‘English - China’ and ‘English - Korea’.
    • No default master language: When creating a new stack, no master language is selected by default (previously, the default was set to ‘English - US’).
    • Spaces allowed in tags: We have added support for spaces in tags (e.g., Business News) to allow multi-word tags for entries. You can use a comma to separate multiple tags.
    Expand
  • Quinn Part II

    Jun 22, 2018

    Contentstack App
    • Upload assets in bulk: You can now bulk upload multiple assets to the platform.
    • View active collaborators: ‘Entry presence’ allows you and your team to see a list of all collaborators currently working on an entry.
    • Organize all your assets into even more folders: We have raised the maximum limit for asset folders to 500 from 300.
  • IOS SDK Version: 3.3.1 - Release Date: Jun 08, 2018

    Jun 08, 2018

    SDKs and tools
    • Added string ‘BUILT_NULLABLE_P’ in Entry.h
      • Old Code - (void)fetch:(void(^)(ResponseType type, NSError *error))callback;
      • Updated Code - (void)fetch:(void(^)(ResponseType type, NSError * BUILT_NULLABLE_P error))callback;
  • .NET SDK Version: 1.0.6 - Release date:  Aug 10, 2018

    Jun 01, 2018

    SDKs and tools
    • Introduced Contentstack SDK for .NET.

  • Quinn

    May 21, 2018

    Contentstack App
    • Introducing .NET SDK: Power the content and ensure lightning-fast content delivery of your .NET applications using our new .NET SDK.
    • Content type versioning: Contentstack now maintains a history of all versions of your content types. You can retrieve any previous version through the API.
  • Pascal

    May 07, 2018

    Contentstack App
    • Reference field 2.0: Reference field gets a makeover. You can now edit referenced entries/assets quickly, create new references on-the-go, and do a lot more.
    • Compare languages of an entry: Now perform a side-by-side comparison of versions across all languages of an entry. 
    • View entry localization status: We have added a new ‘Localization Status’ section within the ‘Entry Information’ tab in the entry. It gives you localization details of all languages of the entry.
    • Reference info of an entry: Get a list of all the entries within which the current entry is referenced.
    Expand
  • Ohm

    Apr 21, 2018

    Contentstack App
    • Workflow: A powerful feature that streamlines content creation and optimizes content review and approval processes for your team.
    • Releases: By assigning entries/assets to a ‘Release’, content can be published/unpublished in bulk and perfectly timed with a critical event, such as an announcement or product release.
  • Newton

    Feb 23, 2018

    Contentstack App
    • Introducing ‘Modular Blocks’ Field: A powerful tool that gives content managers the flexibility to dynamically create components of a page or app without requiring developer’s assistance. 
  • PHP SDK Version: 1.2.0 - Release Date: 21 Dec, 2017

    Dec 21, 2017

    SDKs and tools

    Enhancement

    • Entry 

      • 'addparam' method added.

    • Query  

      • 'addparam' method added.

    • Asset 

      • 'addparam' method added.

  • Android SDK Version: 3.3.0 - Release Date: Dec 15, 2017

    Dec 15, 2017

    SDKs and tools

    New Features:

    • Entry
      • Method added - ‘addParam’
    • Query
      • Method added - ‘addParam’
    • Asset
      • Method added - ‘addParam’

  • Java SDK Version: 1.2.0 - Release Date: Dec 15, 2017

    Dec 15, 2017

    SDKs and tools

    New Features:

    • Entry
      • Added method ‘addParam’.
    • Query
      • Added method ‘addParam’.
    • Asset
      • Added method ‘addParam’.

  • Manfredi 2

    Dec 15, 2017

    Contentstack App
    • Introducing Single Sign-On: Contentstack introduces Single Sign-On (SSO) for organizations, so you can authenticate users securely with your corporate identity provider.
  • Manfredi

    Dec 02, 2017

    Contentstack App
    • Introducing ‘Select’ Field: A multiple choice field that allows users to choose one or more options from a given set of values (choices). This allows your content editors to pick options quickly without creating a reference content type.
    • Image dimension validation: Set width and height dimension limits to images that can be uploaded in the ‘File’ field.
  • Android SDK Version: 3.2.0 - Release Date: Nov 10, 2017

    Nov 10, 2017

    SDKs and tools

    New Features:

    • Stack
      • Method added - ‘ImageTransform’
    • Query
      • Method added - ‘includeContentType’
    • QueryResult
      • Method added - ‘content_type’

    API Modifications:

    • None

    API Deprecation:

    • Query
      • Deprecated method ‘includeSchema’

    Bug Fixes:

    • None

  • Java SDK Version: 1.1.0 - Release Date: Nov 10, 2017

    Nov 10, 2017

    SDKs and tools

    New Features:

    • Stack:
      • Added method ‘ImageTransform’.
    • Query:
      • Added method ‘includeContentType’.
    • QueryResult:
      • Added method ‘contentType’.

    API deprecation:

    • Query:
      • Deprecated method ‘includeSchema’.

  • PHP SDK Version: 1.1.0 - Release Date: 09 Nov, 2017

    Nov 09, 2017

    SDKs and tools

    Enhancement

    • Image Optimisation support added.

    Deprecated

    • Deprecated includeSchema and added includeContent.

  • October 14, 2017

    Oct 14, 2017

    Docs & Tutorials
    • The URL of assets for stacks created after this release will include the file name, and the URL pattern will be /v3/assets/:api_key/:asset_uid/:token/:filename. To enforce the changes on images of existing RTE or Markdown fields, you need to re-upload the images and then re-publish the entry for the changes to reflect. For more information, contact us.
    • It will now be possible to get entries by URL even if the entries use default URL pattern. This change will be applicable only to the stacks created after this release.
    • Entries that have empty URL after the upgrade, the user will have to re-save the entry to get them autopolulated in the URL field.
    Expand
  • Lambert

    Oct 14, 2017

    Contentstack App
    • Organization: Manage your users and stacks from one administrative panel. 
    • Image Delivery API: Manipulate and optimize images with a new set of APIs for best delivery in your sites and apps.
    • Limit Multiple field instances: Set a maximum limit to the number of instances that can be created for the fields marked as ‘Multiple’.

    New SDKs

    • We’re excited to announce four brand new SDKs: PHP, Ruby, Java, and React Native. 

    Enhancements, Improvements & Bug Fixes:

    • The URL of assets for stacks created after this release will include the file name, and the URL pattern will be /v3/assets/:api_key/:asset_uid/:token/:filename.
    • It is now possible to get entries by URL even if the entries use default URL pattern. This change is applicable only to the stacks created after this release.
    Expand
  • Upgrading To TLS Version 1.2

    Sep 13, 2017

    Contentstack App

    Built.io Contentstack is upgrading its TLS version and is deprecating TLS 1.0 and 1.1. Support for the older versions will end on March 30, 2018.

    What You Need To Know

    After March 30, 2018, our CDN/API services will use the upgraded TLS version and will no longer support TLS 1.0 or TLS 1.1 over HTTPS on the api/cdn/images/assets.contentstack.io domain. We will only accept requests made by browsers or API clients that have TLS 1.2 or higher.

    Why Are We Making This Change?

    The TLS 1.2 protocol was defined in RFC 5246 in August 2008. It is an improvement over TLS 1.1 standard and is more secure. Among other items, it provides protection against cipher block chaining (CBC) attacks. One of the major reasons for this revision from TLS 1.1 to TLS 1.2 is to remove the protocol’s dependency on the MD5 and SHA-1 digest algorithms. TLS 1.2 supports the expansion of support for authenticated encryption ciphers with AES-GCM cipher suites that are not prone to these attacks.

    What Do I Need To Do?

    Most browsers have supported TLS 1.2 for at least the last few years. So, end users are unlikely to be affected by this change. The impact is likely only going to be felt by API users with very old libraries. A comprehensive list of support is available here: https://www.ssllabs.com/ssltest/clients.html

    API Library Support

    If you have code that connects with the Built.io Contentstack API, it is important to ensure that it will continue to work after March 30, 2018. While each language and library is different, we have identified some of the popular ones as a starting reference.

    Here’s the list of languages that will need significant changes/upgrades in order to continue operating uninterrupted:

    • Java 6u45 / 7u45
    • .NET before 4.5 (does not support TLS 1.2)
    • .NET 4.5 (must be have setting changed to explicitly enable TLS 1.2)
    • OpenSSL 0.9.8

    Most dynamic languages such as Ruby, PHP, and Python rely on the underlying operating system’s OpenSSL version. You can check it by running openssl version. 1.0.1 is the minimum requirement.

    Browser Support

    Most browsers support TLS 1.2, and have been supporting it for several years. The following are the browser versions (including lower versions) that DO NOT support TLS 1.2:

    • Google Chrome 29
    • Firefox 26
    • Internet Explorer 10
    • Safari 8
    • iOS 4
    • Android 4

    Please let us know if you have any questions. You can reach us using the chat function in your Built.io Contentstack account or by email at support-contentstack@built.io.

    Expand
  • Kane

    Aug 19, 2017

    Contentstack App
    • Introducing asset versioning: Any new update to an existing asset will be saved as a new version of the asset, enabling you to rollback to or retrieve data from the earlier versions.
    • Give an identity to assets: We have added the ‘Title’ and ‘Description’ fields for assets so you can store your file in a organized manner and retrieve them with ease.

    Enhancements and improvements

    • A product update page has been added in the Built.io Contentstack UI that will provide updates on all the newly introduced features and changes.
    • Updates in Assets Management:
      • Asset will now be displayed in List View (latest on top), instead of Grid View.
      • You can now search assets on a global scale irrespective of the folder you currently working on.
    Expand
  • IOS SDK Version: 3.1.1 - Release Date: Jun 24, 2017

    Jun 24, 2017

    SDKs and tools

    API deprecation:

    • Entry

      • removed property ‘publishDetails’

    • Asset

      • removed property ‘publishDetails:’

  • Android SDK Version: 3.1.2 - Release Date: June 24, 2017

    Jun 24, 2017

    SDKs and tools

    New Features:

    • None

    API Modifications:

    • None

    API Deprecations:

    • Asset
      • Removed method - getPublishDetails()
    • Entry
      • Removed method - getPublishDetails()

    Bug Fixes:

    • None

  • June 24, 2017

    Jun 24, 2017

    Docs & Tutorials

    1. Change in Response of GET requests of Entries and Assets

    The 'publish_details' key that was available in the response of 'Get Entry', 'Get Entries', 'Get Asset' and 'Get Assets' API requests will be no longer returned by default. To include it in the response, use the 'include_publish_details' parameter.

    Affected endpoints

    Get Entries:

    /v3/content_types/{content_type_id}/entries
    
    

    Get Entry:

    /v3/content_types/{content_type_id}/entries/{entry_id}
    
    

    Get Assets:

    /v3/assets/
    
    

    Get Asset:

    /v3/assets/{asset_id}
    
    

    Webhook: All entry relevant webhook channel response

    2. Change in response of GET requests of Entries and Assets for specific environment(s)

    • The 'publish_details' response key now contains the details of only the environment(s) specified in the 'environment' parameter, and not of all the environments.
    • The format of the 'publish_details' response key has been changed from array to JSON object.

    Affected endpoints

    Get Entries:

    /v3/content_types/{content_type_id}/entries?environment={environment}
    
    

    Get Entry:

    /v3/content_types/{content_type_id}/entries/{entry_id}?environment={environment}
    
    

    Get Assets:

    /v3/assets/?environment={environment}
    
    

    Get Asset:

    /v3/assets/{asset_id}?environment={environment}
    
    

    Webhook: All asset relevant webhook channel response

    Example Response

    {
    "uid": "blte3458e663de6bef5",
    ...
    ...
    "publish_details": {
              "environment": "blt381ebc884693ff29",
              "locale": "en-us",
              "version": 37,
              "user": "blt2a4852543181169c2e36d422",
              "time": "2017-05-17T19:16:26.983Z"
            },
    ...
    }
    
    

    3. Default disposition value of Images API changed to inline

    When an image URL is opened in a browser, it now renders the image in the browser, instead of downloading it (which was the case earlier).

    4. Maximum pagination limit set to 100 records

    All endpoints will return a maximum of 100 records (changed from 1000 earlier). The next batch of records can be retrieved by making the same request and changing the 'skip' parameter to 100 from 0.

    Expand
  • Jordan

    Jun 24, 2017

    Contentstack App

    Publish references in a click: When you publish an entry that has references to other unpublished (or draft) entries or assets (like images, a blog post author, or category), you will get an alert. This alert works as a reminder as well as tool to publish all the references in a single click.

    API changes

    We have made some changes to our APIs. However, these changes are applicable only for stacks that have been created after June 24, 2017.

    • The ‘publish_details’ key in the response of the GET requests of draft entries and assets has been made optional. To include it in the response, use the ‘include_publish_details’ parameter.
    • The ‘publish_details’ key in the response of GET requests of entries and assets of specific environment(s) now contains the details of only the environment(s) specified in the ‘environment’ parameter.
    • The image URL, when opened in the browser will render the image, instead of downloading it.
    • A single API request will return a maximum of 100 records (reduced from 1000 earlier). The next batch of records can be retrieved by using the ‘skip’ parameter.

    UI changes

    This release also includes some minor changes to the user interface.

    • On the entry page, clicking or hovering over a field will highlight the field.
    • The ‘Not Published’ filter option has been removed from the entries and assets list page.
    • The checkboxes for filter options on the entries and assets list page have been changed to radio buttons. Consequently, only one filter option can be selected at a time.
    • The ‘Mark as group title’ property has been added to the ‘Date’ and ‘Link’ fields.
    Expand
  • Ivory

    Jun 09, 2017

    Contentstack App
    • Create and manage folders in Assets: Users will now be able to create folders for Assets. The folders can be renamed, deleted, and moved with ease. Also, you can create nested folders, i.e., folders within folders, too.
      Note: This feature is available for V3 stacks only.
  • Android SDK Version: 3.1.1 - Release Date: May 17, 2017

    May 17, 2017

    SDKs and tools

    New Features:

    • None

    API Modifications:

    • None

    API Deprecation:

    • None

    Bug Fixes:

    • Support added for TLSv1.2 for older android versions.
  • Galileo

    Mar 17, 2017

    Contentstack App
    • New validation properties for 'File' and 'Date' fields: New validation properties have been introduced for two of the existing fields: 'File' and 'Date'.

      In the 'File' field, we have introduced File Type, that will let you specify the types of files that can be uploaded, and File Size, that will let you set validations on the size of an uploaded file. In the 'Date' field, we have introduced the 'Date Range' property that will allow you to set the range of dates that a user can select in a 'Date' field.
    • Field validation error message: You can now define and display custom validation error messages for single-line and multiline text fields if the regex validation that you have set fails.
    Expand
  • JavaScript Delivery SDK Version: 3.0.1 - Release Date: Feb 10, 2017

    Feb 10, 2017

    SDKs and tools

    Update API:

    • Multiple stacks can be configured rather than a singleton Stack Object.

    Bug fix:

    • Fixed the issue with the support for import attribute on the client side.
  • Foster

    Jan 13, 2017

    Contentstack App
    • Introducing two-factor authentication (2FA): We have introduced two-factor authentication in Built.io Contentstack. After logging into the account using their credentials, users will be prompted to verify the security code that they get on Authy app. It is an opt-in security feature, so users can enable/disable it at will.
  • IOS SDK Version: 3.1.0 - Release Date: Dec 19, 2016

    Dec 19, 2016

    SDKs and tools

    New Features:

    • Group

      • Added New Class.

    • Entry

      • added method ‘groupForKey:’

      • added method ‘groupsForKey:’

      • added method ‘entriesForKey:withContentType:’

    • AssetLibrary

      • added method ‘sortWithKey:orderBy:’

      • added method ‘objectsCount’

      • added method ‘includeCount’

      • added method ‘includeRelativeUrls’

      • added method ‘setHeader:forKey:’

      • added method ‘addHeadersWithDictionary:’

      • added method ‘removeHeaderForKey:’

    • Asset

      • added method ‘setHeader:forKey:’

      • added method ‘addHeadersWithDictionary:’

      • added method ‘removeHeaderForKey:’

    Modifications:

    • Asset

      • Class name modified from ‘Assets’ to ‘Asset’.

      • renamed property ’assetType’ to ‘fileType’.

    Expand
  • Android SDK Version: 3.1.0 - Release Date: Dec 19, 2016

    Dec 09, 2016

    SDKs and tools

    New Features:

    • New class added - Group.
    • Entry:
      • Method added - getAllEntries(String refKey, String refContentType)
      • Method added - getGroups(String key)
      • Method added - getGroup(String key)
    • Asset:
      • Method added - setCachePolicy(CachePolicy policy)
      • Method added - getTags()

    AssetLibrary:

    • Method added - setCachePolicy(CachePolicy policy)

    API Modifications:

    • Asset:
      • Renamed method getContentType() to getFileType()
      • Renamed method getUploadUrl() to getUrl()

    API Deprecation:

    • None

    Bug Fixes:

    • None

    Expand
  • October 30, 2016

    Oct 30, 2016

    Docs & TutorialsAPIsBreaking changes

    Stack

    The ‘master_locale’ key has been introduced.

    Version 3 (New)Version 2

    {

      "stack": {

        "name": "My New Stack",

        "description": "My new test stack",

        "master_locale": "en-us"

      }

    }

    {

      "stack": {

        "name": "My New Stack",

        "description": "My new test stack"

      }

    }

    Content Type

    The request/response format has been changed. The default value of 'unique' field under 'schema' has been changed. The position of ‘description’ and ‘singleton’ keys have been changed.

    Version 3 (New)Version 2

    {

      "content_types": [

        {

         “title”:”Page”,

         ‘uid”:”page”

          ...

          "schema": [

            {

              "display_name": "Title",

              "uid": "title",

              "data_type": "text",

              "field_metadata": {

                "_default": true

              },

              "unique": false,

              "mandatory": true,

              "multiple": false

            }],

         "options": {      

             ...

             "singleton": false

          },

        "description": "Content_type Description"

      }

    }

    {

      "content_types": [

        {

         “title”:”Page”,

         ‘uid”:”page”

          ...

           "schema": [

            {

              "display_name": "Title",

              "uid": "title",

              "data_type": "text",

              "field_metadata": {

                "_default": true

              },

              "unique": "global",

              "mandatory": true,

              "multiple": false

            }],

          "options": {

            ...

            "description": "Content_type Description"

          },

          "singleton": false

        }

    }

    Entry

    The ‘_metdata’ key has been removed from the ‘entry’ response body, and all they keys ('locale', 'uid', and 'publish_details') that were under ‘_metadata’ are now available directly under the ‘entry’ key.

    Version 3 (New)Version 2

    {

     ...

      "entry": {

       “title”:”example”,

       “url”:”/example”,

        "locale": "en-us",

        "uid": "abcdefhgi123",

        "publish_details": []

      }

    }

    {

      ...

      "entry": {

       “title”:”example”,

       “url”:”/example”

        "_metadata": {

          "locale": "en-us",

          "uid": "abcdefghi12345",

          "publish_details": []

       },

    }

    Entry published/unpublished

    The environment name is now mentioned instead of its UID. ‘locale’ and ‘version’ keys have been made independant. Finally, the ‘content_type’ key has been eliminated.

    Version 3 (New)Version 2

    {

      "entry": {

        "locales": [

          "en-us"

        ],

        "environments": [

          "development"

        ]

      },

      "locale": "en-us",

      "version": 1

    }

    {

      "entry": {

        "content_type": {

          “title”:”Page”,

         “uid’:”page”

        },

        "entry": {

          "locale": "en-us",

          "version": "1"

        },

        "locale": [

          "en-us"

        ],

        "environment": [

          "qwertyuiop123456"

        ]

      }

    }

    Asset

    The ‘_metadata’ object has been removed from the asset body, and the response data, ‘publish_details’, is now wrapped in the ‘asset’ object instead of the ‘upload’ object. The format of the 'url' key has been changed.

    Version 3 (New)
    Version 2

    {

        "asset": {

          ...

          “uid”:”blt7b6c042533cdb1eb”,

          “filename”:”filename.jpg”,

          "url":"https://images.contentstack.io/v3/assets/
        {{api_key}}/{{asset_uid}}/{{unique_id}}/download",

          "publish_details": []

        }

    }

    {

        "upload": {

        ...

        “uid”:”blt7b6c042533cdb1eb”,

        “filename”:”filename.jpg”,

        "url":"https://api.contentstack.io/v2/uploads/
            {{unique_id}}/download?uid={{asset_uid}}",

          "_metadata": {

    ...

            "publish_details": []

         },

    }

    Asset published/unpublished

    The asset details are now wrapped in the ‘asset’ object instead of the ‘entry’ object. The ‘entry’ and ‘action’ keys have been eliminated.

    Version 3 (New)Version 2

    {

      "asset": {

        "locales": [

          "en-us"

        ],

        "environments": [

          "development"

        ]

      }

    }

    {

      "entry": {

        "locale": [

          "en-us"

        ],

        "environment": [

          "1234567890abcdef"

        ],

        "entry": {

          “title”:”filename.jpg”,

           “entry_uid”:”blt7b6c042533cdb1eb”

        },

        "action": "action"

      }

    }

    Locales

    The request/response format of the locale object has been changed from ‘locale_uid’ to ‘code’.

    Version 3 (New)
    Version 2

    {

      "locale": {

        "code": "zh-cn"

      }

    }

    {

      "locale": {

        "locale_uid": "zh-cn"

      }

    }

    Environment

    The ‘_metadata’ object removed from the environment response body and the ‘status’ key has been brought to the top level.

    Version 3 (New)
    Version 2

    {

       "environment": {

          “uid”:”blt7b6c042533cdb1eb”,

         “name”:”development”, 

        "status": “1”

      },

    }

    {

     "environment": {

        “uid”:”blt7b6c042533cdb1eb”,

         “name”:”development”,

        "_metadata": {

          "status": “1”

         },

    }

    Publish Queue

    The ‘form’ object has been replaced with ‘content_type’ and the ‘entry_uid’ key under the ‘entry’ object has been replaced with ‘uid’. The ‘_metadata’ object has been eliminated and all the keys (i.e., publish_details, user, roles, and cancelled_by) within it has become independent objects. The ‘status’ key has been included under the ‘publish_details’ object.

    Version 3 (New)
    Version 2

    {

      "queue": [

        {

          ...

          "content_type": {

            "title": "Title",

            "uid": "uid"

          },

         ...

          "publish_details": {

            "status": 2,

            "user": "sys_bltd0f5afe8abcd",

            "roles": []

          },

          ...

        }

      ]

    }

    {

      "queue": [

        {

          “uid”:”abcd123”

          "form": {

            “title”:”form title”,

            “form_uid”:”uid”

          },

         ...

          "entry": {

            “locale”:”en-us”,

           “title”:”title of entry”

            "entry_uid": "abcdefhgi1234567890"

          },

        ...

          "_metadata": {

            "publish_details": [

              {

                "name": "server-name",

                "status": "-1",

                "message": ""

              }

            ],

            "user": "abcd1234567890",

            "roles": []

          },

          ...

        }

      ]

    }

    Audit Logs

    The ‘_metadata’ object has been renamed to ‘metadata’ from audit log body.

    Version 3 (New)
    Version 2

    {

      "logs": [{

        ...

        “event_type”:”create”,

        “module”:”entry”,

        "metadata": {

          "title": "Test",

          "locale": {

            "title": "English - United States"  ,

            "code": "en-us",

          }

          "content_type": {

            "title": "Page",

            "uid": "page",

          }

        }

      }]

    }

    {

      "logs": [{

        ...

        “event_type”:”create”,

        “module”:”entry”,

        "_metadata": {

          "title": "Test",

          "locale": {

            "title": "English - United States",

            "uid": "en-us",

          }

          "content_type": {

            "title": "Page",

            "uid": "page", 

          }

        }

      }]

    }

    Roles

    The ‘rights’ object has been renamed to ‘permission’ and the ‘locales’ object has been added.

    Version 3 (New)
    Version 2

    {

      “role”:{

        “uid”:”abcd1323”

        ...

        "permissions": {

          "content_types": [{

            "uid": "content_type_uid",

            “name”:”content_type_name”,

            "SYS_ACL": {

              "sub_acl": {}

            }

          }],

          "environments": [

            {   

              "uid": "environment_uid",

              "SYS_ACL": {

                "sub_acl": {}

              }

            }

          ],

          "locales": [

            {

               "uid": "locale_uid",

                "SYS_ACL": {

                "sub_acl": {}

              } ...

            } ]

          }

        }

      }

    }

    {

      “role”:{

        “uid”:”abcd1323”

        ...

        "rights": {

          "content_types": [{

            "uid": "content_type_uid",

            “name”:”content_type_name”,

            "SYS_ACL": {

              "sub_acl": {}

            }

          }],

          "environments": [

          {   

            "uid": "environment_uid",

            "SYS_ACL": {

              "sub_acl": {}

          }

        }]

        }

      }

    }

    Webhook

    Three new calls, ‘execution’, ‘logs’, and ‘retry’, have been incorporated in the new release.

    Webhook Request

    The ‘webhook’ request object has been modified to include ‘basic_auth’ and ‘custom_header’ subkeys. The ‘url’ key has been renamed to ‘target_url’ and is now included under the ‘destinations’ key. Finally, we have added the ‘retry_policy’ key which will enable the user to manually trigger a webhook.

    Version 3 (New)Version 2

    {

      "webhook": {

        "name": "Test",

        "destinations": [

        {

          "target_url": "http://example.com",

          "http_basic_auth": "basic",

          "http_basic_password": "test",

          "custom_header": [

          {

            "header_name": "Custom-Header",

            "value": "testing"

          }]

        }],

        "channels": [

          "content_types.entries.create"

        ],

        "retry_policy": "manual"

      }

    }

    {

      "webhook": {

        "name": "Test",

        "url": "http://example.com",

        "channels": [

          "content_types.entries.create"

        ]

      }

    }

    Webhook Trigger Response

    The trigger response body has been modified. The changes are illustrated in the following examples:

    Publishing Entries:

    Version 3 (New)Version 2

    {

        "event": "publish",

        "data": {

            "content_type": {

                "options": {

                ...

                    "singleton": false

                },

                 "schema": [{

                    "multiple": false,

                    "mandatory": true,

                    "unique": false,

                    "field_metadata": {

                        "_default": true

                    },

                    "data_type": "text",

                    "uid": "title",

                    "display_name": "Title"

                }],

                 "description": "Description"

                "uid": "content_type_uid",

                "title": "content_type_title"

            },

            "entry": {

                "publish_details": [{

                ...

                    "locale": "en-us",

                    "environment": "aabcdf9733d7045cde5"

                }],

                "title": "example",

                "url": "/example"

            },

            "environment": {

                "uid": "babcd9ff9733d7045cde5",

                "name": "environment_name"

            }

        },

        "api_key": "abcdc820784d36d152f",

        "module": "entry"

    }


    {

        "event": "publish.success",

        "data": {

            "form": {

                "singleton": false,

                "options": {

                ...

                    "description": "Description"

                },

                "schema": [{

                    "multiple": false,

                    "mandatory": true,

                    "unique": "global",

                    "field_metadata": {

                        "_default": true

                    },

                    "data_type": "text",

                    "uid": "title",

                    "display_name": "Title"

                }],

                "uid": "content_type_uid",

                "title": "content_type_title"

            },

            "entry": {

                "_metadata": {

                    "publish_details": [{

                ...

                        "locale": "en-us",

                        "environment": "aabcdf9733d7045cde5"

                    }]

                },

                "title": "example",

                "url": "/example"

            },

            "environment": {

                "uid": "babcd9ff9733d7045cde5",

                "name": "environment_name"

            }

        },

        "api_key": "abcdc820784d36d152f",

        "module": "entry"

    }

    Publishing Assets:

    Version 3 (New)Version 2

    {

        "event": "publish",

        "data": {

            "asset": {

        ...

                "publish_details": [{

        ...

                    "locale": "en-us",

                    "environment": "bdffff9733d7045cde5"

                }],

                "filename": "test.png"

            },

            "environment": {

                "uid": "bldgs733d7045cde5",

                "name": "environment_name"

            }

        },

        "api_key": "abcd820784d36d152f",

        "module": "asset"

    }

    {

        "event": "publish.success",

        "data": {

            "upload": {

        ...

                "_metadata": {

                    "publish_details": [{

        ...

                        "locale": "en-us",

                        "environment": "bdffff9733d7045cde5"

                    }]

                },

                "filename": "test.png"

            },

            "environment": {

                "uid": "bldgs733d7045cde5",

                "name": "environment_name"

            }

        },

        "api_key": "abcd820784d36d152f",

        "module": "asset"

    }

    Expand
  • Android SDK Version: 3.0.0 - Release Date: Oct 27, 2016

    Oct 27, 2016

    SDKs and tools

    New Features:

    • New class added - Config.
    • New class added - Asset.
    • New class added - AssetLibrary.
    • Contentstack:
      • Method added - stack(Context context, String stackApiKey, String accessToken, String environment, Config config)
    • Stack:
      • Method added - asset()
      • Method added - assetLibrary()
    • Entry:
      • Method added - getPublishDetails()

    API Modifications:

    • None

    API Deprecations:

    • Contentstack:
      • Removed method - stack(Context context, String stackApiKey, String accessToken, String environment, boolean isEnvironmentUid)
    • Stack:
      • Removed method - setVersion(String version)
      • Removed method - setURL(String hostName, boolean isSSL)
      • Removed method - setEnvironment(String environment, boolean isEnvironmentUid)
      • Removed method - isEnvironmentUid()
      • Removed method - getEnvironment()
      • Removed method - getVersion()
      • Removed method - getURL()
    • Entry:
      • Removed method - getMetadata()
    • Query:
      • Removed method - afterUid()
      • Removed method - beforeUid()

    Bug Fixes:

    • None
    Expand
  • IOS SDK Version: 3.0.0 - Release Date: Oct 19, 2016

    Oct 19, 2016

    SDKs and tools

    New Features:

    • Config

      • Added New Class

    • Assets

      • Added New Class

    • AssetLibrary

      • Added New Class

    • Contentstack

      • added method ‘stackWithAPIKey:accessToken:environmentName:config:’

    • Entry

      • added property ‘publishDetails’

    • Stack

      • added readonly property ‘config’

      • added method ‘asset’

      • added method ‘assetWithUID:’

      • added method ‘assetLibrary’

      • added method ‘fetchLastActivity:’

    API deprecation:

    • Contentstack

      • removed method ‘stackWithAPIKey:accessToken:environmentUID:’

    • Entry

      • removed property ‘metadata’

    • Stack

      • removed property ‘isEnvironmentUID’

      • removed method ‘setEnvironment:isEnvironmentUID:’

    • Query

      • removed method ‘afterUID:’

      • removed method ‘beforeUID:’

    Expand
  • Android SDK Version: 1.0.2 - Release Date: Sep 28, 2016

    Sep 28, 2016

    SDKs and tools

    New Features:

    • None

    API Modifications:

    • None

    API Deprecation:

    • None

    Bug Fixes:

    • Fixed API calls issue for Android 7.0 Nougat.
  • IOS SDK Version: 1.0.1 - Release Date: Sep 22, 2016

    Sep 22, 2016

    SDKs and tools

    Bug Fixes:

    • Entry

      • Fixed fetch method which now return response as per environment.

    • Query

      • Fixed search method issue causing improper result.

  • Android SDK Version: 1.0.1 - Release Date: Sep 22, 2016

    Sep 22, 2016

    SDKs and tools

    New Features:

    • None

    API Modifications:

    • None

    API Deprecation:

    • None

    Bug Fixes:

    • Query:
      • Fixed search method issue causing improper results.
    • Entry:
      • Fixed includeReference method issue causing improper results.
      • Fixed fetch method - now it returns responses as per the environment.
  • IOS SDK Version: 1.0.0 - Release Date: Feb 11, 2016

    Feb 11, 2016

    SDKs and tools

    Changes:

    • Introduce ContentStack SDK for iOS.

  • Android SDK Version: 1.0.0 - Release Date: Aug 05, 2015

    Aug 05, 2015

    SDKs and tools

    Initial release:

    • Introduced Content Delivery API SDK for Android.
    • Points to Contentstack.
^