From 7bf397d9655ae3f77611ec7626b9ec659cb44bcc Mon Sep 17 00:00:00 2001 From: xiaohongbo Date: Mon, 12 Oct 2026 19:40:51 +0800 Subject: [PATCH 1/3] docs: publish Apache Paimon Rust 0.4.0 --- docs/src/go-binding.md | 11 +++++++++++ docs/src/releases.md | 18 ++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/docs/src/go-binding.md b/docs/src/go-binding.md index 203db6bde..2772650ee 100644 --- a/docs/src/go-binding.md +++ b/docs/src/go-binding.md @@ -30,6 +30,17 @@ after the call returns. - CGO enabled with a C toolchain - Supported platforms: Linux (amd64, arm64), macOS (amd64, arm64) +!!! warning "0.4.0 prebuilt Linux amd64 runtime requirements" + + The Linux amd64 native library shipped in `bindings/go/v0.4.0` requires + glibc 2.38 or newer and OpenSSL 3 (`libssl.so.3` and `libcrypto.so.3`). + The Go FFI dependency also requires `libffi.so.8`. + + Older Linux environments may fail to load the module before any table + operation. Installing libffi alone does not fix an incompatible glibc + version. These requirements concern the Go prebuilt library, not the + separately built Python wheels. + ## Installation ```bash diff --git a/docs/src/releases.md b/docs/src/releases.md index 4202ddf9c..77e0b99e1 100644 --- a/docs/src/releases.md +++ b/docs/src/releases.md @@ -25,10 +25,20 @@ Apache Paimon Rust follows [Semantic Versioning](https://semver.org/). All relea ## Upcoming -### 0.4.0 (In Development) +### 0.5.0 (In Development) See [GitHub Issues](https://github.com/apache/paimon-rust/issues) for the current roadmap. +## Past Releases + +### [0.4.0](https://github.com/apache/paimon-rust/releases/tag/v0.4.0) + +Released on October 12, 2026. + +The [source archive, signature, and SHA-512 checksum](https://downloads.apache.org/paimon/paimon-rust-0.4.0/) +are available from the ASF distribution site. Verify the signature with the +[Apache Paimon KEYS file](https://downloads.apache.org/paimon/KEYS). + The minimum supported Rust version for 0.4.0 is 1.94. Key features: @@ -47,7 +57,11 @@ API compatibility changes: - `BTreeIndexReader::null_bitmap()` is now asynchronous and returns `io::Result<&RoaringTreemap>`. Downstream Rust callers must replace `reader.null_bitmap()` with `reader.null_bitmap().await?` and handle load errors. - BTree readers load the null bitmap on first access and reuse successful loads within the reader. Null bitmap I/O, CRC, and deserialization errors now surface on first access rather than when opening the reader. Failed loads can be retried. -## Past Releases +Go Linux runtime requirements: + +- The prebuilt Go Linux amd64 library for 0.4.0 requires glibc 2.38 or newer and OpenSSL 3 (`libssl.so.3` and `libcrypto.so.3`). +- The Go FFI dependency also requires `libffi.so.8`. Older Linux environments may fail to load the module before any table operation; installing libffi alone does not resolve an incompatible glibc version. +- These requirements concern the Go Linux amd64 prebuilt library, not the separately built Python wheels. ### [0.3.0](https://github.com/apache/paimon-rust/releases/tag/v0.3.0) From ba79c3fa0e8c19597f11b90fef76ffb5ba20ef4e Mon Sep 17 00:00:00 2001 From: xiaohongbo Date: Mon, 12 Oct 2026 19:59:27 +0800 Subject: [PATCH 2/3] docs: keep 0.4.0 release notes concise --- docs/src/go-binding.md | 12 +++--------- docs/src/releases.md | 33 +++++++++++---------------------- 2 files changed, 14 insertions(+), 31 deletions(-) diff --git a/docs/src/go-binding.md b/docs/src/go-binding.md index 2772650ee..919a871bc 100644 --- a/docs/src/go-binding.md +++ b/docs/src/go-binding.md @@ -30,16 +30,10 @@ after the call returns. - CGO enabled with a C toolchain - Supported platforms: Linux (amd64, arm64), macOS (amd64, arm64) -!!! warning "0.4.0 prebuilt Linux amd64 runtime requirements" +!!! warning "0.4.0 prebuilt Linux amd64 binaries" - The Linux amd64 native library shipped in `bindings/go/v0.4.0` requires - glibc 2.38 or newer and OpenSSL 3 (`libssl.so.3` and `libcrypto.so.3`). - The Go FFI dependency also requires `libffi.so.8`. - - Older Linux environments may fail to load the module before any table - operation. Installing libffi alone does not fix an incompatible glibc - version. These requirements concern the Go prebuilt library, not the - separately built Python wheels. + Require glibc 2.38 or later, OpenSSL 3 (`libssl.so.3`, `libcrypto.so.3`), + and `libffi.so.8`. Older environments may fail to load the module. ## Installation diff --git a/docs/src/releases.md b/docs/src/releases.md index 77e0b99e1..967846326 100644 --- a/docs/src/releases.md +++ b/docs/src/releases.md @@ -35,33 +35,22 @@ See [GitHub Issues](https://github.com/apache/paimon-rust/issues) for the curren Released on October 12, 2026. -The [source archive, signature, and SHA-512 checksum](https://downloads.apache.org/paimon/paimon-rust-0.4.0/) -are available from the ASF distribution site. Verify the signature with the -[Apache Paimon KEYS file](https://downloads.apache.org/paimon/KEYS). - -The minimum supported Rust version for 0.4.0 is 1.94. +[Source, signature, and SHA-512 checksum](https://downloads.apache.org/paimon/paimon-rust-0.4.0/) + · [KEYS](https://downloads.apache.org/paimon/KEYS). Requires Rust 1.94 or later. Key features: -- Expanded primary-key vector and hybrid search with vector/full-text fusion, streamed index builds, DiskANN and quantized IVF backends, scalar pre-filtering, and externally planned bucket splits -- Java-compatible file and global indexes, including Bloom, Bitmap V1/V2 reads and V2 writes, multi-value array indexes, and exact FM substring search -- Native read-only object tables and `TableType`-based routing to pluggable external table engines -- Batch incremental-diff reads, watermark-based time travel, and deletion-vector merge-on-read for uncompacted primary-key snapshots -- Expanded DataFusion SQL with `ALTER COLUMN`, database lifecycle statements, configurable runtime resources, and the Java-compatible `$consumers` system table -- Expanded Go table-write support plus postpone-table fixed-bucket write primitives for Rust, C, and Go, with Python commit rollback -- Standalone `BlobDescriptor` batch reads and seekable streams, with Go batch and stream APIs and `MAP` descriptor reads -- Extensible and cached I/O through caller-provided OpenDAL operators, an in-memory local block cache, and C cache callbacks - -API compatibility changes: - -- `BTreeIndexReader::null_bitmap()` is now asynchronous and returns `io::Result<&RoaringTreemap>`. Downstream Rust callers must replace `reader.null_bitmap()` with `reader.null_bitmap().await?` and handle load errors. -- BTree readers load the null bitmap on first access and reuse successful loads within the reader. Null bitmap I/O, CRC, and deserialization errors now surface on first access rather than when opening the reader. Failed loads can be retried. +- Primary-key vector and hybrid search, DiskANN, quantized IVF, and Java-compatible indexes +- Read-only object tables, incremental diff, watermark time travel, and deletion-vector merge-on-read +- Expanded DataFusion SQL and native write APIs across language bindings +- Batched and streamed `BlobDescriptor` reads, including BLOB maps +- Custom and cached I/O through OpenDAL operators, local block caches, and C callbacks -Go Linux runtime requirements: +API change: `BTreeIndexReader::null_bitmap()` now loads lazily and is asynchronous. +Use `reader.null_bitmap().await?` and handle load errors. -- The prebuilt Go Linux amd64 library for 0.4.0 requires glibc 2.38 or newer and OpenSSL 3 (`libssl.so.3` and `libcrypto.so.3`). -- The Go FFI dependency also requires `libffi.so.8`. Older Linux environments may fail to load the module before any table operation; installing libffi alone does not resolve an incompatible glibc version. -- These requirements concern the Go Linux amd64 prebuilt library, not the separately built Python wheels. +Go Linux amd64 prebuilt binaries require glibc 2.38 or later, OpenSSL 3, and +`libffi.so.8`. See [Go prerequisites](go-binding.md#prerequisites). ### [0.3.0](https://github.com/apache/paimon-rust/releases/tag/v0.3.0) From 44e926e037884fe8ff23561b34bf128fd74f5de4 Mon Sep 17 00:00:00 2001 From: xiaohongbo Date: Mon, 12 Oct 2026 20:07:52 +0800 Subject: [PATCH 3/3] docs: preserve existing 0.4.0 feature and API notes --- docs/src/releases.md | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/docs/src/releases.md b/docs/src/releases.md index 967846326..55f8b599f 100644 --- a/docs/src/releases.md +++ b/docs/src/releases.md @@ -36,18 +36,25 @@ See [GitHub Issues](https://github.com/apache/paimon-rust/issues) for the curren Released on October 12, 2026. [Source, signature, and SHA-512 checksum](https://downloads.apache.org/paimon/paimon-rust-0.4.0/) - · [KEYS](https://downloads.apache.org/paimon/KEYS). Requires Rust 1.94 or later. + · [KEYS](https://downloads.apache.org/paimon/KEYS). + +The minimum supported Rust version for 0.4.0 is 1.94. Key features: -- Primary-key vector and hybrid search, DiskANN, quantized IVF, and Java-compatible indexes -- Read-only object tables, incremental diff, watermark time travel, and deletion-vector merge-on-read -- Expanded DataFusion SQL and native write APIs across language bindings -- Batched and streamed `BlobDescriptor` reads, including BLOB maps -- Custom and cached I/O through OpenDAL operators, local block caches, and C callbacks +- Expanded primary-key vector and hybrid search with vector/full-text fusion, streamed index builds, DiskANN and quantized IVF backends, scalar pre-filtering, and externally planned bucket splits +- Java-compatible file and global indexes, including Bloom, Bitmap V1/V2 reads and V2 writes, multi-value array indexes, and exact FM substring search +- Native read-only object tables and `TableType`-based routing to pluggable external table engines +- Batch incremental-diff reads, watermark-based time travel, and deletion-vector merge-on-read for uncompacted primary-key snapshots +- Expanded DataFusion SQL with `ALTER COLUMN`, database lifecycle statements, configurable runtime resources, and the Java-compatible `$consumers` system table +- Expanded Go table-write support plus postpone-table fixed-bucket write primitives for Rust, C, and Go, with Python commit rollback +- Standalone `BlobDescriptor` batch reads and seekable streams, with Go batch and stream APIs and `MAP` descriptor reads +- Extensible and cached I/O through caller-provided OpenDAL operators, an in-memory local block cache, and C cache callbacks + +API compatibility changes: -API change: `BTreeIndexReader::null_bitmap()` now loads lazily and is asynchronous. -Use `reader.null_bitmap().await?` and handle load errors. +- `BTreeIndexReader::null_bitmap()` is now asynchronous and returns `io::Result<&RoaringTreemap>`. Downstream Rust callers must replace `reader.null_bitmap()` with `reader.null_bitmap().await?` and handle load errors. +- BTree readers load the null bitmap on first access and reuse successful loads within the reader. Null bitmap I/O, CRC, and deserialization errors now surface on first access rather than when opening the reader. Failed loads can be retried. Go Linux amd64 prebuilt binaries require glibc 2.38 or later, OpenSSL 3, and `libffi.so.8`. See [Go prerequisites](go-binding.md#prerequisites).