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:
- Make sure your plugins are compatible with the new webpack configuration
- 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:
-
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"
}
}
-
If you're using a SQL database connector, make sure to add strapi-knex:
{
"dependencies": {
"strapi-knex": "3.0.0-alpha.12.1"
}
}
-
Run npm install or yarn to update the dependencies
-
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:
-
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.
-
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.
-
File Upload Enhancements: Fixed issues with file uploads and relationships, plus added a new Rackspace Upload Provider, giving users more options for file storage.
-
Developer Experience: Reduced setup time for monorepo development, improved webpack configuration, and enhanced error notifications make development with Strapi more efficient.
-
Internationalization: Added Simplified Chinese translation, making Strapi more accessible to Chinese-speaking users.
-
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