Eventual-Inc
Daft
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
fix(udf): satisfy mypy --strict for Func generics in session attach API Import Func from its defining module (daft.udf.udf_v2) instead of the daft.udf package namespace, which strict mode rejects as an implicit re-export, and parameterize the bare generic as Func[Any, Any, Any] in the attach()/attach_function() signatures and the PySession stub. Resolves the `style` CI check failures introduced by the legacy UDF removal.
hello-peter-tang:remove-daft-udf
1 minute ago
chore: update Cargo.lock for dropped daft-logical-plan dependency
hello-peter-tang:remove-daft-udf
5 hours ago
refactor(udf)!: remove legacy `@daft.udf` API The legacy UDF API was deprecated in 0.7.0 in favor of `@daft.func`, `@daft.cls`, and `@daft.method` (with `.batch` variants). This removes the legacy implementation end to end: - Python: delete daft/udf/legacy.py; drop `daft.udf`, `UDF`, and `initialize_udfs` exports; Session.attach now accepts daft `Func` - Rust: delete LegacyPythonUDF/MaybeInitializedUDF, collapse MapGroupsFn into AggExpr::MapGroups holding PyScalarFn directly, and route is_udf/is_actor_pool_udf through ScalarFn::Python - Remove llm_generate, which was built on legacy UDFs (closes #7409) - Migrate split_udfs/optimizer fixtures and Python tests to v2 UDFs - Docs: mark the legacy UDF page as removed in 0.8.0 and point to the migration guide Closes #7405 BREAKING CHANGE: `@daft.udf` and `daft.functions.llm_generate` are removed. Use `@daft.func`/`@daft.cls` instead; see docs/custom-code/migration.md.
hello-peter-tang:remove-daft-udf
6 hours ago
perf(file): bound file_size metadata requests Add HTTP metadata-only and byte-range regression coverage.
yongster:file-size-metadata-only
15 hours ago
Merge branch 'main' into file-size-metadata-only
yongster:file-size-metadata-only
17 hours ago
perf(file): avoid opening files for file_size
yongster:file-size-metadata-only
17 hours ago
fix(sql): reject negative literals for unsigned table function options `impl SQLLiteral for usize` used `lit.as_i64().map(|v| v as usize)`, so a negative value wrapped into a huge positive one instead of erroring: read_parquet('...', chunk_size => -1) # silently accepted read_iceberg('...', snapshot_id => -1) # Snapshot not found: 18446744073709551615 Delegates to `daft_core::lit::Literal::try_as_usize`, which is the crate's existing conversion policy and also accepts integer widths `as_i64` rejected outright. The message stays ours, since the core error mentions `usize`. Scope is the options actually parsed as `usize`: chunk_size, buffer_size, snapshot_id, and the HTTPConfig/TosConfig numerics. S3Config and AzureConfig read theirs as i64 and cast to u32, so they still wrap.
jackylee-ch:sql-unsigned-literal-validation
1 day ago
fix(sql): report read_iceberg argument errors instead of panicking `read_iceberg()` with no path used `.expect()`, so a Rust panic crossed the FFI boundary as PanicException instead of the InvalidSQLException the other readers raise. It also rejected `path => '...'`, which read_parquet, read_csv, read_json and read_deltalake all accept.
jackylee-ch:sql-table-function-arg-validation
1 day ago
Latest Branches
CodSpeed Performance Gauge
0%
refactor(udf)!: remove legacy @daft.udf API
#7482
18 minutes ago
9514ab4
hello-peter-tang:remove-daft-udf
CodSpeed Performance Gauge
0%
perf(file): avoid opening files for file_size
#7481
16 hours ago
113d397
yongster:file-size-metadata-only
CodSpeed Performance Gauge
+1%
fix(sql): reject negative literals for unsigned table function options
#7479
1 day ago
c4c2556
jackylee-ch:sql-unsigned-literal-validation
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs