Home

>

Tools

>

Strapi

>

Releases

>

3.1.5

Strapi Release: 3.1.5

Tag Name: v3.1.5

Release Date: 9/16/2020

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.1.5 introduces a significant UI change by moving the Users & Permissions section from the left menu into the Settings menu. This release includes numerous translation improvements across multiple languages, enhances the admin interface with better email validation and language selection, and adds LinkedIn as a new authentication provider. Several bug fixes address issues with the Content Manager, upload functionality, and UI components. The release also includes documentation updates and performance improvements to the testing framework.

Highlight of the Release

    • Users & Permissions section moved from left menu to Settings menu
    • Added LinkedIn as a new authentication provider
    • Improved language selection with native language names instead of flags
    • Updated Node.js version requirements from v10 to v12
    • Enhanced Apollo Server configuration options for GraphQL
    • Fixed decimal input handling in Content Manager
    • Improved translations for multiple languages

Migration Guide

Node.js Version Requirement

This release updates the Node.js version requirements from v10 to v12. If you're running on Node.js v10, you'll need to upgrade to v12 before updating to Strapi v3.1.5.

Users & Permissions Menu Location

The Users & Permissions section has been moved from the left menu to the Settings menu. If you have documentation or training materials that reference the old location, they should be updated to reflect this change.

GraphQL Configuration

If you're using custom Apollo Server configurations with the GraphQL plugin, review your settings as the configuration structure has been enhanced. The new approach provides more flexibility but might require adjustments to your existing setup.

No database migrations are required for this update.

Upgrade Recommendations

This release contains important bug fixes and enhancements that improve the overall stability and usability of Strapi. The upgrade is recommended for all users, especially those who:

  • Use the Content Manager with decimal fields
  • Work with the Upload plugin for media management
  • Utilize GraphQL for API access
  • Have international users who benefit from improved translations

