Strapi blog logo
  • Product

      Why Strapi?Content ArchitectureRoadmapIntegrationsTry live demo
      OverviewContent Types BuilderCustomizable APIMedia LibraryRoles & Permissions
      Discover Strapi Enterprise EditionDiscover our partners
  • Pricing

  • Solutions

      Static WebsitesMobile ApplicationsCorporate websitesEditorial SitesEcommerce
      Delivery HeroL'EquipeSociete GeneralePixelDustBanco International
      Discover all our user stories
  • Community

      CommunityWrite for the communityWall of LoveStrapi Conf 2021
      SlackGitHubYoutubeCommunity Forum
      Meet the Strapi Community StarsDiscover the Strapi Showcase
  • Resources

      BlogStartersNewsroomSupport
      Strapi AcademyTutorialsVideosWebinars
      The Guide to Headless CMS Strapi Community Forum
  • Docs

      InstallationConfigurationsDeploymentUpdate versionContent API
      Getting StartedContent ManagerContent-Types BuilderUsers, Roles & PermissionsPluginsSettings
      Developer DocumentationStrapi User Guide

Looking for our logo ?

Logo Brand download
Download Logo Pack
See more Strapi assets
Strapi blog logo
  • Product

    Product

    • Why Strapi?
    • Content Architecture
    • Roadmap
    • Integrations
    • Try live demo

    Features

    • Overview
    • Content Types Builder
    • Customizable API
    • Media Library
    • Roles & Permissions
    • Discover Strapi Enterprise Edition
    • Discover our partners
    Features cover

    Unlock the full potential of content management

    See all features
    Strapi Enterprise Edition

    Discover the advanced features included in Strapi Enterprise Edition.

    Get Started
  • Pricing
  • Solutions

    Solutions

    • Static Websites
    • Mobile Applications
    • Corporate websites
    • Editorial Sites
    • Ecommerce

    Stories

    • Delivery Hero
    • L'Equipe
    • Societe Generale
    • PixelDust
    • Banco International
    • Discover all our user stories
    Delivery Hero team

    Delivery Hero manages their partner portal with Strapi.

    Read their story
    turn 10 studios website

    How 1minus1 delivered a creative website for Turn10 Studios 25% faster with Strapi

    Discover their story
  • Community

    Community

    • Community
    • Write for the community
    • Wall of Love
    • Strapi Conf 2021

    Resources

    • Slack
    • GitHub
    • Youtube
    • Community Forum
    • Meet the Strapi Community Stars
    • Discover the Strapi Showcase
    Strapi Conf

    The first Strapi Global User Conference.

    Register now
    Write for the community

    Contribute on educational content for the community

    Discover the program
  • Resources

    Resources

    • Blog
    • Starters
    • Newsroom
    • Support

    Learning

    • Strapi Academy
    • Tutorials
    • Videos
    • Webinars
    • The Guide to Headless CMS
    • Strapi Community Forum
    Introducing Strapi Academy

    Everything you need to know to master Strapi.

    Go to the academy
    Strapi Repository on GitHub

    Get started with the Strapi repository

    Go to repository
  • Docs

    Developers

    • Installation
    • Configurations
    • Deployment
    • Update version
    • Content API

    User Guide

    • Getting Started
    • Content Manager
    • Content-Types Builder
    • Users, Roles & Permissions
    • Plugins
    • Settings
    • Developer Documentation
    • Strapi User Guide
    Install Strapi

    Install Strapi locally or wherever you need.

    Get Started
    Migration Guides Strapi

    Using a previous version of Strapi? Migrate to the latest.

    Read Guides
Get Started
Back to articles

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

deep-filtering-alpha-26
  • Share on facebook
  • Share on linkedin
  • Share on twitter
  • Share by email
Yves

Yves Do

April 16, 2019

deep filtering Photo by unsplash-logoCristian Palmer on Unsplash

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:

nthdeepgraphql nthdeeprest

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 and @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 🔫 :

  • [Fix Blue button](https://github.com/strapi/strapi/pull/3029) @soupette
  • [Fix front-end generators plugin](https://github.com/strapi/strapi/pull/3030) @soupette
  • [Run snyk only on non fork repo](https://github.com/strapi/strapi/pull/3010) @alexandrebodin
  • [Fix big integer support on GraphQL](https://github.com/strapi/strapi/pull/3090) @derrickmehaffy
  • [Good old issues fixing before the beta](https://github.com/strapi/strapi/pull/3088) @soupette
  • [Fix languages in settings manager](https://github.com/strapi/strapi/pull/3038) @soupette
  • [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. You can either choose MongoDB or PostgresQL as a database.

    Documentation Strapi for Heroku deployment

    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, thanks to @davidkartuzinski.

    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
  • Hit us up 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, Github, Slack 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, @siddhartha-crypto, @MunGell, @derrickmehaffy, @abdonrd, @Getriax and the Strapi team members @alexandrebodin, @aurelsicoko, @davidkartuzinski, @lauriejim, @pierreburgy, @soupette and @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 or on our blog.

    • Share on facebook
    • Share on linkedin
    • Share on twitter
    • Share by email

    Unleash content.

    Starters
    Get Started

    Strapi is the leading open-source Headless CMS. Strapi gives developers the freedom to use their favorite tools and frameworks while allowing editors to easily manage their content and distribute it anywhere.

    Product

    • Why Strapi?
    • Content Architecture
    • Features
    • Enterprise Edition
    • Partner Program
    • Roadmap
    • Support
    • Try live demo
    • Changelog

    Resources

    • How to get started
    • Meet the community
    • Tutorials
    • API documentation
    • GitHub repository
    • Starters
    • Strapi vs Wordpress
    • The Guide to headless CMS

    Integrations

    • All integrations
    • React CMS
    • Next.js CMS
    • Gatsby CMS
    • Vue.js CMS
    • Nuxt.js CMS
    • Gridsome CMS
    • Flutter CMS
    • Hugo CMS
    • Typescript CMS

    Company

    • About us
    • Blog
    • Careers
    • Contact
    • Newsroom
    • © 2021, Strapi
    • LicenseTermsPrivacy