Skip to content

ParqDB 0.2.0rc1

Pre-release
Pre-release

Choose a tag to compare

@petrizhang petrizhang released this 18 Aug 04:35
· 25 commits to main since this release
99245ce

[0.2.0rc1] - 2026-08-18

Added

  • Reusable IVF centroid artifacts used by source, LVQ4, and LVQ8 logical
    indexes.
  • Cosine distance and list<double> source-vector support through canonical
    float conversion.
  • Portable source, LVQ4, and LVQ8 conformance fixtures under IVF schema
    version 1.
  • A reproducible GIST benchmark runner for ParqDB and Faiss Flat, SQ4, and SQ8
    comparisons.
  • Native, process-scoped index build coordination with observable status,
    bounded parallelism, failure retention, and retry.
  • Bounded incremental Arrow IPC encoding and decoding with transport-level
    backpressure and no full-result buffering.
  • An HTTP transport and Python ASGI server using the same session facades,
    source and index lifecycle, error hierarchy, and managed query streams as
    embedded execution. Server-side source registration uses an explicit URI
    prefix allowlist.
  • A parqdb serve deployment command and TOML configuration, with a safe
    loopback-only default template generated by parqdb config init.
  • Portable, source-free index packages that can be registered against an exact
    source through the embedded or HTTP table API.

Changed

  • The public Python API now uses portable session and table facades instead of
    inheriting DataFusion objects. DataFusion remains available through an
    explicit embedded-only escape hatch.
  • ParqDB now has one supported DataFusion execution path. The public backend,
    builder, Spark, and StarRocks extension surfaces have been removed while the
    open index specification remains available to other engines.
  • IVF postings no longer copy full source vectors. The public IVF
    configuration selects source, lvq4, or lvq8 encoding and
    l2_squared or cosine distance.
  • Portable SQL terminals now reject DDL, DML, COPY, and session-mutating
    statements before execution.
  • Index names are scoped by their owning table identifier. Build status and
    transport errors expose stable failure codes for embedded/HTTP parity.
  • Server implementation is organized into server, transport, and runtime
    packages. The public parqdb.server factory remains unchanged.
  • Embedded sessions and server deployment now use a required local root plus
    an optional warehouse for index relations. SQLite catalog placement is no
    longer a public configuration parameter.
  • A session uses one warehouse for all index metadata and relations. Published
    locations are warehouse-relative, while each catalog owns its source
    bindings independently.

Fixed

  • LVQ distance evaluation now honors non-zero Arrow array offsets when cached
    postings batches are sliced.

Removed

  • The versioned backend and builder SDKs, capability registry, experimental
    Spark and StarRocks modules, and their public configuration objects.
  • catalog=, index_root=, Session.indexes, and the top-level
    open_index_catalog API. Index lifecycle is table-centered.