TL;DR
Strapi v3.0.0-beta.16.4 brings significant improvements to the GraphQL plugin, fixes critical issues with group relations in MongoDB, enhances media management with a new preview list feature, and adds support for Unicode characters in search functionality. This release focuses on improving developer experience and fixing bugs that affected data retrieval and policy enforcement.
Highlight of the Release
- New media preview list UI for improved media management
- Unicode/Cyrillic character support in search functionality
- Fixed GraphQL policy enforcement and plugin mutations
- Improved group relations handling in MongoDB
- Fixed content manager navigation between entries
Migration Guide
Updating to v3.0.0-beta.16.4
-
Update your Strapi version in your package.json:
"strapi": "3.0.0-beta.16.4",
"strapi-admin": "3.0.0-beta.16.4",
"strapi-utils": "3.0.0-beta.16.4",
"strapi-plugin-content-type-builder": "3.0.0-beta.16.4",
"strapi-plugin-content-manager": "3.0.0-beta.16.4",
"strapi-plugin-users-permissions": "3.0.0-beta.16.4",
"strapi-plugin-email": "3.0.0-beta.16.4",
"strapi-plugin-upload": "3.0.0-beta.16.4"
-
If you're using GraphQL with custom policies, ensure you're using the correct 'policies' key instead of 'policy' in your configuration.
-
If you're using MongoDB with group relations, this update fixes population issues, but you should test your specific implementation to ensure data is being retrieved correctly.
-
Run yarn install or npm install to update dependencies.
-
Restart your Strapi server to apply the changes.
Upgrade Recommendations
This release contains important bug fixes for GraphQL functionality and group relations in MongoDB, as well as UI improvements for media management. It's recommended for all users to upgrade, especially if you:
- Use GraphQL in your Strapi application
- Work with group relations in MongoDB
- Need Unicode/Cyrillic character support in search functionality
- Manage media files extensively
The update is particularly important for developers who rely on GraphQL policies and mutations, as it fixes critical issues with policy enforcement and plugin mutations.
Since this is a beta release (v3.0.0-beta.16.4), it's advisable to test the upgrade in a development environment before applying it to production systems.
Bug Fixes
GraphQL Plugin Fixes
- Fixed an issue where custom GraphQL mutation resolvers were not triggering policies
- Fixed a problem where policies triggered by GraphQL mutations and queries had
ctx.state.user as undefined
- Updated documentation to use the correct 'policies' key instead of 'policy'
- Fixed an issue where GraphQL mutations that use actions in plugins didn't work properly
Group Relations Fixes
- Fixed population of group relations on MongoDB
- Fixed group relation fetching in the content manager
- Improved documentation for plugin group relations
- Fixed issues with group navigation in the content manager
Content Manager Navigation
Fixed a bug that occurred when navigating from one entry to another in the content manager, ensuring a smoother user experience when browsing through content.
GraphQL Issues
- Fixed bad conversion of id to _id in GraphQL and aggregations
- Fixed _q count functionality (though it still doesn't work with group by)
- Fixed files resolver in GraphQL
New Features
Media Preview List
A new media preview list feature has been added to the Media Library plugin, providing a more visual way to browse and manage media files. This enhancement improves the user experience by displaying media items in a list view with previews, making it easier to identify and work with media assets.
Unicode Character Support in Search
Search functionality has been enhanced to support Unicode and Cyrillic characters. This improvement allows users to search for content using non-Latin characters, making Strapi more accessible and functional for international users and multilingual content.
Security Updates
No specific security fixes were mentioned in this release. The update to ESLint dependencies may include security patches, but they were not explicitly highlighted in the release notes.
Performance Improvements
Search Performance
The improvements to search functionality with Unicode character support not only enhance usability but also improve search performance by implementing a more robust search query builder. This ensures that searches with special characters are handled efficiently without stripping important information.
ESLint Updates
The update to ESLint dependencies helps maintain code quality and can lead to better performance through improved code linting and enforcement of best practices. This update includes:
- Updated ESLint to v6.3
- Fixed various lint errors
- Disabled specific rules where appropriate
- Updated related dependencies like lint-staged
Impact Summary
This release significantly improves the developer and content manager experience with Strapi by addressing several critical issues and adding useful enhancements.
The fixes to GraphQL policy enforcement and plugin mutations resolve important functionality gaps that previously limited the effectiveness of GraphQL in Strapi applications. Developers can now properly implement security policies and custom mutations, including those that use actions in plugins.
The addition of Unicode character support in search functionality makes Strapi more accessible for international users and multilingual content, addressing a significant limitation in previous versions.
For content managers, the new media preview list provides a more visual and intuitive way to manage media assets, while fixes to navigation in the content manager ensure a smoother experience when working with content entries.
MongoDB users benefit from improved handling of group relations, fixing issues with data retrieval and population that could cause incomplete or incorrect data to be returned.
Overall, this release enhances Strapi's reliability, usability, and internationalization support, making it a worthwhile upgrade for most users.
Full Release Notes
💅 Enhancement
🚀 New feature
🐛 Bug fix