Home

>

Tools

>

Strapi

>

Releases

>

3.0.0-alpha.12.1

Strapi Release: 3.0.0-alpha.12.1

Tag Name: v3.0.0-alpha.12.1

Release Date: 5/3/2018

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.0.0-alpha.12.1: Enhanced Stability and Performance

This release focuses on improving stability, fixing numerous bugs, and enhancing the overall developer experience. Key improvements include better database support (especially for MySQL 5.7 and MongoDB), fixed relationship handling in the Content Manager, and a new Rackspace Upload Provider. The release also includes significant documentation updates, Simplified Chinese translations, and various UI enhancements that make Strapi more robust and user-friendly.

Highlight of the Release

    • Added Rackspace Upload Provider for more file storage options
    • Fixed relationship handling in Content Manager to prevent data loss
    • Improved MySQL 5.7 compatibility with fixed timestamp default values
    • Enhanced MongoDB support for Decimal128 and Float data types
    • Added Simplified Chinese translation
    • Improved webpack configuration for better build performance
    • Fixed GraphQL attribute handling for attributes with dashes

Migration Guide

from v3.0.0-alpha.11 to v3.0.0-alpha.12.1

Database Changes

If you're using MySQL 5.7, this release fixes issues with timestamp default values. No action is required as the fix is applied automatically.

Relationship Handling

The way relationships are handled has been improved. If you've experienced issues with losing relationships when editing content, this release should fix those problems without requiring changes to your models.

Plugin Configuration

If you're using custom plugins:

  1. Make sure your plugins are compatible with the new webpack configuration
  2. Remove the plugin key from API models if present

Production Environment

Settings-manager and content-type-builder are now blocked in production environments for security reasons. Make sure to complete your content type configuration before deploying to production.

GraphQL Changes

If you're using GraphQL with attribute names containing dashes, they will now be properly snake-cased in the GraphQL schema. Update your queries accordingly.

For a complete migration guide, please refer to the official migration guide from alpha.11 to alpha.12.

Upgrade Recommendations

Who should upgrade?

All users of Strapi v3.0.0-alpha.12 should upgrade to v3.0.0-alpha.12.1 as it contains important bug fixes and performance improvements.

Upgrade Priority: High

This release fixes several critical issues related to relationship handling, database compatibility, and file uploads. These fixes are essential for stable operation, especially if you're using MySQL 5.7 or working with complex content relationships.

How to upgrade

To upgrade from v3.0.0-alpha.12 to v3.0.0-alpha.12.1:

  1. Update your dependencies in package.json:

    {
      "dependencies": {
        "strapi": "3.0.0-alpha.12.1",
        "strapi-admin": "3.0.0-alpha.12.1",
        "strapi-utils": "3.0.0-alpha.12.1",
        "strapi-plugin-content-manager": "3.0.0-alpha.12.1",
        "strapi-plugin-content-type-builder": "3.0.0-alpha.12.1",
        "strapi-plugin-users-permissions": "3.0.0-alpha.12.1",
        "strapi-plugin-email": "3.0.0-alpha.12.1",
        "strapi-plugin-upload": "3.0.0-alpha.12.1",
        "strapi-plugin-settings-manager": "3.0.0-alpha.12.1"
      }
    }
    
  2. If you're using a SQL database connector, make sure to add strapi-knex:

    {
      "dependencies": {
        "strapi-knex": "3.0.0-alpha.12.1"
      }
    }
    
  3. Run npm install or yarn to update the dependencies

  4. Restart your Strapi server

No database migrations are required for this update.

Bug Fixes

Content Manager and Relationships

  • Fixed issue where relationships were lost when editing from the many side of a relationship
  • Fixed search select functionality in the Content Manager
  • Fixed handling of multiple relationships on different model names
  • Fixed many-to-many dominant relationship handling to prevent data loss
  • Fixed entry creation with relations

File Upload and Management

  • Fixed single upload with Bookshelf
  • Fixed file relation issues and improved selection of latest associated files
  • Fixed losing morph relations on update in Content Manager with Bookshelf

