Announcing strapi@3.0.0-alpha.26 - Filter on deeply nested objects
Tags: javascript, cms, strapi, webdev
Published: 2019-04-16 13:50:04

---
title: Announcing strapi@3.0.0-alpha.26 - Filter on deeply nested objects
published: true
description: The new release includes a new feature that allows you to query nested fields at a nth deep level, available with GraphQL and REST.
cover_image: https://thepracticaldev.s3.amazonaws.com/i/boqkzzmvnlkcx46dm3ll.jpeg
tags: Javascript, CMS, Strapi, Web Development
---
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](https://github.com/strapi/strapi/blob/master/CONTRIBUTING.md). 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:

![GraphQL](https://thepracticaldev.s3.amazonaws.com/i/41nrblxnp9bxm5zh1swi.png)
![REST](https://thepracticaldev.s3.amazonaws.com/i/llcnymm24qyt6ahm3sfz.jpg)


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)

These new features were implemented by [@alexandrebodin](https://twitter.com/_alexandrebodin) and [@kamalbennani](https://github.com/kamalbennani)!

### 🤸‍♀️ 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 🔫 :

<li>[Admin] Fix Blue button (https://github.com/strapi/strapi/pull/3029) @soupette
<li>[Framework] Fix front-end generators plugin (https://github.com/strapi/strapi/pull/3030) @soupette
<li>[Framework] Run snyk only on non fork repo (https://github.com/strapi/strapi/pull/3010) @alexandrebodin
<li>[Plugin] Fix big integer support on GraphQL (https://github.com/strapi/strapi/pull/3090) @derrickmehaffy
<li>[Plugin] Good old issues fixing before the beta (https://github.com/strapi/strapi/pull/3088) @soupette
<li>[Plugin] Fix languages in settings manager (https://github.com/strapi/strapi/pull/3038) @soupette
<li>[Plugin] Trim content builder model attributes (https://github.com/strapi/strapi/pull/2994) @Getriax

### 📚 Documentation - Deploying on Heroku with PostgresSQL / MongoDB

Many of you asked for a more detailed documentation on deployment. It is done now for [Heroku](https://strapi.io/documentation/3.x.x/guides/deployment.html#heroku). 
You can either choose MongoDB or PostgresQL as a database.

![Documentation Strapi for Heroku deployment](https://thepracticaldev.s3.amazonaws.com/i/rgig9u58o5s4cyy5t0fp.gif)

We also published a video based on our tutorial series : Learn GatsbyJS with Strapi Headless CMS.
This video will show you [how to deploy Strapi on Heroku](https://www.youtube.com/watch?v=M1rEwMXK2z4), thanks to [@davidkartuzinski](https://twitter.com/kai_dawei).

[![Learn GatsbyJS with Strapi Headless CMS Tutorial Series - Deploy Strapi to Heroku](https://img.youtube.com/vi/M1rEwMXK2z4/0.jpg)](https://youtu.be/M1rEwMXK2z4)

###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](https://strapi.io/documentation/3.x.x/migration-guide/migration-guide-alpha.25-to-alpha.26.html) 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](https://strapi.io/documentation/3.x.x/getting-started/quick-start.html) 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:
<li> Development tips and tricks: share how you improved your workflow and optimised your use of Strapi 
<li> Tutorials: help the community by sharing how to realise a specific project or feature
<li> Experience feedbacks: explain to new users what was your challenge and how Strapi helped you solve it

[Hit us up](mailto:hi@strapi.io) if you want to talk about it.

And if you have a question or just want to say hi 👉 We're always happy to hear from you on [Twitter](https://www.twitter.com/strapijs), [Github](https://www.github.com/strapi/strapi), [Slack](https://slack.strapi.io) or in the comments below. Please share this article to help more people discover it.

#####Thanks to the community
Strapi is a product of over 200 community committers. 
Strapi alpha.26 contains code contributions from the following people:
[@kamalbennani](https://github.com/kamalbennani), [@siddhartha-crypto](https://github.com/siddhartha-crypto), [@MunGell](https://github.com/MunGell), [@derrickmehaffy](https://github.com/derrickmehaffy), [@abdonrd](https://github.com/abdonrd), [@Getriax](https://github.com/Getriax) and the Strapi team members [@alexandrebodin](https://github.com/alexandrebodin), [@aurelsicoko](https://github.com/aurelsicoko), [@davidkartuzinski](https://github.com/davidkartuzinski), [@lauriejim](https://github.com/lauriejim), [@pierreburgy](https://github.com/pierreburgy), [@soupette](https://github.com/soupette) and [@virginieky](https://github.com/virginieky).

### What's next?

Over the last few months we have been working towards one goal: the release of beta version.

The goals we set ourselves:

- Less breaking changes in the following releases
- A better experience building apps with Strapi
- Less bugs
- Better team workflow
- Deployments will be much simpler
- Setting up the new fondations to bring customization to Strapi's admin

[Stay tuned on Twitter](https://twitter.com/strapijs) or on [our blog](https://blog.strapi.io).