---
title: 0.22.0
noindex: true
---

## New Features 🎉

- Beta release of native support for JOIN pushdown! See [the docs](/documentation/joins/overview) for more information.
- All text column types now support optionally being marked `columnar=true`, allowing them to be used as the input to aggregates, joins, or covering index scans.
- Support for pushdown of queries on NUMERIC columns to the index.
  - NOTE: Pushdown for NUMERIC columns requires [a reindex](/documentation/indexing/reindexing).
- You can now specify a [separate tokenizer for use at search-time](/documentation/tokenizers/search-tokenizer).
- Support for [indexing more than 32 columns in one index](https://github.com/paradedb/paradedb/pull/3776).
- Stopwords for multiple languages may be specified per-field.
- Following the model of the `amcheck` extension, you can now explicitly verify the integrity of an index using [`pdb.verify_index`](/documentation/indexing/verify-index).
- Added support for Citus 14, with support for Postgres 18.
- Support for JSONB exists (`?`) operator pushdown.
- Support for using index expressions and UNNEST in aggregate queries.
- Support for tokenining UUID columns.

## Performance Improvements 🚀

- When visibility filtering is not able to use the visibility map, it now executes the minimal safe heap check, showing up to 50% speedup on MVCC-safe aggregates.
- Queries on small tables run up to 6x faster by using appropriate numbers of parallel workers.
- Writes to mutable segments will now apply backpressure, avoiding performance degradation during extended write traffic.
- 4-5x faster planning for regex and fuzzy queries.
- VACUUMs now cooperatively cancel background merges, to ensure that the visibility map is up to date for read queries.

## Stability Improvements 💪

- The ICU tokenizer is now implemented in Rust via the [`icu_segmenter` crate](https://crates.io/crates/icu_segmenter), which avoids a runtime dependency on a particular ICU version being installed on the target system.
- Significantly improved warnings when Top-K or aggregate queries do not meet the requirements for pushdown.
- Audited all sources of double panics to ensure helpful error messages are rendered.
- Improved validation of indexed datetime columns.
- Improved validation of `pdb.agg` arguments.

The full changelog is available [on the GitHub Release](https://github.com/paradedb/paradedb/releases/tag/v0.22.0).
