Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
492 commits
Select commit Hold shift + click to select a range
a41f908
chore(deps): bump bytes from 1.11.0 to 1.11.1 (#20141)
dependabot[bot] Feb 3, 2026
c3eb9ef
Make session state builder clonable (#20136)
askalt Feb 3, 2026
5981d62
chore: remove datatype check functions in favour of upstream versions…
Jefffrey Feb 3, 2026
b80bf2c
fix: filter pushdown when merge filter (#20110)
haohuaijin Feb 3, 2026
613f87d
minor: remove unused crypto functions & narrow public API (#20045)
Jefffrey Feb 4, 2026
796c7d1
feat: support f16 in coercion logic (#18944)
Jefffrey Feb 4, 2026
43977da
Add Decimal support for floor preimage (#20099)
devanshu0987 Feb 4, 2026
57ff351
perf: Optimize scalar fast path of to_hex function (#20112)
kumarUjjawal Feb 4, 2026
2f12f1c
Add more struct pushdown tests and planning benchmark (#20143)
adriangb Feb 4, 2026
23e2eee
Add RepartitionExec test to projection_pushdown.slt (#20156)
adriangb Feb 4, 2026
828e1c1
fix: Make `serialize_to_file` test cross platform (#20147)
nuno-faria Feb 4, 2026
d3ac7a3
Wrap immutable plan parts into Arc (make creating `ExecutionPlan`s le…
askalt Feb 4, 2026
8ba3d26
fix: regression of `dict_id` in physical plan proto (#20063)
kumarUjjawal Feb 4, 2026
71bc68f
chore: Fix typos in comments (#20157)
neilconway Feb 5, 2026
2f90194
Fix `array_repeat` handling of null count values (#20102)
lyne7-sc Feb 5, 2026
eb33141
feat: unify left and right functions and benches (#20114)
theirix Feb 5, 2026
c92ba29
perf: Optimize scalar fast path & write() encoding for sha2 (#20116)
kumarUjjawal Feb 5, 2026
639971a
Refactor schema rewriter: remove lifetimes, extract column/cast helpe…
kosiew Feb 5, 2026
d544735
feat(spark): Adds negative spark function (#20006)
SubhamSinghal Feb 5, 2026
560b10e
fix: panic in ListingTableFactory when session is not SessionState (#…
evangelisilva Feb 5, 2026
b1cf165
chore(deps): bump time from 0.3.44 to 0.3.47 (#20172)
dependabot[bot] Feb 5, 2026
0fd6a40
docs: fix docstring formatting (#20158)
Jefffrey Feb 5, 2026
aef2965
chore(deps-dev): bump webpack from 5.94.0 to 5.105.0 in /datafusion/w…
dependabot[bot] Feb 6, 2026
1799c31
Fix Arrow Spill Underrun (#20159)
cetra3 Feb 6, 2026
ee01acf
fix: update comment on FilterPushdownPropagation (#20040)
niebayes Feb 6, 2026
d46015a
fix: datatype_is_logically_equal for dictionaries (#20153)
dd-annarose Feb 6, 2026
15f38aa
nom parser instead of ad-hoc in examples (#20122)
cj-zhukov Feb 6, 2026
75428f1
fix: Avoid integer overflow in split_part() (#20198)
neilconway Feb 7, 2026
aeeb0ba
fix(datafusion-cli): solve row count bug adding`saturating_add` to pr…
dariocurr Feb 7, 2026
2c54cde
feat: support limited deletion (#20137)
askalt Feb 7, 2026
df32859
Enable inlist support for preimage (#20051)
sdf-jkl Feb 7, 2026
15eea08
Break upgrade guides into separate pages (#20183)
mishop-15 Feb 7, 2026
c9e7137
unify the prettier versions (#20167)
cj-zhukov Feb 7, 2026
4f4b0b5
chore: Unbreak doctest CI (#20218)
neilconway Feb 8, 2026
bc747a0
fix: Fix panic in regexp_like() (#20200)
neilconway Feb 8, 2026
183cdf0
fix: Handle NULL inputs correctly in find_in_set() (#20209)
neilconway Feb 8, 2026
d792571
fix: Ensure columns are casted to the correct names with Unions (#20146)
nuno-faria Feb 8, 2026
badaa84
fix: Avoid assertion failure on divide-by-zero (#20216)
neilconway Feb 8, 2026
8fc9681
feat: Support planning subqueries with OuterReferenceColumn belongs t…
mkleen Feb 9, 2026
7788c73
Minor: verify plan output and unique field names (#20220)
alamb Feb 9, 2026
cc670e8
Better document the relationship between `FileFormat::projection` / `…
alamb Feb 9, 2026
bdfe987
Document the relationship between FileFormat::projection / FileFormat…
alamb Feb 9, 2026
2e1fc5c
More documentation on `FileSource::table_schema` and `FileSource::pro…
alamb Feb 9, 2026
aebd100
Add more tests to projection_pushdown.slt (#20236)
adriangb Feb 9, 2026
dc0c21b
feat: Pushdown filters through `UnionExec` nodes (#20145)
haohuaijin Feb 9, 2026
ac3a68e
Add Expr::Alias passthrough to Expr::placement() (#20237)
adriangb Feb 9, 2026
9333f74
Make PushDownFilter and CommonSubexprEliminate aware of Expr::placem…
adriangb Feb 9, 2026
6a2bfd4
fix: Throw coercion error for `LIKE` operations for nested types. (#2…
jonathanc-n Feb 10, 2026
22e08bc
feat: support Spark-compatible `string_to_map` function (#20120)
unknowntpo Feb 10, 2026
5844dfb
Refactor example metadata parsing utilities(#20204) (#20233)
cj-zhukov Feb 10, 2026
48d20ad
add module structure and unit tests for expression pushdown logical o…
adriangb Feb 10, 2026
c875ef9
repro and disable dyn filter for preserve file partitions (#20175)
gene-bordegaray Feb 10, 2026
eca6bfe
chore(deps): bump taiki-e/install-action from 2.67.18 to 2.67.27 (#20…
dependabot[bot] Feb 10, 2026
ff15500
chore(deps): bump setuptools from 80.10.2 to 82.0.0 in /docs (#20255)
dependabot[bot] Feb 10, 2026
7eae96b
chore(deps): bump sysinfo from 0.38.0 to 0.38.1 (#20261)
dependabot[bot] Feb 10, 2026
cbe878c
chore(deps): bump clap from 4.5.56 to 4.5.57 (#20265)
dependabot[bot] Feb 10, 2026
35caa19
chore(deps): bump tempfile from 3.24.0 to 3.25.0 (#20262)
dependabot[bot] Feb 10, 2026
a41e543
chore(deps): bump regex from 1.12.2 to 1.12.3 (#20260)
dependabot[bot] Feb 10, 2026
86e39af
chore(deps): bump criterion from 0.8.1 to 0.8.2 (#20258)
dependabot[bot] Feb 10, 2026
9e86de2
chore(deps): bump regex-syntax from 0.8.8 to 0.8.9 (#20264)
dependabot[bot] Feb 10, 2026
b790ed3
chore(deps): bump aws-config from 1.8.12 to 1.8.13 (#20263)
dependabot[bot] Feb 10, 2026
dff1cad
chore(deps): bump async-compression from 0.4.37 to 0.4.39 (#20259)
dependabot[bot] Feb 10, 2026
69d0f44
Support JSON arrays reader/parse for datafusion (#19924)
zhuqi-lucas Feb 11, 2026
49776a6
chore: Add confirmation before tarball is released (#20207)
milenkovicm Feb 11, 2026
0f74dbf
FilterExec should remap indices of parent dynamic filters (#20286)
jackkleeman Feb 11, 2026
f9d37cf
Clean up expression placement UDF usage in tests (#20272)
adriangb Feb 11, 2026
6b6f64d
chore(deps): bump the arrow-parquet group with 7 updates (#20256)
dependabot[bot] Feb 11, 2026
17416bf
Cleanup example metadata parsing utilities(#20251) (#20252)
cj-zhukov Feb 11, 2026
4e2c0f1
perf: improve performance of `array_union`/`array_intersect` with bat…
lyne7-sc Feb 11, 2026
ecf3b50
Add `StructArray` and `RunArray` benchmark tests to `with_hashes` (#2…
notashes Feb 11, 2026
a544b8f
fix: disable dynamic filter pushdown for non min/max aggregates (#20279)
notashes Feb 12, 2026
aa9520e
feat: Add `partition_stats()` for `EmptyExec` (#20203)
jonathanc-n Feb 12, 2026
5fccac1
Add protoc support for ArrowScanExecNode (#20280) (#20284)
JoshElkind Feb 12, 2026
85cdf53
perf: various optimizations to eliminate branch misprediction in hash…
notashes Feb 12, 2026
0401a47
fix: Avoid integer overflow in substr() (#20199)
neilconway Feb 12, 2026
73bce15
fix: Fix scalar broadcast for to_timestamp() (#20224)
neilconway Feb 12, 2026
4d06c40
Improve ExternalSorter ResourcesExhausted Error Message (#20226)
erenavsarogullari Feb 12, 2026
9fd84e7
Introduce ProjectionExprs::unproject_exprs/project_exprs and improve …
alamb Feb 12, 2026
e4e8598
fix: Add integer check for bitwise coercion (#20241)
Acfboy Feb 12, 2026
2cca3fa
chore: Remove "extern crate criterion" in benches (#20299)
neilconway Feb 12, 2026
af5f470
Support pushing down empty projections into joins (#20191)
jackkleeman Feb 12, 2026
2e202fd
docs: fix typos and improve wording in README (#20301)
iampratap7997-dot Feb 13, 2026
a3d4651
chore: change width_bucket buckets parameter from i32 to i64 (#20330)
comphead Feb 13, 2026
51e5c98
fix null handling for `nanvl` & implement fast path (#20205)
kumarUjjawal Feb 13, 2026
f48dc72
Remove the statistics() api in execution plan (#20319)
xudong963 Feb 13, 2026
9c6a35f
feat: add ExtractLeafExpressions optimizer rule for get_field pushdow…
adriangb Feb 13, 2026
682da84
feat: Push limit into hash join (#20228)
jonathanc-n Feb 13, 2026
4ad5c3d
perf: Optimize strpos() for ASCII-only inputs (#20295)
neilconway Feb 13, 2026
f5a2ac3
fix: percentile_cont interpolation causes NaN for f16 input (#20208)
kumarUjjawal Feb 13, 2026
e9bcfb4
perf: Optimize compare_element_to_list (#20323)
neilconway Feb 13, 2026
80485d7
unify the prettier version adv(#20024) (#20311)
cj-zhukov Feb 13, 2026
bdad206
chore: Make memchr a workspace dependency (#20345)
neilconway Feb 13, 2026
7d217b1
Reduce ExtractLeafExpressions optimizer overhead with fast pre-scan (…
adriangb Feb 13, 2026
f471aaf
feat(datafusion-cli): enhance CLI helper with default hint (#20310)
dariocurr Feb 14, 2026
3f38609
perf: Optimize replace() fastpath by avoiding alloc (#20344)
neilconway Feb 14, 2026
98cc753
Adds support for ANSI mode in negative function (#20189)
SubhamSinghal Feb 14, 2026
53b0ffb
fix: validate inter-file ordering in eq_properties() (#20329)
adriangb Feb 14, 2026
d47bd59
Support parent dynamic filters for more join types (#20192)
jackkleeman Feb 16, 2026
b0566c5
fix: update filter predicates for min/max aggregates only if bounds c…
notashes Feb 16, 2026
132b043
Fix incorrect `SortExec` removal before `AggregateExec` (option 2) (#…
alamb Feb 16, 2026
6798dff
Fix `try_shrink` not freeing back to pool (#20382)
cetra3 Feb 17, 2026
bd31db9
chore(deps): bump sysinfo from 0.38.1 to 0.38.2 (#20411)
dependabot[bot] Feb 17, 2026
5f0408c
chore(deps): bump indicatif from 0.18.3 to 0.18.4 (#20410)
dependabot[bot] Feb 17, 2026
a829b21
chore(deps): bump liblzma from 0.4.5 to 0.4.6 (#20409)
dependabot[bot] Feb 17, 2026
9acf387
chore(deps): bump aws-config from 1.8.13 to 1.8.14 (#20407)
dependabot[bot] Feb 17, 2026
abe5d98
chore(deps): bump tonic from 0.14.3 to 0.14.4 (#20406)
dependabot[bot] Feb 17, 2026
8336355
chore(deps): bump clap from 4.5.57 to 4.5.59 (#20404)
dependabot[bot] Feb 17, 2026
939621f
chore(deps): bump sqllogictest from 0.29.0 to 0.29.1 (#20405)
dependabot[bot] Feb 17, 2026
2325aaa
chore(deps): bump env_logger from 0.11.8 to 0.11.9 (#20402)
dependabot[bot] Feb 17, 2026
35588bc
chore(deps): bump actions/stale from 10.1.1 to 10.2.0 (#20397)
dependabot[bot] Feb 17, 2026
4e43ac5
chore(deps): bump maturin from 1.11.5 to 1.12.2 in /docs (#20400)
dependabot[bot] Feb 17, 2026
8172526
chore(deps): bump uuid from 1.20.0 to 1.21.0 (#20401)
dependabot[bot] Feb 17, 2026
ea51d90
[Minor] Update object_store to 0.12.5 (#20378)
Dandandan Feb 17, 2026
468b690
perf: optimize `array_distinct` with batched row conversion (#20364)
lyne7-sc Feb 17, 2026
b6e4f95
chore(deps): bump syn from 2.0.114 to 2.0.116 (#20399)
dependabot[bot] Feb 18, 2026
d692df0
feat: Optimize hash util for `MapArray` (#20179)
jonathanc-n Feb 18, 2026
c0e80ed
perf: Optimize scalar fast path of atan2 (#20336)
kumarUjjawal Feb 18, 2026
726d730
chore(deps): bump taiki-e/install-action from 2.67.27 to 2.68.0 (#20398)
dependabot[bot] Feb 18, 2026
5bfcf95
feat: Implement Spark `bitmap_bit_position` function (#20275)
kazantsev-maksim Feb 18, 2026
08c09db
feat: support sqllogictest output coloring (#20368)
theirix Feb 19, 2026
c699361
fix: Handle Utf8View and LargeUtf8 separators in concat_ws (#20361)
neilconway Feb 19, 2026
4f4e814
perf: Optimize concat()/concat_ws() UDFs (#20317)
neilconway Feb 19, 2026
c3f0807
perf: Optimize translate() UDF for scalar inputs (#20305)
neilconway Feb 19, 2026
0022d8e
chore: Cleanup returning null arrays (#20423)
neilconway Feb 19, 2026
0294a22
perf: Optimize `array_has()` for scalar needle (#20374)
neilconway Feb 20, 2026
3157a2e
chore: fix labeler for `datafusion-functions-nested` (#20442)
comphead Feb 20, 2026
b7f6090
perf: Optimize lpad, rpad for ASCII strings (#20278)
neilconway Feb 20, 2026
ba267ac
build: update Rust toolchain version from 1.92.0 to 1.93.0 in `rust-t…
dariocurr Feb 20, 2026
ace9cd4
perf: Optimize trim UDFs for single-character trims (#20328)
neilconway Feb 20, 2026
1ee782f
Migrate Python usage to uv workspace (#20414)
adriangb Feb 20, 2026
0f7a405
feat: support Spark-compatible `json_tuple` function (#20412)
CuteChuanChuan Feb 20, 2026
a936d0d
test: Extend Spark Array functions: `array_repeat `, `shuffle` and `s…
erenavsarogullari Feb 20, 2026
7f99947
chore: Cleanup "!is_valid(i)" -> "is_null(i)" (#20453)
neilconway Feb 21, 2026
fc98d5c
feat: Implement Spark `bitmap_bucket_number` function (#20288)
kazantsev-maksim Feb 21, 2026
1736fd2
refactor: Extract sort-merge join filter logic into separate module (…
viirya Feb 21, 2026
0d63ced
Implement FFI table provider factory (#20326)
davisp Feb 21, 2026
42dd427
bench: Add criterion benchmark for sort merge join (#20464)
andygrove Feb 21, 2026
d036015
chore: group minor dependencies into single PR (#20457)
comphead Feb 21, 2026
d2c5666
chore(deps): bump taiki-e/install-action from 2.68.0 to 2.68.6 (#20467)
dependabot[bot] Feb 21, 2026
626bc01
chore(deps): bump astral-sh/setup-uv from 6.1.0 to 7.3.0 (#20468)
dependabot[bot] Feb 21, 2026
043f908
chore(deps): bump the all-other-cargo-deps group with 6 updates (#20470)
dependabot[bot] Feb 21, 2026
cfdd7c1
chore(deps): bump testcontainers-modules from 0.14.0 to 0.15.0 (#20471)
dependabot[bot] Feb 21, 2026
f488a90
perf: Optimize scalar fast path for `regexp_like` and rejects g insid…
kumarUjjawal Feb 22, 2026
c1ad863
[Minor] Use buffer_unordered (#20462)
Dandandan Feb 22, 2026
bfc012e
bench: Add IN list benchmarks for non-constant list expressions (#20444)
zhangxffff Feb 22, 2026
9660c98
perf: Use zero-copy slice instead of take kernel in sort merge join (…
andygrove Feb 22, 2026
7815732
feat(memory-tracking): implement arrow_buffer::MemoryPool for MemoryP…
notfilippo Feb 23, 2026
60457d0
Runs-on for more actions (#20274)
blaginin Feb 23, 2026
89a8576
docs: Document that adding new optimizer rules are expensive (#20348)
alamb Feb 23, 2026
ed0323a
feat: support `arrays_zip` function (#20440)
comphead Feb 23, 2026
df8f818
chore: Avoid build fails on MinIO rate limits (#20472)
comphead Feb 23, 2026
d303f58
chore: Add end-to-end benchmark for array_agg, code cleanup (#20496)
neilconway Feb 23, 2026
b9328b9
Upgrade to sqlparser 0.61.0 (#20177)
alamb Feb 23, 2026
7602913
Switch to the latest Mac OS (#20510)
blaginin Feb 23, 2026
b6d46a6
perf: Optimize `initcap()` (#20352)
neilconway Feb 24, 2026
d59cdfe
Fix name tracker (#19856)
xanderbailey Feb 24, 2026
11ef486
Runs-on for extended CI checks (#20511)
blaginin Feb 24, 2026
3aa34b3
chore(deps): bump strum from 0.27.2 to 0.28.0 (#20520)
dependabot[bot] Feb 24, 2026
4c0a653
chore(deps): bump taiki-e/install-action from 2.68.6 to 2.68.8 (#20518)
dependabot[bot] Feb 24, 2026
6c79369
chore(deps): bump the all-other-cargo-deps group with 2 updates (#20519)
dependabot[bot] Feb 24, 2026
0dfa542
fix: HashJoin panic with dictionary-encoded columns in multi-key join…
Tim-53 Feb 24, 2026
4a41587
Make `custom_file_casts` example schema nullable to allow null `id` v…
kosiew Feb 24, 2026
a9c0901
Add support for FFI config extensions (#19469)
timsaucer Feb 24, 2026
9c85ac6
perf: Fix quadratic behavior of `to_array_of_size` (#20459)
neilconway Feb 24, 2026
17d770d
fix: handle out of range errors in DATE_BIN instead of panicking (#20…
mishop-15 Feb 24, 2026
670dbf4
fix: prevent duplicate alias collision with user-provided __datafusio…
adriangb Feb 24, 2026
e71e7a3
chore: Cleanup code to use `repeat_n` in a few places (#20527)
neilconway Feb 24, 2026
932418b
chore(deps): bump strum_macros from 0.27.2 to 0.28.0 (#20521)
dependabot[bot] Feb 24, 2026
db5197b
chore: Replace `matches!` on fieldless enums with `==` (#20525)
neilconway Feb 24, 2026
b16ad9b
fix: SortMergeJoin don't wait for all input before emitting (#20482)
rluvaton Feb 24, 2026
fdd36d0
Update comments on OptimizerRule about function name matching (#20346)
alamb Feb 24, 2026
e80694e
Remove recursive const check in `simplify_const_expr` (#20234)
AdamGS Feb 24, 2026
b8cebdd
Fix incorrect regex pattern in regex_replace_posix_groups (#19827)
GaneshPatil7517 Feb 24, 2026
34dad2c
Cache `PlanProperties`, add fast-path for `with_new_children` (#19792)
askalt Feb 24, 2026
585bbf3
perf: Optimize `array_has_any()` with scalar arg (#20385)
neilconway Feb 24, 2026
387e20c
Improve `HashJoinExecBuilder` to save state from previous fields (#20…
askalt Feb 24, 2026
2347306
[Minor] Fix error messages for `shrink` and `try_shrink` (#20422)
hareshkh Feb 25, 2026
d75fcb8
Fix physical expr adapter to resolve physical fields by name, not col…
kosiew Feb 25, 2026
e937cad
[fix] Add type coercion from NULL to Interval to make date_bin more p…
LiaCastaneda Feb 25, 2026
d7d6461
feat: Implement Spark `bin` function (#20479)
kazantsev-maksim Feb 25, 2026
e684994
fix: `cardinality()` of an empty array should be zero (#20533)
neilconway Feb 25, 2026
e894a03
perf: Use Hashbrown for array_distinct (#20538)
neilconway Feb 25, 2026
3a970c5
Clamp early aggregation emit to the sort boundary when using partial …
jackkleeman Feb 25, 2026
33b86fe
perf: Cache num_output_rows in sort merge join to avoid O(n) recount …
andygrove Feb 25, 2026
bcd42b0
fix: Unaccounted spill sort in row_hash (#20314)
EmilyMatt Feb 26, 2026
a026e7d
perf: Optimize heap handling in TopK operator (#20556)
AdamGS Feb 26, 2026
d6fb360
perf: Optimize `array_position` for scalar needle (#20532)
neilconway Feb 26, 2026
e76f0ee
fix: IS NULL panic with invalid function without input arguments (#20…
Acfboy Feb 26, 2026
3ab1301
fix: handle empty delimiter in split_part (closes #20503) (#20542)
gferrate Feb 26, 2026
a257c29
add redirect for old upgrading.html URL to fix broken changelog links…
mishop-15 Feb 26, 2026
a79e6e6
fix(substrait): Correctly parse field references in subqueries (#20439)
neilconway Feb 27, 2026
bc600b3
Split `push_down_filter.slt` into standalone sqllogictest files to re…
kosiew Feb 27, 2026
e583fe9
Add deterministic per-file timing summary to sqllogictest runner (#20…
kosiew Feb 27, 2026
c63ca33
fix: increase ROUND decimal precision to prevent overflow truncation …
kumarUjjawal Feb 27, 2026
7ef62b9
chore: Enable workspace lint for all workspace members (#20577)
neilconway Feb 27, 2026
451c79f
fix: Fix `array_to_string` with columnar third arg (#20536)
neilconway Feb 27, 2026
e567cb9
Fix serde of window lead/lag defaults (#20608)
avantgardnerio Feb 27, 2026
5d8249f
fix: Fix and Refactor Spark `shuffle` function (#20484)
erenavsarogullari Feb 28, 2026
acec058
perf: Use Arrow vectorized eq kernel for IN list with column referenc…
zhangxffff Feb 28, 2026
73fbd48
Upgrade DataFusion to arrow-rs/parquet 58.0.0 / `object_store` 0.13.0…
alamb Feb 28, 2026
3a23bb2
perf: Optimize `array_agg()` using `GroupsAccumulator` (#20504)
neilconway Feb 28, 2026
8df75c3
Document guidance on how to evaluate breaking API changes (#20584)
alamb Feb 28, 2026
8482e2e
feat: support extension planner for `TableScan` (#20548)
linhr Mar 1, 2026
6713439
perf: Optimize `array_to_string()`, support more types (#20553)
neilconway Mar 1, 2026
85c675d
chore: Add branch protection
comphead Mar 2, 2026
23e7a19
[branch-53] chore: prepare 53 release (#20649)
comphead Mar 2, 2026
c466f82
[branch-53] fix: make the `sql` feature truly optional (#20625) (#20680)
comphead Mar 4, 2026
5185602
[53] fix: Fix bug in `array_has` scalar path with sliced arrays (#206…
neilconway Mar 4, 2026
b449f7a
[branch-53] fix: Return `probe_side.len()` for RightMark/Anti count(*…
jonathanc-n Mar 5, 2026
2a82d46
[branch-53] FFI_TableOptions are using default values only (#20722)
timsaucer Mar 5, 2026
f8a03d8
[branch-53] feat: parse `JsonAccess` as a binary operator, add `Opera…
Samyak2 Mar 5, 2026
3574960
[branch-53] perf: sort replace free()->try_grow() pattern with try_re…
mbutrovich Mar 6, 2026
c282508
chore(deps): pin substrait to `0.62.2` (#20827)
milenkovicm Mar 9, 2026
83c0dae
chore(deps): pin substrait version (#20848)
milenkovicm Mar 10, 2026
1196c7c
[branch-53] Fix repartition from dropping data when spilling (#20672)…
hareshkh Mar 10, 2026
7698fdc
[branch-53] fix: `HashJoin` panic with String dictionary keys (don't …
hareshkh Mar 10, 2026
ab7507f
[branch-53] cli: Fix datafusion-cli hint edge cases (#20609) (#20887)
alamb Mar 12, 2026
519866c
[branch-53] perf: Optimize `to_char` to allocate less, fix NULL handl…
alamb Mar 12, 2026
76751f1
[branch-53] fix: interval analysis error when have two filterexec tha…
alamb Mar 12, 2026
e922af9
[branch-53] correct parquet leaf index mapping when schema contains s…
alamb Mar 12, 2026
2c0a38b
[branch-53] ser/de fetch in FilterExec (#20738) (#20883)
alamb Mar 12, 2026
604bc33
[branch-53] fix: use try_shrink instead of shrink in try_resize (#204…
alamb Mar 12, 2026
129757d
[branch-53] Reattach parquet metadata cache after deserializing in da…
alamb Mar 12, 2026
e88a5fa
[branch-53] fix: do not recompute hash join exec properties if not re…
alamb Mar 12, 2026
5388c72
[branch-53] fix(spark): handle divide-by-zero in Spark `mod`/`pmod` w…
alamb Mar 12, 2026
2f2bf32
[branch-53] fix: Provide more generic API for the capacity limit pars…
alamb Mar 12, 2026
9e70cdd
[branch-53] fix: sqllogictest cannot convert <subquery> to Substrait …
alamb Mar 12, 2026
05e00ae
[branch-53] Fix DELETE/UPDATE filter extraction when predicates are p…
alamb Mar 12, 2026
19e9c06
[branch-53] fix: preserve None projection semantics across FFI bounda…
alamb Mar 12, 2026
ed25cc2
[branch-53] Fix FilterExec converting Absent column stats to Exact(NU…
alamb Mar 12, 2026
b7ccb53
[branch-53] backport: Support Spark `array_contains` builtin function…
comphead Mar 12, 2026
01437a2
[branch-53] Fix duplicate group keys after hash aggregation spill (#2…
alamb Mar 13, 2026
2c1ca2f
[branch-53] fix: SanityCheckPlan error with window functions and NVL …
alamb Mar 14, 2026
28fc91a
[branch-53] Update Release Notes (#20952)
alamb Mar 16, 2026
41b3f33
[branch-53] fix: Run release verification with --profile=ci (#20987) …
alamb Mar 17, 2026
28bb951
[branch-53] Update Cargo.lock, Fix Tokio minor breaking change (#2097…
comphead Mar 17, 2026
b83c0e0
[branch-53] fix: move overflow guard before dense ratio in hash join …
mbutrovich Mar 17, 2026
5746048
[branch-53]: fix `array_remove_*` with NULLS (#21013) (#21016)
comphead Mar 17, 2026
01df975
[branch-53] fix: InList Dictionary filter pushdown type mismatch (#20…
alamb Mar 19, 2026
21cbd38
[branch-53] Planning speed improve (port of #21084) (#21137)
blaginin Mar 25, 2026
2c3a360
[branch-53] Fix push_down_filter for children with non-empty fetch fi…
hareshkh Mar 25, 2026
c45c2ce
[branch-53] Substrait join consumer should not merge nullability of j…
hareshkh Mar 26, 2026
d24faa0
[branch-53] chore: Optimize schema rewriter usages (#21158) (#21183)
comphead Mar 26, 2026
3224e0c
[branch-53] fix: use spill writer's schema instead of the first batch…
comphead Apr 8, 2026
61d8483
[branch-53] fix: use datafusion_expr instead of datafusion crate in s…
comphead Apr 8, 2026
6fc7114
[branch-53] fix: FilterExec should drop projection when apply project…
comphead Apr 9, 2026
242fb76
[branch-53] fix: foreign inner ffi types (#21439) (#21524)
alamb Apr 9, 2026
01f2d91
[branch-53] Restore Sort unparser guard for correct ORDER BY placemen…
alamb Apr 9, 2026
637acc4
[branch-53] chore: update deps for cargo audit (#21415) (#21587)
alamb Apr 13, 2026
eae7bf4
[branch-53] Update version and add Changelog (#21559)
comphead Apr 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ github:
branch-51:
required_pull_request_reviews:
required_approving_review_count: 1
branch-52:
required_pull_request_reviews:
required_approving_review_count: 1
branch-53:
required_pull_request_reviews:
required_approving_review_count: 1
pull_requests:
# enable updating head branches of pull requests
allow_update_branch: true
Expand Down
20 changes: 19 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ updates:
interval: weekly
target-branch: main
labels: [auto-dependencies]
open-pull-requests-limit: 15
ignore:
# major version bumps of arrow* and parquet are handled manually
- dependency-name: "arrow*"
Expand All @@ -44,10 +45,27 @@ updates:
patterns:
- "prost*"
- "pbjson*"

# Catch-all: group only minor/patch into a single PR,
# excluding deps we want always separate (and excluding arrow/parquet which have their own group)
all-other-cargo-deps:
applies-to: version-updates
patterns:
- "*"
exclude-patterns:
- "arrow*"
- "parquet"
- "object_store"
- "sqlparser"
- "prost*"
- "pbjson*"
update-types:
- "minor"
- "patch"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
interval: "weekly"
open-pull-requests-limit: 10
labels: [auto-dependencies]
- package-ecosystem: "pip"
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/audit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,12 @@ jobs:
security_audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install cargo-audit
uses: taiki-e/install-action@0e76c5c569f13f7eb21e8e5b26fe710062b57b62 # v2.65.13
uses: taiki-e/install-action@cfdb446e391c69574ebc316dfb7d7849ec12b940 # v2.68.8
with:
tool: cargo-audit
- name: Run audit check
# Note: you can ignore specific RUSTSEC issues using the `--ignore` flag ,for example:
# run: cargo audit --ignore RUSTSEC-2026-0001
run: cargo audit
6 changes: 3 additions & 3 deletions .github/workflows/dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
container:
image: amd64/rust
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
submodules: true
fetch-depth: 1
Expand All @@ -62,8 +62,8 @@ jobs:
container:
image: amd64/rust
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install cargo-machete
run: cargo install cargo-machete --version ^0.9 --locked
- name: Detect unused dependencies
run: cargo machete --with-metadata
run: cargo machete --with-metadata
8 changes: 4 additions & 4 deletions .github/workflows/dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
runs-on: ubuntu-latest
name: Check License Header
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install HawkEye
# This CI job is bound by installation time, use `--profile dev` to speed it up
run: cargo install hawkeye --version 6.2.0 --locked --profile dev
Expand All @@ -43,8 +43,8 @@ jobs:
name: Use prettier to check formatting of documents
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: "20"
- name: Prettier check
Expand All @@ -55,7 +55,7 @@ jobs:
name: Spell Check with Typos
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
# Version fixed on purpose. It uses heuristics to detect typos, so upgrading
Expand Down
21 changes: 10 additions & 11 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,32 +32,31 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout docs sources
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Checkout asf-site branch
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: asf-site
path: asf-site

- name: Setup Python
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
python-version: "3.12"
- name: Setup uv
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0

- name: Install dependencies
run: uv sync --package datafusion-docs
- name: Install dependency graph tooling
run: |
set -x
python3 -m venv venv
source venv/bin/activate
pip install -r docs/requirements.txt
sudo apt-get update
sudo apt-get install -y graphviz
cargo install cargo-depgraph --version ^1.6 --locked

- name: Build docs
run: |
set -x
source venv/bin/activate
cd docs
./build.sh
uv run --package datafusion-docs ./build.sh

- name: Copy & push the generated HTML
run: |
Expand Down
20 changes: 9 additions & 11 deletions .github/workflows/docs_pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,24 +40,22 @@ jobs:
name: Test doc build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
submodules: true
fetch-depth: 1
- name: Setup Python
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
python-version: "3.12"
- name: Setup uv
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
- name: Install doc dependencies
run: uv sync --package datafusion-docs
- name: Install dependency graph tooling
run: |
set -x
python3 -m venv venv
source venv/bin/activate
pip install -r docs/requirements.txt
sudo apt-get update
sudo apt-get install -y graphviz
cargo install cargo-depgraph --version ^1.6 --locked
- name: Build docs html and check for warnings
run: |
set -x
source venv/bin/activate
cd docs
./build.sh # fails on errors

uv run --package datafusion-docs ./build.sh # fails on errors
38 changes: 24 additions & 14 deletions .github/workflows/extended.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,11 @@ jobs:
# Check crate compiles and base cargo check passes
linux-build-lib:
name: linux build test
runs-on: ubuntu-latest
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a,cpu=8,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
# note: do not use amd/rust container to preserve disk space
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
submodules: true
Expand All @@ -80,7 +81,9 @@ jobs:
source $HOME/.cargo/env
rustup toolchain install
- name: Install Protobuf Compiler
run: sudo apt-get install -y protobuf-compiler
run: |
sudo apt-get update
sudo apt-get install -y protobuf-compiler
- name: Prepare cargo build
run: |
cargo check --profile ci --all-targets
Expand All @@ -90,10 +93,12 @@ jobs:
linux-test-extended:
name: cargo test 'extended_tests' (amd64)
needs: [linux-build-lib]
runs-on: ubuntu-latest
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a,cpu=32,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion,spot=false', github.run_id) || 'ubuntu-latest' }}
# spot=false because the tests are long, https://runs-on.com/configuration/spot-instances/#disable-spot-pricing
# note: do not use amd/rust container to preserve disk space
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
submodules: true
Expand All @@ -106,7 +111,9 @@ jobs:
source $HOME/.cargo/env
rustup toolchain install
- name: Install Protobuf Compiler
run: sudo apt-get install -y protobuf-compiler
run: |
sudo apt-get update
sudo apt-get install -y protobuf-compiler
# For debugging, test binaries can be large.
- name: Show available disk space
run: |
Expand All @@ -133,11 +140,12 @@ jobs:
# Check answers are correct when hash values collide
hash-collisions:
name: cargo test hash collisions (amd64)
runs-on: ubuntu-latest
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
container:
image: amd64/rust
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
submodules: true
Expand All @@ -154,19 +162,21 @@ jobs:

sqllogictest-sqlite:
name: "Run sqllogictests with the sqlite test suite"
runs-on: ubuntu-latest
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a,cpu=48,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion,spot=false', github.run_id) || 'ubuntu-latest' }}
# spot=false because the tests are long, https://runs-on.com/configuration/spot-instances/#disable-spot-pricing
container:
image: amd64/rust
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
submodules: true
fetch-depth: 1
- name: Setup Rust toolchain
uses: ./.github/actions/setup-builder
with:
rust-version: stable
# Don't use setup-builder to avoid configuring RUST_BACKTRACE which is expensive
- name: Install protobuf compiler
run: |
apt-get update && apt-get install -y protobuf-compiler
- name: Run sqllogictest
run: |
cargo test --features backtrace,parquet_encryption --profile release-nonlto --test sqllogictests -- --include-sqlite
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Assign GitHub labels
if: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/labeler/labeler-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ datasource:

functions:
- changed-files:
- any-glob-to-any-file: ['datafusion/functions/**/*', 'datafusion/functions-aggregate/**/*', 'datafusion/functions-aggregate-common', 'datafusion/functions-nested', 'datafusion/functions-table/**/*', 'datafusion/functions-window/**/*', 'datafusion/functions-window-common/**/*']
- any-glob-to-any-file: ['datafusion/functions/**/*', 'datafusion/functions-aggregate/**/*', 'datafusion/functions-aggregate-common/**/*', 'datafusion/functions-nested/**/*', 'datafusion/functions-table/**/*', 'datafusion/functions-window/**/*', 'datafusion/functions-window-common/**/*']


optimizer:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/large_files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
check-files:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Check size of new Git objects
Expand Down
Loading
Loading