Home

>

Tools

>

Strapi

>

Releases

>

3.0.0-alpha.5.3

Strapi Release: 3.0.0-alpha.5.3

Tag Name: v3.0.0-alpha.5.3

Release Date: 8/24/2017

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.5.3 introduces a complete rewrite of the core framework, a redesigned admin panel, and the new Settings Manager plugin. This release focuses on performance improvements, better configuration structure, and enhanced developer experience. It's a significant update that requires Node v8 and npm >= 5.3.0.

Highlight of the Release

    • Complete rewrite of the core framework layer for better performance and contribution
    • Brand new admin panel design with Bootstrap v4 alpha.6
    • New Settings Manager plugin included in all new projects
    • Harmonized API across all connectors (Bookshelf, Mongoose, Redis)
    • Improved configuration structure for better developer experience
    • Fast logging implementation with pino
    • Internationalization support for notification messages

Migration Guide

Upgrading to v3.0.0-alpha.5.3

Prerequisites

  • Node.js: This version is only compatible with Node v8
  • npm: Version 5.3.0 or higher is required

Configuration Structure Changes

The configuration structure has been significantly improved. You'll need to update your existing configurations to match the new format:

  1. Review the new configuration files structure in a fresh Strapi installation
  2. Pay special attention to database configuration changes, especially if using custom connectors
  3. Update your model configurations to use the new format with the enabled key

Connector API Changes

If you were using custom code that interacted directly with connectors (Bookshelf, Mongoose, Redis), note that their APIs have been harmonized:

  1. Review your connector-specific code
  2. Update to use the new unified API approach
  3. Test database operations thoroughly after migration

Plugin System

The plugin system has undergone significant changes:

  1. Install the new Settings Manager plugin if upgrading an existing project
  2. Review any custom plugins for compatibility with the new core framework
  3. Update plugin translations to use the new i18n system with prefixed keys

Custom Hooks and Middlewares

The way custom hooks and middlewares are loaded has changed:

  1. Ensure your custom hooks include the enabled key
  2. Review middleware configurations, especially if using security middleware which has been split

Upgrade Recommendations

For Development Environments

We strongly recommend upgrading to this version for development environments to benefit from the performance improvements and new features. The rewritten core framework and improved configuration structure will provide a better development experience.

For Production Environments

As this is still an alpha release (v3.0.0-alpha.5.3), we do not recommend using it in production environments unless you thoroughly test your application. The breaking changes in the core framework may require significant adjustments to existing applications.

Upgrade Steps

  1. Ensure you have Node v8 and npm >= 5.3.0 installed
  2. Back up your existing project
  3. Update your Strapi dependencies to v3.0.0-alpha.5.3
  4. Run npm install to update all dependencies
  5. Review and update your configurations according to the migration guide
  6. Test thoroughly before deploying to production

Bug Fixes

Database Management Fixes

  • Fixed database connection issues and improved error handling for MongoDB connections
  • Fixed "database already exists" error handling
  • Resolved issues with setting default database connections
  • Fixed nested object request model handling

UI and Design Fixes

  • Fixed CSS styling on input elements
  • Fixed EditForm buttonContainer alignment
  • Fixed modal centering and styling
  • Corrected PluginLeftMenu design and active link indicators
  • Fixed language display and default language selection

System Fixes

  • Fixed silent fail log files
  • Resolved issues with custom responses
  • Fixed force 404 handling
  • Added proper error handling with try/catch for filesystem functions
  • Fixed startup issues related to hooks and middleware loading

New Features

Admin Panel Redesign

The admin panel has been completely redesigned with a fresh new look using Bootstrap v4 alpha.6. The new design includes improved navigation with a better left menu system, enhanced modal designs, and a more consistent UI throughout the application.

Settings Manager Plugin

Every new Strapi project now comes with the Settings Manager plugin pre-installed. This plugin provides a user-friendly interface for managing:

  • Database configurations with support for multiple connections
  • Language settings with flag visualization
  • Advanced configuration options

Enhanced i18n Support

Notification messages now support internationalization, making the admin interface more accessible to non-English speaking users. The translation system has been improved with better key prefixing and organization.

Fast Logger Implementation

Strapi now uses pino for logging, which provides significant performance improvements over previous logging solutions. This change contributes to the overall performance enhancements in this release.

Improved Left Menu System

The admin panel's left menu has been enhanced with better styling, improved active link indicators, and a more intuitive navigation experience.

Security Updates

No specific security fixes were mentioned in the release notes. However, the overall framework rewrite and dependency updates likely include security improvements as part of the general codebase modernization.

Performance Improvements

Core Framework Rewrite

The core framework layer has been completely rewritten from scratch, resulting in:

  • Faster boot times
  • Improved overall application performance
  • Better memory management

Optimized Startup Workflow

  • Reduced warnings during startup
  • Improved dependency loading process
  • Better handling of plugin initialization

Enhanced File Serving

  • Improved static file serving using router
  • Better handling of public assets in subfolders

Dependency Optimization

  • Removed unnecessary dependencies
  • Updated and optimized existing dependencies
  • Improved package structure for faster loading

Improved Build Process

  • Better symlink handling for development
  • Optimized plugin installation process
  • Faster generation of new projects

Impact Summary

This release represents a significant milestone in Strapi's development with a complete rewrite of the core framework. The focus on performance, developer experience, and UI improvements makes this a substantial update that lays the groundwork for future stability.

The new Settings Manager plugin greatly enhances the configuration experience, allowing developers and administrators to manage database connections, language settings, and other configurations through an intuitive interface rather than editing files manually.

The harmonization of connector APIs (Bookshelf, Mongoose, Redis) creates a more consistent development experience regardless of the database technology being used. This, combined with the improved configuration structure, makes Strapi more approachable for new developers while providing the flexibility experienced developers need.

The UI redesign with Bootstrap v4 alpha.6 modernizes the admin interface and improves usability across the board. The implementation of i18n for notifications is a step toward making Strapi more accessible to a global audience.

While the breaking changes require careful migration planning, the performance improvements and new features justify the effort for most projects. The requirement for Node v8 and npm >= 5.3.0 ensures that Strapi can take advantage of modern JavaScript features and package management capabilities.

Full Release Notes

💥 Breaking changes

  • Core framework layer has been rewritten from scratch to encourage contribution, faster boot and performances.
  • Configurations structure has been improved to be more understandable.

🚀 New features

  • Admin panel comes with a brand new design.
  • Plugin Settings Manager is available on every new project.
  • Fast logger (pino).
  • Use Bootstrap [email protected].
  • i18n has been implemented in the notifications messages.

💅 Enhancement

  • Connectors (strapi-bookshelf, strapi-mongoose, strapi-redis) has been harmonized to use the same API.
  • Improve startup workflow to avoid warnings.
  • Update dependencies.
  • Remove old/deprecated folders (test, website).

This version is only compatible with Node v8 and npm >= 5.3.0

Statistics:

File Changed300
Line Additions4,519
Line Deletions4,011
Line Changes8,530
Total Commits250

User Affected:

  • Need to adapt to the new configuration structure
  • Can benefit from faster boot times and improved performance
  • Must use Node v8 and npm >= 5.3.0 for compatibility
  • Will experience a more consistent API across different connectors

Contributors:

soupettelauriejimAurelsicokopierreburgy