TL;DR
Strapi v3.0.0-beta.17.6 brings significant improvements to error handling, performance, and documentation. Key updates include enhanced OAuth provider support (especially for GitHub), a new email confirmation endpoint, Vietnamese language support, and numerous bug fixes for database configuration and GraphQL queries. This release focuses on stability and developer experience with better documentation and cleaner templates.
Highlight of the Release
- Enhanced GitHub OAuth provider with better email handling
- New POST route
/auth/send-email-confirmation for email verification
- Added Vietnamese language support to the admin interface
- Fixed hot reload issues on Windows 10
- Improved database configuration and relation table handling
- Migrated documentation to VuePress v1 with better organization
Migration Guide
No specific migration steps are required for upgrading from v3.0.0-beta.17.5 to v3.0.0-beta.17.6.
However, if you're migrating from earlier versions, note the following:
- The
strapi-plugin-settings-manager package has been removed since v3.0.0-beta.14
- Changes to the Bootstrap function have been documented in the migration guide from alpha.26 to beta
If you're using custom OAuth providers, especially GitHub, you may want to review the changes to the OAuth provider handling to ensure your implementation remains compatible.
Upgrade Recommendations
This release contains important bug fixes and enhancements that improve stability and developer experience. It's recommended to upgrade to this version, especially if you:
- Use OAuth providers, particularly GitHub
- Work with GraphQL and have models with private attributes
- Develop on Windows 10 and have experienced hot reload issues
- Need the new email confirmation endpoint functionality
- Would benefit from Vietnamese language support
The upgrade should be straightforward with minimal risk of breaking changes. As always, it's recommended to test the upgrade in a development environment before applying it to production.
Bug Fixes
OAuth Provider Fixes
- Fixed error handling in OAuth providers, particularly for the GitHub provider
- Enhanced GitHub provider to fetch user email via the
user/email API endpoint when a public email isn't available on the user's profile
- Added auto-confirmation for users authenticating with providers other than local
Database and GraphQL Fixes
- Fixed an issue where many-relation tables (ManyToMany and ManyWay) were being created even when autoMigration was set to false
- Fixed GraphQL resolvers not being correctly generated when models contained private attributes
- Ensured plugin context is properly used in GraphQL aggregation queries
- Fixed database configuration handling when retrying connections
Admin Interface Fixes
- Fixed handling of non-required JSON fields
- Fixed hot reload bug on Windows 10 environments
- Cleaned up template and removed keys that would break bookshelf/knex
Documentation Fixes
- Fixed documentation redirection and CSS issues after VuePress v1 migration
- Corrected various typos in deployment docs, security documentation, and API examples
- Fixed misleading database configuration documentation
- Updated migration guides with more accurate information
New Features
Email Confirmation Endpoint
Added a new POST route /auth/send-email-confirmation that allows applications to trigger email confirmation messages for users. This provides a more flexible way to handle user verification flows in applications built with Strapi.
Vietnamese Language Support
The admin interface now includes full Vietnamese language support, making Strapi more accessible to Vietnamese-speaking developers and content managers. This includes translations for the admin panel, content manager, documentation, email, upload, and users-permissions plugins.
Security Updates
No specific security fixes were mentioned in this release. However, the release includes improvements to the security documentation and templates:
- Added a security and vulnerability reporting page to provide clear guidelines for reporting security issues
- Removed the security issue template in favor of the new security documentation
- Fixed typos in the security documentation
Performance Improvements
Users-Permissions Performance
Improved the bootstrap performance of the users-permissions plugin by retrieving roles without populating users and permissions relations, which significantly reduces the amount of data loaded during startup.
Admin Interface Optimization
Removed unnecessary Webpack plugins from the admin interface build process, which helps reduce build times and improves overall performance.
Impact Summary
Strapi v3.0.0-beta.17.6 is primarily a maintenance and enhancement release that improves stability and developer experience. The most significant impacts are:
-
Better OAuth Integration: Enhanced GitHub provider support with improved email handling and better error management for all OAuth providers.
-
New API Functionality: The addition of the /auth/send-email-confirmation endpoint gives developers more control over user verification flows.
-
Improved Internationalization: Vietnamese language support makes Strapi more accessible to a broader audience.
-
Database Handling Improvements: Fixed issues with relation tables and configuration handling, particularly when autoMigration is disabled.
-
Documentation Overhaul: Migration to VuePress v1 with better organization, new guides for process management and external data handling, and numerous corrections.
These changes collectively make Strapi more robust, easier to use, and better documented, particularly for developers working with authentication, GraphQL, and complex database relationships.
Full Release Notes
🐛 Bug fix
- [Admin] Fix non required JSON (#4465) @soupette
- [Admin] Fix hot reload bug on Win 10 (#4533) @Cow258
- [Documentation] Fix documentation redirection and css (#4563) @lauriejim
- [Framework] Clean up template and remove keys that would break bookshelf/knex (#4444) @derrickmehaffy
- [Framework] Write the correct database configuration (#4529) @lauriejim
- [Plugin] Fix error handling in OAuth providers + Enhance Github provider (#4242) @ledgitbe
- [Plugin] Support private associations in GraphQL resolvers (#4441) @mdacosta
- [Plugin] Do not create manyRelation tables if autoMigration is false. (#4458) @guibernardino
- [Plugin] Auto confirmation user with provider other than local (#4462) @Mateuszry
- [Plugin] Use plugin in the GraphQL aggregation queries (#4508) @abdonrd
🚀 New feature
💅 Enhancement
- [Admin] Add Vietnamese translation (#4414) @olragon
- [Admin] Remove unneeded Webpack plugin (#4464) @soupette
- [Admin] Send details about administrator in events (#4551) @Aurelsicoko
- [Documentation] Update migration-guide-alpha.26-to-beta.md - to remove strapi-plugin-settings-manager package (#4515) @lydia-gu
- [Documentation] Update discussion template to clarify it's use. (#4438) @derrickmehaffy
- [Documentation] Fix typo on security.md (#4451) @lauriejim
- [Documentation] Add Strapi environment to Sentry error (#4452) @clorichel
- [Documentation] Fix misleading database configuration documentation (#4568) @sarneeh
- [Documentation] Fix create-strapi-app typo in documentation (#4588) @uinz
- [Documentation] Docs vuepress v1 (#4471) @lauriejim
- [Documentation] Remove security issue template (#4478) @derrickmehaffy
- [Documentation] Add guide to fetch and insert external data (#4412) @lauriejim
- [Documentation] Update migration-guide-alpha.26-to-beta.md - to add changes for Bootstrap function (#4516) @lydia-gu
- [Documentation] Add process manager guide (#4566) @lauriejim
- [Documentation] Add the model value in the core controller docs (#4530) @lauriejim
- [Documentation] Correct typo in content-api documentation (#4544) @BlueGone
- [Documentation] Clarify usage of model in create and update examples (#4545) @derrickmehaffy
- [Documentation] Fix typos in deployment docs (#4422) @hanif66
- [Documentation] valid JSON makes a working example (#4552) @clorichel
- [Framework] Serve index.html in a simpler way (#4454) @alexandrebodin
- [Plugin] Retrieve roles without populating users and permissions relations (#4519) @victorlambert
- [Plugin] Add uuid attribute translations and uuid icon for content builder (#4406) @mhelmetag