docs/changelog/0.25.0.mdx
The reason is because 0.25.0 brings native vector search support to the ParadeDB index and relies on
pgvector's vector type and distance operators.
paradedbparadedb is now the primary index access method name. Creating an index now looks like:
CREATE INDEX search_idx ON mock_items
USING bm25 (id, description, category)
WITH (key_field = id);
This rename reflects the fact that the index drives much more than BM25 scoring — vector search, Top K, composable filtering, aggregates, etc.
USING bm25 has been deprecated but continues to work as a backwards-compatible alias.
The ParadeDB index can now index the vector type. This index is completely separate from pgvector's HNSW/IVF indexes:
To index a vector field, simply add it to the index definition:
CREATE INDEX search_idx ON mock_items
USING paradedb (id, description, category, embedding vector_cosine_ops)
WITH (key_field = id);
Please note that we will be shipping performance improvements in the coming minor releases. While vector search is marked as beta, future releases may change the vector storage format and require a reindex.
When run with parallel workers, the join and aggregate scans (enabled by default in the 0.24.x series) now use a massively parallel processing (MPP) partitioning strategy to assign work.
The previous partitioning strategy for these scans meant that only a limited number of join shapes could be supported, and entirely prevented parallelism in aggregates atop joins.
Via the MPP strategy, join and aggregate scans will now cut their execution plans into multiple shared-nothing stages, allowing for both increased scalability and support for additional join shapes (with more to follow.)
This is an active area of work, so please expect further performance and generality improvements to joins, and continue to report bugs as soon as you see them!
ltree hierarchy queries using the <@ operator now use the index instead of falling back to a heap-side filter.
CREATE INDEX now reports tuples_done in pg_stat_progress_create_index, making it possible to monitor index build progress with standard Postgres tooling.
@@@ now preserves null semantics.ORDER BY pushdown now accounts for collation.VACUUM issues involving mutable segments.The full changelog is available on the GitHub Release.