Home

>

Tools

>

Strapi

>

Releases

>

4.0.0-beta.13

Strapi Release: 4.0.0-beta.13

Pre Release

Tag Name: v4.0.0-beta.13

Release Date: 11/16/2021

Strapi LogoStrapi

Open-source headless CMS built with Node.js. Provides developers with complete freedom in choosing their favorite tools and frameworks for frontend development.

TL;DR

Strapi v4.0.0-beta.13 introduces significant enhancements to the admin UI with Typography system integration across multiple sections, improved GraphQL capabilities including subscriptions support, better filtering options, and several UX improvements. The release also adds a "Coming Soon" marketplace page, WYSIWYG Media Library integration, and fixes numerous bugs related to filters, components, and API functionality.

Highlight of the Release

    • GraphQL subscriptions support for real-time data capabilities
    • Typography system integration across multiple admin sections for consistent UI
    • New content-type generator in CLI for improved developer experience
    • WYSIWYG Media Library integration for better content editing
    • Coming Soon marketplace page preview
    • Enhanced filtering capabilities in GraphQL and Content Manager
    • Improved error states and validation in components

Migration Guide

Upgrading from v4.0.0-beta.12 to v4.0.0-beta.13

GraphQL Changes

If you're using GraphQL, be aware that this version introduces subscriptions support (disabled by default) and fixes several filtering issues. To enable subscriptions:

// config/plugins.js
module.exports = {
  graphql: {
    config: {
      subscriptions: true,
    },
  },
};

Typography System

This release continues the migration to the new Typography system. If you've built custom admin plugins that use the old Text components, consider updating them to use Typography components instead.

Database Options

New database options are available:

  • schema: Specify a database schema
  • forceMigration: Force database migrations

These can be configured in your database configuration file.

Content Manager Changes

The Content Manager now displays createdAt and updatedAt fields in list views and filters. If you've customized your Content Manager layouts, you might want to review these changes.

Upgrade Recommendations

This beta release contains significant improvements to the GraphQL functionality, UI consistency through Typography integration, and fixes several critical bugs. We recommend upgrading to this version if you:

  1. Use GraphQL in your project, especially if you've encountered filtering issues
  2. Need real-time data capabilities through GraphQL subscriptions
  3. Have experienced 500 errors with empty body requests
  4. Want access to the improved content editing experience with WYSIWYG Media Library integration
  5. Need better timestamp filtering in the Content Manager

As this is still a beta release, we recommend testing thoroughly in a development environment before deploying to production. Pay special attention to GraphQL queries and any custom admin extensions you may have developed.

Bug Fixes

GraphQL Fixes

  • Fixed component filtering in GraphQL queries
  • Fixed DynamicZone queries for GraphQL
  • Fixed datetime filtering on GraphQL
  • Fixed manually added timestamps in GraphQL types definition

UI and Form Fixes

  • Fixed number input handling of falsy values
  • Fixed spacing for multiple relations
  • Fixed allowedTypes when undefined in file uploads
  • Fixed headings in users and application pages
  • Fixed label and chevron font-weight and color on hover/active states
  • Fixed content box title font weight

Filter Fixes

  • Fixed datetime in filters for Content Manager and Media Library
  • Fixed date filtering by not treating date objects as operators groups
  • Fixed filters for upload plugin

API and Data Fixes

  • Fixed 500 errors when creating/updating with empty body
  • Fixed missing default value for params in entity-service.load
  • Fixed documentation plugin access issues
  • Fixed CTB default values handling
  • Fixed component validation for required minimum validation

New Features

GraphQL Subscriptions

Added support for GraphQL subscriptions, allowing real-time data updates. This feature is disabled by default but can be enabled through configuration.

Coming Soon Marketplace Page

Added a preview page for the upcoming marketplace functionality, giving users a glimpse of future plugin discovery and installation capabilities.

WYSIWYG Media Library Integration

Enhanced the WYSIWYG editor with direct Media Library integration, improving the content creation experience.

Content-Type Generator CLI

Improved the CLI with a dedicated content-type generator, making it easier to scaffold new content types.

Timestamps in Content Manager

Added createdAt and updatedAt fields back into the Content Manager layouts and filters, improving content management capabilities.

Empty States in Media Library

Added improved empty state visuals in the Media Library for better user experience when no media is present.

Local File Editing Before Upload

Added capability to edit local files before uploading them to the Media Library.

Access Token Query Parameter

Added support for access_token query parameter for authentication, providing more flexibility in API access.

Security Updates

User Information Sanitization

Enhanced sanitization of user information for email templates and throughout the system, improving data security.

First Admin Differentiation

Added functionality to differentiate the first admin user, improving security management capabilities.

CSP Policy Fix

Fixed Content Security Policy for the Media Library, enhancing security protections.

Performance Improvements

Database Improvements

Added support for schema option and forceMigration options, providing more control over database migrations and potentially improving performance during deployments.

Sanitization Enhancements

Improved sanitization processes for user information and event handling, which can lead to better performance and security.

Buffetjs Dependencies Removal

Removed all Buffetjs dependencies, streamlining the codebase and potentially improving load times.

Impact Summary

Strapi v4.0.0-beta.13 represents a significant step forward in the v4 beta journey, with a strong focus on UI consistency through Typography system integration across multiple admin sections. The addition of GraphQL subscriptions opens up new real-time data capabilities for developers, while improvements to filtering, error states, and component validation enhance the overall user experience.

Content editors will benefit from the WYSIWYG Media Library integration and improved error states, making content creation more intuitive. Developers gain access to better CLI tools with the new content-type generator and enhanced database options.

The preview of the upcoming marketplace functionality hints at Strapi's direction toward a more integrated plugin ecosystem. Combined with the numerous bug fixes and UI improvements, this release significantly enhances both developer and user experiences while maintaining backward compatibility with previous beta versions.

Full Release Notes

Changes

  • New content-type generator CLI
  • Documentation plugin Fix
  • createdAt and updatedAt in the CM list view
  • Graphql filtering on id and timestampes
  • Fix 500 errors on empty body
  • Database support schema option and add forceMigration option
  • Graphql component filtering
  • Typography Fixes
  • Default values fix
  • Accordion Error state
  • Empty states in the Media Library
  • Coming soon marketplace page
  • WYSIWYG Media Library

Statistics:

File Changed282
Line Additions7,911
Line Deletions5,345
Line Changes13,256
Total Commits172

User Affected:

  • Access to new GraphQL subscription capabilities for real-time data
  • Improved CLI with new content-type generator
  • Better database options with schema support and forceMigration option
  • Enhanced filtering capabilities in GraphQL (ID and timestamps)
  • Fixed issues with empty body requests that previously caused 500 errors

Contributors:

ConvlyMcastresronronscelestesHichamELBSIalexandrebodinsoupettepetersg83