--- title: "0.26.4" description: "ParadeDB release notes for 0.26.4" noindex: true --- See GitHub release: [v0.26.4](https://github.com/paradedb/paradedb/releases/tag/v0.26.4) ## Performance Improvements 🚀 - Late materialization now covers array columns: a `text[]` or other string array column that a join or aggregate reads from the index is carried through the join as a doc address and read once, where it is used, instead of for every scanned row (#6164). - Join Scan now executes eligible `ORDER BY ... LIMIT` queries (including single-table sorts, combined multi-table `pdb.score(...)` expressions, and cross-table `OR` search predicates) using an iterative rank-join operator that streams top-K candidates and probes join partners on demand instead of materializing the full join inputs (#6898). - Avoid quadratic token consumption for Chinese, Japanese, and Korean Lindera tokenizers on large text fields. ## Stability Improvements 💪 - A search predicate that stays above a partitioned table's `Append`, such as an `OR` across a join or a `NOT` arm, no longer fails with `could not open file "pg_tblspc/0/..."`, and neither does a window function in a search query with `ORDER BY ... LIMIT` over a partitioned table. Each row is now matched against the index of its own partition. `paradedb.index_info` and `paradedb.schema` also work on a partitioned index with more than one level. - Fixed delayed cancellation and termination during segment merges and made VACUUM's wait for mergers interruptible, while preserving foreground merging during that wait. VACUUM's buffer-pin waits support cancellation and `statement_timeout`, not `lock_timeout`.