python-v0.30.0
Breaking Changes📦 lancedbView on GitHub →
⚠ 1 breaking✨ 21 features🐛 14 fixes⚡ 3 deprecations🔧 11 symbols
Summary
This release introduces significant features like expression builder API, parallel inserts, and improved remote table handling, alongside breaking changes in Rust input types for table creation and additions.
⚠️ Breaking Changes
- The Rust implementation of `create_table()` and `Table.add()` now accepts `RecordBatch` or `Vec<RecordBatch>` as input, which may break existing calls expecting different types.
Migration Steps
- Review calls to `create_table()` and `Table.add()` in Rust code to ensure they correctly pass `RecordBatch` or `Vec<RecordBatch>` if they were previously passing other types.
✨ New Features
- Added third-party licenses lists.
- Show reranker info in hybrid search explain plan.
- Added `getitem` implementation for the permutation.
- Improved Permutation PyTorch integration.
- Lance dependency updated to v2.0.1.
- Added background check for dataset updates.
- Upgraded napi-rs from v2 to v3 in the Node.js bindings.
- Hooked up a new writer for insert operations.
- Enabled parallel inserts for local tables.
- Added expression builder API for type-safe query filters in Rust.
- Upgraded Lance to 3.0.0-rc.2 and added bindings for fast_search.
- Added `num_deleted_rows` to the delete result.
- Added support for remote index parameters.
- Added parity between `fast_search` keyword argument for vector and FTS searches.
- Supported dictionary to SQL struct conversion in Python's `table.update()`.
- Allowed passing Azure client/tenant ID through the remote SDK.
- Inferred JavaScript native arrays.
- Upgraded Lance to 3.0.0-rc.3.
- Added support for `prewarm_index` and `prewarm_data` on remote tables.
- Supported `Expr` in projection query in Rust.
- Supported field/data type input in Node.js `add_columns()` method.
🐛 Bug Fixes
- Improved error message for multi-field FTS index creation.
- Fixed dynamic projection support on remote tables.
- Fixed non-stopping dataset version check after passing the first consistency check interval.
- Graceful handling of empty result sets in hybrid search in Python.
- Allowed permutation reader to be used with remote tables.
- Stopped retrying OpenAI 401 authentication errors.
- Updated `DatasetConsistencyWrapper` to accept same-version updates.
- Fixed permutation reader not expecting all offsets to fit in one batch.
- Pinned `pylance` to match DataFusion table provider version in Python.
- Only run npm publish on release tags in CI.
- Propagated cast errors in `add()`.
- Propagated managed versioning for namespace connection.
- Upgraded LocalStack to 4.0 for S3 integration tests in CI.
- Restored storage options on copy in localstack tests.
Affected Symbols
⚡ Deprecations
- Outdated files for embedding registry have been deprecated.
- The `optimize` operation is no longer labeled as experimental.
- Users are warned about using `delete_unverified`.