Skip to content

Latest commit

 

History

History
950 lines (934 loc) · 101 KB

File metadata and controls

950 lines (934 loc) · 101 KB

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

v0.6.0 - 2025-07-14

Breaking Changes

  • API Changes:

    • Change FieldSummary {upper,lower}_bound field types to ByteBuf (#1369)
    • Make Transaction own base_table instead of borrowing (#1421)
    • Remove current_table, updates, and requirements fields from Transaction (#1451)
    • Remove data_file_content field from FileScanTask (#1485)
  • Module Reorganization:

    • Rename iceberg-cli crate to iceberg-playground (#1427)
    • Move memory catalog from separate module into core (#1480)

All Changes

  • chore(deps): Bump ordered-float from 2.10.1 to 4.6.0 by @dependabot[bot] in apache#1374
  • fix: upgrade spark version by @ZENOTME in apache#1384
  • feat: Introduce snapshot summary properties by @dentiny in apache#1336
  • Change FieldSummary {upper,lower}_bound to ByteBuf by @Fokko in apache#1369
  • Revert "feat: Introduce snapshot summary properties (#1336)" by @liurenjie1024 in apache#1390
  • fix(iceberg-catalog-rest): set application/x-www-form-urlencoded content-type header for oauth2 request by @Erigara in apache#1393
  • feat: set snapshot summary property in append action by @dentiny in apache#1391
  • chore(deps): Bump aws-sdk-glue from 1.97.0 to 1.98.0 by @dependabot[bot] in apache#1403
  • chore(deps): Bump aws-sdk-s3tables from 1.22.0 to 1.23.0 by @dependabot[bot] in apache#1402
  • chore(deps): Bump ordered-float from 2.10.1 to 4.6.0 by @dependabot[bot] in apache#1401
  • Change download link to the 0.5.1 artifacts by @kevinjqliu in apache#1410
  • feat(storage-azdls): Add Azure Datalake Storage support by @DerGut in apache#1368
  • Add catalog builder trait by @liurenjie1024 in apache#1261
  • chore: Add manifest metadata accessor by @dentiny in apache#1399
  • [readme] Add moonlink to iceberg-rust users by @dentiny in apache#1418
  • Fix the minio config by @kevinjqliu in apache#1419
  • fix(iceberg): add_files correctly check duplicates by @Erigara in apache#1395
  • fix: fix float compare order by @ZENOTME in apache#1416
  • bug(storage-azdls): Fix inferred WASB endpoint by @DerGut in apache#1417
  • chore(deps): Bump crate-ci/typos from 1.32.0 to 1.33.1 by @dependabot[bot] in apache#1424
  • chore(deps): Bump aws-sdk-glue from 1.98.0 to 1.99.0 by @dependabot[bot] in apache#1423
  • Fix bug reporting project versions by @liurenjie1024 in apache#1425
  • Scan Delete Support Part 4: Delete File Loading; Skeleton for Processing by @sdd in apache#982
  • chore(deps): Bump aws-sdk-s3tables from 1.23.0 to 1.25.0 by @dependabot[bot] in apache#1422
  • fix: incorrect storage descriptor when creating tables in GlueCatalog by @geruh in apache#1429
  • feat(transaction): Add TransactionAction and related classes by @CTTY in apache#1420
  • feat(transaction): Make Transaction own base_table by @CTTY in apache#1421
  • Make key-metadata optional by @Fokko in apache#1434
  • Rename iceberg-cli crate to iceberg-playground by @xxchan in apache#1427
  • feat(transaction): Implement TransactionAction for updata_loc, update_props, and upgrade_format by @CTTY in apache#1433
  • chore(deps): Bump ordered-float from 2.10.1 to 4.6.0 by @dependabot[bot] in apache#1445
  • chore(deps): Bump aws-config from 1.6.2 to 1.6.3 by @dependabot[bot] in apache#1447
  • chore(deps): Bump serde_with from 3.12.0 to 3.13.0 by @dependabot[bot] in apache#1446
  • [ci] fix pypi publishing trigger by @kevinjqliu in apache#1444
  • feat: Public accessors for last_column_id and last_partition_id by @c-thiel in apache#1438
  • feat(transaction): Implement TransactionAction for ReplaceSortOrderAction by @CTTY in apache#1441
  • feat(transaction): Implement TransactionAction for FastAppendAction by @CTTY in apache#1448
  • fix: fix rewrite_not to process complex nested not by @ZENOTME in apache#1431
  • Add how to verify release doc by @liurenjie1024 in apache#1426
  • Update link to how to verify release. by @liurenjie1024 in apache#1461
  • feat(transaction): Remove current_table, updates, and requirements from Transaction by @CTTY in apache#1451
  • [infra] publish rc to pypi as part of release process by @kevinjqliu in apache#1449
  • feat(catalog): Add TableCommit::apply to help update metadata by @CTTY in apache#1464
  • feat(iceberg-catalog-rest): expose invalidate_token, regenerate_token APIs by @cmcarthur in apache#1465
  • feat: Support non-default adls-authority-host by @c-thiel in apache#1439
  • docs: add Transaction example by @jdockerty in apache#1436
  • feat(transaction): Add UpdateStatisticsAction by @CTTY in apache#1359
  • feat: add retryable property for Error by @ZENOTME in apache#1383
  • refine: refine manifest_evaluator to reject not explicitly by @ZENOTME in apache#1462
  • feat(catalog): Add ErrorKind::CatalogCommitConflicts by @CTTY in apache#1452
  • Allowing publishing iceberg-catalog-sql in workflow. by @liurenjie1024 in apache#1473
  • chore(deps): Bump volo-thrift from 0.10.7 to 0.10.8 by @dependabot[bot] in apache#1476
  • chore(deps): Bump volo from 0.10.6 to 0.10.7 by @dependabot[bot] in apache#1477
  • chore(deps): Bump the arrow-parquet group with 5 updates by @dependabot[bot] in apache#1475
  • chore: make Transaction cloneable by @dentiny in apache#1474
  • fix: fix location generator by @chenzl25 in apache#1479
  • Scan Delete Support Part 5: Positional Delete Parsing by @sdd in apache#1011
  • fix: fix batch transform modify schema by @chenzl25 in apache#1483
  • feat(datafusion): support metadata tables for Datafusion by @xxchan in apache#879
  • refine: add new_manifest_writer in SnapshotProducer by @ZENOTME in apache#1481
  • refine: remove data_file_content in FileScanTask by @ZENOTME in apache#1485
  • chore(deps): Bump crate-ci/typos from 1.33.1 to 1.34.0 by @dependabot[bot] in apache#1491
  • chore(deps): Bump serde_with from 3.13.0 to 3.14.0 by @dependabot[bot] in apache#1494
  • chore(deps): Bump tokio from 1.45.0 to 1.46.1 by @dependabot[bot] in apache#1493
  • chore(deps): Bump the arrow-parquet group with 4 updates by @dependabot[bot] in apache#1492
  • typo: FILED_ID_PROP -> FIELD_ID_PROP by @kevinjqliu in apache#1497
  • refactor: Move memory catalog into core by @Xuanwo in apache#1480
  • Remove unnecessary ignore attribute in doc. by @liurenjie1024 in apache#1504

[v0.5.0] - 2025-05-19

  • io: add support for role arn and external id s3 props by @mattheusv in apache#553
  • fix: ensure S3 and GCS integ tests are conditionally compiled only when the storage-s3 and storage-gcs features are enabled by @sdd in apache#552
  • docs: fix main iceberg example by @jdockerty in apache#554
  • io: add support to set assume role session name by @mattheusv in apache#555
  • test: refactor datafusion test with memory catalog by @FANNG1 in apache#557
  • chore: add clean job in Makefile by @ChinoUkaegbu in apache#561
  • docs: Fix build website permission changed by @Xuanwo in apache#564
  • Object Cache: caches parsed Manifests and ManifestLists for performance by @sdd in apache#512
  • Update the paths by @Fokko in apache#569
  • docs: Add links for released crates by @Xuanwo in apache#570
  • Python: Use hatch for dependency management by @sungwy in apache#572
  • Ensure that RestCatalog passes user config to FileIO by @sdd in apache#476
  • Move zlib and unicode licenses to allow by @Fokko in apache#566
  • website: Update links for 0.3.0 by @Xuanwo in apache#573
  • feat(timestamp_ns): Implement timestamps with nanosecond precision by @Sl1mb0 in apache#542
  • fix: correct partition-id to field-id in UnboundPartitionField by @FANNG1 in apache#576
  • fix: Update sqlx from 0.8.0 to 0.8.1 by @FANNG1 in apache#584
  • chore(deps): Update typed-builder requirement from 0.19 to 0.20 by @dependabot in apache#582
  • Expose Transforms to Python Binding by @sungwy in apache#556
  • chore(deps): Bump crate-ci/typos from 1.23.6 to 1.24.1 by @dependabot in apache#583
  • Table Scan: Add Row Group Skipping by @sdd in apache#558
  • chore: bump crate-ci/typos to 1.24.3 by @sdlarsen in apache#598
  • feat: SQL Catalog - namespaces by @callum-ryan in apache#534
  • feat: Add more fields in FileScanTask by @Xuanwo in apache#609
  • chore(deps): Bump crate-ci/typos from 1.24.3 to 1.24.5 by @dependabot in apache#616
  • fix: Less Panics for Snapshot timestamps by @c-thiel in apache#614
  • feat: partition compatibility by @c-thiel in apache#612
  • feat: SortOrder methods should take schema ref if possible by @c-thiel in apache#613
  • feat: add client.region by @jdockerty in apache#623
  • fix: Correctly calculate highest_field_id in schema by @liurenjie1024 in apache#590
  • Feat: Normalize TableMetadata by @c-thiel in apache#611
  • refactor(python): Expose transform as a submodule for pyiceberg_core by @Xuanwo in apache#628
  • feat: support projection pushdown for datafusion iceberg by @FANNG1 in apache#594
  • chore: Bump opendal to 0.50 by @Xuanwo in apache#634
  • feat: add Sync to TransformFunction by @xxchan in apache#638
  • feat: expose arrow type <-> iceberg type by @xxchan in apache#637
  • doc: improve FileIO doc by @xxchan in apache#642
  • chore(deps): Bump crate-ci/typos from 1.24.5 to 1.24.6 by @dependabot in apache#640
  • Migrate to arrow-* v53 by @sdd in apache#626
  • feat: expose remove_all in FileIO by @xxchan in apache#643
  • feat (datafusion integration): convert datafusion expr filters to Iceberg Predicate by @a-agmon in apache#588
  • feat: Add NamespaceIdent.parent() by @c-thiel in apache#641
  • Table Scan: Add Row Selection Filtering by @sdd in apache#565
  • fix: compile error due to merge stale PR by @xxchan in apache#646
  • scan: change ErrorKind when table dont have spanshots by @mattheusv in apache#608
  • fix: avoid to create operator of memory storage every time by @ZENOTME in apache#635
  • feat (datafusion): making IcebergTableProvider public to be used without a catalog by @a-agmon in apache#650
  • test (datafusion): add test for table provider creation by @a-agmon in apache#651
  • fix: page index evaluator min/max args inverted by @sdd in apache#648
  • chore: fix typo in FileIO Schemes by @wcy-fdu in apache#653
  • fix: TableUpdate Snapshot deserialization for v1 by @c-thiel in apache#656
  • feat: Reassign field ids for schema by @c-thiel in apache#615
  • feat: add gcp oauth support by @twuebi in apache#654
  • fix(arrow): Use new ParquetMetaDataReader instead by @Xuanwo in apache#661
  • chore(deps): bump typos crate to 1.25.0 by @matthewwillian in apache#662
  • RecordBatchTransformer: Handle schema migration and column re-ordering in table scans by @sdd in apache#602
  • docs: installation of the new iceberg_catalog_rest added to the docs by @nishant-sachdeva in apache#355
  • feat(datafusion): Support pushdown more datafusion exprs to Iceberg by @FANNG1 in apache#649
  • feat: Derive PartialEq for FileScanTask by @Xuanwo in apache#660
  • feat: SQL Catalog - Tables by @callum-ryan in apache#610
  • ci: Allow install a non-debian-packaged Python package by @Xuanwo in apache#666
  • docs: README uses iceberg-rust instead of we by @caicancai in apache#667
  • chore(deps): Bump crate-ci/typos from 1.25.0 to 1.26.0 by @dependabot in apache#668
  • feat: Add equality delete writer by @Dysprosium0626 in apache#372
  • Revert "feat: Add equality delete writer (#372)" by @Xuanwo in apache#672
  • ci: Fix CI for bindings python by @Xuanwo in apache#678
  • fix: OpenDAL is_exist => exists by @sdd in apache#680
  • feat: Expose ManifestEntry status by @zheilbron in apache#681
  • feat: allow empty projection in table scan by @sundy-li in apache#677
  • chore(deps): Bump crate-ci/typos from 1.26.0 to 1.26.8 by @dependabot in apache#683
  • fix: bump parquet minor version by @xxchan in apache#684
  • fix(type): fix type promote to ignore field name. by @chenzl25 in apache#685
  • feat: implement IcebergTableProviderFactory for datafusion by @yukkit in apache#600
  • feat: Safer PartitionSpec & SchemalessPartitionSpec by @c-thiel in apache#645
  • chore(deps): Bump crate-ci/typos from 1.26.8 to 1.27.0 by @dependabot in apache#687
  • feat: TableMetadata accessors for current ids of Schema, Snapshot and SortOrder by @c-thiel in apache#688
  • chore: upgrade to DataFusion 43 by @gruuya in apache#691
  • chore(deps): Bump crate-ci/typos from 1.27.0 to 1.27.3 by @dependabot in apache#693
  • feat: Expose length of Iterators by @c-thiel in apache#692
  • feat: Implement TableRequirement checks by @c-thiel in apache#689
  • feat: Add ViewUpdate to catalog by @c-thiel in apache#690
  • chore: update .asf.yaml by @c-thiel in apache#701
  • datafusion: Create table provider for a snapshot. by @ryzhyk in apache#707
  • Add Python Release Action to publish pyiceberg_core dist to Pypi by @sungwy in apache#705
  • chore: Mark last-field-id as deprecated by @Fokko in apache#715
  • TableMetadataBuilder by @c-thiel in apache#587
  • Add fallback attribute to all strip_options. by @ryzhyk in apache#708
  • fix: Remove check of last_column_id by @liurenjie1024 in apache#717
  • Fix error running data fusion queries - Physical input schema should be the same as the one converted from logical input schema by @FANNG1 in apache#664
  • chore: Typo in test :) by @Fokko in apache#727
  • Derive Clone for IcebergTableProvider by @SergeiPatiakin in apache#722
  • fix: expand arrow to iceberg schema to handle nanosecond timestamp by @jdockerty in apache#710
  • feat: Add equality delete writer by @ZENOTME in apache#703
  • chore: Bump upload-artifact@v3 to v4 by @sungwy in apache#725
  • feat: support append data file and add e2e test by @ZENOTME in apache#349
  • chore(deps): Bump actions/setup-python from 4 to 5 by @dependabot in apache#746
  • chore: Align argument name with doc comment by @SergeiPatiakin in apache#750
  • fix: equality delete writer field id project by @ZENOTME in apache#751
  • feat: expose opendal S3 options for anonymous access by @gruuya in apache#757
  • fix: current-snapshot-id serialized to -1 in TableMetadata.json by @c-thiel in apache#755
  • feat(puffin): Add Puffin crate and CompressionCodec by @fqaiser94 in apache#745
  • Build: Delete branch automatically on PR merge by @manuzhang in apache#764
  • chore(deps): bump crate-ci/typos from 1.27.3 to 1.28.1 by @jonathanc-n in apache#769
  • chore(deps): Bump crate-ci/typos from 1.27.3 to 1.28.2 by @dependabot in apache#767
  • Add Spark for integration tests by @Fokko in apache#766
  • refine: refine writer interface by @ZENOTME in apache#741
  • Clean up docker Docker by @Fokko in apache#770
  • name mapping serde by @barronw in apache#740
  • docker: The archive seems unstable by @Fokko in apache#773
  • doc: add RisingWave to users by @xxchan in apache#775
  • feat: Expose disable_config_load opendal S3 option by @gruuya in apache#782
  • Suport conversion of Arrow Int8 and Int16 to Iceberg Int by @gruuya in apache#787
  • infra: Dismiss stale reviews by @liurenjie1024 in apache#779
  • fix: return type for year and month transform should be int by @xxchan in apache#776
  • feat: Allow for schema evolution by @Fokko in apache#786
  • Retry object store reads on temporary errors. by @ryzhyk in apache#788
  • refactor(puffin): Move puffin crate contents inside iceberg crate by @fqaiser94 in apache#789
  • feat: Implement Decimal from/to bytes represents by @Xuanwo in apache#665
  • feat: eagerly project the arrow schema to scope out non-selected fields by @gruuya in apache#785
  • fix: wrong compute of partitions in manifest by @ZENOTME in apache#794
  • fix: set key_metadata to Null by default by @feniljain in apache#800
  • test: append partition data file by @feniljain in apache#742
  • chore: Add more debug message inside error by @Xuanwo in apache#793
  • fix: Error source from cache has been shadowed by @Xuanwo in apache#792
  • fix(catalog/rest): Ensure token been reused correctly by @Xuanwo in apache#801
  • feat!: Remove BoundPartitionSpec by @c-thiel in apache#771
  • chore(deps): Bump crate-ci/typos from 1.28.2 to 1.28.3 by @dependabot in apache#805
  • feat: add DataFileWriter tests for schema and partition by @jonathanc-n in apache#768
  • fix: day transform compute by @ZENOTME in apache#796
  • feat: TableMetadata Statistic Files by @c-thiel in apache#799
  • Bump pyiceberg_core to 0.4.0 by @sungwy in apache#808
  • chore(docs): Update Readme - Lakekeeper repository moved by @c-thiel in apache#810
  • Prep 0.4.0 release by @sungwy in apache#809
  • feat: Add RemovePartitionSpecs table update by @c-thiel in apache#804
  • feat: Store file io props to allow re-build it by @Xuanwo in apache#802
  • chore: Generate Changelog Dependencies for 0.4.0 release by @sungwy in apache#812
  • chore: chmod +x on verify.py script by @sungwy in apache#817
  • Chore: Add AboveMax and BelowMin by @Fokko in apache#820
  • fix: Reading a table with positional deletes should fail by @Fokko in apache#826
  • chore: Updated Changelog for 0.4.0-rc3 by @sungwy in apache#830
  • fix(datafusion): Align schemas for DataFusion plan and stream by @gruuya in apache#829
  • Add crate for sqllogictest. by @liurenjie1024 in apache#827
  • chore(deps): Bump crate-ci/typos from 1.28.3 to 1.28.4 by @dependabot in apache#832
  • chore: update download link to 0.4.0 by @sungwy in apache#836
  • refactor: Remove spawn and channel inside arrow reader by @Xuanwo in apache#806
  • chore: improve and fix the rest example by @goldmedal in apache#842
  • feat: Bump opendal to 0.51 by @Xuanwo in apache#839
  • fix: support both gs and gcs schemes for google cloud storage by @chenzl25 in apache#845
  • feat: Expose disable_config_load opendal GCS option by @chenzl25 in apache#847
  • fix: project_bacth to project_batch by @feniljain in apache#848
  • build: check in Cargo.lock by @xxchan in apache#851
  • ci: use officail rustsec/audit-check action by @xxchan in apache#843
  • feat: add s3tables catalog by @flaneur2020 in apache#807
  • fix: fix sql catalog drop table by @Li0k in apache#853
  • ci: add rust-cache action by @xxchan in apache#844
  • chore: Fix cargo.lock not updated by @Xuanwo in apache#855
  • fix(catalog): delete metadata file when droping table in MemoryCatalog by @lewiszlw in apache#854
  • chore(deps): Bump serde from 1.0.216 to 1.0.217 by @dependabot in apache#860
  • chore(deps): Bump reqwest from 0.12.10 to 0.12.11 by @dependabot in apache#859
  • chore(deps): Bump aws-sdk-s3tables from 1.1.0 to 1.2.0 by @dependabot in apache#858
  • Add orbstack guide by @lewiszlw in apache#856
  • feat: support metadata table "snapshots" by @xxchan in apache#822
  • feat: Support metadata table "Manifests" by @flaneur2020 in apache#861
  • feat: support serialize/deserialize DataFile into avro bytes by @ZENOTME in apache#797
  • [doc] Remove registry mirror recommendations by @kevinjqliu in apache#866
  • fix: valid identifier id in nested map fail by @ZENOTME in apache#864
  • chore: datafusion 44 upgrade by @gruuya in apache#867
  • fix: parse var len of decimal for parquet statistic by @ZENOTME in apache#837
  • ci: use taiki-e/install-action to install tools from binary by @xxchan in apache#852
  • chore(deps): Bump crate-ci/typos from 1.28.4 to 1.29.4 by @dependabot in apache#873
  • chore(deps): Bump aws-sdk-s3tables from 1.2.0 to 1.3.0 by @dependabot in apache#874
  • chore(deps): Bump reqwest from 0.12.11 to 0.12.12 by @dependabot in apache#875
  • chore(deps): Bump moka from 0.12.8 to 0.12.9 by @dependabot in apache#876
  • chore(deps): Bump async-trait from 0.1.83 to 0.1.84 by @dependabot in apache#877
  • chore(deps): Bump tempfile from 3.14.0 to 3.15.0 by @dependabot in apache#878
  • Split metadata tables into separate modules by @rshkv in apache#872
  • Rename 'metadata_table' to 'inspect' by @rshkv in apache#881
  • Metadata table scans as streams by @rshkv in apache#870
  • chore(deps): Bump tokio from 1.42.0 to 1.43.0 by @dependabot in apache#885
  • chore(deps): Bump moka from 0.12.9 to 0.12.10 by @dependabot in apache#886
  • chore(deps): Bump aws-sdk-glue from 1.74.0 to 1.76.0 by @dependabot in apache#887
  • chore(deps): Bump serde_json from 1.0.134 to 1.0.135 by @dependabot in apache#889
  • chore(deps): Bump aws-config from 1.5.11 to 1.5.13 by @dependabot in apache#888
  • Handle converting Utf8View & BinaryView to Iceberg schema by @phillipleblanc in apache#831
  • feat(puffin): Parse Puffin FileMetadata by @fqaiser94 in apache#765
  • ci: check MSRV correctly by @xxchan in apache#849
  • fix: spark version in integration_tests by @feniljain in apache#894
  • refine: refine interface of ManifestWriter by @ZENOTME in apache#738
  • feat(datafusion): Support cast operations by @Fokko in apache#821
  • chore(deps): Bump opendal from 0.51.0 to 0.51.1 by @dependabot in apache#898
  • chore(deps): Bump async-trait from 0.1.84 to 0.1.85 by @dependabot in apache#897
  • chore(deps): Bump arrow-schema from 53.3.0 to 53.4.0 by @dependabot in apache#900
  • chore(deps): Bump aws-sdk-s3tables from 1.3.0 to 1.4.0 by @dependabot in apache#899
  • fix: fix timesmtap_ns serde name by @ZENOTME in apache#905
  • add python version support range to pyproject.toml by @trim21 in apache#903
  • feat: support scan nested type(struct, map, list) by @ZENOTME in apache#882
  • fix: Sort Order ID in TableMetadataBuilder changes should be updated by @c-thiel in apache#909
  • Add pyspark DataFusion integration test by @gruuya in apache#850
  • test: replace assert!(<actual> == <real>) by assert_eq!(<actual>, <real>) in some tests by @hussein-awala in apache#910
  • refactor: fix a typo in manifest_entries field name by @hussein-awala in apache#911
  • chore(deps): Bump aws-sdk-s3tables from 1.4.0 to 1.6.0 by @dependabot in apache#912
  • chore(deps): Bump uuid from 1.12.0 to 1.12.1 by @dependabot in apache#913
  • chore(deps): Bump aws-config from 1.5.13 to 1.5.15 by @dependabot in apache#914
  • chore(deps): Bump arrow-array from 53.3.0 to 53.4.0 by @dependabot in apache#915
  • Add Truncate for Binary type by @Fokko in apache#920
  • Bump number of open Dependabot PRs by @Fokko in apache#921
  • chore(deps): Bump tempfile from 3.15.0 to 3.16.0 by @dependabot in apache#931
  • chore(deps): Bump arrow-select from 53.3.0 to 53.4.0 by @dependabot in apache#927
  • chore(deps): Bump aws-sdk-s3tables from 1.6.0 to 1.7.0 by @dependabot in apache#926
  • chore(deps): Bump arrow-ord from 53.3.0 to 53.4.0 by @dependabot in apache#930
  • chore(deps): Bump serde_json from 1.0.135 to 1.0.138 by @dependabot in apache#929
  • chore(deps): Bump arrow-cast from 53.3.0 to 53.4.0 by @dependabot in apache#925
  • chore(deps): Bump aws-sdk-s3tables from 1.7.0 to 1.8.0 by @dependabot in apache#938
  • chore(deps): Bump arrow-string from 53.3.0 to 53.4.0 by @dependabot in apache#937
  • chore(deps): Bump crate-ci/typos from 1.29.4 to 1.29.5 by @dependabot in apache#934
  • chore(deps): Bump parquet from 53.3.0 to 53.4.0 by @dependabot in apache#935
  • chore(deps): Bump async-trait from 0.1.85 to 0.1.86 by @dependabot in apache#936
  • fix(s3): path-style-access means no virtual-host by @twuebi in apache#944
  • Table Scan Delete File Handling: Positional and Equality Delete Support by @sdd in apache#652
  • feat(glue): use the same props for creating aws sdk and for FileIO by @omerhadari in apache#947
  • chore: use shared containers for integration tests by @gruuya in apache#924
  • feat(puffin): Add PuffinReader by @fqaiser94 in apache#892
  • fix: Make s3tables catalog public by @zilder in apache#918
  • fix(metadata): export iceberg schema in manifests table by @flaneur2020 in apache#871
  • chore: fix Cargo.lock diff always present after cargo build by @VVKot in apache#952
  • chore(deps): Bump once_cell from 1.20.2 to 1.20.3 by @dependabot in apache#954
  • chore(deps): Bump aws-sdk-s3tables from 1.8.0 to 1.9.0 by @dependabot in apache#956
  • chore(deps): Bump uuid from 1.12.1 to 1.13.1 by @dependabot in apache#957
  • chore(deps): Bump opendal from 0.51.1 to 0.51.2 by @dependabot in apache#958
  • fix: allow nullable field of equality delete writer by @ZENOTME in apache#834
  • fix: Misleading error messages in iceberg-catalog-rest and allow StatusCode::OK in responses by @connortsui20 in apache#962
  • chore: use RowSelection::union from arrow-rs by @VVKot in apache#953
  • fix: Fix typos upgrade to 1.29.7 by @jonathanc-n in apache#974
  • chore(deps): Bump aws-config from 1.5.15 to 1.5.16 by @dependabot in apache#973
  • chore(deps): Bump aws-sdk-s3tables from 1.9.0 to 1.10.0 by @dependabot in apache#970
  • chore(deps): Bump apache/skywalking-eyes from 0.6.0 to 0.7.0 by @dependabot in apache#969
  • chore: datafusion 45 upgrade by @kevinjqliu in apache#943
  • chore(ci): upgrade to manylinux_2_28 for aarch64 Python wheels by @kevinjqliu in apache#975
  • fix: Do not extract expression from cast to date by @omerhadari in apache#977
  • fix: TableMetadata last_updated_ms not increased for all operations by @c-thiel in apache#978
  • [infra] nightly pypi build for pyiceberg_core by @kevinjqliu in apache#948
  • [fix] nightly pypi build for pyiceberg_core by @kevinjqliu in apache#983
  • Check binary array length when applying truncate by @Fokko in apache#984
  • fix: speficy the version of munge for msrv check by @ZENOTME in apache#987
  • chore: fix edition 2024 compile errors by @xxchan in apache#998
  • refactor: Split schema module to multi file module by @xxchan in apache#989
  • make predicate accessor functions public by @Nathan-Fenner in apache#1005
  • fix: fix version of mechete by @ZENOTME in apache#1006
  • feat: View Metadata Builder by @c-thiel in apache#908
  • feat: Add StrictMetricsEvaluator by @jonathanc-n in apache#963
  • feat: support arrow_struct_to_iceberg_struct by @ZENOTME in apache#731
  • chore(spec): add accessor methods for ManifestMetadata by @mnpw in apache#1013
  • feat: Pull Request Template by @jonathanc-n in apache#1009
  • fix: upgrade spark version by @ZENOTME in apache#1015
  • feat: Add Issue Template by @jonathanc-n in apache#1008
  • chore: Point user questions to github discussion by @liurenjie1024 in apache#1016
  • chore(deps): fix bump typos to v1.30.0 by @jonathanc-n in apache#1029
  • ci(dependabot): Ignore all patch updates for iceberg-rust by @Xuanwo in apache#1001
  • feat: Add existing parquet files by @jonathanc-n in apache#960
  • fix: Remove license from pull request template by @jonathanc-n in apache#1032
  • chore(spell): skd -> sdk by @feniljain in apache#1037
  • fix(ci): fix audit break due to toolchain by @xxchan in apache#1042
  • feat: support delete if empty for parquet writer by @ZENOTME in apache#838
  • fix: kleene logic bug by @sdd in apache#1045
  • fix: upgrade ring to v0.17.13 fix Security audit by @ZENOTME in apache#1050
  • feat: implement display trait for Ident by @ZENOTME in apache#1049
  • feat: add construct_ref for table_metadata by @ZENOTME in apache#1043
  • refine: make commit more general by @ZENOTME in apache#1048
  • refactor: REST Catalog implementation by @connortsui20 in apache#965
  • chore: Ignore paste crate in rust crate audit check. by @liurenjie1024 in apache#1063
  • chore(deps): Bump either from 1.13.0 to 1.15.0 by @dependabot in apache#1060
  • chore(deps): Bump tempfile from 3.17.1 to 3.18.0 by @dependabot in apache#1059
  • fix: refine doc for write support by @ZENOTME in apache#999
  • Update dependabot to update lock file only by @liurenjie1024 in apache#1068
  • chore(deps): Bump crate-ci/typos from 1.30.0 to 1.30.2 by @dependabot in apache#1069
  • feat: Make duplicate check optional for adding parquet files by @jonathanc-n in apache#1034
  • Make willingness to contribute in pr template a dropdown by @liurenjie1024 in apache#1076
  • refactor: Split transaction module by @jonathanc-n in apache#1080
  • feat: Add conversion from FileMetaData to ParquetMetadata by @jonathanc-n in apache#1074
  • Add context to PopulatedDeleteFileIndex by @jonathanc-n in apache#1084
  • chore(deps): Bump tokio from 1.43.0 to 1.44.1 by @dependabot in apache#1094
  • chore(deps): Bump tempfile from 3.18.0 to 3.19.0 by @dependabot in apache#1093
  • chore(deps): Bump http from 1.2.0 to 1.3.1 by @dependabot in apache#1090
  • chore(deps): Bump once_cell from 1.20.3 to 1.21.1 by @dependabot in apache#1089
  • chore(deps): Bump uuid from 1.13.2 to 1.16.0 by @dependabot in apache#1092
  • chore(deps): Bump aws-config from 1.5.16 to 1.5.18 by @dependabot in apache#1091
  • feat: include spec id in DataFile by @ZENOTME in apache#1098
  • Enable discussion. by @liurenjie1024 in apache#1103
  • fix: fix delete files sequence comparison by @chenzl25 in apache#1077
  • fix(views): make timestamp take &self & fix set_current_version_id by @twuebi in apache#1101
  • Handle pagination via next-page-token in REST Catalog by @phillipleblanc in apache#1097
  • Support transforms with datetime timezones by @kevinjqliu in apache#1086
  • fix: Rust doc fix by @jonathanc-n in apache#1113
  • feat: Add byte hint for fetching parquet metadata by @jonathanc-n in apache#1108
  • fix: fix http custom headers for rest catalog by @chenzl25 in apache#1010
  • Scan Delete Support Part 2: introduce DeleteFileManager skeleton. Use in ArrowReader by @sdd in apache#950
  • feat: cache calc_row_counts by @jonathanc-n in apache#1107
  • doc: add MSRV and dependency policy doc by @xxchan in apache#1114
  • refactor: Split manifest module into multiple modules by @jonathanc-n in apache#1119
  • feat: Add SnapshotSummaries by @jonathanc-n in apache#1085
  • refine: refine ManifestFile by @ZENOTME in apache#1117
  • fix: chore cargo lock and fix two warning for python bindings by @yihong0618 in apache#1121
  • chore(deps): Bump arrow-buffer from 54.2.0 to 54.3.0 by @dependabot in apache#1127
  • Fix rounding of negative hour transform by @Fokko in apache#1128
  • chore(deps): Bump typed-builder from 0.20.0 to 0.20.1 by @dependabot in apache#1125
  • fix: safety ci using static check zizmor by @yihong0618 in apache#1123
  • chore(deps): Bump arrow-schema from 54.2.0 to 54.3.0 by @dependabot in apache#1126
  • chore(deps): Bump rust_decimal from 1.36.0 to 1.37.1 by @dependabot in apache#1124
  • chore(catalog/rest): Add response headers in error for debug by @Xuanwo in apache#1129
  • chore: group arrow* and parquet dependabot updates by @mbrobbel in apache#1132
  • chore(deps): Bump the arrow-parquet group with 3 updates by @dependabot in apache#1133
  • Rename pyiceberg_core to pyiceberg-core by @Fokko in apache#1134
  • feat: Add merge summary and add manifest functionality to SnapshotSummary by @jonathanc-n in apache#1122
  • refactor: Split scan module by @jonathanc-n in apache#1120
  • feat: nan_value_counts support by @feniljain in apache#907
  • Remove paste dependency by expanding previously macro-generated code by @hendrikmakait in apache#1138
  • Remove deprecated code by @Fokko in apache#1141
  • Fix hour transform by @Fokko in apache#1146
  • chore(deps): Bump crate-ci/typos from 1.30.2 to 1.31.0 by @dependabot in apache#1147
  • chore(deps): Bump the arrow-parquet group with 3 updates by @dependabot in apache#1148
  • Make schema and partition_spec optional for TableMetadataV1 by @phillipleblanc in apache#1087
  • fix(metadata): export iceberg schema in snapshots table by @xxchan in apache#1135
  • feat(puffin): Add PuffinWriter by @fqaiser94 in apache#959
  • doc: Clarify arrow_schema_to_schema requires fields with field id by @jonathanc-n in apache#1151
  • doc: Add implementation status to README by @jonathanc-n in apache#1152
  • feat: Support TimestampNs and TimestampTzNs` in bucket transform by @jonathanc-n in apache#1150
  • refactor: simplify NestedField constructors by @xxchan in apache#1136
  • feat: Add summary functionality to SnapshotProduceAction by @jonathanc-n in apache#1139
  • fix: support empty scans by @danking in apache#1166
  • chore(deps): Bump crate-ci/typos from 1.31.0 to 1.31.1 by @dependabot in apache#1171
  • Scan Delete Support Part 3: ArrowReader::build_deletes_row_selection implementation by @sdd in apache#951
  • chore(deps): Bump tokio from 1.44.1 to 1.44.2 by @dependabot in apache#1179
  • chore(deps): Bump tokio from 1.43.0 to 1.44.2 in /bindings/python by @dependabot in apache#1180
  • feat: Infer partition values from bounds by @jonathanc-n in apache#1079
  • fix: TableMetadata max sequence number validation by @c-thiel in apache#1167
  • Change tokio feature by @liurenjie1024 in apache#1173
  • refactor: Bump MSRV to 1.84 for preparing next release by @Xuanwo in apache#1185
  • refactor: Bump OpenDAL to 0.53 by @Xuanwo in apache#1182
  • ci: Use taplo to replace cargo-sort by @Xuanwo in apache#1186
  • refactor: Use tracing to replace log by @Xuanwo in apache#1183
  • feat(puffin): Make Puffin APIs public by @fqaiser94 in apache#1165
  • feat(io): add OSS storage implementation by @divinerapier in apache#1153
  • doc: add_parquet_files is not fully supported for version 0.5.0 by @jonathanc-n in apache#1187
  • chore(deps): Bump crossbeam-channel from 0.5.14 to 0.5.15 by @dependabot in apache#1190
  • chore(deps): Bump crossbeam-channel from 0.5.14 to 0.5.15 in /bindings/python by @dependabot in apache#1191
  • refactor: use the same MSRV for datafusion integration by @xxchan in apache#1197
  • ci: optimize build space by @xxchan in apache#1204
  • refactor: iceberg::spec::values::Struct to remove bitvec by @xxchan in apache#1203
  • Add cli for iceberg by @liurenjie1024 in apache#1194
  • Add epic issue type by @liurenjie1024 in apache#1200
  • chore(deps): Bump roaring from 6cfeb88 to 9496afe by @dependabot in apache#1205
  • doc: Clarify use of default map field name by @jonathanc-n in apache#1208
  • chore(deps): Bump the arrow-parquet group across 1 directory with 2 updates by @dependabot in apache#1206
  • chore(deps): refine minimal deps by @xxchan in apache#1209
  • feat(cli): use fs_err to provide better err msg by @xxchan in apache#1210
  • feat(iceberg): introduce remove schemas by @Li0k in apache#1115
  • feat: support strict projection by @ZENOTME in apache#946
  • docs: fix typo in docstrings by @floscha in apache#1219
  • feat: Allow reuse http client in rest catalog by @Xuanwo in apache#1221
  • feat: Add trait for ObjectCache and ObjectCacheProvider by @Xuanwo in apache#1222
  • fix(catalog/rest): Using async lock in token to avoid blocking runtime by @Xuanwo in apache#1223
  • Introduce datafusion engine for sqllogictests. by @liurenjie1024 in apache#1215
  • fix: Update view version log timestamp for historical accuracy by @c-thiel in apache#1218
  • feat: Implement ObjectCache for moka by @Xuanwo in apache#1225
  • feat: re-export name mapping by @jdockerty in apache#1116
  • Skip producing empty parquet files by @liurenjie1024 in apache#1230
  • refactor: TableCreation::builder()::properties accept an IntoIterator by @drmingdrmer in apache#1233
  • feat: add apply in transaction to support stack action by @ZENOTME in apache#949
  • Add equality_ids to FileScanTaskDeleteFile by @sdd in apache#1235
  • refactor(s3tables): avoid misleading FileIO::from_path by @xxchan in apache#1240
  • [catalog] Fix namespace creation error status by @dentiny in apache#1248
  • [easy] Add comment on non-existent namespace/table at drop by @dentiny in apache#1245
  • fix(catalog/rest): Allow deserialize error with empty response by @Xuanwo in apache#1266
  • feat(core/catalog): Add more error kinds by @dentiny in apache#1265
  • chore: Pin roaring to released version by @Xuanwo in apache#1269
  • feat: Add deletion vector related fields in spec types by @dentiny in apache#1276
  • feat: support arrow dictionary in schema conversion by @jdockerty in apache#1293
  • chore(deps): Bump ring from 0.17.9 to 0.17.14 in /bindings/python by @dependabot in apache#1309
  • chore: define deletion vector type constant by @dentiny in apache#1310
  • chore: Add assertion for empty data files for append action by @dentiny in apache#1301
  • feat: expand arrow type conversion test by @jdockerty in apache#1295
  • chore(deps): Bump crate-ci/typos from 1.31.1 to 1.32.0 by @dependabot in apache#1292
  • chore(deps): Bump tokio from 1.44.2 to 1.45.0 by @dependabot in apache#1312
  • Fix predicates not matching the Arrow type of columns read from parquet files by @phillipleblanc in apache#1308
  • fix: Fix compilation failure when only storage-fs feature included by @dentiny in apache#1304
  • chore: minor update to manifest sanity check error message by @dentiny in apache#1278
  • chore: bump up arrow/parquet/datafusion by @sundy-li in apache#1294
  • fix: doc typo for Schema.name_by_field_id() by @burmecia in apache#1321
  • chore: declare FileRead trait to be Sync-safe by @dentiny in apache#1319
  • feat: Add API to set location in the transacation by @CTTY in apache#1317
  • feat: Add optional prefetch hint for parsing Puffin Footer by @jonathanc-n in apache#1207
  • chore: Expose puffin blob constructor by @dentiny in apache#1320
  • Add doc for TableCommit by @liurenjie1024 in apache#1263
  • Expose datafusion table provider as python binding by @kevinjqliu in apache#1324
  • refactor: Add FileIO::remove_dir_all to deprecate remove_dir by @Xuanwo in apache#1275
  • chore: hms/glue catalog create table should respect default location by @sundy-li in apache#1302
  • ci: Fix python bindings rust code not checked by @Xuanwo in apache#1338
  • chore: Ignore .zed settings dir by @Xuanwo in apache#1337
  • feat: Add EncryptedKey struct by @c-thiel in apache#1326
  • fix: small typo for transaction test by @jdockerty in apache#1341
  • docs: fix typo in expr.Reference doc by @burmecia in apache#1343
  • Bump iceberg-rust version to 0.5.0 (Round 1) by @Xuanwo in apache#1342
  • chore(deps): Bump tempfile from 3.19.0 to 3.20.0 by @dependabot in apache#1351
  • chore(deps): Bump aws-sdk-glue from 1.82.0 to 1.94.0 by @dependabot in apache#1350
  • chore(deps): Bump aws-sdk-s3tables from 1.10.0 to 1.20.0 by @dependabot in apache#1349
  • feat: expose Error::backtrace() by @xxchan in apache#1352
  • chore(deps): Bump the arrow-parquet group with 9 updates by @dependabot in apache#1348
  • Bump iceberg-rust version to 0.5.0 by @kevinjqliu in apache#1345
  • Regenerate the licenses and update the allowed list by @Fokko in apache#1363
  • minor: fix typo by @CTTY in apache#1364
  • Make dependencies.py generate fail on cargo-deny error by @kevinjqliu in apache#1366
  • Add support for evolving a partition column by @Fokko in apache#1334
  • Run dependency license check in release script by @kevinjqliu in apache#1367
  • Make dependencies.py check all subdirectories for cargo toml files by @kevinjqliu in apache#1370
  • add new commits to changelog for 0.5.0 by @kevinjqliu in apache#1371
  • fix: add support for Decimal and Uuid datum conversion by @burmecia in apache#1346
  • fix: check leaf column is root column in Parquet schema by @burmecia in apache#1347
  • chore(deps): Bump aws-sdk-s3tables from 1.20.0 to 1.22.0 by @dependabot in apache#1377
  • test: Add missing tests for update_namespace method in sql catalog by @kyteware in apache#1373
  • chore(deps): Bump aws-sdk-glue from 1.94.0 to 1.97.0 by @dependabot in apache#1376
  • chore(deps): Bump uuid from 1.16.0 to 1.17.0 by @dependabot in apache#1375
  • fix 0.5.x release cargo publish by @kevinjqliu in apache#1379

[v0.4.0] - 2024-12-16

  • io: add support for role arn and external id s3 props by @mattheusv in apache#553
  • fix: ensure S3 and GCS integ tests are conditionally compiled only when the storage-s3 and storage-gcs features are enabled by @sdd in apache#552
  • docs: fix main iceberg example by @jdockerty in apache#554
  • io: add support to set assume role session name by @mattheusv in apache#555
  • test: refactor datafusion test with memory catalog by @FANNG1 in apache#557
  • chore: add clean job in Makefile by @ChinoUkaegbu in apache#561
  • docs: Fix build website permission changed by @Xuanwo in apache#564
  • Object Cache: caches parsed Manifests and ManifestLists for performance by @sdd in apache#512
  • Update the paths by @Fokko in apache#569
  • docs: Add links for released crates by @Xuanwo in apache#570
  • Python: Use hatch for dependency management by @sungwy in apache#572
  • Ensure that RestCatalog passes user config to FileIO by @sdd in apache#476
  • Move zlib and unicode licenses to allow by @Fokko in apache#566
  • website: Update links for 0.3.0 by @Xuanwo in apache#573
  • feat(timestamp_ns): Implement timestamps with nanosecond precision by @Sl1mb0 in apache#542
  • fix: correct partition-id to field-id in UnboundPartitionField by @FANNG1 in apache#576
  • fix: Update sqlx from 0.8.0 to 0.8.1 by @FANNG1 in apache#584
  • chore(deps): Update typed-builder requirement from 0.19 to 0.20 by @dependabot in apache#582
  • Expose Transforms to Python Binding by @sungwy in apache#556
  • chore(deps): Bump crate-ci/typos from 1.23.6 to 1.24.1 by @dependabot in apache#583
  • Table Scan: Add Row Group Skipping by @sdd in apache#558
  • chore: bump crate-ci/typos to 1.24.3 by @sdlarsen in apache#598
  • feat: SQL Catalog - namespaces by @callum-ryan in apache#534
  • feat: Add more fields in FileScanTask by @Xuanwo in apache#609
  • chore(deps): Bump crate-ci/typos from 1.24.3 to 1.24.5 by @dependabot in apache#616
  • fix: Less Panics for Snapshot timestamps by @c-thiel in apache#614
  • feat: partition compatibility by @c-thiel in apache#612
  • feat: SortOrder methods should take schema ref if possible by @c-thiel in apache#613
  • feat: add client.region by @jdockerty in apache#623
  • fix: Correctly calculate highest_field_id in schema by @liurenjie1024 in apache#590
  • Feat: Normalize TableMetadata by @c-thiel in apache#611
  • refactor(python): Expose transform as a submodule for pyiceberg_core by @Xuanwo in apache#628
  • feat: support projection pushdown for datafusion iceberg by @FANNG1 in apache#594
  • chore: Bump opendal to 0.50 by @Xuanwo in apache#634
  • feat: add Sync to TransformFunction by @xxchan in apache#638
  • feat: expose arrow type <-> iceberg type by @xxchan in apache#637
  • doc: improve FileIO doc by @xxchan in apache#642
  • chore(deps): Bump crate-ci/typos from 1.24.5 to 1.24.6 by @dependabot in apache#640
  • Migrate to arrow-* v53 by @sdd in apache#626
  • feat: expose remove_all in FileIO by @xxchan in apache#643
  • feat (datafusion integration): convert datafusion expr filters to Iceberg Predicate by @a-agmon in apache#588
  • feat: Add NamespaceIdent.parent() by @c-thiel in apache#641
  • Table Scan: Add Row Selection Filtering by @sdd in apache#565
  • fix: compile error due to merge stale PR by @xxchan in apache#646
  • scan: change ErrorKind when table dont have spanshots by @mattheusv in apache#608
  • fix: avoid to create operator of memory storage every time by @ZENOTME in apache#635
  • feat (datafusion): making IcebergTableProvider public to be used without a catalog by @a-agmon in apache#650
  • test (datafusion): add test for table provider creation by @a-agmon in apache#651
  • fix: page index evaluator min/max args inverted by @sdd in apache#648
  • chore: fix typo in FileIO Schemes by @wcy-fdu in apache#653
  • fix: TableUpdate Snapshot deserialization for v1 by @c-thiel in apache#656
  • feat: Reassign field ids for schema by @c-thiel in apache#615
  • feat: add gcp oauth support by @twuebi in apache#654
  • fix(arrow): Use new ParquetMetaDataReader instead by @Xuanwo in apache#661
  • chore(deps): bump typos crate to 1.25.0 by @matthewwillian in apache#662
  • RecordBatchTransformer: Handle schema migration and column re-ordering in table scans by @sdd in apache#602
  • docs: installation of the new iceberg_catalog_rest added to the docs by @nishant-sachdeva in apache#355
  • feat(datafusion): Support pushdown more datafusion exprs to Iceberg by @FANNG1 in apache#649
  • feat: Derive PartialEq for FileScanTask by @Xuanwo in apache#660
  • feat: SQL Catalog - Tables by @callum-ryan in apache#610
  • ci: Allow install a non-debian-packaged Python package by @Xuanwo in apache#666
  • docs: README uses iceberg-rust instead of we by @caicancai in apache#667
  • chore(deps): Bump crate-ci/typos from 1.25.0 to 1.26.0 by @dependabot in apache#668
  • feat: Add equality delete writer by @Dysprosium0626 in apache#372
  • Revert "feat: Add equality delete writer (#372)" by @Xuanwo in apache#672
  • ci: Fix CI for bindings python by @Xuanwo in apache#678
  • fix: OpenDAL is_exist => exists by @sdd in apache#680
  • feat: Expose ManifestEntry status by @zheilbron in apache#681
  • feat: allow empty projection in table scan by @sundy-li in apache#677
  • chore(deps): Bump crate-ci/typos from 1.26.0 to 1.26.8 by @dependabot in apache#683
  • fix: bump parquet minor version by @xxchan in apache#684
  • fix(type): fix type promote to ignore field name. by @chenzl25 in apache#685
  • feat: implement IcebergTableProviderFactory for datafusion by @yukkit in apache#600
  • feat: Safer PartitionSpec & SchemalessPartitionSpec by @c-thiel in apache#645
  • chore(deps): Bump crate-ci/typos from 1.26.8 to 1.27.0 by @dependabot in apache#687
  • feat: TableMetadata accessors for current ids of Schema, Snapshot and SortOrder by @c-thiel in apache#688
  • chore: upgrade to DataFusion 43 by @gruuya in apache#691
  • chore(deps): Bump crate-ci/typos from 1.27.0 to 1.27.3 by @dependabot in apache#693
  • feat: Expose length of Iterators by @c-thiel in apache#692
  • feat: Implement TableRequirement checks by @c-thiel in apache#689
  • feat: Add ViewUpdate to catalog by @c-thiel in apache#690
  • chore: update .asf.yaml by @c-thiel in apache#701
  • datafusion: Create table provider for a snapshot. by @ryzhyk in apache#707
  • Add Python Release Action to publish pyiceberg_core dist to Pypi by @sungwy in apache#705
  • chore: Mark last-field-id as deprecated by @Fokko in apache#715
  • TableMetadataBuilder by @c-thiel in apache#587
  • Add fallback attribute to all strip_options. by @ryzhyk in apache#708
  • fix: Remove check of last_column_id by @liurenjie1024 in apache#717
  • Fix error running data fusion queries - Physical input schema should be the same as the one converted from logical input schema by @FANNG1 in apache#664
  • chore: Typo in test :) by @Fokko in apache#727
  • Derive Clone for IcebergTableProvider by @SergeiPatiakin in apache#722
  • fix: expand arrow to iceberg schema to handle nanosecond timestamp by @jdockerty in apache#710
  • feat: Add equality delete writer by @ZENOTME in apache#703
  • chore: Bump upload-artifact@v3 to v4 by @sungwy in apache#725
  • feat: support append data file and add e2e test by @ZENOTME in apache#349
  • chore(deps): Bump actions/setup-python from 4 to 5 by @dependabot in apache#746
  • chore: Align argument name with doc comment by @SergeiPatiakin in apache#750
  • fix: equality delete writer field id project by @ZENOTME in apache#751
  • feat: expose opendal S3 options for anonymous access by @gruuya in apache#757
  • fix: current-snapshot-id serialized to -1 in TableMetadata.json by @c-thiel in apache#755
  • feat(puffin): Add Puffin crate and CompressionCodec by @fqaiser94 in apache#745
  • Build: Delete branch automatically on PR merge by @manuzhang in apache#764
  • chore(deps): bump crate-ci/typos from 1.27.3 to 1.28.1 by @jonathanc-n in apache#769
  • chore(deps): Bump crate-ci/typos from 1.27.3 to 1.28.2 by @dependabot in apache#767
  • Add Spark for integration tests by @Fokko in apache#766
  • refine: refine writer interface by @ZENOTME in apache#741
  • Clean up docker Docker by @Fokko in apache#770
  • name mapping serde by @barronw in apache#740
  • docker: The archive seems unstable by @Fokko in apache#773
  • doc: add RisingWave to users by @xxchan in apache#775
  • feat: Expose disable_config_load opendal S3 option by @gruuya in apache#782
  • Support conversion of Arrow Int8 and Int16 to Iceberg Int by @gruuya in apache#787
  • infra: Dismiss stale reviews by @liurenjie1024 in apache#779
  • fix: return type for year and month transform should be int by @xxchan in apache#776
  • feat: Allow for schema evolution by @Fokko in apache#786
  • Retry object store reads on temporary errors. by @ryzhyk in apache#788
  • refactor(puffin): Move puffin crate contents inside iceberg crate by @fqaiser94 in apache#789
  • feat: Implement Decimal from/to bytes represents by @Xuanwo in apache#665
  • feat: eagerly project the arrow schema to scope out non-selected fields by @gruuya in apache#785
  • fix: wrong compute of partitions in manifest by @ZENOTME in apache#794
  • fix: set key_metadata to Null by default by @feniljain in apache#800
  • test: append partition data file by @feniljain in apache#742
  • chore: Add more debug message inside error by @Xuanwo in apache#793
  • fix: Error source from cache has been shadowed by @Xuanwo in apache#792
  • fix(catalog/rest): Ensure token been reused correctly by @Xuanwo in apache#801
  • feat!: Remove BoundPartitionSpec by @c-thiel in apache#771
  • chore(deps): Bump crate-ci/typos from 1.28.2 to 1.28.3 by @dependabot in apache#805
  • feat: add DataFileWriter tests for schema and partition by @jonathanc-n in apache#768
  • fix: day transform compute by @ZENOTME in apache#796
  • feat: TableMetadata Statistic Files by @c-thiel in apache#799
  • Bump pyiceberg_core to 0.4.0 by @sungwy in apache#808
  • chore(docs): Update Readme - Lakekeeper repository moved by @c-thiel in apache#810
  • Prep 0.4.0 release by @sungwy in apache#809
  • feat: Add RemovePartitionSpecs table update by @c-thiel in apache#804
  • feat: Store file io props to allow re-build it by @Xuanwo in apache#802
  • chore: chmod +x on verify.py script by @sungwy in apache#817
  • fix: Reading a table with positional deletes should fail by @Fokko in apache#826

v0.3.0 - 2024-08-14

v0.2.0 - 2024-02-20