GraphQL

  • Fixed GraphQL attribute handling for attributes with dashes (now properly snake-cased)

UI and Display

  • Fixed WYSIWYG editor image insertion positioning
  • Fixed DatePicker display issues
  • Fixed LeftMenuFooter style

Framework

  • Fixed exec command when the path has spaces
  • Fixed beforeCreate lifecycle hook
  • Fixed invalid timestamp default values for MySQL 5.7
  • Fixed host not being included in config.url
  • Fixed post-install script
  • Fixed symlinks during project generation
  • Fixed prevGrantConfig equal undefined when config not exist in db
  • Fixed settings-manager language deletion bug

New Features

Rackspace Upload Provider

A new upload provider for Rackspace has been added, expanding the available options for file storage in Strapi applications. This allows users to store their uploaded files on Rackspace's cloud storage service.

Simplified Chinese Translation

The admin panel now includes Simplified Chinese translation, making Strapi more accessible to Chinese-speaking users. This translation covers the core admin interface and several plugins including the settings manager.

Improved SQL Experience

Several enhancements have been made to improve the SQL experience, particularly for MySQL users:

  • Better handling of MySQL projects in development mode
  • Fixed timestamp default values for MySQL 5.7 compatibility
  • Improved database table creation and column management

Security Updates

  • Disabled CSRF in production environment for better API compatibility while maintaining security in other contexts
  • Harmonized allowed headers for better cross-origin request handling
  • Improved error handling for duplicate emails in authentication
  • Enhanced security by blocking settings-manager and content-type-builder in production environments
  • Improved handling of authentication and SSL options in database configuration

Performance Improvements

Build and Setup Optimizations

  • Reduced setup time for monorepo development
  • Improved webpack configuration with better handling of loaders and plugins
  • Removed unnecessary sourceMap generation in production builds
  • Optimized extract-text-webpack-plugin configuration

Database Performance

  • Improved handling of MongoDB Decimal128 and Float data types for better performance and accuracy
  • Enhanced SQL experience with better table creation and column management
  • Improved database connection handling and configuration

API Performance

  • Set ascending order as default for sorting, improving consistency and performance
  • Optimized relationship handling in API responses
  • Improved handling of database queries and connections

Impact Summary

This release (v3.0.0-alpha.12.1) represents a significant improvement in stability and functionality for Strapi's alpha version. The primary focus has been on fixing bugs and enhancing the developer experience.

The most impactful changes include:

  1. Database Compatibility: Fixed issues with MySQL 5.7 timestamp default values and improved MongoDB support for Decimal128 and Float data types, making Strapi more compatible with various database environments.

  2. Relationship Handling: Multiple fixes for relationship management in the Content Manager prevent data loss when editing content with relationships, a critical improvement for content management workflows.

  3. File Upload Enhancements: Fixed issues with file uploads and relationships, plus added a new Rackspace Upload Provider, giving users more options for file storage.

  4. Developer Experience: Reduced setup time for monorepo development, improved webpack configuration, and enhanced error notifications make development with Strapi more efficient.

  5. Internationalization: Added Simplified Chinese translation, making Strapi more accessible to Chinese-speaking users.

  6. Security Improvements: Disabled CSRF in production for better API compatibility and blocked settings-manager and content-type-builder in production environments for enhanced security.

These improvements collectively make Strapi more stable, performant, and user-friendly, addressing key pain points reported by the community while adding valuable new features like the Rackspace Upload Provider.

Full Release Notes

🚀 New feature

🐛 Bug fix

💅 Enhancement

Statistics:

File Changed124
Line Additions3,744
Line Deletions1,699
Line Changes5,443
Total Commits222

User Affected:

  • Improved setup experience with reduced monorepo setup time
  • Better MySQL 5.7 compatibility with fixed timestamp default values
  • Enhanced MongoDB support for Decimal128 and Float data types
  • Fixed lifecycle hooks, particularly the beforeCreate hook
  • Improved webpack configuration for better build performance

Contributors:

soupetteabdonrdAurelsicokolauriejimjuampynrhanyueiXcrossDFroelundpongstrstephledevderrickmehaffypedrocruzioLuukth