Home

>

Tools

>

Strapi

>

Releases

>

3.6.0

Strapi Release: 3.6.0

Tag Name: v3.6.0

Release Date: 4/21/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 v3.6.0 introduces a major new feature: internationalization (i18n) support, allowing content to be localized across multiple languages. This release also includes database optimizations, bug fixes for relations and filters, improved error messages, and various UI enhancements. The i18n plugin comes pre-installed and provides a comprehensive set of tools for managing multilingual content through the admin panel.

Highlight of the Release

    • New internationalization (i18n) plugin for managing multilingual content
    • Ability to localize content types and manage translations through the admin panel
    • Locale-based permissions system for controlling access to translated content
    • Database query optimizations for better performance
    • Improved error handling and user feedback

Migration Guide

To upgrade to Strapi v3.6.0:

  1. Update your dependencies:

    npm install [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]
    

    Or if you're using Yarn:

    yarn upgrade [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]
    
  2. Start your application: The i18n plugin comes pre-installed and will run necessary migrations automatically.

  3. Configure locales:

    • Navigate to Settings > Internationalization
    • Add the locales you want to support
    • Set a default locale
  4. Enable localization for content types:

    • Go to Content-Types Builder
    • Edit the content types you want to localize
    • Enable the "Localization" option
  5. Update your API calls: If you're consuming the Strapi API, you'll need to update your queries to include locale parameters:

    GET /api/{content-type}?_locale={locale-code}
    
  6. Update permissions:

    • Review and update user roles to grant appropriate permissions for localized content

For more detailed migration instructions, refer to the official Strapi migration guides.

Upgrade Recommendations

Recommendation: This is a recommended upgrade for users who need multilingual content support.

Priority: Medium

Timing:

  • For projects requiring internationalization: Upgrade as soon as possible to take advantage of the new i18n features.
  • For other projects: You can upgrade at your convenience, as the other changes are mostly enhancements and minor bug fixes.

Preparation:

  1. Back up your database before upgrading
  2. Review your custom code for any potential conflicts with the new i18n functionality
  3. Plan your localization strategy before enabling the feature on production
  4. Test the upgrade on a staging environment first

Considerations:

  • The i18n plugin is now pre-installed but can be disabled if not needed
  • If you've implemented a custom localization solution, you may need to migrate to the official i18n plugin
  • Review your content types carefully before enabling localization, as this will affect your database structure

Bug Fixes

  • Fixed an issue where undefined filter values would cause errors in database queries
  • Added cross-environment support to CLI commands for better compatibility across operating systems
  • Fixed a bug where the private field of target relations was being reset when updating content types
  • Fixed issues with menu links that were missing when updating content types
  • Resolved problems with permissions validation and management
  • Fixed redirection issues after deleting entries in the Content Manager
  • Corrected UI alignment and styling issues in various components
  • Fixed issues with localized media fields and attributes
  • Resolved problems with single type deletion in localized content

New Features

Internationalization Support

The major new feature in v3.6.0 is the addition of internationalization (i18n) support, which comes as a pre-installed plugin. This feature allows content to be created and managed in multiple languages.

Key i18n features include:

  • Locale Management: Create, edit, and delete locales through the Settings panel
  • Content Localization: Enable/disable localization for specific content types
  • Content Translation: Create and manage content in different languages with an intuitive UI
  • Locale Permissions: Control which users can access and modify content in specific locales
  • API Support: New endpoints and parameters for retrieving localized content
  • GraphQL Support: Updated GraphQL schema to support localized queries and mutations

The i18n plugin also includes:

  • A locale selector in the Content Manager
  • Ability to copy content between locales
  • Visual indicators showing which locales content is available in
  • Migration utilities when enabling/disabling localization on content types

Additionally, an environment variable (STRAPI_PLUGIN_I18N_INIT_LOCALE_CODE) can be used to set the default locale on startup.

Security Updates

No specific security fixes were mentioned in this release.

Performance Improvements

  • Removed unnecessary DISTINCT clauses from database queries, which improves query performance especially for large datasets
  • Only adds DISTINCT when it's a join query, avoiding unnecessary database operations
  • Optimized permission checks for localized content
  • Improved handling of localized fields to reduce unnecessary database operations
  • Enhanced GraphQL query performance for localized content by optimizing resolver logic

Impact Summary

Strapi v3.6.0 introduces a significant new capability with the internationalization (i18n) plugin, which transforms Strapi into a fully-featured multilingual CMS. This is a major enhancement for organizations that need to manage content in multiple languages.

The i18n implementation is comprehensive, touching multiple areas of the system including the admin UI, API, permissions system, and database. Content managers will benefit from an intuitive interface for managing translations, while developers gain access to new API endpoints and parameters for retrieving localized content.

Beyond internationalization, this release includes several database optimizations that improve query performance, particularly for large datasets. The removal of unnecessary DISTINCT clauses in certain queries should result in better response times.

Several bug fixes address issues with relations, filters, and UI components, improving overall stability. Documentation improvements help clarify error messages and configuration options.

This release maintains backward compatibility for existing applications while adding substantial new functionality. The i18n plugin comes pre-installed but can be enabled selectively for specific content types, allowing for gradual adoption of the localization features.

Full Release Notes

💅 Enhancement

🐛 Bug fix

🌏 Translation

🚀 New feature


📚 Migration guides can be found here 📚

Statistics:

File Changed300
Line Additions10,292
Line Deletions6,542
Line Changes16,834
Total Commits250

User Affected:

  • Can now create and manage content in multiple languages
  • New locale selector in the Content Manager
  • Ability to copy content between locales
  • Can view which locales an entry is available in

Contributors:

alexandrebodinsoupettepetersg83Convlydependabot[bot]markkaylorderrickmehaffyjonmolcampsjoscpaczekinnerdvationsYehudaKremervelopert