Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
3fe5030
infra: add docs for cleaning up testpypi artifacts (#1855)
kevinjqliu Nov 20, 2025
24932ba
chore(deps): Bump actions/checkout from 5 to 6 (#1883)
dependabot[bot] Nov 24, 2025
18a7577
Update apache-avro to v0.21.0 (#1881)
N-Boutaib Nov 25, 2025
7c2d4c3
docs: Clarify functionality of `SnapshotProduceOperation` (#1874)
jonathanc-n Nov 26, 2025
bf984c7
feat(datafusion): Split IcebergTableProvider into static and non-stat…
CTTY Nov 27, 2025
617be09
infra: use new `del_branch_on_merge` in .asf.yaml (#1888)
kevinjqliu Nov 29, 2025
2871b47
Upgrade opendal to v0.55 (#1895)
dentiny Dec 1, 2025
e20910e
chore(deps): Bump http from 1.3.1 to 1.4.0 (#1892)
dependabot[bot] Dec 1, 2025
a371d82
chore(deps): Bump crate-ci/typos from 1.39.2 to 1.40.0 (#1891)
dependabot[bot] Dec 1, 2025
5724fc5
feat(datafusion): Add `sort_by_partition` to sort the input partition…
CTTY Dec 1, 2025
052feaf
rfc: Modularize `iceberg` Implementations (#1854)
Xuanwo Dec 2, 2025
3d47be5
refactor(writer): Make writer builders non-consuming in build (#1889)
leonzchang Dec 4, 2025
9fa3776
fix: Keep snapshot log on replace (#1896)
c-thiel Dec 5, 2025
7e66ded
chore(deps): Bump actions/stale from 10.1.0 to 10.1.1 (#1908)
dependabot[bot] Dec 7, 2025
c0f9fdc
feat(datafusion): Add sqllogictest for DataFusion INSERT INTO (#1887)
CTTY Dec 8, 2025
84b2ba8
refactor: Drop smol runtime support (#1900)
Xuanwo Dec 8, 2025
5c3c5a2
chore(deps): Bump minijinja from 2.12.0 to 2.13.0 (#1909)
dependabot[bot] Dec 8, 2025
26b9839
chore(deps): Bump uuid from 1.18.1 to 1.19.0 (#1910)
dependabot[bot] Dec 9, 2025
1384a4f
feat(core): Add support for `_file` column (#1824)
gbrgr Dec 9, 2025
d973fef
feat: Make `rest` types public, add documentation (#1901)
c-thiel Dec 9, 2025
d78f656
chore: bump MSRV to 1.88, fix warnings and clippy errors (#1902)
mbutrovich Dec 9, 2025
5f631a5
ci: Make s3tables ready for publish (#1916)
Xuanwo Dec 10, 2025
aaa700d
deps: bump DataFusion to 51, Arrow to 57, pyo to 0.26 (#1899)
mbutrovich Dec 10, 2025
2944ccb
fix: Serialize `split_offsets` as null when empty (#1906)
AndreaBozzo Dec 10, 2025
bdb44ae
feat(catalog): Implement update_table for SqlCatalog (#1911)
lgingerich Dec 10, 2025
2ed0a6f
fix: Respect precision and scale for Decimal128 in value.rs (#1921)
mbutrovich Dec 10, 2025
58bdb9f
fix: restore no-op logic in constants_map for NULL identity-partition…
mbutrovich Dec 11, 2025
16906c1
fix: stack overflow when loading large equality deletes (#1915)
dojiong Dec 11, 2025
c25619d
chore(deps): Bump actions/upload-artifact from 5 to 6 (#1931)
dependabot[bot] Dec 15, 2025
9396171
chore(deps): Bump actions/download-artifact from 6 to 7 (#1932)
dependabot[bot] Dec 15, 2025
36aedc6
Remove wildcard pattern in exhaustive enums (#1925)
lgingerich Dec 15, 2025
26a7606
fix: prioritize delete manifests to prevent scan deadlock (#1937)
dojiong Dec 15, 2025
b047baa
feat: Include statistics for Reserved Fields (#1849)
Fokko Dec 15, 2025
6bda658
Add case-sensitive support for equality deletes in DeleteFilter (#1930)
slfan1989 Dec 16, 2025
d4c4bd4
Bump to version 0.8.0 (#1938)
Xuanwo Dec 16, 2025
b7ba2e8
fix(website): Update expected messages (#1942)
CTTY Dec 18, 2025
a329a3b
feat: Implement shared delete file loading and caching for ArrowReade…
dojiong Dec 22, 2025
de6ffd2
infra: license header check ignore target/ dir (#1954)
kevinjqliu Dec 23, 2025
152aeb6
infra: release script, validate proper ICEBERG_VERSION variable (#1956)
kevinjqliu Dec 23, 2025
bc86d10
refactor(arrow): Rename parameter in delete_filter for clarity (#1955)
robertmu Dec 24, 2025
5dc5764
feat(sqllogictest): use serde derived structs for schedule parsing (#…
AndreaBozzo Dec 25, 2025
99ca196
fix: follow IEEE 754 totalOrder for `float` and `double` (#1959)
Standing-Man Dec 25, 2025
de6a2b9
fix: return proper error rather than persisting error message on snap…
Standing-Man Dec 30, 2025
ef85152
feat(arrow): Convert Arrow schema to Iceberg schema with auto assigne…
CTTY Dec 30, 2025
a405414
fix: MemoryCatalog to return absolute NamespaceIdents (#1970)
eickler Dec 30, 2025
2301352
fix(spec): Include delete file content to V3 manifest (#1979)
CTTY Jan 5, 2026
a321fe5
fix: fix typo check error (#1989)
Standing-Man Jan 5, 2026
4d09ba2
Fix ci audit failure (#1988)
liurenjie1024 Jan 5, 2026
9844638
feat: make FanoutWriter writer configurable (#1962)
Standing-Man Jan 6, 2026
434ab96
fix: Address RUSTSEC-2026-0001 (#1994)
liurenjie1024 Jan 7, 2026
1b9fa3a
chore(deps): Bump reqwest from 0.12.25 to 0.12.28 (#1983)
dependabot[bot] Jan 7, 2026
99461bf
chore(deps): Bump rsa from 0.9.9 to 0.9.10 (#2004)
dependabot[bot] Jan 7, 2026
7f2dda3
Bump to version 0.8.0 Round 2 (#1999)
Xuanwo Jan 7, 2026
6fa8785
feat(datafusion): Apply SortExec when writing in clustered mode (#2005)
CTTY Jan 8, 2026
700e62e
chore(deps): Bump crate-ci/typos from 1.40.0 to 1.41.0 (#1982)
dependabot[bot] Jan 8, 2026
76cdf28
fix: Use correct byte representation for decimal hashing (#1998)
aditya-subrahmanyan Jan 8, 2026
43f1ed8
fix: Reserved sort order ID cannot contain any fields (#1978)
aditya-subrahmanyan Jan 9, 2026
65e3682
feat(datafusion): Add LIMIT pushdown support (#2006)
viirya Jan 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ github:
dismiss_stale_reviews: false

required_linear_history: true
del_branch_on_merge: true
pull_requests:
# auto-delete head branches after being merged
del_branch_on_merge: true
features:
wiki: false
issues: true
Expand Down
11 changes: 11 additions & 0 deletions .cargo/audit.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,15 @@ ignore = [
#
# Introduced by hive_metastore, tracked at https://github.com/cloudwego/pilota/issues/293
"RUSTSEC-2024-0388",
# `paste` is unmaintained; consider using an alternative
#
# Introduced by hive_metastore, tracked at https://github.com/cloudwego/pilota/issues/293
"RUSTSEC-2024-0436",
# `rustls-pemfile` is unmaintained
#
# Introduced by object_store, see https://github.com/apache/arrow-rs-object-store/issues/564
"RUSTSEC-2025-0134",

# Tracked here: https://github.com/paupino/rust-decimal/issues/766
"RUSTSEC-2026-0001",
]
3 changes: 1 addition & 2 deletions .github/workflows/audit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,11 @@ jobs:
security_audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Setup Rust toolchain
uses: ./.github/actions/setup-builder
with:
rust-version: stable
- uses: rustsec/audit-check@v2.0.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
ignore: RUSTSEC-2024-0436
6 changes: 3 additions & 3 deletions .github/workflows/bindings_python_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
check-rust:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Check format
working-directory: "bindings/python"
run: cargo fmt --all -- --check
Expand All @@ -55,7 +55,7 @@ jobs:
check-python:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
with:
version: "0.9.3"
Expand All @@ -81,7 +81,7 @@ jobs:
- macos-latest
- windows-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: 3.12
Expand Down
11 changes: 5 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
- ubuntu-latest
- macos-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- name: Setup Rust toolchain
uses: ./.github/actions/setup-builder
Expand Down Expand Up @@ -101,7 +101,7 @@ jobs:
root-reserve-mb: 10240
temp-reserve-mb: 10240

- uses: actions/checkout@v5
- uses: actions/checkout@v6

- name: Setup Rust toolchain
uses: ./.github/actions/setup-builder
Expand All @@ -126,7 +126,7 @@ jobs:
- macos-latest
- windows-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- name: Setup Rust toolchain
uses: ./.github/actions/setup-builder
Expand All @@ -143,7 +143,6 @@ jobs:
matrix:
test-suite:
- { name: "default", args: "--all-targets --all-features --workspace" }
- { name: "smol", args: "--all-targets --no-default-features --features smol --features storage-all --workspace" }
- { name: "doc", args: "--doc --all-features --workspace" }
name: Unit Tests (${{ matrix.test-suite.name }})
steps:
Expand All @@ -158,7 +157,7 @@ jobs:
root-reserve-mb: 10240
temp-reserve-mb: 10240

- uses: actions/checkout@v5
- uses: actions/checkout@v6

- name: Setup Rust toolchain
uses: ./.github/actions/setup-builder
Expand All @@ -180,7 +179,7 @@ jobs:
name: Verify MSRV
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Install protoc
uses: arduino/setup-protoc@v3
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci_typos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,6 @@ jobs:
env:
FORCE_COLOR: 1
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Check typos
uses: crate-ci/typos@v1.39.2
uses: crate-ci/typos@v1.41.0
3 changes: 2 additions & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,11 @@ jobs:
- "crates/catalog/glue"
- "crates/catalog/hms"
- "crates/catalog/rest"
- "crates/catalog/s3tables"
- "crates/catalog/sql"
- "crates/integrations/datafusion"
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- name: Setup Rust toolchain
uses: ./.github/actions/setup-builder
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release_python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ jobs:
runs-on: ubuntu-latest
needs: [validate-release-tag]
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- name: Install toml-cli
if: ${{ needs.validate-release-tag.outputs.is-rc == 'true' }}
Expand All @@ -107,7 +107,7 @@ jobs:
command: sdist
args: -o dist
- name: Upload sdist
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: wheels-sdist
path: bindings/python/dist
Expand All @@ -128,7 +128,7 @@ jobs:
}
- { os: ubuntu-latest, target: "armv7l" }
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- name: Install toml-cli
if: ${{ needs.validate-release-tag.outputs.is-rc == 'true' }}
Expand Down Expand Up @@ -159,7 +159,7 @@ jobs:
command: build
args: --release -o dist
- name: Upload wheels
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: wheels-${{ matrix.os }}-${{ matrix.target }}
path: bindings/python/dist
Expand All @@ -178,7 +178,7 @@ jobs:

steps:
- name: Download all the dists
uses: actions/download-artifact@v6
uses: actions/download-artifact@v7
with:
pattern: wheels-*
merge-multiple: true
Expand Down
37 changes: 32 additions & 5 deletions .github/workflows/release_python_nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
if: github.repository == 'apache/iceberg-rust' # Only run for apache repo
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- uses: ./.github/actions/overwrite-package-version # Overwrite package version with timestamp
with:
Expand All @@ -56,7 +56,7 @@ jobs:
args: -o dist

- name: Upload sdist
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: wheels-sdist
path: bindings/python/dist
Expand All @@ -78,7 +78,7 @@ jobs:
}
- { os: ubuntu-latest, target: "armv7l" }
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- uses: ./.github/actions/overwrite-package-version # Overwrite package version with timestamp
with:
Expand All @@ -102,7 +102,7 @@ jobs:
args: --release -o dist

- name: Upload wheels
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: wheels-${{ matrix.os }}-${{ matrix.target }}
path: bindings/python/dist
Expand All @@ -120,17 +120,44 @@ jobs:

steps:
- name: Download all the dists
uses: actions/download-artifact@v6
uses: actions/download-artifact@v7
with:
pattern: wheels-*
merge-multiple: true
path: bindings/python/dist
- name: List downloaded artifacts
run: ls -R bindings/python/dist
- name: Publish to TestPyPI
id: publish-testpypi
continue-on-error: true
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
skip-existing: true
packages-dir: bindings/python/dist
verbose: true
- name: Display error message on publish failure
if: steps.publish-testpypi.outcome == 'failure'
run: |
echo "::error::Failed to publish to TestPyPI"
echo ""
echo "⚠️ TestPyPI Publish Failed"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "This may be due to TestPyPI storage limits."
echo "See: https://docs.pypi.org/project-management/storage-limits"
echo ""
echo "To resolve this issue, use the pypi-cleanup utility to clean up old TestPyPI artifacts:"
echo "https://pypi.org/project/pypi-cleanup/"
echo ""
echo " uvx pypi-cleanup --package pyiceberg-core --host https://test.pypi.org/ \\"
echo " --verbose -d 10 --do-it --username <username>"
echo ""
echo "Requirements:"
echo " • Must be a maintainer for pyiceberg-core on TestPyPI"
echo " (https://test.pypi.org/project/pyiceberg-core)"
echo " • Requires TestPyPI password and 2FA"
echo " • ⚠️ ONLY do this for TestPyPI, NOT for production PyPI!"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
exit 1
2 changes: 1 addition & 1 deletion .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
if: github.repository_owner == 'apache'
runs-on: ubuntu-22.04
steps:
- uses: actions/stale@v10.1.0
- uses: actions/stale@v10.1.1
with:
stale-issue-label: 'stale'
exempt-issue-labels: 'not-stale'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/website.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
permissions:
contents: write
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- name: Setup mdBook
uses: peaceiris/actions-mdbook@v2
Expand Down
1 change: 1 addition & 0 deletions .licenserc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ header:
- "**/DEPENDENCIES.*.tsv"
# Release distributions
- "dist/*"
- "target"
- "Cargo.lock"
- "bindings/python/uv.lock"
- ".github/PULL_REQUEST_TEMPLATE.md"
Expand Down
3 changes: 3 additions & 0 deletions .typos.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,8 @@
# specific language governing permissions and limitations
# under the License.

[type.rust]
extend-ignore-identifiers-re = ["^bimap$"]

[files]
extend-exclude = ["**/testdata", "CHANGELOG.md"]
Loading