Release v3@alpha.10 ๐ŸŽ‰

Here we are: Strapi v3@alpha.10 is available!

Whatโ€™s new in alpha.10?

As announced during alpha.9 release useful new features and improvements have been added in alpha.10.

๐Ÿš€ Settings in database

When you deploy an API for production, your API runs on multiple servers. This is called horizontal scaling. That also means the code of your API is duplicated on each deployment, as many times as the numbers of server.

Until v3@alpha.9, configurations were stored in JSON and JavaScript files. This feature was great when developing locally but, when it comes to production, changing a setting from the interface was not reflected on every API instances. Such problem can produce unexpected behaviors because each instance may respond differently to the same request.

This problem has already been seen for permissions. That's why we have moved the permissions' rules into the database in alpha.9.

In this new version we decided to make the same changes for most of the API and plugins settings.

An easy to use configurations request helper has been added. We hope this improvement will make your life easier when your app is in production.

Strapi configurations

๐Ÿš€ Rewrite Input Library

As you may know, the admin panel and the plugins are built on top of a useful node module named strapi-helper-plugin. This package is kind of a front-end framework which contains the common logic shared between the plugins and the admin panel, such as Webpack, ESlint, PostCSS configurations and React files and components.

It is extremely useful to get access to reusable components. It allows plugins developers to import components with a single line of code import Button from 'components/Button';. In this example, the helper will look for an existing component located in the admin/src/components/Button directory of the plugin. If this component does not exist, the one in the strapi-helper-plugin will be required.

One of the most used reusable components is the input component. Until now, this component was containing a huge amount of logic. The more the time passed, the more this component was becoming unmaintainable. Sometimes it is better to clean things before to go any further. That's why we made the best of this release to split it into multiple components (inputPassword, inputNumber, inputDate, etc.).

๐Ÿ› Bug Fix

๐Ÿ’… Enhancement

  • [Documentation] Moved config out of middleware and into app config 543 @memolipd
  • [Admin] Rewrite lib input to be more flexible and update all plugins with @soupette
  • [Framework] Processing database connection by CLI arguments 582 @lucaperret
  • [Plugin] Update JWT auth data 611 @lauriejim
  • [Framework] Hide input password strapi new cli 614 @lauriejim
  • [Plugin] Update icons and logo 618 @Aurelsicoko

Here is the full changelog: https://github.com/strapi/strapi/releases/tag/v3.0.0-alpha.10.1.

Thank you , Froelund, lucaperret, M1chaelTran, memolipd, monkeywithacupcake and redni for your contributions!

Give it a try!

Looking forward to try this new version?

Requirements:

  • Node 9 installed on your machine.
  • MongodDB installed and running.

Install it:

$ npm i strapi@alpha -g

Check installation:

$ strapi -v

This should print 3.0.0-alpha.10.

Create your first project:

$ strapi new my-app

Choose your database credentials.

Start your server:

$ cd my-app
$ strapi start

Open the admin panel, start building your API, give a look at the documentation to discover the next steps and join us on Slack to give your feedback.

Rocket

Migrating from v3@alpha.9 to v3@alpha.10

If you are already building an API using v3@alpha.9, we recommend you to to migrate to v3@alpha.10. Don't worry, a fully detailed migration guide is available.

What's next?

File upload is a necessary feature for almost every API. Your opinion on the Vote page confirmed that, making it the most wanted feature. Your voice matters:ย we already started working on it and will release the Upload Plugin it in v3@alpha.11!

After that, the GraphQL Plugin will arrive!

Many improvements are coming in the next few weeks. Comment this article to tell what you expect from Strapi in the near future.

The Strapi Team