Home

>

Tools

>

Strapi

>

Releases

>

3.0.0-alpha.15

Strapi Release: 3.0.0-alpha.15

Tag Name: v3.0.0-alpha.15

Release Date: 11/28/2018

Strapi LogoStrapi

Open-source headless CMS built with Node.js. Provides developers with complete freedom in choosing their favorite tools and frameworks for frontend development.

TL;DR

Strapi v3.0.0-alpha.15 brings significant enhancements to the framework with a major new feature allowing filtering on relation attributes. This release also includes important UI improvements, bug fixes for data fetching and associations, and several documentation updates. Provider names have been prefixed (breaking change), and various plugins have been updated for better stability and performance.

Highlight of the Release

    • New filtering capability on relation attributes
    • Prefixed providers (breaking change)
    • Fixed responsive admin headers
    • Improved handling of relations with array of IDs
    • Added FullStory integration
    • Fixed Bookshelf query parameter data fetching
    • Updated template for lifecycle callbacks

Migration Guide

Migration from v3.0.0-alpha.14.5 to v3.0.0-alpha.15

Breaking Change: Prefixed Providers

The most significant breaking change in this release is the prefixing of providers. You'll need to update your provider references in your configuration.

  1. Update provider names in your configuration files:

    • Look for provider configurations in your ./config/plugins.js or equivalent files
    • Add the appropriate prefix to each provider name
  2. If you're using custom providers, ensure they follow the new naming convention.

Updated Dependencies

Make sure to update your dependencies by running:

npm install
# or
yarn

For a complete migration guide, refer to the official documentation: Migration guide alpha.14.5 to alpha.15

Upgrade Recommendations

This release contains a breaking change with prefixed providers, but also brings significant improvements in filtering capabilities and bug fixes.

Recommended for: All users, especially those who need filtering on relation attributes or have experienced issues with data fetching and relations.

Upgrade priority: Medium to High

Before upgrading:

  1. Review the migration guide thoroughly
  2. Backup your project
  3. Check your provider configurations and prepare to update them
  4. Test the upgrade in a development environment before applying to production

Upgrade steps:

  1. Update your package.json to reference the new version: "strapi": "3.0.0-alpha.15"
  2. Run npm install or yarn
  3. Update provider configurations as per the migration guide
  4. Test your application thoroughly, especially features related to relations and data filtering

Bug Fixes

Data Fetching and Relations

  • Fixed bookshelf query params fetch data to ensure proper data retrieval
  • Fixed fetch user in Mongoose to correctly retrieve user data
  • Fixed manyToOne association results for GraphQL to ensure proper data relationships
  • Fixed SelectMany Dropdown Input search Ajax Call on search for better UI interaction
  • Fixed delete all functionality to properly remove multiple items
  • Fixed missing content type in content manager that sometimes occurred

Authentication and Configuration

  • Added support for using proxy config in Auth controller of users and permissions plugin
  • Fixed conditional management for plugin host to prevent runtime errors
  • Added missing Twitter provider redirect URI configuration
  • Fixed Cloudinary upload plugin "delete" method

UI and Build Issues

  • Fixed responsive admin headers for better mobile experience
  • Locked babel dependencies version until the dependency to update is found to ensure build stability

New Features

Allow filtering on relation attributes

A significant new feature has been added that allows filtering data based on relation attributes. This powerful enhancement enables more complex and precise queries when working with related data in both Bookshelf and Mongoose adapters.

The implementation includes:

  • Logic to parse relations filter if they exist
  • Updated Bookshelf/Mongoose service templates to support relation attribute filtering
  • Support for deep filtering in Bookshelf
  • Rewritten logic for deep population and matching

This feature greatly improves the API's querying capabilities, allowing developers to create more sophisticated data retrieval operations.

Added FullStory integration

FullStory has been integrated into the admin panel, providing better insights into user behavior and experience. The implementation includes:

  • A FullStory component for tracking
  • An easy way to disable tracking by removing the UUID

This addition will help the Strapi team better understand how users interact with the admin interface and identify areas for improvement.

Security Updates

No specific security fixes were mentioned in this release.

Performance Improvements

Code Quality and Performance

Several refactoring efforts have been made to improve code quality and performance:

  • Removed unused variables and never executed conditional parts
  • Fixed misuse of map method by using forEach when appropriate
  • Split convertParams to multiple stage steps for better organization and performance
  • Improved logic by removing hidden fields from options
  • Optimized query handling for both Bookshelf and Mongoose adapters

These changes contribute to a more efficient and maintainable codebase, which should result in better overall performance.

Impact Summary

Strapi v3.0.0-alpha.15 delivers a significant enhancement to the framework's querying capabilities by introducing filtering on relation attributes. This feature allows developers to create more sophisticated and precise queries when working with related data, greatly improving the API's flexibility.

The release also addresses several important bugs, particularly in data fetching and associations, which should result in more reliable operation. UI improvements like fixed responsive headers and dropdown search functionality enhance the admin experience.

The breaking change with prefixed providers requires attention during upgrade, but the migration is straightforward with proper planning. The addition of FullStory integration provides better insights into user behavior, which will help guide future improvements.

For developers, this release offers more powerful data querying tools and improved relation handling. Content managers will benefit from UI fixes and more reliable content management operations. The code quality improvements and refactoring efforts contribute to a more maintainable and efficient codebase.

Overall, this is a valuable update that balances new features with important stability improvements, making it a recommended upgrade for most Strapi users.

Full Release Notes

💅 Enhancement

🐛 Bug fix

🚀 New feature

Migration guide: https://github.com/strapi/strapi/wiki/Migration-guide-alpha.14.5-to-alpha.15

Statistics:

File Changed146
Line Additions1,291
Line Deletions494
Line Changes1,785
Total Commits142

User Affected:

  • Can now filter data based on relation attributes
  • Need to update provider references due to the breaking change with prefixed providers
  • Benefit from improved query handling for Bookshelf and Mongoose
  • Can use array of IDs to manage relations through the API

Contributors:

olomediaryubrolauriejimkamalbennanidimitrinicolasderrickmehaffydalirnetmaturanomxAurelsicokosoupetteBrandonS8marcellovetrojosephdburdickabdonrdjesusprubiohenrych4HusamElbashir