Announcing strapi@3.0.0-alpha.26 - Filter on deeply nested objects

Sit back, relax and have a look at what's coming in this release.
I'm particularly happy to announce this release as it will be the ultimate alpha of Strapi. Yes, next one will be the first beta!

This is the reason why we stopped merging PR as you probably saw on GitHub. We are currently working hard on the new architecture for the admin panel and the plugins to provide better stability of the Strapi core.
So, no PR will be merged in the next 5 weeks as we are focusing on delivering the beta version of Strapi. On top of that, you would have to rewrite your PR based on the new architecture, so there's no point PRing right now.

But you can still contribute! See at the end of this article how you can get involved without coding.
For now, let's see what's new in this release!

🔻Filtering on deeply nested objects

First up, deep filtering. Did you ever want to filter on relation's fields? Well, now you can 🤩 !
This new feature comes in several flavors: REST, GraphQL and is supported on all the current databases (Mongo, SQLite, MySQL and PostgresQL).

Here are some examples:

This new feature also introduces some changes we think you are going to love:

Multi field sorting

GET /products?_sort=created_at:desc,price:asc

Multi operator filtering

GET /products?updated_at_gt=2019-01-01T00:00:00&updated_at_lt=2019-01-10T00:00:00

Query arrays to create OR filtering

GET /products?title_contains=ice&title_contains=fire

New filters

Finally we are introducing two new filters:

n_contains : Tests that the field doesn't contain a value (case insensitive)

n_containss : Tests that the field doesn't contain a value (case insensitive)

🤸‍♀️ Stability improvements

Lately, our goal had been to stabilise the code, put the foundation to be able to develop new features without regressions and to test, test and retest the code. This is particularly important at this stage, prior to beta, to be able to ship faster in the future.
So, GraphQL has been fixed and a few other bugs have been killed 🔫 :

Upgrade to strapi@3.0.0-alpha.26

If you are already building an API using Strapi, we recommend you to migrate to this version.
A fully detailed migration guide is available.

Ready?
Just upgrade your Strapi version with a single command line:

npm i strapi@alpha -g

If you are new to Strapi, just give it a try!

Take a look at the Getting Started guide to jump on board, or get started with the following command lines:

npm install strapi@alpha -g
strapi new myproject --quickstart

Be involved

Contribute!

Contributing to an open-source project could be scary if you never did before, and it doesn't necessarily include coding.

Even if you like to write code, other types of contributions are a great way to get involved with a project and meet other community members. Building those relationships will give you opportunities to work on other parts of the project. https://opensource.guide

For example, we are always open to relevant guest posting from devs with killer content to share! Let us know if it’s your case.
Your contributions could include for example:

Development tips and tricks: share how you improved your workflow and optimised your use of Strapi

Tutorials: help the community by sharing how to realise a specific project or feature

Experience feedbacks: explain to new users what was your challenge and how Strapi helped you solve it