TL;DR
Strapi v3.0.0-alpha.17 introduces significant enhancements to documentation, adds front-end testing with Cypress, and includes a new documentation plugin. This release focuses on improving developer experience with better API documentation, migration guides, and customization options for MongoDB connections. Several bug fixes address issues with Mongoose data types and UI display problems.
Highlight of the Release
- Added front-end testing with Cypress for better quality assurance
- New documentation plugin with comprehensive API documentation
- Improved Mongoose support with float/decimal fixes and connection customization
- Enhanced developer experience with migration guides and better API documentation
- Fixed UI issues including display of longer attribute descriptions
Migration Guide
Upgrading from v3.0.0-alpha.16 to v3.0.0-alpha.17
- Update Strapi Core and Packages
npm install [email protected] --save
# or
yarn upgrade [email protected]
- Mongoose Users: Note Data Type Changes
If you're using Mongoose as your database connector, be aware that this release fixes issues with float and decimal data types. Review any models using these data types to ensure they behave as expected after upgrading.
- Sort Filter Format
When using sort filters in API queries, ensure that ASC/DESC values are in uppercase:
# Correct
GET /content-type?_sort=field:ASC
# Incorrect (will cause errors)
GET /content-type?_sort=field:asc
- Documentation Plugin
If you want to use the new documentation plugin, install it after upgrading:
strapi install documentation
- Mongoose Connection Customization
You can now customize Mongoose connections by modifying your ./config/functions/mongoose.js file. For example:
module.exports = ({ connection }) => {
// Run custom Mongoose plugins
connection.plugin(require('mongoose-awesome-plugin'));
};
Upgrade Recommendations
This alpha release introduces several important improvements and fixes, particularly for developers working with Mongoose databases and those who need better API documentation.
Recommendation: This upgrade is recommended for:
- Developers who need better API documentation through the new documentation plugin
- Teams implementing front-end testing with Cypress
- Projects using Mongoose that have encountered issues with float/decimal data types
- Anyone who wants to customize their Mongoose connections
As this is still an alpha release, it's advisable to test thoroughly in a development environment before deploying to production. Pay special attention to database interactions if you're using Mongoose, especially with float and decimal fields.
Bug Fixes
Admin Interface Fixes
- Fixed path of contentTypesToShow, resolving navigation issues
- Fixed the display of longer attribute descriptions in the UI
- Fixed provider display in the content manager
- Reverted FA language to resolve localization issues
Database and Framework Fixes
- Fixed Mongoose float and decimal problems, ensuring proper data type handling
- Removed Snyk from Travis CI to streamline the build process
- Fixed authentication issues with Snyk
- ASC/DESC sort filters now properly require uppercase to prevent 500 errors
New Features
Front-End Testing with Cypress
Strapi now includes Cypress for front-end testing, allowing developers to write and run automated tests for the admin interface. This addition helps ensure UI functionality works as expected across releases and makes it easier to catch regressions before they reach production.
Documentation Plugin
A new documentation plugin has been added that provides comprehensive API documentation. This plugin:
- Adds descriptions to routes in the users-permissions plugin
- Adds descriptions to upload routes
- Adds descriptions to email routes
- Includes examples for API endpoints, such as file uploads
- Provides override documentation for upload and users-permissions
These improvements make it much easier for developers to understand and use Strapi's API endpoints.
Security Updates
No specific security fixes were mentioned in this release. However, the integration of Snyk for dependency vulnerability checking will help identify and address potential security issues in dependencies going forward.
Performance Improvements
Mongoose Connection Customization
The ability to customize Mongoose connections allows developers to optimize database performance by:
- Loading custom Mongoose plugins
- Configuring connection parameters to match specific deployment needs
- Fine-tuning MongoDB performance settings
Build Process Improvements
- Removed
.npmignore from generated files, resulting in cleaner project structures
- Improved plugin installation logs for better visibility into the installation process
- Added dependency vulnerability checking with Snyk to ensure secure dependencies
Impact Summary
Strapi v3.0.0-alpha.17 represents a significant step forward in developer experience and testing capabilities. The addition of Cypress for front-end testing enables more robust quality assurance processes, while the new documentation plugin dramatically improves API discoverability and usability.
For Mongoose users, this release is particularly valuable as it fixes long-standing issues with float and decimal data types and introduces the ability to customize database connections. These improvements allow for more flexible and reliable database interactions.
The focus on documentation—including migration guides, better API descriptions, and improved plugin documentation—reflects Strapi's commitment to developer experience. These enhancements make it easier for both new and experienced developers to work with Strapi effectively.
Overall, this release balances new features with important fixes and quality-of-life improvements that make Strapi more robust and developer-friendly.
Full Release Notes
💅 Enhancement
🐛 Bug fix
🚀 New feature