ITADN
apache/iceberg-python

版本发布 8

pyiceberg-0.11.1
? · 2026-03-03

## What's Changed * fix: Accept all valid http method for IRC's ConfigResponse by @sumanth-manchala in https://github.com/apache/iceberg-python/pull/3010 * fix: add Field alias for SetPartitionStatisticsUpdate.partition_stati… by @shiwk in https://github.com/apache/iceberg-python/pull/3035 * fix: Extract ADLS account_name from URI hostname in FsspecFileIO by @antonlin1 in https://github.com/apache/iceberg-python/pull/3005 * fix ssl deactivation from catalog properties #2985 by @MenelikV in https://github.com/apache/iceberg-python/pull/3012 **Full Changelog**: https://github.com/apache/iceberg-python/compare/pyiceberg-0.11.0...pyiceberg-0.11.1

pyiceberg-0.9.0
? · 2025-03-07

**Full Changelog**: [pyiceberg-0.8.0...pyiceberg-0.9.0](https://github.com/apache/iceberg-python/compare/pyiceberg-0.8.0...pyiceberg-0.9.0) There have been **243** new commits since the last minor release, 0.8.0, including **148** commits from various contributors and **95** from Dependabot. This release features contributions from **63** unique contributors, including **33** first-time contributors. # What's Changed ## New Features - Introduced the capability to perform `UPSERT` operations on their table directly within PyIceberg. - Added support for dynamic overwrites as an optimization when an entire partition is replaced. - Implemented `namespace_exists` functionality for the REST catalog. - Extended the table updates to include new `remove-snapshot-ref` and `remove-snapshot` action - Added `view_exists` method to the REST catalog as a part of the effort to add view support to the REST Catalog. - Implemented support for Alibaba OSS protocol in PyArrowFileIO - Introduced read support for the Iceberg V3 spec. - Added support for Location Providers for tables which includes the `ObjectStoreLocationProvider` and also enables for custom write paths for both data and metadata. - Extended `S3FileIO` operations to allow for cross region read support. - Introduced support to convert Iceberg table scan to `polars` DataFrame and LazyFrame. - Added support for the `all_manifests` metadata table. - Implemented support for writes to bucket partitioned tables. - Added automatic metadata cleanup to iceberg tables via `write.metadata.delete-after-commit.enabled`. - Introduced syntactic sugar for `and` and `or` operations in filters. - Implemented configurable S3 request timeout settings for better performance tuning. - Add support to use `apache/iceberg-rest-fixture` image for integration tests - Introduced support to update table statistics - Add support for Bucket and Truncate transforms utilizing `pyiceberg_core` (`iceberg-rust`) - Add support for column projections from partition metadata - Add support for `ResidualEvaluator` ## Deprecations **Catalog & Table Identifiers** - Parsing catalog-level identifiers in Catalog references is deprecated - Please refer to tables using only their namespace and table name - `Table.identifier` property is deprecated - Use `Table.name()` instead **Expression Parsing** - Parsing expressions with table names is deprecated - Only provide field names in `row_filter` **Configuration Properties** - `rest.authorization-url` property is deprecated - Use `oauth2-server-uri` instead - `gcs.endpoint` property is deprecated - Use `gcs.service.host` instead - Properties starting with `adlfs.` are deprecated - Use properties that start with `adls.` **Table API Changes** - `project_table` is deprecated - Use `ArrowScan.to_table()` instead - Use `ArrowScan.to_record_batches()` instead **Name Mapping** - `NameMapping.find` is deprecated - Use `apply_name_mapping` instead **Table Update Field Removal** - The `initial_change` field has been removed from table updates, affecting: - `AddSchemaUpdate` - `AddPartitionSpecUpdate` - `AddSortOrderUpdate` **Table Class Refactoring** Several table classes have been moved to private classes: - `pyiceberg.table.Move` → `pyiceberg.table.update.schema._Move` - `pyiceberg.table.MoveOperation` → `pyiceberg.table.update.schema._MoveOperation` - `pyiceberg.table.DeleteFiles` → `pyiceberg.table.update.snapshot._DeleteFiles` - `pyiceberg.table.FastAppendFiles` → `pyiceberg.table.update.snapshot._FastAppendFiles` - `pyiceberg.table.MergeAppendFiles` → `pyiceberg.table.update.snapshot._MergeAppendFiles` - `pyiceberg.table.OverwriteFiles` → `pyiceberg.table.update.snapshot._OverwriteFiles` **Table Properties Refactoring** Several constants have been moved to `TableProperties`: - `DEFAULT_MAX_SNAPSHOT_AGE_MS` → `TableProperties.MAX_SNAPSHOT_AGE_MS_DEFAULT` - `DEFAULT_MIN_SNAPSHOTS_TO_KEEP` → `TableProperties.MIN_SNAPSHOTS_TO_KEEP_DEFAULT` ## Documentation Updates - Added documentation for the new `UPSERT` operation support. - Added documentation of the new `LocationProvider` feature. - Improve the `"How to Release"` documentation. - Add documentation linking to community contributing guidelines - Add documentation on nightly build ## Bug Fixes - Fixed `KeyError` in `add_files` for Parquet files missing column stats. - Fixed `Table.scan` case sensitivity handling. - Resolved `TypeError` in `create_match_filter` for composite keys. - Allowed leading underscore in column name used in row filter. - Ensured correct statistics updates by removing redundant `snapshot_id` in `SetStatisticsUpdate`. - Fixed namespace existence check for multi-level namespaces in `SqlCatalog`. - Improved handling of S3 request timeouts. - Fixed `TypeError` in composite key joins. ## Dependencies - Remove `python` 3.13 upper bound restriction - Remove `fsspec` upper bound restriction - Bump `PyArrow` to 19.0.0 ## Infra - Improve and automate release process using github workflow - Add support for testpypi nightly build - Add `codespell` to pre-commit - Replace `pycln` with `ruff` # Commits ## Features - Set default for `SortField`'s `transform` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1347 - Boto Glue standard retry policy with configuration by @mark-major in https://github.com/apache/iceberg-python/pull/1307 - TEST: adopt new rest catalog image and enable tableExists tests by @sungwy in https://github.com/apache/iceberg-python/pull/1389 - Added force virtual addressing configuration for S3, Alibaba OSS protocol to use PyArrowFileIO by @helmiazizm in https://github.com/apache/iceberg-python/pull/1392 - Deserialize NestedField initial-default and write-default Attributes by @paulcichonski in https://github.com/apache/iceberg-python/pull/1432 - Snapshot: Make manifest-list required by @Fokko in https://github.com/apache/iceberg-python/pull/1385 - Implementing namespace_exists function on the REST Catalog by @AhmedNader42 in https://github.com/apache/iceberg-python/pull/1434 - Add Support for Dynamic Overwrite by @jqin61 in https://github.com/apache/iceberg-python/pull/931 - URL-encode partition field names in file locations by @smaheshwar-pltr in https://github.com/apache/iceberg-python/pull/1457 - Fix read from multiple s3 regions by @jiakai-li in https://github.com/apache/iceberg-python/pull/1453 - Nit fixes to URL-encoding of partition field names by @smaheshwar-pltr in https://github.com/apache/iceberg-python/pull/1499 - Support Location Providers by @smaheshwar-pltr in https://github.com/apache/iceberg-python/pull/1452 - Add `all_manifests` metadata table with tests by @soumya-ghosh in https://github.com/apache/iceberg-python/pull/1241 - Use `ObjectStoreLocationProvider` by default by @smaheshwar-pltr in https://github.com/apache/iceberg-python/pull/1509 - Improve `LocationProvider` unit tests by @smaheshwar-pltr in https://github.com/apache/iceberg-python/pull/1511 - Add table statistics by @ndrluis in https://github.com/apache/iceberg-python/pull/1285 - feat: Support Bucket and Truncate transforms on write by @sungwy in https://github.com/apache/iceberg-python/pull/1345 - ADLS: Support Vended Credentials by @Fokko in https://github.com/apache/iceberg-python/pull/1520 - Add V3 read support by @Fokko in https://github.com/apache/iceberg-python/pull/1554 - feat: support datetime objects in literal instantiation by @jayceslesar in https://github.com/apache/iceberg-python/pull/1542 - Make s3.request_timeout configurable by @metadaddy in https://github.com/apache/iceberg-python/pull/1568 - Update annotation with V3 by @Fokko in https://github.com/apache/iceberg-python/pull/1587 - Add `view_exists` method to REST Catalog by @shiv-io in https://github.com/apache/iceberg-python/pull/1242 - Hive metastore register table by @JoniKet in https://github.com/apache/iceberg-python/pull/1580 - Add support for `write.data.path` by @Fokko in https://github.com/apache/iceberg-python/pull/1611 - Accept date in literal by @TennyZhuang in https://github.com/apache/iceberg-python/pull/1618 - Implement column projection by @gabeiglio in https://github.com/apache/iceberg-python/pull/1443 - feat: implement InMemoryCatalog as a subclass of SqlCatalog by @hussein-awala in https://github.com/apache/iceberg-python/pull/1140 - Add base headers in properties to signer_headers by @tom-s-powell in https://github.com/apache/iceberg-python/pull/1610 - Add ResidualVisitor to compute residuals by @tusharchou in https://github.com/apache/iceberg-python/pull/1388 - Implement `write.metadata.delete-after-commit.enabled` to clean up old metadata files by @kaushiksrini in https://github.com/apache/iceberg-python/pull/1607 - feat: search current working directory for config file by @IndexSeek in https://github.com/apache/iceberg-python/pull/1464 - Feat/add support kerberize hivemetastore by @Fokko in https://github.com/apache/iceberg-python/pull/1634 - Added support for Polars DataFrame and LazyFrame by @yigal-rozenberg in https://github.com/apache/iceberg-python/pull/1614 - Filter rows directly from pa.RecordBatch by @gabeiglio in https://github.com/apache/iceberg-python/pull/1621 - Add table upsert support by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1660 - Add support for `write.metadata.path` by @geruh in https://github.com/apache/iceberg-python/pull/1642 - Implement update for `remove-snapshot-ref` action by @grihabor in https://github.com/apache/iceberg-python/pull/1598 - Implement update for `remove-snapshots` action by @grihabor in https://github.com/apache/iceberg-python/pull/1561 - Add syntactic sugar for `and` and `or` operation by @Fokko in https://github.com/apache/iceberg-python/pull/1697 ## Documentations - Improve documentation for "how to release" by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1359 - 0.8.0 post release steps by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1334 - check mkdocs build strict in CI by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1360 - Add instruction for patch release by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1373 - Extend bugfix report by @Fokko in https://github.com/apache/iceberg-python/pull/1380 - docs: Add link to GitHub release notes by @manuzhang in https://github.com/apache/iceberg-python/pull/1394 - docs: Use `load_catalog` instead by @Fokko in https://github.com/apache/iceberg-python/pull/1406 - docs: fixed code example. by @kunnapatt in https://github.com/apache/iceberg-python/pull/1445 - [DOCS] Add RESTCatalog-specific headers table by @EternalDeiwos in https://github.com/apache/iceberg-python/pull/1446 - docs: various spelling fixes by @IndexSeek in https://github.com/apache/iceberg-python/pull/1471 - Change dot notation in add column documentation to tuple by @jeppe-dos in https://github.com/apache/iceberg-python/pull/1433 - docs: Add docstrings for Identifier, Properties, RecursiveDict by @rodrigc in https://github.com/apache/iceberg-python/pull/1530 - Docs: Location Provider Documentation by @smaheshwar-pltr in https://github.com/apache/iceberg-python/pull/1537 - Fix statistics documentation by removing snapshot_id references by @ndrluis in https://github.com/apache/iceberg-python/pull/1570 - [docs] Link community contributing guidelines by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1579 - automate building Release Candidate in github action by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1391 - Add upsert docs by @Fokko in https://github.com/apache/iceberg-python/pull/1665 - [docs] add docs about nightly build by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1670 - Add instruction to install shell plugin to doc by @gabeiglio in https://github.com/apache/iceberg-python/pull/1674 - [docs] update new iceberg catalog link by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1701 - Update docs to reflect default location provider by @geruh in https://github.com/apache/iceberg-python/pull/1724 ## Bug Fixes - use the non-deprecated func to parse identifier by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1326 - Ignore tables without table_type parameters while loading all iceberg table from Glue and Hive catalog by @gitzwz in https://github.com/apache/iceberg-python/pull/1332 - dont override global warning by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1350 - Allow leading underscore in column name used in row filter by @vincenzon in https://github.com/apache/iceberg-python/pull/1358 - fix `KeyError` raised by `add_files` when parquet file doe not have column stats by @binayakd in https://github.com/apache/iceberg-python/pull/1354 - Write `null` when there is no parent-snapshot-id by @Fokko in https://github.com/apache/iceberg-python/pull/1383 - fix warnings from newer versions of dependencies by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1414 - 0.8.1 post release by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1410 - Add `_missing_` to make `FileFormat` case insensitive by @jiakai-li in https://github.com/apache/iceberg-python/pull/1411 - Fix `Table.scan` to enable case sensitive argument by @jiakai-li in https://github.com/apache/iceberg-python/pull/1423 - Update StrictProjection tests by @Fokko in https://github.com/apache/iceberg-python/pull/1422 - fix: field id in name mapping should be optional by @barronw in https://github.com/apache/iceberg-python/pull/1426 - Signer: Make token optional by @Fokko in https://github.com/apache/iceberg-python/pull/1447 - Remove unneeded partitioning by @Fokko in https://github.com/apache/iceberg-python/pull/1417 - Remove deprecation warnings in test by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1416 - Added support for lowercase FileFormat for Issue #1340 by @hgollakota in https://github.com/apache/iceberg-python/pull/1362 - Revert "Add support for lowercase `FileFormat`(#1362)" by @Fokko in https://github.com/apache/iceberg-python/pull/1518 - Modified exception objects being thrown when converting Pyarrow tables by @DevChrisCross in https://github.com/apache/iceberg-python/pull/1498 - Refactor `bucket` transform types by @Fokko in https://github.com/apache/iceberg-python/pull/1562 - Refactor `{year,month,day,hour}` transform by @Fokko in https://github.com/apache/iceberg-python/pull/1563 - PyArrow: Avoid buffer-overflow by avoid doing a sort by @Fokko in https://github.com/apache/iceberg-python/pull/1555 - follow up #1555, bring back tests by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1567 - Remove redundant snapshot_id from SetStatisticsUpdate by @ndrluis in https://github.com/apache/iceberg-python/pull/1566 - Return an empty dict if nan values is not provided by the catalog by @summermousa-vendia in https://github.com/apache/iceberg-python/pull/1575 - Log exception when FileIO import fails by @rshkv in https://github.com/apache/iceberg-python/pull/1578 - Move from `types_extensions` to `types` by @Fokko in https://github.com/apache/iceberg-python/pull/1586 - Test transform function consistency for all transforms by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1573 - fsspec: Remove `botocore` as a module import by @Fokko in https://github.com/apache/iceberg-python/pull/1609 - fix new requirements handling by @ZENOTME in https://github.com/apache/iceberg-python/pull/1631 - Remove `_task_to_table` by @Fokko in https://github.com/apache/iceberg-python/pull/1643 - Upsert: Reuse existing expression to detect rows to be inserted by @Fokko in https://github.com/apache/iceberg-python/pull/1662 - fix: SqlCatalog namespace_exists should work with multi-level namespaces by @alessandro-nori in https://github.com/apache/iceberg-python/pull/1671 - [Bug Fix] Avoid reusing shared metrics evaluator across threads by @rachel88888 in https://github.com/apache/iceberg-python/pull/1664 - AWS: Undeprecate `botocore_session` by @Fokko in https://github.com/apache/iceberg-python/pull/1692 - Fix TypeError in create_match_filter for Composite Keys with Single Unique Condition by @omkenge in https://github.com/apache/iceberg-python/pull/1693 - Raise explicit error when join columns cannot be found by @Fokko in https://github.com/apache/iceberg-python/pull/1698 - Allow upserting into an empty table by @Fokko in https://github.com/apache/iceberg-python/pull/1699 - Use a join for upsert deduplication by @Fokko in https://github.com/apache/iceberg-python/pull/1685 - Remove top-level import of `pyarrow` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1703 - Upsert: Align codestyle by @Fokko in https://github.com/apache/iceberg-python/pull/1710 - Arrow: Suppress warning and cache bucket location by @Fokko in https://github.com/apache/iceberg-python/pull/1709 - Turn `ObjectStoreLocationProvider` off by default by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1722 - fix loading `in-memory` catalog by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1725 - Deprecations - Remove support for catalog_name in table identifier string by @sungwy in https://github.com/apache/iceberg-python/pull/963 - Replace reference of `Table.identifier` with `Table.name` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1346 - Remove parsing table name in `row_filter` by @geruh in https://github.com/apache/iceberg-python/pull/1689 - REST: Remove deprecated `AUTH_URL` by @Fokko in https://github.com/apache/iceberg-python/pull/1691 - IO: Remove deprecations by @Fokko in https://github.com/apache/iceberg-python/pull/1519 - remove `0.9.0` deprecated by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1448 - Remove deprecated `datetime` functions by @hussein-awala in https://github.com/apache/iceberg-python/pull/1134 - Deprecate the use of `last-column-id` by @Fokko in https://github.com/apache/iceberg-python/pull/1367 ## Dependencies - Remove Python 3.13 upper bound restriction by @bigluck in https://github.com/apache/iceberg-python/pull/1355 - Bump PyArrow to 19.0.0 by @Fokko in https://github.com/apache/iceberg-python/pull/1526 - Drop upper bounds for fsspec and it's implementations by @sumanth-manchala in https://github.com/apache/iceberg-python/pull/1341 - Tests: Bump Spark to 3.5.3 by @Fokko in https://github.com/apache/iceberg-python/pull/1322 - Bump `pre-commit` versions by @Fokko in https://github.com/apache/iceberg-python/pull/1344 - Build: Bump 3rd party deps by @Fokko in https://github.com/apache/iceberg-python/pull/1454 - bump version to 0.9.0 by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1489 - Add poetry extra for rest-sigv4 dependencies (boto3) by @paulmech in https://github.com/apache/iceberg-python/pull/1415 - Bump Poetry to 1.8.4 by @Fokko in https://github.com/apache/iceberg-python/pull/1379 - Bump to Poetry 1.8.5 by @Fokko in https://github.com/apache/iceberg-python/pull/1455 - Bump Poetry to 2.0.1 by @Fokko in https://github.com/apache/iceberg-python/pull/1525 - [infra] update poetry if necessary by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1656 - Upgrade `cryptography` dependency to v44.0.1 by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1651 - Bump to Iceberg Java 1.8.0 by @Fokko in https://github.com/apache/iceberg-python/pull/1633 - [infra] Update pyspark java iceberg library to 1.6.0 by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1462 ## Infra - [infra] refactor release github workflow by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1600 - [infra] clean up cibuildwheel build by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1599 - [infra] add testpypi nightly build by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1601 - Update `upload-artifact` to use v4 by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1371 - Build: Upgrade to RAT 0.16.1, scanning hidden directories and adding missing ASF headers by @manuzhang in https://github.com/apache/iceberg-python/pull/1396 - Build: Don't run CI on unrelated changes by @manuzhang in https://github.com/apache/iceberg-python/pull/1395 - [INFRA] make integration test more resilient to intermittent failures by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1412 - Build: Delete branch automatically on PR merge by @manuzhang in https://github.com/apache/iceberg-python/pull/1408 - docker: The `archive` seems unstable by @Fokko in https://github.com/apache/iceberg-python/pull/1425 - Remove `version` from `docker-compose` by @Fokko in https://github.com/apache/iceberg-python/pull/1438 - ci: configure codespell in pre-commit by @IndexSeek in https://github.com/apache/iceberg-python/pull/1478 - [infra] replace `pycln` with `ruff` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1485 - [infra] Move `mkdocs` to use poetry as `docs` group dep by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1486 - [infra] download Spark from `archive.apache.org` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1523 - fix: remove check-docstring-first pre-commit check by @rodrigc in https://github.com/apache/iceberg-python/pull/1531 - [infra] regenerate poetry lock by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1538 - Update NOTICE copyright end year to 2025 by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1557 - Fix ci by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1638 - Break circular import by @Fokko in https://github.com/apache/iceberg-python/pull/1639 - Repo: Set status checks to strict by @Fokko in https://github.com/apache/iceberg-python/pull/1640 ## Dependabot - Bump coverage from 7.6.4 to 7.6.5 by @dependabot in https://github.com/apache/iceberg-python/pull/1325 - Bump mkdocstrings from 0.26.2 to 0.27.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1324 - Bump coverage from 7.6.5 to 7.6.7 by @dependabot in https://github.com/apache/iceberg-python/pull/1329 - Bump aiohttp from 3.10.5 to 3.10.11 by @dependabot in https://github.com/apache/iceberg-python/pull/1338 - Bump moto from 5.0.20 to 5.0.21 by @dependabot in https://github.com/apache/iceberg-python/pull/1339 - Bump mypy-boto3-glue from 1.35.53 to 1.35.65 by @dependabot in https://github.com/apache/iceberg-python/pull/1343 - Bump deptry from 0.21.0 to 0.21.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1342 - Bump pydantic from 2.9.1 to 2.10.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1352 - Bump mkdocs-material from 9.5.44 to 9.5.45 by @dependabot in https://github.com/apache/iceberg-python/pull/1351 - Bump pydantic from 2.10.0 to 2.10.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1364 - Bump getdaft from 0.3.13 to 0.3.14 by @dependabot in https://github.com/apache/iceberg-python/pull/1361 - Bump mkdocs-material from 9.5.45 to 9.5.46 by @dependabot in https://github.com/apache/iceberg-python/pull/1376 - Bump coverage from 7.6.7 to 7.6.8 by @dependabot in https://github.com/apache/iceberg-python/pull/1375 - Bump pypa/cibuildwheel from 2.21.3 to 2.22.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1374 - Bump pydantic from 2.10.1 to 2.10.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1382 - Bump pyarrow from 18.0.0 to 18.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1381 - Bump moto from 5.0.21 to 5.0.22 by @dependabot in https://github.com/apache/iceberg-python/pull/1399 - Bump mypy-boto3-glue from 1.35.65 to 1.35.74 by @dependabot in https://github.com/apache/iceberg-python/pull/1398 - Bump pydantic from 2.10.2 to 2.10.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1403 - Bump mkdocs-material from 9.5.46 to 9.5.47 by @dependabot in https://github.com/apache/iceberg-python/pull/1402 - Bump coverage from 7.6.8 to 7.6.9 by @dependabot in https://github.com/apache/iceberg-python/pull/1413 - Bump mkdocs-material from 9.5.47 to 9.5.48 by @dependabot in https://github.com/apache/iceberg-python/pull/1419 - Bump mypy-boto3-glue from 1.35.74 to 1.35.80 by @dependabot in https://github.com/apache/iceberg-python/pull/1428 - Bump mkdocs-material from 9.5.48 to 9.5.49 by @dependabot in https://github.com/apache/iceberg-python/pull/1437 - Bump adlfs from 2024.7.0 to 2024.12.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1436 - Bump moto from 5.0.22 to 5.0.23 by @dependabot in https://github.com/apache/iceberg-python/pull/1435 - Bump boto3 from 1.35.36 to 1.35.81 by @dependabot in https://github.com/apache/iceberg-python/pull/1440 - Bump pydantic from 2.10.3 to 2.10.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1444 - Bump getdaft from 0.3.15 to 0.4.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1450 - Bump moto from 5.0.23 to 5.0.24 by @dependabot in https://github.com/apache/iceberg-python/pull/1451 - Bump fastavro from 1.9.7 to 1.10.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1460 - Bump deptry from 0.21.1 to 0.21.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1459 - Bump mypy-boto3-glue from 1.35.80 to 1.35.87 by @dependabot in https://github.com/apache/iceberg-python/pull/1468 - Bump jinja2 from 3.1.4 to 3.1.5 by @dependabot in https://github.com/apache/iceberg-python/pull/1467 - Bump griffe from 1.5.1 to 1.5.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1474 - Bump coverage from 7.6.9 to 7.6.10 by @dependabot in https://github.com/apache/iceberg-python/pull/1473 - Bump mkdocstrings-python from 1.12.2 to 1.13.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1472 - Bump boto3 from 1.35.81 to 1.35.88 by @dependabot in https://github.com/apache/iceberg-python/pull/1476 - Bump moto from 5.0.24 to 5.0.25 by @dependabot in https://github.com/apache/iceberg-python/pull/1475 - Bump pyparsing from 3.2.0 to 3.2.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1481 - Bump moto from 5.0.25 to 5.0.26 by @dependabot in https://github.com/apache/iceberg-python/pull/1490 - Build: Bump pytest-checkdocs from 2.10.1 to 2.13.0 by @dependabot in https://github.com/apache/iceberg-python/pull/682 - Build: Bump boto3 from 1.35.88 to 1.35.93 by @dependabot in https://github.com/apache/iceberg-python/pull/1495 - Build: Bump mypy-boto3-glue from 1.35.87 to 1.35.93 by @dependabot in https://github.com/apache/iceberg-python/pull/1496 - Build: Bump pydantic from 2.10.4 to 2.10.5 by @dependabot in https://github.com/apache/iceberg-python/pull/1504 - Build: Bump getdaft from 0.4.1 to 0.4.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1503 - Build: Bump sqlalchemy from 2.0.36 to 2.0.37 by @dependabot in https://github.com/apache/iceberg-python/pull/1502 - Build: Bump deptry from 0.21.2 to 0.22.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1508 - Build: Bump mkdocs-autorefs from 1.2.0 to 1.3.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1513 - Build: Bump mypy-boto3-glue from 1.35.93 to 1.36.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1522 - Build: Bump griffe from 1.5.4 to 1.5.5 by @dependabot in https://github.com/apache/iceberg-python/pull/1528 - Build: Bump boto3 from 1.35.93 to 1.36.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1536 - Build: Bump moto from 5.0.26 to 5.0.27 by @dependabot in https://github.com/apache/iceberg-python/pull/1545 - Build: Bump pre-commit from 4.0.1 to 4.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1544 - Build: Bump mkdocs-material from 9.5.49 to 9.5.50 by @dependabot in https://github.com/apache/iceberg-python/pull/1543 - Build: Bump actions/stale from 9.0.0 to 9.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1558 - Build: Bump cachetools from 5.5.0 to 5.5.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1559 - Build: Bump boto3 from 1.36.1 to 1.36.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1564 - Build: Bump mypy-boto3-glue from 1.36.0 to 1.36.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1565 - Build: Bump pydantic from 2.10.5 to 2.10.6 by @dependabot in https://github.com/apache/iceberg-python/pull/1576 - Build: Bump mmh3 from 5.0.1 to 5.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1583 - Build: Bump deptry from 0.22.0 to 0.23.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1584 - Build: Bump mkdocs-material from 9.5.50 to 9.6.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1595 - Build: Bump getdaft from 0.4.2 to 0.4.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1596 - Build: Bump griffe from 1.5.5 to 1.5.6 by @dependabot in https://github.com/apache/iceberg-python/pull/1593 - [infra] bump dependabot open PR limit by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1597 - Build: Bump moto from 5.0.27 to 5.0.28 by @dependabot in https://github.com/apache/iceberg-python/pull/1603 - Build: Bump mkdocs-material from 9.6.1 to 9.6.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1605 - Build: Bump mkdocstrings from 0.27.0 to 0.28.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1604 - Build: Bump mkdocstrings-python from 1.13.0 to 1.14.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1612 - Build: Bump mkdocstrings-python from 1.14.4 to 1.14.5 by @dependabot in https://github.com/apache/iceberg-python/pull/1616 - Build: Bump duckdb from 1.1.3 to 1.2.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1617 - Build: Bump sqlalchemy from 2.0.37 to 2.0.38 by @dependabot in https://github.com/apache/iceberg-python/pull/1620 - Build: Bump mkdocs-material from 9.6.2 to 9.6.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1625 - Build: Bump mkdocstrings-python from 1.14.5 to 1.14.6 by @dependabot in https://github.com/apache/iceberg-python/pull/1624 - Build: Bump coverage from 7.6.10 to 7.6.11 by @dependabot in https://github.com/apache/iceberg-python/pull/1641 - Build: Bump cython from 3.0.11 to 3.0.12 by @dependabot in https://github.com/apache/iceberg-python/pull/1646 - Build: Bump coverage from 7.6.11 to 7.6.12 by @dependabot in https://github.com/apache/iceberg-python/pull/1648 - Build: Bump mkdocs-autorefs from 1.3.0 to 1.3.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1650 - Build: Bump griffe from 1.5.6 to 1.5.7 by @dependabot in https://github.com/apache/iceberg-python/pull/1647 - Build: Bump mkdocstrings-python from 1.14.6 to 1.15.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1649 - Build: Bump mkdocs-material from 9.6.3 to 9.6.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1657 - Build: Bump mkdocstrings from 0.28.0 to 0.28.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1676 - Build: Bump mkdocstrings-python from 1.15.0 to 1.16.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1675 - Build: Bump mkdocstrings-python from 1.16.0 to 1.16.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1686 - Build: Bump getdaft from 0.4.3 to 0.4.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1687 - Build: Bump pyarrow from 19.0.0 to 19.0.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1688 - Build: Bump mkdocs-material from 9.6.4 to 9.6.5 by @dependabot in https://github.com/apache/iceberg-python/pull/1696 - Build: Bump cachetools from 5.5.1 to 5.5.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1695 - Build: Bump boto3 from 1.36.3 to 1.36.23 by @dependabot in https://github.com/apache/iceberg-python/pull/1694 - Build: Bump mkdocs-autorefs from 1.3.1 to 1.4.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1712 - Build: Bump moto from 5.0.28 to 5.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1713 - Build: Bump polars from 1.22.0 to 1.23.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1715 - Build: Bump mypy-boto3-glue from 1.36.4 to 1.37.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1716 - Build: Bump datafusion from 44.0.0 to 45.2.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1714 # New Contributors * @sumanth-manchala made their first contribution in https://github.com/apache/iceberg-python/pull/1341 * @gitzwz made their first contribution in https://github.com/apache/iceberg-python/pull/1332 * @vincenzon made their first contribution in https://github.com/apache/iceberg-python/pull/1358 * @bigluck made their first contribution in https://github.com/apache/iceberg-python/pull/1355 * @binayakd made their first contribution in https://github.com/apache/iceberg-python/pull/1354 * @paulmech made their first contribution in https://github.com/apache/iceberg-python/pull/1415 * @helmiazizm made their first contribution in https://github.com/apache/iceberg-python/pull/1392 * @jiakai-li made their first contribution in https://github.com/apache/iceberg-python/pull/1411 * @AhmedNader42 made their first contribution in https://github.com/apache/iceberg-python/pull/1434 * @barronw made their first contribution in https://github.com/apache/iceberg-python/pull/1426 * @kunnapatt made their first contribution in https://github.com/apache/iceberg-python/pull/1445 * @EternalDeiwos made their first contribution in https://github.com/apache/iceberg-python/pull/1446 * @IndexSeek made their first contribution in https://github.com/apache/iceberg-python/pull/1471 * @smaheshwar-pltr made their first contribution in https://github.com/apache/iceberg-python/pull/1457 * @jeppe-dos made their first contribution in https://github.com/apache/iceberg-python/pull/1433 * @hgollakota made their first contribution in https://github.com/apache/iceberg-python/pull/1362 * @rodrigc made their first contribution in https://github.com/apache/iceberg-python/pull/1531 * @DevChrisCross made their first contribution in https://github.com/apache/iceberg-python/pull/1498 * @summermousa-vendia made their first contribution in https://github.com/apache/iceberg-python/pull/1575 * @rshkv made their first contribution in https://github.com/apache/iceberg-python/pull/1578 * @metadaddy made their first contribution in https://github.com/apache/iceberg-python/pull/1568 * @shiv-io made their first contribution in https://github.com/apache/iceberg-python/pull/1242 * @JoniKet made their first contribution in https://github.com/apache/iceberg-python/pull/1580 * @TennyZhuang made their first contribution in https://github.com/apache/iceberg-python/pull/1618 * @ZENOTME made their first contribution in https://github.com/apache/iceberg-python/pull/1631 * @gabeiglio made their first contribution in https://github.com/apache/iceberg-python/pull/1443 * @tom-s-powell made their first contribution in https://github.com/apache/iceberg-python/pull/1610 * @tusharchou made their first contribution in https://github.com/apache/iceberg-python/pull/1388 * @kaushiksrini made their first contribution in https://github.com/apache/iceberg-python/pull/1607 * @yigal-rozenberg made their first contribution in https://github.com/apache/iceberg-python/pull/1614 * @grihabor made their first contribution in https://github.com/apache/iceberg-python/pull/1598 * @alessandro-nori made their first contribution in https://github.com/apache/iceberg-python/pull/1671 * @rachel88888 made their first contribution in https://github.com/apache/iceberg-python/pull/1664

pyiceberg-0.9.0
? · 2025-03-07

**Full Changelog**: [pyiceberg-0.8.0...pyiceberg-0.9.0](https://github.com/apache/iceberg-python/compare/pyiceberg-0.8.0...pyiceberg-0.9.0) There have been **243** new commits since the last minor release, 0.8.0, including **148** commits from various contributors and **95** from Dependabot. This release features contributions from **63** unique contributors, including **33** first-time contributors. # What's Changed ## New Features - Introduced the capability to perform `UPSERT` operations on their table directly within PyIceberg. - Added support for dynamic overwrites as an optimization when an entire partition is replaced. - Implemented `namespace_exists` functionality for the REST catalog. - Extended the table updates to include new `remove-snapshot-ref` and `remove-snapshot` action - Added `view_exists` method to the REST catalog as a part of the effort to add view support to the REST Catalog. - Implemented support for Alibaba OSS protocol in PyArrowFileIO - Introduced read support for the Iceberg V3 spec. - Added support for Location Providers for tables which includes the `ObjectStoreLocationProvider` and also enables for custom write paths for both data and metadata. - Extended `S3FileIO` operations to allow for cross region read support. - Introduced support to convert Iceberg table scan to `polars` DataFrame and LazyFrame. - Added support for the `all_manifests` metadata table. - Implemented support for writes to bucket partitioned tables. - Added automatic metadata cleanup to iceberg tables via `write.metadata.delete-after-commit.enabled`. - Introduced syntactic sugar for `and` and `or` operations in filters. - Implemented configurable S3 request timeout settings for better performance tuning. - Add support to use `apache/iceberg-rest-fixture` image for integration tests - Introduced support to update table statistics - Add support for Bucket and Truncate transforms utilizing `pyiceberg_core` (`iceberg-rust`) - Add support for column projections from partition metadata - Add support for `ResidualEvaluator` ## Deprecations **Catalog & Table Identifiers** - Parsing catalog-level identifiers in Catalog references is deprecated - Please refer to tables using only their namespace and table name - `Table.identifier` property is deprecated - Use `Table.name()` instead **Expression Parsing** - Parsing expressions with table names is deprecated - Only provide field names in `row_filter` **Configuration Properties** - `rest.authorization-url` property is deprecated - Use `oauth2-server-uri` instead - `gcs.endpoint` property is deprecated - Use `gcs.service.host` instead - Properties starting with `adlfs.` are deprecated - Use properties that start with `adls.` **Table API Changes** - `project_table` is deprecated - Use `ArrowScan.to_table()` instead - Use `ArrowScan.to_record_batches()` instead **Name Mapping** - `NameMapping.find` is deprecated - Use `apply_name_mapping` instead **Table Update Field Removal** - The `initial_change` field has been removed from table updates, affecting: - `AddSchemaUpdate` - `AddPartitionSpecUpdate` - `AddSortOrderUpdate` **Table Class Refactoring** Several table classes have been moved to private classes: - `pyiceberg.table.Move` → `pyiceberg.table.update.schema._Move` - `pyiceberg.table.MoveOperation` → `pyiceberg.table.update.schema._MoveOperation` - `pyiceberg.table.DeleteFiles` → `pyiceberg.table.update.snapshot._DeleteFiles` - `pyiceberg.table.FastAppendFiles` → `pyiceberg.table.update.snapshot._FastAppendFiles` - `pyiceberg.table.MergeAppendFiles` → `pyiceberg.table.update.snapshot._MergeAppendFiles` - `pyiceberg.table.OverwriteFiles` → `pyiceberg.table.update.snapshot._OverwriteFiles` **Table Properties Refactoring** Several constants have been moved to `TableProperties`: - `DEFAULT_MAX_SNAPSHOT_AGE_MS` → `TableProperties.MAX_SNAPSHOT_AGE_MS_DEFAULT` - `DEFAULT_MIN_SNAPSHOTS_TO_KEEP` → `TableProperties.MIN_SNAPSHOTS_TO_KEEP_DEFAULT` ## Documentation Updates - Added documentation for the new `UPSERT` operation support. - Added documentation of the new `LocationProvider` feature. - Improve the `"How to Release"` documentation. - Add documentation linking to community contributing guidelines - Add documentation on nightly build ## Bug Fixes - Fixed `KeyError` in `add_files` for Parquet files missing column stats. - Fixed `Table.scan` case sensitivity handling. - Resolved `TypeError` in `create_match_filter` for composite keys. - Allowed leading underscore in column name used in row filter. - Ensured correct statistics updates by removing redundant `snapshot_id` in `SetStatisticsUpdate`. - Fixed namespace existence check for multi-level namespaces in `SqlCatalog`. - Improved handling of S3 request timeouts. - Fixed `TypeError` in composite key joins. ## Dependencies - Remove `python` 3.13 upper bound restriction - Remove `fsspec` upper bound restriction - Bump `PyArrow` to 19.0.0 ## Infra - Improve and automate release process using github workflow - Add support for testpypi nightly build - Add `codespell` to pre-commit - Replace `pycln` with `ruff` # Commits ## Features - Set default for `SortField`'s `transform` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1347 - Boto Glue standard retry policy with configuration by @mark-major in https://github.com/apache/iceberg-python/pull/1307 - TEST: adopt new rest catalog image and enable tableExists tests by @sungwy in https://github.com/apache/iceberg-python/pull/1389 - Added force virtual addressing configuration for S3, Alibaba OSS protocol to use PyArrowFileIO by @helmiazizm in https://github.com/apache/iceberg-python/pull/1392 - Deserialize NestedField initial-default and write-default Attributes by @paulcichonski in https://github.com/apache/iceberg-python/pull/1432 - Snapshot: Make manifest-list required by @Fokko in https://github.com/apache/iceberg-python/pull/1385 - Implementing namespace_exists function on the REST Catalog by @AhmedNader42 in https://github.com/apache/iceberg-python/pull/1434 - Add Support for Dynamic Overwrite by @jqin61 in https://github.com/apache/iceberg-python/pull/931 - URL-encode partition field names in file locations by @smaheshwar-pltr in https://github.com/apache/iceberg-python/pull/1457 - Fix read from multiple s3 regions by @jiakai-li in https://github.com/apache/iceberg-python/pull/1453 - Nit fixes to URL-encoding of partition field names by @smaheshwar-pltr in https://github.com/apache/iceberg-python/pull/1499 - Support Location Providers by @smaheshwar-pltr in https://github.com/apache/iceberg-python/pull/1452 - Add `all_manifests` metadata table with tests by @soumya-ghosh in https://github.com/apache/iceberg-python/pull/1241 - Use `ObjectStoreLocationProvider` by default by @smaheshwar-pltr in https://github.com/apache/iceberg-python/pull/1509 - Improve `LocationProvider` unit tests by @smaheshwar-pltr in https://github.com/apache/iceberg-python/pull/1511 - Add table statistics by @ndrluis in https://github.com/apache/iceberg-python/pull/1285 - feat: Support Bucket and Truncate transforms on write by @sungwy in https://github.com/apache/iceberg-python/pull/1345 - ADLS: Support Vended Credentials by @Fokko in https://github.com/apache/iceberg-python/pull/1520 - Add V3 read support by @Fokko in https://github.com/apache/iceberg-python/pull/1554 - feat: support datetime objects in literal instantiation by @jayceslesar in https://github.com/apache/iceberg-python/pull/1542 - Make s3.request_timeout configurable by @metadaddy in https://github.com/apache/iceberg-python/pull/1568 - Update annotation with V3 by @Fokko in https://github.com/apache/iceberg-python/pull/1587 - Add `view_exists` method to REST Catalog by @shiv-io in https://github.com/apache/iceberg-python/pull/1242 - Hive metastore register table by @JoniKet in https://github.com/apache/iceberg-python/pull/1580 - Add support for `write.data.path` by @Fokko in https://github.com/apache/iceberg-python/pull/1611 - Accept date in literal by @TennyZhuang in https://github.com/apache/iceberg-python/pull/1618 - Implement column projection by @gabeiglio in https://github.com/apache/iceberg-python/pull/1443 - feat: implement InMemoryCatalog as a subclass of SqlCatalog by @hussein-awala in https://github.com/apache/iceberg-python/pull/1140 - Add base headers in properties to signer_headers by @tom-s-powell in https://github.com/apache/iceberg-python/pull/1610 - Add ResidualVisitor to compute residuals by @tusharchou in https://github.com/apache/iceberg-python/pull/1388 - Implement `write.metadata.delete-after-commit.enabled` to clean up old metadata files by @kaushiksrini in https://github.com/apache/iceberg-python/pull/1607 - feat: search current working directory for config file by @IndexSeek in https://github.com/apache/iceberg-python/pull/1464 - Feat/add support kerberize hivemetastore by @Fokko in https://github.com/apache/iceberg-python/pull/1634 - Added support for Polars DataFrame and LazyFrame by @yigal-rozenberg in https://github.com/apache/iceberg-python/pull/1614 - Filter rows directly from pa.RecordBatch by @gabeiglio in https://github.com/apache/iceberg-python/pull/1621 - Add table upsert support by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1660 - Add support for `write.metadata.path` by @geruh in https://github.com/apache/iceberg-python/pull/1642 - Implement update for `remove-snapshot-ref` action by @grihabor in https://github.com/apache/iceberg-python/pull/1598 - Implement update for `remove-snapshots` action by @grihabor in https://github.com/apache/iceberg-python/pull/1561 - Add syntactic sugar for `and` and `or` operation by @Fokko in https://github.com/apache/iceberg-python/pull/1697 ## Documentations - Improve documentation for "how to release" by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1359 - 0.8.0 post release steps by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1334 - check mkdocs build strict in CI by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1360 - Add instruction for patch release by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1373 - Extend bugfix report by @Fokko in https://github.com/apache/iceberg-python/pull/1380 - docs: Add link to GitHub release notes by @manuzhang in https://github.com/apache/iceberg-python/pull/1394 - docs: Use `load_catalog` instead by @Fokko in https://github.com/apache/iceberg-python/pull/1406 - docs: fixed code example. by @kunnapatt in https://github.com/apache/iceberg-python/pull/1445 - [DOCS] Add RESTCatalog-specific headers table by @EternalDeiwos in https://github.com/apache/iceberg-python/pull/1446 - docs: various spelling fixes by @IndexSeek in https://github.com/apache/iceberg-python/pull/1471 - Change dot notation in add column documentation to tuple by @jeppe-dos in https://github.com/apache/iceberg-python/pull/1433 - docs: Add docstrings for Identifier, Properties, RecursiveDict by @rodrigc in https://github.com/apache/iceberg-python/pull/1530 - Docs: Location Provider Documentation by @smaheshwar-pltr in https://github.com/apache/iceberg-python/pull/1537 - Fix statistics documentation by removing snapshot_id references by @ndrluis in https://github.com/apache/iceberg-python/pull/1570 - [docs] Link community contributing guidelines by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1579 - automate building Release Candidate in github action by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1391 - Add upsert docs by @Fokko in https://github.com/apache/iceberg-python/pull/1665 - [docs] add docs about nightly build by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1670 - Add instruction to install shell plugin to doc by @gabeiglio in https://github.com/apache/iceberg-python/pull/1674 - [docs] update new iceberg catalog link by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1701 - Update docs to reflect default location provider by @geruh in https://github.com/apache/iceberg-python/pull/1724 ## Bug Fixes - use the non-deprecated func to parse identifier by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1326 - Ignore tables without table_type parameters while loading all iceberg table from Glue and Hive catalog by @gitzwz in https://github.com/apache/iceberg-python/pull/1332 - dont override global warning by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1350 - Allow leading underscore in column name used in row filter by @vincenzon in https://github.com/apache/iceberg-python/pull/1358 - fix `KeyError` raised by `add_files` when parquet file doe not have column stats by @binayakd in https://github.com/apache/iceberg-python/pull/1354 - Write `null` when there is no parent-snapshot-id by @Fokko in https://github.com/apache/iceberg-python/pull/1383 - fix warnings from newer versions of dependencies by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1414 - 0.8.1 post release by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1410 - Add `_missing_` to make `FileFormat` case insensitive by @jiakai-li in https://github.com/apache/iceberg-python/pull/1411 - Fix `Table.scan` to enable case sensitive argument by @jiakai-li in https://github.com/apache/iceberg-python/pull/1423 - Update StrictProjection tests by @Fokko in https://github.com/apache/iceberg-python/pull/1422 - fix: field id in name mapping should be optional by @barronw in https://github.com/apache/iceberg-python/pull/1426 - Signer: Make token optional by @Fokko in https://github.com/apache/iceberg-python/pull/1447 - Remove unneeded partitioning by @Fokko in https://github.com/apache/iceberg-python/pull/1417 - Remove deprecation warnings in test by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1416 - Added support for lowercase FileFormat for Issue #1340 by @hgollakota in https://github.com/apache/iceberg-python/pull/1362 - Revert "Add support for lowercase `FileFormat`(#1362)" by @Fokko in https://github.com/apache/iceberg-python/pull/1518 - Modified exception objects being thrown when converting Pyarrow tables by @DevChrisCross in https://github.com/apache/iceberg-python/pull/1498 - Refactor `bucket` transform types by @Fokko in https://github.com/apache/iceberg-python/pull/1562 - Refactor `{year,month,day,hour}` transform by @Fokko in https://github.com/apache/iceberg-python/pull/1563 - PyArrow: Avoid buffer-overflow by avoid doing a sort by @Fokko in https://github.com/apache/iceberg-python/pull/1555 - follow up #1555, bring back tests by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1567 - Remove redundant snapshot_id from SetStatisticsUpdate by @ndrluis in https://github.com/apache/iceberg-python/pull/1566 - Return an empty dict if nan values is not provided by the catalog by @summermousa-vendia in https://github.com/apache/iceberg-python/pull/1575 - Log exception when FileIO import fails by @rshkv in https://github.com/apache/iceberg-python/pull/1578 - Move from `types_extensions` to `types` by @Fokko in https://github.com/apache/iceberg-python/pull/1586 - Test transform function consistency for all transforms by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1573 - fsspec: Remove `botocore` as a module import by @Fokko in https://github.com/apache/iceberg-python/pull/1609 - fix new requirements handling by @ZENOTME in https://github.com/apache/iceberg-python/pull/1631 - Remove `_task_to_table` by @Fokko in https://github.com/apache/iceberg-python/pull/1643 - Upsert: Reuse existing expression to detect rows to be inserted by @Fokko in https://github.com/apache/iceberg-python/pull/1662 - fix: SqlCatalog namespace_exists should work with multi-level namespaces by @alessandro-nori in https://github.com/apache/iceberg-python/pull/1671 - [Bug Fix] Avoid reusing shared metrics evaluator across threads by @rachel88888 in https://github.com/apache/iceberg-python/pull/1664 - AWS: Undeprecate `botocore_session` by @Fokko in https://github.com/apache/iceberg-python/pull/1692 - Fix TypeError in create_match_filter for Composite Keys with Single Unique Condition by @omkenge in https://github.com/apache/iceberg-python/pull/1693 - Raise explicit error when join columns cannot be found by @Fokko in https://github.com/apache/iceberg-python/pull/1698 - Allow upserting into an empty table by @Fokko in https://github.com/apache/iceberg-python/pull/1699 - Use a join for upsert deduplication by @Fokko in https://github.com/apache/iceberg-python/pull/1685 - Remove top-level import of `pyarrow` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1703 - Upsert: Align codestyle by @Fokko in https://github.com/apache/iceberg-python/pull/1710 - Arrow: Suppress warning and cache bucket location by @Fokko in https://github.com/apache/iceberg-python/pull/1709 - Turn `ObjectStoreLocationProvider` off by default by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1722 - fix loading `in-memory` catalog by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1725 - Deprecations - Remove support for catalog_name in table identifier string by @sungwy in https://github.com/apache/iceberg-python/pull/963 - Replace reference of `Table.identifier` with `Table.name` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1346 - Remove parsing table name in `row_filter` by @geruh in https://github.com/apache/iceberg-python/pull/1689 - REST: Remove deprecated `AUTH_URL` by @Fokko in https://github.com/apache/iceberg-python/pull/1691 - IO: Remove deprecations by @Fokko in https://github.com/apache/iceberg-python/pull/1519 - remove `0.9.0` deprecated by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1448 - Remove deprecated `datetime` functions by @hussein-awala in https://github.com/apache/iceberg-python/pull/1134 - Deprecate the use of `last-column-id` by @Fokko in https://github.com/apache/iceberg-python/pull/1367 ## Dependencies - Remove Python 3.13 upper bound restriction by @bigluck in https://github.com/apache/iceberg-python/pull/1355 - Bump PyArrow to 19.0.0 by @Fokko in https://github.com/apache/iceberg-python/pull/1526 - Drop upper bounds for fsspec and it's implementations by @sumanth-manchala in https://github.com/apache/iceberg-python/pull/1341 - Tests: Bump Spark to 3.5.3 by @Fokko in https://github.com/apache/iceberg-python/pull/1322 - Bump `pre-commit` versions by @Fokko in https://github.com/apache/iceberg-python/pull/1344 - Build: Bump 3rd party deps by @Fokko in https://github.com/apache/iceberg-python/pull/1454 - bump version to 0.9.0 by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1489 - Add poetry extra for rest-sigv4 dependencies (boto3) by @paulmech in https://github.com/apache/iceberg-python/pull/1415 - Bump Poetry to 1.8.4 by @Fokko in https://github.com/apache/iceberg-python/pull/1379 - Bump to Poetry 1.8.5 by @Fokko in https://github.com/apache/iceberg-python/pull/1455 - Bump Poetry to 2.0.1 by @Fokko in https://github.com/apache/iceberg-python/pull/1525 - [infra] update poetry if necessary by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1656 - Upgrade `cryptography` dependency to v44.0.1 by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1651 - Bump to Iceberg Java 1.8.0 by @Fokko in https://github.com/apache/iceberg-python/pull/1633 - [infra] Update pyspark java iceberg library to 1.6.0 by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1462 ## Infra - [infra] refactor release github workflow by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1600 - [infra] clean up cibuildwheel build by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1599 - [infra] add testpypi nightly build by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1601 - Update `upload-artifact` to use v4 by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1371 - Build: Upgrade to RAT 0.16.1, scanning hidden directories and adding missing ASF headers by @manuzhang in https://github.com/apache/iceberg-python/pull/1396 - Build: Don't run CI on unrelated changes by @manuzhang in https://github.com/apache/iceberg-python/pull/1395 - [INFRA] make integration test more resilient to intermittent failures by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1412 - Build: Delete branch automatically on PR merge by @manuzhang in https://github.com/apache/iceberg-python/pull/1408 - docker: The `archive` seems unstable by @Fokko in https://github.com/apache/iceberg-python/pull/1425 - Remove `version` from `docker-compose` by @Fokko in https://github.com/apache/iceberg-python/pull/1438 - ci: configure codespell in pre-commit by @IndexSeek in https://github.com/apache/iceberg-python/pull/1478 - [infra] replace `pycln` with `ruff` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1485 - [infra] Move `mkdocs` to use poetry as `docs` group dep by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1486 - [infra] download Spark from `archive.apache.org` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1523 - fix: remove check-docstring-first pre-commit check by @rodrigc in https://github.com/apache/iceberg-python/pull/1531 - [infra] regenerate poetry lock by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1538 - Update NOTICE copyright end year to 2025 by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1557 - Fix ci by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1638 - Break circular import by @Fokko in https://github.com/apache/iceberg-python/pull/1639 - Repo: Set status checks to strict by @Fokko in https://github.com/apache/iceberg-python/pull/1640 ## Dependabot - Bump coverage from 7.6.4 to 7.6.5 by @dependabot in https://github.com/apache/iceberg-python/pull/1325 - Bump mkdocstrings from 0.26.2 to 0.27.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1324 - Bump coverage from 7.6.5 to 7.6.7 by @dependabot in https://github.com/apache/iceberg-python/pull/1329 - Bump aiohttp from 3.10.5 to 3.10.11 by @dependabot in https://github.com/apache/iceberg-python/pull/1338 - Bump moto from 5.0.20 to 5.0.21 by @dependabot in https://github.com/apache/iceberg-python/pull/1339 - Bump mypy-boto3-glue from 1.35.53 to 1.35.65 by @dependabot in https://github.com/apache/iceberg-python/pull/1343 - Bump deptry from 0.21.0 to 0.21.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1342 - Bump pydantic from 2.9.1 to 2.10.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1352 - Bump mkdocs-material from 9.5.44 to 9.5.45 by @dependabot in https://github.com/apache/iceberg-python/pull/1351 - Bump pydantic from 2.10.0 to 2.10.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1364 - Bump getdaft from 0.3.13 to 0.3.14 by @dependabot in https://github.com/apache/iceberg-python/pull/1361 - Bump mkdocs-material from 9.5.45 to 9.5.46 by @dependabot in https://github.com/apache/iceberg-python/pull/1376 - Bump coverage from 7.6.7 to 7.6.8 by @dependabot in https://github.com/apache/iceberg-python/pull/1375 - Bump pypa/cibuildwheel from 2.21.3 to 2.22.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1374 - Bump pydantic from 2.10.1 to 2.10.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1382 - Bump pyarrow from 18.0.0 to 18.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1381 - Bump moto from 5.0.21 to 5.0.22 by @dependabot in https://github.com/apache/iceberg-python/pull/1399 - Bump mypy-boto3-glue from 1.35.65 to 1.35.74 by @dependabot in https://github.com/apache/iceberg-python/pull/1398 - Bump pydantic from 2.10.2 to 2.10.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1403 - Bump mkdocs-material from 9.5.46 to 9.5.47 by @dependabot in https://github.com/apache/iceberg-python/pull/1402 - Bump coverage from 7.6.8 to 7.6.9 by @dependabot in https://github.com/apache/iceberg-python/pull/1413 - Bump mkdocs-material from 9.5.47 to 9.5.48 by @dependabot in https://github.com/apache/iceberg-python/pull/1419 - Bump mypy-boto3-glue from 1.35.74 to 1.35.80 by @dependabot in https://github.com/apache/iceberg-python/pull/1428 - Bump mkdocs-material from 9.5.48 to 9.5.49 by @dependabot in https://github.com/apache/iceberg-python/pull/1437 - Bump adlfs from 2024.7.0 to 2024.12.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1436 - Bump moto from 5.0.22 to 5.0.23 by @dependabot in https://github.com/apache/iceberg-python/pull/1435 - Bump boto3 from 1.35.36 to 1.35.81 by @dependabot in https://github.com/apache/iceberg-python/pull/1440 - Bump pydantic from 2.10.3 to 2.10.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1444 - Bump getdaft from 0.3.15 to 0.4.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1450 - Bump moto from 5.0.23 to 5.0.24 by @dependabot in https://github.com/apache/iceberg-python/pull/1451 - Bump fastavro from 1.9.7 to 1.10.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1460 - Bump deptry from 0.21.1 to 0.21.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1459 - Bump mypy-boto3-glue from 1.35.80 to 1.35.87 by @dependabot in https://github.com/apache/iceberg-python/pull/1468 - Bump jinja2 from 3.1.4 to 3.1.5 by @dependabot in https://github.com/apache/iceberg-python/pull/1467 - Bump griffe from 1.5.1 to 1.5.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1474 - Bump coverage from 7.6.9 to 7.6.10 by @dependabot in https://github.com/apache/iceberg-python/pull/1473 - Bump mkdocstrings-python from 1.12.2 to 1.13.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1472 - Bump boto3 from 1.35.81 to 1.35.88 by @dependabot in https://github.com/apache/iceberg-python/pull/1476 - Bump moto from 5.0.24 to 5.0.25 by @dependabot in https://github.com/apache/iceberg-python/pull/1475 - Bump pyparsing from 3.2.0 to 3.2.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1481 - Bump moto from 5.0.25 to 5.0.26 by @dependabot in https://github.com/apache/iceberg-python/pull/1490 - Build: Bump pytest-checkdocs from 2.10.1 to 2.13.0 by @dependabot in https://github.com/apache/iceberg-python/pull/682 - Build: Bump boto3 from 1.35.88 to 1.35.93 by @dependabot in https://github.com/apache/iceberg-python/pull/1495 - Build: Bump mypy-boto3-glue from 1.35.87 to 1.35.93 by @dependabot in https://github.com/apache/iceberg-python/pull/1496 - Build: Bump pydantic from 2.10.4 to 2.10.5 by @dependabot in https://github.com/apache/iceberg-python/pull/1504 - Build: Bump getdaft from 0.4.1 to 0.4.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1503 - Build: Bump sqlalchemy from 2.0.36 to 2.0.37 by @dependabot in https://github.com/apache/iceberg-python/pull/1502 - Build: Bump deptry from 0.21.2 to 0.22.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1508 - Build: Bump mkdocs-autorefs from 1.2.0 to 1.3.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1513 - Build: Bump mypy-boto3-glue from 1.35.93 to 1.36.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1522 - Build: Bump griffe from 1.5.4 to 1.5.5 by @dependabot in https://github.com/apache/iceberg-python/pull/1528 - Build: Bump boto3 from 1.35.93 to 1.36.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1536 - Build: Bump moto from 5.0.26 to 5.0.27 by @dependabot in https://github.com/apache/iceberg-python/pull/1545 - Build: Bump pre-commit from 4.0.1 to 4.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1544 - Build: Bump mkdocs-material from 9.5.49 to 9.5.50 by @dependabot in https://github.com/apache/iceberg-python/pull/1543 - Build: Bump actions/stale from 9.0.0 to 9.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1558 - Build: Bump cachetools from 5.5.0 to 5.5.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1559 - Build: Bump boto3 from 1.36.1 to 1.36.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1564 - Build: Bump mypy-boto3-glue from 1.36.0 to 1.36.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1565 - Build: Bump pydantic from 2.10.5 to 2.10.6 by @dependabot in https://github.com/apache/iceberg-python/pull/1576 - Build: Bump mmh3 from 5.0.1 to 5.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1583 - Build: Bump deptry from 0.22.0 to 0.23.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1584 - Build: Bump mkdocs-material from 9.5.50 to 9.6.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1595 - Build: Bump getdaft from 0.4.2 to 0.4.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1596 - Build: Bump griffe from 1.5.5 to 1.5.6 by @dependabot in https://github.com/apache/iceberg-python/pull/1593 - [infra] bump dependabot open PR limit by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1597 - Build: Bump moto from 5.0.27 to 5.0.28 by @dependabot in https://github.com/apache/iceberg-python/pull/1603 - Build: Bump mkdocs-material from 9.6.1 to 9.6.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1605 - Build: Bump mkdocstrings from 0.27.0 to 0.28.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1604 - Build: Bump mkdocstrings-python from 1.13.0 to 1.14.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1612 - Build: Bump mkdocstrings-python from 1.14.4 to 1.14.5 by @dependabot in https://github.com/apache/iceberg-python/pull/1616 - Build: Bump duckdb from 1.1.3 to 1.2.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1617 - Build: Bump sqlalchemy from 2.0.37 to 2.0.38 by @dependabot in https://github.com/apache/iceberg-python/pull/1620 - Build: Bump mkdocs-material from 9.6.2 to 9.6.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1625 - Build: Bump mkdocstrings-python from 1.14.5 to 1.14.6 by @dependabot in https://github.com/apache/iceberg-python/pull/1624 - Build: Bump coverage from 7.6.10 to 7.6.11 by @dependabot in https://github.com/apache/iceberg-python/pull/1641 - Build: Bump cython from 3.0.11 to 3.0.12 by @dependabot in https://github.com/apache/iceberg-python/pull/1646 - Build: Bump coverage from 7.6.11 to 7.6.12 by @dependabot in https://github.com/apache/iceberg-python/pull/1648 - Build: Bump mkdocs-autorefs from 1.3.0 to 1.3.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1650 - Build: Bump griffe from 1.5.6 to 1.5.7 by @dependabot in https://github.com/apache/iceberg-python/pull/1647 - Build: Bump mkdocstrings-python from 1.14.6 to 1.15.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1649 - Build: Bump mkdocs-material from 9.6.3 to 9.6.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1657 - Build: Bump mkdocstrings from 0.28.0 to 0.28.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1676 - Build: Bump mkdocstrings-python from 1.15.0 to 1.16.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1675 - Build: Bump mkdocstrings-python from 1.16.0 to 1.16.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1686 - Build: Bump getdaft from 0.4.3 to 0.4.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1687 - Build: Bump pyarrow from 19.0.0 to 19.0.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1688 - Build: Bump mkdocs-material from 9.6.4 to 9.6.5 by @dependabot in https://github.com/apache/iceberg-python/pull/1696 - Build: Bump cachetools from 5.5.1 to 5.5.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1695 - Build: Bump boto3 from 1.36.3 to 1.36.23 by @dependabot in https://github.com/apache/iceberg-python/pull/1694 - Build: Bump mkdocs-autorefs from 1.3.1 to 1.4.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1712 - Build: Bump moto from 5.0.28 to 5.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1713 - Build: Bump polars from 1.22.0 to 1.23.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1715 - Build: Bump mypy-boto3-glue from 1.36.4 to 1.37.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1716 - Build: Bump datafusion from 44.0.0 to 45.2.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1714 # New Contributors * @sumanth-manchala made their first contribution in https://github.com/apache/iceberg-python/pull/1341 * @gitzwz made their first contribution in https://github.com/apache/iceberg-python/pull/1332 * @vincenzon made their first contribution in https://github.com/apache/iceberg-python/pull/1358 * @bigluck made their first contribution in https://github.com/apache/iceberg-python/pull/1355 * @binayakd made their first contribution in https://github.com/apache/iceberg-python/pull/1354 * @paulmech made their first contribution in https://github.com/apache/iceberg-python/pull/1415 * @helmiazizm made their first contribution in https://github.com/apache/iceberg-python/pull/1392 * @jiakai-li made their first contribution in https://github.com/apache/iceberg-python/pull/1411 * @AhmedNader42 made their first contribution in https://github.com/apache/iceberg-python/pull/1434 * @barronw made their first contribution in https://github.com/apache/iceberg-python/pull/1426 * @kunnapatt made their first contribution in https://github.com/apache/iceberg-python/pull/1445 * @EternalDeiwos made their first contribution in https://github.com/apache/iceberg-python/pull/1446 * @IndexSeek made their first contribution in https://github.com/apache/iceberg-python/pull/1471 * @smaheshwar-pltr made their first contribution in https://github.com/apache/iceberg-python/pull/1457 * @jeppe-dos made their first contribution in https://github.com/apache/iceberg-python/pull/1433 * @hgollakota made their first contribution in https://github.com/apache/iceberg-python/pull/1362 * @rodrigc made their first contribution in https://github.com/apache/iceberg-python/pull/1531 * @DevChrisCross made their first contribution in https://github.com/apache/iceberg-python/pull/1498 * @summermousa-vendia made their first contribution in https://github.com/apache/iceberg-python/pull/1575 * @rshkv made their first contribution in https://github.com/apache/iceberg-python/pull/1578 * @metadaddy made their first contribution in https://github.com/apache/iceberg-python/pull/1568 * @shiv-io made their first contribution in https://github.com/apache/iceberg-python/pull/1242 * @JoniKet made their first contribution in https://github.com/apache/iceberg-python/pull/1580 * @TennyZhuang made their first contribution in https://github.com/apache/iceberg-python/pull/1618 * @ZENOTME made their first contribution in https://github.com/apache/iceberg-python/pull/1631 * @gabeiglio made their first contribution in https://github.com/apache/iceberg-python/pull/1443 * @tom-s-powell made their first contribution in https://github.com/apache/iceberg-python/pull/1610 * @tusharchou made their first contribution in https://github.com/apache/iceberg-python/pull/1388 * @kaushiksrini made their first contribution in https://github.com/apache/iceberg-python/pull/1607 * @yigal-rozenberg made their first contribution in https://github.com/apache/iceberg-python/pull/1614 * @grihabor made their first contribution in https://github.com/apache/iceberg-python/pull/1598 * @alessandro-nori made their first contribution in https://github.com/apache/iceberg-python/pull/1671 * @rachel88888 made their first contribution in https://github.com/apache/iceberg-python/pull/1664

pyiceberg-0.8.1
? · 2024-12-06

**Full Changelog**: https://github.com/apache/iceberg-python/compare/pyiceberg-0.8.0...pyiceberg-0.8.1 Patch Release PR: https://github.com/apache/iceberg-python/pull/1384 ## What's Changed The behavior of `Table.name` is changed to return the table name **without the catalog name**. This is a broader effort to remove references to the catalog name in pyiceberg. * Replace usage of `Table.identifier` with `Table.name` which returns the table name without the catalog name * Replace the use of a deprecated function (`identifier_to_tuple_without_catalog`) in pyiceberg; remove unnecessary warnings Documentation updates are included to reflect the updated process in https://py.iceberg.apache.org/ * Update “how to release” documentation * 0.8.0 post-release steps Bug fixes * Fix `add_files` for parquet files without column stats * Allow leading underscore in column name used in row filter * Ignore tables without table_type property from Glue and Hive * Write `null` in manifest list metadata when there is no parent-snapshot-id Remove upper bound restrictions for dependency libraries; allow early testing of new versions * Remove Python library version upper bound restriction; allow Python 3.13 * Remove fsspec library version upper bound restriction ## Commits [36 new commits since the `0.8.0` release](https://github.com/apache/iceberg-python/compare/pyiceberg-0.8.0...acbd071375ac4cc2053435346737a3b1a64cce2e). 12 new commits will be included in 0.8.1 * 11 commits cherry-picked as bug fixes (listed below) * 1 [commit](https://github.com/apache/iceberg-python/commit/58389dfe5cf5f6ef6ea16c47cd11408c642fafd1) to bump version to `0.8.1` ### 11 bug fixes (cherry-picked) acbd071 Write `null` when there is no parent-snapshot-id (#1383) bb078cf Add instruction for patch release (#1373) ab43c6c fix `KeyError` raised by `add_files` when parquet file doe not have column stats (#1354) cc1ab2c Improve documentation for "how to release" (#1359) 64dc6fe Remove Python 3.13 upper bound restriction (#1355) d86ab6e Allow leading underscore in column name used in row filter (#1358) 7a4734e Replace reference of `Table.identifier` with `Table.name` (#1346) a66ddc0 Ignore tables without `table_type` from Glue and Hive (#1332) 2cbc77d Drop upper bounds for fsspec and it's implementations (#1341) 7660a5b 0.8.0 post release steps (#1334) b2f0a9e use the non-deprecated func (#1326) ## New Contributors * @sumanth-manchala made their first contribution in https://github.com/apache/iceberg-python/pull/1341 * @gitzwz made their first contribution in https://github.com/apache/iceberg-python/pull/1332 * @vincenzon made their first contribution in https://github.com/apache/iceberg-python/pull/1358 * @bigluck made their first contribution in https://github.com/apache/iceberg-python/pull/1355 * @binayakd made their first contribution in https://github.com/apache/iceberg-python/pull/1354

pyiceberg-0.8.0
? · 2024-11-18

## What's Changed ### PR * Update PyIceberg Verify Release doc by @chinmay-bhat in https://github.com/apache/iceberg-python/pull/976 * DOCS: Add Github Actions Screenshots to Release Notes by @sungwy in https://github.com/apache/iceberg-python/pull/975 * Bump up version in dev Dockerfile and Issue Template by @ndrluis in https://github.com/apache/iceberg-python/pull/981 * Fix pydantic warning in the commit process by @ndrluis in https://github.com/apache/iceberg-python/pull/972 * Bump up Iceberg version to 1.6.0 by @ndrluis in https://github.com/apache/iceberg-python/pull/982 * Bug Fix: use appropriate partition spec for delete by @sungwy in https://github.com/apache/iceberg-python/pull/984 * [Bug Fix]Use `self.table_metadata` when in transaction by @HonahX in https://github.com/apache/iceberg-python/pull/985 * DOCS: Add more post release notes by @sungwy in https://github.com/apache/iceberg-python/pull/983 * Treat warning as error in CI/Dev by @ndrluis in https://github.com/apache/iceberg-python/pull/973 * Use 'strtobool' instead of comparing with a string. by @ndrluis in https://github.com/apache/iceberg-python/pull/988 * Fix: accept empty arrays in struct field lookup by @grobgl in https://github.com/apache/iceberg-python/pull/997 * Add ndrluis as collaborator by @sungwy in https://github.com/apache/iceberg-python/pull/1009 * Fix list namespace response in rest catalog by @ndrluis in https://github.com/apache/iceberg-python/pull/995 * Pyarrow IO property for configuring large v small types on read by @sungwy in https://github.com/apache/iceberg-python/pull/986 * Update metadata-log for non-rest catalogs by @soumya-ghosh in https://github.com/apache/iceberg-python/pull/977 * Exclude Python 3.9.7 due to import error in catalog module by @ndrluis in https://github.com/apache/iceberg-python/pull/526 * Deprecate rest.authorization-url in favor of oauth2-server-uri by @ndrluis in https://github.com/apache/iceberg-python/pull/962 * Allow setting `write.parquet.row-group-limit` by @Fokko in https://github.com/apache/iceberg-python/pull/1016 * Deprecate Redundant Identifier Support in TableIdentifier, and row_filter by @sungwy in https://github.com/apache/iceberg-python/pull/994 * Fix: Handle Empty RecordBatch within `_task_to_record_batches`, fix correctness issue with positional deletes by @sungwy in https://github.com/apache/iceberg-python/pull/1026 * Fix overwrite when filtering all the data by @ndrluis in https://github.com/apache/iceberg-python/pull/1023 * Allow setting `write.parquet.page-row-limit` by @Fokko in https://github.com/apache/iceberg-python/pull/1017 * DOCS: Remove older row for `write.parquet.row-group-limit` by @sungwy in https://github.com/apache/iceberg-python/pull/1030 * Improve test_version_format() error message for version mismatches by @laksh-krishna-sharma in https://github.com/apache/iceberg-python/pull/1015 * Bump version to 0.7.1 by @sungwy in https://github.com/apache/iceberg-python/pull/1034 * Support s3.signer.endpoint for nessie by @guitcastro in https://github.com/apache/iceberg-python/pull/1029 * [bug] fix reading with `to_arrow_batch_reader` and `limit` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1042 * Use `VisitorWithPartner` for name-mapping by @Fokko in https://github.com/apache/iceberg-python/pull/1014 * Fix tracing existing entries when there are deletes by @Fokko in https://github.com/apache/iceberg-python/pull/1046 * Coverage Run unit tests first before docker containers are set up by @Minfante377 in https://github.com/apache/iceberg-python/pull/1055 * Update "verify release" instruction by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1064 * Fix Install Issues with `docutils = 0.21.post1` and exclude 3.12 from supported python dependencies by @sungwy in https://github.com/apache/iceberg-python/pull/1067 * Post Release 0.7.1 version updates by @sungwy in https://github.com/apache/iceberg-python/pull/1073 * Update create table doc to clarify ID re-assignment by @paulcichonski in https://github.com/apache/iceberg-python/pull/1072 * Refactor PyArrow DataFiles Projection functions by @sungwy in https://github.com/apache/iceberg-python/pull/1043 * DOCS: Exclude signature files from twine upload by @sungwy in https://github.com/apache/iceberg-python/pull/1071 * Increase the minimal required pyarrow version to 14.0.0 by @ndrluis in https://github.com/apache/iceberg-python/pull/1090 * Fix `table_exists` behavior in REST catalog by @ndrluis in https://github.com/apache/iceberg-python/pull/1096 * fix: improve makefile by @TiansuYu in https://github.com/apache/iceberg-python/pull/1091 * fix (issue-1079): allow update_column to set doc as '' by @TiansuYu in https://github.com/apache/iceberg-python/pull/1083 * prevent adding duplicate files by @amitgilad3 in https://github.com/apache/iceberg-python/pull/1036 * Add list_views to rest catalog by @ndrluis in https://github.com/apache/iceberg-python/pull/817 * Emit warnings instead of failing when seeing unsupported configuration by @Fokko in https://github.com/apache/iceberg-python/pull/1111 * Use `markdownlint` instead of `mdformat` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1118 * Add drop_view to the rest catalog by @ndrluis in https://github.com/apache/iceberg-python/pull/820 * Support python 3.12 by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1068 * Make `commit_table` public by @Fokko in https://github.com/apache/iceberg-python/pull/1112 * Refactoring: Break down very large `table/__init__.py` module by @sungwy in https://github.com/apache/iceberg-python/pull/1144 * fix: Invert `case_sensitive` logic in StructType by @AnthonyLam in https://github.com/apache/iceberg-python/pull/1147 * Bump `duckdb` to version `1.1.0` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1149 * Deprecate ADLFS prefix in favor of ADLS by @ndrluis in https://github.com/apache/iceberg-python/pull/961 * Cache Manifest files by @chinmay-bhat in https://github.com/apache/iceberg-python/pull/787 * Use the correct spec when rewiting existing manifests by @Fokko in https://github.com/apache/iceberg-python/pull/1157 * Bug Fix: Use historical partition field name by @sungwy in https://github.com/apache/iceberg-python/pull/1161 * fix: remove old, incorrect docstring by @dataders in https://github.com/apache/iceberg-python/pull/1166 * Preserve Backward compatibility in 0.8.0 for #1144 by @sungwy in https://github.com/apache/iceberg-python/pull/1151 * follow up for more cleanup by @dataders in https://github.com/apache/iceberg-python/pull/1168 * [bug] [REST] Dont remove identifier root by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1172 * fix: support MonthTransform for partitioning by @felixscherz in https://github.com/apache/iceberg-python/pull/1176 * Add metadata tables for `data_files` and `delete_files` by @soumya-ghosh in https://github.com/apache/iceberg-python/pull/1066 * Use ArrowScan.to_table to replace project_table by @JE-Chen in https://github.com/apache/iceberg-python/pull/1180 * Add Docstrings to `pyiceberg/table/__init__.py` by @sungwy in https://github.com/apache/iceberg-python/pull/1189 * Support python 3.12 in poetry by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1192 * Use `cachetools's LRUCache` to cache manifest list by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1187 * HA HMS support by @awdavidson in https://github.com/apache/iceberg-python/pull/752 * Bug Fix: Position Deletes + row_filter yields less data when the DataFile is large by @sungwy in https://github.com/apache/iceberg-python/pull/1141 * Remove dead loom link by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1213 * Drop support for Python 3.8 by @raulcd in https://github.com/apache/iceberg-python/pull/1221 * Add clarifying docs to transform result types by @kevinzwang in https://github.com/apache/iceberg-python/pull/1211 * Add flag to allow disabling creation of catalog tables by @isc-patrick in https://github.com/apache/iceberg-python/pull/1155 * Bug Fix: Glue and Hive catalog return only Iceberg tables by @mark-major in https://github.com/apache/iceberg-python/pull/1145 * Move snapshot history expire table properties to constants by @ndrluis in https://github.com/apache/iceberg-python/pull/1217 * abort the whole table transaction if any updates in the transaction has failed by @stevie9868 in https://github.com/apache/iceberg-python/pull/1246 * PyArrow: Pass in null-mask by @Fokko in https://github.com/apache/iceberg-python/pull/1264 * Bump PyArrow to 18.0.0 by @Fokko in https://github.com/apache/iceberg-python/pull/1256 * Remove numpy as a hard dependency by @Fokko in https://github.com/apache/iceberg-python/pull/1270 * Allow for missing operation by @Fokko in https://github.com/apache/iceberg-python/pull/1263 * fix: list_tables method in glue catalog now only return tables. by @omkenge in https://github.com/apache/iceberg-python/pull/1258 * Replace `numpy` usage and remove from `pyproject.toml` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1272 * Bump version to 0.8.0 by @Fokko in https://github.com/apache/iceberg-python/pull/1276 * Remove `initial_change` when CreateTableTransaction apply table updates on an empty metadata by @HonahX in https://github.com/apache/iceberg-python/pull/1219 * Deprecate for 0.8.0 release by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1269 * Pass table-token to commit endpoint by @Fokko in https://github.com/apache/iceberg-python/pull/1278 * Updating configuration docs by @Samreay in https://github.com/apache/iceberg-python/pull/1292 * Allow union of `{int,long}`, `{float,double}`, etc by @Fokko in https://github.com/apache/iceberg-python/pull/1283 * Allow passing in ARN Role and Session name to the `PyArrowFileIO` by @Fokko in https://github.com/apache/iceberg-python/pull/1296 * Access delegation by @guitcastro in https://github.com/apache/iceberg-python/pull/1033 * Rename `gcs.endpoint` to `gcs.service.host` by @Fokko in https://github.com/apache/iceberg-python/pull/1007 * Modify S3 config naming convention by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1301 * Add support for boolean expressions and quoted columns by @MoSheikh in https://github.com/apache/iceberg-python/pull/1286 * Do not deprecate `botocore_session` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1300 * use `dist/release` KEYS by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1315 * Bug Fix: `metadata_location` to be optional in `TableResponse` by @sungwy in https://github.com/apache/iceberg-python/pull/1321 ### Dependabot PRs * Bump tenacity from 8.5.0 to 9.0.0 by @dependabot in https://github.com/apache/iceberg-python/pull/978 * Bump getdaft from 0.2.31 to 0.2.33 by @dependabot in https://github.com/apache/iceberg-python/pull/993 * Bump mkdocstrings from 0.25.1 to 0.25.2 by @dependabot in https://github.com/apache/iceberg-python/pull/968 * Bump deptry from 0.17.0 to 0.18.0 by @dependabot in https://github.com/apache/iceberg-python/pull/990 * Bump mkdocstrings-python from 1.10.5 to 1.10.7 by @dependabot in https://github.com/apache/iceberg-python/pull/967 * Bump pypa/cibuildwheel from 2.19.2 to 2.20.0 by @dependabot in https://github.com/apache/iceberg-python/pull/999 * Bump sqlalchemy from 2.0.31 to 2.0.32 by @dependabot in https://github.com/apache/iceberg-python/pull/1003 * Bump cython from 3.0.10 to 3.0.11 by @dependabot in https://github.com/apache/iceberg-python/pull/1002 * Bump mkdocs-material from 9.5.30 to 9.5.31 by @dependabot in https://github.com/apache/iceberg-python/pull/1001 * Bump moto from 5.0.11 to 5.0.12 by @dependabot in https://github.com/apache/iceberg-python/pull/1000 * Bump coverage from 7.6.0 to 7.6.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1011 * Bump deptry from 0.18.0 to 0.19.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1022 * Bump mypy-boto3-glue from 1.34.143 to 1.34.156 by @dependabot in https://github.com/apache/iceberg-python/pull/1021 * Bump mypy-boto3-glue from 1.34.156 to 1.34.157 by @dependabot in https://github.com/apache/iceberg-python/pull/1027 * Bump aiohttp from 3.10.1 to 3.10.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1035 * Bump deptry from 0.19.0 to 0.19.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1047 * Bump pyspark from 3.5.1 to 3.5.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1048 * Bump mkdocstrings-python from 1.10.7 to 1.10.8 by @dependabot in https://github.com/apache/iceberg-python/pull/1062 * Bump griffe from 0.48.0 to 0.49.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1061 * Bump mypy-boto3-glue from 1.34.157 to 1.34.160 by @dependabot in https://github.com/apache/iceberg-python/pull/1059 * Bump griffe from 0.49.0 to 1.0.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1069 * Bump griffe from 1.0.0 to 1.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1076 * Bump moto from 5.0.12 to 5.0.13 by @dependabot in https://github.com/apache/iceberg-python/pull/1077 * Bump mkdocs-material from 9.5.31 to 9.5.32 by @dependabot in https://github.com/apache/iceberg-python/pull/1075 * Bump mypy-boto3-glue from 1.34.160 to 1.35.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1070 * Bump mkdocs-autorefs from 1.0.1 to 1.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1082 * Bump griffe from 1.1.0 to 1.1.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1081 * Bump mkdocs-material from 9.5.32 to 9.5.33 by @dependabot in https://github.com/apache/iceberg-python/pull/1097 * Bump getdaft from 0.3.0 to 0.3.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1098 * Bump boto3 from 1.34.131 to 1.34.162 by @dependabot in https://github.com/apache/iceberg-python/pull/1095 * Bump rich from 13.7.1 to 13.8.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1103 * Bump griffe from 1.1.1 to 1.2.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1101 * Bump pyparsing from 3.1.2 to 3.1.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1102 * Bump deptry from 0.19.1 to 0.20.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1107 * Bump boto3 from 1.34.162 to 1.35.7 by @dependabot in https://github.com/apache/iceberg-python/pull/1114 * Bump mkdocs from 1.6.0 to 1.6.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1117 * Bump mkdocstrings-python from 1.10.8 to 1.10.9 by @dependabot in https://github.com/apache/iceberg-python/pull/1116 * Bump python-snappy from 0.7.2 to 0.7.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1115 * Bump mkdocstrings from 0.25.2 to 0.26.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1124 * Bump cryptography from 43.0.0 to 43.0.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1130 * Bump mkdocs-autorefs from 1.1.0 to 1.2.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1125 * Bump mkdocs-material from 9.5.33 to 9.5.34 by @dependabot in https://github.com/apache/iceberg-python/pull/1126 * Bump pydantic from 2.8.2 to 2.9.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1137 * Bump mkdocstrings-python from 1.10.9 to 1.11.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1136 * Bump getdaft from 0.3.1 to 0.3.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1139 * Bump sqlalchemy from 2.0.32 to 2.0.34 by @dependabot in https://github.com/apache/iceberg-python/pull/1138 * Bump mkdocstrings from 0.26.0 to 0.26.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1143 * Bump fastavro from 1.9.5 to 1.9.7 by @dependabot in https://github.com/apache/iceberg-python/pull/1142 * Bump moto from 5.0.13 to 5.0.14 by @dependabot in https://github.com/apache/iceberg-python/pull/1153 * Bump griffe from 1.2.0 to 1.3.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1160 * Bump rich from 13.8.0 to 13.8.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1158 * Bump boto3 from 1.35.7 to 1.35.16 by @dependabot in https://github.com/apache/iceberg-python/pull/1159 * Bump pydantic from 2.9.0 to 2.9.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1154 * Bump griffe from 1.3.0 to 1.3.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1170 * Bump pypa/cibuildwheel from 2.20.0 to 2.21.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1175 * Bump mypy-boto3-glue from 1.35.3 to 1.35.23 by @dependabot in https://github.com/apache/iceberg-python/pull/1186 * Bump mkdocs-material from 9.5.34 to 9.5.35 by @dependabot in https://github.com/apache/iceberg-python/pull/1184 * Bump sqlalchemy from 2.0.34 to 2.0.35 by @dependabot in https://github.com/apache/iceberg-python/pull/1179 * Bump pypa/cibuildwheel from 2.21.0 to 2.21.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1181 * Bump thrift from 0.20.0 to 0.21.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1197 * Bump mkdocs-material from 9.5.35 to 9.5.36 by @dependabot in https://github.com/apache/iceberg-python/pull/1195 * Bump pypa/cibuildwheel from 2.21.1 to 2.21.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1224 * Bump getdaft from 0.3.2 to 0.3.8 by @dependabot in https://github.com/apache/iceberg-python/pull/1228 * Bump moto from 5.0.14 to 5.0.17 by @dependabot in https://github.com/apache/iceberg-python/pull/1230 * Bump mkdocstrings from 0.26.1 to 0.26.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1235 * Bump mypy-boto3-glue from 1.35.23 to 1.35.25 by @dependabot in https://github.com/apache/iceberg-python/pull/1236 * Bump werkzeug from 3.0.4 to 3.0.6 by @dependabot in https://github.com/apache/iceberg-python/pull/1248 * Bump boto3 from 1.35.16 to 1.35.36 by @dependabot in https://github.com/apache/iceberg-python/pull/1243 * Bump docutils from 0.20.1 to 0.21.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1244 * Bump mmh3 from 4.1.0 to 5.0.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1196 * Bump getdaft from 0.3.8 to 0.3.9 by @dependabot in https://github.com/apache/iceberg-python/pull/1260 * Bump psycopg2-binary from 2.9.9 to 2.9.10 by @dependabot in https://github.com/apache/iceberg-python/pull/1262 * Bump moto from 5.0.17 to 5.0.18 by @dependabot in https://github.com/apache/iceberg-python/pull/1261 * Bump mkdocs-material from 9.5.36 to 9.5.42 by @dependabot in https://github.com/apache/iceberg-python/pull/1266 * Bump sqlalchemy from 2.0.35 to 2.0.36 by @dependabot in https://github.com/apache/iceberg-python/pull/1268 * Bump pre-commit from 3.5.0 to 4.0.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1267 * Bump rich from 13.8.1 to 13.9.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1273 * Bump pyparsing from 3.1.4 to 3.2.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1274 * Bump coverage from 7.6.1 to 7.6.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1275 * Bump pyspark from 3.5.2 to 3.5.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1280 * Bump mypy-boto3-glue from 1.35.25 to 1.35.53 by @dependabot in https://github.com/apache/iceberg-python/pull/1281 * Bump mkdocs-material from 9.5.42 to 9.5.43 by @dependabot in https://github.com/apache/iceberg-python/pull/1288 * Bump griffe from 1.3.1 to 1.5.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1289 * Bump rich from 13.9.3 to 13.9.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1298 * Bump duckdb from 1.1.0 to 1.1.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1297 * Bump getdaft from 0.3.9 to 0.3.11 by @dependabot in https://github.com/apache/iceberg-python/pull/1308 * Bump mkdocstrings-python from 1.11.1 to 1.12.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1302 * Bump moto from 5.0.18 to 5.0.20 by @dependabot in https://github.com/apache/iceberg-python/pull/1314 * Bump getdaft from 0.3.11 to 0.3.12 by @dependabot in https://github.com/apache/iceberg-python/pull/1316 * Bump deptry from 0.20.0 to 0.21.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1313 * Bump mkdocs-material from 9.5.43 to 9.5.44 by @dependabot in https://github.com/apache/iceberg-python/pull/1319 * Bump getdaft from 0.3.12 to 0.3.13 by @dependabot in https://github.com/apache/iceberg-python/pull/1320 ## New Contributors * @grobgl made their first contribution in https://github.com/apache/iceberg-python/pull/997 * @laksh-krishna-sharma made their first contribution in https://github.com/apache/iceberg-python/pull/1015 * @guitcastro made their first contribution in https://github.com/apache/iceberg-python/pull/1029 * @Minfante377 made their first contribution in https://github.com/apache/iceberg-python/pull/1055 * @paulcichonski made their first contribution in https://github.com/apache/iceberg-python/pull/1072 * @TiansuYu made their first contribution in https://github.com/apache/iceberg-python/pull/1091 * @amitgilad3 made their first contribution in https://github.com/apache/iceberg-python/pull/1036 * @AnthonyLam made their first contribution in https://github.com/apache/iceberg-python/pull/1147 * @dataders made their first contribution in https://github.com/apache/iceberg-python/pull/1166 * @JE-Chen made their first contribution in https://github.com/apache/iceberg-python/pull/1180 * @awdavidson made their first contribution in https://github.com/apache/iceberg-python/pull/752 * @raulcd made their first contribution in https://github.com/apache/iceberg-python/pull/1221 * @isc-patrick made their first contribution in https://github.com/apache/iceberg-python/pull/1155 * @mark-major made their first contribution in https://github.com/apache/iceberg-python/pull/1145 * @stevie9868 made their first contribution in https://github.com/apache/iceberg-python/pull/1246 * @omkenge made their first contribution in https://github.com/apache/iceberg-python/pull/1258 * @Samreay made their first contribution in https://github.com/apache/iceberg-python/pull/1292 * @MoSheikh made their first contribution in https://github.com/apache/iceberg-python/pull/1286 **Full Changelog**: https://github.com/apache/iceberg-python/compare/pyiceberg-0.7.1...pyiceberg-0.8.0

pyiceberg-0.8.0rc2预发布
? · 2024-11-14

## What's Changed ### PR * Update PyIceberg Verify Release doc by @chinmay-bhat in https://github.com/apache/iceberg-python/pull/976 * DOCS: Add Github Actions Screenshots to Release Notes by @sungwy in https://github.com/apache/iceberg-python/pull/975 * Bump up version in dev Dockerfile and Issue Template by @ndrluis in https://github.com/apache/iceberg-python/pull/981 * Fix pydantic warning in the commit process by @ndrluis in https://github.com/apache/iceberg-python/pull/972 * Bump up Iceberg version to 1.6.0 by @ndrluis in https://github.com/apache/iceberg-python/pull/982 * Bug Fix: use appropriate partition spec for delete by @sungwy in https://github.com/apache/iceberg-python/pull/984 * [Bug Fix]Use `self.table_metadata` when in transaction by @HonahX in https://github.com/apache/iceberg-python/pull/985 * DOCS: Add more post release notes by @sungwy in https://github.com/apache/iceberg-python/pull/983 * Treat warning as error in CI/Dev by @ndrluis in https://github.com/apache/iceberg-python/pull/973 * Use 'strtobool' instead of comparing with a string. by @ndrluis in https://github.com/apache/iceberg-python/pull/988 * Fix: accept empty arrays in struct field lookup by @grobgl in https://github.com/apache/iceberg-python/pull/997 * Add ndrluis as collaborator by @sungwy in https://github.com/apache/iceberg-python/pull/1009 * Fix list namespace response in rest catalog by @ndrluis in https://github.com/apache/iceberg-python/pull/995 * Pyarrow IO property for configuring large v small types on read by @sungwy in https://github.com/apache/iceberg-python/pull/986 * Update metadata-log for non-rest catalogs by @soumya-ghosh in https://github.com/apache/iceberg-python/pull/977 * Exclude Python 3.9.7 due to import error in catalog module by @ndrluis in https://github.com/apache/iceberg-python/pull/526 * Deprecate rest.authorization-url in favor of oauth2-server-uri by @ndrluis in https://github.com/apache/iceberg-python/pull/962 * Allow setting `write.parquet.row-group-limit` by @Fokko in https://github.com/apache/iceberg-python/pull/1016 * Deprecate Redundant Identifier Support in TableIdentifier, and row_filter by @sungwy in https://github.com/apache/iceberg-python/pull/994 * Fix: Handle Empty RecordBatch within `_task_to_record_batches`, fix correctness issue with positional deletes by @sungwy in https://github.com/apache/iceberg-python/pull/1026 * Fix overwrite when filtering all the data by @ndrluis in https://github.com/apache/iceberg-python/pull/1023 * Allow setting `write.parquet.page-row-limit` by @Fokko in https://github.com/apache/iceberg-python/pull/1017 * DOCS: Remove older row for `write.parquet.row-group-limit` by @sungwy in https://github.com/apache/iceberg-python/pull/1030 * Improve test_version_format() error message for version mismatches by @laksh-krishna-sharma in https://github.com/apache/iceberg-python/pull/1015 * Bump version to 0.7.1 by @sungwy in https://github.com/apache/iceberg-python/pull/1034 * Support s3.signer.endpoint for nessie by @guitcastro in https://github.com/apache/iceberg-python/pull/1029 * [bug] fix reading with `to_arrow_batch_reader` and `limit` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1042 * Use `VisitorWithPartner` for name-mapping by @Fokko in https://github.com/apache/iceberg-python/pull/1014 * Fix tracing existing entries when there are deletes by @Fokko in https://github.com/apache/iceberg-python/pull/1046 * Coverage Run unit tests first before docker containers are set up by @Minfante377 in https://github.com/apache/iceberg-python/pull/1055 * Update "verify release" instruction by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1064 * Fix Install Issues with `docutils = 0.21.post1` and exclude 3.12 from supported python dependencies by @sungwy in https://github.com/apache/iceberg-python/pull/1067 * Post Release 0.7.1 version updates by @sungwy in https://github.com/apache/iceberg-python/pull/1073 * Update create table doc to clarify ID re-assignment by @paulcichonski in https://github.com/apache/iceberg-python/pull/1072 * Refactor PyArrow DataFiles Projection functions by @sungwy in https://github.com/apache/iceberg-python/pull/1043 * DOCS: Exclude signature files from twine upload by @sungwy in https://github.com/apache/iceberg-python/pull/1071 * Increase the minimal required pyarrow version to 14.0.0 by @ndrluis in https://github.com/apache/iceberg-python/pull/1090 * Fix `table_exists` behavior in REST catalog by @ndrluis in https://github.com/apache/iceberg-python/pull/1096 * fix: improve makefile by @TiansuYu in https://github.com/apache/iceberg-python/pull/1091 * fix (issue-1079): allow update_column to set doc as '' by @TiansuYu in https://github.com/apache/iceberg-python/pull/1083 * prevent adding duplicate files by @amitgilad3 in https://github.com/apache/iceberg-python/pull/1036 * Add list_views to rest catalog by @ndrluis in https://github.com/apache/iceberg-python/pull/817 * Emit warnings instead of failing when seeing unsupported configuration by @Fokko in https://github.com/apache/iceberg-python/pull/1111 * Use `markdownlint` instead of `mdformat` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1118 * Add drop_view to the rest catalog by @ndrluis in https://github.com/apache/iceberg-python/pull/820 * Support python 3.12 by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1068 * Make `commit_table` public by @Fokko in https://github.com/apache/iceberg-python/pull/1112 * Refactoring: Break down very large `table/__init__.py` module by @sungwy in https://github.com/apache/iceberg-python/pull/1144 * fix: Invert `case_sensitive` logic in StructType by @AnthonyLam in https://github.com/apache/iceberg-python/pull/1147 * Bump `duckdb` to version `1.1.0` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1149 * Deprecate ADLFS prefix in favor of ADLS by @ndrluis in https://github.com/apache/iceberg-python/pull/961 * Cache Manifest files by @chinmay-bhat in https://github.com/apache/iceberg-python/pull/787 * Use the correct spec when rewiting existing manifests by @Fokko in https://github.com/apache/iceberg-python/pull/1157 * Bug Fix: Use historical partition field name by @sungwy in https://github.com/apache/iceberg-python/pull/1161 * fix: remove old, incorrect docstring by @dataders in https://github.com/apache/iceberg-python/pull/1166 * Preserve Backward compatibility in 0.8.0 for #1144 by @sungwy in https://github.com/apache/iceberg-python/pull/1151 * follow up for more cleanup by @dataders in https://github.com/apache/iceberg-python/pull/1168 * [bug] [REST] Dont remove identifier root by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1172 * fix: support MonthTransform for partitioning by @felixscherz in https://github.com/apache/iceberg-python/pull/1176 * Add metadata tables for `data_files` and `delete_files` by @soumya-ghosh in https://github.com/apache/iceberg-python/pull/1066 * Use ArrowScan.to_table to replace project_table by @JE-Chen in https://github.com/apache/iceberg-python/pull/1180 * Add Docstrings to `pyiceberg/table/__init__.py` by @sungwy in https://github.com/apache/iceberg-python/pull/1189 * Support python 3.12 in poetry by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1192 * Use `cachetools's LRUCache` to cache manifest list by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1187 * HA HMS support by @awdavidson in https://github.com/apache/iceberg-python/pull/752 * Bug Fix: Position Deletes + row_filter yields less data when the DataFile is large by @sungwy in https://github.com/apache/iceberg-python/pull/1141 * Remove dead loom link by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1213 * Drop support for Python 3.8 by @raulcd in https://github.com/apache/iceberg-python/pull/1221 * Add clarifying docs to transform result types by @kevinzwang in https://github.com/apache/iceberg-python/pull/1211 * Add flag to allow disabling creation of catalog tables by @isc-patrick in https://github.com/apache/iceberg-python/pull/1155 * Bug Fix: Glue and Hive catalog return only Iceberg tables by @mark-major in https://github.com/apache/iceberg-python/pull/1145 * Move snapshot history expire table properties to constants by @ndrluis in https://github.com/apache/iceberg-python/pull/1217 * abort the whole table transaction if any updates in the transaction has failed by @stevie9868 in https://github.com/apache/iceberg-python/pull/1246 * PyArrow: Pass in null-mask by @Fokko in https://github.com/apache/iceberg-python/pull/1264 * Bump PyArrow to 18.0.0 by @Fokko in https://github.com/apache/iceberg-python/pull/1256 * Remove numpy as a hard dependency by @Fokko in https://github.com/apache/iceberg-python/pull/1270 * Allow for missing operation by @Fokko in https://github.com/apache/iceberg-python/pull/1263 * fix: list_tables method in glue catalog now only return tables. by @omkenge in https://github.com/apache/iceberg-python/pull/1258 * Replace `numpy` usage and remove from `pyproject.toml` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1272 * Bump version to 0.8.0 by @Fokko in https://github.com/apache/iceberg-python/pull/1276 * Remove `initial_change` when CreateTableTransaction apply table updates on an empty metadata by @HonahX in https://github.com/apache/iceberg-python/pull/1219 * Deprecate for 0.8.0 release by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1269 * Pass table-token to commit endpoint by @Fokko in https://github.com/apache/iceberg-python/pull/1278 * Updating configuration docs by @Samreay in https://github.com/apache/iceberg-python/pull/1292 * Allow union of `{int,long}`, `{float,double}`, etc by @Fokko in https://github.com/apache/iceberg-python/pull/1283 * Allow passing in ARN Role and Session name to the `PyArrowFileIO` by @Fokko in https://github.com/apache/iceberg-python/pull/1296 * Access delegation by @guitcastro in https://github.com/apache/iceberg-python/pull/1033 * Rename `gcs.endpoint` to `gcs.service.host` by @Fokko in https://github.com/apache/iceberg-python/pull/1007 * Modify S3 config naming convention by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1301 * Add support for boolean expressions and quoted columns by @MoSheikh in https://github.com/apache/iceberg-python/pull/1286 * Do not deprecate `botocore_session` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1300 * use `dist/release` KEYS by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1315 * Bug Fix: `metadata_location` to be optional in `TableResponse` by @sungwy in https://github.com/apache/iceberg-python/pull/1321 ### Dependabot PRs * Bump tenacity from 8.5.0 to 9.0.0 by @dependabot in https://github.com/apache/iceberg-python/pull/978 * Bump getdaft from 0.2.31 to 0.2.33 by @dependabot in https://github.com/apache/iceberg-python/pull/993 * Bump mkdocstrings from 0.25.1 to 0.25.2 by @dependabot in https://github.com/apache/iceberg-python/pull/968 * Bump deptry from 0.17.0 to 0.18.0 by @dependabot in https://github.com/apache/iceberg-python/pull/990 * Bump mkdocstrings-python from 1.10.5 to 1.10.7 by @dependabot in https://github.com/apache/iceberg-python/pull/967 * Bump pypa/cibuildwheel from 2.19.2 to 2.20.0 by @dependabot in https://github.com/apache/iceberg-python/pull/999 * Bump sqlalchemy from 2.0.31 to 2.0.32 by @dependabot in https://github.com/apache/iceberg-python/pull/1003 * Bump cython from 3.0.10 to 3.0.11 by @dependabot in https://github.com/apache/iceberg-python/pull/1002 * Bump mkdocs-material from 9.5.30 to 9.5.31 by @dependabot in https://github.com/apache/iceberg-python/pull/1001 * Bump moto from 5.0.11 to 5.0.12 by @dependabot in https://github.com/apache/iceberg-python/pull/1000 * Bump coverage from 7.6.0 to 7.6.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1011 * Bump deptry from 0.18.0 to 0.19.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1022 * Bump mypy-boto3-glue from 1.34.143 to 1.34.156 by @dependabot in https://github.com/apache/iceberg-python/pull/1021 * Bump mypy-boto3-glue from 1.34.156 to 1.34.157 by @dependabot in https://github.com/apache/iceberg-python/pull/1027 * Bump aiohttp from 3.10.1 to 3.10.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1035 * Bump deptry from 0.19.0 to 0.19.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1047 * Bump pyspark from 3.5.1 to 3.5.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1048 * Bump mkdocstrings-python from 1.10.7 to 1.10.8 by @dependabot in https://github.com/apache/iceberg-python/pull/1062 * Bump griffe from 0.48.0 to 0.49.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1061 * Bump mypy-boto3-glue from 1.34.157 to 1.34.160 by @dependabot in https://github.com/apache/iceberg-python/pull/1059 * Bump griffe from 0.49.0 to 1.0.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1069 * Bump griffe from 1.0.0 to 1.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1076 * Bump moto from 5.0.12 to 5.0.13 by @dependabot in https://github.com/apache/iceberg-python/pull/1077 * Bump mkdocs-material from 9.5.31 to 9.5.32 by @dependabot in https://github.com/apache/iceberg-python/pull/1075 * Bump mypy-boto3-glue from 1.34.160 to 1.35.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1070 * Bump mkdocs-autorefs from 1.0.1 to 1.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1082 * Bump griffe from 1.1.0 to 1.1.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1081 * Bump mkdocs-material from 9.5.32 to 9.5.33 by @dependabot in https://github.com/apache/iceberg-python/pull/1097 * Bump getdaft from 0.3.0 to 0.3.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1098 * Bump boto3 from 1.34.131 to 1.34.162 by @dependabot in https://github.com/apache/iceberg-python/pull/1095 * Bump rich from 13.7.1 to 13.8.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1103 * Bump griffe from 1.1.1 to 1.2.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1101 * Bump pyparsing from 3.1.2 to 3.1.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1102 * Bump deptry from 0.19.1 to 0.20.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1107 * Bump boto3 from 1.34.162 to 1.35.7 by @dependabot in https://github.com/apache/iceberg-python/pull/1114 * Bump mkdocs from 1.6.0 to 1.6.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1117 * Bump mkdocstrings-python from 1.10.8 to 1.10.9 by @dependabot in https://github.com/apache/iceberg-python/pull/1116 * Bump python-snappy from 0.7.2 to 0.7.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1115 * Bump mkdocstrings from 0.25.2 to 0.26.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1124 * Bump cryptography from 43.0.0 to 43.0.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1130 * Bump mkdocs-autorefs from 1.1.0 to 1.2.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1125 * Bump mkdocs-material from 9.5.33 to 9.5.34 by @dependabot in https://github.com/apache/iceberg-python/pull/1126 * Bump pydantic from 2.8.2 to 2.9.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1137 * Bump mkdocstrings-python from 1.10.9 to 1.11.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1136 * Bump getdaft from 0.3.1 to 0.3.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1139 * Bump sqlalchemy from 2.0.32 to 2.0.34 by @dependabot in https://github.com/apache/iceberg-python/pull/1138 * Bump mkdocstrings from 0.26.0 to 0.26.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1143 * Bump fastavro from 1.9.5 to 1.9.7 by @dependabot in https://github.com/apache/iceberg-python/pull/1142 * Bump moto from 5.0.13 to 5.0.14 by @dependabot in https://github.com/apache/iceberg-python/pull/1153 * Bump griffe from 1.2.0 to 1.3.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1160 * Bump rich from 13.8.0 to 13.8.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1158 * Bump boto3 from 1.35.7 to 1.35.16 by @dependabot in https://github.com/apache/iceberg-python/pull/1159 * Bump pydantic from 2.9.0 to 2.9.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1154 * Bump griffe from 1.3.0 to 1.3.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1170 * Bump pypa/cibuildwheel from 2.20.0 to 2.21.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1175 * Bump mypy-boto3-glue from 1.35.3 to 1.35.23 by @dependabot in https://github.com/apache/iceberg-python/pull/1186 * Bump mkdocs-material from 9.5.34 to 9.5.35 by @dependabot in https://github.com/apache/iceberg-python/pull/1184 * Bump sqlalchemy from 2.0.34 to 2.0.35 by @dependabot in https://github.com/apache/iceberg-python/pull/1179 * Bump pypa/cibuildwheel from 2.21.0 to 2.21.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1181 * Bump thrift from 0.20.0 to 0.21.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1197 * Bump mkdocs-material from 9.5.35 to 9.5.36 by @dependabot in https://github.com/apache/iceberg-python/pull/1195 * Bump pypa/cibuildwheel from 2.21.1 to 2.21.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1224 * Bump getdaft from 0.3.2 to 0.3.8 by @dependabot in https://github.com/apache/iceberg-python/pull/1228 * Bump moto from 5.0.14 to 5.0.17 by @dependabot in https://github.com/apache/iceberg-python/pull/1230 * Bump mkdocstrings from 0.26.1 to 0.26.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1235 * Bump mypy-boto3-glue from 1.35.23 to 1.35.25 by @dependabot in https://github.com/apache/iceberg-python/pull/1236 * Bump werkzeug from 3.0.4 to 3.0.6 by @dependabot in https://github.com/apache/iceberg-python/pull/1248 * Bump boto3 from 1.35.16 to 1.35.36 by @dependabot in https://github.com/apache/iceberg-python/pull/1243 * Bump docutils from 0.20.1 to 0.21.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1244 * Bump mmh3 from 4.1.0 to 5.0.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1196 * Bump getdaft from 0.3.8 to 0.3.9 by @dependabot in https://github.com/apache/iceberg-python/pull/1260 * Bump psycopg2-binary from 2.9.9 to 2.9.10 by @dependabot in https://github.com/apache/iceberg-python/pull/1262 * Bump moto from 5.0.17 to 5.0.18 by @dependabot in https://github.com/apache/iceberg-python/pull/1261 * Bump mkdocs-material from 9.5.36 to 9.5.42 by @dependabot in https://github.com/apache/iceberg-python/pull/1266 * Bump sqlalchemy from 2.0.35 to 2.0.36 by @dependabot in https://github.com/apache/iceberg-python/pull/1268 * Bump pre-commit from 3.5.0 to 4.0.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1267 * Bump rich from 13.8.1 to 13.9.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1273 * Bump pyparsing from 3.1.4 to 3.2.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1274 * Bump coverage from 7.6.1 to 7.6.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1275 * Bump pyspark from 3.5.2 to 3.5.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1280 * Bump mypy-boto3-glue from 1.35.25 to 1.35.53 by @dependabot in https://github.com/apache/iceberg-python/pull/1281 * Bump mkdocs-material from 9.5.42 to 9.5.43 by @dependabot in https://github.com/apache/iceberg-python/pull/1288 * Bump griffe from 1.3.1 to 1.5.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1289 * Bump rich from 13.9.3 to 13.9.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1298 * Bump duckdb from 1.1.0 to 1.1.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1297 * Bump getdaft from 0.3.9 to 0.3.11 by @dependabot in https://github.com/apache/iceberg-python/pull/1308 * Bump mkdocstrings-python from 1.11.1 to 1.12.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1302 * Bump moto from 5.0.18 to 5.0.20 by @dependabot in https://github.com/apache/iceberg-python/pull/1314 * Bump getdaft from 0.3.11 to 0.3.12 by @dependabot in https://github.com/apache/iceberg-python/pull/1316 * Bump deptry from 0.20.0 to 0.21.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1313 * Bump mkdocs-material from 9.5.43 to 9.5.44 by @dependabot in https://github.com/apache/iceberg-python/pull/1319 * Bump getdaft from 0.3.12 to 0.3.13 by @dependabot in https://github.com/apache/iceberg-python/pull/1320 ## New Contributors * @grobgl made their first contribution in https://github.com/apache/iceberg-python/pull/997 * @laksh-krishna-sharma made their first contribution in https://github.com/apache/iceberg-python/pull/1015 * @guitcastro made their first contribution in https://github.com/apache/iceberg-python/pull/1029 * @Minfante377 made their first contribution in https://github.com/apache/iceberg-python/pull/1055 * @paulcichonski made their first contribution in https://github.com/apache/iceberg-python/pull/1072 * @TiansuYu made their first contribution in https://github.com/apache/iceberg-python/pull/1091 * @amitgilad3 made their first contribution in https://github.com/apache/iceberg-python/pull/1036 * @AnthonyLam made their first contribution in https://github.com/apache/iceberg-python/pull/1147 * @dataders made their first contribution in https://github.com/apache/iceberg-python/pull/1166 * @JE-Chen made their first contribution in https://github.com/apache/iceberg-python/pull/1180 * @awdavidson made their first contribution in https://github.com/apache/iceberg-python/pull/752 * @raulcd made their first contribution in https://github.com/apache/iceberg-python/pull/1221 * @isc-patrick made their first contribution in https://github.com/apache/iceberg-python/pull/1155 * @mark-major made their first contribution in https://github.com/apache/iceberg-python/pull/1145 * @stevie9868 made their first contribution in https://github.com/apache/iceberg-python/pull/1246 * @omkenge made their first contribution in https://github.com/apache/iceberg-python/pull/1258 * @Samreay made their first contribution in https://github.com/apache/iceberg-python/pull/1292 * @MoSheikh made their first contribution in https://github.com/apache/iceberg-python/pull/1286 **Full Changelog**: https://github.com/apache/iceberg-python/compare/pyiceberg-0.7.1...pyiceberg-0.8.0rc2

pyiceberg-0.8.0-rc1pyiceberg-0.8.0rc1预发布
? · 2024-11-07

## What's Changed ### PRs * Update PyIceberg Verify Release doc by @chinmay-bhat in https://github.com/apache/iceberg-python/pull/976 * DOCS: Add Github Actions Screenshots to Release Notes by @sungwy in https://github.com/apache/iceberg-python/pull/975 * Bump up version in dev Dockerfile and Issue Template by @ndrluis in https://github.com/apache/iceberg-python/pull/981 * Fix pydantic warning in the commit process by @ndrluis in https://github.com/apache/iceberg-python/pull/972 * Bump up Iceberg version to 1.6.0 by @ndrluis in https://github.com/apache/iceberg-python/pull/982 * Bug Fix: use appropriate partition spec for delete by @sungwy in https://github.com/apache/iceberg-python/pull/984 * [Bug Fix]Use `self.table_metadata` when in transaction by @HonahX in https://github.com/apache/iceberg-python/pull/985 * DOCS: Add more post release notes by @sungwy in https://github.com/apache/iceberg-python/pull/983 * Treat warning as error in CI/Dev by @ndrluis in https://github.com/apache/iceberg-python/pull/973 * Use 'strtobool' instead of comparing with a string. by @ndrluis in https://github.com/apache/iceberg-python/pull/988 * Fix: accept empty arrays in struct field lookup by @grobgl in https://github.com/apache/iceberg-python/pull/997 * Add ndrluis as collaborator by @sungwy in https://github.com/apache/iceberg-python/pull/1009 * Fix list namespace response in rest catalog by @ndrluis in https://github.com/apache/iceberg-python/pull/995 * Pyarrow IO property for configuring large v small types on read by @sungwy in https://github.com/apache/iceberg-python/pull/986 * Update metadata-log for non-rest catalogs by @soumya-ghosh in https://github.com/apache/iceberg-python/pull/977 * Exclude Python 3.9.7 due to import error in catalog module by @ndrluis in https://github.com/apache/iceberg-python/pull/526 * Deprecate rest.authorization-url in favor of oauth2-server-uri by @ndrluis in https://github.com/apache/iceberg-python/pull/962 * Allow setting `write.parquet.row-group-limit` by @Fokko in https://github.com/apache/iceberg-python/pull/1016 * Deprecate Redundant Identifier Support in TableIdentifier, and row_filter by @sungwy in https://github.com/apache/iceberg-python/pull/994 * Fix: Handle Empty RecordBatch within `_task_to_record_batches`, fix correctness issue with positional deletes by @sungwy in https://github.com/apache/iceberg-python/pull/1026 * Fix overwrite when filtering all the data by @ndrluis in https://github.com/apache/iceberg-python/pull/1023 * Allow setting `write.parquet.page-row-limit` by @Fokko in https://github.com/apache/iceberg-python/pull/1017 * DOCS: Remove older row for `write.parquet.row-group-limit` by @sungwy in https://github.com/apache/iceberg-python/pull/1030 * Improve test_version_format() error message for version mismatches by @laksh-krishna-sharma in https://github.com/apache/iceberg-python/pull/1015 * Bump version to 0.7.1 by @sungwy in https://github.com/apache/iceberg-python/pull/1034 * Support s3.signer.endpoint for nessie by @guitcastro in https://github.com/apache/iceberg-python/pull/1029 * [bug] fix reading with `to_arrow_batch_reader` and `limit` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1042 * Use `VisitorWithPartner` for name-mapping by @Fokko in https://github.com/apache/iceberg-python/pull/1014 * Fix tracing existing entries when there are deletes by @Fokko in https://github.com/apache/iceberg-python/pull/1046 * Coverage Run unit tests first before docker containers are set up by @Minfante377 in https://github.com/apache/iceberg-python/pull/1055 * Update "verify release" instruction by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1064 * Fix Install Issues with `docutils = 0.21.post1` and exclude 3.12 from supported python dependencies by @sungwy in https://github.com/apache/iceberg-python/pull/1067 * Post Release 0.7.1 version updates by @sungwy in https://github.com/apache/iceberg-python/pull/1073 * Update create table doc to clarify ID re-assignment by @paulcichonski in https://github.com/apache/iceberg-python/pull/1072 * Refactor PyArrow DataFiles Projection functions by @sungwy in https://github.com/apache/iceberg-python/pull/1043 * DOCS: Exclude signature files from twine upload by @sungwy in https://github.com/apache/iceberg-python/pull/1071 * Increase the minimal required pyarrow version to 14.0.0 by @ndrluis in https://github.com/apache/iceberg-python/pull/1090 * Fix `table_exists` behavior in REST catalog by @ndrluis in https://github.com/apache/iceberg-python/pull/1096 * fix: improve makefile by @TiansuYu in https://github.com/apache/iceberg-python/pull/1091 * fix (issue-1079): allow update_column to set doc as '' by @TiansuYu in https://github.com/apache/iceberg-python/pull/1083 * prevent adding duplicate files by @amitgilad3 in https://github.com/apache/iceberg-python/pull/1036 * Add list_views to rest catalog by @ndrluis in https://github.com/apache/iceberg-python/pull/817 * Emit warnings instead of failing when seeing unsupported configuration by @Fokko in https://github.com/apache/iceberg-python/pull/1111 * Use `markdownlint` instead of `mdformat` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1118 * Add drop_view to the rest catalog by @ndrluis in https://github.com/apache/iceberg-python/pull/820 * Support python 3.12 by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1068 * Make `commit_table` public by @Fokko in https://github.com/apache/iceberg-python/pull/1112 * Refactoring: Break down very large `table/__init__.py` module by @sungwy in https://github.com/apache/iceberg-python/pull/1144 * fix: Invert `case_sensitive` logic in StructType by @AnthonyLam in https://github.com/apache/iceberg-python/pull/1147 * Bump `duckdb` to version `1.1.0` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1149 * Deprecate ADLFS prefix in favor of ADLS by @ndrluis in https://github.com/apache/iceberg-python/pull/961 * Cache Manifest files by @chinmay-bhat in https://github.com/apache/iceberg-python/pull/787 * Use the correct spec when rewiting existing manifests by @Fokko in https://github.com/apache/iceberg-python/pull/1157 * Bug Fix: Use historical partition field name by @sungwy in https://github.com/apache/iceberg-python/pull/1161 * fix: remove old, incorrect docstring by @dataders in https://github.com/apache/iceberg-python/pull/1166 * Preserve Backward compatibility in 0.8.0 for #1144 by @sungwy in https://github.com/apache/iceberg-python/pull/1151 * follow up for more cleanup by @dataders in https://github.com/apache/iceberg-python/pull/1168 * [bug] [REST] Dont remove identifier root by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1172 * fix: support MonthTransform for partitioning by @felixscherz in https://github.com/apache/iceberg-python/pull/1176 * Add metadata tables for `data_files` and `delete_files` by @soumya-ghosh in https://github.com/apache/iceberg-python/pull/1066 * Use ArrowScan.to_table to replace project_table by @JE-Chen in https://github.com/apache/iceberg-python/pull/1180 * Add Docstrings to `pyiceberg/table/__init__.py` by @sungwy in https://github.com/apache/iceberg-python/pull/1189 * Support python 3.12 in poetry by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1192 * Use `cachetools's LRUCache` to cache manifest list by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1187 * HA HMS support by @awdavidson in https://github.com/apache/iceberg-python/pull/752 * Bug Fix: Position Deletes + row_filter yields less data when the DataFile is large by @sungwy in https://github.com/apache/iceberg-python/pull/1141 * Remove dead loom link by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1213 * Drop support for Python 3.8 by @raulcd in https://github.com/apache/iceberg-python/pull/1221 * Add clarifying docs to transform result types by @kevinzwang in https://github.com/apache/iceberg-python/pull/1211 * Add flag to allow disabling creation of catalog tables by @isc-patrick in https://github.com/apache/iceberg-python/pull/1155 * Bug Fix: Glue and Hive catalog return only Iceberg tables by @mark-major in https://github.com/apache/iceberg-python/pull/1145 * Move snapshot history expire table properties to constants by @ndrluis in https://github.com/apache/iceberg-python/pull/1217 * abort the whole table transaction if any updates in the transaction has failed by @stevie9868 in https://github.com/apache/iceberg-python/pull/1246 * PyArrow: Pass in null-mask by @Fokko in https://github.com/apache/iceberg-python/pull/1264 * Bump PyArrow to 18.0.0 by @Fokko in https://github.com/apache/iceberg-python/pull/1256 * Remove numpy as a hard dependency by @Fokko in https://github.com/apache/iceberg-python/pull/1270 * Allow for missing operation by @Fokko in https://github.com/apache/iceberg-python/pull/1263 * fix: list_tables method in glue catalog now only return tables. by @omkenge in https://github.com/apache/iceberg-python/pull/1258 * Replace `numpy` usage and remove from `pyproject.toml` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1272 * Bump version to 0.8.0 by @Fokko in https://github.com/apache/iceberg-python/pull/1276 * Remove `initial_change` when CreateTableTransaction apply table updates on an empty metadata by @HonahX in https://github.com/apache/iceberg-python/pull/1219 * Deprecate for 0.8.0 release by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1269 * Pass table-token to commit endpoint by @Fokko in https://github.com/apache/iceberg-python/pull/1278 * Updating configuration docs by @Samreay in https://github.com/apache/iceberg-python/pull/1292 * Allow union of `{int,long}`, `{float,double}`, etc by @Fokko in https://github.com/apache/iceberg-python/pull/1283 * Allow passing in ARN Role and Session name to the `PyArrowFileIO` by @Fokko in https://github.com/apache/iceberg-python/pull/1296 * Access delegation by @guitcastro in https://github.com/apache/iceberg-python/pull/1033 * Rename `gcs.endpoint` to `gcs.service.host` by @Fokko in https://github.com/apache/iceberg-python/pull/1007 * Modify S3 config naming convention by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1301 * Add support for boolean expressions and quoted columns by @MoSheikh in https://github.com/apache/iceberg-python/pull/1286 * Do not deprecate `botocore_session` by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1300 ### Dependabot PRs * Bump tenacity from 8.5.0 to 9.0.0 by @dependabot in https://github.com/apache/iceberg-python/pull/978 * Bump getdaft from 0.2.31 to 0.2.33 by @dependabot in https://github.com/apache/iceberg-python/pull/993 * Bump mkdocstrings from 0.25.1 to 0.25.2 by @dependabot in https://github.com/apache/iceberg-python/pull/968 * Bump deptry from 0.17.0 to 0.18.0 by @dependabot in https://github.com/apache/iceberg-python/pull/990 * Bump mkdocstrings-python from 1.10.5 to 1.10.7 by @dependabot in https://github.com/apache/iceberg-python/pull/967 * Bump pypa/cibuildwheel from 2.19.2 to 2.20.0 by @dependabot in https://github.com/apache/iceberg-python/pull/999 * Bump sqlalchemy from 2.0.31 to 2.0.32 by @dependabot in https://github.com/apache/iceberg-python/pull/1003 * Bump cython from 3.0.10 to 3.0.11 by @dependabot in https://github.com/apache/iceberg-python/pull/1002 * Bump mkdocs-material from 9.5.30 to 9.5.31 by @dependabot in https://github.com/apache/iceberg-python/pull/1001 * Bump moto from 5.0.11 to 5.0.12 by @dependabot in https://github.com/apache/iceberg-python/pull/1000 * Bump coverage from 7.6.0 to 7.6.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1011 * Bump deptry from 0.18.0 to 0.19.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1022 * Bump mypy-boto3-glue from 1.34.143 to 1.34.156 by @dependabot in https://github.com/apache/iceberg-python/pull/1021 * Bump mypy-boto3-glue from 1.34.156 to 1.34.157 by @dependabot in https://github.com/apache/iceberg-python/pull/1027 * Bump aiohttp from 3.10.1 to 3.10.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1035 * Bump deptry from 0.19.0 to 0.19.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1047 * Bump pyspark from 3.5.1 to 3.5.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1048 * Bump mkdocstrings-python from 1.10.7 to 1.10.8 by @dependabot in https://github.com/apache/iceberg-python/pull/1062 * Bump griffe from 0.48.0 to 0.49.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1061 * Bump mypy-boto3-glue from 1.34.157 to 1.34.160 by @dependabot in https://github.com/apache/iceberg-python/pull/1059 * Bump griffe from 0.49.0 to 1.0.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1069 * Bump griffe from 1.0.0 to 1.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1076 * Bump moto from 5.0.12 to 5.0.13 by @dependabot in https://github.com/apache/iceberg-python/pull/1077 * Bump mkdocs-material from 9.5.31 to 9.5.32 by @dependabot in https://github.com/apache/iceberg-python/pull/1075 * Bump mypy-boto3-glue from 1.34.160 to 1.35.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1070 * Bump mkdocs-autorefs from 1.0.1 to 1.1.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1082 * Bump griffe from 1.1.0 to 1.1.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1081 * Bump mkdocs-material from 9.5.32 to 9.5.33 by @dependabot in https://github.com/apache/iceberg-python/pull/1097 * Bump getdaft from 0.3.0 to 0.3.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1098 * Bump boto3 from 1.34.131 to 1.34.162 by @dependabot in https://github.com/apache/iceberg-python/pull/1095 * Bump rich from 13.7.1 to 13.8.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1103 * Bump griffe from 1.1.1 to 1.2.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1101 * Bump pyparsing from 3.1.2 to 3.1.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1102 * Bump deptry from 0.19.1 to 0.20.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1107 * Bump boto3 from 1.34.162 to 1.35.7 by @dependabot in https://github.com/apache/iceberg-python/pull/1114 * Bump mkdocs from 1.6.0 to 1.6.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1117 * Bump mkdocstrings-python from 1.10.8 to 1.10.9 by @dependabot in https://github.com/apache/iceberg-python/pull/1116 * Bump python-snappy from 0.7.2 to 0.7.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1115 * Bump mkdocstrings from 0.25.2 to 0.26.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1124 * Bump cryptography from 43.0.0 to 43.0.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1130 * Bump mkdocs-autorefs from 1.1.0 to 1.2.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1125 * Bump mkdocs-material from 9.5.33 to 9.5.34 by @dependabot in https://github.com/apache/iceberg-python/pull/1126 * Bump pydantic from 2.8.2 to 2.9.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1137 * Bump mkdocstrings-python from 1.10.9 to 1.11.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1136 * Bump getdaft from 0.3.1 to 0.3.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1139 * Bump sqlalchemy from 2.0.32 to 2.0.34 by @dependabot in https://github.com/apache/iceberg-python/pull/1138 * Bump mkdocstrings from 0.26.0 to 0.26.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1143 * Bump fastavro from 1.9.5 to 1.9.7 by @dependabot in https://github.com/apache/iceberg-python/pull/1142 * Bump moto from 5.0.13 to 5.0.14 by @dependabot in https://github.com/apache/iceberg-python/pull/1153 * Bump griffe from 1.2.0 to 1.3.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1160 * Bump rich from 13.8.0 to 13.8.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1158 * Bump boto3 from 1.35.7 to 1.35.16 by @dependabot in https://github.com/apache/iceberg-python/pull/1159 * Bump pydantic from 2.9.0 to 2.9.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1154 * Bump griffe from 1.3.0 to 1.3.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1170 * Bump pypa/cibuildwheel from 2.20.0 to 2.21.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1175 * Bump mypy-boto3-glue from 1.35.3 to 1.35.23 by @dependabot in https://github.com/apache/iceberg-python/pull/1186 * Bump mkdocs-material from 9.5.34 to 9.5.35 by @dependabot in https://github.com/apache/iceberg-python/pull/1184 * Bump sqlalchemy from 2.0.34 to 2.0.35 by @dependabot in https://github.com/apache/iceberg-python/pull/1179 * Bump pypa/cibuildwheel from 2.21.0 to 2.21.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1181 * Bump thrift from 0.20.0 to 0.21.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1197 * Bump mkdocs-material from 9.5.35 to 9.5.36 by @dependabot in https://github.com/apache/iceberg-python/pull/1195 * Bump pypa/cibuildwheel from 2.21.1 to 2.21.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1224 * Bump getdaft from 0.3.2 to 0.3.8 by @dependabot in https://github.com/apache/iceberg-python/pull/1228 * Bump moto from 5.0.14 to 5.0.17 by @dependabot in https://github.com/apache/iceberg-python/pull/1230 * Bump mkdocstrings from 0.26.1 to 0.26.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1235 * Bump mypy-boto3-glue from 1.35.23 to 1.35.25 by @dependabot in https://github.com/apache/iceberg-python/pull/1236 * Bump werkzeug from 3.0.4 to 3.0.6 by @dependabot in https://github.com/apache/iceberg-python/pull/1248 * Bump boto3 from 1.35.16 to 1.35.36 by @dependabot in https://github.com/apache/iceberg-python/pull/1243 * Bump docutils from 0.20.1 to 0.21.2 by @dependabot in https://github.com/apache/iceberg-python/pull/1244 * Bump mmh3 from 4.1.0 to 5.0.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1196 * Bump getdaft from 0.3.8 to 0.3.9 by @dependabot in https://github.com/apache/iceberg-python/pull/1260 * Bump psycopg2-binary from 2.9.9 to 2.9.10 by @dependabot in https://github.com/apache/iceberg-python/pull/1262 * Bump moto from 5.0.17 to 5.0.18 by @dependabot in https://github.com/apache/iceberg-python/pull/1261 * Bump mkdocs-material from 9.5.36 to 9.5.42 by @dependabot in https://github.com/apache/iceberg-python/pull/1266 * Bump sqlalchemy from 2.0.35 to 2.0.36 by @dependabot in https://github.com/apache/iceberg-python/pull/1268 * Bump pre-commit from 3.5.0 to 4.0.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1267 * Bump rich from 13.8.1 to 13.9.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1273 * Bump pyparsing from 3.1.4 to 3.2.0 by @dependabot in https://github.com/apache/iceberg-python/pull/1274 * Bump coverage from 7.6.1 to 7.6.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1275 * Bump pyspark from 3.5.2 to 3.5.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1280 * Bump mypy-boto3-glue from 1.35.25 to 1.35.53 by @dependabot in https://github.com/apache/iceberg-python/pull/1281 * Bump mkdocs-material from 9.5.42 to 9.5.43 by @dependabot in https://github.com/apache/iceberg-python/pull/1288 * Bump griffe from 1.3.1 to 1.5.1 by @dependabot in https://github.com/apache/iceberg-python/pull/1289 * Bump rich from 13.9.3 to 13.9.4 by @dependabot in https://github.com/apache/iceberg-python/pull/1298 * Bump duckdb from 1.1.0 to 1.1.3 by @dependabot in https://github.com/apache/iceberg-python/pull/1297 ## New Contributors * @grobgl made their first contribution in https://github.com/apache/iceberg-python/pull/997 * @laksh-krishna-sharma made their first contribution in https://github.com/apache/iceberg-python/pull/1015 * @guitcastro made their first contribution in https://github.com/apache/iceberg-python/pull/1029 * @Minfante377 made their first contribution in https://github.com/apache/iceberg-python/pull/1055 * @paulcichonski made their first contribution in https://github.com/apache/iceberg-python/pull/1072 * @TiansuYu made their first contribution in https://github.com/apache/iceberg-python/pull/1091 * @amitgilad3 made their first contribution in https://github.com/apache/iceberg-python/pull/1036 * @AnthonyLam made their first contribution in https://github.com/apache/iceberg-python/pull/1147 * @dataders made their first contribution in https://github.com/apache/iceberg-python/pull/1166 * @JE-Chen made their first contribution in https://github.com/apache/iceberg-python/pull/1180 * @awdavidson made their first contribution in https://github.com/apache/iceberg-python/pull/752 * @raulcd made their first contribution in https://github.com/apache/iceberg-python/pull/1221 * @isc-patrick made their first contribution in https://github.com/apache/iceberg-python/pull/1155 * @mark-major made their first contribution in https://github.com/apache/iceberg-python/pull/1145 * @stevie9868 made their first contribution in https://github.com/apache/iceberg-python/pull/1246 * @omkenge made their first contribution in https://github.com/apache/iceberg-python/pull/1258 * @Samreay made their first contribution in https://github.com/apache/iceberg-python/pull/1292 * @MoSheikh made their first contribution in https://github.com/apache/iceberg-python/pull/1286 **Full Changelog**: https://github.com/apache/iceberg-python/compare/pyiceberg-0.7.1...pyiceberg-0.8.0rc1

pyiceberg-0.7.1
? · 2024-08-19

## What's Changed * Fix `delete` to trace existing manifests when a data file is partially rewritten by @Fokko in https://github.com/apache/iceberg-python/pull/1046 * Fix 'to_arrow_batch_reader' to respect the limit input arg by @kevinjqliu in https://github.com/apache/iceberg-python/pull/1042 * Fix correctness of applying positional deletes on Merge-On-Read tables by @sungwy in https://github.com/apache/iceberg-python/pull/1026 * Fix overwrite when filtering data by @ndrluis in https://github.com/apache/iceberg-python/pull/1023 * Bug fix for deletes across multiple partition specs on partition evolution by @sungwy in https://github.com/apache/iceberg-python/pull/984 * Fix evolving the table and writing in the same transaction by @HonahX in https://github.com/apache/iceberg-python/pull/985 * Fix scans when result is empty by @grobgl in https://github.com/apache/iceberg-python/pull/997 * Fix ListNamespace response in REST Catalog by @ndrluis in https://github.com/apache/iceberg-python/pull/995 * Exclude Python 3.9.7 from list of supported versions by @ndrluis in https://github.com/apache/iceberg-python/pull/526 * Allow setting write.parquet.row-group-limit by @Fokko in https://github.com/apache/iceberg-python/pull/1016 * Allow setting write.parquet.page-row-limit by @Fokko in https://github.com/apache/iceberg-python/pull/1017 * Fix pydantic warning during commit by @ndrluis in https://github.com/apache/iceberg-python/pull/972 **Full Changelog**: https://github.com/apache/iceberg-python/compare/pyiceberg-0.7.0...pyiceberg-0.7.1