5.2 Release Notes
Patch Releases
All patch release notes for 5.2.x are available on the releases page.
Backup & Restore
New managed-backup operations for RocksDB databases: create_backup, list_backups, verify_backup, delete_backup, purge_backups, and restore_backup. Managed backups are a server-side, incremental, checksum-verified repository under the configured backup root (storage.backupPath, default <rootPath>/backup), and every backup captures the audit/transaction log alongside the data. restore_backup restores a user database in place without stopping Harper, as long as no loaded component is holding that database open; a database held open by a component — and always the system database — is restored offline by running restore_backup from the CLI with the server stopped. Each of these operations can be run from the CLI under its operation name (e.g. harper create_backup database=data): while Harper is running the operation is forwarded to the server, and while it is stopped the command operates directly on the files. See Backup & Restore Operations and Backup Commands.
get_backup now understands RocksDB: it streams a full-snapshot tar of the database — gzipped by default (pass gzip: false for a plain tar) — instead of failing. The LMDB behavior (streaming the .mdb, with table/tables/include_audit) is unchanged.
Querying
Filtered Vector Search (Predicate-Aware HNSW Traversal)
Vector searches combined with filters now evaluate the filter during HNSW graph traversal, so the query keeps exploring until it has enough matching nearest neighbors instead of post-filtering a fixed candidate set (which under-filled results under selective filters). Filters can come from query conditions, a JS-API vectorFilter function, or a record-scoped allowRead override — overriding allowRead on a table now makes it a row-level access check, evaluated per record with this bound to the record (closing the gap where a collection scan could return rows a single-record GET would deny). With it, a restricted user's vector search returns the k nearest records they are allowed to see. Very selective conditions automatically use an exact scan instead of graph traversal, and a filterExpansion visit budget bounds traversal cost. See Vector Indexing.
Configuration
Replicated set_configuration
The set_configuration operation now accepts "replicated": true to apply a configuration change to all cluster nodes in a single Operations API call, with per-node outcomes reported in the response's replicated array. Only cluster-appropriate parameters should be replicated — see Configuration Operations.