The update process should be straightforward with minimal risk of breaking changes. Before upgrading:

  1. Ensure your Node.js version is v12 or higher
  2. Back up your database and project files
  3. Update your Strapi dependencies using your package manager:
    npm install [email protected] [email protected] [email protected] --save
    
    (Also update any other Strapi packages you're using to the same version)
  4. Restart your Strapi application

If you're using custom plugins or have made modifications to core files, test thoroughly after upgrading.

Bug Fixes

Content Manager

  • Fixed decimal input handling to properly manage decimal values
  • Resolved issues with component rendering and data handling
  • Fixed UI issues with overlapping elements on pagination tabs
  • Addressed autocomplete issues in Chrome browsers

Upload Plugin

  • Fixed the ability to find files to edit across all available files
  • Prevented uninstalling the upload plugin from the admin panel
  • Fixed media replacement functionality
  • Corrected 'FileToBig' typo in the upload provider

Content Type Builder

  • Fixed reference errors related to component initialization
  • Resolved issues with icon rendering
  • Fixed various small UI issues in the interface

Core Framework

  • Setup HTTP server in Strapi constructor to fix initialization issues
  • Fixed server-side validation for email addresses

New Features

Users & Permissions in Settings Menu

The Users & Permissions section has been moved from the left menu into the Settings menu, providing a more organized admin interface. This change consolidates all configuration-related sections in one place.

LinkedIn Authentication Provider

A new LinkedIn authentication provider has been added to the Users & Permissions plugin, expanding the social login options available to users.

Enhanced Apollo Server Configuration

The GraphQL plugin now allows more configuration options for Apollo Server, giving developers greater flexibility in customizing their GraphQL API.

File Info Mutation in GraphQL

Added a new updateFileInfo mutation to the GraphQL API, providing more control over file metadata management.

Strapi Edition in Admin Footer

The admin interface footer now displays the Strapi edition information, making it easier to identify which version is being used.

Security Updates

Password Validation

Improved security by using asynchronous password validation with bcrypt.compare instead of the synchronous compareSync method, which is more secure and prevents potential blocking of the event loop.

Email Validation

Enhanced email validation by consistently converting email addresses to lowercase, preventing issues with case-sensitive email comparisons and improving authentication security.

Performance Improvements

Testing Framework Enhancement

Replaced babel-jest with @swc-node/jest to significantly speed up frontend testing, resulting in faster test execution times.

Updated Dependencies

Several dependencies have been updated to their latest versions, including:

  • sharp module updated to 0.26.0 for better image processing performance
  • immer updated from 6.0.5 to 7.0.8
  • koa-views updated from 6.2.1 to 6.3.0
  • cli-table3 updated from 0.5.1 to 0.6.0
  • graphql-playground-middleware-koa updated from 1.6.12 to 1.6.19

Password Validation

Switched from synchronous to asynchronous password validation using bcrypt.compare instead of compareSync, improving security and performance.

Impact Summary

Strapi v3.1.5 brings a significant UI change by relocating the Users & Permissions section to the Settings menu, streamlining the admin interface. This release enhances the developer experience with improved GraphQL configuration options, adds LinkedIn as an authentication provider, and fixes several important bugs in the Content Manager and Upload plugin.

The update to Node.js v12 requirement marks a step forward in keeping the platform current with modern JavaScript standards. International users will appreciate the improved translations across multiple languages and the enhanced language selection that now uses native language names instead of flags.

Content editors benefit from fixes to decimal input handling, pagination UI, and media replacement functionality. The testing framework has been optimized for faster performance, which will improve the development workflow.

Overall, this release focuses on enhancing usability, fixing bugs, and improving the developer experience without introducing breaking changes to the core functionality.

Full Release Notes

Note: Please note that the Users & Permissions on the left menu has been moved into the Settings menu per PR: #7467

🌍 Translations

  • [admin] improve russian translations (#6903) @Ashot-KR
  • [admin] Improve & add missing Slovak (SK) translations (#7515) @sebqq
  • [admin] Optimize plugins translation in Traditional Chinese. (#7557) @dominic0512
  • [admin] Add some russian translations for DynamicZone component (#7748) @GreenRobot777
  • [core:framework] fix German word for E-Mail (#7534) @Schaeferjo

💅 Enhancement

  • [admin] Remove flag in language selection (#7102) @anowlet
  • [admin] set email validator to lowercase (#7645) @bglidwell
  • [admin] Add Strapi edition to the admin footer (#7704) @remi2j
  • [core:framework] Update node version requirements for v10 to v12 (#7409) @derrickmehaffy
  • [core:framework] Add utils::sanitize-entity tests (#7497) @Convly
  • [core:tooling] Replace babel-jest with @swc-node/jest to speedup frontend testing (#7724) @Brooooooklyn
  • [documentation] Fix kind attribute update query in beta.17 to beta.18 migration guide (#7583) @samohovets
  • [documentation] Add sqlite details to unit testing guide (#7603) @jasonprado
  • [documentation] Fix minor typos on model documentation (#7619) @tarpier
  • [documentation] Fix typo in controllers.md (#7721) @amirc
  • [documentation] Update email.md (#7769) @divineforge
  • [documentation] Update Roles & Permissions left menu mentions (#7796) @lauriejim
  • [documentation] Update controllers.md (#7814) @kuldipem
  • [documentation] Parameters docs typo (#7833) @remi2j
  • [documentation] Edit understanding login flow to be more readable (#7858) @rudwna
  • [documentation] Update docs to include MySQL docker-compose.yaml (#7892) @adamrhunter
  • [documentation] Typo in contributing.md (#7909) @jbergeron03
  • [plugin:graphql] Update basic GraphQL Plugin information (#7385) @ScottAgirs
  • [plugin:graphql] Allow more options to the Apollo Server config (#7665) @abdonrd
  • [plugin:graphql] Update file info mutation (#7691) @Cr0s4k
  • [plugin:upload] Fix 'FileToBig' typo in strapi-provider-upload-local (#7643) @sebacampos
  • [plugin:upload] Update sharp module to 0.26.0 (#7729) @darron1217
  • [plugin:upload] Cleanup upload tests (#7773) @alexandrebodin
  • [plugin:users-permissions] Users and Permissions in Settings menu (#7467) @HichamELBSI
  • [plugin:users-permissions] Add LinkedIn auth provider (#7490) @abolkog
  • [plugin:users-permissions] Feat/async pwd validation (#7612) @VinitSarvade
  • [plugin:users-permissions] Fixed comment (#7714) @Cr0s4k

🐛 Bug fix

Statistics:

File Changed295
Line Additions10,298
Line Deletions5,897
Line Changes16,195
Total Commits136

User Affected:

  • Users & Permissions section has been moved from the left menu to the Settings menu
  • Improved language selection with native language names instead of flags
  • Enhanced admin footer with Strapi edition information
  • Fixed UI issues in the Content Manager and other admin interfaces

Contributors:

HichamELBSIsoupetteScottAgirsderrickmehaffydr5hnlauriejimpetersg83alexandrebodindependabot[bot]JoeriDammeXuluWarriorMcastresConvlySchaeferjovalerianpereiraVinitSarvadebetterowletCr0s4kremidejMoreBloodwesselvanderlindensebqqabdonrdjasonpradodarron1217sebacamposabolkogTheDarkStrixleezardzardbglidwellBrooooooklynalexander-martrichardgrey