Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
457 commits
Select commit Hold shift + click to select a range
6044ed1
refactor: split UCCommitsClient into UCCommitClient and UCGetCommitsC…
chiinlquah Feb 18, 2026
af71c28
feat: checkpoint and sidecar row group skipping via stats_parsed (#1853)
DrakeLin Feb 18, 2026
6363e88
chore: Prefer `append_value_n` over `append_value` (#1868)
Fokko Feb 18, 2026
9da3439
chore: pin native-tls to 0.2.16 due to upstream breakage (#1880)
scovich Feb 18, 2026
e80f6ab
feat: Implement TableInfo Deserialization for Benchmark Framework (#1…
lorenarosati Feb 18, 2026
e5f31f1
feat: Implement Read Spec Deserialization for Benchmark Framework (#1…
lorenarosati Feb 18, 2026
0c27272
refactor: use type-state pattern for CreateTableTransaction compile-t…
chiinlquah Feb 19, 2026
7a171fe
refactor: simplify table feature parsing (#1878)
scovich Feb 19, 2026
72fe250
chore: Fix unit tests with bad protocol versions (#1879)
scovich Feb 19, 2026
3462240
chore: Add nextest support for miri tests (#1685)
OussamaSaoudi Feb 19, 2026
a9feae3
Add ability to 'enter' the runtime to the default engine (#1847)
nicklan Feb 19, 2026
616a3ec
chore: Unpin Miri nightly toolchain (#1900)
DrakeLin Feb 19, 2026
023ccad
feat: Allow visitors to visit REE Arrow columns. (#1829)
emkornfield Feb 20, 2026
5c7ea18
feat(committer): add tracing instrumentation to FileSystemCommitter::…
LouisLau-art Feb 20, 2026
4dec3b0
chore: bring 0.19.1 changes into main (#1632)
nicklan Feb 20, 2026
8894c12
examples: simplify checkpoint-table with Snapshot::checkpoint (#1813)
LouisLau-art Feb 20, 2026
2211593
feat: Use physical stats column names in `WriteContext` (#1836)
dengsh12 Feb 20, 2026
3a2069c
feat: Generate `physical_schema` in `WriteContext` w.r.t column mappi…
dengsh12 Feb 20, 2026
b944733
refactor: Define and use new TableConfiguration methods (#1905)
scovich Feb 20, 2026
c188b5d
feat: try and cache brew packages to speed up CI (#1909)
nicklan Feb 20, 2026
4340803
fix!: Parquet footer skipping cannot trust nullcount=0 stat (#1914)
scovich Feb 20, 2026
d01526d
perf: pre-allocate Vecs and HashSets when size is known (#1676)
fvaleye Feb 20, 2026
eab586c
Revert "chore: pin native-tls to 0.2.16 due to upstream breakage" (#1…
scovich Feb 20, 2026
f47ff8d
refactor: Improve Protocol::try_new and make tests call it reliably (…
scovich Feb 20, 2026
a32fb18
feat: extend GetData with float, double, date, timestamp, decimal typ…
DrakeLin Feb 20, 2026
84606f7
refactor: simplify GetData impls with bool::then() (#1918)
DrakeLin Feb 20, 2026
09b026f
feat: Define and use constants for protocol (3,7) (#1917)
scovich Feb 20, 2026
cdc0151
fix: Column extraction for visitors should not rely on schema order (…
emkornfield Feb 20, 2026
fc88e2d
feat: Generate transform in `WriteContext` w.r.t column mapping (#1862)
dengsh12 Feb 21, 2026
757a927
StructType modification method and stat_transform schema boilerplate …
thinh2 Feb 21, 2026
ef346c6
perf: add skip_stats option to skip reading file statistics (#1738)
fvaleye Feb 22, 2026
44055c9
chore: remove comfy-table dependency declaration (#1860)
rtyler Feb 23, 2026
7324d3d
feat: support v2 checkpoints in create_table API (#1864)
Jameson-Crate Feb 23, 2026
acec807
refactor: split transaction module into mod.rs and update.rs (#1877)
chiinlquah Feb 23, 2026
171de59
feat: expand add files schema to include all stats fields (#1748)
DrakeLin Feb 23, 2026
64c75e5
feat: Support write with both partition columns and column mapping in…
dengsh12 Feb 23, 2026
a406cbb
feat: feat: support scanning for multiple specific domains in domain …
chiinlquah Feb 23, 2026
6e3c749
feat: use CRC for In-Commit-Timestamp reading (#1806)
scottsand-db Feb 24, 2026
2f536ab
feat: allow ffi for uc_catalog stuff (#1711)
nicklan Feb 24, 2026
810077a
fix: Ensure consistent usage of parquet.field.id and conversion to PA…
emkornfield Feb 24, 2026
1216440
refactor: Rename FeatureType::Writer as WriterOnly (#1934)
scovich Feb 24, 2026
be54284
feat: support column mapping on writes (#1863)
dengsh12 Feb 24, 2026
7b1612f
feat: Implement the read metadata workload runner (#1919)
lorenarosati Feb 24, 2026
d65f3d9
feat: Coerce parquet read nullability to match table schema (#1903)
dengsh12 Feb 25, 2026
48a364a
add file size to the unit test of Engine's ParquetReader (#1921)
thinh2 Feb 25, 2026
cd1a6d7
add size metadata to the CdfScanFile (#1935)
thinh2 Feb 25, 2026
fbd2ab2
feat: Relax clustering column constraints to align with Delta protoco…
sanujbasu Feb 25, 2026
9239046
test: Add test for parquet id when CM enabled (#1946)
dengsh12 Feb 25, 2026
47fc880
chore: Update review policy in CONTRIBUTING.md (#1945)
nicklan Feb 25, 2026
c66d879
fix: Make log segment merging in `Snapshot::try_new_from` deduplicate…
OussamaSaoudi Feb 25, 2026
d7bc1f9
refactor: Clean up TableConfiguration validation and unit tests (#1947)
scovich Feb 25, 2026
0c5c3d3
feat: auto-enable variantType feature during CREATE TABLE (#1922) (#1…
sanujbasu Feb 26, 2026
67fbf8f
fix: add column level verification for logical to physical name (#1899)
Jameson-Crate Feb 26, 2026
ac0bba7
chore: clarify no merging in file readers (#1953)
emkornfield Feb 26, 2026
7c7bd78
feat: Add internal API for retrieving the file stats of the table, if…
scottsand-db Feb 27, 2026
bc053e9
optimize CI doc build job (#1966)
thinh2 Feb 27, 2026
ae9bfc0
feat: Add nested struct support to schema diffing (3/5) (#1479)
murali-db Feb 27, 2026
7fad318
feat: inject FilePath metadata column into JSON read batches (#1908)
chiinlquah Feb 27, 2026
c0210e2
refactor: stream filesystem listing lazily in list_from_storage (#1832)
chiinlquah Feb 27, 2026
d67eb1c
feat: add MapToStruct expression for partition value map-to-struct co…
DrakeLin Feb 28, 2026
af41379
refactor: switch CRC reader from json_handler+visitor to serde_json (…
scottsand-db Feb 28, 2026
e056731
refactor: rename clustering_columns to required_columns and add reque…
DrakeLin Feb 28, 2026
25e2a9b
feat: read domain_metadata from CRC files via serde (#1968)
scottsand-db Feb 28, 2026
94ce746
fix: gracefully handle corrupt stats in JSON parsing (#1965)
DrakeLin Mar 2, 2026
caba79c
feat: add StorageHandler::put and CRC file writing (#1984)
scottsand-db Mar 2, 2026
c16a082
fix: Snapshot builder change URI validation (#1777)
Jameson-Crate Mar 3, 2026
e1ea96a
feat: add with_stats_columns to filter parsed stats output (#1730)
DrakeLin Mar 3, 2026
a9a8307
feat: add StatsVerifier and commit-time stats validation (#1667)
DrakeLin Mar 3, 2026
8d2432c
chore: add warning to missing column in schema in stats verifier (#1997)
DrakeLin Mar 3, 2026
2b87f29
refactor: store CRC domain_metadata as HashMap instead of Vec (#1991)
scottsand-db Mar 3, 2026
7aaa669
Kernel Rust AI Policy (#1999)
scottsand-db Mar 3, 2026
6dce012
feat: Add criterion benchmark binary and path-based workload loading …
lorenarosati Mar 3, 2026
f9b428c
feat: Snapshot construction runner for benchmarking (#1937)
lorenarosati Mar 3, 2026
7a59c11
fix: remove LazyCrc from Snapshot::new internal-api signature (#2002)
scottsand-db Mar 3, 2026
1d0391f
refactor: Extracted benchmarking to separate crate (#1964)
lorenarosati Mar 3, 2026
0635256
feat: add `FileStatsDelta` which computes + stores net file count and…
scottsand-db Mar 3, 2026
9b59309
increase parallelism for miri CI job (#1982)
thinh2 Mar 4, 2026
630db20
refactor!: rename include_stats_columns to include_all_stats_columns …
DrakeLin Mar 4, 2026
17da470
docs: add CLAUDE.md (#1855)
scottsand-db Mar 4, 2026
62cb1ac
add file size metadata to integration test (#1951)
thinh2 Mar 4, 2026
a326547
test: Add array tests to schema diffing (4/5) (#1480)
murali-db Mar 4, 2026
214fb5a
Put `collect_stats` under `internal_api` to allow custom engines to c…
gotocoding-DB Mar 4, 2026
4c96885
chore: update .gitignore (#2013)
scovich Mar 4, 2026
36789b9
0.20 release PR into main (#2014)
nicklan Mar 4, 2026
f9710eb
feat: Add public API for parallel scan metadata processing (#1865)
OussamaSaoudi Mar 4, 2026
b5947e4
Fix: Missing stats when both column mapping, clustered table enabled …
dengsh12 Mar 4, 2026
1d64e36
test: consolidate engine handler tests and add cross-engine contracts…
chiinlquah Mar 4, 2026
38a420e
add metadata's file_size to the ffi test (#1959)
thinh2 Mar 5, 2026
e4d92f7
refactor: deduplicate ListedLogFiles / LogSegment and clean up valida…
chiinlquah Mar 5, 2026
f6c0a41
feat: write partitionValues_parsed in checkpoints (#1932)
DrakeLin Mar 5, 2026
af9b9ad
add merge group triggers (#2016)
nicklan Mar 5, 2026
72ee8f6
feat: Add ability to generate nullability values for struct transform…
emkornfield Mar 5, 2026
5a72b51
docs: Improved documentation for benchmarking (#2021)
lorenarosati Mar 5, 2026
262ec7d
feat: add CrcDelta and Crc::apply for incremental CRC state tracking …
scottsand-db Mar 5, 2026
ba14d74
refactor: move txn domain_metadata fns to separate file (#2030)
scottsand-db Mar 6, 2026
e3c1d19
test: add CTAS integration tests with column naming verification (#2000)
sanujbasu Mar 6, 2026
c991716
fix: accept all Arrow string/binary representations in GetData and ex…
DrakeLin Mar 6, 2026
6ac063d
fix: Turn empty string in partition values into null, and encode it p…
nicklan Mar 6, 2026
4a36975
default engine's Parquet Reader use file_size's metadata as default (…
thinh2 Mar 6, 2026
ec45f2e
ci: fix semver-checks workflow for merge queues (#2035)
DrakeLin Mar 6, 2026
03146b0
feat: remove clustering feature flag to enable public use (#1998)
DrakeLin Mar 6, 2026
4a4ecb7
fix: Eliminate redundant schema conversion in evaluator (#1971)
emkornfield Mar 6, 2026
c885335
ci: Add workflow to comment benchmarking results on PRs (#2009)
lorenarosati Mar 6, 2026
9bec3e9
docs: test table info (#1993)
DrakeLin Mar 6, 2026
88497b3
refactor: Let log_segment worry about pruning actions (#1988)
emkornfield Mar 6, 2026
2e2167b
prefactor: expose CRC getter behind `test-utils` feature flag (#2041)
scottsand-db Mar 6, 2026
c85744e
refactor: Move duplicate ID check to logical schema validation (#2042)
emkornfield Mar 7, 2026
e84582e
feat: internal_api proc macro supports `use` now (#2053)
scovich Mar 9, 2026
917d87a
fix!: Don't read or write arrow schema in parquet files (#2025)
emkornfield Mar 9, 2026
686e183
feat: add read/parse support for set transactions from crc (#2022)
Jameson-Crate Mar 9, 2026
e28fc72
refactor: promote LogSegment invariant checks to always-on …
chiinlquah Mar 9, 2026
cefff58
test: Complete schema diffing with map support (#1481)
murali-db Mar 9, 2026
ce06c51
refactor: make CRC file stats private with safe accessor (#2045)
scottsand-db Mar 9, 2026
b0fc758
refactor: replace EngineList/EngineMap traits with StringArrayAccesso…
DrakeLin Mar 9, 2026
d18f280
refactor: move scan transforms to mod scan_transforms (#2057)
scovich Mar 9, 2026
8290b20
feat: inject CrcDelta into post-commit snapshot (#2028)
scottsand-db Mar 9, 2026
0d0571f
fix: Allow changes to schema metadata between checkpoints (#2047)
nicklan Mar 10, 2026
f5272c2
refactor: add map_owned_children_or_else and use it in transforms (#2…
scovich Mar 10, 2026
9498476
feat: add partition pruning infrastructure for checkpoint reads (#1840)
DrakeLin Mar 10, 2026
7bab2e1
refactor: Clean up FeatureInfo (#2015)
scovich Mar 10, 2026
e602f95
fix: Revert "fix: Eliminate redundant schema conversion in evaluator …
emkornfield Mar 10, 2026
7e77268
feat: ensure CRC domain metadata never updates from None -> Some (#2058)
scottsand-db Mar 11, 2026
2d1a1c6
ci: Adding new workflow and action to validate PR title (#2068)
nicklan Mar 11, 2026
5b2403a
fix: case-insensitive column matching in PhysicalPredicate (#2055)
DrakeLin Mar 11, 2026
00e6343
refactor: Remove logical stats schema from ExpectedStatsSchemas (#2059)
dengsh12 Mar 11, 2026
19940fa
ci: fix breaking changes check in title validator (#2083)
nicklan Mar 11, 2026
18bfe60
docs: add no-prod-panic rule into claude.md (#2091)
dengsh12 Mar 11, 2026
dd7bbc1
fix: flaky ffi_tracing test due to second-boundary timestamp race (#2…
chiinlquah Mar 11, 2026
5e11386
refactor!: consolidate domain metadata reads through Snapshot (#2065)
scottsand-db Mar 11, 2026
4644a8f
chore: fix format-related clippy warnings (#2094)
scovich Mar 11, 2026
8a3a2b8
feat: auto-enable timestampNtz feature during CREATE TABLE (#2071)
sanujbasu Mar 11, 2026
7d69a9f
fix: allow null min/max stats for all-null columns (#2078)
DrakeLin Mar 11, 2026
af858f5
feat!: support crc writes (#2050)
scottsand-db Mar 12, 2026
78b18cc
ci: only run invalid_handle_code test when there is change in ffi/* (…
thinh2 Mar 12, 2026
876c2a4
fix: reject case-insensitive duplicate field names in StructType::try…
rliao147 Mar 12, 2026
0824ed4
refactor: move create_table tests to directory-based module structure…
sanujbasu Mar 12, 2026
3dc3dd9
feat: improve error message when reading an unknown type (#2048)
OussamaSaoudi Mar 12, 2026
0815113
chore: fix more clippy string format warnings (#2110)
scovich Mar 12, 2026
f8e8caf
feat: use crc to retrieve dm faster in snapshot apis (#2104)
scottsand-db Mar 12, 2026
74d7119
refactor!: introduce object_store compat shim and use it (#2111)
scovich Mar 12, 2026
1ed0a08
feat: add in-commit timestamp support for CREATE TABLE (#2102)
sanujbasu Mar 12, 2026
c196b5c
feat: extend DataSkippingFilter to support partition columns (#2076)
DrakeLin Mar 12, 2026
1424211
ci: use merge-base as semver-checks baseline to fix false positives (…
DrakeLin Mar 12, 2026
379fa71
fix: Remove panic for `make_physical` (#2056)
dengsh12 Mar 12, 2026
f63a593
feat: Add workload grouping to benchmarking (#2038)
lorenarosati Mar 13, 2026
14d7101
feat: add transaction with_commit_info method (#2039)
thinh2 Mar 13, 2026
b0a7a6c
fix: normalize degenerate junctions in predicate constructor (#2096)
DrakeLin Mar 13, 2026
9d10684
fix: Trigger private in pub warnings for internal_api items (#2113)
nicklan Mar 13, 2026
b3c0016
refactor: simplify two stats schema transforms (#2080)
scovich Mar 13, 2026
ffc8d14
feat: enable vacuumProtocolCheck for CREATE TABLE (#2122)
sanujbasu Mar 13, 2026
3a7f48a
refactor: other kernel crates use kernel re-export of arrow/etc (#2114)
scovich Mar 13, 2026
8f2e75f
fix: UCCommitter should reject version 0 commits (#2123)
rliao147 Mar 13, 2026
76d480f
fix: omit null min/max stats for all-null columns instead of writing …
DrakeLin Mar 13, 2026
86e56d1
refactor: stack/add commit with path (#2060)
Jameson-Crate Mar 13, 2026
f6969c9
refactor: encapsulate internal schema transforms better (#2067)
scovich Mar 13, 2026
6065e5a
ci: restrict rust-cache writes to main to prevent PR cache eviction (…
scottsand-db Mar 13, 2026
806b66c
refactor!: New mod `transforms` for expression and schema transforms …
scovich Mar 14, 2026
6406b4b
fix: comment-on-title-failure (#2119)
nicklan Mar 16, 2026
bb05108
feat: support set transaction delta creation and lazy crc read (#2121)
Jameson-Crate Mar 16, 2026
0d0bbae
feat: Implement full table info structure (#2043)
lorenarosati Mar 16, 2026
d028bce
refactor: Better expression transform docs (#2147)
scovich Mar 17, 2026
d06c1ee
refactor: More transform cleanups (#2140)
scovich Mar 17, 2026
56dbb96
fix: treat null literal as unknown in meta-predicate evaluation (#2097)
DrakeLin Mar 17, 2026
69bf275
feat: add SQL -> Kernel predicate parser to benchmark framework (#2099)
DrakeLin Mar 17, 2026
40e6746
fix: update TokioBackgroundExecutor to join thread instead of detachi…
william-ch-databricks Mar 17, 2026
f6b5821
chore: Clean up arrow deps in cargo files (#2115)
scovich Mar 18, 2026
0cb7d29
feat: Add observability metrics for scan log replay (#1866)
OussamaSaoudi Mar 18, 2026
c2c3faf
fix: Use thread pools and multi-thread tokio executor in read metadat…
lorenarosati Mar 18, 2026
b172ac8
feat: Filtered engine data visitor (#1942)
emkornfield Mar 18, 2026
6fce943
refactor: Finalized benchmark table names and added new tables (#2072)
lorenarosati Mar 18, 2026
ac25e92
feat: Trigger benchmarking with comments (#2089)
lorenarosati Mar 19, 2026
965a323
fix: emit null stats for all-null columns instead of omitting them (#…
DrakeLin Mar 19, 2026
b70d85d
docs: update claude readme to include github actions safety note (#2190)
Jameson-Crate Mar 19, 2026
534bc1b
feat: unify data stats and partition values in DataSkippingFilter (#1…
DrakeLin Mar 19, 2026
45261b4
refactor!: New transform helpers for unary and binary children (#2150)
scovich Mar 20, 2026
05d89d9
fix: allow Date/Timestamp casting for stats_parsed compatibility (#2074)
DrakeLin Mar 20, 2026
e304e10
fix: filter evaluator input schema (#2195)
DrakeLin Mar 20, 2026
05df270
refactor: remove legacy row-level partition filter path (#2158)
DrakeLin Mar 20, 2026
0bb786d
perf: pre-size dedup HashSet in ScanLogReplayProcessor (#2186)
chiinlquah Mar 20, 2026
6f3a4ec
perf: pre-size HashMap in ArrowEngineData::visit_rows (#2185)
chiinlquah Mar 20, 2026
7d8eba0
refactor: Restructured list log files function (#2173)
lorenarosati Mar 20, 2026
c683df6
feat: Download benchmark workloads from DAT release (#2163)
lorenarosati Mar 20, 2026
3998db4
feat: add partitioned variant to DataLayout enum (#2145)
sanujbasu Mar 20, 2026
23b046e
perf: remove dead schema conversions in expression evaluators (#2184)
chiinlquah Mar 21, 2026
efc3356
fix: SnapshotCompleted.total_duration now includes log segment loadin…
sanujbasu Mar 21, 2026
612f22a
fix: Avoid creating empty stats schemas (#2199)
scovich Mar 21, 2026
e162b68
feat: expose table_properties in FFI via visit_table_properties (#2196)
thinh2 Mar 23, 2026
0ad4a7d
feat: allow checkpoint stats properties in CREATE TABLE (#2210)
sanujbasu Mar 23, 2026
027df14
fix: prevent dual TLS crypto backends from reqwest default features (…
scottsand-db Mar 24, 2026
85f23e6
switch to shas for actions
nicklan Mar 25, 2026
e132c21
ci: commit Cargo.lock and enforce --locked in all CI workflows (#2240)
scottsand-db Mar 25, 2026
80d5f7e
fix: vendor and pin homebrew actions (#2243)
nicklan Mar 25, 2026
5aae1d8
fix: validate min_reader/writer_version are at least 1 (#2202)
nicklan Mar 25, 2026
0caaddb
fix: preserve loaded LazyCrc during incremental snapshot updates (#2211)
rliao147 Mar 25, 2026
7f8dd33
fix: detect stats_parsed in multi-part V1 checkpoints (#2214)
DrakeLin Mar 25, 2026
2ed771d
ci: harden pr-title-validator a bit (#2246)
nicklan Mar 25, 2026
4d1b47b
fix: downgrade per-batch data skipping log from info to debug (#2219)
sanujbasu Mar 26, 2026
5d0f7e1
feat: add crc file histogram initial struct and methods (#2212)
Jameson-Crate Mar 26, 2026
bcbbe57
refactor: consolidate and add testing for set transaction expiration …
Jameson-Crate Mar 26, 2026
528143b
fix: unknown table features in feature list are "supported" (#2159)
scovich Mar 26, 2026
dce1b97
ci: renable semver (#2248)
nicklan Mar 26, 2026
7503856
ci: attempt fixup of semver-label job (#2253)
nicklan Mar 27, 2026
07562c6
feat: BinaryPredicate evaluate expression with ArrowViewType. (#2052)
thinh2 Mar 27, 2026
d99784c
feat: Add acceptance workloads testing harness (#2092)
OussamaSaoudi Mar 27, 2026
240505e
ci: Use artifacts for semver label (#2258)
nicklan Mar 27, 2026
579a859
refactor!: rename uc-catalog and uc-client crates (#2136)
rliao147 Mar 27, 2026
52d01b9
feat: enable DeletionVectors table feature in CREATE TABLE (#2245)
sanujbasu Mar 28, 2026
82d5f1d
feat!: checksum and checkpoint APIs return updated Snapshot (#2182)
scottsand-db Mar 28, 2026
fb594da
fix: remove debug_assert_eq before require in scan evaluator row coun…
chiinlquah Mar 28, 2026
500688d
feat: adding ScanBuilder FFI functions for Scans (#2237)
chiinlquah Mar 28, 2026
f69180f
feat: add CountingReporter and fix metrics forwarding (#2166)
chiinlquah Mar 28, 2026
0f8386a
feat!: instrument JSON and Parquet handler reads with MetricsReporter…
chiinlquah Mar 28, 2026
bd98a43
feat: wire CountingReporter into workload benchmarks (#2171)
chiinlquah Mar 28, 2026
e6a4f69
fix: adopt checkpoint written later for same-version snapshot refresh…
ethan-tyler Mar 30, 2026
382a5cc
feat!: Add create many API to engine (#2070)
emkornfield Mar 30, 2026
64820aa
fix: return error when parquet handler returns empty data for scan fi…
chiinlquah Mar 30, 2026
56bb9c8
docs: add line width and comment divider style rules to CLAUDE.md (#2…
chiinlquah Mar 30, 2026
2ee3dde
feat!: add ScanMetadataCompleted metric event (#2236)
OussamaSaoudi Mar 31, 2026
eae37a7
feat: allow AppendOnly, ChangeDataFeed, and TypeWidening in CREATE TA…
sanujbasu Mar 31, 2026
69e9ca0
feat: support max timestamp stats for data skipping (#2249)
DrakeLin Apr 1, 2026
f099eaf
refactor: Better naming style for column mapping related functions/va…
dengsh12 Apr 1, 2026
e072b32
feat: Add list with backward checkpoint scan (#2174)
lorenarosati Apr 1, 2026
98420fe
fix: Refactor benchmarking workflow to not require criterion compare …
lorenarosati Apr 1, 2026
7866824
docs: Add documentation for current tags (#2234)
lorenarosati Apr 1, 2026
c9beaee
docs: Document benchmarking in CI accuracy (#2302)
lorenarosati Apr 1, 2026
a6b7426
refactor: Centralize computation for physical schema without partitio…
dengsh12 Apr 1, 2026
224ec79
feat: add Snapshot::get_timestamp (#2266)
thinh2 Apr 1, 2026
1751401
feat: Make tags and remove partition values allow null values in map…
OussamaSaoudi Apr 1, 2026
f5b7b5a
feat: support UC credential vending and S3 benchmarks (#2109)
OussamaSaoudi Apr 1, 2026
743dc2f
feat!: add catalogManaged to allowed features in CREATE TABLE (#2293)
rliao147 Apr 2, 2026
ada71b6
feat!: add catalog-managed table creation utilities (#2203)
rliao147 Apr 2, 2026
cf5e140
feat!: support version 0 (table creation) commits in UCCommitter (#2247)
rliao147 Apr 2, 2026
2309294
fix: skip name-based validation for struct columns in expression eval…
DrakeLin Apr 2, 2026
db4abd9
feat!: update snapshot.checkpoint API to return a CheckpointResult (#…
kyli87 Apr 3, 2026
36d650c
feat: Cached checkpoint output schema (#2270)
dengsh12 Apr 3, 2026
6fa225e
feat: refactor snapshot FFI to use builder pattern and enable snapsho…
benfleis Apr 3, 2026
6820480
feat!: add P&M to CommitMetadata and enforce committer/table type mat…
rliao147 Apr 3, 2026
fe5f583
feat!: add UCCommitter validation for catalog-managed tables (#2254)
rliao147 Apr 3, 2026
696ca10
refactor: consolidate FFI test setup helpers into ffi_test_utils (#2307)
chiinlquah Apr 3, 2026
ac3f0d8
fix: handle missing leaf columns in nested struct during parquet proj…
DrakeLin Apr 3, 2026
d309338
feat!: Crc File Histogram Read and Write Support (#2235)
Jameson-Crate Apr 3, 2026
8a3bed2
feat: add FFI function to expose snapshot's timestamp (#2274)
thinh2 Apr 4, 2026
ff29b2a
refactor(action_reconciliation): combine getter index and field name …
mag1cfrog Apr 6, 2026
cfaf2e2
feat: add FFI create table DDL functions (#2296)
chiinlquah Apr 6, 2026
b855afb
chore!: remove old non-builder snapshot FFI functions (#2318)
chiinlquah Apr 7, 2026
56bc6bb
chore!: remove the catalog-managed feature flag (#2310)
rliao147 Apr 7, 2026
f75f981
feat: add FFI remove files DML functions (#2297)
chiinlquah Apr 7, 2026
b17917b
refactor: extract shared stat helpers from RowGroupFilter (#2324)
DrakeLin Apr 8, 2026
de79cf6
feat: expose Protocol and Metadata as opaque FFI handle types (#2260)
chiinlquah Apr 8, 2026
600fca2
feat: add FFI bindings for domain metadata write operations (#2327)
chiinlquah Apr 8, 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
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## What changes are proposed in this pull request?

<!--
**Uncomment** this section if there are any changes affecting public APIs. Else, **delete** this section.
### This PR affects the following public APIs
If there are breaking changes, please ensure the `breaking-changes` label gets added by CI, and describe why the changes are needed.
Note that _new_ public APIs are not considered breaking.
-->

## How was this change tested?
101 changes: 101 additions & 0 deletions .github/actions/install-and-cache/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# This is copied from https://github.com/tecolicom/actions-install-and-cache
# which is Copyright 2022 Office TECOLI, LLC

name: install-and-cache generic backend
description: 'GitHub Action to run installer and cache the result'
branding:
color: orange
icon: type

inputs:
run: { required: true, type: string }
path: { required: true, type: string }
cache: { required: false, type: string, default: yes }
key: { required: false, type: string }
sudo: { required: false, type: string }
verbose: { required: false, type: string, default: false }

outputs:
cache-hit:
value: ${{ steps.cache.outputs.cache-hit }}

runs:
using: composite
steps:

- id: setup
shell: bash
run: |
: setup install-and-cache
define() { IFS='\n' read -r -d '' ${1} || true ; }
define script <<'EOS_cad8_c24e_'
${{ inputs.run }}
EOS_cad8_c24e_
directory="${{ inputs.path }}"
given_key="${{ inputs.key }}"
archive= key=
case "${{ inputs.cache }}" in
yes|workflow)
cache="${{ inputs.cache }}"
uname -mrs
hash=$( (uname -mrs ; cat <<< "$script" ; echo $directory) | \
(md5sum||md5) | awk '{print $1}' )
key="${hash}${given_key:+-$given_key}"
[ "$cache" == 'workflow' ] && \
key+="-${{ github.run_id }}-${{ github.run_attempt }}"
archive=$HOME/archive-$hash.tz
;;
*)
cache=no
;;
esac
# use "--recursive-unlink" option if GNU tar is found
if tar --version | grep GNU > /dev/null
then
tar="tar --recursive-unlink"
elif gtar --version | grep GNU > /dev/null
then
tar="gtar --recursive-unlink"
else
tar=tar
fi
sed 's/^ *//' << END >> $GITHUB_OUTPUT
cache=$cache
archive=$archive
key=$key
tar=$tar
END

- id: cache
if: steps.setup.outputs.cache != 'no'
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ${{ steps.setup.outputs.archive }}
key: ${{ steps.setup.outputs.key }}

- id: extract
if: steps.setup.outputs.cache != 'no' && steps.cache.outputs.cache-hit == 'true'
shell: bash
run: |
: extract
archive="${{ steps.setup.outputs.archive }}"
verbose="${{ inputs.verbose }}"
tar="${{ steps.setup.outputs.tar }}"
ls -l $archive
if [ -s $archive ]
then
opt=-Pxz
[[ $verbose == yes || $verbose == true ]] && opt+=v
sudo $tar -C / $opt -f $archive
else
echo "$archive is empty"
fi

- id: install-and-archive
if: steps.cache.outputs.cache-hit != 'true'
uses: tecolicom/actions-install-and-archive@9d5afb27f9900f2df47fe40de58fbd837032bddf # v1.3
with:
run: ${{ inputs.run }}
archive: ${{ steps.setup.outputs.archive }}
path: ${{ inputs.path }}
sudo: ${{ inputs.sudo }}
43 changes: 43 additions & 0 deletions .github/actions/pr-title-validator/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: 'PR Title Validator'
description: 'Validates a pull request title against a regex pattern'

inputs:
regex:
description: 'Regular expression the PR title must match'
required: true
breaking-change-regex:
description: 'Regex to use instead when the breaking-change label is present'
required: false
default: ''
labels:
description: 'JSON array of label names on the PR'
required: false
default: '[]'
title:
description: 'PR title to validate. Defaults to github.event.pull_request.title.'
required: false
default: ''

runs:
using: composite
steps:
- name: Validate PR title
shell: bash
env:
PR_TITLE: ${{ inputs.title || github.event.pull_request.title }}
INPUT_REGEX: ${{ inputs.regex }}
BREAKING_REGEX: ${{ inputs.breaking-change-regex }}
LABELS: ${{ inputs.labels }}
run: |
REGEX="$INPUT_REGEX"
if [[ -n "$BREAKING_REGEX" ]] && echo "$LABELS" | jq -e '.[] | select(. == "breaking-change")' > /dev/null 2>&1; then
REGEX="$BREAKING_REGEX"
echo "breaking-change label detected, using breaking change regex."
fi

if [[ "$PR_TITLE" =~ $REGEX ]]; then
echo "PR title matches pattern."
exit 0
fi
echo "::error::PR title \"$PR_TITLE\" does not match pattern: $REGEX"
exit 1
47 changes: 47 additions & 0 deletions .github/actions/use-homebrew-tools/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# This is copied from https://github.com/tecolicom/actions-use-homebrew-tools/
# which is Copyright 2022 Office TECOLI, LLC

name: install-and-cache homebrew tools
description: 'GitHub Action to install and cache homebrew tools'
branding:
color: orange
icon: type

inputs:
tools: { required: false, type: string }
key: { required: false, type: string }
path: { required: false, type: string }
cache: { required: false, type: string, default: yes }
verbose: { required: false, type: boolean, default: false }

outputs:
cache-hit:
value: ${{ steps.update.outputs.cache-hit }}

runs:
using: composite
steps:

- id: setup
shell: bash
run: |
: setup use-homebrew-tools
given_key="${{ inputs.key }}"
brew_version="$(brew --version)"
echo "$brew_version"
version_key="$( echo "$brew_version" | (md5sum||md5) | awk '{print $1}' )"
key="${given_key:+$given_key-}${version_key}"
sed 's/^ *//' << END >> $GITHUB_OUTPUT
command=brew install
prefix=$(brew --prefix)
key=$key
END

- id: update
uses: ./.github/actions/install-and-cache
with:
run: ${{ steps.setup.outputs.command }} ${{ inputs.tools }}
path: ${{ steps.setup.outputs.prefix }} ${{ inputs.path }}
key: ${{ steps.setup.outputs.key }}
cache: ${{ inputs.cache }}
verbose: ${{ inputs.verbose }}
46 changes: 0 additions & 46 deletions .github/pull_request_template.md

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/auto-assign-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ jobs:
assign-author:
runs-on: ubuntu-latest
steps:
- uses: toshimaru/auto-author-assign@v2.1.1
- uses: toshimaru/auto-author-assign@16f0022cf3d7970c106d8d1105f75a1165edb516 # v2.1.1
82 changes: 82 additions & 0 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# issue_comment is used here to trigger on PR comments, as opposed to pull_request_review
# (review submissions) or pull_request_review_comment (comments on the diff itself)
# we want to trigger this on comment creation or edit
on:
issue_comment:
types: [created, edited]
name: Benchmarking PR performance
jobs:
run-benchmark:
name: Run benchmarks
if: >
github.event.issue.pull_request &&
(github.event.comment.body == '/bench' || startsWith(github.event.comment.body, '/bench '))
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
pr_number: ${{ steps.pr.outputs.pr_number }}
steps:
- name: Get PR metadata
id: pr
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.issue.number }}
run: |
PR_DATA=$(gh api "repos/$REPO/pulls/$PR_NUMBER")
HEAD_SHA=$(echo "$PR_DATA" | jq -r .head.sha)
BASE_REF=$(echo "$PR_DATA" | jq -r .base.ref)
[[ "$HEAD_SHA" == *$'\n'* || "$BASE_REF" == *$'\n'* ]] && { echo "Unexpected newline in API response" >&2; exit 1; }
[[ "$BASE_REF" =~ ^[a-zA-Z0-9/_.-]+$ ]] || { echo "Invalid BASE_REF: $BASE_REF" >&2; exit 1; }
printf 'head_sha=%s\n' "$HEAD_SHA" >> "$GITHUB_OUTPUT"
printf 'base_ref=%s\n' "$BASE_REF" >> "$GITHUB_OUTPUT"
printf 'pr_number=%s\n' "$PR_NUMBER" >> "$GITHUB_OUTPUT"
- name: Install critcmp
# Installed before checkout so the PR's .cargo/config.toml cannot
# redirect the registry to a malicious source. The runner's
# pre-installed Rust is sufficient -- no toolchain setup needed here.
# --locked is omitted for cargo install (same exemption as cargo miri
# setup); --version pins the top-level crate.
run: cargo install critcmp --version 0.1.8
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
ref: ${{ steps.pr.outputs.head_sha }}
- uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1.15.4
with:
cache: false
# See build.yml top-level comment for why save-if is restricted to main.
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
with:
save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
- name: Run benchmarks
# The comment is posted in the post-comment job after this job completes.
env:
COMMENT: ${{ github.event.comment.body }}
BASE_REF: ${{ steps.pr.outputs.base_ref }}
HEAD_SHA: ${{ steps.pr.outputs.head_sha }}
run: bash benchmarks/ci/run-benchmarks.sh
- name: Upload benchmark comment
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: bench-comment
path: /tmp/bench-comment.md

post-comment:
name: Post benchmark results
needs: run-benchmark
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: Download benchmark comment
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: bench-comment
path: /tmp/
- name: Post results as PR comment
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ needs.run-benchmark.outputs.pr_number }}
REPO: ${{ github.repository }}
run: gh pr comment "$PR_NUMBER" --repo "$REPO" --body-file /tmp/bench-comment.md
Loading
Loading