Eventual-Inc
Daft
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Optimizations
Branches
Benchmarks
Runs
Performance History
Latest Results
refactor(iceberg): validate the name mapping with PyIceberg at planning time
YuangGao:feat/iceberg-name-mapping
13 minutes ago
fix ci and cleanup
slade/remove-s3-options
3 hours ago
refactor(udf)!: remove legacy @daft.udf API (#7482) ## Summary - Remove the legacy `@daft.udf` API end to end. It was deprecated in 0.7.0 in favor of `@daft.func`, `@daft.cls`, and `@daft.method` (with `.batch` variants). Closes #7405. - Rust: delete `LegacyPythonUDF` / `MaybeInitializedUDF`; collapse `MapGroupsFn` into `AggExpr::MapGroups` holding `PyScalarFn` directly; `is_udf` / `is_actor_pool_udf` now route through `ScalarFn::Python` only. - Migrate `split_udfs` / optimizer test fixtures and the affected Python tests to v2 UDFs. - Docs: the legacy UDF page is now a "removed in 0.8.0" notice pointing at the migration guide; other pages link to `@daft.func` / `@daft.cls` instead. **BREAKING CHANGE:** `@daft.udf`, `daft.udf.UDF`, and `daft.functions.llm_generate` are removed. Use `@daft.func` / `@daft.cls` — see `docs/custom-code/migration.md`. Closes #7405 --------- Co-authored-by: xiyan.tr <xiyan.tr@alibaba-inc.com> Co-authored-by: Everett Kleven <145285237+everettVT@users.noreply.github.com>
main
4 hours ago
fix(parquet): reject name_mapping without field_id_mapping
YuangGao:feat/iceberg-name-mapping
6 hours ago
fix(ai): bound a long row's chunk requests by the same limits An input over `input_text_token_limit` is split into chunks, and every chunk went out in a single request. The per-request limits bind that request like any other: a row of roughly 1.2 MB chunks into enough pieces to exceed `batch_token_limit`, so it failed with an HTTP 400. That is true on `main` too - this path has never respected either limit. The chunks now go through the same fullness check as ordinary rows. A row that already succeeded keeps its embedding bit for bit, since the weighted average is taken over the same chunks with the same weights, only gathered from more than one response. A row between roughly 0.9 MB and 1.2 MB now takes two requests where it took one, because the three-characters-per-token estimate is more conservative than the server's tokenizer.
FANNG1:fix/ai-embed-batch-size-default
23 hours ago
fix(parquet): resolve legacy two-level list groups under name mapping
YuangGao:feat/iceberg-name-mapping
24 hours ago
feat(iceberg): read data files without field IDs via schema.name-mapping.default
YuangGao:feat/iceberg-name-mapping
24 hours ago
chore(ai): drop the embed option defaults that never applied Both text embedder descriptors declared `batch_size=64, max_retries=3, on_error="raise"` through a `default_factory`, but a provider always passes `embed_options` explicitly - an empty dict when the caller supplied no options - and an explicitly passed argument wins over `default_factory`. The declaration was therefore unreachable through `embed_text` and only misled readers. With the input cap enforced in the embedder, nothing depends on it. Whether `embed_text` should ship a default UDF `batch_size` is a separate question: it changes the request count for every existing caller, so it wants throughput benchmarks rather than a default that silently starts applying.
FANNG1:fix/ai-embed-batch-size-default
2 days ago
Latest Branches
CodSpeed Performance Gauge
0%
feat(iceberg): read data files without field IDs via schema.name-mapping.default
#7618
25 minutes ago
0a3f482
YuangGao:feat/iceberg-name-mapping
CodSpeed Performance Gauge
0%
fix!: Remove unused `S3Config` options
#7612
3 hours ago
6c222be
slade/remove-s3-options
CodSpeed Performance Gauge
0%
fix(ai): bound embedding requests by input count, not just tokens
#7616
24 hours ago
8859bcf
FANNG1:fix/ai-embed-batch-size-default
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs