What's Changed
- Build: Bump mkdocstrings from 0.28.1 to 0.28.2 by @dependabot[bot] in #1723
- Build: Bump mkdocstrings-python from 1.16.1 to 1.16.2 by @dependabot[bot] in #1729
- Remove unused argument by @Fokko in #1734
- Build: Bump pyspark from 3.5.3 to 3.5.5 by @dependabot[bot] in #1740
- parallelize
add_files
by @vtk9 in #1717 - Fix: REST Catalog should retry on 401 status code by @sungwy in #1741
- Build: Bump pypa/cibuildwheel from 2.22.0 to 2.23.0 by @dependabot[bot] in #1752
- Build: Bump polars from 1.23.0 to 1.24.0 by @dependabot[bot] in #1753
- Build: Bump griffe from 1.5.7 to 1.6.0 by @dependabot[bot] in #1754
- Build: Bump boto3 from 1.36.23 to 1.37.1 by @dependabot[bot] in #1755
- Build: Bump moto from 5.1.0 to 5.1.1 by @dependabot[bot] in #1756
- Support
string_view
andbinary_view
by @Fokko in #1748 - Build: Bump mkdocs-material from 9.6.5 to 9.6.7 by @dependabot[bot] in #1757
- fix adlss properties processing by @ms32035 in #1732
- Small docstring fix by @b-phi in #1762
- CI: Limit parallelism by @Fokko in #1764
- Fix:
SqlCatalog
list_namespaces() should return only sub-namespaces by @alessandro-nori in #1629 - Inject columns of proper length for missing fields by @lidavidm in #1767
- Build: Bump jinja2 from 3.1.5 to 3.1.6 by @dependabot[bot] in #1769
- 0.9.0 post release by @kevinjqliu in #1773
- Build: Bump mkdocstrings from 0.28.2 to 0.29.0 by @dependabot[bot] in #1781
- Fix strict projection for
string
andbinary
by @Fokko in #1774 - Build: Bump getdaft from 0.4.4 to 0.4.7 by @dependabot[bot] in #1780
- Build: Bump mkdocs-autorefs from 1.4.0 to 1.4.1 by @dependabot[bot] in #1782
- Build: Bump sqlalchemy from 2.0.38 to 2.0.39 by @dependabot[bot] in #1787
- Build: Bump mkdocstrings-python from 1.16.2 to 1.16.5 by @dependabot[bot] in #1786
- feat: Add unknown type by @kaushiksrini in #1681
- Build: Bump mkdocs-material from 9.6.7 to 9.6.8 by @dependabot[bot] in #1792
- Build: Bump duckdb from 1.2.0 to 1.2.1 by @dependabot[bot] in #1793
- Build: Bump polars from 1.24.0 to 1.25.0 by @dependabot[bot] in #1794
- Build: Bump mypy-boto3-glue from 1.37.0 to 1.37.13 by @dependabot[bot] in #1795
- Bump version to 0.10.0 by @Fokko in #1791
- Add pull-request template by @Fokko in #1777
- Build: Bump coverage from 7.6.12 to 7.7.0 by @dependabot[bot] in #1803
- Build: Bump polars from 1.25.0 to 1.25.2 by @dependabot[bot] in #1802
- Build: Bump mkdocs-material from 9.6.8 to 9.6.9 by @dependabot[bot] in #1801
- Build: Bump pypa/cibuildwheel from 2.23.0 to 2.23.1 by @dependabot[bot] in #1800
- Include DELETE entries when inspecting by @Fokko in #1731
- Build: Bump mkdocstrings-python from 1.16.5 to 1.16.6 by @dependabot[bot] in #1811
- Build: Bump griffe from 1.6.0 to 1.6.1 by @dependabot[bot] in #1814
- Build: Bump pre-commit from 4.1.0 to 4.2.0 by @dependabot[bot] in #1813
- Build: Bump mkdocs-literate-nav from 0.6.1 to 0.6.2 by @dependabot[bot] in #1812
- Upsert: Don't produce empty snapshots by @Fokko in #1810
- Add JSON single value encoding by @Fokko in #1805
- Build: Bump griffe from 1.6.1 to 1.6.2 by @dependabot[bot] in #1823
- Build: Bump mkdocstrings-python from 1.16.6 to 1.16.7 by @dependabot[bot] in #1824
- Build: Bump coverage from 7.7.0 to 7.7.1 by @dependabot[bot] in #1827
- Build: Bump getdaft from 0.4.7 to 0.4.8 by @dependabot[bot] in #1826
- V3: Introduce
timestamp_ns
andtimestamptz_ns
by @sungwy in #1632 - Support Filters on Top-Level Struct Fields by @srilman in #1832
- Nit: Introduce
S3_SIGNER
constant property by @smaheshwar-pltr in #1837 - Build: Bump mkdocstrings-python from 1.16.7 to 1.16.8 by @dependabot[bot] in #1844
- Build: Bump pypa/cibuildwheel from 2.23.1 to 2.23.2 by @dependabot[bot] in #1841
- Build: Bump polars from 1.25.2 to 1.26.0 by @dependabot[bot] in #1842
- Build: Bump pyparsing from 3.2.1 to 3.2.2 by @dependabot[bot] in #1843
- REST: Delegate parsing to Pydantic by @Fokko in #1847
- nit: Clean up import in
conftest.py
by @Fokko in #1848 - [infra] run dependabot check weekly by @kevinjqliu in #1850
- Build: Bump griffe from 1.6.2 to 1.6.3 by @dependabot[bot] in #1855
- Build: Bump pyparsing from 3.2.2 to 3.2.3 by @dependabot[bot] in #1854
- Deletion Vectors read support by @Fokko in #1516
- Arrow: Infer the types when reading by @Fokko in #1669
- Clean up import in test_schema.py by @sunxiaojian in #1858
- Fix naming by @Fokko in #1857
- Pass data type as string representation to
NestedField
by @sunxiaojian in #1860 - Use a balanced tree instead of unbalanced one to prevent recursion error in create_match_filter by @koenvo in #1830
- Fix decimal physicial type mapping by @redpheonixx in #1839
- fix
upsert
with null values by @kevinjqliu in #1861 - Build: Bump mkdocs-material from 9.6.9 to 9.6.10 by @dependabot[bot] in #1875
- Build: Bump sqlalchemy from 2.0.39 to 2.0.40 by @dependabot[bot] in #1874
- Build: Bump griffe from 1.6.3 to 1.7.1 by @dependabot[bot] in #1873
- Build: Bump datafusion from 45.2.0 to 46.0.0 by @dependabot[bot] in #1872
- Build: Bump coverage from 7.7.1 to 7.8.0 by @dependabot[bot] in #1870
- Build: Bump mkdocstrings from 0.29.0 to 0.29.1 by @dependabot[bot] in #1871
- Set field-id when needed by @Fokko in #1867
- Build: Bump rich from 13.9.4 to 14.0.0 by @dependabot[bot] in #1868
- Fix creation of Bucket Transforms with pydantic>=2.11.0 by @b-rick in #1881
- Build: Bump pydantic from 2.10.6 to 2.11.1 by @dependabot[bot] in #1869
- Add support for
Transaction.update_statistics()
by @srilman in #1831 - Support quoted column identifiers for scan
row_filter
string argument by @norton120 in #1863 - Build: Bump typing-extensions from 4.12.2 to 4.13.1 by @dependabot[bot] in #1897
- Build: Bump tenacity from 9.0.0 to 9.1.2 by @dependabot[bot] in #1896
- Build: Bump mypy-boto3-glue from 1.37.13 to 1.37.29 by @dependabot[bot] in #1892
- Build: Bump getdaft from 0.4.8 to 0.4.9 by @dependabot[bot] in #1890
- CI: Use Java 1.9.0-SNAPSHOT for testing by @Fokko in #1899
- Build: Bump moto from 5.1.1 to 5.1.3 by @dependabot[bot] in #1889
- Build: Bump mkdocs-material from 9.6.10 to 9.6.11 by @dependabot[bot] in #1891
- Build: Bump mkdocs-section-index from 0.3.9 to 0.3.10 by @dependabot[bot] in #1895
- Build: Bump griffe from 1.7.1 to 1.7.2 by @dependabot[bot] in #1894
- Build: Bump mkdocstrings-python from 1.16.8 to 1.16.10 by @dependabot[bot] in #1893
- Temporary fix for Arrow issue 46057 by @koenvo in #1901
- Bump Snapshot versions by @Fokko in #1907
- Build: Bump duckdb from 1.2.1 to 1.2.2 by @dependabot[bot] in #1916
- Introduce AuthManager by @sungwy in #1908
- Build: Bump typing-extensions from 4.13.1 to 4.13.2 by @dependabot[bot] in #1911
- Build: Bump polars from 1.26.0 to 1.27.1 by @dependabot[bot] in #1912
- Build: Bump pydantic from 2.11.2 to 2.11.3 by @dependabot[bot] in #1913
- Build: Bump getdaft from 0.4.9 to 0.4.10 by @dependabot[bot] in #1914
- Build: Bump mypy-boto3-glue from 1.37.29 to 1.37.31 by @dependabot[bot] in #1915
- Ignore duckdb test by @Fokko in #1918
- Fix
add_files
with non-identity transforms by @Fokko in #1925 - Fix thrift client connection for Kerberos Hive Client by @kevinjqliu in #1747
- Fix the snapshot summary of a partial overwrite by @Fokko in #1879
- Fix for metadata entries table for MOR tables containing Delete Files. by @guptaakashdeep in #1902
- Revert ignore duckdb test by @kevinjqliu in #1927
- Use version-hint.text for StaticTable by @arnaudbriche in #1887
- Fixed force_virtual_addressing problem by @helmiazizm in #1923
- Added feature to cast valid float and double string to float and doub… by @guptaakashdeep in #1933
- Refactor
Metadata
inTransaction
by @Fokko in #1903 - Changes to support string transform in add_field. by @guptaakashdeep in #1936
- Adds support for creating a GlueCatalog with own client by @rchowell in #1920
- Build: Bump moto from 5.1.3 to 5.1.4 by @dependabot[bot] in #1944
- Build: Bump mkdocs-material from 9.6.11 to 9.6.12 by @dependabot[bot] in #1943
- Make
Record
purely position based by @Fokko in #1768 - Fix kerberized hive client by @kevinjqliu in #1941
- [infra] update poetry to v2.1.1 by @kevinjqliu in #1945
- Update-schema: Add support for
initial-default
by @Fokko in #1770 - Fallback for upsert when arrow cannot compare source rows with target rows by @koenvo in #1878
- CI: Bump to Iceberg 1.9.0 by @Fokko in #1951
- refactor partition_summary_limit into SnapshotSummaryCollector constr… by @yingjianwu98 in #1940
- Build: Bump griffe from 1.7.2 to 1.7.3 by @dependabot[bot] in #1954
- Build: Bump pypa/cibuildwheel from 2.23.2 to 2.23.3 by @dependabot[bot] in #1953
- Build: Bump polars from 1.27.1 to 1.28.1 by @dependabot[bot] in #1955
- Build: Bump mypy-boto3-glue from 1.37.31 to 1.38.0 by @dependabot[bot] in #1956
- feat:
validation_history
andancestors_between
by @jayceslesar in #1935 - Reorder
validation_history
parameters to be more idiomatic by @sungwy in #1959 - Build: Bump pydantic from 2.11.3 to 2.11.4 by @dependabot[bot] in #1967
- Build: Bump boto3 from 1.37.1 to 1.37.3 by @dependabot[bot] in #1970
- Build: Bump getdaft from 0.4.10 to 0.4.13 by @dependabot[bot] in #1969
- Build: Bump polars from 1.28.1 to 1.29.0 by @dependabot[bot] in #1968
- Hive: Add DO_NOT_UPDATE_STATS in alter_table by @frankliee in #1966
- Merge python-integration.yml into python-ci.yml by @petern48 in #1963
- Remove
row-lineage
field in V3 metadata by @smaheshwar-pltr in #1975 - fix: raise precise exception in rest_catalog list_namespaces by @alessandro-nori in #1977
- [Docs] Improve contributing docs by @petern48 in #1965
- Build: Decouple setup and exec in integration tests for better flexibility by @frankliee in #1985
- Build: Bump pyarrow from 19.0.1 to 20.0.0 by @dependabot[bot] in #1957
- Write small decimals as INTs by @Fokko in #1983
- Build: Bump mkdocs-material from 9.6.12 to 9.6.13 by @dependabot[bot] in #1993
- Build: Bump getdaft from 0.4.13 to 0.4.14 by @dependabot[bot] in #1991
- Build: Bump mypy-boto3-glue from 1.38.0 to 1.38.12 by @dependabot[bot] in #1990
- Build: Bump pyroaring from 1.0.0 to 1.0.1 by @dependabot[bot] in #1992
- Add all filles metadata tables by @soumya-ghosh in #1626
- Move implementation of upsert from Table to Transaction by @koenvo in #1817
- Try setting the IP for the integration tests by @Fokko in #2000
- Add
snapshot-loading-mode
option to RESTCatalog by @Fokko in #1998 - Build: Bump flask from 3.1.0 to 3.1.1 by @dependabot[bot] in #1999
- fix: Remote signing with table specific s3.signer.endpoint by @c-thiel in #2005
- Add tests for optimistic concurrency by @Fokko in #1962
- Add 0.9.1 to the bug-report dropdown by @Fokko in #2006
- Replace Deprecated (Current) OAuth2 Handling with AuthManager Implementation
LegacyOAuth2AuthManager
by @sungwy in #1981 - Add Hugging Face filesystem support to fsspec by @lhoestq in #1997
- Build: Bump flask-cors from 5.0.1 to 6.0.0 by @dependabot[bot] in #2012
- Add ADLFS property adls.account-host by @vsdsantos in #2016
- Build: Bump setuptools from 78.1.0 to 78.1.1 by @dependabot[bot] in #2027
- Build: Bump fastavro from 1.10.0 to 1.11.1 by @dependabot[bot] in #2026
- Build: Bump sqlalchemy from 2.0.40 to 2.0.41 by @dependabot[bot] in #2025
- Build: Bump getdaft from 0.4.14 to 0.4.15 by @dependabot[bot] in #2023
- Build: Bump mypy-boto3-glue from 1.38.12 to 1.38.18 by @dependabot[bot] in #2021
- Build: Bump huggingface-hub from 0.31.2 to 0.31.4 by @dependabot[bot] in #2020
- feat:
validate_deleted_data_files
by @jayceslesar in #1938 - Build: Bump mkdocs-material from 9.6.13 to 9.6.14 by @dependabot[bot] in #2024
- Build: Bump cython from 3.0.12 to 3.1.1 by @dependabot[bot] in #2022
- Fix the CI by @Fokko in #2049
- Build: Bump mypy-boto3-glue from 1.38.18 to 1.38.22 by @dependabot[bot] in #2038
- Build: Bump moto from 5.1.4 to 5.1.5 by @dependabot[bot] in #2039
- Build: Bump pytest-mock from 3.14.0 to 3.14.1 by @dependabot[bot] in #2040
- Build: Bump getdaft from 0.4.15 to 0.4.16 by @dependabot[bot] in #2042
- Build: Bump pydantic from 2.11.4 to 2.11.5 by @dependabot[bot] in #2045
- Build: Bump coverage from 7.8.0 to 7.8.2 by @dependabot[bot] in #2047
- Build: Bump huggingface-hub from 0.31.4 to 0.32.1 by @dependabot[bot] in #2046
- Build: Bump thrift from 0.21.0 to 0.22.0 by @dependabot[bot] in #2043
- Build: Bump mkdocstrings-python from 1.16.10 to 1.16.11 by @dependabot[bot] in #2044
- Build: Bump mkdocs-autorefs from 1.4.1 to 1.4.2 by @dependabot[bot] in #2048
- Build: Bump cachetools from 5.5.2 to 6.0.0 by @dependabot[bot] in #2041
- Add .vscode folder to .gitignore file by @rambleraptor in #2053
- Make
validation_history
private before release by @sungwy in #2054 - Build: Bump datafusion from 46.0.0 to 47.0.0 by @dependabot[bot] in #2063
- Build: Bump huggingface-hub from 0.32.2 to 0.32.3 by @dependabot[bot] in #2061
- Build: Bump getdaft from 0.4.16 to 0.4.18 by @dependabot[bot] in #2060
- Build: Bump pyspark from 3.5.5 to 3.5.6 by @dependabot[bot] in #2062
- Leverage Iceberg-Rust for all the transforms by @Fokko in #1833
- Build: Bump cython from 3.1.1 to 3.1.2 by @dependabot[bot] in #2081
- Build: Bump huggingface-hub from 0.32.3 to 0.32.4 by @dependabot[bot] in #2077
- Build: Bump requests from 2.32.3 to 2.32.4 by @dependabot[bot] in #2078
- Build: Bump duckdb from 1.2.2 to 1.3.0 by @dependabot[bot] in #2080
- Build: Bump pandas from 2.2.3 to 2.3.0 by @dependabot[bot] in #2079
- Build: Bump mkdocstrings-python from 1.16.11 to 1.16.12 by @dependabot[bot] in #2076
- Robustify boto3 session handling (DynamoDB, RestCatalog) by @jayceslesar in #2071
- chore: remove non-test asserts by @jayceslesar in #2082
- fix: glue drop_namespace to check non-iceberg tables by @geruh in #2083
- Add v3 structs by @b-phi in #2065
- Add Avro compression by @Fokko in #1976
- maint: let requests handle params formatting by @jayceslesar in #2086
- Bump Ruff to the latest version by @Fokko in #2073
- Bump mypy in pre-commit by @Fokko in #2074
- feat: support listing known catalogs by @Anton-Tarazi in #2088
- fix: add metadata_properties to _construct_parameters when update hive table by @kadai0308 in #2013
- change catalog default warehouse location to not use hive-style warehouse location by @kevinjqliu in #2059
- Bump PyIceberg to 0.9.1 by @Fokko in #2092
- Bump tests to Spark 3.5.6 by @Fokko in #2091
- Bump Iceberg-Java to 1.9.1 by @Fokko in #2093
- maint: use
URI
constant instead of 'uri' strings by @jayceslesar in #2094 - Build: Bump pypa/cibuildwheel from 2.23.3 to 3.0.0 by @dependabot[bot] in #2099
- Build: Bump moto from 5.1.5 to 5.1.6 by @dependabot[bot] in #2100
- Build: Bump cachetools from 5.5.2 to 6.1.0 by @dependabot[bot] in #2101
- Build: Bump huggingface-hub from 0.32.5 to 0.33.0 by @dependabot[bot] in #2103
- Build: Bump typing-extensions from 4.13.2 to 4.14.0 by @dependabot[bot] in #2104
- Build: Bump duckdb from 1.3.0 to 1.3.1 by @dependabot[bot] in #2105
- Build: Bump boto3 from 1.37.3 to 1.38.27 by @dependabot[bot] in #2108
- Build: Bump pydantic from 2.11.5 to 2.11.7 by @dependabot[bot] in #2107
- Build: Bump coverage from 7.8.2 to 7.9.1 by @dependabot[bot] in #2106
- Docs: fix manifest min count to merge description by @ThomasDsantos in #2116
- Prefer
FileIO
over the PyArrowFileSystem
by @Fokko in #2115 - Added ExpireSnapshots Feature by @ForeverAngry in #1880
- Build: Bump third party deps by @Fokko in #2127
- Support ADLS with Pyarrow file IO by @NikitaMatskevich in #2111
- Improve upsert memory pressure by @koenvo in #1995
- fix: correct type mismatch in avro zstd decompression. by @zhongyujiang in #2128
- Expose S3 retry strategy by @Fokko in #2110
- Refactor
Makefile
and run s3/adls/gcs integration tests in CI by @kevinjqliu in #2125 - perf: optimize
table.add_files
andinspect.files
by @jayceslesar in #2133 - Run
test_create_table_transaction
for Rest V1 tables by @Fokko in #2137 - Add warehouse parameter to the REST Catalog doc by @elca-anh in #2066
- Build: Bump mypy-boto3-glue from 1.38.22 to 1.38.42 by @dependabot[bot] in #2144
- test: use
create or replace
by @kevinjqliu in #2140 - fix config test when running locally by @kevinjqliu in #2113
- validate added data files for snapshot compatibility by @kaushiksrini in #2050
- Add
hive.kerberos-service-name
configuration option (#2032) by @gardenia in #2141 - Relax REST client
/v1/config
response constraints by @ccancellieri in #2148 - dep: update
multidict
, previous version yanked by @kevinjqliu in #2157 - Build: Bump mypy-boto3-dynamodb from 1.38.4 to 1.39.0 by @dependabot[bot] in #2163
- Build: Bump mypy-boto3-glue from 1.38.42 to 1.39.0 by @dependabot[bot] in #2164
- Build: Bump huggingface-hub from 0.33.0 to 0.33.1 by @dependabot[bot] in #2165
- Build: Bump pyroaring from 1.0.1 to 1.0.2 by @dependabot[bot] in #2162
- Feature: Write to branches by @vinjai in #941
- Hive: update hive storage descriptor after commit schema change by @frankliee in #2036
- fix: add metadata_properties to _construct_parameters when updating glue table by @summermousa-vendia in #2097
- Documented
row_filter
expressions by @norton120 in #1862 - Fix the CI by @Fokko in #2171
- add iceberg datafusion integration by @kevinjqliu in #2075
- Cleanup in
expression-dsl.md
by @Fokko in #2168 - Docs: Condens Python API docs by @Fokko in #2139
- feat: add support for setting and removing table properties on console by @blinkseb in #2153
- Build: Bump typing-extensions from 4.14.0 to 4.14.1 by @dependabot[bot] in #2183
- Build: Bump coverage from 7.9.1 to 7.9.2 by @dependabot[bot] in #2185
- Build: Bump moto from 5.1.6 to 5.1.8 by @dependabot[bot] in #2182
- Build: Bump pypa/cibuildwheel from 3.0.0 to 3.0.1 by @dependabot[bot] in #2186
- Build: Bump pandas from 2.3.0 to 2.3.1 by @dependabot[bot] in #2181
- Build: Bump huggingface-hub from 0.33.1 to 0.33.2 by @dependabot[bot] in #2184
- Build: Bump mkdocs-material from 9.6.14 to 9.6.15 by @dependabot[bot] in #2187
- dev integration: add pyiceberg[pyarrow] to Dockerfile to resolve missing pyarrow import error by @kevinjqliu in #2174
- Update schema projection to support
initial-defaults
by @Fokko in #1644 - Improve Docs for IRC Catalog Connection by @james5418 in #2175
- docs: add ugi back to hive catalog config by @kevinjqliu in #2188
- Fix UUID support by @Fokko in #2007
- Partition statistics metadata reading by @Fokko in #2146
- update daft links by @ccmao1130 in #2169
- Nit: Make
DataScan::_check_sequence_number
static by @smaheshwar-pltr in #2196 - Nit: Clean up comments in
DataScan::_build_residual_evaluator
by @smaheshwar-pltr in #2197 - chore: specify test paths to integrate with vscode testing extension by @dingo4dev in #2194
- feat: add schema conversion from avro
timestamp-millis
anduuid
by @matthias-Q in #2173 - Add RemovePartitionStatisticsUpdate and SetPartitionStatisticsUpdate by @rambleraptor in #2192
- add PARTITION_SUMMARY_PROP by @gtrettenero in #2202
- Build: Bump duckdb from 1.3.1 to 1.3.2 by @dependabot[bot] in #2208
- Build: Bump huggingface-hub from 0.33.2 to 0.33.4 by @dependabot[bot] in #2210
- Build: Bump daft from 0.5.8 to 0.5.10 by @dependabot[bot] in #2211
- Build: Bump datafusion from 47.0.0 to 48.0.0 by @dependabot[bot] in #2207
- Add support for Bodo DataFrame by @ehsantn in #2167
- Fix support for writing to nested field partition by @geruh in #2204
- Fix
TableScan.update
to exclude cached properties by @smaheshwar-pltr in #2178 - add a
Makefile
tovendor/
by @kevinjqliu in #2218 - Add import check for optional dependency on pyiceberg_core by @andersbogsnes in #2221
- maint: common catalog integration test suite by @jayceslesar in #2090
- Build: Bump mypy-boto3-glue from 1.39.0 to 1.39.7 by @dependabot[bot] in #2229
- Build: Bump daft from 0.5.10 to 0.5.11 by @dependabot[bot] in #2228
- Build: Bump boto3 from 1.38.27 to 1.38.46 by @dependabot[bot] in #2227
- Avoid local Mac issues for test_bodo_nan by @ehsantn in #2237
- Add Column Name to the Error Message in StatsAggregator by @james5418 in #2190
- revert avro timestamp-millis mapping by @kevinjqliu in #2223
- Add Support for Custom AuthManager implementation by @sungwy in #2055
- [docs] Include link to Iceberg Dev Events in docs by @rambleraptor in #2253
- BUG: Snappy checksum check by @JacobSMoller in #2252
- Remove PyArrow version upper bound and update lockfile by @ehsantn in #2262
- CI: Disable caching by @Fokko in #2268
- Bump Poetry to 2.1.3 by @Fokko in #2267
- Avro: Fix tests and add missing
content
header by @Fokko in #2265 - Clear updates/requirements after commit by @Fokko in #1961
- Adding support for Google AuthManager by @rambleraptor in #2072
- Build: Bump deptry from 0.23.0 to 0.23.1 by @dependabot[bot] in #2273
- Build: Bump mypy-boto3-glue from 1.39.12 to 1.40.0 by @dependabot[bot] in #2274
- Build: Bump coverage from 7.10.1 to 7.10.2 by @dependabot[bot] in #2276
- Build: Bump fastavro from 1.11.1 to 1.12.0 by @dependabot[bot] in #2277
- Build: Bump docutils from 0.21.2 to 0.22 by @dependabot[bot] in #2278
- Build: Bump polars from 1.31.0 to 1.32.0 by @dependabot[bot] in #2279
- Build: Bump daft from 0.5.14 to 0.5.16 by @dependabot[bot] in #2281
- Build: Bump mkdocstrings from 0.29.1 to 0.30.0 by @dependabot[bot] in #2282
- [Append Scan] Add
__eq__
and__hash__
methods toManifestFile
by @smaheshwar-pltr in #2233 - Fix projected fields predicate evaluation by @Erigara in #2029
- Build: Bump mypy-boto3-dynamodb from 1.39.0 to 1.40.0 by @dependabot[bot] in #2283
- Build: Bump pypa/cibuildwheel from 3.0.1 to 3.1.3 by @dependabot[bot] in #2285
- Build: Bump griffe from 1.7.3 to 1.9.0 by @dependabot[bot] in #2280
- Remove unused
AddFileTask
by @Fokko in #2284 - Build: Bump mkdocs-material from 9.6.15 to 9.6.16 by @dependabot[bot] in #2286
- Build: Bump pyiceberg-core from 0.5.1 to 0.6.0 by @dependabot[bot] in #2275
- Bump Iceberg in CI by @Fokko in #2288
- Use
rest
shorthand inconftest.py
by @Fokko in #2289 - Add test for migrated tables by @Fokko in #2290
- fix: sanitize invalid Avro field names in manifest file by @kris-gaudel in #2245
- Convert
_get_column_projection_values
to use Field-IDs by @Fokko in #2293 - Pass in type explicitly for
initial-default
by @Fokko in #2296 - Bump Poetry to 2.1.4 by @Fokko in #2297
- Enable add tests migrated Hive tables by @Fokko in #2295
- Minor cleanup by @Fokko in #2298
- Change repr method to only print if non-None by @rambleraptor in #2287
- Support reading ns from pyarrow by @rambleraptor in #2294
- added support for ADLS_CREDENTIAL by @tbirch-cyber in #2299
- support pyarrow AzureFileSystem parameters (
client_id
,client_secret
,tenant_id
) by @kevinjqliu in #2301 - Build: Bump polars from 1.32.0 to 1.32.2 by @dependabot[bot] in #2320
- Build: Bump pre-commit from 4.2.0 to 4.3.0 by @dependabot[bot] in #2319
- Build: Bump rich from 14.0.0 to 14.1.0 by @dependabot[bot] in #2318
- Build: Bump moto from 5.1.8 to 5.1.10 by @dependabot[bot] in #2317
- Build: Bump boto3 from 1.38.46 to 1.39.11 by @dependabot[bot] in #2316
- Build: Bump huggingface-hub from 0.33.4 to 0.34.4 by @dependabot[bot] in #2315
- Build: Bump mypy-boto3-glue from 1.40.0 to 1.40.5 by @dependabot[bot] in #2313
- Build: Bump daft from 0.5.16 to 0.5.18 by @dependabot[bot] in #2312
- Build: Bump actions/checkout from 4 to 5 by @dependabot[bot] in #2311
- Build: Bump sqlalchemy from 2.0.41 to 2.0.43 by @dependabot[bot] in #2308
- Build: Bump bodo from 2025.7.5 to 2025.8.1 by @dependabot[bot] in #2309
- Build: Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #2310
- Build: Bump coverage from 7.10.2 to 7.10.3 by @dependabot[bot] in #2314
- Build: Bump mmh3 from 5.1.0 to 5.2.0 by @dependabot[bot] in #2321
- Build: Bump griffe from 1.9.0 to 1.11.1 by @dependabot[bot] in #2322
- refactor: consolidate snapshot expiration into MaintenanceTable by @ForeverAngry in #2143
- Document
older_than
of ExpireSnapshots by @Fokko in #2324 - Build: Migrate markdown-link-check GH action by @manuzhang in #2334
- New OAuth2AuthManager by @sungwy in #2244
- Handle stat collection for empty decimal columns by @berg2043 in #2306
- add support to configure anonymous in s3 clients by @gmweaver in #2323
- docs: clarify Parameters for the add_files API by @Xiezhibin in #2249
- fsspec: Support token in ADLS by @kevinjqliu in #2331
- bump adlfs minimum to 2024.7.0 by @kevinjqliu in #2330
- Hive Catalog: Fix bug for renaming table that already exists by @gabeiglio in #2336
- Add between operator by @jtuglu1 in #2335
- Fix: use new snapshot id in deleted manifest entry unless is existing entry by @lliangyu-lin in #2266
- Arrow: Remove check for supported Arrow transforms by @Fokko in #2340
- Build: Bump coverage from 7.10.3 to 7.10.4 by @dependabot[bot] in #2347
- Build: Bump mkdocs-material from 9.6.16 to 9.6.17 by @dependabot[bot] in #2348
- Build: Bump requests from 2.32.4 to 2.32.5 by @dependabot[bot] in #2350
- Build: Bump mypy-boto3-dynamodb from 1.40.0 to 1.40.10 by @dependabot[bot] in #2354
- Build: Bump zstandard from 0.23.0 to 0.24.0 by @dependabot[bot] in #2353
- Build: Bump griffe from 1.11.1 to 1.12.1 by @dependabot[bot] in #2349
- Build: Bump daft from 0.5.18 to 0.5.19 by @dependabot[bot] in #2352
- Build: Bump cython from 3.1.2 to 3.1.3 by @dependabot[bot] in #2351
- Build: Bump polars from 1.32.2 to 1.32.3 by @dependabot[bot] in #2355
- Build: Bump mypy-boto3-glue from 1.40.5 to 1.40.11 by @dependabot[bot] in #2356
- Add the rest of the _convert_schema_if_needed calls by @rambleraptor in #2300
- remove deprecated code for 0.10 release by @kevinjqliu in #2345
- fix: allow reading pyarrow timestamp as iceberg timestamptz by @kevinjqliu in #2333
- REST: Remove spec-version version HTTP header by @Fokko in #2358
- Allow snapshot-id in assert-ref-snapshot-id requirement to serialize to null in json by @ox in #2343
- Bump
pre-commit-hooks
in.pre-commit-config.yaml
file by @ayushjariyal in #2360 - Bump
ruff-pre-commit
in.pre-commit-config.yaml
file by @ayushjariyal in #2362 - Bump
mirrors-mypy
in.pre-commit-config.yaml
file by @ayushjariyal in #2364 - partition field names validation against schema field conflicts by @rutb327 in #2305
- Document null field handling for PyArrow by @kris-gaudel in #2365
- perf: optimize
inspect.partitions
by @emilie-wang in #2359 - Bump
markdownlint-cli
in.pre-commit-config.yaml
file by @ayushjariyal in #2366 - Bump
flynt
in.pre-commit-config.yaml
file by @ayushjariyal in #2370 - Bump
codespell
in.pre-commit-config.yaml
file by @ayushjariyal in #2377 - infra: remove precommit ci by @kevinjqliu in #2379
- Add serializer for AssertRefSnapshotId allowing null json value by @ox in #2375
- Add BigQuery Metastore Catalog by @rambleraptor in #2068
- Build: Bump pypa/cibuildwheel from 3.1.3 to 3.1.4 by @dependabot[bot] in #2381
- Build: Bump mkdocstrings-python from 1.16.12 to 1.17.0 by @dependabot[bot] in #2380
- Build: Bump moto from 5.1.10 to 5.1.11 by @dependabot[bot] in #2386
- Build: Bump typing-extensions from 4.14.1 to 4.15.0 by @dependabot[bot] in #2388
- Build: Bump mypy-boto3-glue from 1.40.11 to 1.40.15 by @dependabot[bot] in #2387
- Build: Bump mkdocs-material from 9.6.17 to 9.6.18 by @dependabot[bot] in #2382
- Build: Bump pandas from 2.3.1 to 2.3.2 by @dependabot[bot] in #2383
- Build: Bump coverage from 7.10.4 to 7.10.5 by @dependabot[bot] in #2389
- Build: Bump mypy-boto3-dynamodb from 1.40.10 to 1.40.14 by @dependabot[bot] in #2385
- Build: Bump daft from 0.5.19 to 0.5.21 by @dependabot[bot] in #2384
- Fix heading levels of subsections of Code standards by @manuzhang in #2393
- docs: improve release docs by @kevinjqliu in #2374
- Add close option by @kris-gaudel in #2390
- use PyArrowFileIO as default for abfs and wasb schemes by @alessandro-nori in #2395
- disable bodo test by @kevinjqliu in #2401
- use anon argument when configuring s3fs.S3FileSystem by @gmweaver in #2392
- V3: Fix invalid downcasting for nanos by @Fokko in #2397
- Fix rest test with ssl_ca_bundle due to conflicts with OS environment by @manuzhang in #2394
- Add
close()
method to RestCatalog by @dingo4dev in #2403 - feat: allow default scheme and netloc for schemeless path by @mccormickt12 in #2291
- implement stageOnly Commit by @yingjianwu98 in #2269
- build: add poetry.lock to sdist by @kevinjqliu in #2405
- Set the ManifestEntryStatus by @Fokko in #2408
New Contributors
- @vtk9 made their first contribution in #1717
- @ms32035 made their first contribution in #1732
- @b-phi made their first contribution in #1762
- @lidavidm made their first contribution in #1767
- @srilman made their first contribution in #1832
- @sunxiaojian made their first contribution in #1858
- @koenvo made their first contribution in #1830
- @redpheonixx made their first contribution in #1839
- @b-rick made their first contribution in #1881
- @norton120 made their first contribution in #1863
- @guptaakashdeep made their first contribution in #1902
- @arnaudbriche made their first contribution in #1887
- @rchowell made their first contribution in #1920
- @petern48 made their first contribution in #1963
- @lhoestq made their first contribution in #1997
- @vsdsantos made their first contribution in #2016
- @rambleraptor made their first contribution in #2053
- @Anton-Tarazi made their first contribution in #2088
- @kadai0308 made their first contribution in #2013
- @ThomasDsantos made their first contribution in #2116
- @ForeverAngry made their first contribution in #1880
- @NikitaMatskevich made their first contribution in #2111
- @zhongyujiang made their first contribution in #2128
- @elca-anh made their first contribution in #2066
- @gardenia made their first contribution in #2141
- @ccancellieri made their first contribution in #2148
- @vinjai made their first contribution in #941
- @blinkseb made their first contribution in #2153
- @james5418 made their first contribution in #2175
- @ccmao1130 made their first contribution in #2169
- @dingo4dev made their first contribution in #2194
- @matthias-Q made their first contribution in #2173
- @gtrettenero made their first contribution in #2202
- @ehsantn made their first contribution in #2167
- @andersbogsnes made their first contribution in #2221
- @JacobSMoller made their first contribution in #2252
- @Erigara made their first contribution in #2029
- @kris-gaudel made their first contribution in #2245
- @tbirch-cyber made their first contribution in #2299
- @berg2043 made their first contribution in #2306
- @gmweaver made their first contribution in #2323
- @Xiezhibin made their first contribution in #2249
- @jtuglu1 made their first contribution in #2335
- @lliangyu-lin made their first contribution in #2266
- @ox made their first contribution in #2343
- @ayushjariyal made their first contribution in #2360
- @rutb327 made their first contribution in #2305
- @emilie-wang made their first contribution in #2359
- @mccormickt12 made their first contribution in #2291
Full Changelog: pyiceberg-0.9.1...pyiceberg-0.10.0