Changelog

  • New fieldtype Table

    Changes in: app api mapi Permalink

    We are happy to announce the new field type "Table" which gives you an easy to use interface to manage tabular data.

    Following an example of how to render a table from the data of the table field type:

    <table>
      <thead>
        <tr>
          {%- for th in blok.table.thead -%}
            <th>{{ th.value }}</th>
          {%- endfor -%}
        </tr>
      </thead>
      <tbody>
        {%- for tr in blok.table.tbody -%}
          <tr>
            {%- for td in tr.body -%}
              <td>{{ td.value }}</td>
            {%- endfor -%}
          </tr>
        {%- endfor -%}
      </tbody>
    </table>
    
  • Markdown/HTML to Richtext converter

    Changes in: open-source Permalink

    We have published a new npm module that let's you convert Markdown and HTML into Storyblok's Richtext field format.

    Check it out here: https://github.com/storyblok/storyblok-markdown-richtext

    There is also an example of how to use it with our migration CLI to transform fields: https://github.com/storyblok/storyblok#2-transform-a-markdown-field-into-a-richtext-field

  • Content migrations CLI

    Changes in: open-source Permalink

    We added an awesome new feature to the Storyblok CLI 3.0.

    With content migrations you can easily change data of all your content with the commands storyblok generate-migration and storyblok run-migration. The run-migration command has also a dry-run mode to only show changes. In the near future it will also be possible to rollback changes.

    Read more at our Github Repo: https://github.com/storyblok/storyblok#content-migrations

  • Securing webhooks

    Changes in: app mapi Permalink

    It's now possible to secure your webhooks via a signature check.

    For more information please read the documentation: storyblok.com/docs/Guides/using-storyblok-webhooks#securing-your-webhooks

  • Asset field added to GraphQL api

    Changes in: gapi Permalink
    • The type definitions of the Multi-Assets field have been extended to include the new attributes id, title, copyright, focus and alt.

    • The type definitions for the new Asset field have been added. You can now define the query with yourfield { id, name, filename, title, copyright, focus and alt }

  • Default full slug

    Changes in: api Permalink

    To generate hreflang alternative tags without needing to do a second api request we added the attribute "default_full_slug" to the delivery api. Read more at https://github.com/storyblok/storyblok/issues/268.

  • Payment receipt via email

    Changes in: app mapi Permalink

    You will now receive a payment receipt with a link to the invoice via email to the email address defined in your billing details.

  • New app released: Content locking

    Changes in: Permalink

    The app "Content Locking" has been released to avoid conflicts when multiple users want to edit a content item.

    Features

    • The first user that starts editing locks the content item for others

    • Only allows saving for the editor

    • Unlocks the item when the editor disconnects or closes the content item

    When installing the app a “Locked” symbol will appear for users if someone is editing the content item.

  • New fieldtype Asset

    Changes in: app Permalink

    We are happy to announce the new field type "Asset". We put a lot of community feedback into the new field that replaces the "Image" and "File" field-types.

    Features

    • Set alt-tag, title and copyright information by clicking on the filename

    • Image preview

    • Possibility to add description

    • Restrict to specific filetypes

    • Select default asset folder for upload

    • Set focus point for images

    • Change filename before upload confirmation

    Following a preview of the schema configuration options of this field.

  • Focus point for images

    Changes in: app Permalink

    It's now possible to set a focus point for images in the asset manager.

  • Pre-upload filename changing

    Changes in: app Permalink

    It's now possible to change the filename and see a preview before starting the asset upload.

  • Changes in: app Permalink

    It's now possible to define additional attributes like alt-tag, title and copyright information in the asset manager.

    Alt title feature

  • Better headline button in Richtext

    Changes in: Permalink

    The headline button in the Richtext field has been improved and now shows the active headline size when selecting a headline.

  • Content type blueprints

    Changes in: Permalink

    It's now easier to get started with Storyblok for new users. With the improved content creation dialog the user has now the possibility to create content types with predefined fields for common types.

  • New app type "Tool"

    Changes in: app Permalink

    It's now possible to create Oauth apps for the "Tools" section. To create a tool app you need to register as a partner at https://www.storyblok.com/partners and choose "Tool" as app type when creating the app. Check out our the example app https://github.com/storyblok/storyblok-tool-example

  • App dev environment

    Changes in: app Permalink

    It's now possible to set the Oauth urls for development and live. In the past you only had the option of a single callback url. To create apps you need to register as a partner at https://www.storyblok.com/partners. Check out also our new example app https://github.com/storyblok/storyblok-workflow-app

  • Improved preset management

    Changes in: app Permalink

    Presets are now manageable in the components overview and they got a new interface in the tab "Presets".

  • Publish all languages at once

    Changes in: app mapi Permalink

    It's now possible to publish all languages with the button "Publish all" for spaces that have individual language publishing enabled.

  • Interface Translations Shipped

    Changes in: app Permalink

    Moved Interface Translations of app.storyblok.com to GitHub and launched multiple new languages.

    Now the following languages are available:

    1. English (Default)
    2. German
    3. Dutch
    4. French
    5. Swedish
    6. Japanese
    7. Chinese
    8. Italian

    If you want to help us bringing Storyblok into more languages feel free to contribute on GitHub as we’re going to add more translation strings soon.

    Storyblok Interface in Chinese

  • Activities and items assigned to user in dashboard

    Changes in: app mapi Permalink

    The dashboard view has been improved to easily get back to work on your last edited items.

    Below the charts you can now see your last edits, items that have been assigned to you and recent content changes of all collaborators.

  • Component creation permissions

    Changes in: app Permalink

    It's now possible to add a components denylist in the "Components" tab of the role settings. If you add a content type it will not be visible in the content type selection when creating a new content item. When you add a nestable component it will be hidden in the "Add block" dialog.

  • Sort by multiple attributes

    Changes in: api Permalink

    It's now possible to sort by multiple columns with the content management api by using a comma separated list of values.

    Examples:

    /v1/stories?sort_by=content.priority:asc:int,name:asc

    /v1/stories?sort_by=content.firstname:asc,content.lastname:desc

  • Define multiple folders for option(s) field

    Changes in: app Permalink

    It's now possible to define multiple folders in the single-option and multi-option field using a comma separated list of paths.

  • Filter by multiple slugs

    Changes in: api Permalink

    It's now possible to filter by multiple slugs including the option to define wildcards with the delivery and management api.

    The following two filters have been added:

    by_slugs

    Get stories by comma separated full_slug. You can also specify wildcards with *. Examples: by_slugs=authors/john,authors/max, by_slugs=authors/*,articles/*

    excluding_slugs

    Exclude stories specifying comma separated values of full_slug. You can also specify wildcards with *. Examples: excluding_slugs=authors/john,authors/max, excluding_slugs=authors/*

  • Check for empty values

    Changes in: api Permalink

    It's now possible to check for empty or not empty values of content attributes in the delivery api with the new is operator.

    Examples:

    filter_query[my_string][is]=empty

    filter_query[my_string][is]=not_empty

    filter_query[my_array][is]=empty_array

    filter_query[my_array][is]=not_empty_array