TL;DR
Strapi v3.0.0-alpha.19 brings important bug fixes, enhanced documentation, and a new feature for custom timestamp column names in databases. This release focuses on improving stability, user experience, and internationalization support, particularly with Russian translations. Key improvements include fixing connection issues with Heroku Postgres, resolving Windows CLI hang problems, and adding helpful documentation links in the admin interface.
Highlight of the Release
- Custom timestamp column names in database models
- Fixed connection issues with Heroku Postgres
- Resolved Windows CLI hang problems by updating inquirer
- Enhanced Russian translations across the admin interface
- Added Documentation and Help links to the admin interface
- Fixed role creation bug related to missing permissions
- Improved deployment documentation and environment setup guidance
Migration Guide
Migration from v3.0.0-alpha.18 to v3.0.0-alpha.19
JWT Configuration Migration
This release includes a migration for the jwt.json file. Make sure to check that your JWT configuration is properly migrated after updating.
Custom Timestamp Column Names
If you want to use the new custom timestamp column names feature:
- Update your model definition files to include the custom timestamp options:
module.exports = {
attributes: {
// your attributes
},
options: {
timestamps: ['createdOn', 'updatedOn'] // Replace with your desired column names
}
};
- Be aware that changing timestamp column names on existing models may require a database migration to rename the columns accordingly.
Windows Users
If you were experiencing CLI freezing issues on Windows, this release should resolve those problems by updating the inquirer dependency. No additional steps are required beyond updating to this version.
Upgrade Recommendations
This release contains important bug fixes and improvements, particularly for Windows users and those deploying to Heroku with Postgres. It's recommended to upgrade to v3.0.0-alpha.19 if you:
- Are experiencing Windows CLI freezing issues
- Deploy to Heroku with Postgres
- Need custom timestamp column names in your database models
- Use Russian language in the admin interface
- Have encountered issues with role creation and permissions
As this is still an alpha release, it's advisable to test thoroughly in a development environment before upgrading production instances. The changes in this release are focused on stability and usability improvements rather than major architectural changes, so the upgrade process should be relatively straightforward.
Bug Fixes
Framework Fixes
-
Heroku Postgres Connection Issue: Fixed a critical bug that prevented proper connection to Heroku Postgres databases, ensuring smoother deployment on the Heroku platform.
-
Windows CLI Hang: Resolved an issue where the CLI would freeze on Windows systems by updating the inquirer dependency, improving the development experience for Windows users.
-
File Writing in Production: Improved the framework to avoid writing unnecessary files when not in development environment, enhancing performance and security in production deployments.
-
Error Message Duplication: Fixed an issue where error messages were being duplicated when wrapping errors with Boom, resulting in cleaner error handling.
-
Bookshelf Template: Removed unnecessary relations route from the bookshelf template to prevent potential issues.
Plugin Fixes
-
User Permissions: Fixed a bug in the query building process in the user-permissions provider service that was causing incorrect query parameters.
-
User Update: Corrected an incorrect parameter variable name in the user update functionality, ensuring proper user data updates.
-
Role Creation: Resolved an issue where creating new roles would fail due to missing permissions, improving the user management experience.
-
Documentation Plugin: Added a logo to the documentation plugin for better visual identification.
New Features
Custom Timestamp Column Names
Strapi now supports custom timestamp column names in database models. This feature allows developers to define their own column names for the created_at and updated_at timestamps, providing more flexibility when working with existing database schemas or when specific naming conventions are required.
Example usage:
module.exports = {
attributes: {
// your attributes
},
options: {
timestamps: ['createdOn', 'updatedOn'] // Custom timestamp column names
}
};
This enhancement is particularly useful when integrating Strapi with existing databases or when working in environments with specific naming requirements.
Security Updates
No specific security fixes were mentioned in this release. However, the improvements to file handling in production environments (avoiding writing unnecessary files when not in development mode) can be considered a security enhancement as it reduces potential attack surfaces in production deployments.
Performance Improvements
Production Environment Optimizations
-
Improved file handling to avoid writing unnecessary files when not in development environment, which reduces disk I/O operations and improves overall performance in production.
-
Enhanced the framework to avoid writing actions.json and plugins.json files in production environments, leading to better resource utilization.
Database Improvements
-
Added support for MongoDB indexing documentation, which can help developers optimize database queries and improve application performance.
-
Fixed timestamp handling in MongoDB, ensuring more consistent and efficient database operations.
Impact Summary
Strapi v3.0.0-alpha.19 delivers significant improvements to stability, user experience, and internationalization support. The release addresses several critical bugs, including connection issues with Heroku Postgres and Windows CLI freezing problems, making the platform more reliable across different environments.
The introduction of custom timestamp column names provides developers with greater flexibility when working with database schemas, especially when integrating with existing systems or following specific naming conventions.
Documentation and user interface enhancements, including comprehensive Russian translations and improved admin navigation with Documentation and Help links, make the platform more accessible to a wider audience. The fixes to role creation and user permissions management strengthen the administrative capabilities of the CMS.
Overall, this release represents an important step forward in Strapi's development, focusing on quality-of-life improvements and addressing user-reported issues while maintaining compatibility with existing projects.
Full Release Notes
🐛 Bug fix
- [Framework] Fix connection issue with Heroku Postgres (#2615) @mohamead
- [Framework] Remove relations route from bookshelf template (#2585) @lauriejim
- [Framework] Update inquirer version to resolve Windows cli hang (#2565) @jgreene
- [Framework] Avoid write files if not development environment (#2518) @abdonrd
- [Framework] Avoid duplicating the message when wrapping errors with Bom (#2445) @jacargentina
- [Plugin] Incorrect params variable name in user update (#2632) @projik
- [Plugin] Add logo to documentation plugin (#2583) @Aurelsicoko
- [Plugin] Fix Create new role bug related to permissions missing (#2571) @soupette
- [Plugin] Fix query building in user-permissions/services/Provider.js (#2537) @pragone
💅 Enhancement
🚀 New feature