## apache/iceberg-python — pyiceberg-0.11.1…pyiceberg-0.12.0rc1

_416+ commits._

### Features
- **feat: support pyarrow float16 by widening to float on read/write (#3590)** (4223f4c)
- **Add basic assumptions to AGENTS.md (#3552)** (768a29d)
- **Support zstd blob decompression in Puffin (#3575)** (fea08ad)
- **Add strict NotEqualTo/NotIn null and NaN tests (#3547)** (8c7912f)
- **feat: Add REST loadCredentials support (#3499)** (a38bbe3)
- **Add more examples for pyiceberg view (#3414)** (3a3bc62)
- **feat: add `dictionary_columns` to Arrow scans (#3461)** (6da06ad)
- **Add defaults to ViewVersion fields (#3458)** (ec1413d)
- **Add rambleraptor to collaborators list (#3456)** (b066577)

### Fixes
- **fix: preserve empty property values in CLI (#3745)** (af337ba)
- **fix: add `iceberg_type` column for `SqlCatalog` (#3263)** (0f2d9f3)
- **fix: preserve dictionary encoding in `to_arrow_batch_reader` (#3595)** (3fc7777)
- **fix: preserve write_default when applying a name mapping (#3601)** (b697b02)
- **fix: Pass metadata location to `StaticTable` `FileIO` (#3592)** (1a04772)
- **fix: raise `ValidationError` for decimal precision outside range (#3585)** (c209332)
- **fix: preserve manifest min sequence number of 0 (#3660)** (48e710d)
- **fix(ci): correct stale-issue-label and exempt security issues (#3605)** (2c75523)
- **fix: require `pyarrow>=18.0.0` for native UUID type support (#3606)** (1a87aa3)
- **Fix strip spec-mandated DV blob framing before deserializing (#3576)** (41276a3)
- **fix(datetime): raise specific "Missing zone offset" error in  timestamptz_to_nanos (#3505)** (b8ffdd3)
- **Fix strict NotEqualTo/NotIn pruning with partial nulls or NaNs (#3521)** (d0a9b91)
- **Fix duplicate filtering path in Arrow task batches (#3448)** (df71d2a)
- **Fix string-based `starts_with` and `not_starts_with` methods (#3501)** (7fff821)
- **Fix NotStartsWith residual evaluation to return correct result (#3503)** (b9185ec)
- **fix: correct NOT STARTS WITH projection for truncated partitions (#3528)** (fe7c749)
- **fix(literals): Return Long bounds for Decimal conversion (#3470)** (b231705)
- **Fix misleading file extension for partition statistics (#3472)** (835e13a)

### Backend
- **INFRA: Use PR titles for squash commits (#3755)** (7d0f503)
- **Update release docs for uv lock (#3749)** (09a4fcb)
- **Bump version to 0.12.0 (#3748)** (d7d0c9a)
- **Remove stale VariantType transform TODO (#3742)** (2e5955a)
- **Convert `FileFormatModel` from `ABC` to `typing.Protocol` (#3692)** (154288f)
- **Make partition expression evaluation stateless (#3664)** (23aa9a9)
- **Implement `ParquetFormatModel` and update `write_file` to use the format API (#3381)** (921e111)
- **Only run integration tests on Python changes (#3610)** (1173e45)
- **Infra: Group github/codeql-action bumps into a single dependabot PR (#3648)** (e19eca8)
- **Bump to Java Iceberg 1.11.0 (#3389)** (9d36e23)
- **Prune dependency upper bounds (#3586)** (da66a12)
- **Reject unsupported identity transform types (#3517)** (da66533)
- **Infra: Set timeout for jobs in python-ci.yml (#3581)** (de48fe4)
- **Revert "Build: Bump gcsfs from 2026.5.0 to 2026.6.0" (#3580)** (f17bdd5)
- **Rename _scan_plan_helper method to _plan_manifest_entries (#3579)** (e405573)
- **Make manifest cache size configurable (#2993)** (09db25b)
- **Make `scan_plan_helper` private (#3541) (#3553)** (6c3c2f3)
- **Feature: Incremental Append Scan (#3512)** (5be1595)
- **Extract DeletionVector logic from PuffinFile (#3491)** (01a86f9)
- **Return bounds sentinels for long date literals (#3546)** (fb96df1)
- **Return overflow sentinel in LongLiteral.to(FloatType) (#3502)** (43b27e4)
- **Update astral-sh/setup-uv to v8.2.0 (#3510)** (f66d1b3)
- **Make `View.version` return None for unknown id (#3445)** (0695f07)

### Docs
- **docs: fix undefined variable in schema evolution transaction example (#3607)** (a8f2771)
- **Docs: Add missing `_downcast_ns_timestamp_to_us` docstring (#3594)** (af1416d)
- **docs: clean OSS and COS configuration tables (#3452)** (c66d8b5)
- **docs: Fix layout of sqlite warning (#3459)** (97b0eb4)

### Chore
- **refactor: simplify CLI property lookup (#3750)** (3b51824)
- **CI: Add Windows unit test job (#3723)** (8865ddb)
- **ci: enable ASF Copilot code review (#3740)** (07e5791)
- **build: bump pyiceberg-core from 0.9.1 to 0.10.1 (#3711)** (a345c8b)
- **Build: Bump prek from 0.4.10 to 0.4.11 (#3736)** (1956a02)
- **Build: Bump polars from 1.42.1 to 1.43.0 (#3734)** (dd53001)
- **Build: Bump pypa/cibuildwheel from 4.1.0 to 4.1.1 (#3733)** (002d1df)
- **Build: Bump cython from 3.2.8 to 3.2.9 (#3732)** (4f53387)
- **Build: Bump actions/setup-python from 6.3.0 to 7.0.0 (#3731)** (2372b37)
- **Build: Bump the codeql-action group with 2 updates (#3729)** (80450fc)
- **Build: Bump google-auth from 2.56.0 to 2.56.2 (#3728)** (82e7bed)
- **Build: Bump cachetools from 7.1.4 to 7.1.6 (#3727)** (4759b11)
- **Build: Bump duckdb from 1.5.4 to 1.5.5 (#3726)** (3671784)
- **chore(ci): Update ASF allowlist check action dependency (#3739)** (541abe9)
- **Build: Bump mkdocs-material from 9.7.6 to 9.7.7 (#3703)** (c789a01)
- **Build: Bump google-auth from 2.55.2 to 2.56.0 (#3702)** (abdde91)
- **Build: Bump actions/checkout from 7.0.0 to 7.0.1 (#3701)** (0c0b86f)
- **Build: Bump the codeql-action group with 2 updates (#3699)** (df96d81)
- **Build: Bump daft from 0.7.19 to 0.7.21 (#3698)** (0a70d0f)
- **Build: Bump prek from 0.4.8 to 0.4.10 (#3697)** (99cae04)
- **Build: Bump huggingface-hub from 1.23.0 to 1.24.0 (#3696)** (a30ceb3)
- **Build: Bump jupyterlab from 4.6.1 to 4.6.2 (#3694)** (6dd5092)
- **Build: Bump pyasn1 from 0.6.3 to 0.6.4 (#3693)** (d2c34d0)
- **Build: Bump the codeql-action group with 2 updates (#3686)** (82be040)
- **Build: Bump thrift from 0.23.0 to 0.24.0 (#3684)** (f16246a)
- **Build: Bump mkdocstrings from 1.0.5 to 1.0.6 (#3683)** (c08d294)
- **Build: Bump actions/stale from 10.3.0 to 10.4.0 (#3669)** (ea80d51)
- **Build: Bump daft from 0.7.16 to 0.7.19 (#3671)** (3b144a7)
- **Build: Bump prek from 0.4.6 to 0.4.8 (#3672)** (c8f080c)
- **Build: Bump google-auth from 2.55.1 to 2.55.2 (#3674)** (32074cf)
- **Build: Bump huggingface-hub from 1.22.0 to 1.23.0 (#3675)** (92d68c4)
- **Build: Bump boto3 from 1.43.0 to 1.43.46 (#3676)** (3eb4384)
- **Build: Bump bodo from 2026.6 to 2026.7 (#3677)** (832f9a6)
- **Build: Bump mkdocstrings from 1.0.4 to 1.0.5 (#3678)** (63baaae)
- **Build: Bump google-cloud-bigquery from 3.42.1 to 3.42.2 (#3679)** (30b6a3a)
- **Build: Bump cython from 3.2.6 to 3.2.8 (#3637)** (8a31e79)
- **Build: Bump typing-extensions from 4.15.0 to 4.16.0 (#3639)** (1a8fbcc)
- **Build: Bump github/codeql-action/init and github/codeql-action/analyze from 4.36.2 to 4.36.3 (#3646)** (e408a0f)
- **Build: Bump huggingface-hub from 1.21.0 to 1.22.0 (#3641)** (80d7168)
- **Build: Bump prek from 0.4.5 to 0.4.6 (#3642)** (873250f)
- **Build: Bump polars from 1.42.0 to 1.42.1 (#3643)** (aefda20)
- **Build: Bump mypy-boto3-glue from 1.43.34 to 1.43.37 (#3644)** (d5a8c93)
- **Build: Add .venv/ to .gitignore (#3626)** (c109e10)
- **Build: Bump actions/setup-python from 6.2.0 to 6.3.0 (#3599)** (9a23d17)
- **CI: Pass args through docker-compose (#3587)** (71f0f0b)
- **Build: Bump gcsfs to 2026.6.0 (#3582)** (d871cd2)
- **Build: Bump mkdocstrings-python from 2.0.4 to 2.0.5 (#3567)** (9ba64ab)
- **Build: Bump pyarrow from 23.0.1 to 24.0.0 (#3538)** (2b1be37)
- **Build: Bump sqlalchemy from 2.0.50 to 2.0.51 (#3565)** (043bc4e)
- **Build: Bump duckdb from 1.5.3 to 1.5.4 (#3564)** (fe91c0b)
- **Build: Bump actions/upload-artifact/merge from 4.6.2 to 7.0.1 (#3561)** (bc1fc51)
- **Build: Bump joserfc from 1.6.3 to 1.6.7 (#3573)** (892744a)
- **Build: Bump huggingface-hub from 1.18.0 to 1.20.1 (#3562)** (e7681cd)
- **Build: Bump msgpack from 1.1.2 to 1.2.1 (#3544)** (4951db9)
- **Build: Bump google-cloud-bigquery from 3.41.0 to 3.42.0 (#3558)** (930d0fa)
- **Build: Bump gcsfs from 2026.5.0 to 2026.6.0 (#3560)** (4047ef6)
- **Build: Bump actions/checkout from 6.0.3 to 7.0.0 (#3559)** (8337711)
- **Build: Bump ipykernel from 7.2.0 to 7.3.0 (#3536)** (6dc83e8)
- **Build: Bump pypa/cibuildwheel from 3.4.1 to 4.1.0 (#3532)** (45593e4)
- **Build: Bump bleach from 6.3.0 to 6.4.0 (#3518)** (7974fe1)
- **Build: Bump jupyterlab from 4.5.8 to 4.6.0 (#3568)** (9d4cefb)
- **Build: Bump mypy-boto3-glue from 1.43.23 to 1.43.34 (#3569)** (aba210a)
- **Build: Bump pytest from 9.0.3 to 9.1.1 (#3570)** (e36f1a6)
- **Build: Bump griffe from 2.0.2 to 2.1.0 (#3571)** (f9424df)
- **Build: Bump prek from 0.4.4 to 0.4.5 (#3572)** (3b67ad2)
- **Build: Bump google-auth from 2.53.0 to 2.55.0 (#3563)** (1bdea24)
- **CI: Check ASF action allowlist on every PR (#3550)** (c85c9ee)
- **Build: Bump jupyter-server from 2.18.0 to 2.20.0 (#3539)** (58969e6)
- **Refactor: extract `BaseScan` and `ManifestGroupPlanner` (#3511)** (aa39484)
- **Build: Bump aiohttp from 3.14.0 to 3.14.1 (#3516)** (a1e12ad)
- **Build: Bump cryptography from 46.0.7 to 48.0.1 (#3515)** (9d2a5e7)
- **Build: Bump tornado from 6.5.6 to 6.5.7 (#3514)** (cf78ac7)
- **Build: Bump pyjwt from 2.12.0 to 2.13.0 (#3513)** (ef96d3a)
- **Build: Bump gcsfs from 2026.4.0 to 2026.5.0 (#3479)** (d101879)
- **Build: Bump tornado from 6.5.5 to 6.5.6 (#3480)** (bbdd77c)
- **Build: Bump github/codeql-action from 4.36.0 to 4.36.2 (#3481)** (df46961)
- **Build: Bump actions/checkout from 6.0.2 to 6.0.3 (#3482)** (7fe5df4)
- **Build: Bump jupyterlab from 4.5.7 to 4.5.8 (#3483)** (3e095d0)
- **Build: Bump mypy-boto3-glue from 1.43.8 to 1.43.23 (#3484)** (adcfe2d)
- **Build: Bump prek from 0.4.3 to 0.4.4 (#3486)** (d10aabd)
- **Build: Bump mkdocstrings-python from 2.0.3 to 2.0.4 (#3487)** (ed3ca75)
- **Build: Bump huggingface-hub from 1.17.0 to 1.18.0 (#3488)** (5409abb)
- **Build: Bump fsspec from 2026.2.0 to 2026.4.0 (#3490)** (f434216)
- **Build: Bump huggingface-hub from 1.16.1 to 1.17.0 (#3468)** (12f7646)
- **Build: Bump prek from 0.4.1 to 0.4.3 (#3467)** (c779444)
- **Build: Bump docutils from 0.22.4 to 0.23 (#3466)** (293b29d)
- **Build: Bump polars from 1.40.1 to 1.41.2 (#3464)** (af064f5)
- **Build: Bump sqlalchemy from 2.0.49 to 2.0.50 (#3463)** (3fe9f9a)
- **Build: Bump cython from 3.2.4 to 3.2.5 (#3462)** (c9b2fcc)
- **Build: Bump aiohttp from 3.13.4 to 3.14.0 (#3455)** (83384fe)
- **Build: Bump daft from 0.7.13 to 0.7.14 (#3434)** (77b2792)
- **Build: Bump zizmorcore/zizmor-action from 0.5.3 to 0.5.6 (#3432)** (b29c94f)
- **Build: Bump prek from 0.4.0 to 0.4.1 (#3433)** (bc10265)
- **Build: Bump click from 8.3.3 to 8.4.1 (#3435)** (dcdc3db)
- **Build: Bump bodo from 2026.4 to 2026.5 (#3437)** (199a0d3)
- **Build: Bump cachetools from 7.1.1 to 7.1.4 (#3438)** (8cf0df6)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/apache/iceberg-python?utm_source=github-action)._