🎉 New Features
- feat: update lance dependency to v3.0.1 by @lancedb-robot in #3168
- feat(rust): parallel inserts for remote tables via multipart write by @wjones127 in #3071
- feat: progress bar for
add()by @wjones127 in #3067 - feat: update lance dependency to v4.0.0-rc.3 by @westonpace in #3187
- feat(node): support Float16, Float64, and Uint8 vector queries by @VedantMadane in #3193
- feat(python): add type-safe expression builder API by @pratik0316 in #3150
🐛 Bug Fixes
- fix(ci): bump AWS SDK MSRV pins to March 2025 release by @esteban in #3179
- fix: raise instead of return ValueError by @dantasse in #3189
- fix(rust): handle Mutex lock poisoning gracefully across codebase by @lennylxx in #3196
- ci: mitigate template injection attack in build_linux_wheel by @aikido-autofix[bot] in #3195
- fix(python): don't assign dict.update() return value in _sanitize_data by @lennylxx in #3198
- fix: table.add(mode='overwrite') infers vector column types by @majiayu000 in #3184
- fix(embeddings): add missing urllib.request import in url_retrieve by @lennylxx in #3190
- fix(python): use correct exception types in namespace tests by @wjones127 in #3206
- fix(python): skip test_url_retrieve_downloads_image when PIL not installed by @wjones127 in #3208
- fix: respect max_batch_length for Rust vector and hybrid queries by @myandpr in #3172
- fix: change _client reference to _conn by @dantasse in #3188