TL;DR
Strapi v3.0.0-alpha.8 brings significant improvements to the framework with a focus on plugin management, database connectivity, and user authentication. This release introduces the ability to install plugins directly from the administration panel, configure database connections during setup, and fetch authenticated user models. It also includes important bug fixes for deployment processes and enhancements to relationship handling.
Highlight of the Release
- Install plugins directly from the administration panel
- Configure database connections during initial setup
- New
/user/me endpoint to fetch authenticated user model
- Support for one-way relationships in data models
- SSL option for database connections
- Improved deployment process
- Enhanced plugin documentation
Migration Guide
Upgrading from v3.0.0-alpha.7.3 to v3.0.0-alpha.8
-
Update Strapi Core and Packages
npm install [email protected] --save
Or if using Yarn:
yarn upgrade [email protected]
-
Update Plugins
If you're using any of the official plugins, update them as well:
npm install [email protected] --save
(Repeat for other plugins you're using)
-
Database Changes
If you're using MongoDB, the release now uses Decimal128 type instead of the mongoose-double package. MongoDB will store decimal values as NumberDecimal, not as strings. No migration is needed, but be aware of this change if you're directly accessing the database.
-
Check Authentication Routes
If you're using the /user/me endpoint in your frontend, update your code to handle the new response format.
-
Review One-Way Relationships
If you're using relationships in your models, you can now take advantage of one-way relationships. Review your models to see if you can simplify any bidirectional relationships that only need to be accessed from one side.
Upgrade Recommendations
Who should upgrade:
- Developers who need the new plugin installation features
- Projects requiring one-way relationships in data models
- Applications that would benefit from the new authenticated user endpoint
- Anyone experiencing issues with deployment or database connections
Upgrade Priority: Medium
This is an alpha release with significant new features and bug fixes. If you're actively developing with Strapi alpha versions, upgrading is recommended to take advantage of the new features and fixes. However, as this is still an alpha release, it's advisable to test thoroughly in a development environment before deploying to production.
For projects already running on v3.0.0-alpha.7.3 without issues, the upgrade is beneficial but not critical unless you specifically need the new features or are affected by the bugs that have been fixed.
Bug Fixes
Deployment Process Fixes
Several issues with the deployment process have been resolved, including path resolution problems and configuration handling. The changes improve the reliability of deploying Strapi applications to production environments.
Plugin Installation Fixes
Fixed bugs that occurred when trying to install new plugins, including proper redirection to the marketplace and handling of already installed plugins.
Yarn Package Management Fixes
Resolved issues with Yarn package management, including finding packages in the correct folders and handling .gitignore files in plugins.
User Role Display Fix
Fixed display issues on the EditRole page where the number of users associated with a role wasn't showing correctly.
Config Files as API Fix
Fixed an issue where config files named as APIs weren't being properly authorized (issue #417).
Database Connection Fixes
- Fixed data path in connectivity functions
- Added better error handling for database connections (MongoDB, PostgreSQL, MySQL)
- Fixed logs for user table creation in PostgreSQL and MySQL
New Features
Install Plugins from Administration Panel
A major new feature allows users to install plugins directly from the administration panel. This includes a new interface with plugin cards displaying logos and descriptions fetched from the API, making plugin discovery and installation much more user-friendly.
Database Connection Configuration
During the strapi new command, users can now configure their database connection through a form interface. This streamlines the setup process and makes it easier to connect to different database types.
Authenticated User Model Endpoint
The Users & Permissions plugin now includes a /user/me endpoint that allows fetching the authenticated user model. This simplifies building user-specific features in applications consuming the Strapi API.
Support for One-Way Relationships
Data modeling has been enhanced with support for one-way relationships, giving developers more flexibility in defining entity relationships without requiring bidirectional connections.
Security Updates
JWT Token Validation
Improved security by adding JWT token validation checks when receiving 401 errors and setting proper JWT expiration dates. The system now verifies user token validity more consistently.
SSL Support for Database Connections
Added SSL option for strapi-knex connections, which is necessary for secure connections to SSL-only remote database services like Heroku Postgres.
Performance Improvements
Middleware Optimization
Updated middleware dependencies and removed unnecessary conversion operations, which should result in improved request handling performance.
Backend URL Optimization
Improved the way backend URLs are generated and handled, particularly in development mode, which enhances the overall performance of the application.
Path Resolution Improvements
Enhanced the way source paths are generated, which improves the efficiency of file loading and module resolution.
Impact Summary
Strapi v3.0.0-alpha.8 represents a significant step forward in the framework's development, particularly in the areas of plugin management, database connectivity, and developer experience. The ability to install plugins directly from the administration panel transforms how developers extend their Strapi instances, making the process more intuitive and user-friendly.
The database connection configuration during setup addresses a common pain point in the initial project creation process, allowing developers to configure their database connections more easily. This, combined with the SSL support for database connections, makes Strapi more adaptable to various hosting environments, including those requiring secure connections.
The introduction of one-way relationships provides more flexibility in data modeling, allowing developers to create more efficient and logical data structures. The new /user/me endpoint enhances the authentication capabilities, making it easier to build user-specific features.
The numerous bug fixes, particularly around deployment and plugin installation, improve the overall stability and reliability of the framework. The enhanced documentation for plugin development will help grow the ecosystem by making it easier for developers to create and share plugins.
Overall, this release significantly improves both the developer and user experience of Strapi, making it more powerful, flexible, and easier to use.
Full Release Notes
🚀 New feature
- [Plugin] add endpoint to fetch authenticated user model (#435)
- [Framework] Create form to set database connection on strapi new (#420)
🐛 Bug Fix
- [Framework] Fix yarn (#422)
- [Admin] Fix user associated with a role display (#427)
- [Framework] Authorize config files name as API (#428)
- [Framework] Fix deployment process (#431)
- [Plugin] Fix bug when trying to install a new plugin (#448)
💅 Enhancement
- [Framework] SSL option for strapi-knex connections (#424)
- [Framework] Support one-way relationship (#426)
- [Framework] Add plugins icons to ListPlugin page (#385)
- [Documentation] Improve the plugin section documentation (#433)
- [Framework] Update middleware dependencies and remove unnecessary convert (#434)
- [Framework] Add logs if missing things in user table (#416)