Roadmap Update #2 - Stability, tests & developer experience

In the last roadmap update, I talked about our vision and the features that we planned to release for the next three months. As follows with this post I'm sharing what we've been developing and what will come next.


Three months ago...

We decided to focus our work on the most asked features. These features were:

  • ✅ File Upload
  • ✅ Rich Text Editor (WYSIWYG)
  • ✅ Search, filters and bulk actions
  • 🚧 GraphQL
  • ⭕️ Plugins (extensibility)

The core team and the community made an awesome work and most of the above features have been shipped and released. We received great feedback from the Rich Text Editor, especially the fullscreen mode! The search and bulk actions have just been released.

However, two features have been partially accomplished:

  • GraphQL: It was more complex than we expected especially on the mutations part since we faced many challenges during the development phase. We wanted to offer a great experience, so we decided to limit the scope of the first implementation. Currently, you're able to query the API but you can't add, edit or delete entries through the mutations.
  • Plugins (extensibility): For many reasons, we decided to skip this feature. We need to focus on the product stability and the existing features. We can't build an ecosystem without solid groundwork. We will work on that later, when the time comes.

💡 Many others things have been done during these three months. I'm not going to make the full list, I will only bring to the fore two of them:

  • Tests: We started to write tests to ensure the relationships between models are working as excepted. It's one of the core features of Strapi and we reached a point where it wasn't possible to start a new feature or fix a bug without breaking the product elsewhere. This is only the beginning of a long process on our side and we will continue to work on improving this field.

  • SQL: The SQL databases weren't well supported. It meant that the SQL users weren't able to enjoy the full speed of development provided by Strapi. The tables and columns weren't created/updated automatically in the database, and it was a mess to make it work correctly. Currently, it's no longer an issue, everything is automatically handled by Strapi and the experience is the same whatever the database used.


Roadmap

The developer experience matters a lot for us. We are users too, and we know that bugs or unfinished features can be very frustrated during the development phase of a project. That's why, the next three months are dedicated to improve stability, testing and the developer experience.

1 - Stability

Every day new issues are raised in the GitHub repository and we are grateful to everyone whose is helping us to fix them. Despite this, we faced a large number of new issues and we don't have enough time to work on them.

We are going to change that and spend more time on the issues during this summer.

🗓 Release date: 11 July -> 31 August


2 - Tests

This point is related to the previous one (stability) and it's one of our main topics for the next months. We have to write more tests and ensure that when we're merging changes (made by us or the community) nothing will be broken.

🗓 Release date: 11 July -> 31 August


3 - Developer Experience

We received so many feedback during the last months and we didn't take the time to apply them to the product. Many of them were very relevant and we are going to implement them. I'm pretty excited about it because these updates will improve the global experience and small changes like that can have a big impact on everyone's development journey.

🌍 General

We started working on supporting Yarn and Windows but we never did this to fix the problem forever. We have to find a long-term solution to keep the ecosystem working on each platform and environment.

The documentation is another central point. This is the place where most of you are spending their time to understand how to do things with Strapi or use a specific feature. Currently, we're not satisfied with our documentation. It's not user-friendly and there is a lack of code examples and easy-to-follow tutorials.

  • Support Yarn
  • Better support for Windows
  • New documentation (new design, new sections, more code examples)

🗓 Release date: 31 July (except the documentation)


🏭 Content-Type Builder

This is the plugin with the strongest added value provided by Strapi. Right now, it's working pretty well but we can do better. These improvements will allow you to create your API even faster.

  • Automatically opening the "Field selection" modal after creating a new Content-Type
  • Be able to navigate using the keyboard arrows to select the field type
  • Enhance the selected and hover states
  • New button "Add more" to add many fields at once

🗓 Release date: 25 June


📖 Content Manager

A lot of enhancements can be done in the Content Manager plugin. The list below is not exhaustive but it shows the main improvements and the next big steps for this plugin. We wish that many of you will like these changes!

  • Add loader to avoid empty pages when the internet connection is slow
  • Support JSON input field
  • Select which fields should be displayed on the list view
  • Display relational fields on the list view
  • Change the number of items displayed and default sort
  • Select editable attributes in the edit view

🗓 Release date: 23 July

Strapi Content Manager Settings


◾️ GraphQL

The hype around GraphQL is growing and we don't want to miss this opportunity. GraphQL is the future and in some cases it is better than REST. We want to offer both ways to interact with your APIs. The experience with GraphQL will be awesome with these two improvements.

  • Add Mutations to create, edit or delete entries
  • Follow the OpenCrud specifications

🗓 Release date: 23 July


Conclusion

So you see our roadmap for the next three months. No big new features but a lot of small improvements with a huge impact on the product. We also want to thank the community again (🙏) for helping us on a daily basis. It's difficult to believe how many contributions the project has received over the past months 🙌

👉 If you want to support us, our OpenCollective page got some activity during the last month. You can also buy t-shirts and stickers on the website!



Feel free to comment on this post to share your feelings and thoughts about it.

We are hiring! 👨‍👩‍👧‍👦

To implement all these improvements, we need you!

The Strapi team is growing 🚀 We are currently looking for you, Strapi user, to push your favorite API creation tool to the next level.

Looking forward to be part of this journey? Apply here!

Strapi Team